From 4d0520d593f3a7c186e66b1aad3045fdb1e2f575 Mon Sep 17 00:00:00 2001 From: Christian Montoya Date: Fri, 14 Jun 2024 20:35:58 -0400 Subject: [PATCH] Clean up undesired MetaMask GitHub files --- .github/CODEOWNERS | 4 - .github/workflows/security-code-scanner.yml | 43 ---- package.json | 3 +- packages/snap/package.json | 13 +- packages/snap/snap.config.ts | 2 +- packages/snap/snap.manifest.json | 16 +- packages/snap/src/index.test.ts | 47 ---- packages/snap/src/index.ts | 36 --- packages/snap/tsconfig.json | 5 +- scripts/cleanup.sh | 9 - yarn.lock | 261 ++++++++++++++++---- 11 files changed, 239 insertions(+), 200 deletions(-) delete mode 100644 .github/CODEOWNERS delete mode 100644 .github/workflows/security-code-scanner.yml delete mode 100644 packages/snap/src/index.test.ts delete mode 100644 packages/snap/src/index.ts delete mode 100755 scripts/cleanup.sh diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS deleted file mode 100644 index dd69c79..0000000 --- a/.github/CODEOWNERS +++ /dev/null @@ -1,4 +0,0 @@ -# Lines starting with '#' are comments. -# Each line is a file pattern followed by one or more owners. - -* @MetaMask/snaps-devs diff --git a/.github/workflows/security-code-scanner.yml b/.github/workflows/security-code-scanner.yml deleted file mode 100644 index ced0449..0000000 --- a/.github/workflows/security-code-scanner.yml +++ /dev/null @@ -1,43 +0,0 @@ -name: 'MetaMask Security Code Scanner' - -on: - push: - branches: ['main'] - pull_request: - branches: ['main'] - -jobs: - run-security-scan: - runs-on: ubuntu-latest - permissions: - actions: read - contents: read - security-events: write - steps: - - name: MetaMask Security Code Scanner - uses: MetaMask/Security-Code-Scanner@main - with: - repo: ${{ github.repository }} - paths_ignored: | - .storybook/ - '**/__snapshots__/' - '**/*.snap' - '**/*.stories.js' - '**/*.stories.tsx' - '**/*.test.browser.ts*' - '**/*.test.js*' - '**/*.test.ts*' - '**/fixtures/' - '**/jest.config.js' - '**/jest.environment.js' - '**/mocks/' - '**/test*/' - docs/ - e2e/ - merged-packages/ - node_modules - storybook/ - test*/ - rules_excluded: example - project_metrics_token: ${{ secrets.SECURITY_SCAN_METRICS_TOKEN }} - slack_webhook: ${{ secrets.APPSEC_BOT_SLACK_WEBHOOK }} diff --git a/package.json b/package.json index 640002a..8c93f66 100644 --- a/package.json +++ b/package.json @@ -54,7 +54,8 @@ "lavamoat": { "allowScripts": { "@lavamoat/preinstall-always-fail": false, - "sharp": true + "sharp": true, + "eslint-plugin-jest>jest>jest-cli>jest-config>ts-node>@swc/core": false } } } diff --git a/packages/snap/package.json b/packages/snap/package.json index 336cce7..b62160d 100644 --- a/packages/snap/package.json +++ b/packages/snap/package.json @@ -1,15 +1,16 @@ { - "name": "snap", + "name": "minesweeper-snap", "version": "0.1.0", - "description": "The 'Hello, world!' of MetaMask Snaps, now written in TypeScript.", + "description": "Are you brave enough to click?.", "repository": { "type": "git", - "url": "https://github.com/MetaMask/template-snap-monorepo.git" + "url": "https://github.com/Montoya/minesweeper-snap.git" }, "license": "(MIT-0 OR Apache-2.0)", "main": "./dist/bundle.js", "files": [ "dist/", + "images/", "snap.manifest.json" ], "scripts": { @@ -27,7 +28,7 @@ "test": "jest" }, "dependencies": { - "@metamask/snaps-sdk": "^4.0.0", + "@metamask/snaps-sdk": "^4.4.2", "buffer": "^6.0.3" }, "devDependencies": { @@ -37,7 +38,7 @@ "@metamask/eslint-config-jest": "^12.1.0", "@metamask/eslint-config-nodejs": "^12.1.0", "@metamask/eslint-config-typescript": "^12.1.0", - "@metamask/snaps-cli": "^6.1.0", + "@metamask/snaps-cli": "^6.2.0", "@metamask/snaps-jest": "^7.0.0", "@typescript-eslint/eslint-plugin": "^5.42.1", "@typescript-eslint/parser": "^5.42.1", @@ -58,7 +59,7 @@ }, "packageManager": "yarn@3.2.1", "engines": { - "node": ">=18.6.0" + "node": ">=20.1.0" }, "publishConfig": { "access": "public", diff --git a/packages/snap/snap.config.ts b/packages/snap/snap.config.ts index 10773a4..ca8f38b 100644 --- a/packages/snap/snap.config.ts +++ b/packages/snap/snap.config.ts @@ -3,7 +3,7 @@ import { resolve } from 'path'; const config: SnapConfig = { bundler: 'webpack', - input: resolve(__dirname, 'src/index.ts'), + input: resolve(__dirname, 'src/index.tsx'), server: { port: 8080, }, diff --git a/packages/snap/snap.manifest.json b/packages/snap/snap.manifest.json index be4b013..682a7b5 100644 --- a/packages/snap/snap.manifest.json +++ b/packages/snap/snap.manifest.json @@ -1,27 +1,27 @@ { "version": "0.1.0", - "description": "An example Snap written in TypeScript.", - "proposedName": "TypeScript Example", + "description": "Are you brave enough to click?", + "proposedName": "Minesweeper", "repository": { "type": "git", - "url": "https://github.com/MetaMask/template-snap-monorepo.git" + "url": "https://github.com/Montoya/minesweeper-snap.git" }, "source": { "shasum": "TwVBeJ/PL4uARBEFZmgJukYd3XWyTbilkOPhtdg+GvU=", "location": { "npm": { "filePath": "dist/bundle.js", + "iconPath": "images/icon.svg", "packageName": "snap", "registry": "https://registry.npmjs.org/" } } }, "initialPermissions": { - "snap_dialog": {}, - "endowment:rpc": { - "dapps": true, - "snaps": false - } + "endowment:page-home": {}, + "snap_manageState": {}, + "endowment:lifecycle-hooks": {}, + "snap_dialog": {} }, "manifestVersion": "0.1" } diff --git a/packages/snap/src/index.test.ts b/packages/snap/src/index.test.ts deleted file mode 100644 index d7ba314..0000000 --- a/packages/snap/src/index.test.ts +++ /dev/null @@ -1,47 +0,0 @@ -import { expect } from '@jest/globals'; -import { installSnap } from '@metamask/snaps-jest'; -import { panel, text } from '@metamask/snaps-sdk'; - -describe('onRpcRequest', () => { - describe('hello', () => { - it('shows a confirmation dialog', async () => { - const { request } = await installSnap(); - - const origin = 'Jest'; - const response = request({ - method: 'hello', - origin, - }); - - const ui = await response.getInterface(); - expect(ui.type).toBe('confirmation'); - expect(ui).toRender( - panel([ - text(`Hello, **${origin}**!`), - text('This custom confirmation is just for display purposes.'), - text( - 'But you can edit the snap source code to make it do something, if you want to!', - ), - ]), - ); - - await ui.ok(); - - expect(await response).toRespondWith(true); - }); - }); - - it('throws an error if the requested method does not exist', async () => { - const { request } = await installSnap(); - - const response = await request({ - method: 'foo', - }); - - expect(response).toRespondWithError({ - code: -32603, - message: 'Method not found.', - stack: expect.any(String), - }); - }); -}); diff --git a/packages/snap/src/index.ts b/packages/snap/src/index.ts deleted file mode 100644 index f521836..0000000 --- a/packages/snap/src/index.ts +++ /dev/null @@ -1,36 +0,0 @@ -import type { OnRpcRequestHandler } from '@metamask/snaps-sdk'; -import { panel, text } from '@metamask/snaps-sdk'; - -/** - * Handle incoming JSON-RPC requests, sent through `wallet_invokeSnap`. - * - * @param args - The request handler args as object. - * @param args.origin - The origin of the request, e.g., the website that - * invoked the snap. - * @param args.request - A validated JSON-RPC request object. - * @returns The result of `snap_dialog`. - * @throws If the request method is not valid for this snap. - */ -export const onRpcRequest: OnRpcRequestHandler = async ({ - origin, - request, -}) => { - switch (request.method) { - case 'hello': - return snap.request({ - method: 'snap_dialog', - params: { - type: 'confirmation', - content: panel([ - text(`Hello, **${origin}**!`), - text('This custom confirmation is just for display purposes.'), - text( - 'But you can edit the snap source code to make it do something, if you want to!', - ), - ]), - }, - }); - default: - throw new Error('Method not found.'); - } -}; diff --git a/packages/snap/tsconfig.json b/packages/snap/tsconfig.json index 67ccdf6..8210bcd 100644 --- a/packages/snap/tsconfig.json +++ b/packages/snap/tsconfig.json @@ -1,7 +1,8 @@ { "extends": "../../tsconfig.json", "compilerOptions": { - "baseUrl": "./" + "baseUrl": "./", + "jsx": "react-jsxdev" }, - "include": ["**/*.ts"] + "include": ["**/*.tsx"] } diff --git a/scripts/cleanup.sh b/scripts/cleanup.sh deleted file mode 100755 index 539df75..0000000 --- a/scripts/cleanup.sh +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/bash - -set -u -set -o pipefail - -rm .github/CODEOWNERS -rm .github/workflows/security-code-scanner.yml -rm -f scripts/cleanup.sh -git commit -am "Clean up undesired MetaMask GitHub files" diff --git a/yarn.lock b/yarn.lock index 79686dd..30f9370 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2625,6 +2625,33 @@ __metadata: languageName: node linkType: hard +"@metamask/base-controller@npm:^6.0.0": + version: 6.0.0 + resolution: "@metamask/base-controller@npm:6.0.0" + dependencies: + "@metamask/utils": ^8.3.0 + immer: ^9.0.6 + checksum: ff5c4acedc698e2477f1d719f64363d8763b21836dcea4675214c078457cd47dde068aa336b249663f3c7fb3c0f536ce420870811e00ca3a410646740a9f5934 + languageName: node + linkType: hard + +"@metamask/controller-utils@npm:^11.0.0": + version: 11.0.0 + resolution: "@metamask/controller-utils@npm:11.0.0" + dependencies: + "@ethereumjs/util": ^8.1.0 + "@metamask/eth-query": ^4.0.0 + "@metamask/ethjs-unit": ^0.3.0 + "@metamask/utils": ^8.3.0 + "@spruceid/siwe-parser": 2.1.0 + "@types/bn.js": ^5.1.5 + bn.js: ^5.2.1 + eth-ens-namehash: ^2.0.8 + fast-deep-equal: ^3.1.3 + checksum: ce77d9006c34109d78787d91036b605c2e401f51bae58a60cfd955905ebd63ebe5a007b93861a1fcc51bb7e57b69ec2a6dd6142656c1ee2d87d74e397752dffa + languageName: node + linkType: hard + "@metamask/controller-utils@npm:^9.0.1": version: 9.0.2 resolution: "@metamask/controller-utils@npm:9.0.2" @@ -2788,6 +2815,17 @@ __metadata: languageName: node linkType: hard +"@metamask/json-rpc-engine@npm:^9.0.0": + version: 9.0.0 + resolution: "@metamask/json-rpc-engine@npm:9.0.0" + dependencies: + "@metamask/rpc-errors": ^6.2.1 + "@metamask/safe-event-emitter": ^3.0.0 + "@metamask/utils": ^8.3.0 + checksum: b97170b36843145361015dabc5651df1d2c7f28f0756d3c9c05aef6a483098d562a9983cbe0e15f7fd1a66aa26481132b03ccb9061a2c48f0d3249c1f2348e97 + languageName: node + linkType: hard + "@metamask/json-rpc-middleware-stream@npm:^6.0.2": version: 6.0.2 resolution: "@metamask/json-rpc-middleware-stream@npm:6.0.2" @@ -2826,6 +2864,19 @@ __metadata: languageName: node linkType: hard +"@metamask/key-tree@npm:^9.1.1": + version: 9.1.1 + resolution: "@metamask/key-tree@npm:9.1.1" + dependencies: + "@metamask/scure-bip39": ^2.1.1 + "@metamask/utils": ^8.3.0 + "@noble/curves": ^1.2.0 + "@noble/hashes": ^1.3.2 + "@scure/base": ^1.0.0 + checksum: 4de5f92e4d9408829552bb569b998613ed940f289613fe86f9a5f0a66e392ec386d70b2365943c216b83c9ff249877fd731f2f791240a622ff186fd047d81f9e + languageName: node + linkType: hard + "@metamask/number-to-bn@npm:^1.7.1": version: 1.7.1 resolution: "@metamask/number-to-bn@npm:1.7.1" @@ -2846,6 +2897,25 @@ __metadata: languageName: node linkType: hard +"@metamask/permission-controller@npm:^10.0.0": + version: 10.0.0 + resolution: "@metamask/permission-controller@npm:10.0.0" + dependencies: + "@metamask/base-controller": ^6.0.0 + "@metamask/controller-utils": ^11.0.0 + "@metamask/json-rpc-engine": ^9.0.0 + "@metamask/rpc-errors": ^6.2.1 + "@metamask/utils": ^8.3.0 + "@types/deep-freeze-strict": ^1.1.0 + deep-freeze-strict: ^1.1.1 + immer: ^9.0.6 + nanoid: ^3.1.31 + peerDependencies: + "@metamask/approval-controller": ^7.0.0 + checksum: 9b05ebac86a5d028388eca35861357561298ea938f3adb5e134566f5d16a9a01cc582cffdc14f3680f103ba770827f108a066bc48fcb13da984a04da0af178f7 + languageName: node + linkType: hard + "@metamask/permission-controller@npm:^9.0.2": version: 9.0.2 resolution: "@metamask/permission-controller@npm:9.0.2" @@ -2908,6 +2978,27 @@ __metadata: languageName: node linkType: hard +"@metamask/providers@npm:^17.0.0": + version: 17.0.0 + resolution: "@metamask/providers@npm:17.0.0" + dependencies: + "@metamask/json-rpc-engine": ^8.0.1 + "@metamask/json-rpc-middleware-stream": ^7.0.1 + "@metamask/object-multiplex": ^2.0.0 + "@metamask/rpc-errors": ^6.2.1 + "@metamask/safe-event-emitter": ^3.1.1 + "@metamask/utils": ^8.3.0 + detect-browser: ^5.2.0 + extension-port-stream: ^3.0.0 + fast-deep-equal: ^3.1.3 + is-stream: ^2.0.0 + readable-stream: ^3.6.2 + peerDependencies: + webextension-polyfill: ^0.10.0 || ^0.11.0 || ^0.12.0 + checksum: 330e369458edc68d743d87b8b2597cdacac58df01b5fc31f565ae5dacee2390ee23693fb10fa451c6146665e87475a4c8f54163407eb05fceeb698900e34f9e6 + languageName: node + linkType: hard + "@metamask/rpc-errors@npm:^6.0.0, @metamask/rpc-errors@npm:^6.2.1": version: 6.2.1 resolution: "@metamask/rpc-errors@npm:6.2.1" @@ -2918,14 +3009,14 @@ __metadata: languageName: node linkType: hard -"@metamask/safe-event-emitter@npm:^3.0.0": +"@metamask/safe-event-emitter@npm:^3.0.0, @metamask/safe-event-emitter@npm:^3.1.1": version: 3.1.1 resolution: "@metamask/safe-event-emitter@npm:3.1.1" checksum: e24db4d7c20764bfc5b025065f92518c805f0ffb1da4820078b8cff7dcae964c0f354cf053fcb7ac659de015d5ffdf21aae5e8d44e191ee8faa9066855f22653 languageName: node linkType: hard -"@metamask/scure-bip39@npm:^2.1.0": +"@metamask/scure-bip39@npm:^2.1.0, @metamask/scure-bip39@npm:^2.1.1": version: 2.1.1 resolution: "@metamask/scure-bip39@npm:2.1.1" dependencies: @@ -2942,9 +3033,9 @@ __metadata: languageName: node linkType: hard -"@metamask/snaps-cli@npm:^6.1.0": - version: 6.1.0 - resolution: "@metamask/snaps-cli@npm:6.1.0" +"@metamask/snaps-cli@npm:^6.2.0": + version: 6.2.0 + resolution: "@metamask/snaps-cli@npm:6.2.0" dependencies: "@babel/core": ^7.23.2 "@babel/plugin-transform-class-properties": ^7.22.5 @@ -2954,8 +3045,8 @@ __metadata: "@babel/plugin-transform-runtime": ^7.13.2 "@babel/preset-env": ^7.23.2 "@babel/preset-typescript": ^7.23.2 - "@metamask/snaps-sdk": ^3.2.0 - "@metamask/snaps-utils": ^7.0.4 + "@metamask/snaps-sdk": ^4.1.0 + "@metamask/snaps-utils": ^7.3.0 "@metamask/snaps-webpack-plugin": ^4.0.1 "@metamask/utils": ^8.3.0 "@swc/core": 1.3.78 @@ -2997,7 +3088,7 @@ __metadata: yargs: ^17.7.1 bin: mm-snap: ./dist/main.js - checksum: 0b8e32e442118d7bc29b566d3f0f8834cc6ec6d73471d5719969f97b102a41c78be3232f92ac0cda8c068c58c83aaba8f10959b60000cdd65d111c0968ecdb8a + checksum: 33f9879e8870e27490bc70ed839fe0d9d38fd21a130d555db04bcf6d7477cdc725e9951cc7d0e7f67afab0601e66a58087058f4c5f033a26677bce39c3821d7e languageName: node linkType: hard @@ -3143,7 +3234,34 @@ __metadata: languageName: node linkType: hard -"@metamask/snaps-utils@npm:^7.0.1, @metamask/snaps-utils@npm:^7.0.4": +"@metamask/snaps-sdk@npm:^4.1.0, @metamask/snaps-sdk@npm:^4.4.2": + version: 4.4.2 + resolution: "@metamask/snaps-sdk@npm:4.4.2" + dependencies: + "@metamask/key-tree": ^9.1.1 + "@metamask/providers": ^17.0.0 + "@metamask/rpc-errors": ^6.2.1 + "@metamask/utils": ^8.3.0 + fast-xml-parser: ^4.3.4 + superstruct: ^1.0.3 + checksum: 2ff3949cee3b6c5a580304a02191f3ec7fb049460c2ff89b1731f24b215baf5f9c08834a0b2b703ff43e3b74ede387386e22a96810b50be106bb029b180c44ce + languageName: node + linkType: hard + +"@metamask/snaps-sdk@npm:^5.0.0": + version: 5.0.0 + resolution: "@metamask/snaps-sdk@npm:5.0.0" + dependencies: + "@metamask/key-tree": ^9.1.1 + "@metamask/providers": ^17.0.0 + "@metamask/rpc-errors": ^6.2.1 + "@metamask/utils": ^8.3.0 + superstruct: ^1.0.3 + checksum: 80b60b4fab9615ca5cea86c06f7102dd60ed42a8e7568a48a5a291f66eaba1143d449e6bd3f5a16dff53dcc7ff242adbd3968c3dc7669265a4a941a397f1c0a2 + languageName: node + linkType: hard + +"@metamask/snaps-utils@npm:^7.0.1": version: 7.0.4 resolution: "@metamask/snaps-utils@npm:7.0.4" dependencies: @@ -3203,6 +3321,37 @@ __metadata: languageName: node linkType: hard +"@metamask/snaps-utils@npm:^7.3.0": + version: 7.6.0 + resolution: "@metamask/snaps-utils@npm:7.6.0" + dependencies: + "@babel/core": ^7.23.2 + "@babel/types": ^7.23.0 + "@metamask/base-controller": ^6.0.0 + "@metamask/key-tree": ^9.1.1 + "@metamask/permission-controller": ^10.0.0 + "@metamask/rpc-errors": ^6.2.1 + "@metamask/slip44": ^3.1.0 + "@metamask/snaps-registry": ^3.1.0 + "@metamask/snaps-sdk": ^5.0.0 + "@metamask/utils": ^8.3.0 + "@noble/hashes": ^1.3.1 + "@scure/base": ^1.1.1 + chalk: ^4.1.2 + cron-parser: ^4.5.0 + fast-deep-equal: ^3.1.3 + fast-json-stable-stringify: ^2.1.0 + fast-xml-parser: ^4.3.4 + marked: ^12.0.1 + rfdc: ^1.3.0 + semver: ^7.5.4 + ses: ^1.1.0 + superstruct: ^1.0.3 + validate-npm-package-name: ^5.0.0 + checksum: 53c215ef8eb899c3707b6279a15bc74e6f967b8f6d8471f74cf011321db54715eddbe4d445686471d416ff270664644808d5e2c4f8683d6511b5a570235e6ce7 + languageName: node + linkType: hard + "@metamask/snaps-webpack-plugin@npm:^4.0.1": version: 4.0.1 resolution: "@metamask/snaps-webpack-plugin@npm:4.0.1" @@ -3346,6 +3495,13 @@ __metadata: languageName: node linkType: hard +"@noble/hashes@npm:^1.1.2": + version: 1.4.0 + resolution: "@noble/hashes@npm:1.4.0" + checksum: 8ba816ae26c90764b8c42493eea383716396096c5f7ba6bea559993194f49d80a73c081f315f4c367e51bd2d5891700bcdfa816b421d24ab45b41cb03e4f3342 + languageName: node + linkType: hard + "@noble/secp256k1@npm:^1.5.5": version: 1.7.1 resolution: "@noble/secp256k1@npm:1.7.1" @@ -4212,6 +4368,18 @@ __metadata: languageName: node linkType: hard +"@spruceid/siwe-parser@npm:2.1.0": + version: 2.1.0 + resolution: "@spruceid/siwe-parser@npm:2.1.0" + dependencies: + "@noble/hashes": ^1.1.2 + apg-js: ^4.1.1 + uri-js: ^4.4.1 + valid-url: ^1.0.9 + checksum: 99365956bd5e35127568e7ee69246cfc79cc26d83f6fbc5e3a9ed6f0693f7da6f2ee67cf8b93b65761da3c3ce8cc156858bab85e24b2eadd49ec8ae07cb8826e + languageName: node + linkType: hard + "@svgr/babel-plugin-add-jsx-attribute@npm:^6.3.1": version: 6.3.1 resolution: "@svgr/babel-plugin-add-jsx-attribute@npm:6.3.1" @@ -13747,6 +13915,39 @@ __metadata: languageName: node linkType: hard +"minesweeper-snap@workspace:packages/snap": + version: 0.0.0-use.local + resolution: "minesweeper-snap@workspace:packages/snap" + dependencies: + "@jest/globals": ^29.5.0 + "@metamask/auto-changelog": ^3.4.4 + "@metamask/eslint-config": ^12.2.0 + "@metamask/eslint-config-jest": ^12.1.0 + "@metamask/eslint-config-nodejs": ^12.1.0 + "@metamask/eslint-config-typescript": ^12.1.0 + "@metamask/snaps-cli": ^6.2.0 + "@metamask/snaps-jest": ^7.0.0 + "@metamask/snaps-sdk": ^4.4.2 + "@typescript-eslint/eslint-plugin": ^5.42.1 + "@typescript-eslint/parser": ^5.42.1 + buffer: ^6.0.3 + eslint: ^8.45.0 + eslint-config-prettier: ^8.5.0 + eslint-plugin-import: ~2.26.0 + eslint-plugin-jest: ^27.1.5 + eslint-plugin-jsdoc: ^41.1.2 + eslint-plugin-n: ^15.7.0 + eslint-plugin-prettier: ^4.2.1 + eslint-plugin-promise: ^6.1.1 + jest: ^29.5.0 + prettier: ^2.7.1 + prettier-plugin-packagejson: ^2.2.11 + rimraf: ^3.0.2 + ts-jest: ^29.1.0 + typescript: ^4.7.4 + languageName: unknown + linkType: soft + "mini-css-extract-plugin@npm:1.6.2": version: 1.6.2 resolution: "mini-css-extract-plugin@npm:1.6.2" @@ -16941,39 +17142,6 @@ __metadata: languageName: node linkType: hard -"snap@workspace:packages/snap": - version: 0.0.0-use.local - resolution: "snap@workspace:packages/snap" - dependencies: - "@jest/globals": ^29.5.0 - "@metamask/auto-changelog": ^3.4.4 - "@metamask/eslint-config": ^12.2.0 - "@metamask/eslint-config-jest": ^12.1.0 - "@metamask/eslint-config-nodejs": ^12.1.0 - "@metamask/eslint-config-typescript": ^12.1.0 - "@metamask/snaps-cli": ^6.1.0 - "@metamask/snaps-jest": ^7.0.0 - "@metamask/snaps-sdk": ^4.0.0 - "@typescript-eslint/eslint-plugin": ^5.42.1 - "@typescript-eslint/parser": ^5.42.1 - buffer: ^6.0.3 - eslint: ^8.45.0 - eslint-config-prettier: ^8.5.0 - eslint-plugin-import: ~2.26.0 - eslint-plugin-jest: ^27.1.5 - eslint-plugin-jsdoc: ^41.1.2 - eslint-plugin-n: ^15.7.0 - eslint-plugin-prettier: ^4.2.1 - eslint-plugin-promise: ^6.1.1 - jest: ^29.5.0 - prettier: ^2.7.1 - prettier-plugin-packagejson: ^2.2.11 - rimraf: ^3.0.2 - ts-jest: ^29.1.0 - typescript: ^4.7.4 - languageName: unknown - linkType: soft - "socket.io-adapter@npm:~2.5.2": version: 2.5.4 resolution: "socket.io-adapter@npm:2.5.4" @@ -18402,7 +18570,7 @@ __metadata: languageName: node linkType: hard -"uri-js@npm:^4.2.2": +"uri-js@npm:^4.2.2, uri-js@npm:^4.4.1": version: 4.4.1 resolution: "uri-js@npm:4.4.1" dependencies: @@ -18515,6 +18683,13 @@ __metadata: languageName: node linkType: hard +"valid-url@npm:^1.0.9": + version: 1.0.9 + resolution: "valid-url@npm:1.0.9" + checksum: 3ecb030559404441c2cf104cbabab8770efb0f36d117db03d1081052ef133015a68806148ce954bb4dd0b5c42c14b709a88783c93d66b0916cb67ba771c98702 + languageName: node + linkType: hard + "validate-npm-package-name@npm:^5.0.0": version: 5.0.0 resolution: "validate-npm-package-name@npm:5.0.0"