diff --git a/.github/workflows/build-lint-test.yml b/.github/workflows/build-lint-test.yml index 1e557be97c..396b8db958 100644 --- a/.github/workflows/build-lint-test.yml +++ b/.github/workflows/build-lint-test.yml @@ -26,7 +26,7 @@ jobs: node-version: ${{ matrix.node-version }} cache-node-modules: ${{ matrix.node-version == '20.x' }} - name: Prepare "@metamask/snaps-execution-environments" build - run: yarn workspace @metamask/snaps-execution-environments run build:lavamoat + run: yarn workspace @metamask/snaps-execution-environments run build:lavamoat:test - name: Save "@metamask/snaps-execution-environments" build id: cache-snaps-execution-environments-build uses: actions/upload-artifact@v4 @@ -35,7 +35,7 @@ jobs: retention-days: 1 path: | .nvmrc - packages/snaps-execution-environments/dist/browserify + packages/snaps-execution-environments/dist/webpack - name: Fetch workspace package names id: workspace-package-names run: | @@ -95,12 +95,16 @@ jobs: policy: name: Generate LavaMoat policy runs-on: ubuntu-latest - needs: prepare + needs: build steps: - name: Checkout and setup environment uses: MetaMask/action-checkout-and-setup@v1 with: is-high-risk-environment: false + - name: Restore build files + uses: actions/download-artifact@v4 + with: + name: build-source-${{ runner.os }}-${{ github.sha }} - name: Generate LavaMoat policy run: yarn workspace @metamask/snaps-execution-environments build:lavamoat:policy - name: Require clean working directory diff --git a/.github/workflows/publish-environment.yml b/.github/workflows/publish-environment.yml index 068a53acb8..0f47ee3155 100644 --- a/.github/workflows/publish-environment.yml +++ b/.github/workflows/publish-environment.yml @@ -32,5 +32,5 @@ jobs: aws-region: ${{ vars.AWS_REGION }} - name: Deploy to `${{ inputs.destination_dir }}` directory of remote storage run: | - aws s3 cp ./packages/snaps-execution-environments/dist/browserify/iframe s3://${{ vars.AWS_BUCKET_NAME }}/iframe/${{ inputs.destination_dir }} --recursive --acl private - aws s3 cp ./packages/snaps-execution-environments/dist/browserify/webview s3://${{ vars.AWS_BUCKET_NAME }}/webview/${{ inputs.destination_dir }} --recursive --acl private + aws s3 cp ./packages/snaps-execution-environments/dist/webpack/iframe s3://${{ vars.AWS_BUCKET_NAME }}/iframe/${{ inputs.destination_dir }} --recursive --acl private + aws s3 cp ./packages/snaps-execution-environments/dist/webpack/webview s3://${{ vars.AWS_BUCKET_NAME }}/webview/${{ inputs.destination_dir }} --recursive --acl private diff --git a/.yarn/patches/@lavamoat-lavapack-npm-6.1.1-b81af21193.patch b/.yarn/patches/@lavamoat-lavapack-npm-6.1.1-b81af21193.patch deleted file mode 100644 index 168d01c6db..0000000000 --- a/.yarn/patches/@lavamoat-lavapack-npm-6.1.1-b81af21193.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff --git a/src/runtime.js b/src/runtime.js -index b07f2d2cfba47561e6c43bf2b8b529b69129cae9..73c6c4a60ce2c571f42ac08fb79ae4bf0a7a27ef 100644 ---- a/src/runtime.js -+++ b/src/runtime.js -@@ -13290,6 +13290,17 @@ module.exports = { - - - function loadModuleData (moduleId) { -+ if (typeof window === 'undefined' && typeof require === 'function' && require('node:module').isBuiltin(moduleId)) { -+ return { -+ type: 'builtin', -+ package: moduleId, -+ id: moduleId, -+ // Using unprotected require -+ moduleInitializer: (_, module) => { -+ module.exports = require(moduleId); -+ }, -+ } -+ } - if (!moduleRegistry.has(moduleId)) { - throw new Error(`no module registered for "${moduleId}" (${typeof moduleId})`) - } diff --git a/.yarn/patches/lavamoat-browserify-npm-17.0.5-16c00e9ef9.patch b/.yarn/patches/lavamoat-browserify-npm-17.0.5-16c00e9ef9.patch deleted file mode 100644 index 799d87785a..0000000000 --- a/.yarn/patches/lavamoat-browserify-npm-17.0.5-16c00e9ef9.patch +++ /dev/null @@ -1,39 +0,0 @@ -diff --git a/src/index.js b/src/index.js -index db802666fb1126700dc604008d51c0f152b6cb37..f9f232171db273991334c9a4b3746ccc66fdda4d 100644 ---- a/src/index.js -+++ b/src/index.js -@@ -8,6 +8,7 @@ const createLavaPack = require('@lavamoat/lavapack') - const { createSesWorkaroundsTransform } = require('./sesTransforms') - const { loadCanonicalNameMap } = require('@lavamoat/aa') - const browserResolve = require('browser-resolve') -+const { isBuiltin } = require('node:module') - - // these are the reccomended arguments for lavaMoat to work well with browserify - const reccomendedArgs = { -@@ -72,7 +73,7 @@ function plugin(browserify, pluginOpts) { - createModuleInspectorSpy({ - policyOverride, - // no builtins in the browser (yet!) -- isBuiltin: () => false, -+ isBuiltin: (name) => browserify._options.node && isBuiltin(name), - // should prepare debug info - includeDebugInfo: configuration.writeAutoPolicyDebug, - // write policy files to disk -@@ -321,7 +322,7 @@ function validatePolicy(policy) { - Object.entries(policy.resources).forEach(([, packageOpts]) => { - const packageOptions = Object.keys(packageOpts) - const packageEntries = Object.values(packageOpts) -- const optionsWhitelist = ['globals', 'packages'] -+ const optionsWhitelist = ['globals', 'packages', 'builtin'] - const valuesWhitelist = [true, 'write'] - - if ( -@@ -330,7 +331,7 @@ function validatePolicy(policy) { - ) - ) { - throw new Error( -- "LavaMoat - Unrecognized package options. Expected 'globals' or 'packages'" -+ "LavaMoat - Unrecognized package options. Expected 'globals', 'packages' or 'builtin'" - ) - } - diff --git a/jest.config.base.js b/jest.config.base.js index dd25ae776d..a5f902bad2 100644 --- a/jest.config.base.js +++ b/jest.config.base.js @@ -96,10 +96,19 @@ module.exports = { // A map from regular expressions to module names or to arrays of module names that allow to stub out resources with a single module moduleNameMapper: { + '^@metamask/snaps-execution-environments/node-thread': [ + '/../snaps-execution-environments/dist/webpack/node-thread/bundle.js', + ], + '^@metamask/snaps-execution-environments/node-process': [ + '/../snaps-execution-environments/dist/webpack/node-process/bundle.js', + ], '^@metamask/(.+)/production/jsx-runtime': [ '/../$1/src/jsx/production', ], '^@metamask/(.+)/test-utils$': ['/../$1/src/test-utils'], + '^@metamask/post-message-stream/node$': [ + '@metamask/post-message-stream/node', + ], '^@metamask/(.+)/node$': ['/../$1/src/node'], '^@metamask/(.+)/jsx': ['/../$1/src/jsx'], '^@metamask/(.+)$': [ diff --git a/package.json b/package.json index 03e00fa34a..783104c952 100644 --- a/package.json +++ b/package.json @@ -60,7 +60,6 @@ "resolutions": { "@babel/core": "patch:@babel/core@npm%3A7.23.2#./.yarn/patches/@babel-core-npm-7.23.2-b93f586907.patch", "@esbuild-plugins/node-modules-polyfill@^0.2.2": "patch:@esbuild-plugins/node-modules-polyfill@npm%3A0.2.2#./.yarn/patches/@esbuild-plugins-node-modules-polyfill-npm-0.2.2-f612681798.patch", - "@lavamoat/lavapack@^6.1.1": "patch:@lavamoat/lavapack@npm%3A6.1.1#./.yarn/patches/@lavamoat-lavapack-npm-6.1.1-b81af21193.patch", "@puppeteer/browsers@1.4.6": "patch:@puppeteer/browsers@npm%3A1.7.0#./.yarn/patches/@puppeteer-browsers-npm-1.7.0-203cb4f44b.patch", "@puppeteer/browsers@^1.6.0": "patch:@puppeteer/browsers@npm%3A1.7.0#./.yarn/patches/@puppeteer-browsers-npm-1.7.0-203cb4f44b.patch", "@types/glob@*": "patch:@types/glob@npm%3A7.1.4#./.yarn/patches/@types-glob-npm-7.1.4-d45247eaa2.patch", @@ -72,7 +71,6 @@ "jest-fetch-mock@^3.0.3": "patch:jest-fetch-mock@npm:3.0.3#.yarn/patches/jest-fetch-mock-npm-3.0.3-ac072ca8af.patch", "jest-util@^29.5.0": "patch:jest-util@npm%3A29.6.3#./.yarn/patches/jest-util-npm-29.6.3-6ffdea2c1c.patch", "jest-util@^29.6.3": "patch:jest-util@npm%3A29.6.3#./.yarn/patches/jest-util-npm-29.6.3-6ffdea2c1c.patch", - "lavamoat-browserify@^17.0.5": "patch:lavamoat-browserify@npm%3A17.0.5#./.yarn/patches/lavamoat-browserify-npm-17.0.5-16c00e9ef9.patch", "luxon@^3.2.1": "patch:luxon@npm%3A3.3.0#./.yarn/patches/luxon-npm-3.3.0-bdbae9bfd5.patch", "tsconfig-paths@^3.11.0": "patch:tsconfig-paths@npm%3A3.14.2#./.yarn/patches/tsconfig-paths-npm-3.14.2-90ce75420d.patch", "tsconfig-paths@^3.14.1": "patch:tsconfig-paths@npm%3A3.14.2#./.yarn/patches/tsconfig-paths-npm-3.14.2-90ce75420d.patch", diff --git a/packages/examples/packages/bip32/snap.manifest.json b/packages/examples/packages/bip32/snap.manifest.json index aa61ecd68f..1020cc8f1e 100644 --- a/packages/examples/packages/bip32/snap.manifest.json +++ b/packages/examples/packages/bip32/snap.manifest.json @@ -7,7 +7,7 @@ "url": "https://github.com/MetaMask/snaps.git" }, "source": { - "shasum": "k2lRqMHzUAsSfYAQvfHaotZ+GjevHXfCYq31N6rLbpI=", + "shasum": "S8JJzZaDPhHp16nyJVCPY++KVgOpYSCUrEVp/dmbsRE=", "location": { "npm": { "filePath": "dist/bundle.js", diff --git a/packages/examples/packages/bip44/snap.manifest.json b/packages/examples/packages/bip44/snap.manifest.json index 99c859acac..2f9134704e 100644 --- a/packages/examples/packages/bip44/snap.manifest.json +++ b/packages/examples/packages/bip44/snap.manifest.json @@ -7,7 +7,7 @@ "url": "https://github.com/MetaMask/snaps.git" }, "source": { - "shasum": "OKsspaf6yslVwkh3t0EEkgLe2ZXVUeOSuARHBYh5QO8=", + "shasum": "S9Rxcf90yagtJcBEV2lPs4eSASBPP+KkiACJjkye7ho=", "location": { "npm": { "filePath": "dist/bundle.js", diff --git a/packages/examples/packages/get-entropy/snap.manifest.json b/packages/examples/packages/get-entropy/snap.manifest.json index 1b018087cd..c2c3852133 100644 --- a/packages/examples/packages/get-entropy/snap.manifest.json +++ b/packages/examples/packages/get-entropy/snap.manifest.json @@ -7,7 +7,7 @@ "url": "https://github.com/MetaMask/snaps.git" }, "source": { - "shasum": "JuqQZZ60QV9h7WNpCeNCNoomvPVzkoAGMqF+wXMi7vM=", + "shasum": "zip0FTlGFS2oV/Hm6lLWzBAhw/UtphSCFG4kecgojAg=", "location": { "npm": { "filePath": "dist/bundle.js", diff --git a/packages/examples/packages/invoke-snap/packages/core-signer/snap.manifest.json b/packages/examples/packages/invoke-snap/packages/core-signer/snap.manifest.json index 9db0fb27c8..25712cb84e 100644 --- a/packages/examples/packages/invoke-snap/packages/core-signer/snap.manifest.json +++ b/packages/examples/packages/invoke-snap/packages/core-signer/snap.manifest.json @@ -7,7 +7,7 @@ "url": "https://github.com/MetaMask/snaps.git" }, "source": { - "shasum": "5WnCGlClRMxrjPXzuSZybJuEBDfo+oIjkfCRhcvFzzw=", + "shasum": "KaI5if/V5l02632+bVHOa6UtSbmWO+NR/kr8q8Ck1zs=", "location": { "npm": { "filePath": "dist/bundle.js", diff --git a/packages/examples/packages/wasm/snap.manifest.json b/packages/examples/packages/wasm/snap.manifest.json index 926735ad8f..60711e8b22 100644 --- a/packages/examples/packages/wasm/snap.manifest.json +++ b/packages/examples/packages/wasm/snap.manifest.json @@ -7,7 +7,7 @@ "url": "https://github.com/MetaMask/snaps.git" }, "source": { - "shasum": "/ZxCTLB2buQSGwrTdtIh6wkzzoPS0QOZCD8uGq5WGEY=", + "shasum": "0iz4fr9QPZehD0EQCZ5rkpOKiKCKVhUwKEZ7ZhjUBLk=", "location": { "npm": { "filePath": "dist/bundle.js", diff --git a/packages/snaps-controllers/package.json b/packages/snaps-controllers/package.json index ce57a55db6..723eee9c92 100644 --- a/packages/snaps-controllers/package.json +++ b/packages/snaps-controllers/package.json @@ -88,7 +88,7 @@ "@metamask/object-multiplex": "^2.1.0", "@metamask/permission-controller": "^11.0.6", "@metamask/phishing-controller": "^12.5.0", - "@metamask/post-message-stream": "^9.0.0", + "@metamask/post-message-stream": "^10.0.0", "@metamask/rpc-errors": "^7.0.2", "@metamask/snaps-registry": "^3.2.3", "@metamask/snaps-rpc-methods": "workspace:^", diff --git a/packages/snaps-controllers/src/services/node-js/NodeProcessExecutionService.ts b/packages/snaps-controllers/src/services/node-js/NodeProcessExecutionService.ts index 39777e2920..37efc15580 100644 --- a/packages/snaps-controllers/src/services/node-js/NodeProcessExecutionService.ts +++ b/packages/snaps-controllers/src/services/node-js/NodeProcessExecutionService.ts @@ -1,5 +1,5 @@ import type { BasePostMessageStream } from '@metamask/post-message-stream'; -import { ProcessParentMessageStream } from '@metamask/post-message-stream'; +import { ProcessParentMessageStream } from '@metamask/post-message-stream/node'; import type { ChildProcess } from 'child_process'; import { fork } from 'child_process'; @@ -12,9 +12,7 @@ export class NodeProcessExecutionService extends AbstractExecutionService { const worker = fork( - require.resolve( - '@metamask/snaps-execution-environments/dist/browserify/node-process/bundle.js', - ), + require.resolve('@metamask/snaps-execution-environments/node-process'), { stdio: 'pipe', }, diff --git a/packages/snaps-controllers/src/services/node-js/NodeThreadExecutionService.ts b/packages/snaps-controllers/src/services/node-js/NodeThreadExecutionService.ts index f6bfeaf2d9..a864b39f4f 100644 --- a/packages/snaps-controllers/src/services/node-js/NodeThreadExecutionService.ts +++ b/packages/snaps-controllers/src/services/node-js/NodeThreadExecutionService.ts @@ -1,5 +1,5 @@ import type { BasePostMessageStream } from '@metamask/post-message-stream'; -import { ThreadParentMessageStream } from '@metamask/post-message-stream'; +import { ThreadParentMessageStream } from '@metamask/post-message-stream/node'; import { Worker } from 'worker_threads'; import type { TerminateJobArgs } from '..'; @@ -11,9 +11,7 @@ export class NodeThreadExecutionService extends AbstractExecutionService stream: BasePostMessageStream; }> { const worker = new Worker( - require.resolve( - '@metamask/snaps-execution-environments/dist/browserify/node-thread/bundle.js', - ), + require.resolve('@metamask/snaps-execution-environments/node-thread'), { stdout: true, stderr: true, diff --git a/packages/snaps-controllers/src/services/webview/WebViewMessageStream.ts b/packages/snaps-controllers/src/services/webview/WebViewMessageStream.ts index a38f0a6ec6..9d6465bcac 100644 --- a/packages/snaps-controllers/src/services/webview/WebViewMessageStream.ts +++ b/packages/snaps-controllers/src/services/webview/WebViewMessageStream.ts @@ -1,6 +1,8 @@ import type { PostMessageEvent } from '@metamask/post-message-stream'; -import { BasePostMessageStream } from '@metamask/post-message-stream'; -import { isValidStreamMessage } from '@metamask/post-message-stream/dist/utils'; +import { + BasePostMessageStream, + isValidStreamMessage, +} from '@metamask/post-message-stream'; import { assert } from '@metamask/utils'; export type WebViewInterface = { diff --git a/packages/snaps-controllers/vitest.config.mts b/packages/snaps-controllers/vitest.config.mts index 19280fee0f..a05377b1dd 100644 --- a/packages/snaps-controllers/vitest.config.mts +++ b/packages/snaps-controllers/vitest.config.mts @@ -6,7 +6,7 @@ import { defineConfig } from 'vitest/config'; const IFRAME_PATH = join( import.meta.dirname, - '../snaps-execution-environments/dist/browserify/iframe', + '../snaps-execution-environments/dist/webpack/iframe', ); const IFRAME_TEST_PATH = join( @@ -16,12 +16,12 @@ const IFRAME_TEST_PATH = join( const WORKER_EXECUTOR_PATH = join( import.meta.dirname, - '../snaps-execution-environments/dist/browserify/worker-executor', + '../snaps-execution-environments/dist/webpack/worker-executor', ); const WORKER_POOL_PATH = join( import.meta.dirname, - '../snaps-execution-environments/dist/browserify/worker-pool', + '../snaps-execution-environments/dist/webpack/worker-pool', ); export default defineConfig({ @@ -54,9 +54,9 @@ export default defineConfig({ strict: true, allow: [ './src/services/iframe/test', - '../snaps-execution-environments/dist/browserify/iframe', - '../snaps-execution-environments/dist/browserify/worker-executor', - '../snaps-execution-environments/dist/browserify/worker-pool', + '../snaps-execution-environments/dist/webpack/iframe', + '../snaps-execution-environments/dist/webpack/worker-executor', + '../snaps-execution-environments/dist/webpack/worker-pool', ], }, }, diff --git a/packages/snaps-execution-environments/.browserslistrc b/packages/snaps-execution-environments/.browserslistrc new file mode 100644 index 0000000000..a5151493bd --- /dev/null +++ b/packages/snaps-execution-environments/.browserslistrc @@ -0,0 +1,3 @@ +# The minimum browser versions supported by MetaMask. +chrome >= 90 +firefox >= 91 diff --git a/packages/snaps-execution-environments/coverage.json b/packages/snaps-execution-environments/coverage.json index accc65dbcd..31ccde4fe9 100644 --- a/packages/snaps-execution-environments/coverage.json +++ b/packages/snaps-execution-environments/coverage.json @@ -2,5 +2,5 @@ "branches": 90.78, "functions": 94.96, "lines": 90.84, - "statements": 90.26 + "statements": 90.25 } diff --git a/packages/snaps-execution-environments/lavamoat/browserify/policy-override.json b/packages/snaps-execution-environments/lavamoat/browserify/policy-override.json deleted file mode 100644 index d6eebc58e8..0000000000 --- a/packages/snaps-execution-environments/lavamoat/browserify/policy-override.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "resources": {} -} diff --git a/packages/snaps-execution-environments/lavamoat/browserify/worker-pool/policy.json b/packages/snaps-execution-environments/lavamoat/browserify/worker-pool/policy.json deleted file mode 100644 index df5877fd7f..0000000000 --- a/packages/snaps-execution-environments/lavamoat/browserify/worker-pool/policy.json +++ /dev/null @@ -1,149 +0,0 @@ -{ - "resources": { - "@metamask/post-message-stream": { - "globals": { - "MessageEvent.prototype": true, - "WorkerGlobalScope": true, - "addEventListener": true, - "browser": true, - "chrome": true, - "location.origin": true, - "postMessage": true, - "removeEventListener": true - }, - "packages": { - "@metamask/utils": true, - "readable-stream": true - } - }, - "@metamask/rpc-errors": { - "packages": { - "@metamask/rpc-errors>fast-safe-stringify": true, - "@metamask/utils": true - } - }, - "@metamask/snaps-sdk": { - "globals": { - "URL": true, - "fetch": true - }, - "packages": { - "@metamask/rpc-errors": true, - "@metamask/superstruct": true, - "@metamask/utils": true - } - }, - "@metamask/snaps-utils": { - "globals": { - "URL": true, - "console.error": true, - "console.log": true, - "console.warn": true, - "document.body.appendChild": true, - "document.createElement": true - }, - "packages": { - "@metamask/rpc-errors": true, - "@metamask/snaps-sdk": true, - "@metamask/superstruct": true, - "@metamask/utils": true - } - }, - "@metamask/utils": { - "globals": { - "TextDecoder": true, - "TextEncoder": true - }, - "packages": { - "@metamask/superstruct": true, - "@metamask/utils>@noble/hashes": true, - "@metamask/utils>@scure/base": true, - "@metamask/utils>pony-cause": true, - "browserify>buffer": true, - "depcheck>semver": true, - "eslint>debug": true - } - }, - "@metamask/utils>@noble/hashes": { - "globals": { - "TextEncoder": true, - "crypto": true - } - }, - "@metamask/utils>@scure/base": { - "globals": { - "TextDecoder": true, - "TextEncoder": true - } - }, - "browserify>browser-pack>safe-buffer": { - "packages": { - "browserify>buffer": true - } - }, - "browserify>buffer": { - "globals": { - "console": true - }, - "packages": { - "browserify>buffer>base64-js": true, - "browserify>buffer>ieee754": true - } - }, - "browserify>events": { - "globals": { - "console": true - } - }, - "browserify>process": { - "globals": { - "clearTimeout": true, - "setTimeout": true - } - }, - "browserify>string_decoder": { - "packages": { - "browserify>browser-pack>safe-buffer": true - } - }, - "depcheck>semver": { - "globals": { - "console.error": true - }, - "packages": { - "browserify>process": true - } - }, - "eslint>debug": { - "globals": { - "console": true, - "document": true, - "localStorage": true, - "navigator": true, - "process": true - }, - "packages": { - "browserify>process": true, - "eslint>debug>ms": true - } - }, - "readable-stream": { - "packages": { - "browserify>browser-resolve": true, - "browserify>buffer": true, - "browserify>events": true, - "browserify>inherits": true, - "browserify>process": true, - "browserify>string_decoder": true, - "readable-stream>util-deprecate": true - } - }, - "readable-stream>util-deprecate": { - "globals": { - "console.trace": true, - "console.warn": true, - "localStorage": true - } - } - } -} \ No newline at end of file diff --git a/packages/snaps-execution-environments/lavamoat/build-system/policy-override.json b/packages/snaps-execution-environments/lavamoat/build-system/policy-override.json index c59f889199..ae3905faa5 100644 --- a/packages/snaps-execution-environments/lavamoat/build-system/policy-override.json +++ b/packages/snaps-execution-environments/lavamoat/build-system/policy-override.json @@ -1,8 +1,31 @@ { "resources": { - "lavamoat-browserify": { + "$root$": { + "packages": { + "ts-loader": true + } + }, + "@swc/core": false, + "html-webpack-plugin": { "builtin": { - "node:module": true + "url": true + } + }, + "ts-loader": { + "packages": { + "typescript": true + } + }, + "typescript": {}, + "webpack>loader-runner": { + "packages": { + "html-webpack-plugin": true, + "ts-loader": true + } + }, + "webpack>terser-webpack-plugin>jest-worker": { + "packages": { + "webpack>terser-webpack-plugin": true } } } diff --git a/packages/snaps-execution-environments/lavamoat/build-system/policy.json b/packages/snaps-execution-environments/lavamoat/build-system/policy.json index 3bd125b594..cfbc1697b0 100644 --- a/packages/snaps-execution-environments/lavamoat/build-system/policy.json +++ b/packages/snaps-execution-environments/lavamoat/build-system/policy.json @@ -1,54 +1,11 @@ { "resources": { - "@babel/core": { - "builtin": { - "assert": true, - "fs": true, - "module": true, - "path": true, - "process": true, - "url": true, - "util": true, - "v8": true - }, - "globals": { - "console.error": true, - "console.log": true, - "process.env.BABEL_ENV": true, - "process.env.BABEL_SHOW_CONFIG_FOR": true, - "process.env.NODE_ENV": true, - "process.versions.node": true, - "process.versions.pnp": true - }, - "packages": { - "@babel/core>@ampproject/remapping": true, - "@babel/core>@babel/code-frame": true, - "@babel/core>@babel/generator": true, - "@babel/core>@babel/helper-compilation-targets": true, - "@babel/core>@babel/helper-module-transforms": true, - "@babel/core>@babel/helpers": true, - "@babel/core>@babel/template": true, - "@babel/core>@babel/types": true, - "@babel/core>convert-source-map": true, - "@babel/core>gensync": true, - "@babel/core>semver": true, - "@babel/preset-typescript": true, - "depcheck>@babel/parser": true, - "depcheck>@babel/traverse": true, - "depcheck>json5": true, - "eslint>debug": true - } - }, - "@babel/core>@ampproject/remapping": { - "globals": { - "define": true - }, + "$root$": { "packages": { - "terser>@jridgewell/source-map>@jridgewell/gen-mapping": true, - "terser>@jridgewell/source-map>@jridgewell/trace-mapping": true + "ts-loader": true } }, - "@babel/core>@babel/code-frame": { + "lavamoat>@babel/code-frame": { "globals": { "console.warn": true, "process": true @@ -59,1080 +16,1132 @@ "vite>postcss>picocolors": true } }, - "@babel/core>@babel/generator": { + "depcheck>@babel/traverse>@babel/generator": { "globals": { "console.error": true, "console.warn": true }, "packages": { - "@babel/core>@babel/generator>jsesc": true, - "@babel/core>@babel/types": true, + "@metamask/snaps-utils>@babel/types": true, "terser>@jridgewell/source-map>@jridgewell/gen-mapping": true, - "terser>@jridgewell/source-map>@jridgewell/trace-mapping": true - } - }, - "@babel/core>@babel/generator>jsesc": { - "globals": { - "Buffer.isBuffer": true + "terser>@jridgewell/source-map>@jridgewell/trace-mapping": true, + "depcheck>@babel/traverse>@babel/generator>jsesc": true } }, - "@babel/core>@babel/helper-compilation-targets": { - "globals": { - "console.warn": true, - "process.versions.node": true - }, + "depcheck>@babel/traverse>@babel/template": { "packages": { - "@babel/core>@babel/helper-compilation-targets>browserslist": true, - "@babel/core>@babel/helper-compilation-targets>lru-cache": true, - "@babel/core>@babel/helper-compilation-targets>semver": true, - "@babel/preset-env>@babel/compat-data": true, - "@babel/preset-env>@babel/helper-validator-option": true + "lavamoat>@babel/code-frame": true, + "depcheck>@babel/parser": true, + "@metamask/snaps-utils>@babel/types": true } }, - "@babel/core>@babel/helper-compilation-targets>browserslist": { - "builtin": { - "fs.existsSync": true, - "fs.readFileSync": true, - "fs.statSync": true, - "path.basename": true, - "path.dirname": true, - "path.join": true, - "path.relative": true, - "path.resolve": true - }, + "depcheck>@babel/traverse": { "globals": { - "console.warn": true, - "process.env": true, - "process.versions.node": true + "console.log": true }, "packages": { - "@babel/core>@babel/helper-compilation-targets>browserslist>caniuse-lite": true, - "@babel/core>@babel/helper-compilation-targets>browserslist>electron-to-chromium": true, - "@babel/core>@babel/helper-compilation-targets>browserslist>node-releases": true - } - }, - "@babel/core>@babel/helper-compilation-targets>lru-cache": { - "packages": { - "@babel/core>@babel/helper-compilation-targets>lru-cache>yallist": true + "lavamoat>@babel/code-frame": true, + "depcheck>@babel/traverse>@babel/generator": true, + "depcheck>@babel/parser": true, + "depcheck>@babel/traverse>@babel/template": true, + "@metamask/snaps-utils>@babel/types": true, + "eslint>debug": true, + "depcheck>@babel/traverse>globals": true } }, - "@babel/core>@babel/helper-compilation-targets>semver": { + "@metamask/snaps-utils>@babel/types": { "globals": { - "console": true, - "process": true - } - }, - "@babel/core>@babel/helper-module-transforms": { - "builtin": { - "assert": true, - "path.basename": true, - "path.extname": true + "console.warn": true, + "process.env": true }, "packages": { - "@babel/core": true, - "@babel/core>@babel/helper-module-transforms>@babel/helper-module-imports": true, - "@babel/core>@babel/helper-module-transforms>@babel/helper-simple-access": true, - "depcheck>@babel/traverse>@babel/helper-environment-visitor": true, - "depcheck>@babel/traverse>@babel/helper-split-export-declaration": true, + "@metamask/snaps-utils>@babel/types>@babel/helper-string-parser": true, "lavamoat>@babel/highlight>@babel/helper-validator-identifier": true } }, - "@babel/core>@babel/helper-module-transforms>@babel/helper-module-imports": { - "builtin": { - "assert": true + "terser>@jridgewell/source-map>@jridgewell/gen-mapping": { + "globals": { + "define": true }, "packages": { - "@babel/core>@babel/types": true - } - }, - "@babel/core>@babel/helper-module-transforms>@babel/helper-simple-access": { - "packages": { - "@babel/core>@babel/types": true - } - }, - "@babel/core>@babel/helpers": { - "packages": { - "@babel/core>@babel/template": true, - "@babel/core>@babel/types": true + "terser>@jridgewell/source-map>@jridgewell/gen-mapping>@jridgewell/set-array": true, + "vitest>magic-string>@jridgewell/sourcemap-codec": true, + "terser>@jridgewell/source-map>@jridgewell/trace-mapping": true } }, - "@babel/core>@babel/template": { - "packages": { - "@babel/core>@babel/code-frame": true, - "@babel/core>@babel/types": true, - "depcheck>@babel/parser": true + "terser>@jridgewell/source-map>@jridgewell/trace-mapping>@jridgewell/resolve-uri": { + "globals": { + "define": true } }, - "@babel/core>@babel/types": { + "terser>@jridgewell/source-map>@jridgewell/gen-mapping>@jridgewell/set-array": { "globals": { - "console.warn": true, - "process.env": true - }, - "packages": { - "@babel/core>@babel/types>@babel/helper-string-parser": true, - "lavamoat>@babel/highlight>@babel/helper-validator-identifier": true + "define": true } }, - "@babel/core>convert-source-map": { + "terser>@jridgewell/source-map": { "globals": { "Buffer": true, - "atob": true, - "btoa": true, - "value": true + "TextDecoder": true, + "define": true } }, - "@babel/core>semver": { + "vitest>magic-string>@jridgewell/sourcemap-codec": { "globals": { - "console": true, - "process": true + "Buffer": true, + "TextDecoder": true, + "define": true } }, - "@babel/preset-env": { + "terser>@jridgewell/source-map>@jridgewell/trace-mapping": { "globals": { - "console.log": true, - "console.warn": true, - "process.cwd": true, - "process.env.BABEL_ENV": true - }, - "packages": { - "@babel/core>@babel/helper-compilation-targets": true, - "@babel/core>@babel/types": true, - "@babel/preset-env>@babel/compat-data": true, - "@babel/preset-env>@babel/helper-plugin-utils": true, - "@babel/preset-env>@babel/helper-validator-option": true, - "@babel/preset-env>@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": true, - "@babel/preset-env>@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": true, - "@babel/preset-env>@babel/plugin-syntax-async-generators": true, - "@babel/preset-env>@babel/plugin-syntax-class-properties": true, - "@babel/preset-env>@babel/plugin-syntax-class-static-block": true, - "@babel/preset-env>@babel/plugin-syntax-dynamic-import": true, - "@babel/preset-env>@babel/plugin-syntax-export-namespace-from": true, - "@babel/preset-env>@babel/plugin-syntax-import-assertions": true, - "@babel/preset-env>@babel/plugin-syntax-import-attributes": true, - "@babel/preset-env>@babel/plugin-syntax-import-meta": true, - "@babel/preset-env>@babel/plugin-syntax-json-strings": true, - "@babel/preset-env>@babel/plugin-syntax-logical-assignment-operators": true, - "@babel/preset-env>@babel/plugin-syntax-nullish-coalescing-operator": true, - "@babel/preset-env>@babel/plugin-syntax-numeric-separator": true, - "@babel/preset-env>@babel/plugin-syntax-object-rest-spread": true, - "@babel/preset-env>@babel/plugin-syntax-optional-catch-binding": true, - "@babel/preset-env>@babel/plugin-syntax-optional-chaining": true, - "@babel/preset-env>@babel/plugin-syntax-private-property-in-object": true, - "@babel/preset-env>@babel/plugin-syntax-top-level-await": true, - "@babel/preset-env>@babel/plugin-syntax-unicode-sets-regex": true, - "@babel/preset-env>@babel/plugin-transform-arrow-functions": true, - "@babel/preset-env>@babel/plugin-transform-async-generator-functions": true, - "@babel/preset-env>@babel/plugin-transform-async-to-generator": true, - "@babel/preset-env>@babel/plugin-transform-block-scoped-functions": true, - "@babel/preset-env>@babel/plugin-transform-block-scoping": true, - "@babel/preset-env>@babel/plugin-transform-class-properties": true, - "@babel/preset-env>@babel/plugin-transform-class-static-block": true, - "@babel/preset-env>@babel/plugin-transform-classes": true, - "@babel/preset-env>@babel/plugin-transform-computed-properties": true, - "@babel/preset-env>@babel/plugin-transform-destructuring": true, - "@babel/preset-env>@babel/plugin-transform-dotall-regex": true, - "@babel/preset-env>@babel/plugin-transform-duplicate-keys": true, - "@babel/preset-env>@babel/plugin-transform-dynamic-import": true, - "@babel/preset-env>@babel/plugin-transform-exponentiation-operator": true, - "@babel/preset-env>@babel/plugin-transform-export-namespace-from": true, - "@babel/preset-env>@babel/plugin-transform-for-of": true, - "@babel/preset-env>@babel/plugin-transform-function-name": true, - "@babel/preset-env>@babel/plugin-transform-json-strings": true, - "@babel/preset-env>@babel/plugin-transform-literals": true, - "@babel/preset-env>@babel/plugin-transform-logical-assignment-operators": true, - "@babel/preset-env>@babel/plugin-transform-member-expression-literals": true, - "@babel/preset-env>@babel/plugin-transform-modules-amd": true, - "@babel/preset-env>@babel/plugin-transform-modules-commonjs": true, - "@babel/preset-env>@babel/plugin-transform-modules-systemjs": true, - "@babel/preset-env>@babel/plugin-transform-modules-umd": true, - "@babel/preset-env>@babel/plugin-transform-named-capturing-groups-regex": true, - "@babel/preset-env>@babel/plugin-transform-new-target": true, - "@babel/preset-env>@babel/plugin-transform-nullish-coalescing-operator": true, - "@babel/preset-env>@babel/plugin-transform-numeric-separator": true, - "@babel/preset-env>@babel/plugin-transform-object-rest-spread": true, - "@babel/preset-env>@babel/plugin-transform-object-super": true, - "@babel/preset-env>@babel/plugin-transform-optional-catch-binding": true, - "@babel/preset-env>@babel/plugin-transform-optional-chaining": true, - "@babel/preset-env>@babel/plugin-transform-parameters": true, - "@babel/preset-env>@babel/plugin-transform-private-methods": true, - "@babel/preset-env>@babel/plugin-transform-private-property-in-object": true, - "@babel/preset-env>@babel/plugin-transform-property-literals": true, - "@babel/preset-env>@babel/plugin-transform-regenerator": true, - "@babel/preset-env>@babel/plugin-transform-reserved-words": true, - "@babel/preset-env>@babel/plugin-transform-shorthand-properties": true, - "@babel/preset-env>@babel/plugin-transform-spread": true, - "@babel/preset-env>@babel/plugin-transform-sticky-regex": true, - "@babel/preset-env>@babel/plugin-transform-template-literals": true, - "@babel/preset-env>@babel/plugin-transform-typeof-symbol": true, - "@babel/preset-env>@babel/plugin-transform-unicode-escapes": true, - "@babel/preset-env>@babel/plugin-transform-unicode-property-regex": true, - "@babel/preset-env>@babel/plugin-transform-unicode-regex": true, - "@babel/preset-env>@babel/plugin-transform-unicode-sets-regex": true, - "@babel/preset-env>@babel/preset-modules": true, - "@babel/preset-env>babel-plugin-polyfill-corejs2": true, - "@babel/preset-env>babel-plugin-polyfill-corejs3": true, - "@babel/preset-env>babel-plugin-polyfill-regenerator": true, - "@babel/preset-env>core-js-compat": true, - "@babel/preset-env>semver": true - } - }, - "@babel/preset-env>@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "define": true + }, "packages": { - "@babel/preset-env>@babel/helper-plugin-utils": true + "terser>@jridgewell/source-map>@jridgewell/trace-mapping>@jridgewell/resolve-uri": true, + "vitest>magic-string>@jridgewell/sourcemap-codec": true } }, - "@babel/preset-env>@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "lavamoat>@lavamoat/aa": { + "builtin": { + "node:fs.lstatSync": true, + "node:fs.readFileSync": true, + "node:fs.realpathSync": true, + "node:path.dirname": true, + "node:path.join": true, + "node:path.relative": true + }, "packages": { - "@babel/core": true, - "@babel/preset-env>@babel/helper-plugin-utils": true, - "@babel/preset-env>@babel/plugin-transform-optional-chaining": true, - "@babel/preset-env>@babel/plugin-transform-spread>@babel/helper-skip-transparent-expression-wrappers": true + "depcheck>resolve": true } }, - "@babel/preset-env>@babel/plugin-syntax-async-generators": { + "@lavamoat/webpack": { + "builtin": { + "node:assert": true, + "node:fs.mkdirSync": true, + "node:fs.readFileSync": true, + "node:fs.writeFileSync": true, + "node:path.join": true + }, + "globals": { + "__dirname": true, + "console.error": true, + "console.trace": true, + "console.warn": true, + "process._rawDebug": true + }, "packages": { - "@babel/preset-env>@babel/helper-plugin-utils": true + "lavamoat>@lavamoat/aa": true, + "@lavamoat/webpack>browser-resolve": true, + "lavamoat>lavamoat-core": true, + "webpack": true } }, - "@babel/preset-env>@babel/plugin-syntax-class-properties": { + "@swc/core": false, + "webpack>@webassemblyjs/ast": { + "globals": { + "console.warn": true + }, "packages": { - "@babel/preset-env>@babel/helper-plugin-utils": true + "webpack>@webassemblyjs/ast>@webassemblyjs/helper-numbers": true, + "webpack>@webassemblyjs/ast>@webassemblyjs/helper-wasm-bytecode": true } }, - "@babel/preset-env>@babel/plugin-syntax-class-static-block": { + "webpack>@webassemblyjs/ast>@webassemblyjs/helper-numbers": { "packages": { - "@babel/preset-env>@babel/helper-plugin-utils": true + "webpack>@webassemblyjs/ast>@webassemblyjs/helper-numbers>@webassemblyjs/floating-point-hex-parser": true, + "webpack>@webassemblyjs/wasm-parser>@webassemblyjs/helper-api-error": true, + "webpack>@webassemblyjs/ast>@webassemblyjs/helper-numbers>@xtuc/long": true } }, - "@babel/preset-env>@babel/plugin-syntax-dynamic-import": { + "webpack>@webassemblyjs/wasm-edit>@webassemblyjs/helper-wasm-section": { "packages": { - "@babel/preset-env>@babel/helper-plugin-utils": true + "webpack>@webassemblyjs/ast": true, + "webpack>@webassemblyjs/wasm-edit>@webassemblyjs/helper-buffer": true, + "webpack>@webassemblyjs/ast>@webassemblyjs/helper-wasm-bytecode": true, + "webpack>@webassemblyjs/wasm-edit>@webassemblyjs/wasm-gen": true } }, - "@babel/preset-env>@babel/plugin-syntax-export-namespace-from": { + "webpack>@webassemblyjs/wasm-parser>@webassemblyjs/ieee754": { "packages": { - "@babel/preset-env>@babel/helper-plugin-utils": true + "webpack>@webassemblyjs/wasm-parser>@webassemblyjs/ieee754>@xtuc/ieee754": true } }, - "@babel/preset-env>@babel/plugin-syntax-import-assertions": { + "webpack>@webassemblyjs/wasm-parser>@webassemblyjs/leb128": { "packages": { - "@babel/preset-env>@babel/helper-plugin-utils": true + "webpack>@webassemblyjs/ast>@webassemblyjs/helper-numbers>@xtuc/long": true } }, - "@babel/preset-env>@babel/plugin-syntax-import-attributes": { + "webpack>@webassemblyjs/wasm-edit": { "packages": { - "@babel/preset-env>@babel/helper-plugin-utils": true + "webpack>@webassemblyjs/ast": true, + "webpack>@webassemblyjs/wasm-edit>@webassemblyjs/helper-buffer": true, + "webpack>@webassemblyjs/ast>@webassemblyjs/helper-wasm-bytecode": true, + "webpack>@webassemblyjs/wasm-edit>@webassemblyjs/helper-wasm-section": true, + "webpack>@webassemblyjs/wasm-edit>@webassemblyjs/wasm-gen": true, + "webpack>@webassemblyjs/wasm-edit>@webassemblyjs/wasm-opt": true, + "webpack>@webassemblyjs/wasm-parser": true } }, - "@babel/preset-env>@babel/plugin-syntax-import-meta": { + "webpack>@webassemblyjs/wasm-edit>@webassemblyjs/wasm-gen": { "packages": { - "@babel/preset-env>@babel/helper-plugin-utils": true + "webpack>@webassemblyjs/ast>@webassemblyjs/helper-wasm-bytecode": true, + "webpack>@webassemblyjs/wasm-parser>@webassemblyjs/ieee754": true, + "webpack>@webassemblyjs/wasm-parser>@webassemblyjs/leb128": true, + "webpack>@webassemblyjs/wasm-parser>@webassemblyjs/utf8": true } }, - "@babel/preset-env>@babel/plugin-syntax-json-strings": { + "webpack>@webassemblyjs/wasm-edit>@webassemblyjs/wasm-opt": { "packages": { - "@babel/preset-env>@babel/helper-plugin-utils": true + "webpack>@webassemblyjs/ast": true, + "webpack>@webassemblyjs/wasm-edit>@webassemblyjs/helper-buffer": true, + "webpack>@webassemblyjs/wasm-edit>@webassemblyjs/wasm-gen": true, + "webpack>@webassemblyjs/wasm-parser": true } }, - "@babel/preset-env>@babel/plugin-syntax-logical-assignment-operators": { + "webpack>@webassemblyjs/wasm-parser": { + "globals": { + "console.log": true, + "console.warn": true + }, "packages": { - "@babel/preset-env>@babel/helper-plugin-utils": true + "webpack>@webassemblyjs/ast": true, + "webpack>@webassemblyjs/wasm-parser>@webassemblyjs/helper-api-error": true, + "webpack>@webassemblyjs/ast>@webassemblyjs/helper-wasm-bytecode": true, + "webpack>@webassemblyjs/wasm-parser>@webassemblyjs/ieee754": true, + "webpack>@webassemblyjs/wasm-parser>@webassemblyjs/leb128": true, + "webpack>@webassemblyjs/wasm-parser>@webassemblyjs/utf8": true } }, - "@babel/preset-env>@babel/plugin-syntax-nullish-coalescing-operator": { - "packages": { - "@babel/preset-env>@babel/helper-plugin-utils": true + "webpack>@webassemblyjs/ast>@webassemblyjs/helper-numbers>@xtuc/long": { + "globals": { + "WebAssembly.Instance": true, + "WebAssembly.Module": true } }, - "@babel/preset-env>@babel/plugin-syntax-numeric-separator": { - "packages": { - "@babel/preset-env>@babel/helper-plugin-utils": true + "terser>acorn": { + "globals": { + "console": true, + "define": true } }, - "@babel/preset-env>@babel/plugin-syntax-object-rest-spread": { + "webpack>schema-utils>ajv-formats": { "packages": { - "@babel/preset-env>@babel/helper-plugin-utils": true + "webpack>schema-utils>ajv": true } }, - "@babel/preset-env>@babel/plugin-syntax-optional-catch-binding": { + "webpack>schema-utils>ajv-keywords": { + "globals": { + "Buffer": true + }, "packages": { - "@babel/preset-env>@babel/helper-plugin-utils": true + "webpack>schema-utils>ajv": true, + "eslint>fast-deep-equal": true } }, - "@babel/preset-env>@babel/plugin-syntax-optional-chaining": { + "webpack>schema-utils>ajv": { + "globals": { + "console": true + }, "packages": { - "@babel/preset-env>@babel/helper-plugin-utils": true + "eslint>fast-deep-equal": true, + "webpack>schema-utils>ajv>json-schema-traverse": true, + "eslint>ajv>uri-js": true } }, - "@babel/preset-env>@babel/plugin-syntax-private-property-in-object": { + "eslint>chalk>ansi-styles": { "packages": { - "@babel/preset-env>@babel/helper-plugin-utils": true + "eslint>chalk>ansi-styles>color-convert": true } }, - "@babel/preset-env>@babel/plugin-syntax-top-level-await": { + "ts-loader>micromatch>braces": { + "globals": { + "console.log": true + }, "packages": { - "@babel/preset-env>@babel/helper-plugin-utils": true + "ts-loader>micromatch>braces>fill-range": true } }, - "@babel/preset-env>@babel/plugin-syntax-unicode-sets-regex": { + "@lavamoat/webpack>browser-resolve": { + "builtin": { + "fs.readFile": true, + "fs.readFileSync": true, + "path": true + }, + "globals": { + "__dirname": true, + "process.platform": true + }, "packages": { - "@babel/preset-env>@babel/helper-plugin-utils": true, - "@babel/preset-env>@babel/plugin-transform-dotall-regex>@babel/helper-create-regexp-features-plugin": true + "depcheck>resolve": true } }, - "@babel/preset-env>@babel/plugin-transform-arrow-functions": { + "webpack>browserslist": { + "builtin": { + "fs.existsSync": true, + "fs.readFileSync": true, + "fs.statSync": true, + "path.basename": true, + "path.dirname": true, + "path.join": true, + "path.relative": true, + "path.resolve": true + }, + "globals": { + "console.warn": true, + "process.env": true, + "process.versions.node": true + }, "packages": { - "@babel/preset-env>@babel/helper-plugin-utils": true + "webpack>browserslist>caniuse-lite": true, + "webpack>browserslist>electron-to-chromium": true, + "webpack>browserslist>node-releases": true } }, - "@babel/preset-env>@babel/plugin-transform-async-generator-functions": { - "packages": { - "@babel/core": true, - "@babel/preset-env>@babel/helper-plugin-utils": true, - "@babel/preset-env>@babel/plugin-syntax-async-generators": true, - "@babel/preset-env>@babel/plugin-transform-async-to-generator>@babel/helper-remap-async-to-generator": true, - "depcheck>@babel/traverse>@babel/helper-environment-visitor": true + "terser>source-map-support>buffer-from": { + "globals": { + "Buffer": true } }, - "@babel/preset-env>@babel/plugin-transform-async-to-generator": { + "@lavamoat/webpack>json-stable-stringify>call-bind>call-bind-apply-helpers": { "packages": { - "@babel/core": true, - "@babel/core>@babel/helper-module-transforms>@babel/helper-module-imports": true, - "@babel/preset-env>@babel/helper-plugin-utils": true, - "@babel/preset-env>@babel/plugin-transform-async-to-generator>@babel/helper-remap-async-to-generator": true + "@lavamoat/webpack>json-stable-stringify>call-bind>get-intrinsic>es-errors": true, + "depcheck>is-core-module>hasown>function-bind": true } }, - "@babel/preset-env>@babel/plugin-transform-async-to-generator>@babel/helper-remap-async-to-generator": { + "@lavamoat/webpack>json-stable-stringify>call-bind": { "packages": { - "@babel/core": true, - "@babel/preset-env>@babel/plugin-transform-async-to-generator>@babel/helper-remap-async-to-generator>@babel/helper-wrap-function": true, - "@babel/preset-env>@babel/plugin-transform-classes>@babel/helper-annotate-as-pure": true, - "depcheck>@babel/traverse>@babel/helper-environment-visitor": true + "@lavamoat/webpack>json-stable-stringify>call-bind>call-bind-apply-helpers": true, + "@lavamoat/webpack>json-stable-stringify>call-bind>es-define-property": true, + "@lavamoat/webpack>json-stable-stringify>call-bind>get-intrinsic": true, + "@lavamoat/webpack>json-stable-stringify>call-bind>set-function-length": true } }, - "@babel/preset-env>@babel/plugin-transform-async-to-generator>@babel/helper-remap-async-to-generator>@babel/helper-wrap-function": { + "eslint>chalk": { "packages": { - "@babel/core>@babel/template": true, - "@babel/core>@babel/types": true, - "depcheck>@babel/traverse>@babel/helper-function-name": true + "eslint>chalk>ansi-styles": true, + "istanbul-lib-report>supports-color": true } }, - "@babel/preset-env>@babel/plugin-transform-block-scoped-functions": { - "packages": { - "@babel/core": true, - "@babel/preset-env>@babel/helper-plugin-utils": true + "webpack>chrome-trace-event": { + "builtin": { + "stream.Readable": true + }, + "globals": { + "process.hrtime": true, + "process.pid": true } }, - "@babel/preset-env>@babel/plugin-transform-block-scoping": { + "html-webpack-plugin>html-minifier-terser>clean-css": { + "builtin": { + "fs.existsSync": true, + "fs.readFileSync": true, + "fs.statSync": true, + "http.get": true, + "https.get": true, + "os.EOL": true, + "path.dirname": true, + "path.isAbsolute": true, + "path.join": true, + "path.relative": true, + "path.resolve": true, + "url.parse": true, + "url.resolve": true + }, + "globals": { + "Buffer.from": true, + "Buffer.isBuffer": true, + "process.cwd": true, + "process.env.HTTP_PROXY": true, + "process.env.http_proxy": true, + "process.nextTick": true, + "process.platform": true + }, "packages": { - "@babel/core": true, - "@babel/preset-env>@babel/helper-plugin-utils": true + "terser>source-map-support>source-map": true } }, - "@babel/preset-env>@babel/plugin-transform-class-properties": { + "lavamoat>lavamoat-core>merge-deep>clone-deep": { "packages": { - "@babel/preset-env>@babel/helper-plugin-utils": true, - "@babel/preset-env>@babel/plugin-transform-private-methods>@babel/helper-create-class-features-plugin": true + "lavamoat>lavamoat-core>merge-deep>clone-deep>for-own": true, + "webpack-merge>clone-deep>is-plain-object": true, + "lavamoat>lavamoat-core>merge-deep>kind-of": true, + "lavamoat>lavamoat-core>merge-deep>clone-deep>lazy-cache": true, + "lavamoat>lavamoat-core>merge-deep>clone-deep>shallow-clone": true } }, - "@babel/preset-env>@babel/plugin-transform-class-static-block": { + "webpack-merge>clone-deep": { "packages": { - "@babel/preset-env>@babel/helper-plugin-utils": true, - "@babel/preset-env>@babel/plugin-syntax-class-static-block": true, - "@babel/preset-env>@babel/plugin-transform-private-methods>@babel/helper-create-class-features-plugin": true + "webpack-merge>clone-deep>is-plain-object": true, + "webpack-merge>clone-deep>kind-of": true, + "webpack-merge>clone-deep>shallow-clone": true } }, - "@babel/preset-env>@babel/plugin-transform-classes": { + "eslint>chalk>ansi-styles>color-convert": { "packages": { - "@babel/core": true, - "@babel/core>@babel/helper-compilation-targets": true, - "@babel/preset-env>@babel/helper-plugin-utils": true, - "@babel/preset-env>@babel/plugin-transform-classes>@babel/helper-annotate-as-pure": true, - "@babel/preset-env>@babel/plugin-transform-classes>@babel/helper-optimise-call-expression": true, - "@babel/preset-env>@babel/plugin-transform-classes>@babel/helper-replace-supers": true, - "@babel/preset-env>@babel/plugin-transform-classes>globals": true, - "depcheck>@babel/traverse>@babel/helper-environment-visitor": true, - "depcheck>@babel/traverse>@babel/helper-function-name": true, - "depcheck>@babel/traverse>@babel/helper-split-export-declaration": true + "eslint>chalk>ansi-styles>color-convert>color-name": true } }, - "@babel/preset-env>@babel/plugin-transform-classes>@babel/helper-annotate-as-pure": { + "html-webpack-plugin>pretty-error>renderkid>css-select": { "packages": { - "@babel/core>@babel/types": true + "html-webpack-plugin>pretty-error>renderkid>css-select>boolbase": true, + "html-webpack-plugin>pretty-error>renderkid>css-select>css-what": true, + "html-webpack-plugin>pretty-error>renderkid>css-select>domutils": true, + "html-webpack-plugin>pretty-error>renderkid>css-select>nth-check": true } }, - "@babel/preset-env>@babel/plugin-transform-classes>@babel/helper-optimise-call-expression": { + "eslint>debug": { + "builtin": { + "tty.isatty": true, + "util.deprecate": true, + "util.formatWithOptions": true, + "util.inspect": true + }, + "globals": { + "console": true, + "document": true, + "localStorage": true, + "navigator": true, + "process": true + }, "packages": { - "@babel/core>@babel/types": true + "eslint>debug>ms": true, + "istanbul-lib-report>supports-color": true } }, - "@babel/preset-env>@babel/plugin-transform-classes>@babel/helper-replace-supers": { + "@lavamoat/webpack>json-stable-stringify>call-bind>set-function-length>define-data-property": { "packages": { - "@babel/core": true, - "@babel/preset-env>@babel/plugin-transform-classes>@babel/helper-optimise-call-expression": true, - "@babel/preset-env>@babel/plugin-transform-classes>@babel/helper-replace-supers>@babel/helper-member-expression-to-functions": true, - "depcheck>@babel/traverse>@babel/helper-environment-visitor": true + "@lavamoat/webpack>json-stable-stringify>call-bind>es-define-property": true, + "@lavamoat/webpack>json-stable-stringify>call-bind>get-intrinsic>es-errors": true, + "@lavamoat/webpack>json-stable-stringify>call-bind>get-intrinsic>gopd": true } }, - "@babel/preset-env>@babel/plugin-transform-classes>@babel/helper-replace-supers>@babel/helper-member-expression-to-functions": { + "html-webpack-plugin>pretty-error>renderkid>dom-converter": { + "globals": { + "inspect": true + }, "packages": { - "@babel/core>@babel/types": true + "html-webpack-plugin>pretty-error>renderkid>dom-converter>utila": true } }, - "@babel/preset-env>@babel/plugin-transform-computed-properties": { + "html-webpack-plugin>pretty-error>renderkid>css-select>domutils>dom-serializer": { "packages": { - "@babel/core": true, - "@babel/core>@babel/template": true, - "@babel/preset-env>@babel/helper-plugin-utils": true + "html-webpack-plugin>pretty-error>renderkid>htmlparser2>domelementtype": true, + "html-webpack-plugin>pretty-error>renderkid>htmlparser2>entities": true } }, - "@babel/preset-env>@babel/plugin-transform-destructuring": { + "html-webpack-plugin>pretty-error>renderkid>css-select>domhandler": { "packages": { - "@babel/core": true, - "@babel/preset-env>@babel/helper-plugin-utils": true + "html-webpack-plugin>pretty-error>renderkid>htmlparser2>domelementtype": true } }, - "@babel/preset-env>@babel/plugin-transform-dotall-regex": { + "html-webpack-plugin>pretty-error>renderkid>css-select>domutils": { "packages": { - "@babel/preset-env>@babel/helper-plugin-utils": true, - "@babel/preset-env>@babel/plugin-transform-dotall-regex>@babel/helper-create-regexp-features-plugin": true + "html-webpack-plugin>pretty-error>renderkid>css-select>domutils>dom-serializer": true, + "html-webpack-plugin>pretty-error>renderkid>htmlparser2>domelementtype": true, + "html-webpack-plugin>pretty-error>renderkid>css-select>domhandler": true } }, - "@babel/preset-env>@babel/plugin-transform-dotall-regex>@babel/helper-create-regexp-features-plugin": { + "@lavamoat/webpack>json-stable-stringify>call-bind>get-intrinsic>get-proto>dunder-proto": { "packages": { - "@babel/core": true, - "@babel/preset-env>@babel/plugin-transform-classes>@babel/helper-annotate-as-pure": true, - "@babel/preset-env>@babel/plugin-transform-dotall-regex>@babel/helper-create-regexp-features-plugin>regexpu-core": true, - "@babel/preset-env>@babel/plugin-transform-dotall-regex>@babel/helper-create-regexp-features-plugin>semver": true + "@lavamoat/webpack>json-stable-stringify>call-bind>call-bind-apply-helpers": true, + "@lavamoat/webpack>json-stable-stringify>call-bind>get-intrinsic>gopd": true } }, - "@babel/preset-env>@babel/plugin-transform-dotall-regex>@babel/helper-create-regexp-features-plugin>regexpu-core": { + "webpack>enhanced-resolve": { + "builtin": { + "module.findPnpApi": true, + "path.basename": true, + "path.posix.normalize": true, + "path.win32.normalize": true, + "process.nextTick": true, + "process.versions.pnp": true + }, "globals": { - "characterClassItem.kind": true + "Buffer.isBuffer": true, + "URL": true, + "clearTimeout": true, + "setTimeout": true }, "packages": { - "@babel/preset-env>@babel/plugin-transform-dotall-regex>@babel/helper-create-regexp-features-plugin>regexpu-core>@babel/regjsgen": true, - "@babel/preset-env>@babel/plugin-transform-dotall-regex>@babel/helper-create-regexp-features-plugin>regexpu-core>regenerate": true, - "@babel/preset-env>@babel/plugin-transform-dotall-regex>@babel/helper-create-regexp-features-plugin>regexpu-core>regjsparser": true, - "@babel/preset-env>@babel/plugin-transform-dotall-regex>@babel/helper-create-regexp-features-plugin>regexpu-core>unicode-match-property-ecmascript": true, - "@babel/preset-env>@babel/plugin-transform-dotall-regex>@babel/helper-create-regexp-features-plugin>regexpu-core>unicode-match-property-value-ecmascript": true + "webpack>graceful-fs": true, + "webpack>tapable": true } }, - "@babel/preset-env>@babel/plugin-transform-dotall-regex>@babel/helper-create-regexp-features-plugin>regexpu-core>@babel/regjsgen": { + "webpack>es-module-lexer": { "globals": { - "define": true + "Buffer": true, + "WebAssembly.Instance": true, + "WebAssembly.Module": true, + "WebAssembly.compile": true, + "WebAssembly.instantiate": true, + "atob": true } }, - "@babel/preset-env>@babel/plugin-transform-dotall-regex>@babel/helper-create-regexp-features-plugin>regexpu-core>regenerate": { + "@esbuild-plugins/node-globals-polyfill>esbuild": { + "builtin": { + "child_process.execFileSync": true, + "child_process.spawn": true, + "crypto.randomBytes": true, + "fs.chmodSync": true, + "fs.copyFileSync": true, + "fs.existsSync": true, + "fs.mkdirSync": true, + "fs.readFile": true, + "fs.readFileSync": true, + "fs.unlink": true, + "fs.unlinkSync": true, + "fs.writeFile": true, + "fs.writeFileSync": true, + "os.arch": true, + "os.endianness": true, + "os.tmpdir": true, + "path.basename": true, + "path.dirname": true, + "path.join": true, + "tty.isatty": true, + "worker_threads": true + }, "globals": { - "define": true + "Buffer": true, + "TextDecoder": true, + "TextEncoder": true, + "URL": true, + "WebAssembly.Module": true, + "__dirname": true, + "__filename": true, + "console.log": true, + "console.warn": true, + "process.cwd": true, + "process.env.ESBUILD_BINARY_PATH": true, + "process.env.ESBUILD_MAX_BUFFER": true, + "process.env.ESBUILD_WORKER_THREADS": true, + "process.platform": true, + "process.versions.node.split": true, + "setTimeout": true } }, - "@babel/preset-env>@babel/plugin-transform-dotall-regex>@babel/helper-create-regexp-features-plugin>regexpu-core>regjsparser": { - "globals": { - "regjsparser": "write" - } - }, - "@babel/preset-env>@babel/plugin-transform-dotall-regex>@babel/helper-create-regexp-features-plugin>regexpu-core>unicode-match-property-ecmascript": { - "packages": { - "@babel/preset-env>@babel/plugin-transform-dotall-regex>@babel/helper-create-regexp-features-plugin>regexpu-core>unicode-match-property-ecmascript>unicode-canonical-property-names-ecmascript": true, - "@babel/preset-env>@babel/plugin-transform-dotall-regex>@babel/helper-create-regexp-features-plugin>regexpu-core>unicode-match-property-ecmascript>unicode-property-aliases-ecmascript": true - } - }, - "@babel/preset-env>@babel/plugin-transform-dotall-regex>@babel/helper-create-regexp-features-plugin>semver": { - "globals": { - "console": true, - "process": true - } - }, - "@babel/preset-env>@babel/plugin-transform-duplicate-keys": { - "packages": { - "@babel/core": true, - "@babel/preset-env>@babel/helper-plugin-utils": true - } - }, - "@babel/preset-env>@babel/plugin-transform-dynamic-import": { - "packages": { - "@babel/preset-env>@babel/helper-plugin-utils": true, - "@babel/preset-env>@babel/plugin-syntax-dynamic-import": true - } - }, - "@babel/preset-env>@babel/plugin-transform-exponentiation-operator": { + "webpack>eslint-scope": { + "builtin": { + "assert": true + }, "packages": { - "@babel/core": true, - "@babel/preset-env>@babel/helper-plugin-utils": true, - "@babel/preset-env>@babel/plugin-transform-exponentiation-operator>@babel/helper-builder-binary-assignment-operator-visitor": true + "eslint>eslint-scope>esrecurse": true, + "webpack>eslint-scope>estraverse": true } }, - "@babel/preset-env>@babel/plugin-transform-exponentiation-operator>@babel/helper-builder-binary-assignment-operator-visitor": { + "eslint>eslint-scope>esrecurse": { "packages": { - "@babel/core>@babel/types": true + "eslint>esquery>estraverse": true } }, - "@babel/preset-env>@babel/plugin-transform-export-namespace-from": { + "ts-loader>micromatch>braces>fill-range": { + "builtin": { + "util.inspect": true + }, "packages": { - "@babel/core": true, - "@babel/preset-env>@babel/helper-plugin-utils": true, - "@babel/preset-env>@babel/plugin-syntax-export-namespace-from": true + "ts-loader>micromatch>braces>fill-range>to-regex-range": true } }, - "@babel/preset-env>@babel/plugin-transform-for-of": { + "lavamoat>lavamoat-core>merge-deep>clone-deep>for-own": { "packages": { - "@babel/core": true, - "@babel/preset-env>@babel/helper-plugin-utils": true + "lavamoat>lavamoat-core>merge-deep>clone-deep>for-own>for-in": true } }, - "@babel/preset-env>@babel/plugin-transform-function-name": { + "@lavamoat/webpack>json-stable-stringify>call-bind>get-intrinsic": { + "globals": { + "AggregateError": true, + "FinalizationRegistry": true, + "WeakRef": true + }, "packages": { - "@babel/core>@babel/helper-compilation-targets": true, - "@babel/preset-env>@babel/helper-plugin-utils": true, - "depcheck>@babel/traverse>@babel/helper-function-name": true + "@lavamoat/webpack>json-stable-stringify>call-bind>call-bind-apply-helpers": true, + "@lavamoat/webpack>json-stable-stringify>call-bind>es-define-property": true, + "@lavamoat/webpack>json-stable-stringify>call-bind>get-intrinsic>es-errors": true, + "@lavamoat/webpack>json-stable-stringify>call-bind>get-intrinsic>es-object-atoms": true, + "depcheck>is-core-module>hasown>function-bind": true, + "@lavamoat/webpack>json-stable-stringify>call-bind>get-intrinsic>get-proto": true, + "@lavamoat/webpack>json-stable-stringify>call-bind>get-intrinsic>gopd": true, + "@lavamoat/webpack>json-stable-stringify>call-bind>get-intrinsic>has-symbols": true, + "depcheck>is-core-module>hasown": true, + "@lavamoat/webpack>json-stable-stringify>call-bind>get-intrinsic>math-intrinsics": true } }, - "@babel/preset-env>@babel/plugin-transform-json-strings": { + "@lavamoat/webpack>json-stable-stringify>call-bind>get-intrinsic>get-proto": { "packages": { - "@babel/preset-env>@babel/helper-plugin-utils": true, - "@babel/preset-env>@babel/plugin-syntax-json-strings": true + "@lavamoat/webpack>json-stable-stringify>call-bind>get-intrinsic>get-proto>dunder-proto": true, + "@lavamoat/webpack>json-stable-stringify>call-bind>get-intrinsic>es-object-atoms": true } }, - "@babel/preset-env>@babel/plugin-transform-literals": { - "packages": { - "@babel/preset-env>@babel/helper-plugin-utils": true + "webpack>graceful-fs": { + "builtin": { + "assert.equal": true, + "constants.O_SYMLINK": true, + "constants.O_WRONLY": true, + "constants.hasOwnProperty": true, + "fs": true, + "stream.Stream.call": true, + "util": true + }, + "globals": { + "clearTimeout": true, + "console.error": true, + "process": true, + "setTimeout": true } }, - "@babel/preset-env>@babel/plugin-transform-logical-assignment-operators": { - "packages": { - "@babel/core": true, - "@babel/preset-env>@babel/helper-plugin-utils": true, - "@babel/preset-env>@babel/plugin-syntax-logical-assignment-operators": true + "istanbul-lib-report>supports-color>has-flag": { + "globals": { + "process.argv": true } }, - "@babel/preset-env>@babel/plugin-transform-member-expression-literals": { + "@lavamoat/webpack>json-stable-stringify>call-bind>set-function-length>has-property-descriptors": { "packages": { - "@babel/core": true, - "@babel/preset-env>@babel/helper-plugin-utils": true + "@lavamoat/webpack>json-stable-stringify>call-bind>es-define-property": true } }, - "@babel/preset-env>@babel/plugin-transform-modules-amd": { + "depcheck>is-core-module>hasown": { "packages": { - "@babel/core": true, - "@babel/core>@babel/helper-module-transforms": true, - "@babel/preset-env>@babel/helper-plugin-utils": true + "depcheck>is-core-module>hasown>function-bind": true } }, - "@babel/preset-env>@babel/plugin-transform-modules-commonjs": { - "packages": { - "@babel/core": true, - "@babel/core>@babel/helper-module-transforms": true, - "@babel/core>@babel/helper-module-transforms>@babel/helper-simple-access": true, - "@babel/preset-env>@babel/helper-plugin-utils": true + "html-webpack-plugin>html-minifier-terser>he": { + "globals": { + "define": true } }, - "@babel/preset-env>@babel/plugin-transform-modules-systemjs": { + "html-webpack-plugin>html-minifier-terser": { "globals": { - "console.warn": true + "ActiveX": true, + "ActiveXObject": true, + "DOMDocument": true, + "document": true }, "packages": { - "@babel/core": true, - "@babel/core>@babel/helper-module-transforms": true, - "@babel/preset-env>@babel/helper-plugin-utils": true, - "depcheck>@babel/traverse>@babel/helper-hoist-variables": true, - "lavamoat>@babel/highlight>@babel/helper-validator-identifier": true + "html-webpack-plugin>html-minifier-terser>clean-css": true, + "html-webpack-plugin>html-minifier-terser>he": true, + "html-webpack-plugin>html-minifier-terser>relateurl": true, + "terser": true } }, - "@babel/preset-env>@babel/plugin-transform-modules-umd": { + "html-webpack-plugin": { "builtin": { + "console.assert": true, + "fs.existsSync": true, + "fs.readFile": true, "path.basename": true, - "path.extname": true + "path.dirname": true, + "path.extname": true, + "path.join": true, + "path.normalize": true, + "path.relative": true, + "path.resolve": true, + "path.sep": true, + "url": true, + "util.deprecate": true, + "util.promisify": true, + "vm.Script": true, + "vm.createContext": true + }, + "globals": { + "__dirname": true, + "console.error": true }, "packages": { - "@babel/core": true, - "@babel/core>@babel/helper-module-transforms": true, - "@babel/preset-env>@babel/helper-plugin-utils": true + "html-webpack-plugin>html-minifier-terser": true, + "depcheck>lodash": true, + "html-webpack-plugin>pretty-error": true, + "webpack>tapable": true } }, - "@babel/preset-env>@babel/plugin-transform-named-capturing-groups-regex": { + "html-webpack-plugin>pretty-error>renderkid>htmlparser2": { "packages": { - "@babel/preset-env>@babel/helper-plugin-utils": true, - "@babel/preset-env>@babel/plugin-transform-dotall-regex>@babel/helper-create-regexp-features-plugin": true + "html-webpack-plugin>pretty-error>renderkid>htmlparser2>domelementtype": true, + "html-webpack-plugin>pretty-error>renderkid>css-select>domhandler": true, + "html-webpack-plugin>pretty-error>renderkid>css-select>domutils": true, + "html-webpack-plugin>pretty-error>renderkid>htmlparser2>entities": true } }, - "@babel/preset-env>@babel/plugin-transform-new-target": { + "depcheck>is-core-module": { + "globals": { + "process.versions": true + }, "packages": { - "@babel/core": true, - "@babel/preset-env>@babel/helper-plugin-utils": true + "depcheck>is-core-module>hasown": true } }, - "@babel/preset-env>@babel/plugin-transform-nullish-coalescing-operator": { + "webpack-merge>clone-deep>is-plain-object": { "packages": { - "@babel/core": true, - "@babel/preset-env>@babel/helper-plugin-utils": true, - "@babel/preset-env>@babel/plugin-syntax-nullish-coalescing-operator": true + "webpack-merge>clone-deep>is-plain-object>isobject": true } }, - "@babel/preset-env>@babel/plugin-transform-numeric-separator": { + "webpack>terser-webpack-plugin>jest-worker": { + "builtin": { + "child_process": true, + "os": true, + "path": true, + "stream": true, + "worker_threads": true + }, + "globals": { + "__dirname": true, + "clearTimeout": true, + "process": true, + "setTimeout": true + }, "packages": { - "@babel/preset-env>@babel/helper-plugin-utils": true, - "@babel/preset-env>@babel/plugin-syntax-numeric-separator": true + "@metamask/auto-changelog>execa>merge-stream": true, + "webpack>terser-webpack-plugin>jest-worker>supports-color": true, + "webpack>terser-webpack-plugin": true } }, - "@babel/preset-env>@babel/plugin-transform-object-rest-spread": { - "packages": { - "@babel/core": true, - "@babel/core>@babel/helper-compilation-targets": true, - "@babel/preset-env>@babel/compat-data": true, - "@babel/preset-env>@babel/helper-plugin-utils": true, - "@babel/preset-env>@babel/plugin-syntax-object-rest-spread": true, - "@babel/preset-env>@babel/plugin-transform-parameters": true + "depcheck>@babel/traverse>@babel/generator>jsesc": { + "globals": { + "Buffer": true } }, - "@babel/preset-env>@babel/plugin-transform-object-super": { - "packages": { - "@babel/core": true, - "@babel/preset-env>@babel/helper-plugin-utils": true, - "@babel/preset-env>@babel/plugin-transform-classes>@babel/helper-replace-supers": true + "webpack>json-parse-even-better-errors": { + "globals": { + "Buffer.isBuffer": true } }, - "@babel/preset-env>@babel/plugin-transform-optional-catch-binding": { + "@lavamoat/webpack>json-stable-stringify": { "packages": { - "@babel/preset-env>@babel/helper-plugin-utils": true, - "@babel/preset-env>@babel/plugin-syntax-optional-catch-binding": true + "@lavamoat/webpack>json-stable-stringify>call-bind": true, + "@lavamoat/webpack>json-stable-stringify>isarray": true, + "@lavamoat/webpack>json-stable-stringify>jsonify": true, + "@lavamoat/webpack>json-stable-stringify>object-keys": true } }, - "@babel/preset-env>@babel/plugin-transform-optional-chaining": { - "packages": { - "@babel/core": true, - "@babel/preset-env>@babel/helper-plugin-utils": true, - "@babel/preset-env>@babel/plugin-syntax-optional-chaining": true, - "@babel/preset-env>@babel/plugin-transform-spread>@babel/helper-skip-transparent-expression-wrappers": true + "tsconfig-paths-webpack-plugin>tsconfig-paths>json5": { + "globals": { + "console.warn": true } }, - "@babel/preset-env>@babel/plugin-transform-parameters": { + "lavamoat>lavamoat-core>merge-deep>kind-of": { "packages": { - "@babel/core": true, - "@babel/preset-env>@babel/helper-plugin-utils": true + "lavamoat>lavamoat-core>merge-deep>kind-of>is-buffer": true } }, - "@babel/preset-env>@babel/plugin-transform-private-methods": { + "lavamoat>lavamoat-core>merge-deep>clone-deep>shallow-clone>kind-of": { + "globals": { + "Buffer": true + }, "packages": { - "@babel/preset-env>@babel/helper-plugin-utils": true, - "@babel/preset-env>@babel/plugin-transform-private-methods>@babel/helper-create-class-features-plugin": true + "lavamoat>lavamoat-core>merge-deep>kind-of>is-buffer": true } }, - "@babel/preset-env>@babel/plugin-transform-private-methods>@babel/helper-create-class-features-plugin": { + "lavamoat>lavamoat-core": { + "builtin": { + "node:events": true, + "node:fs.readFileSync": true, + "node:fs/promises.writeFile": true, + "node:path.extname": true, + "node:path.join": true + }, "globals": { - "console.warn": true + "__dirname": true, + "console.error": true, + "console.warn": true, + "define": true }, "packages": { - "@babel/core": true, - "@babel/preset-env>@babel/plugin-transform-classes>@babel/helper-annotate-as-pure": true, - "@babel/preset-env>@babel/plugin-transform-classes>@babel/helper-optimise-call-expression": true, - "@babel/preset-env>@babel/plugin-transform-classes>@babel/helper-replace-supers": true, - "@babel/preset-env>@babel/plugin-transform-classes>@babel/helper-replace-supers>@babel/helper-member-expression-to-functions": true, - "@babel/preset-env>@babel/plugin-transform-private-methods>@babel/helper-create-class-features-plugin>semver": true, - "@babel/preset-env>@babel/plugin-transform-spread>@babel/helper-skip-transparent-expression-wrappers": true, - "depcheck>@babel/traverse>@babel/helper-environment-visitor": true, - "depcheck>@babel/traverse>@babel/helper-function-name": true, - "depcheck>@babel/traverse>@babel/helper-split-export-declaration": true + "@lavamoat/webpack>json-stable-stringify": true, + "lavamoat>lavamoat-tofu": true, + "lavamoat>lavamoat-core>merge-deep": true } }, - "@babel/preset-env>@babel/plugin-transform-private-methods>@babel/helper-create-class-features-plugin>semver": { + "lavamoat>lavamoat-tofu": { "globals": { - "console": true, - "process": true - } - }, - "@babel/preset-env>@babel/plugin-transform-private-property-in-object": { + "console.log": true + }, "packages": { - "@babel/preset-env>@babel/helper-plugin-utils": true, - "@babel/preset-env>@babel/plugin-syntax-private-property-in-object": true, - "@babel/preset-env>@babel/plugin-transform-classes>@babel/helper-annotate-as-pure": true, - "@babel/preset-env>@babel/plugin-transform-private-methods>@babel/helper-create-class-features-plugin": true + "lavamoat>lavamoat-tofu>@babel/parser": true, + "depcheck>@babel/traverse": true } }, - "@babel/preset-env>@babel/plugin-transform-property-literals": { - "packages": { - "@babel/core": true, - "@babel/preset-env>@babel/helper-plugin-utils": true + "lavamoat>lavamoat-core>merge-deep>clone-deep>lazy-cache": { + "globals": { + "process.env.TRAVIS": true, + "process.env.UNLAZY": true } }, - "@babel/preset-env>@babel/plugin-transform-regenerator": { - "packages": { - "@babel/preset-env>@babel/helper-plugin-utils": true, - "@babel/preset-env>@babel/plugin-transform-regenerator>regenerator-transform": true + "lavamoat>lavamoat-core>merge-deep>clone-deep>shallow-clone>lazy-cache": { + "globals": { + "process.env.UNLAZY": true } }, - "@babel/preset-env>@babel/plugin-transform-regenerator>regenerator-transform": { + "webpack>loader-runner": { "builtin": { - "assert": true, - "util.inherits": true + "fs": true, + "url": true + }, + "globals": { + "Buffer.from": true, + "Buffer.isBuffer": true, + "console.error": true, + "process.nextTick": true, + "setImmediate": true }, "packages": { - "@testing-library/dom>@babel/runtime": true - } - }, - "@babel/preset-env>@babel/plugin-transform-reserved-words": { - "packages": { - "@babel/core": true, - "@babel/preset-env>@babel/helper-plugin-utils": true + "html-webpack-plugin": true, + "ts-loader": true } }, - "@babel/preset-env>@babel/plugin-transform-shorthand-properties": { - "packages": { - "@babel/core": true, - "@babel/preset-env>@babel/helper-plugin-utils": true + "depcheck>lodash": { + "globals": { + "define": true } }, - "@babel/preset-env>@babel/plugin-transform-spread": { + "lavamoat>lavamoat-core>merge-deep": { "packages": { - "@babel/core": true, - "@babel/preset-env>@babel/helper-plugin-utils": true, - "@babel/preset-env>@babel/plugin-transform-spread>@babel/helper-skip-transparent-expression-wrappers": true + "lavamoat>lavamoat-core>merge-deep>arr-union": true, + "lavamoat>lavamoat-core>merge-deep>clone-deep": true, + "lavamoat>lavamoat-core>merge-deep>kind-of": true } }, - "@babel/preset-env>@babel/plugin-transform-spread>@babel/helper-skip-transparent-expression-wrappers": { - "packages": { - "@babel/core>@babel/types": true + "@metamask/auto-changelog>execa>merge-stream": { + "builtin": { + "stream.PassThrough": true } }, - "@babel/preset-env>@babel/plugin-transform-sticky-regex": { + "ts-loader>micromatch": { + "builtin": { + "util.inspect": true + }, "packages": { - "@babel/core": true, - "@babel/preset-env>@babel/helper-plugin-utils": true + "ts-loader>micromatch>braces": true, + "ts-loader>micromatch>picomatch": true } }, - "@babel/preset-env>@babel/plugin-transform-template-literals": { + "webpack>mime-types": { + "builtin": { + "path.extname": true + }, "packages": { - "@babel/core": true, - "@babel/preset-env>@babel/helper-plugin-utils": true + "webpack>mime-types>mime-db": true } }, - "@babel/preset-env>@babel/plugin-transform-typeof-symbol": { + "lavamoat>lavamoat-core>merge-deep>clone-deep>shallow-clone>mixin-object": { "packages": { - "@babel/core": true, - "@babel/preset-env>@babel/helper-plugin-utils": true + "lavamoat>lavamoat-core>merge-deep>clone-deep>shallow-clone>mixin-object>for-in": true, + "lavamoat>lavamoat-core>merge-deep>clone-deep>shallow-clone>is-extendable": true } }, - "@babel/preset-env>@babel/plugin-transform-unicode-escapes": { - "packages": { - "@babel/core": true, - "@babel/preset-env>@babel/helper-plugin-utils": true + "webpack>neo-async": { + "globals": { + "clearTimeout": true, + "console": true, + "define": true, + "process": true, + "setImmediate": true, + "setTimeout": true } }, - "@babel/preset-env>@babel/plugin-transform-unicode-property-regex": { + "html-webpack-plugin>pretty-error>renderkid>css-select>nth-check": { "packages": { - "@babel/preset-env>@babel/helper-plugin-utils": true, - "@babel/preset-env>@babel/plugin-transform-dotall-regex>@babel/helper-create-regexp-features-plugin": true + "html-webpack-plugin>pretty-error>renderkid>css-select>boolbase": true } }, - "@babel/preset-env>@babel/plugin-transform-unicode-regex": { - "packages": { - "@babel/preset-env>@babel/helper-plugin-utils": true, - "@babel/preset-env>@babel/plugin-transform-dotall-regex>@babel/helper-create-regexp-features-plugin": true + "depcheck>resolve>path-parse": { + "globals": { + "process.platform": true } }, - "@babel/preset-env>@babel/plugin-transform-unicode-sets-regex": { - "packages": { - "@babel/preset-env>@babel/helper-plugin-utils": true, - "@babel/preset-env>@babel/plugin-transform-dotall-regex>@babel/helper-create-regexp-features-plugin": true + "vite>postcss>picocolors": { + "globals": { + "process": true } }, - "@babel/preset-env>babel-plugin-polyfill-corejs2": { - "packages": { - "@babel/core": true, - "@babel/preset-env>@babel/compat-data": true, - "@babel/preset-env>babel-plugin-polyfill-corejs2>@babel/helper-define-polyfill-provider": true, - "@babel/preset-env>babel-plugin-polyfill-corejs2>semver": true + "ts-loader>micromatch>picomatch": { + "builtin": { + "path.basename": true, + "path.sep": true + }, + "globals": { + "process.platform": true, + "process.version.slice": true } }, - "@babel/preset-env>babel-plugin-polyfill-corejs2>@babel/helper-define-polyfill-provider": { + "html-webpack-plugin>pretty-error": { "builtin": { - "module": true, "path": true }, "globals": { - "console.log": true, - "console.warn": true, - "process.exitCode": "write", - "process.versions.node": true + "console.error": true }, "packages": { - "@babel/core": true, - "@babel/core>@babel/helper-compilation-targets": true, - "@babel/preset-env>@babel/helper-plugin-utils": true, - "@babel/preset-env>babel-plugin-polyfill-corejs2>@babel/helper-define-polyfill-provider>lodash.debounce": true, - "depcheck>resolve": true + "depcheck>lodash": true, + "html-webpack-plugin>pretty-error>renderkid": true } }, - "@babel/preset-env>babel-plugin-polyfill-corejs2>@babel/helper-define-polyfill-provider>lodash.debounce": { - "globals": { - "clearTimeout": true, - "setTimeout": true + "webpack>terser-webpack-plugin>serialize-javascript>randombytes": { + "builtin": { + "crypto.randomBytes": true } }, - "@babel/preset-env>babel-plugin-polyfill-corejs2>semver": { - "globals": { - "console": true, - "process": true + "html-webpack-plugin>html-minifier-terser>relateurl": { + "builtin": { + "url.parse": true } }, - "@babel/preset-env>babel-plugin-polyfill-corejs3": { + "html-webpack-plugin>pretty-error>renderkid": { + "builtin": { + "tty": true + }, + "globals": { + "console.log": true, + "process.stdout.columns": true, + "process.stdout.getWindowSize": true + }, "packages": { - "@babel/core": true, - "@babel/preset-env>babel-plugin-polyfill-corejs2>@babel/helper-define-polyfill-provider": true, - "@babel/preset-env>core-js-compat": true + "html-webpack-plugin>pretty-error>renderkid>css-select": true, + "html-webpack-plugin>pretty-error>renderkid>dom-converter": true, + "html-webpack-plugin>pretty-error>renderkid>htmlparser2": true, + "depcheck>lodash": true, + "jest>@jest/core>strip-ansi": true } }, - "@babel/preset-env>babel-plugin-polyfill-regenerator": { + "depcheck>resolve": { + "builtin": { + "fs.readFile": true, + "fs.readFileSync": true, + "fs.realpath": true, + "fs.realpathSync": true, + "fs.stat": true, + "fs.statSync": true, + "os.homedir": true, + "path.dirname": true, + "path.join": true, + "path.parse": true, + "path.relative": true, + "path.resolve": true + }, + "globals": { + "process.env.HOME": true, + "process.env.HOMEDRIVE": true, + "process.env.HOMEPATH": true, + "process.env.LNAME": true, + "process.env.LOGNAME": true, + "process.env.USER": true, + "process.env.USERNAME": true, + "process.env.USERPROFILE": true, + "process.getuid": true, + "process.nextTick": true, + "process.platform": true, + "process.versions.pnp": true + }, "packages": { - "@babel/preset-env>babel-plugin-polyfill-corejs2>@babel/helper-define-polyfill-provider": true + "depcheck>is-core-module": true, + "depcheck>resolve>path-parse": true } }, - "@babel/preset-env>semver": { + "webpack>schema-utils": { "globals": { - "console": true, "process": true - } - }, - "@babel/preset-typescript": { + }, "packages": { - "@babel/preset-env>@babel/helper-plugin-utils": true, - "@babel/preset-env>@babel/helper-validator-option": true, - "@babel/preset-env>@babel/plugin-transform-modules-commonjs": true, - "@babel/preset-typescript>@babel/plugin-syntax-jsx": true, - "@babel/preset-typescript>@babel/plugin-transform-typescript": true + "webpack>schema-utils>ajv-formats": true, + "webpack>schema-utils>ajv-keywords": true, + "webpack>schema-utils>ajv": true } }, - "@babel/preset-typescript>@babel/plugin-syntax-jsx": { - "packages": { - "@babel/preset-env>@babel/helper-plugin-utils": true + "depcheck>semver": { + "globals": { + "console.error": true, + "process": true } }, - "@babel/preset-typescript>@babel/plugin-transform-typescript": { - "builtin": { - "assert": true - }, + "webpack>terser-webpack-plugin>serialize-javascript": { "globals": { - "console.warn": true + "URL": true }, "packages": { - "@babel/core": true, - "@babel/preset-env>@babel/helper-plugin-utils": true, - "@babel/preset-env>@babel/plugin-transform-classes>@babel/helper-annotate-as-pure": true, - "@babel/preset-env>@babel/plugin-transform-private-methods>@babel/helper-create-class-features-plugin": true, - "@babel/preset-typescript>@babel/plugin-transform-typescript>@babel/plugin-syntax-typescript": true + "webpack>terser-webpack-plugin>serialize-javascript>randombytes": true } }, - "@babel/preset-typescript>@babel/plugin-transform-typescript>@babel/plugin-syntax-typescript": { + "@lavamoat/webpack>json-stable-stringify>call-bind>set-function-length": { "packages": { - "@babel/preset-env>@babel/helper-plugin-utils": true + "@lavamoat/webpack>json-stable-stringify>call-bind>set-function-length>define-data-property": true, + "@lavamoat/webpack>json-stable-stringify>call-bind>get-intrinsic>es-errors": true, + "@lavamoat/webpack>json-stable-stringify>call-bind>get-intrinsic": true, + "@lavamoat/webpack>json-stable-stringify>call-bind>get-intrinsic>gopd": true, + "@lavamoat/webpack>json-stable-stringify>call-bind>set-function-length>has-property-descriptors": true } }, - "@lavamoat/lavapack": { - "builtin": { - "assert": true, - "buffer.Buffer.from": true, - "fs.promises.readFile": true, - "fs.promises.writeFile": true, - "fs.readFileSync": true, - "path.join": true, - "path.relative": true - }, + "lavamoat>lavamoat-core>merge-deep>clone-deep>shallow-clone": { + "packages": { + "lavamoat>lavamoat-core>merge-deep>clone-deep>shallow-clone>is-extendable": true, + "lavamoat>lavamoat-core>merge-deep>clone-deep>shallow-clone>kind-of": true, + "lavamoat>lavamoat-core>merge-deep>clone-deep>shallow-clone>lazy-cache": true, + "lavamoat>lavamoat-core>merge-deep>clone-deep>shallow-clone>mixin-object": true + } + }, + "webpack-merge>clone-deep>shallow-clone": { "globals": { - "__dirname": true, - "__filename.slice": true, - "console.error": true, - "console.warn": true, - "process.cwd": true, - "setTimeout": true + "Buffer.allocUnsafe": true, + "Buffer.from": true }, "packages": { - "@lavamoat/lavapack>combine-source-map": true, - "@lavamoat/lavapack>convert-source-map": true, - "@lavamoat/lavapack>espree": true, - "@lavamoat/lavapack>through2": true, - "@lavamoat/lavapack>umd": true, - "browserify>JSONStream": true, - "lavamoat>json-stable-stringify": true, - "lavamoat>lavamoat-core": true, - "readable-stream": true + "webpack-merge>clone-deep>kind-of": true } }, - "@lavamoat/lavapack>combine-source-map": { + "jest>@jest/core>jest-runner>source-map-support": { "builtin": { + "fs": true, + "module": true, "path.dirname": true, - "path.join": true + "path.resolve": true }, "globals": { - "process.platform": true + "XMLHttpRequest": true, + "console.error": true, + "process": true }, "packages": { - "@lavamoat/lavapack>combine-source-map>convert-source-map": true, - "@lavamoat/lavapack>combine-source-map>inline-source-map": true, - "@lavamoat/lavapack>combine-source-map>lodash.memoize": true, - "@lavamoat/lavapack>combine-source-map>source-map": true + "terser>source-map-support>buffer-from": true, + "terser>source-map-support>source-map": true } }, - "@lavamoat/lavapack>combine-source-map>convert-source-map": { + "ts-loader>source-map": { "builtin": { - "fs.readFileSync": true, + "fs.readFile": true, "path.join": true }, "globals": { - "Buffer": true - } - }, - "@lavamoat/lavapack>combine-source-map>inline-source-map": { - "globals": { - "Buffer.from": true - }, - "packages": { - "@lavamoat/lavapack>combine-source-map>inline-source-map>source-map": true - } - }, - "@lavamoat/lavapack>convert-source-map": { - "globals": { - "Buffer": true, - "atob": true, - "btoa": true, - "value": true - } - }, - "@lavamoat/lavapack>espree": { - "packages": { - "@lavamoat/lavapack>espree>eslint-visitor-keys": true, - "eslint>espree>acorn-jsx": true, - "terser>acorn": true - } - }, - "@lavamoat/lavapack>through2": { - "packages": { - "readable-stream": true + "WebAssembly.instantiate": true, + "__dirname": true, + "console.debug": true, + "console.time": true, + "console.timeEnd": true, + "fetch": true } }, - "@metamask/object-multiplex>once": { + "jest>@jest/core>strip-ansi": { "packages": { - "@metamask/object-multiplex>once>wrappy": true + "@types/jest>pretty-format>ansi-regex": true } }, - "@metamask/utils": { + "istanbul-lib-report>supports-color": { + "builtin": { + "os.release": true, + "tty.isatty": true + }, "globals": { - "Buffer": true, - "TextDecoder": true, - "TextEncoder": true + "process.env": true, + "process.platform": true }, "packages": { - "@metamask/superstruct": true, - "@metamask/utils>@noble/hashes": true, - "@metamask/utils>@scure/base": true, - "@metamask/utils>pony-cause": true, - "depcheck>semver": true, - "eslint>debug": true - } - }, - "@metamask/utils>@noble/hashes": { - "globals": { - "TextEncoder": true, - "crypto": true - } - }, - "@metamask/utils>@scure/base": { - "globals": { - "TextDecoder": true, - "TextEncoder": true + "istanbul-lib-report>supports-color>has-flag": true } }, - "babel-plugin-tsconfig-paths-module-resolver": { + "webpack>terser-webpack-plugin>jest-worker>supports-color": { "builtin": { - "path": true + "os.release": true, + "tty.isatty": true }, "globals": { - "console.warn": true + "process.env": true, + "process.platform": true }, "packages": { - "babel-plugin-tsconfig-paths-module-resolver>babel-plugin-module-resolver": true, - "babel-plugin-tsconfig-paths-module-resolver>tsconfig-paths": true + "istanbul-lib-report>supports-color>has-flag": true } }, - "babel-plugin-tsconfig-paths-module-resolver>babel-plugin-module-resolver": { + "webpack>tapable": { "builtin": { - "fs": true, - "path": true - }, + "util.deprecate": true + } + }, + "terser": { "globals": { + "Buffer": true, + "atob": true, + "btoa": true, + "console.log": true, "console.warn": true, - "process.cwd": true, - "process.env.NODE_ENV": true + "define": true, + "process": true }, "packages": { - "babel-plugin-tsconfig-paths-module-resolver>babel-plugin-module-resolver>find-babel-config": true, - "babel-plugin-tsconfig-paths-module-resolver>babel-plugin-module-resolver>pkg-up": true, - "babel-plugin-tsconfig-paths-module-resolver>babel-plugin-module-resolver>reselect": true, - "browserify>glob": true, - "depcheck>resolve": true + "terser>@jridgewell/source-map": true, + "terser>acorn": true } }, - "babel-plugin-tsconfig-paths-module-resolver>babel-plugin-module-resolver>find-babel-config": { + "webpack>terser-webpack-plugin": { "builtin": { - "fs.readFile": true, - "fs.readFileSync": true, + "os.availableParallelism": true, + "os.cpus": true, "path.dirname": true, - "path.isAbsolute": true, - "path.join": true + "path.relative": true }, "globals": { - "process.cwd": true + "Buffer.isBuffer": true, + "__dirname": true, + "__filename": true, + "process.stderr.write": true, + "process.stdout.write": true }, "packages": { - "depcheck>json5": true, - "eslint>find-up>path-exists": true + "terser>@jridgewell/source-map>@jridgewell/trace-mapping": true, + "@swc/core": true, + "@esbuild-plugins/node-globals-polyfill>esbuild": true, + "webpack>terser-webpack-plugin>jest-worker": true, + "webpack>schema-utils": true, + "webpack>terser-webpack-plugin>serialize-javascript": true, + "terser": true } }, - "babel-plugin-tsconfig-paths-module-resolver>babel-plugin-module-resolver>pkg-up": { + "ts-loader>micromatch>braces>fill-range>to-regex-range": { "packages": { - "babel-plugin-tsconfig-paths-module-resolver>babel-plugin-module-resolver>pkg-up>find-up": true + "ts-loader>micromatch>braces>fill-range>to-regex-range>is-number": true } }, - "babel-plugin-tsconfig-paths-module-resolver>babel-plugin-module-resolver>pkg-up>find-up": { + "ts-loader": { "builtin": { + "console.Console": true, + "crypto.createHash": true, + "fs.readFileSync": true, + "os.EOL": true, "path.dirname": true, + "path.isAbsolute": true, "path.join": true, - "path.parse": true, + "path.normalize": true, + "path.relative": true, "path.resolve": true }, + "globals": { + "__dirname": true, + "console.log.call": true, + "process.stderr": true, + "process.stdout": true + }, "packages": { - "babel-plugin-tsconfig-paths-module-resolver>babel-plugin-module-resolver>pkg-up>find-up>locate-path": true + "eslint>chalk": true, + "ts-loader>micromatch": true, + "depcheck>semver": true, + "ts-loader>source-map": true, + "typescript": true, + "webpack": true } }, - "babel-plugin-tsconfig-paths-module-resolver>babel-plugin-module-resolver>pkg-up>find-up>locate-path": { + "tsconfig-paths-webpack-plugin": { "builtin": { + "console.Console": true, "path.resolve": true }, "globals": { - "process.cwd": true + "process.cwd": true, + "process.stderr": true, + "process.stdout": true }, "packages": { - "babel-plugin-tsconfig-paths-module-resolver>babel-plugin-module-resolver>pkg-up>find-up>locate-path>p-locate": true, - "babel-plugin-tsconfig-paths-module-resolver>babel-plugin-module-resolver>pkg-up>find-up>locate-path>path-exists": true - } - }, - "babel-plugin-tsconfig-paths-module-resolver>babel-plugin-module-resolver>pkg-up>find-up>locate-path>p-locate": { - "packages": { - "babel-plugin-tsconfig-paths-module-resolver>babel-plugin-module-resolver>pkg-up>find-up>locate-path>p-locate>p-limit": true - } - }, - "babel-plugin-tsconfig-paths-module-resolver>babel-plugin-module-resolver>pkg-up>find-up>locate-path>p-locate>p-limit": { - "packages": { - "jest>import-local>pkg-dir>find-up>locate-path>p-locate>p-limit>p-try": true - } - }, - "babel-plugin-tsconfig-paths-module-resolver>babel-plugin-module-resolver>pkg-up>find-up>locate-path>path-exists": { - "builtin": { - "fs.access": true, - "fs.accessSync": true + "eslint>chalk": true, + "webpack>enhanced-resolve": true, + "tsconfig-paths-webpack-plugin>tsconfig-paths": true } }, - "babel-plugin-tsconfig-paths-module-resolver>tsconfig-paths": { + "tsconfig-paths-webpack-plugin>tsconfig-paths": { "builtin": { "fs.existsSync": true, "fs.lstatSync": true, @@ -1154,1314 +1163,196 @@ "process.env": true }, "packages": { - "babel-plugin-tsconfig-paths-module-resolver>tsconfig-paths>json5": true, - "babel-plugin-tsconfig-paths-module-resolver>tsconfig-paths>strip-bom": true, - "browserify>subarg>minimist": true - } - }, - "babel-plugin-tsconfig-paths-module-resolver>tsconfig-paths>json5": { - "globals": { - "console.warn": true - } - }, - "babelify": { - "builtin": { - "path.extname": true, - "path.resolve": true, - "stream.PassThrough": true, - "stream.Transform": true, - "util": true - }, - "globals": { - "Buffer.concat": true - }, - "packages": { - "@babel/core": true + "tsconfig-paths-webpack-plugin>tsconfig-paths>json5": true, + "tsconfig-paths-webpack-plugin>tsconfig-paths>minimist": true, + "tsconfig-paths-webpack-plugin>tsconfig-paths>strip-bom": true } }, - "browserify": { + "typescript": { "builtin": { - "events.EventEmitter": true, - "fs.realpath": true, + "buffer.Buffer": true, + "crypto": true, + "fs": true, + "inspector": true, + "module.findPnpApi": true, + "os.EOL": true, + "os.platform": true, "path.dirname": true, "path.join": true, - "path.relative": true, "path.resolve": true, - "path.sep": true - }, - "globals": { - "__dirname": true, - "process.cwd": true, - "process.nextTick": true, - "process.platform": true - }, - "packages": { - "browserify>browser-pack": true, - "browserify>browser-resolve": true, - "browserify>cached-path-relative": true, - "browserify>concat-stream": true, - "browserify>defined": true, - "browserify>deps-sort": true, - "browserify>has": true, - "browserify>inherits": true, - "browserify>insert-module-globals": true, - "browserify>labeled-stream-splicer": true, - "browserify>module-deps": true, - "browserify>read-only-stream": true, - "browserify>shasum-object": true, - "browserify>syntax-error": true, - "browserify>through2": true, - "browserify>xtend": true, - "depcheck>resolve": true, - "lavamoat>htmlescape": true - } - }, - "browserify>JSONStream": { - "globals": { - "Buffer": true - }, - "packages": { - "browserify>JSONStream>jsonparse": true, - "browserify>JSONStream>through": true - } - }, - "browserify>JSONStream>jsonparse": { - "globals": { - "Buffer": true - } - }, - "browserify>JSONStream>through": { - "builtin": { - "stream": true - }, - "globals": { - "process.nextTick": true - } - }, - "browserify>browser-pack": { - "builtin": { - "fs.readFileSync": true, - "path.join": true, - "path.relative": true + "perf_hooks.PerformanceObserver": true, + "perf_hooks.performance": true }, "globals": { + "Intl.Collator": true, + "PerformanceObserver": true, "__dirname": true, - "process.cwd": true - }, - "packages": { - "@lavamoat/lavapack>combine-source-map": true, - "@lavamoat/lavapack>umd": true, - "browserify>JSONStream": true, - "browserify>browser-pack>safe-buffer": true, - "browserify>defined": true, - "browserify>through2": true - } - }, - "browserify>browser-pack>safe-buffer": { - "builtin": { - "buffer": true - } - }, - "browserify>browser-resolve": { - "builtin": { - "fs.readFile": true, - "fs.readFileSync": true, - "path": true - }, - "globals": { - "__dirname": true, - "process.platform": true + "__filename": true, + "clearTimeout": true, + "console": true, + "gc": true, + "onProfilerEvent": true, + "performance": true, + "process": true, + "setTimeout": true }, "packages": { - "depcheck>resolve": true - } - }, - "browserify>cached-path-relative": { - "builtin": { - "path": true - }, - "globals": { - "process.cwd": true + "jest>@jest/core>jest-runner>source-map-support": true } }, - "browserify>concat-stream": { + "eslint>ajv>uri-js": { "globals": { - "Buffer.concat": true, - "Buffer.isBuffer": true - }, - "packages": { - "browserify>concat-stream>typedarray": true, - "browserify>inherits": true, - "browserify>readable-stream": true, - "terser>source-map-support>buffer-from": true - } - }, - "browserify>deps-sort": { - "packages": { - "browserify>shasum-object": true, - "browserify>through2": true - } - }, - "browserify>duplexer2": { - "packages": { - "browserify>duplexer2>readable-stream": true + "define": true } }, - "browserify>duplexer2>readable-stream": { - "builtin": { - "events.EventEmitter": true, - "stream": true, - "util": true - }, + "html-webpack-plugin>pretty-error>renderkid>dom-converter>utila": { "globals": { - "process.browser": true, - "process.env.READABLE_STREAM": true, - "process.stderr": true, - "process.stdout": true, - "process.version.slice": true, - "setImmediate": true - }, - "packages": { - "browserify>duplexer2>readable-stream>safe-buffer": true, - "browserify>duplexer2>readable-stream>string_decoder": true, - "browserify>inherits": true, - "browserify>readable-stream>core-util-is": true, - "browserify>readable-stream>isarray": true, - "browserify>readable-stream>process-nextick-args": true, - "readable-stream>util-deprecate": true - } - }, - "browserify>duplexer2>readable-stream>safe-buffer": { - "builtin": { - "buffer": true - } - }, - "browserify>duplexer2>readable-stream>string_decoder": { - "packages": { - "browserify>duplexer2>readable-stream>safe-buffer": true + "clearTimeout": true, + "setTimeout": true } }, - "browserify>glob": { + "webpack>watchpack": { "builtin": { - "assert": true, "events.EventEmitter": true, - "fs": true, + "fs.readlinkSync": true, + "fs.watch": true, + "os.platform": true, + "path.basename": true, + "path.dirname": true, "path.join": true, - "path.resolve": true, - "util": true + "path.resolve": true }, "globals": { + "clearTimeout": true, "console.error": true, - "process.cwd": true, + "process.env.WATCHPACK_POLLING": true, + "process.env.WATCHPACK_RECURSIVE_WATCHER_LOGGING": true, + "process.env.WATCHPACK_WATCHER_LIMIT": true, "process.nextTick": true, - "process.platform": true + "process.platform": true, + "process.stderr.write": true, + "setTimeout": true }, "packages": { - "@metamask/object-multiplex>once": true, - "browserify>glob>fs.realpath": true, - "browserify>glob>inflight": true, - "browserify>glob>minimatch": true, - "browserify>glob>path-is-absolute": true, - "browserify>inherits": true + "webpack>glob-to-regexp": true, + "webpack>graceful-fs": true } }, - "browserify>glob>fs.realpath": { + "webpack": { "builtin": { - "fs.lstat": true, - "fs.lstatSync": true, - "fs.readlink": true, - "fs.readlinkSync": true, - "fs.realpath": true, - "fs.realpathSync": true, - "fs.stat": true, + "buffer.constants.MAX_LENGTH": true, + "crypto": true, + "events": true, + "fs.readFileSync": true, "fs.statSync": true, - "path.normalize": true, - "path.resolve": true - }, - "globals": { + "http": true, + "https": true, + "inspector": true, + "module.builtinModules": true, + "path.basename": true, + "path.dirname": true, + "path.extname": true, + "path.isAbsolute": true, + "path.join": true, + "path.posix.dirname": true, + "path.posix.isAbsolute": true, + "path.posix.join": true, + "path.posix.relative": true, + "path.resolve": true, + "path.sep": true, + "path.win32.dirname": true, + "path.win32.isAbsolute": true, + "path.win32.join": true, + "path.win32.relative": true, + "querystring.parse": true, + "stream.pipeline": true, + "url.URL": true, + "url.fileURLToPath": true, + "url.pathToFileURL": true, + "util.deprecate": true, + "util.format": true, + "util.inspect.custom": true, + "vm.createContext": true, + "vm.runInContext": true, + "vm.runInThisContext": true, + "zlib.constants.BROTLI_MODE_TEXT": true, + "zlib.constants.BROTLI_PARAM_DISABLE_LITERAL_CONTEXT_MODELING": true, + "zlib.constants.BROTLI_PARAM_MODE": true, + "zlib.constants.BROTLI_PARAM_QUALITY": true, + "zlib.constants.BROTLI_PARAM_SIZE_HINT": true, + "zlib.constants.Z_BEST_SPEED": true, + "zlib.createBrotliCompress": true, + "zlib.createBrotliDecompress": true, + "zlib.createGunzip": true, + "zlib.createGzip": true, + "zlib.createInflate": true + }, + "globals": { + "Buffer.allocUnsafe": true, + "Buffer.allocUnsafeSlow": true, + "Buffer.byteLength": true, + "Buffer.concat": true, + "Buffer.from": true, + "Buffer.isBuffer": true, + "Buffer.prototype.readBigUInt64LE": true, + "Buffer.prototype.writeBigUInt64LE": true, + "URL": true, + "WebAssembly.Instance": true, + "WebAssembly.Module": true, + "__dirname": true, + "__webpack_require__": true, + "clearTimeout": true, + "console.clear": true, "console.error": true, - "console.trace": true, - "process.env.NODE_DEBUG": true, + "console.log": true, + "console.profile": true, + "console.profileEnd": true, + "console.warn": true, + "process.cwd": true, + "process.env": true, + "process.hrtime": true, "process.nextTick": true, - "process.noDeprecation": true, - "process.platform": true, - "process.throwDeprecation": true, - "process.traceDeprecation": true, - "process.version": true - } - }, - "browserify>glob>inflight": { - "globals": { - "process.nextTick": true - }, - "packages": { - "@metamask/object-multiplex>once": true, - "@metamask/object-multiplex>once>wrappy": true - } - }, - "browserify>glob>minimatch": { - "builtin": { - "path": true - }, - "globals": { - "console": true + "process.stderr": true, + "process.versions.modules": true, + "process.versions.pnp": true, + "setImmediate": true, + "setTimeout": true }, "packages": { - "browserify>glob>minimatch>brace-expansion": true + "webpack>@webassemblyjs/ast": true, + "webpack>@webassemblyjs/wasm-edit": true, + "webpack>@webassemblyjs/wasm-parser": true, + "terser>acorn": true, + "webpack>browserslist": true, + "webpack>chrome-trace-event": true, + "webpack>enhanced-resolve": true, + "webpack>es-module-lexer": true, + "webpack>eslint-scope": true, + "webpack>glob-to-regexp": true, + "webpack>graceful-fs": true, + "webpack>json-parse-even-better-errors": true, + "webpack>loader-runner": true, + "webpack>mime-types": true, + "webpack>neo-async": true, + "webpack>schema-utils": true, + "webpack>tapable": true, + "webpack>terser-webpack-plugin": true, + "webpack>watchpack": true, + "webpack>webpack-sources": true } }, - "browserify>glob>minimatch>brace-expansion": { + "webpack-merge": { "packages": { - "eslint>minimatch>brace-expansion>balanced-match": true, - "eslint>minimatch>brace-expansion>concat-map": true + "webpack-merge>clone-deep": true, + "webpack-merge>wildcard": true } }, - "browserify>glob>path-is-absolute": { - "globals": { - "process.platform": true - } - }, - "browserify>has": { - "packages": { - "browserify>has>function-bind": true - } - }, - "browserify>inherits": { - "builtin": { - "util.inherits": true - } - }, - "browserify>insert-module-globals": { - "builtin": { - "path.dirname": true, - "path.isAbsolute": true, - "path.relative": true, - "path.sep": true - }, - "globals": { - "Buffer.concat": true, - "Buffer.isBuffer": true - }, - "packages": { - "@lavamoat/lavapack>combine-source-map": true, - "browserify>glob>path-is-absolute": true, - "browserify>insert-module-globals>undeclared-identifiers": true, - "browserify>syntax-error>acorn-node": true, - "browserify>through2": true, - "browserify>xtend": true - } - }, - "browserify>insert-module-globals>undeclared-identifiers": { - "packages": { - "browserify>insert-module-globals>undeclared-identifiers>dash-ast": true, - "browserify>insert-module-globals>undeclared-identifiers>get-assigned-identifiers": true, - "browserify>syntax-error>acorn-node": true, - "browserify>xtend": true - } - }, - "browserify>insert-module-globals>undeclared-identifiers>dash-ast": { - "builtin": { - "assert": true - } - }, - "browserify>insert-module-globals>undeclared-identifiers>get-assigned-identifiers": { - "builtin": { - "assert.equal": true - } - }, - "browserify>labeled-stream-splicer": { - "packages": { - "browserify>inherits": true, - "browserify>labeled-stream-splicer>stream-splicer": true - } - }, - "browserify>labeled-stream-splicer>stream-splicer": { - "globals": { - "process.nextTick": true, - "setImmediate": true - }, - "packages": { - "browserify>inherits": true, - "browserify>labeled-stream-splicer>stream-splicer>readable-stream": true - } - }, - "browserify>labeled-stream-splicer>stream-splicer>readable-stream": { - "builtin": { - "events.EventEmitter": true, - "stream": true, - "util": true - }, - "globals": { - "process.browser": true, - "process.env.READABLE_STREAM": true, - "process.stderr": true, - "process.stdout": true, - "process.version.slice": true, - "setImmediate": true - }, - "packages": { - "browserify>inherits": true, - "browserify>labeled-stream-splicer>stream-splicer>readable-stream>safe-buffer": true, - "browserify>labeled-stream-splicer>stream-splicer>readable-stream>string_decoder": true, - "browserify>readable-stream>core-util-is": true, - "browserify>readable-stream>isarray": true, - "browserify>readable-stream>process-nextick-args": true, - "readable-stream>util-deprecate": true - } - }, - "browserify>labeled-stream-splicer>stream-splicer>readable-stream>safe-buffer": { - "builtin": { - "buffer": true - } - }, - "browserify>labeled-stream-splicer>stream-splicer>readable-stream>string_decoder": { - "packages": { - "browserify>labeled-stream-splicer>stream-splicer>readable-stream>safe-buffer": true - } - }, - "browserify>module-deps": { - "builtin": { - "fs.createReadStream": true, - "fs.readFile": true, - "path.delimiter": true, - "path.dirname": true, - "path.join": true, - "path.resolve": true - }, - "globals": { - "process.cwd": true, - "process.env.NODE_PATH": true, - "process.nextTick": true, - "process.platform": true, - "setTimeout": true, - "tr": true - }, - "packages": { - "browserify>browser-resolve": true, - "browserify>cached-path-relative": true, - "browserify>defined": true, - "browserify>duplexer2": true, - "browserify>inherits": true, - "browserify>module-deps>concat-stream": true, - "browserify>module-deps>detective": true, - "browserify>module-deps>readable-stream": true, - "browserify>module-deps>stream-combiner2": true, - "browserify>parents": true, - "browserify>through2": true, - "browserify>xtend": true, - "depcheck>resolve": true - } - }, - "browserify>module-deps>concat-stream": { + "webpack>webpack-sources": { "globals": { + "Buffer.byteLength": true, "Buffer.concat": true, - "Buffer.isBuffer": true - }, - "packages": { - "browserify>concat-stream>typedarray": true, - "browserify>inherits": true, - "browserify>module-deps>readable-stream": true, - "terser>source-map-support>buffer-from": true - } - }, - "browserify>module-deps>detective": { - "packages": { - "browserify>defined": true, - "browserify>syntax-error>acorn-node": true - } - }, - "browserify>module-deps>readable-stream": { - "builtin": { - "events.EventEmitter": true, - "stream": true, - "util": true - }, - "globals": { - "process.browser": true, - "process.env.READABLE_STREAM": true, - "process.stderr": true, - "process.stdout": true, - "process.version.slice": true, - "setImmediate": true - }, - "packages": { - "browserify>inherits": true, - "browserify>module-deps>readable-stream>safe-buffer": true, - "browserify>module-deps>readable-stream>string_decoder": true, - "browserify>readable-stream>core-util-is": true, - "browserify>readable-stream>isarray": true, - "browserify>readable-stream>process-nextick-args": true, - "readable-stream>util-deprecate": true - } - }, - "browserify>module-deps>readable-stream>safe-buffer": { - "builtin": { - "buffer": true - } - }, - "browserify>module-deps>readable-stream>string_decoder": { - "packages": { - "browserify>module-deps>readable-stream>safe-buffer": true - } - }, - "browserify>module-deps>stream-combiner2": { - "packages": { - "browserify>duplexer2": true, - "browserify>module-deps>stream-combiner2>readable-stream": true - } - }, - "browserify>module-deps>stream-combiner2>readable-stream": { - "builtin": { - "events.EventEmitter": true, - "stream": true, - "util": true - }, - "globals": { - "process.browser": true, - "process.env.READABLE_STREAM": true, - "process.stderr": true, - "process.stdout": true, - "process.version.slice": true, - "setImmediate": true - }, - "packages": { - "browserify>inherits": true, - "browserify>module-deps>stream-combiner2>readable-stream>safe-buffer": true, - "browserify>module-deps>stream-combiner2>readable-stream>string_decoder": true, - "browserify>readable-stream>core-util-is": true, - "browserify>readable-stream>isarray": true, - "browserify>readable-stream>process-nextick-args": true, - "readable-stream>util-deprecate": true - } - }, - "browserify>module-deps>stream-combiner2>readable-stream>safe-buffer": { - "builtin": { - "buffer": true - } - }, - "browserify>module-deps>stream-combiner2>readable-stream>string_decoder": { - "packages": { - "browserify>module-deps>stream-combiner2>readable-stream>safe-buffer": true - } - }, - "browserify>parents": { - "globals": { - "process.cwd": true, - "process.platform": true - }, - "packages": { - "browserify>parents>path-platform": true - } - }, - "browserify>parents>path-platform": { - "builtin": { - "path": true, - "util.isObject": true, - "util.isString": true - }, - "globals": { - "process.cwd": true, - "process.env": true, - "process.platform": true - } - }, - "browserify>read-only-stream": { - "packages": { - "browserify>read-only-stream>readable-stream": true - } - }, - "browserify>read-only-stream>readable-stream": { - "builtin": { - "events.EventEmitter": true, - "stream": true, - "util": true - }, - "globals": { - "process.browser": true, - "process.env.READABLE_STREAM": true, - "process.stderr": true, - "process.stdout": true, - "process.version.slice": true, - "setImmediate": true - }, - "packages": { - "browserify>inherits": true, - "browserify>read-only-stream>readable-stream>safe-buffer": true, - "browserify>read-only-stream>readable-stream>string_decoder": true, - "browserify>readable-stream>core-util-is": true, - "browserify>readable-stream>isarray": true, - "browserify>readable-stream>process-nextick-args": true, - "readable-stream>util-deprecate": true - } - }, - "browserify>read-only-stream>readable-stream>safe-buffer": { - "builtin": { - "buffer": true - } - }, - "browserify>read-only-stream>readable-stream>string_decoder": { - "packages": { - "browserify>read-only-stream>readable-stream>safe-buffer": true - } - }, - "browserify>readable-stream": { - "builtin": { - "events.EventEmitter": true, - "stream": true, - "util": true - }, - "globals": { - "process.browser": true, - "process.env.READABLE_STREAM": true, - "process.stderr": true, - "process.stdout": true, - "process.version.slice": true, - "setImmediate": true - }, - "packages": { - "browserify>inherits": true, - "browserify>readable-stream>core-util-is": true, - "browserify>readable-stream>isarray": true, - "browserify>readable-stream>process-nextick-args": true, - "browserify>readable-stream>safe-buffer": true, - "browserify>readable-stream>string_decoder": true, - "readable-stream>util-deprecate": true - } - }, - "browserify>readable-stream>core-util-is": { - "globals": { - "Buffer.isBuffer": true - } - }, - "browserify>readable-stream>process-nextick-args": { - "globals": { - "process": true - } - }, - "browserify>readable-stream>safe-buffer": { - "builtin": { - "buffer": true - } - }, - "browserify>readable-stream>string_decoder": { - "packages": { - "browserify>readable-stream>safe-buffer": true - } - }, - "browserify>shasum-object": { - "builtin": { - "crypto.createHash": true - }, - "globals": { - "Buffer.isBuffer": true - }, - "packages": { - "@metamask/rpc-errors>fast-safe-stringify": true - } - }, - "browserify>string_decoder": { - "packages": { - "browserify>browser-pack>safe-buffer": true - } - }, - "browserify>syntax-error": { - "packages": { - "browserify>syntax-error>acorn-node": true - } - }, - "browserify>syntax-error>acorn-node": { - "packages": { - "browserify>syntax-error>acorn-node>acorn": true, - "browserify>syntax-error>acorn-node>acorn-walk": true, - "browserify>xtend": true - } - }, - "browserify>syntax-error>acorn-node>acorn": { - "globals": { - "define": true - } - }, - "browserify>syntax-error>acorn-node>acorn-walk": { - "globals": { - "define": true - } - }, - "browserify>through2": { - "builtin": { - "util.inherits": true - }, - "globals": { - "process.nextTick": true - }, - "packages": { - "browserify>through2>readable-stream": true, - "browserify>xtend": true - } - }, - "browserify>through2>readable-stream": { - "builtin": { - "events.EventEmitter": true, - "stream": true, - "util": true - }, - "globals": { - "process.browser": true, - "process.env.READABLE_STREAM": true, - "process.stderr": true, - "process.stdout": true, - "process.version.slice": true, - "setImmediate": true - }, - "packages": { - "browserify>inherits": true, - "browserify>readable-stream>core-util-is": true, - "browserify>readable-stream>isarray": true, - "browserify>readable-stream>process-nextick-args": true, - "browserify>through2>readable-stream>safe-buffer": true, - "browserify>through2>readable-stream>string_decoder": true, - "readable-stream>util-deprecate": true - } - }, - "browserify>through2>readable-stream>safe-buffer": { - "builtin": { - "buffer": true - } - }, - "browserify>through2>readable-stream>string_decoder": { - "packages": { - "browserify>through2>readable-stream>safe-buffer": true - } - }, - "browserify>util>is-generator-function>get-proto": { - "packages": { - "browserify>util>is-generator-function>get-proto>dunder-proto": true, - "lavamoat>json-stable-stringify>call-bind>get-intrinsic>es-object-atoms": true - } - }, - "browserify>util>is-generator-function>get-proto>dunder-proto": { - "packages": { - "browserify>util>which-typed-array>gopd": true, - "lavamoat>json-stable-stringify>call-bind>call-bind-apply-helpers": true - } - }, - "depcheck>@babel/traverse": { - "globals": { - "console.log": true - }, - "packages": { - "@babel/core>@babel/code-frame": true, - "@babel/core>@babel/generator": true, - "@babel/core>@babel/types": true, - "depcheck>@babel/parser": true, - "depcheck>@babel/traverse>@babel/helper-environment-visitor": true, - "depcheck>@babel/traverse>@babel/helper-function-name": true, - "depcheck>@babel/traverse>@babel/helper-hoist-variables": true, - "depcheck>@babel/traverse>@babel/helper-split-export-declaration": true, - "depcheck>@babel/traverse>globals": true, - "eslint>debug": true - } - }, - "depcheck>@babel/traverse>@babel/helper-function-name": { - "packages": { - "@babel/core>@babel/template": true, - "@babel/core>@babel/types": true - } - }, - "depcheck>@babel/traverse>@babel/helper-hoist-variables": { - "packages": { - "@babel/core>@babel/types": true - } - }, - "depcheck>@babel/traverse>@babel/helper-split-export-declaration": { - "packages": { - "@babel/core>@babel/types": true - } - }, - "depcheck>is-core-module": { - "globals": { - "process.versions": true - }, - "packages": { - "depcheck>is-core-module>hasown": true - } - }, - "depcheck>is-core-module>hasown": { - "packages": { - "browserify>has>function-bind": true - } - }, - "depcheck>json5": { - "globals": { - "console.warn": true - } - }, - "depcheck>resolve": { - "builtin": { - "fs.readFile": true, - "fs.readFileSync": true, - "fs.realpath": true, - "fs.realpathSync": true, - "fs.stat": true, - "fs.statSync": true, - "os.homedir": true, - "path.dirname": true, - "path.join": true, - "path.parse": true, - "path.relative": true, - "path.resolve": true - }, - "globals": { - "process.env.HOME": true, - "process.env.HOMEDRIVE": true, - "process.env.HOMEPATH": true, - "process.env.LNAME": true, - "process.env.LOGNAME": true, - "process.env.USER": true, - "process.env.USERNAME": true, - "process.env.USERPROFILE": true, - "process.getuid": true, - "process.nextTick": true, - "process.platform": true, - "process.versions.pnp": true - }, - "packages": { - "depcheck>is-core-module": true, - "depcheck>resolve>path-parse": true - } - }, - "depcheck>resolve>path-parse": { - "globals": { - "process.platform": true - } - }, - "depcheck>semver": { - "globals": { - "console.error": true, - "process": true - } - }, - "eslint>chalk>ansi-styles": { - "packages": { - "eslint>chalk>ansi-styles>color-convert": true - } - }, - "eslint>chalk>ansi-styles>color-convert": { - "packages": { - "eslint>chalk>ansi-styles>color-convert>color-name": true - } - }, - "eslint>debug": { - "builtin": { - "tty.isatty": true, - "util.deprecate": true, - "util.formatWithOptions": true, - "util.inspect": true - }, - "globals": { - "console": true, - "document": true, - "localStorage": true, - "navigator": true, - "process": true - }, - "packages": { - "eslint>debug>ms": true, - "istanbul-lib-report>supports-color": true - } - }, - "eslint>espree>acorn-jsx": { - "packages": { - "terser>acorn": true - } - }, - "eslint>find-up>path-exists": { - "builtin": { - "fs.access": true, - "fs.accessSync": true, - "util.promisify": true - } - }, - "istanbul-lib-report>supports-color": { - "builtin": { - "os.release": true, - "tty.isatty": true - }, - "globals": { - "process.env": true, - "process.platform": true - }, - "packages": { - "istanbul-lib-report>supports-color>has-flag": true - } - }, - "istanbul-lib-report>supports-color>has-flag": { - "globals": { - "process.argv": true - } - }, - "jest>@jest/core>strip-ansi": { - "packages": { - "@types/jest>pretty-format>ansi-regex": true - } - }, - "lavamoat-browserify": { - "builtin": { - "fs.existsSync": true, - "fs.mkdirSync": true, - "fs.readFileSync": true, - "fs.writeFileSync": true, - "node:module": true, - "path.dirname": true, - "path.extname": true, - "path.resolve": true, - "util.callbackify": true - }, - "globals": { - "console.warn": true, - "process.cwd": true, - "setTimeout": true - }, - "packages": { - "@lavamoat/lavapack": true, - "browserify>browser-resolve": true, - "lavamoat-browserify>concat-stream": true, - "lavamoat-browserify>duplexify": true, - "lavamoat-browserify>through2": true, - "lavamoat>@lavamoat/aa": true, - "lavamoat>json-stable-stringify": true, - "lavamoat>lavamoat-core": true, - "readable-stream": true - } - }, - "lavamoat-browserify>concat-stream": { - "globals": { - "Buffer.concat": true, - "Buffer.isBuffer": true - }, - "packages": { - "browserify>concat-stream>typedarray": true, - "browserify>inherits": true, - "readable-stream": true, - "terser>source-map-support>buffer-from": true - } - }, - "lavamoat-browserify>duplexify": { - "globals": { - "Buffer": true, - "process.nextTick": true - }, - "packages": { - "browserify>inherits": true, - "lavamoat-browserify>duplexify>end-of-stream": true, - "lavamoat-browserify>duplexify>stream-shift": true, - "readable-stream": true - } - }, - "lavamoat-browserify>duplexify>end-of-stream": { - "globals": { - "process.nextTick": true - }, - "packages": { - "@metamask/object-multiplex>once": true - } - }, - "lavamoat-browserify>through2": { - "packages": { - "readable-stream": true - } - }, - "lavamoat>@lavamoat/aa": { - "builtin": { - "node:fs.lstatSync": true, - "node:fs.readFileSync": true, - "node:fs.realpathSync": true, - "node:path.dirname": true, - "node:path.join": true, - "node:path.relative": true - }, - "packages": { - "lavamoat>@lavamoat/aa>resolve": true - } - }, - "lavamoat>@lavamoat/aa>resolve": { - "builtin": { - "fs.readFile": true, - "fs.readFileSync": true, - "fs.realpath": true, - "fs.realpathSync": true, - "fs.stat": true, - "fs.statSync": true, - "os.homedir": true, - "path.dirname": true, - "path.join": true, - "path.parse": true, - "path.relative": true, - "path.resolve": true - }, - "globals": { - "process.env.HOME": true, - "process.env.HOMEDRIVE": true, - "process.env.HOMEPATH": true, - "process.env.LNAME": true, - "process.env.LOGNAME": true, - "process.env.USER": true, - "process.env.USERNAME": true, - "process.env.USERPROFILE": true, - "process.getuid": true, - "process.nextTick": true, - "process.platform": true, - "process.versions.pnp": true - }, - "packages": { - "depcheck>is-core-module": true, - "depcheck>resolve>path-parse": true - } - }, - "lavamoat>json-stable-stringify": { - "packages": { - "lavamoat>json-stable-stringify>call-bind": true, - "lavamoat>json-stable-stringify>isarray": true, - "lavamoat>json-stable-stringify>jsonify": true, - "lavamoat>json-stable-stringify>object-keys": true - } - }, - "lavamoat>json-stable-stringify>call-bind": { - "packages": { - "lavamoat>json-stable-stringify>call-bind>call-bind-apply-helpers": true, - "lavamoat>json-stable-stringify>call-bind>es-define-property": true, - "lavamoat>json-stable-stringify>call-bind>get-intrinsic": true, - "lavamoat>json-stable-stringify>call-bind>set-function-length": true - } - }, - "lavamoat>json-stable-stringify>call-bind>call-bind-apply-helpers": { - "packages": { - "browserify>has>function-bind": true, - "lavamoat>json-stable-stringify>call-bind>get-intrinsic>es-errors": true - } - }, - "lavamoat>json-stable-stringify>call-bind>get-intrinsic": { - "globals": { - "AggregateError": true, - "FinalizationRegistry": true, - "WeakRef": true - }, - "packages": { - "browserify>has>function-bind": true, - "browserify>util>is-generator-function>get-proto": true, - "browserify>util>which-typed-array>gopd": true, - "depcheck>is-core-module>hasown": true, - "lavamoat>json-stable-stringify>call-bind>call-bind-apply-helpers": true, - "lavamoat>json-stable-stringify>call-bind>es-define-property": true, - "lavamoat>json-stable-stringify>call-bind>get-intrinsic>es-errors": true, - "lavamoat>json-stable-stringify>call-bind>get-intrinsic>es-object-atoms": true, - "lavamoat>json-stable-stringify>call-bind>get-intrinsic>has-symbols": true, - "lavamoat>json-stable-stringify>call-bind>get-intrinsic>math-intrinsics": true - } - }, - "lavamoat>json-stable-stringify>call-bind>set-function-length": { - "packages": { - "browserify>util>which-typed-array>gopd": true, - "lavamoat>json-stable-stringify>call-bind>get-intrinsic": true, - "lavamoat>json-stable-stringify>call-bind>get-intrinsic>es-errors": true, - "lavamoat>json-stable-stringify>call-bind>set-function-length>define-data-property": true, - "lavamoat>json-stable-stringify>call-bind>set-function-length>has-property-descriptors": true - } - }, - "lavamoat>json-stable-stringify>call-bind>set-function-length>define-data-property": { - "packages": { - "browserify>util>which-typed-array>gopd": true, - "lavamoat>json-stable-stringify>call-bind>es-define-property": true, - "lavamoat>json-stable-stringify>call-bind>get-intrinsic>es-errors": true - } - }, - "lavamoat>json-stable-stringify>call-bind>set-function-length>has-property-descriptors": { - "packages": { - "lavamoat>json-stable-stringify>call-bind>es-define-property": true - } - }, - "lavamoat>lavamoat-core": { - "builtin": { - "events": true, - "fs.readFileSync": true, - "node:fs.readFileSync": true, - "node:fs/promises.writeFile": true, - "path.extname": true, - "path.join": true - }, - "globals": { - "__dirname": true, - "ast": true, - "console.error": true, - "console.warn": true, - "content": true, - "define": true, - "file": true, - "importMap": true, - "moduleInitializer": true, - "packageName": true, - "specifier": true, - "type": true - }, - "packages": { - "lavamoat>json-stable-stringify": true, - "lavamoat>lavamoat-core>merge-deep": true, - "lavamoat>lavamoat-tofu": true - } - }, - "lavamoat>lavamoat-core>merge-deep": { - "packages": { - "lavamoat>lavamoat-core>merge-deep>arr-union": true, - "lavamoat>lavamoat-core>merge-deep>clone-deep": true, - "lavamoat>lavamoat-core>merge-deep>kind-of": true - } - }, - "lavamoat>lavamoat-core>merge-deep>clone-deep": { - "packages": { - "lavamoat>lavamoat-core>merge-deep>clone-deep>for-own": true, - "lavamoat>lavamoat-core>merge-deep>clone-deep>is-plain-object": true, - "lavamoat>lavamoat-core>merge-deep>clone-deep>lazy-cache": true, - "lavamoat>lavamoat-core>merge-deep>clone-deep>shallow-clone": true, - "lavamoat>lavamoat-core>merge-deep>kind-of": true - } - }, - "lavamoat>lavamoat-core>merge-deep>clone-deep>for-own": { - "packages": { - "lavamoat>lavamoat-core>merge-deep>clone-deep>for-own>for-in": true - } - }, - "lavamoat>lavamoat-core>merge-deep>clone-deep>is-plain-object": { - "packages": { - "lavamoat>lavamoat-core>merge-deep>clone-deep>is-plain-object>isobject": true - } - }, - "lavamoat>lavamoat-core>merge-deep>clone-deep>lazy-cache": { - "globals": { - "process.env.TRAVIS": true, - "process.env.UNLAZY": true - } - }, - "lavamoat>lavamoat-core>merge-deep>clone-deep>shallow-clone": { - "packages": { - "lavamoat>lavamoat-core>merge-deep>clone-deep>shallow-clone>is-extendable": true, - "lavamoat>lavamoat-core>merge-deep>clone-deep>shallow-clone>kind-of": true, - "lavamoat>lavamoat-core>merge-deep>clone-deep>shallow-clone>lazy-cache": true, - "lavamoat>lavamoat-core>merge-deep>clone-deep>shallow-clone>mixin-object": true - } - }, - "lavamoat>lavamoat-core>merge-deep>clone-deep>shallow-clone>kind-of": { - "globals": { - "Buffer": true - }, - "packages": { - "browserify>insert-module-globals>is-buffer": true - } - }, - "lavamoat>lavamoat-core>merge-deep>clone-deep>shallow-clone>lazy-cache": { - "globals": { - "process.env.UNLAZY": true - } - }, - "lavamoat>lavamoat-core>merge-deep>clone-deep>shallow-clone>mixin-object": { - "packages": { - "lavamoat>lavamoat-core>merge-deep>clone-deep>shallow-clone>is-extendable": true, - "lavamoat>lavamoat-core>merge-deep>clone-deep>shallow-clone>mixin-object>for-in": true - } - }, - "lavamoat>lavamoat-core>merge-deep>kind-of": { - "packages": { - "browserify>insert-module-globals>is-buffer": true - } - }, - "lavamoat>lavamoat-tofu": { - "globals": { - "console.log": true - }, - "packages": { - "depcheck>@babel/traverse": true, - "lavamoat>lavamoat-tofu>@babel/parser": true - } - }, - "readable-stream": { - "builtin": { - "buffer.Buffer": true, - "events.EventEmitter": true, - "stream": true, - "util": true - }, - "globals": { - "process.env.READABLE_STREAM": true, - "process.nextTick": true, - "process.stderr": true, - "process.stdout": true - }, - "packages": { - "browserify>inherits": true, - "browserify>string_decoder": true, - "readable-stream>util-deprecate": true - } - }, - "readable-stream>util-deprecate": { - "builtin": { - "util.deprecate": true - } - }, - "terser": { - "globals": { - "Buffer": true, - "atob": true, - "btoa": true, - "console.log": true, - "console.warn": true, - "define": true, - "process": true - }, - "packages": { - "terser>@jridgewell/source-map": true, - "terser>acorn": true - } - }, - "terser>@jridgewell/source-map": { - "globals": { - "Buffer": true, - "TextDecoder": true, - "define": true - } - }, - "terser>@jridgewell/source-map>@jridgewell/gen-mapping": { - "globals": { - "define": true - }, - "packages": { - "terser>@jridgewell/source-map>@jridgewell/gen-mapping>@jridgewell/set-array": true, - "terser>@jridgewell/source-map>@jridgewell/trace-mapping": true, - "vitest>magic-string>@jridgewell/sourcemap-codec": true - } - }, - "terser>@jridgewell/source-map>@jridgewell/gen-mapping>@jridgewell/set-array": { - "globals": { - "define": true - } - }, - "terser>@jridgewell/source-map>@jridgewell/trace-mapping": { - "globals": { - "define": true - }, - "packages": { - "terser>@jridgewell/source-map>@jridgewell/trace-mapping>@jridgewell/resolve-uri": true, - "vitest>magic-string>@jridgewell/sourcemap-codec": true - } - }, - "terser>@jridgewell/source-map>@jridgewell/trace-mapping>@jridgewell/resolve-uri": { - "globals": { - "define": true - } - }, - "terser>acorn": { - "globals": { - "console": true, - "define": true - } - }, - "terser>source-map-support>buffer-from": { - "globals": { - "Buffer": true - } - }, - "vite>postcss>picocolors": { - "globals": { - "process": true - } - }, - "vitest>magic-string>@jridgewell/sourcemap-codec": { - "globals": { - "Buffer": true, - "TextDecoder": true, - "define": true - } - }, - "yargs": { - "builtin": { - "assert.notStrictEqual": true, - "assert.strictEqual": true, - "fs.readFileSync": true, - "path": true, - "util.inspect": true - }, - "globals": { - "__dirname": true, - "console.error": true, - "console.log": true, - "console.warn": true, - "process": true - }, - "packages": { - "yargs>cliui": true, - "yargs>escalade": true, - "yargs>get-caller-file": true, - "yargs>require-directory": true, - "yargs>string-width": true, - "yargs>y18n": true, - "yargs>yargs-parser": true - } - }, - "yargs>cliui": { - "globals": { - "process": true - }, - "packages": { - "jest>@jest/core>strip-ansi": true, - "yargs>cliui>wrap-ansi": true, - "yargs>string-width": true - } - }, - "yargs>cliui>wrap-ansi": { - "packages": { - "eslint>chalk>ansi-styles": true, - "jest>@jest/core>strip-ansi": true, - "yargs>string-width": true - } - }, - "yargs>escalade": { - "builtin": { - "fs.readdirSync": true, - "fs.statSync": true, - "path.dirname": true, - "path.resolve": true - } - }, - "yargs>require-directory": { - "builtin": { - "fs.readdirSync": true, - "fs.statSync": true, - "path.dirname": true, - "path.join": true, - "path.resolve": true - } - }, - "yargs>string-width": { - "packages": { - "jest>@jest/core>strip-ansi": true, - "yargs>string-width>emoji-regex": true, - "yargs>string-width>is-fullwidth-code-point": true - } - }, - "yargs>y18n": { - "builtin": { - "fs.readFileSync": true, - "fs.statSync": true, - "fs.writeFile": true, - "path.resolve": true, - "util.format": true - } - }, - "yargs>yargs-parser": { - "builtin": { - "fs.readFileSync": true, - "path.normalize": true, - "path.resolve": true, - "util.format": true - }, - "globals": { + "Buffer.from": true, + "Buffer.isBuffer": true, "process": true } } diff --git a/packages/snaps-execution-environments/lavamoat/browserify/worker-executor/policy.json b/packages/snaps-execution-environments/lavamoat/webpack/iframe/policy.json similarity index 71% rename from packages/snaps-execution-environments/lavamoat/browserify/worker-executor/policy.json rename to packages/snaps-execution-environments/lavamoat/webpack/iframe/policy.json index 520b71350d..9403faac6d 100644 --- a/packages/snaps-execution-environments/lavamoat/browserify/worker-executor/policy.json +++ b/packages/snaps-execution-environments/lavamoat/webpack/iframe/policy.json @@ -2,23 +2,29 @@ "resources": { "@metamask/json-rpc-engine": { "packages": { - "@metamask/providers>@metamask/safe-event-emitter": true, "@metamask/rpc-errors": true, + "@metamask/providers>@metamask/safe-event-emitter": true, "@metamask/utils": true } }, - "@metamask/object-multiplex": { + "@metamask/providers>@metamask/json-rpc-middleware-stream": { "globals": { - "console.warn": true + "console.warn": true, + "setTimeout": true }, "packages": { - "@metamask/object-multiplex>once": true, + "@metamask/providers>@metamask/safe-event-emitter": true, + "@metamask/utils": true, "readable-stream": true } }, - "@metamask/object-multiplex>once": { + "@metamask/object-multiplex": { + "globals": { + "console.warn": true + }, "packages": { - "@metamask/object-multiplex>once>wrappy": true + "@metamask/object-multiplex>once": true, + "readable-stream": true } }, "@metamask/post-message-stream": { @@ -44,22 +50,17 @@ "packages": { "@metamask/json-rpc-engine": true, "@metamask/providers>@metamask/json-rpc-middleware-stream": true, - "@metamask/providers>@metamask/safe-event-emitter": true, - "@metamask/providers>is-stream": true, "@metamask/rpc-errors": true, + "@metamask/providers>@metamask/safe-event-emitter": true, "eslint>fast-deep-equal": true, + "@metamask/providers>is-stream": true, "readable-stream": true } }, - "@metamask/providers>@metamask/json-rpc-middleware-stream": { - "globals": { - "console.warn": true, - "setTimeout": true - }, + "@metamask/rpc-errors": { "packages": { - "@metamask/providers>@metamask/safe-event-emitter": true, "@metamask/utils": true, - "readable-stream": true + "@metamask/rpc-errors>fast-safe-stringify": true } }, "@metamask/providers>@metamask/safe-event-emitter": { @@ -67,22 +68,11 @@ "setTimeout": true }, "packages": { - "browserify>events": true - } - }, - "@metamask/rpc-errors": { - "packages": { - "@metamask/rpc-errors>fast-safe-stringify": true, - "@metamask/utils": true + "webpack>events": true } }, "@metamask/snaps-sdk": { - "globals": { - "URL": true, - "fetch": true - }, "packages": { - "@metamask/rpc-errors": true, "@metamask/superstruct": true, "@metamask/utils": true } @@ -92,9 +82,7 @@ "URL": true, "console.error": true, "console.log": true, - "console.warn": true, - "document.body.appendChild": true, - "document.createElement": true + "console.warn": true }, "packages": { "@metamask/rpc-errors": true, @@ -105,91 +93,86 @@ }, "@metamask/utils": { "globals": { - "TextDecoder": true, "TextEncoder": true }, "packages": { "@metamask/superstruct": true, "@metamask/utils>@noble/hashes": true, - "@metamask/utils>@scure/base": true, + "eslint>debug": true, "@metamask/utils>pony-cause": true, - "browserify>buffer": true, - "depcheck>semver": true, - "eslint>debug": true - } - }, - "@metamask/utils>@noble/hashes": { - "globals": { - "TextEncoder": true, - "crypto": true + "depcheck>semver": true } }, - "@metamask/utils>@scure/base": { + "@metamask/providers>extension-port-stream>readable-stream>buffer": { "globals": { - "TextDecoder": true, - "TextEncoder": true - } - }, - "browserify>browser-pack>safe-buffer": { + "console": true + }, "packages": { - "browserify>buffer": true + "@metamask/providers>extension-port-stream>readable-stream>buffer>base64-js": true, + "@metamask/providers>extension-port-stream>readable-stream>buffer>ieee754": true } }, - "browserify>buffer": { + "eslint>debug": { "globals": { - "console": true + "console": true, + "document": true, + "localStorage": true, + "navigator": true, + "process": true }, "packages": { - "browserify>buffer>base64-js": true, - "browserify>buffer>ieee754": true + "eslint>debug>ms": true, + "@metamask/providers>extension-port-stream>readable-stream>process": true } }, - "browserify>events": { + "webpack>events": { "globals": { "console": true } }, - "browserify>process": { + "@metamask/object-multiplex>once": { + "packages": { + "@metamask/object-multiplex>once>wrappy": true + } + }, + "@metamask/providers>extension-port-stream>readable-stream>process": { "globals": { "clearTimeout": true, "setTimeout": true } }, - "browserify>string_decoder": { + "readable-stream": { + "globals": { + "process.nextTick": true, + "process.stderr": true, + "process.stdout": true + }, "packages": { - "browserify>browser-pack>safe-buffer": true + "@metamask/providers>extension-port-stream>readable-stream>buffer": true, + "webpack>events": true, + "readable-stream>inherits": true, + "@metamask/providers>extension-port-stream>readable-stream>process": true, + "readable-stream>string_decoder": true, + "readable-stream>util-deprecate": true } }, - "depcheck>semver": { - "globals": { - "console.error": true - }, + "readable-stream>string_decoder>safe-buffer": { "packages": { - "browserify>process": true + "@metamask/providers>extension-port-stream>readable-stream>buffer": true } }, - "eslint>debug": { + "depcheck>semver": { "globals": { - "console": true, - "document": true, - "localStorage": true, - "navigator": true, + "console.error": true, "process": true }, "packages": { - "browserify>process": true, - "eslint>debug>ms": true + "@metamask/providers>extension-port-stream>readable-stream>process": true } }, - "readable-stream": { + "readable-stream>string_decoder": { "packages": { - "browserify>browser-resolve": true, - "browserify>buffer": true, - "browserify>events": true, - "browserify>inherits": true, - "browserify>process": true, - "browserify>string_decoder": true, - "readable-stream>util-deprecate": true + "readable-stream>string_decoder>safe-buffer": true } }, "readable-stream>util-deprecate": { diff --git a/packages/snaps-execution-environments/lavamoat/browserify/node-thread/policy.json b/packages/snaps-execution-environments/lavamoat/webpack/node-process/policy.json similarity index 75% rename from packages/snaps-execution-environments/lavamoat/browserify/node-thread/policy.json rename to packages/snaps-execution-environments/lavamoat/webpack/node-process/policy.json index 980134b11c..7015235d06 100644 --- a/packages/snaps-execution-environments/lavamoat/browserify/node-thread/policy.json +++ b/packages/snaps-execution-environments/lavamoat/webpack/node-process/policy.json @@ -2,28 +2,34 @@ "resources": { "@metamask/json-rpc-engine": { "packages": { - "@metamask/providers>@metamask/safe-event-emitter": true, "@metamask/rpc-errors": true, + "@metamask/providers>@metamask/safe-event-emitter": true, "@metamask/utils": true } }, - "@metamask/object-multiplex": { + "@metamask/providers>@metamask/json-rpc-middleware-stream": { "globals": { - "console.warn": true + "console.warn": true, + "setTimeout": true }, "packages": { - "@metamask/object-multiplex>once": true, + "@metamask/providers>@metamask/safe-event-emitter": true, + "@metamask/utils": true, "readable-stream": true } }, - "@metamask/object-multiplex>once": { + "@metamask/object-multiplex": { + "globals": { + "console.warn": true + }, "packages": { - "@metamask/object-multiplex>once>wrappy": true + "@metamask/object-multiplex>once": true, + "readable-stream": true } }, "@metamask/post-message-stream": { "builtin": { - "worker_threads.parentPort": true + "worker_threads": true }, "globals": { "MessageEvent.prototype": true, @@ -40,8 +46,7 @@ }, "packages": { "@metamask/utils": true, - "readable-stream": true, - "worker_threads": true + "readable-stream": true } }, "@metamask/providers": { @@ -51,48 +56,29 @@ "packages": { "@metamask/json-rpc-engine": true, "@metamask/providers>@metamask/json-rpc-middleware-stream": true, - "@metamask/providers>@metamask/safe-event-emitter": true, - "@metamask/providers>is-stream": true, "@metamask/rpc-errors": true, + "@metamask/providers>@metamask/safe-event-emitter": true, "eslint>fast-deep-equal": true, + "@metamask/providers>is-stream": true, "readable-stream": true } }, - "@metamask/providers>@metamask/json-rpc-middleware-stream": { - "globals": { - "console.warn": true, - "setTimeout": true - }, + "@metamask/rpc-errors": { "packages": { - "@metamask/providers>@metamask/safe-event-emitter": true, "@metamask/utils": true, - "readable-stream": true + "@metamask/rpc-errors>fast-safe-stringify": true } }, "@metamask/providers>@metamask/safe-event-emitter": { "builtin": { - "events.EventEmitter": true + "events": true }, "globals": { "setTimeout": true - }, - "packages": { - "events": true - } - }, - "@metamask/rpc-errors": { - "packages": { - "@metamask/rpc-errors>fast-safe-stringify": true, - "@metamask/utils": true } }, "@metamask/snaps-sdk": { - "globals": { - "URL": true, - "fetch": true - }, "packages": { - "@metamask/rpc-errors": true, "@metamask/superstruct": true, "@metamask/utils": true } @@ -102,9 +88,7 @@ "URL": true, "console.error": true, "console.log": true, - "console.warn": true, - "document.body.appendChild": true, - "document.createElement": true + "console.warn": true }, "packages": { "@metamask/rpc-errors": true, @@ -114,60 +98,15 @@ } }, "@metamask/utils": { - "builtin": { - "buffer.Buffer": true - }, "globals": { - "TextDecoder": true, "TextEncoder": true }, "packages": { "@metamask/superstruct": true, "@metamask/utils>@noble/hashes": true, - "@metamask/utils>@scure/base": true, + "eslint>debug": true, "@metamask/utils>pony-cause": true, - "buffer": true, - "depcheck>semver": true, - "eslint>debug": true - } - }, - "@metamask/utils>@noble/hashes": { - "globals": { - "TextEncoder": true, - "crypto": true - } - }, - "@metamask/utils>@scure/base": { - "globals": { - "TextDecoder": true, - "TextEncoder": true - } - }, - "browserify>browser-pack>safe-buffer": { - "builtin": { - "buffer": true - }, - "packages": { - "buffer": true - } - }, - "browserify>inherits": { - "builtin": { - "util.inherits": true - }, - "packages": { - "util": true - } - }, - "browserify>string_decoder": { - "packages": { - "browserify>browser-pack>safe-buffer": true - } - }, - "depcheck>semver": { - "globals": { - "console.error": true, - "process": true + "depcheck>semver": true } }, "eslint>debug": { @@ -186,29 +125,32 @@ }, "packages": { "eslint>debug>ms": true, - "istanbul-lib-report>supports-color": true, - "tty": true, - "util": true + "@metamask/providers>extension-port-stream>readable-stream>process": true, + "istanbul-lib-report>supports-color": true } }, - "istanbul-lib-report>supports-color": { - "builtin": { - "os.release": true, - "tty.isatty": true - }, + "istanbul-lib-report>supports-color>has-flag": { "globals": { - "process.env": true, - "process.platform": true + "process.argv": true }, "packages": { - "istanbul-lib-report>supports-color>has-flag": true, - "os": true, - "tty": true + "@metamask/providers>extension-port-stream>readable-stream>process": true } }, - "istanbul-lib-report>supports-color>has-flag": { + "readable-stream>inherits": { + "builtin": { + "util.inherits": true + } + }, + "@metamask/object-multiplex>once": { + "packages": { + "@metamask/object-multiplex>once>wrappy": true + } + }, + "@metamask/providers>extension-port-stream>readable-stream>process": { "globals": { - "process.argv": true + "clearTimeout": true, + "setTimeout": true } }, "readable-stream": { @@ -225,21 +167,48 @@ "process.stdout": true }, "packages": { - "browserify>inherits": true, - "browserify>string_decoder": true, - "buffer": true, - "events": true, - "readable-stream>util-deprecate": true, - "stream": true, - "util": true + "readable-stream>inherits": true, + "@metamask/providers>extension-port-stream>readable-stream>process": true, + "readable-stream>string_decoder": true, + "readable-stream>util-deprecate": true } }, - "readable-stream>util-deprecate": { + "readable-stream>string_decoder>safe-buffer": { "builtin": { - "util.deprecate": true + "buffer": true + } + }, + "depcheck>semver": { + "globals": { + "console.error": true, + "process": true }, "packages": { - "util": true + "@metamask/providers>extension-port-stream>readable-stream>process": true + } + }, + "readable-stream>string_decoder": { + "packages": { + "readable-stream>string_decoder>safe-buffer": true + } + }, + "istanbul-lib-report>supports-color": { + "builtin": { + "os.release": true, + "tty.isatty": true + }, + "globals": { + "process.env": true, + "process.platform": true + }, + "packages": { + "istanbul-lib-report>supports-color>has-flag": true, + "@metamask/providers>extension-port-stream>readable-stream>process": true + } + }, + "readable-stream>util-deprecate": { + "builtin": { + "util.deprecate": true } } } diff --git a/packages/snaps-execution-environments/lavamoat/browserify/node-process/policy.json b/packages/snaps-execution-environments/lavamoat/webpack/node-thread/policy.json similarity index 75% rename from packages/snaps-execution-environments/lavamoat/browserify/node-process/policy.json rename to packages/snaps-execution-environments/lavamoat/webpack/node-thread/policy.json index 980134b11c..7015235d06 100644 --- a/packages/snaps-execution-environments/lavamoat/browserify/node-process/policy.json +++ b/packages/snaps-execution-environments/lavamoat/webpack/node-thread/policy.json @@ -2,28 +2,34 @@ "resources": { "@metamask/json-rpc-engine": { "packages": { - "@metamask/providers>@metamask/safe-event-emitter": true, "@metamask/rpc-errors": true, + "@metamask/providers>@metamask/safe-event-emitter": true, "@metamask/utils": true } }, - "@metamask/object-multiplex": { + "@metamask/providers>@metamask/json-rpc-middleware-stream": { "globals": { - "console.warn": true + "console.warn": true, + "setTimeout": true }, "packages": { - "@metamask/object-multiplex>once": true, + "@metamask/providers>@metamask/safe-event-emitter": true, + "@metamask/utils": true, "readable-stream": true } }, - "@metamask/object-multiplex>once": { + "@metamask/object-multiplex": { + "globals": { + "console.warn": true + }, "packages": { - "@metamask/object-multiplex>once>wrappy": true + "@metamask/object-multiplex>once": true, + "readable-stream": true } }, "@metamask/post-message-stream": { "builtin": { - "worker_threads.parentPort": true + "worker_threads": true }, "globals": { "MessageEvent.prototype": true, @@ -40,8 +46,7 @@ }, "packages": { "@metamask/utils": true, - "readable-stream": true, - "worker_threads": true + "readable-stream": true } }, "@metamask/providers": { @@ -51,48 +56,29 @@ "packages": { "@metamask/json-rpc-engine": true, "@metamask/providers>@metamask/json-rpc-middleware-stream": true, - "@metamask/providers>@metamask/safe-event-emitter": true, - "@metamask/providers>is-stream": true, "@metamask/rpc-errors": true, + "@metamask/providers>@metamask/safe-event-emitter": true, "eslint>fast-deep-equal": true, + "@metamask/providers>is-stream": true, "readable-stream": true } }, - "@metamask/providers>@metamask/json-rpc-middleware-stream": { - "globals": { - "console.warn": true, - "setTimeout": true - }, + "@metamask/rpc-errors": { "packages": { - "@metamask/providers>@metamask/safe-event-emitter": true, "@metamask/utils": true, - "readable-stream": true + "@metamask/rpc-errors>fast-safe-stringify": true } }, "@metamask/providers>@metamask/safe-event-emitter": { "builtin": { - "events.EventEmitter": true + "events": true }, "globals": { "setTimeout": true - }, - "packages": { - "events": true - } - }, - "@metamask/rpc-errors": { - "packages": { - "@metamask/rpc-errors>fast-safe-stringify": true, - "@metamask/utils": true } }, "@metamask/snaps-sdk": { - "globals": { - "URL": true, - "fetch": true - }, "packages": { - "@metamask/rpc-errors": true, "@metamask/superstruct": true, "@metamask/utils": true } @@ -102,9 +88,7 @@ "URL": true, "console.error": true, "console.log": true, - "console.warn": true, - "document.body.appendChild": true, - "document.createElement": true + "console.warn": true }, "packages": { "@metamask/rpc-errors": true, @@ -114,60 +98,15 @@ } }, "@metamask/utils": { - "builtin": { - "buffer.Buffer": true - }, "globals": { - "TextDecoder": true, "TextEncoder": true }, "packages": { "@metamask/superstruct": true, "@metamask/utils>@noble/hashes": true, - "@metamask/utils>@scure/base": true, + "eslint>debug": true, "@metamask/utils>pony-cause": true, - "buffer": true, - "depcheck>semver": true, - "eslint>debug": true - } - }, - "@metamask/utils>@noble/hashes": { - "globals": { - "TextEncoder": true, - "crypto": true - } - }, - "@metamask/utils>@scure/base": { - "globals": { - "TextDecoder": true, - "TextEncoder": true - } - }, - "browserify>browser-pack>safe-buffer": { - "builtin": { - "buffer": true - }, - "packages": { - "buffer": true - } - }, - "browserify>inherits": { - "builtin": { - "util.inherits": true - }, - "packages": { - "util": true - } - }, - "browserify>string_decoder": { - "packages": { - "browserify>browser-pack>safe-buffer": true - } - }, - "depcheck>semver": { - "globals": { - "console.error": true, - "process": true + "depcheck>semver": true } }, "eslint>debug": { @@ -186,29 +125,32 @@ }, "packages": { "eslint>debug>ms": true, - "istanbul-lib-report>supports-color": true, - "tty": true, - "util": true + "@metamask/providers>extension-port-stream>readable-stream>process": true, + "istanbul-lib-report>supports-color": true } }, - "istanbul-lib-report>supports-color": { - "builtin": { - "os.release": true, - "tty.isatty": true - }, + "istanbul-lib-report>supports-color>has-flag": { "globals": { - "process.env": true, - "process.platform": true + "process.argv": true }, "packages": { - "istanbul-lib-report>supports-color>has-flag": true, - "os": true, - "tty": true + "@metamask/providers>extension-port-stream>readable-stream>process": true } }, - "istanbul-lib-report>supports-color>has-flag": { + "readable-stream>inherits": { + "builtin": { + "util.inherits": true + } + }, + "@metamask/object-multiplex>once": { + "packages": { + "@metamask/object-multiplex>once>wrappy": true + } + }, + "@metamask/providers>extension-port-stream>readable-stream>process": { "globals": { - "process.argv": true + "clearTimeout": true, + "setTimeout": true } }, "readable-stream": { @@ -225,21 +167,48 @@ "process.stdout": true }, "packages": { - "browserify>inherits": true, - "browserify>string_decoder": true, - "buffer": true, - "events": true, - "readable-stream>util-deprecate": true, - "stream": true, - "util": true + "readable-stream>inherits": true, + "@metamask/providers>extension-port-stream>readable-stream>process": true, + "readable-stream>string_decoder": true, + "readable-stream>util-deprecate": true } }, - "readable-stream>util-deprecate": { + "readable-stream>string_decoder>safe-buffer": { "builtin": { - "util.deprecate": true + "buffer": true + } + }, + "depcheck>semver": { + "globals": { + "console.error": true, + "process": true }, "packages": { - "util": true + "@metamask/providers>extension-port-stream>readable-stream>process": true + } + }, + "readable-stream>string_decoder": { + "packages": { + "readable-stream>string_decoder>safe-buffer": true + } + }, + "istanbul-lib-report>supports-color": { + "builtin": { + "os.release": true, + "tty.isatty": true + }, + "globals": { + "process.env": true, + "process.platform": true + }, + "packages": { + "istanbul-lib-report>supports-color>has-flag": true, + "@metamask/providers>extension-port-stream>readable-stream>process": true + } + }, + "readable-stream>util-deprecate": { + "builtin": { + "util.deprecate": true } } } diff --git a/packages/snaps-execution-environments/lavamoat/browserify/webview/policy.json b/packages/snaps-execution-environments/lavamoat/webpack/webview/policy.json similarity index 71% rename from packages/snaps-execution-environments/lavamoat/browserify/webview/policy.json rename to packages/snaps-execution-environments/lavamoat/webpack/webview/policy.json index 520b71350d..9403faac6d 100644 --- a/packages/snaps-execution-environments/lavamoat/browserify/webview/policy.json +++ b/packages/snaps-execution-environments/lavamoat/webpack/webview/policy.json @@ -2,23 +2,29 @@ "resources": { "@metamask/json-rpc-engine": { "packages": { - "@metamask/providers>@metamask/safe-event-emitter": true, "@metamask/rpc-errors": true, + "@metamask/providers>@metamask/safe-event-emitter": true, "@metamask/utils": true } }, - "@metamask/object-multiplex": { + "@metamask/providers>@metamask/json-rpc-middleware-stream": { "globals": { - "console.warn": true + "console.warn": true, + "setTimeout": true }, "packages": { - "@metamask/object-multiplex>once": true, + "@metamask/providers>@metamask/safe-event-emitter": true, + "@metamask/utils": true, "readable-stream": true } }, - "@metamask/object-multiplex>once": { + "@metamask/object-multiplex": { + "globals": { + "console.warn": true + }, "packages": { - "@metamask/object-multiplex>once>wrappy": true + "@metamask/object-multiplex>once": true, + "readable-stream": true } }, "@metamask/post-message-stream": { @@ -44,22 +50,17 @@ "packages": { "@metamask/json-rpc-engine": true, "@metamask/providers>@metamask/json-rpc-middleware-stream": true, - "@metamask/providers>@metamask/safe-event-emitter": true, - "@metamask/providers>is-stream": true, "@metamask/rpc-errors": true, + "@metamask/providers>@metamask/safe-event-emitter": true, "eslint>fast-deep-equal": true, + "@metamask/providers>is-stream": true, "readable-stream": true } }, - "@metamask/providers>@metamask/json-rpc-middleware-stream": { - "globals": { - "console.warn": true, - "setTimeout": true - }, + "@metamask/rpc-errors": { "packages": { - "@metamask/providers>@metamask/safe-event-emitter": true, "@metamask/utils": true, - "readable-stream": true + "@metamask/rpc-errors>fast-safe-stringify": true } }, "@metamask/providers>@metamask/safe-event-emitter": { @@ -67,22 +68,11 @@ "setTimeout": true }, "packages": { - "browserify>events": true - } - }, - "@metamask/rpc-errors": { - "packages": { - "@metamask/rpc-errors>fast-safe-stringify": true, - "@metamask/utils": true + "webpack>events": true } }, "@metamask/snaps-sdk": { - "globals": { - "URL": true, - "fetch": true - }, "packages": { - "@metamask/rpc-errors": true, "@metamask/superstruct": true, "@metamask/utils": true } @@ -92,9 +82,7 @@ "URL": true, "console.error": true, "console.log": true, - "console.warn": true, - "document.body.appendChild": true, - "document.createElement": true + "console.warn": true }, "packages": { "@metamask/rpc-errors": true, @@ -105,91 +93,86 @@ }, "@metamask/utils": { "globals": { - "TextDecoder": true, "TextEncoder": true }, "packages": { "@metamask/superstruct": true, "@metamask/utils>@noble/hashes": true, - "@metamask/utils>@scure/base": true, + "eslint>debug": true, "@metamask/utils>pony-cause": true, - "browserify>buffer": true, - "depcheck>semver": true, - "eslint>debug": true - } - }, - "@metamask/utils>@noble/hashes": { - "globals": { - "TextEncoder": true, - "crypto": true + "depcheck>semver": true } }, - "@metamask/utils>@scure/base": { + "@metamask/providers>extension-port-stream>readable-stream>buffer": { "globals": { - "TextDecoder": true, - "TextEncoder": true - } - }, - "browserify>browser-pack>safe-buffer": { + "console": true + }, "packages": { - "browserify>buffer": true + "@metamask/providers>extension-port-stream>readable-stream>buffer>base64-js": true, + "@metamask/providers>extension-port-stream>readable-stream>buffer>ieee754": true } }, - "browserify>buffer": { + "eslint>debug": { "globals": { - "console": true + "console": true, + "document": true, + "localStorage": true, + "navigator": true, + "process": true }, "packages": { - "browserify>buffer>base64-js": true, - "browserify>buffer>ieee754": true + "eslint>debug>ms": true, + "@metamask/providers>extension-port-stream>readable-stream>process": true } }, - "browserify>events": { + "webpack>events": { "globals": { "console": true } }, - "browserify>process": { + "@metamask/object-multiplex>once": { + "packages": { + "@metamask/object-multiplex>once>wrappy": true + } + }, + "@metamask/providers>extension-port-stream>readable-stream>process": { "globals": { "clearTimeout": true, "setTimeout": true } }, - "browserify>string_decoder": { + "readable-stream": { + "globals": { + "process.nextTick": true, + "process.stderr": true, + "process.stdout": true + }, "packages": { - "browserify>browser-pack>safe-buffer": true + "@metamask/providers>extension-port-stream>readable-stream>buffer": true, + "webpack>events": true, + "readable-stream>inherits": true, + "@metamask/providers>extension-port-stream>readable-stream>process": true, + "readable-stream>string_decoder": true, + "readable-stream>util-deprecate": true } }, - "depcheck>semver": { - "globals": { - "console.error": true - }, + "readable-stream>string_decoder>safe-buffer": { "packages": { - "browserify>process": true + "@metamask/providers>extension-port-stream>readable-stream>buffer": true } }, - "eslint>debug": { + "depcheck>semver": { "globals": { - "console": true, - "document": true, - "localStorage": true, - "navigator": true, + "console.error": true, "process": true }, "packages": { - "browserify>process": true, - "eslint>debug>ms": true + "@metamask/providers>extension-port-stream>readable-stream>process": true } }, - "readable-stream": { + "readable-stream>string_decoder": { "packages": { - "browserify>browser-resolve": true, - "browserify>buffer": true, - "browserify>events": true, - "browserify>inherits": true, - "browserify>process": true, - "browserify>string_decoder": true, - "readable-stream>util-deprecate": true + "readable-stream>string_decoder>safe-buffer": true } }, "readable-stream>util-deprecate": { diff --git a/packages/snaps-execution-environments/lavamoat/browserify/iframe/policy.json b/packages/snaps-execution-environments/lavamoat/webpack/worker-executor/policy.json similarity index 71% rename from packages/snaps-execution-environments/lavamoat/browserify/iframe/policy.json rename to packages/snaps-execution-environments/lavamoat/webpack/worker-executor/policy.json index 520b71350d..9403faac6d 100644 --- a/packages/snaps-execution-environments/lavamoat/browserify/iframe/policy.json +++ b/packages/snaps-execution-environments/lavamoat/webpack/worker-executor/policy.json @@ -2,23 +2,29 @@ "resources": { "@metamask/json-rpc-engine": { "packages": { - "@metamask/providers>@metamask/safe-event-emitter": true, "@metamask/rpc-errors": true, + "@metamask/providers>@metamask/safe-event-emitter": true, "@metamask/utils": true } }, - "@metamask/object-multiplex": { + "@metamask/providers>@metamask/json-rpc-middleware-stream": { "globals": { - "console.warn": true + "console.warn": true, + "setTimeout": true }, "packages": { - "@metamask/object-multiplex>once": true, + "@metamask/providers>@metamask/safe-event-emitter": true, + "@metamask/utils": true, "readable-stream": true } }, - "@metamask/object-multiplex>once": { + "@metamask/object-multiplex": { + "globals": { + "console.warn": true + }, "packages": { - "@metamask/object-multiplex>once>wrappy": true + "@metamask/object-multiplex>once": true, + "readable-stream": true } }, "@metamask/post-message-stream": { @@ -44,22 +50,17 @@ "packages": { "@metamask/json-rpc-engine": true, "@metamask/providers>@metamask/json-rpc-middleware-stream": true, - "@metamask/providers>@metamask/safe-event-emitter": true, - "@metamask/providers>is-stream": true, "@metamask/rpc-errors": true, + "@metamask/providers>@metamask/safe-event-emitter": true, "eslint>fast-deep-equal": true, + "@metamask/providers>is-stream": true, "readable-stream": true } }, - "@metamask/providers>@metamask/json-rpc-middleware-stream": { - "globals": { - "console.warn": true, - "setTimeout": true - }, + "@metamask/rpc-errors": { "packages": { - "@metamask/providers>@metamask/safe-event-emitter": true, "@metamask/utils": true, - "readable-stream": true + "@metamask/rpc-errors>fast-safe-stringify": true } }, "@metamask/providers>@metamask/safe-event-emitter": { @@ -67,22 +68,11 @@ "setTimeout": true }, "packages": { - "browserify>events": true - } - }, - "@metamask/rpc-errors": { - "packages": { - "@metamask/rpc-errors>fast-safe-stringify": true, - "@metamask/utils": true + "webpack>events": true } }, "@metamask/snaps-sdk": { - "globals": { - "URL": true, - "fetch": true - }, "packages": { - "@metamask/rpc-errors": true, "@metamask/superstruct": true, "@metamask/utils": true } @@ -92,9 +82,7 @@ "URL": true, "console.error": true, "console.log": true, - "console.warn": true, - "document.body.appendChild": true, - "document.createElement": true + "console.warn": true }, "packages": { "@metamask/rpc-errors": true, @@ -105,91 +93,86 @@ }, "@metamask/utils": { "globals": { - "TextDecoder": true, "TextEncoder": true }, "packages": { "@metamask/superstruct": true, "@metamask/utils>@noble/hashes": true, - "@metamask/utils>@scure/base": true, + "eslint>debug": true, "@metamask/utils>pony-cause": true, - "browserify>buffer": true, - "depcheck>semver": true, - "eslint>debug": true - } - }, - "@metamask/utils>@noble/hashes": { - "globals": { - "TextEncoder": true, - "crypto": true + "depcheck>semver": true } }, - "@metamask/utils>@scure/base": { + "@metamask/providers>extension-port-stream>readable-stream>buffer": { "globals": { - "TextDecoder": true, - "TextEncoder": true - } - }, - "browserify>browser-pack>safe-buffer": { + "console": true + }, "packages": { - "browserify>buffer": true + "@metamask/providers>extension-port-stream>readable-stream>buffer>base64-js": true, + "@metamask/providers>extension-port-stream>readable-stream>buffer>ieee754": true } }, - "browserify>buffer": { + "eslint>debug": { "globals": { - "console": true + "console": true, + "document": true, + "localStorage": true, + "navigator": true, + "process": true }, "packages": { - "browserify>buffer>base64-js": true, - "browserify>buffer>ieee754": true + "eslint>debug>ms": true, + "@metamask/providers>extension-port-stream>readable-stream>process": true } }, - "browserify>events": { + "webpack>events": { "globals": { "console": true } }, - "browserify>process": { + "@metamask/object-multiplex>once": { + "packages": { + "@metamask/object-multiplex>once>wrappy": true + } + }, + "@metamask/providers>extension-port-stream>readable-stream>process": { "globals": { "clearTimeout": true, "setTimeout": true } }, - "browserify>string_decoder": { + "readable-stream": { + "globals": { + "process.nextTick": true, + "process.stderr": true, + "process.stdout": true + }, "packages": { - "browserify>browser-pack>safe-buffer": true + "@metamask/providers>extension-port-stream>readable-stream>buffer": true, + "webpack>events": true, + "readable-stream>inherits": true, + "@metamask/providers>extension-port-stream>readable-stream>process": true, + "readable-stream>string_decoder": true, + "readable-stream>util-deprecate": true } }, - "depcheck>semver": { - "globals": { - "console.error": true - }, + "readable-stream>string_decoder>safe-buffer": { "packages": { - "browserify>process": true + "@metamask/providers>extension-port-stream>readable-stream>buffer": true } }, - "eslint>debug": { + "depcheck>semver": { "globals": { - "console": true, - "document": true, - "localStorage": true, - "navigator": true, + "console.error": true, "process": true }, "packages": { - "browserify>process": true, - "eslint>debug>ms": true + "@metamask/providers>extension-port-stream>readable-stream>process": true } }, - "readable-stream": { + "readable-stream>string_decoder": { "packages": { - "browserify>browser-resolve": true, - "browserify>buffer": true, - "browserify>events": true, - "browserify>inherits": true, - "browserify>process": true, - "browserify>string_decoder": true, - "readable-stream>util-deprecate": true + "readable-stream>string_decoder>safe-buffer": true } }, "readable-stream>util-deprecate": { diff --git a/packages/snaps-execution-environments/lavamoat/webpack/worker-pool/policy.json b/packages/snaps-execution-environments/lavamoat/webpack/worker-pool/policy.json new file mode 100644 index 0000000000..50d4c9e1bc --- /dev/null +++ b/packages/snaps-execution-environments/lavamoat/webpack/worker-pool/policy.json @@ -0,0 +1,101 @@ +{ + "resources": { + "@metamask/post-message-stream": { + "globals": { + "MessageEvent.prototype": true, + "WorkerGlobalScope": true, + "addEventListener": true, + "browser": true, + "chrome": true, + "location.origin": true, + "postMessage": true, + "removeEventListener": true + }, + "packages": { + "@metamask/utils": true, + "readable-stream": true + } + }, + "@metamask/snaps-utils": { + "globals": { + "console.error": true, + "console.log": true, + "console.warn": true + }, + "packages": { + "@metamask/utils": true + } + }, + "@metamask/utils": { + "packages": { + "@metamask/superstruct": true, + "eslint>debug": true + } + }, + "@metamask/providers>extension-port-stream>readable-stream>buffer": { + "globals": { + "console": true + }, + "packages": { + "@metamask/providers>extension-port-stream>readable-stream>buffer>base64-js": true, + "@metamask/providers>extension-port-stream>readable-stream>buffer>ieee754": true + } + }, + "eslint>debug": { + "globals": { + "console": true, + "document": true, + "localStorage": true, + "navigator": true, + "process": true + }, + "packages": { + "eslint>debug>ms": true, + "@metamask/providers>extension-port-stream>readable-stream>process": true + } + }, + "webpack>events": { + "globals": { + "console": true + } + }, + "@metamask/providers>extension-port-stream>readable-stream>process": { + "globals": { + "clearTimeout": true, + "setTimeout": true + } + }, + "readable-stream": { + "globals": { + "process.nextTick": true, + "process.stderr": true, + "process.stdout": true + }, + "packages": { + "@metamask/providers>extension-port-stream>readable-stream>buffer": true, + "webpack>events": true, + "readable-stream>inherits": true, + "@metamask/providers>extension-port-stream>readable-stream>process": true, + "readable-stream>string_decoder": true, + "readable-stream>util-deprecate": true + } + }, + "readable-stream>string_decoder>safe-buffer": { + "packages": { + "@metamask/providers>extension-port-stream>readable-stream>buffer": true + } + }, + "readable-stream>string_decoder": { + "packages": { + "readable-stream>string_decoder>safe-buffer": true + } + }, + "readable-stream>util-deprecate": { + "globals": { + "console.trace": true, + "console.warn": true, + "localStorage": true + } + } + } +} \ No newline at end of file diff --git a/packages/snaps-execution-environments/package.json b/packages/snaps-execution-environments/package.json index 6088f3dd17..7f04d57b53 100644 --- a/packages/snaps-execution-environments/package.json +++ b/packages/snaps-execution-environments/package.json @@ -28,8 +28,8 @@ "default": "./dist/index.cjs" } }, - "./dist/browserify/node-process/bundle.js": "./dist/browserify/node-process/bundle.js", - "./dist/browserify/node-thread/bundle.js": "./dist/browserify/node-thread/bundle.js", + "./node-process": "./dist/webpack/node-process/bundle.js", + "./node-thread": "./dist/webpack/node-thread/bundle.js", "./package.json": "./package.json" }, "main": "./dist/index.cjs", @@ -41,8 +41,9 @@ "scripts": { "auto-changelog-init": "auto-changelog init", "build": "ts-bridge --project tsconfig.build.json --verbose --clean --no-references", - "build:lavamoat": "lavamoat scripts/build.js --policy lavamoat/build-system/policy.json --policyOverride lavamoat/build-system/policy-override.json", - "build:lavamoat:policy": "yarn build:lavamoat --writeAutoPolicy && node scripts/build.js --writeAutoPolicy", + "build:lavamoat": "lavamoat --policy lavamoat/build-system/policy.json --override lavamoat/build-system/policy-override.json ./scripts/build.js", + "build:lavamoat:policy": "yarn build:lavamoat --writeAutoPolicy && LAVAMOAT_GENERATE_POLICY=true node scripts/build.js", + "build:lavamoat:test": "NODE_ENV=test yarn build:lavamoat", "build:post": "yarn build:lavamoat", "changelog:update": "../../scripts/update-changelog.sh @metamask/snaps-execution-environments", "changelog:validate": "../../scripts/validate-changelog.sh @metamask/snaps-execution-environments", @@ -67,7 +68,7 @@ "dependencies": { "@metamask/json-rpc-engine": "^10.0.2", "@metamask/object-multiplex": "^2.1.0", - "@metamask/post-message-stream": "^9.0.0", + "@metamask/post-message-stream": "^10.0.0", "@metamask/providers": "^22.1.0", "@metamask/rpc-errors": "^7.0.2", "@metamask/snaps-sdk": "workspace:^", @@ -78,14 +79,11 @@ "readable-stream": "^3.6.2" }, "devDependencies": { - "@babel/core": "^7.23.2", - "@babel/preset-env": "^7.23.2", - "@babel/preset-typescript": "^7.23.2", "@esbuild-plugins/node-globals-polyfill": "^0.2.3", "@esbuild-plugins/node-modules-polyfill": "^0.2.2", "@lavamoat/allow-scripts": "^3.0.4", - "@lavamoat/lavapack": "^6.1.1", "@lavamoat/lavatube": "^1.0.0", + "@lavamoat/webpack": "^0.9.0-beta.0", "@metamask/auto-changelog": "^5.0.2", "@swc/core": "1.3.78", "@swc/jest": "^0.2.26", @@ -93,14 +91,13 @@ "@ts-bridge/cli": "^0.6.1", "@types/jest": "^27.5.1", "@types/node": "18.14.2", + "@types/webpack-env": "^1.18.1", "@vitest/browser": "^3.1.1", "@vitest/coverage-v8": "^3.1.1", - "babel-plugin-tsconfig-paths-module-resolver": "^1.0.4", - "babelify": "^10.0.0", - "browserify": "^17.0.0", "deepmerge": "^4.2.2", "depcheck": "^1.4.7", "eslint": "^9.11.0", + "html-webpack-plugin": "^5.5.0", "istanbul-lib-coverage": "^3.2.0", "istanbul-lib-report": "^3.0.0", "istanbul-reports": "^3.1.5", @@ -108,19 +105,22 @@ "jest-environment-node": "^29.5.0", "jest-fetch-mock": "^3.0.3", "jest-silent-reporter": "^0.6.0", - "lavamoat": "^8.0.4", - "lavamoat-browserify": "^17.0.5", + "lavamoat": "^9.0.8", "prettier": "^3.3.3", "rimraf": "^4.1.2", "serve-handler": "^6.1.5", "ses": "^1.12.0", + "stream-browserify": "^3.0.0", "terser": "^5.17.7", + "ts-loader": "^9.5.2", "ts-node": "^10.9.1", + "tsconfig-paths-webpack-plugin": "^4.0.1", "typescript": "~5.3.3", "vite": "^6.2.7", "vite-tsconfig-paths": "^4.0.5", "vitest": "^3.1.1", - "yargs": "^17.7.1" + "webpack": "^5.97.1", + "webpack-merge": "^5.9.0" }, "engines": { "node": "^18.16 || >=20" diff --git a/packages/snaps-execution-environments/scripts/build.js b/packages/snaps-execution-environments/scripts/build.js index 46df779151..dc64583690 100644 --- a/packages/snaps-execution-environments/scripts/build.js +++ b/packages/snaps-execution-environments/scripts/build.js @@ -1,255 +1,40 @@ -/* eslint-disable n/global-require */ -const { stringToBytes } = require('@metamask/utils'); -const { - createResolvePath, -} = require('babel-plugin-tsconfig-paths-module-resolver'); -const browserify = require('browserify'); -const { promises: fs } = require('fs'); -const LavaMoatBrowserify = require('lavamoat-browserify'); -const { builtinModules } = require('node:module'); -const path = require('path'); -const { minify } = require('terser'); -const yargs = require('yargs'); +const webpack = require('webpack'); -const defaultResolvePath = createResolvePath(); - -const ENTRY_POINTS = { - iframe: { entryPoint: './src/iframe/index.ts', html: true, node: false }, - 'node-thread': { - entryPoint: './src/node-thread/index.ts', - node: true, - }, - 'node-process': { - entryPoint: './src/node-process/index.ts', - node: true, - }, - 'worker-executor': { - entryPoint: './src/webworker/executor/index.ts', - worker: true, - }, - 'worker-pool': { - entryPoint: './src/webworker/pool/index.ts', - html: true, - }, - webview: { - entryPoint: './src/webview/index.ts', - html: true, - inlineBundle: true, - }, -}; - -const OUTPUT_PATH = './dist/browserify'; -const OUTPUT_HTML = 'index.html'; -const OUTPUT_BUNDLE = 'bundle.js'; +const config = require('../webpack.config'); /** - * Create a worker for each entry point and wait for them to finish. + * Indent a message by a given number of spaces. + * + * @param {string} message - The message to indent. + * @param {number} spaces - The number of spaces to indent each line. + * @returns {string} The indented message. */ -async function main() { - const { - argv: { writeAutoPolicy }, - } = yargs(process.argv.slice(2)).usage( - '$0 [options]', - 'Build snaps execution environments', - (yargsInstance) => - yargsInstance.option('writeAutoPolicy', { - alias: ['p'], - default: false, - demandOption: false, - description: 'Whether to regenerate the LavaMoat policy or not', - type: 'boolean', - }), - ); - - const lavamoatSecurityOptionsNode = {}; - - const lavamoatSecurityOptionsBrowser = { - // Only enable for browser builds for now due to incompatibilities. - scuttleGlobalThis: { - enabled: true, - exceptions: [ - 'postMessage', - 'removeEventListener', - 'isSecureContext', - 'ReactNativeWebView', - 'JSON', - 'String', - ], - }, - }; - - const lavaMoatRuntimeString = await fs.readFile( - require.resolve('@lavamoat/lavapack/src/runtime.js'), - 'utf-8', - ); - - // These can be re-used for all bundles - - const lavaMoatRuntimeNode = lavaMoatRuntimeString.replace( - '__lavamoatSecurityOptions__', - JSON.stringify(lavamoatSecurityOptionsNode), - ); - - const lavaMoatRuntimeBrowser = lavaMoatRuntimeString.replace( - '__lavamoatSecurityOptions__', - JSON.stringify(lavamoatSecurityOptionsBrowser), - ); - - const createHtml = (scriptTag) => ` - - - - - MetaMask Snaps Execution Environment - - - - ${scriptTag} - - `; - - const htmlFile = createHtml(''); - - const createInlinedHTML = (bundleSource) => - createHtml(``); - - await Promise.all( - Object.entries(ENTRY_POINTS).map(async ([key, config]) => { - console.log('Bundling', key); - const { html, node, worker, entryPoint, inlineBundle } = config; - const insertGlobalVars = node - ? { process: undefined, ...LavaMoatBrowserify.args.insertGlobalVars } - : LavaMoatBrowserify.args.insertGlobalVars; - - const bundler = browserify(entryPoint, { - ...LavaMoatBrowserify.args, - insertGlobalVars, - extensions: ['.ts'], - node, - }); - - if (node) { - bundler.external(builtinModules); - } else { - // The crypto polyfills are erroneously included in the browser bundle, this prevents that. - bundler.exclude(['crypto']); - } - - bundler.transform(require('babelify'), { - extensions: ['.js', '.ts'], - presets: [ - require('@babel/preset-typescript'), - [ - require('@babel/preset-env'), - { - targets: { - browsers: ['chrome >= 80', 'firefox >= 78'], - }, - }, - ], - ], - plugins: [ - [ - require('babel-plugin-tsconfig-paths-module-resolver'), - { - resolvePath: (sourcePath, currentFile, opts) => { - const result = defaultResolvePath( - sourcePath, - currentFile, - opts, - ); - // Result is null for modules found in node_modules - if (!result) { - return null; - } - // Force resolve `@metamask/snaps-utils` to execution env bundle regardless of environment to reduce bundle size - // Use default resolver for everything else - if ( - sourcePath === '@metamask/snaps-utils' && - result.includes('../snaps-utils/src') - ) { - return `${result}/index.executionenv`; - } - return result; - }, - }, - ], - ], - }); - - const lavamoatSecurityOptions = - worker || html - ? lavamoatSecurityOptionsBrowser - : lavamoatSecurityOptionsNode; - - // Add LavaMoat to wrap bundles in LavaPack - // For Node.js builds, this also includes a prelude that contains SES and the LavaMoat runtime - // For browser builds, the prelude is skipped and inlined in a script tag before the main bundle instead - bundler.plugin(LavaMoatBrowserify, { - writeAutoPolicy, - policy: path.resolve( - __dirname, - `../lavamoat/browserify/${key}/policy.json`, - ), - policyName: key, - policyOverride: path.resolve( - __dirname, - `../lavamoat/browserify/policy-override.json`, - ), - // Prelude is not included, we will inline that ourselves to allow for minification. - includePrelude: false, - ...lavamoatSecurityOptions, - }); - - const buffer = await new Promise((resolve, reject) => { - bundler.bundle((error, bundle) => { - if (error) { - reject(error); - } else { - resolve(bundle); - } - }); - }); - - // Minification - const minifiedBundle = ( - await minify(buffer.toString(), { sourceMap: false }) - ).code; - - let outputBundle = minifiedBundle; - - // For non HTML bundles, we inline the runtime in the bundle. - if (!html) { - const runtime = node ? lavaMoatRuntimeNode : lavaMoatRuntimeBrowser; - outputBundle = `${runtime}\n${outputBundle}`; - } - - if (!inlineBundle) { - const bundlePath = path.join(OUTPUT_PATH, key, OUTPUT_BUNDLE); - await fs.mkdir(path.dirname(bundlePath), { recursive: true }); - await fs.writeFile(bundlePath, outputBundle); - } - - if (html) { - const htmlPath = path.join(OUTPUT_PATH, key, OUTPUT_HTML); - await fs.mkdir(path.dirname(htmlPath), { recursive: true }); - await fs.writeFile( - htmlPath, - inlineBundle ? createInlinedHTML(outputBundle) : htmlFile, - ); - } - - const outputBytes = stringToBytes(outputBundle); - - const outputSizeInKb = Math.round(outputBytes.byteLength / 1000); +function indent(message, spaces = 2) { + return message + .split('\n') + .map((line) => ' '.repeat(spaces) + line) + .join('\n'); +} - console.log('Finished', key, `(${outputSizeInKb} KB)`); - return buffer; +console.log('Building Snaps execution environments...\n'); + +webpack(config, (error, stats) => { + if (error) { + console.error( + 'Webpack failed to build. See the error(s) below for more details.', + ); + + console.log(indent(error.message, 2)); + return; + } + + console.log( + stats.toString({ + all: false, + assets: true, + colors: true, + errors: true, + assetsSort: 'name', }), ); -} - -main().catch((error) => { - console.error(error); - process.exitCode = 1; }); diff --git a/packages/snaps-execution-environments/scripts/start.js b/packages/snaps-execution-environments/scripts/start.js index 1c6cefef28..3c4a6a1a31 100644 --- a/packages/snaps-execution-environments/scripts/start.js +++ b/packages/snaps-execution-environments/scripts/start.js @@ -3,7 +3,7 @@ const path = require('path'); const serveHandler = require('serve-handler'); const ROOT = path.resolve(__dirname, '..'); -const PUBLIC = path.join(ROOT, '/dist/browserify/iframe'); +const PUBLIC = path.join(ROOT, '/dist/webpack/iframe'); start(); diff --git a/packages/snaps-execution-environments/src/index.ejs b/packages/snaps-execution-environments/src/index.ejs new file mode 100644 index 0000000000..4ccd2c647b --- /dev/null +++ b/packages/snaps-execution-environments/src/index.ejs @@ -0,0 +1,16 @@ + + + + + + MetaMask Snaps Execution Environment + + + +<% if (typeof inlineSource !== 'undefined') { %> + +<% } %> + + diff --git a/packages/snaps-execution-environments/src/node-process/ChildProcessSnapExecutor.ts b/packages/snaps-execution-environments/src/node-process/ChildProcessSnapExecutor.ts index 9deb33bddc..0eb1acd54c 100644 --- a/packages/snaps-execution-environments/src/node-process/ChildProcessSnapExecutor.ts +++ b/packages/snaps-execution-environments/src/node-process/ChildProcessSnapExecutor.ts @@ -1,5 +1,5 @@ import ObjectMultiplex from '@metamask/object-multiplex'; -import { ProcessMessageStream } from '@metamask/post-message-stream'; +import { ProcessMessageStream } from '@metamask/post-message-stream/node'; import { logError, SNAP_STREAM_NAMES } from '@metamask/snaps-utils'; import { pipeline } from 'readable-stream'; diff --git a/packages/snaps-execution-environments/src/node-thread/ThreadSnapExecutor.ts b/packages/snaps-execution-environments/src/node-thread/ThreadSnapExecutor.ts index a66e59d22c..32e1c2784f 100644 --- a/packages/snaps-execution-environments/src/node-thread/ThreadSnapExecutor.ts +++ b/packages/snaps-execution-environments/src/node-thread/ThreadSnapExecutor.ts @@ -1,5 +1,5 @@ import ObjectMultiplex from '@metamask/object-multiplex'; -import { ThreadMessageStream } from '@metamask/post-message-stream'; +import { ThreadMessageStream } from '@metamask/post-message-stream/node'; import { logError, SNAP_STREAM_NAMES } from '@metamask/snaps-utils'; import { pipeline } from 'readable-stream'; diff --git a/packages/snaps-execution-environments/src/webview/WebViewExecutorStream.ts b/packages/snaps-execution-environments/src/webview/WebViewExecutorStream.ts index 07d0137136..699c31e3bd 100644 --- a/packages/snaps-execution-environments/src/webview/WebViewExecutorStream.ts +++ b/packages/snaps-execution-environments/src/webview/WebViewExecutorStream.ts @@ -1,6 +1,8 @@ import type { PostMessageEvent } from '@metamask/post-message-stream'; -import { BasePostMessageStream } from '@metamask/post-message-stream'; -import { isValidStreamMessage } from '@metamask/post-message-stream/dist/utils'; +import { + BasePostMessageStream, + isValidStreamMessage, +} from '@metamask/post-message-stream'; type WebViewExecutorStreamArgs = { name: string; diff --git a/packages/snaps-execution-environments/tsconfig.json b/packages/snaps-execution-environments/tsconfig.json index fafefcf9a0..88d292e218 100644 --- a/packages/snaps-execution-environments/tsconfig.json +++ b/packages/snaps-execution-environments/tsconfig.json @@ -2,7 +2,6 @@ "extends": "../../tsconfig.packages.json", "compilerOptions": { "baseUrl": "./", - "typeRoots": ["../../node_modules/@types", "./node_modules/@types"], "allowJs": true }, "include": [ @@ -11,7 +10,8 @@ "scripts", "package.json", "vitest.config.mts", - "vitest.config.firefox.mts" + "vitest.config.firefox.mts", + "webpack.config.ts" ], "references": [ { diff --git a/packages/snaps-execution-environments/vitest.config.mts b/packages/snaps-execution-environments/vitest.config.mts index c493f791e0..aff5d6c818 100644 --- a/packages/snaps-execution-environments/vitest.config.mts +++ b/packages/snaps-execution-environments/vitest.config.mts @@ -5,16 +5,16 @@ import { join } from 'path'; import tsconfigPaths from 'vite-tsconfig-paths'; import { defineConfig } from 'vitest/config'; -const IFRAME_PATH = join(import.meta.dirname, './dist/browserify/iframe'); +const IFRAME_PATH = join(import.meta.dirname, './dist/webpack/iframe'); const WORKER_EXECUTOR_PATH = join( import.meta.dirname, - './dist/browserify/worker-executor', + './dist/webpack/worker-executor', ); const WORKER_POOL_PATH = join( import.meta.dirname, - './dist/browserify/worker-pool', + './dist/webpack/worker-pool', ); export default defineConfig({ @@ -57,9 +57,9 @@ export default defineConfig({ fs: { strict: true, allow: [ - './dist/browserify/iframe', - './dist/browserify/worker-executor', - './dist/browserify/worker-pool', + './dist/webpack/iframe', + './dist/webpack/worker-executor', + './dist/webpack/worker-pool', ], }, }, diff --git a/packages/snaps-execution-environments/webpack.config.js b/packages/snaps-execution-environments/webpack.config.js new file mode 100644 index 0000000000..79e76313fa --- /dev/null +++ b/packages/snaps-execution-environments/webpack.config.js @@ -0,0 +1,296 @@ +// Ideally we write this file with TypeScript, but `@lavamoat/webpack` doesn't +// have any declarations, and it currently makes using it from LavaMoat Node +// more difficult. + +const LavaMoatPlugin = require('@lavamoat/webpack'); +const { readFileSync } = require('fs'); +const HtmlWebpackPlugin = require('html-webpack-plugin'); +const { isBuiltin } = require('module'); +const { resolve } = require('path'); +const { TsconfigPathsPlugin } = require('tsconfig-paths-webpack-plugin'); +const { ProvidePlugin, Compilation } = require('webpack'); +const { merge } = require('webpack-merge'); + +/** + * Whether to generate a policy file for the build. + * + * @type {boolean} + */ +// eslint-disable-next-line n/no-process-env +const UPDATE_POLICY = process.env.LAVAMOAT_GENERATE_POLICY === 'true'; + +/** + * Whether the build is for production or development. + * + * @type {boolean} + */ +const IS_PRODUCTION = + // eslint-disable-next-line n/no-process-env + process.env.NODE_ENV !== 'development' && process.env.NODE_ENV !== 'test'; + +/** + * The SES bundle used for the lockdown script. + * + * @type {string} + */ +// eslint-disable-next-line n/no-sync +const SES_BUNDLE = readFileSync(require.resolve('ses'), 'utf-8'); + +/** + * @typedef {import('webpack').Configuration} Configuration + */ + +/** + * @typedef {object} EntryPoint + * @property {string} name - The name of the entry point. + * @property {string} entry - The entry point file. + * @property {boolean} [inline] - Whether to inline the lockdown script. + * @property {boolean} [inlineBundle] - Whether to inline the bundle. + * @property {boolean} [scuttleGlobalThis] - Whether to enable scuttling. + * @property {string[]} [scuttleGlobalThisExceptions] - Exceptions to scuttling, + * in addition to the default ones. + * @property {import('webpack').Configuration} [config] - Additional webpack + * configuration for this entry point. This is merged with the base + * configuration. + */ + +/** + * The default Webpack configuration for web-based entry points. + * + * @type {Configuration} + */ +const DEFAULT_WEB_CONFIG = { + target: `browserslist:${resolve(__dirname, '.browserslistrc')}`, + plugins: [ + new HtmlWebpackPlugin({ + template: './src/index.ejs', + templateParameters: () => { + return { + lockdownScript: SES_BUNDLE, + }; + }, + }), + ], +}; + +/** + * The entry points for the Webpack build. + * + * @type {EntryPoint[]} + */ +const ENTRY_POINTS = [ + { + name: 'iframe', + entry: './src/iframe/index.ts', + scuttleGlobalThis: true, + + config: DEFAULT_WEB_CONFIG, + }, + + { + name: 'node-thread', + entry: './src/node-thread/index.ts', + inline: true, + + config: { + target: 'node', + }, + }, + + { + name: 'node-process', + entry: './src/node-process/index.ts', + inline: true, + + config: { + target: 'node', + }, + }, + + { + name: 'webview', + target: 'web', + entry: './src/webview/index.ts', + inlineBundle: true, + + scuttleGlobalThis: true, + scuttleGlobalThisExceptions: ['JSON', 'ReactNativeWebView', 'String'], + + config: { + plugins: [ + new HtmlWebpackPlugin({ + inject: false, + template: './src/index.ejs', + templateParameters: ({ assets }) => { + const bundle = assets['bundle.js']; + + return { + inlineSource: bundle.source(), + lockdownScript: SES_BUNDLE, + }; + }, + }), + ], + }, + }, + + { + name: 'worker-executor', + entry: './src/webworker/executor/index.ts', + inline: true, + + config: { + target: 'webworker', + }, + }, + + { + name: 'worker-pool', + entry: './src/webworker/pool/index.ts', + scuttleGlobalThis: true, + + config: DEFAULT_WEB_CONFIG, + }, +]; + +/** + * The base Webpack configuration. + * + * @type {Configuration} + */ +const baseConfig = { + // We always set this to `production`, since the development build doesn't + // have much value, and it makes the build much larger. + mode: 'production', + + output: { + filename: 'bundle.js', + }, + + module: { + rules: [ + { + test: /\.tsx?$/u, + use: { + // While `ts-loader` isn't the fastest, it seems to produce smaller + // bundles than `swc-loader`. + loader: 'ts-loader', + options: { + transpileOnly: true, + configFile: resolve(__dirname, 'tsconfig.build.json'), + compilerOptions: { + module: 'esnext', + moduleResolution: 'bundler', + target: 'es2022', + }, + }, + }, + }, + ], + }, + + plugins: [ + new ProvidePlugin({ + process: 'process/browser', + }), + ], + + resolve: { + extensions: ['.ts', '.tsx', '.js'], + fallback: { + // Used in the `crypto` endowment, but only as fallback, so we can + // safely ignore it if it's not available. + crypto: false, + + stream: require.resolve('stream-browserify'), + }, + + plugins: [ + // `TsconfigPathsPlugin` causes issues with tree shaking, so we only + // enable it in development mode. + IS_PRODUCTION + ? null + : new TsconfigPathsPlugin({ + configFile: resolve(__dirname, 'tsconfig.build.json'), + baseUrl: __dirname, + }), + ], + }, +}; + +/** + * The Webpack configurations for each entry point. + * + * @type {Configuration[]} + */ +const configs = ENTRY_POINTS.map( + ({ + name, + entry, + inline, + inlineBundle, + scuttleGlobalThis, + scuttleGlobalThisExceptions = [], + config = {}, + }) => + merge(baseConfig, config, { + name, + entry, + + output: { + path: resolve(__dirname, 'dist/webpack', name), + }, + + plugins: [ + new LavaMoatPlugin({ + isBuiltin, + generatePolicy: UPDATE_POLICY, + policyLocation: resolve(__dirname, 'lavamoat', 'webpack', name), + inlineLockdown: inline ? /bundle\.js/u : undefined, + scuttleGlobalThis: { + enabled: scuttleGlobalThis, + exceptions: [ + 'Object', + 'postMessage', + 'Reflect', + 'Set', + ...scuttleGlobalThisExceptions, + ], + }, + }), + + { + /** + * A custom "plugin" to remove the `lockdown` asset from the build. + * + * @param {import('webpack').Compiler} compiler - The Webpack compiler. + */ + apply: (compiler) => { + const PLUGIN_NAME = 'InlinePlugin'; + + compiler.hooks.make.tap(PLUGIN_NAME, (compilation) => { + compilation.hooks.processAssets.tap( + { + name: PLUGIN_NAME, + stage: Compilation.PROCESS_ASSETS_STAGE_OPTIMIZE_INLINE, + }, + (assets) => { + // Remove `lockdown` from the assets, since we inline the SES + // bundle into the HTML file or the bundle. + delete assets.lockdown; + + if (inlineBundle) { + // Remove the `bundle.js` asset, since we inline it into + // the HTML file. + delete assets['bundle.js']; + } + }, + ); + }); + }, + }, + ], + }), +); + +module.exports = configs; diff --git a/packages/snaps-utils/package.json b/packages/snaps-utils/package.json index d351775e2a..e998919a70 100644 --- a/packages/snaps-utils/package.json +++ b/packages/snaps-utils/package.json @@ -106,7 +106,7 @@ "devDependencies": { "@lavamoat/allow-scripts": "^3.0.4", "@metamask/auto-changelog": "^5.0.2", - "@metamask/post-message-stream": "^9.0.0", + "@metamask/post-message-stream": "^10.0.0", "@swc/core": "1.3.78", "@swc/jest": "^0.2.26", "@testing-library/dom": "^10.4.0", diff --git a/packages/snaps-utils/vitest.config.mts b/packages/snaps-utils/vitest.config.mts index f4eea07df3..6269ac7d1d 100644 --- a/packages/snaps-utils/vitest.config.mts +++ b/packages/snaps-utils/vitest.config.mts @@ -4,7 +4,7 @@ import { nodePolyfills } from 'vite-plugin-node-polyfills'; import tsconfigPaths from 'vite-tsconfig-paths'; import { defineConfig } from 'vitest/config'; -const IFRAME_PATH = join(import.meta.dirname, './dist/browserify/iframe'); +const IFRAME_PATH = join(import.meta.dirname, './dist/webpack/iframe'); export default defineConfig({ plugins: [tsconfigPaths(), nodePolyfills()], @@ -27,7 +27,7 @@ export default defineConfig({ fs: { strict: true, - allow: ['../snaps-execution-environments/dist/browserify/iframe'], + allow: ['../snaps-execution-environments/dist/webpack/iframe'], }, }, diff --git a/yarn.lock b/yarn.lock index 6b58ed6ef0..09b1893217 100644 --- a/yarn.lock +++ b/yarn.lock @@ -94,17 +94,7 @@ __metadata: languageName: node linkType: hard -"@babel/code-frame@npm:7.23.5": - version: 7.23.5 - resolution: "@babel/code-frame@npm:7.23.5" - dependencies: - "@babel/highlight": "npm:^7.23.4" - chalk: "npm:^2.4.2" - checksum: 10/44e58529c9d93083288dc9e649c553c5ba997475a7b0758cc3ddc4d77b8a7d985dbe78cc39c9bbc61f26d50af6da1ddf0a3427eae8cc222a9370619b671ed8f5 - languageName: node - linkType: hard - -"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.10.4, @babel/code-frame@npm:^7.12.13, @babel/code-frame@npm:^7.16.7, @babel/code-frame@npm:^7.22.13, @babel/code-frame@npm:^7.23.5, @babel/code-frame@npm:^7.26.2": +"@babel/code-frame@npm:7.26.2, @babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.10.4, @babel/code-frame@npm:^7.12.13, @babel/code-frame@npm:^7.16.7, @babel/code-frame@npm:^7.22.13, @babel/code-frame@npm:^7.26.2": version: 7.26.2 resolution: "@babel/code-frame@npm:7.26.2" dependencies: @@ -168,15 +158,16 @@ __metadata: languageName: node linkType: hard -"@babel/generator@npm:^7.23.0, @babel/generator@npm:^7.23.6, @babel/generator@npm:^7.7.2": - version: 7.23.6 - resolution: "@babel/generator@npm:7.23.6" +"@babel/generator@npm:^7.23.0, @babel/generator@npm:^7.26.9, @babel/generator@npm:^7.7.2": + version: 7.27.0 + resolution: "@babel/generator@npm:7.27.0" dependencies: - "@babel/types": "npm:^7.23.6" - "@jridgewell/gen-mapping": "npm:^0.3.2" - "@jridgewell/trace-mapping": "npm:^0.3.17" - jsesc: "npm:^2.5.1" - checksum: 10/864090d5122c0aa3074471fd7b79d8a880c1468480cbd28925020a3dcc7eb6e98bedcdb38983df299c12b44b166e30915b8085a7bc126e68fa7e2aadc7bd1ac5 + "@babel/parser": "npm:^7.27.0" + "@babel/types": "npm:^7.27.0" + "@jridgewell/gen-mapping": "npm:^0.3.5" + "@jridgewell/trace-mapping": "npm:^0.3.25" + jsesc: "npm:^3.0.2" + checksum: 10/5447c402b1d841132534a0a9715e89f4f28b6f2886a23e70aaa442150dba4a1e29e4e2351814f439ee1775294dccdef9ab0a4192b6e6a5ad44e24233b3611da2 languageName: node linkType: hard @@ -265,7 +256,7 @@ __metadata: languageName: node linkType: hard -"@babel/helper-function-name@npm:^7.22.5, @babel/helper-function-name@npm:^7.23.0": +"@babel/helper-function-name@npm:^7.22.5": version: 7.23.0 resolution: "@babel/helper-function-name@npm:7.23.0" dependencies: @@ -386,14 +377,14 @@ __metadata: languageName: node linkType: hard -"@babel/helper-string-parser@npm:^7.23.4, @babel/helper-string-parser@npm:^7.25.9": +"@babel/helper-string-parser@npm:^7.25.9": version: 7.25.9 resolution: "@babel/helper-string-parser@npm:7.25.9" checksum: 10/c28656c52bd48e8c1d9f3e8e68ecafd09d949c57755b0d353739eb4eae7ba4f7e67e92e4036f1cd43378cc1397a2c943ed7bcaf5949b04ab48607def0258b775 languageName: node linkType: hard -"@babel/helper-validator-identifier@npm:^7.22.20, @babel/helper-validator-identifier@npm:^7.24.7, @babel/helper-validator-identifier@npm:^7.25.9": +"@babel/helper-validator-identifier@npm:^7.22.20, @babel/helper-validator-identifier@npm:^7.25.9": version: 7.25.9 resolution: "@babel/helper-validator-identifier@npm:7.25.9" checksum: 10/3f9b649be0c2fd457fa1957b694b4e69532a668866b8a0d81eabfa34ba16dbf3107b39e0e7144c55c3c652bf773ec816af8df4a61273a2bb4eb3145ca9cf478e @@ -428,39 +419,30 @@ __metadata: languageName: node linkType: hard -"@babel/highlight@npm:7.23.4": - version: 7.23.4 - resolution: "@babel/highlight@npm:7.23.4" - dependencies: - "@babel/helper-validator-identifier": "npm:^7.22.20" - chalk: "npm:^2.4.2" - js-tokens: "npm:^4.0.0" - checksum: 10/62fef9b5bcea7131df4626d009029b1ae85332042f4648a4ce6e740c3fd23112603c740c45575caec62f260c96b11054d3be5987f4981a5479793579c3aac71f - languageName: node - linkType: hard - -"@babel/highlight@npm:^7.23.4": - version: 7.24.7 - resolution: "@babel/highlight@npm:7.24.7" +"@babel/highlight@npm:7.25.9": + version: 7.25.9 + resolution: "@babel/highlight@npm:7.25.9" dependencies: - "@babel/helper-validator-identifier": "npm:^7.24.7" + "@babel/helper-validator-identifier": "npm:^7.25.9" chalk: "npm:^2.4.2" js-tokens: "npm:^4.0.0" picocolors: "npm:^1.0.0" - checksum: 10/69b73f38cdd4f881b09b939a711e76646da34f4834f4ce141d7a49a6bb1926eab1c594148970a8aa9360398dff800f63aade4e81fafdd7c8d8a8489ea93bfec1 + checksum: 10/0d165283dd4eb312292cea8fec3ae0d376874b1885f476014f0136784ed5b564b2c2ba2d270587ed546ee92505056dab56493f7960c01c4e6394d71d1b2e7db6 languageName: node linkType: hard -"@babel/parser@npm:7.23.9": - version: 7.23.9 - resolution: "@babel/parser@npm:7.23.9" +"@babel/parser@npm:7.26.9": + version: 7.26.9 + resolution: "@babel/parser@npm:7.26.9" + dependencies: + "@babel/types": "npm:^7.26.9" bin: parser: ./bin/babel-parser.js - checksum: 10/727a7a807100f6a26df859e2f009c4ddbd0d3363287b45daa50bd082ccd0d431d0c4d0e610a91f806e04a1918726cd0f5a0592c9b902a815337feed12e1cafd9 + checksum: 10/cb84fe3ba556d6a4360f3373cf7eb0901c46608c8d77330cc1ca021d60f5d6ebb4056a8e7f9dd0ef231923ef1fe69c87b11ce9e160d2252e089a20232a2b942b languageName: node linkType: hard -"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.20.15, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.21.3, @babel/parser@npm:^7.23.0, @babel/parser@npm:^7.23.9, @babel/parser@npm:^7.25.4, @babel/parser@npm:^7.26.9": +"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.20.15, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.21.3, @babel/parser@npm:^7.23.0, @babel/parser@npm:^7.23.9, @babel/parser@npm:^7.25.4, @babel/parser@npm:^7.26.9, @babel/parser@npm:^7.27.0": version: 7.27.0 resolution: "@babel/parser@npm:7.27.0" dependencies: @@ -1497,36 +1479,32 @@ __metadata: languageName: node linkType: hard -"@babel/traverse@npm:7.23.9, @babel/traverse@npm:^7.23.2, @babel/traverse@npm:^7.7.2": - version: 7.23.9 - resolution: "@babel/traverse@npm:7.23.9" +"@babel/traverse@npm:7.26.9, @babel/traverse@npm:^7.23.2, @babel/traverse@npm:^7.7.2": + version: 7.26.9 + resolution: "@babel/traverse@npm:7.26.9" dependencies: - "@babel/code-frame": "npm:^7.23.5" - "@babel/generator": "npm:^7.23.6" - "@babel/helper-environment-visitor": "npm:^7.22.20" - "@babel/helper-function-name": "npm:^7.23.0" - "@babel/helper-hoist-variables": "npm:^7.22.5" - "@babel/helper-split-export-declaration": "npm:^7.22.6" - "@babel/parser": "npm:^7.23.9" - "@babel/types": "npm:^7.23.9" + "@babel/code-frame": "npm:^7.26.2" + "@babel/generator": "npm:^7.26.9" + "@babel/parser": "npm:^7.26.9" + "@babel/template": "npm:^7.26.9" + "@babel/types": "npm:^7.26.9" debug: "npm:^4.3.1" globals: "npm:^11.1.0" - checksum: 10/e2bb845f7f229feb7c338f7e150f5f1abc5395dcd3a6a47f63a25242ec3ec6b165f04a6df7d4849468547faee34eb3cf52487eb0bd867a7d3c42fec2a648266f + checksum: 10/c16a79522eafa0a7e40eb556bf1e8a3d50dbb0ff943a80f2c06cee2ec7ff87baa0c5d040a5cff574d9bcb3bed05e7d8c6f13b238a931c97267674b02c6cf45b4 languageName: node linkType: hard -"@babel/types@npm:7.23.9": - version: 7.23.9 - resolution: "@babel/types@npm:7.23.9" +"@babel/types@npm:7.26.9": + version: 7.26.9 + resolution: "@babel/types@npm:7.26.9" dependencies: - "@babel/helper-string-parser": "npm:^7.23.4" - "@babel/helper-validator-identifier": "npm:^7.22.20" - to-fast-properties: "npm:^2.0.0" - checksum: 10/bed9634e5fd0f9dc63c84cfa83316c4cb617192db9fedfea464fca743affe93736d7bf2ebf418ee8358751a9d388e303af87a0c050cb5d87d5870c1b0154f6cb + "@babel/helper-string-parser": "npm:^7.25.9" + "@babel/helper-validator-identifier": "npm:^7.25.9" + checksum: 10/11b62ea7ed64ef7e39cc9b33852c1084064c3b970ae0eaa5db659241cfb776577d1e68cbff4de438bada885d3a827b52cc0f3746112d8e1bc672bb99a8eb5b56 languageName: node linkType: hard -"@babel/types@npm:^7.0.0, @babel/types@npm:^7.20.7, @babel/types@npm:^7.22.15, @babel/types@npm:^7.22.19, @babel/types@npm:^7.22.5, @babel/types@npm:^7.23.0, @babel/types@npm:^7.23.6, @babel/types@npm:^7.23.9, @babel/types@npm:^7.25.4, @babel/types@npm:^7.26.10, @babel/types@npm:^7.26.9, @babel/types@npm:^7.27.0, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4, @babel/types@npm:^7.8.3": +"@babel/types@npm:^7.0.0, @babel/types@npm:^7.20.7, @babel/types@npm:^7.22.15, @babel/types@npm:^7.22.19, @babel/types@npm:^7.22.5, @babel/types@npm:^7.23.0, @babel/types@npm:^7.25.4, @babel/types@npm:^7.26.10, @babel/types@npm:^7.26.9, @babel/types@npm:^7.27.0, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4": version: 7.27.0 resolution: "@babel/types@npm:7.27.0" dependencies: @@ -2681,7 +2659,7 @@ __metadata: languageName: node linkType: hard -"@jridgewell/gen-mapping@npm:^0.3.0, @jridgewell/gen-mapping@npm:^0.3.2, @jridgewell/gen-mapping@npm:^0.3.5": +"@jridgewell/gen-mapping@npm:^0.3.0, @jridgewell/gen-mapping@npm:^0.3.5": version: 0.3.8 resolution: "@jridgewell/gen-mapping@npm:0.3.8" dependencies: @@ -2733,7 +2711,7 @@ __metadata: languageName: node linkType: hard -"@jridgewell/trace-mapping@npm:^0.3.12, @jridgewell/trace-mapping@npm:^0.3.15, @jridgewell/trace-mapping@npm:^0.3.17, @jridgewell/trace-mapping@npm:^0.3.23, @jridgewell/trace-mapping@npm:^0.3.24, @jridgewell/trace-mapping@npm:^0.3.25, @jridgewell/trace-mapping@npm:^0.3.9": +"@jridgewell/trace-mapping@npm:^0.3.12, @jridgewell/trace-mapping@npm:^0.3.15, @jridgewell/trace-mapping@npm:^0.3.23, @jridgewell/trace-mapping@npm:^0.3.24, @jridgewell/trace-mapping@npm:^0.3.25, @jridgewell/trace-mapping@npm:^0.3.9": version: 0.3.25 resolution: "@jridgewell/trace-mapping@npm:0.3.25" dependencies: @@ -2743,14 +2721,14 @@ __metadata: languageName: node linkType: hard -"@lavamoat/aa@npm:^4.1.0, @lavamoat/aa@npm:^4.2.0": - version: 4.2.0 - resolution: "@lavamoat/aa@npm:4.2.0" +"@lavamoat/aa@npm:^4.2.0, @lavamoat/aa@npm:^4.3.2": + version: 4.3.2 + resolution: "@lavamoat/aa@npm:4.3.2" dependencies: - resolve: "npm:1.22.8" + resolve: "npm:1.22.10" bin: lavamoat-ls: src/cli.js - checksum: 10/13901bfe71b74fefac707d6f94651a1f26d72825f24391b59cc712d33e671dd492123891071c900104cf806a48b543b8d19c9f04110c532b3acfa6928fd00cc0 + checksum: 10/a13300a65a0628be5b32360f5ddd68e1e5f356f00d13191de08900a6df4ee713a9558abb688d7a852ba35e5bb6b0114f95cd26e107c81be11c204cd1619590cf languageName: node linkType: hard @@ -2769,44 +2747,25 @@ __metadata: languageName: node linkType: hard -"@lavamoat/lavapack@npm:6.1.1": - version: 6.1.1 - resolution: "@lavamoat/lavapack@npm:6.1.1" - dependencies: - JSONStream: "npm:1.3.5" - combine-source-map: "npm:0.8.0" - convert-source-map: "npm:2.0.0" - espree: "npm:9.6.1" - json-stable-stringify: "npm:1.1.1" - lavamoat-core: "npm:^15.2.0" - readable-stream: "npm:3.6.2" - through2: "npm:4.0.2" - umd: "npm:3.0.3" - checksum: 10/a4ffe42eece671f69284399b2581b59fec44e79b3b78c60ff67fa672bf342e34c9a558ad6dd49b113aadb2f2ac9d0a0129fd595e807bf9eaf1dbc2f821edbdce +"@lavamoat/lavatube@npm:^1.0.0": + version: 1.0.0 + resolution: "@lavamoat/lavatube@npm:1.0.0" + checksum: 10/3f5168897a2d7726107e9bb28fc57a1bb64e68e1f69216fd35ba81d5090aba8a4d3e617c1e5c53490a5b51282eae5ffe2d4d19fd65723f6554b98546956971b2 languageName: node linkType: hard -"@lavamoat/lavapack@patch:@lavamoat/lavapack@npm%3A6.1.1#./.yarn/patches/@lavamoat-lavapack-npm-6.1.1-b81af21193.patch::locator=root%40workspace%3A.": - version: 6.1.1 - resolution: "@lavamoat/lavapack@patch:@lavamoat/lavapack@npm%3A6.1.1#./.yarn/patches/@lavamoat-lavapack-npm-6.1.1-b81af21193.patch::version=6.1.1&hash=c65141&locator=root%40workspace%3A." +"@lavamoat/webpack@npm:^0.9.0-beta.0": + version: 0.9.0-beta.0 + resolution: "@lavamoat/webpack@npm:0.9.0-beta.0" dependencies: - JSONStream: "npm:1.3.5" - combine-source-map: "npm:0.8.0" - convert-source-map: "npm:2.0.0" - espree: "npm:9.6.1" + "@lavamoat/aa": "npm:^4.3.2" + browser-resolve: "npm:2.0.0" json-stable-stringify: "npm:1.1.1" - lavamoat-core: "npm:^15.2.0" - readable-stream: "npm:3.6.2" - through2: "npm:4.0.2" - umd: "npm:3.0.3" - checksum: 10/3462c799440fedc25d5ffa238a4ed3ad0ceb99dfa26ed93c2a117e534c14e53d1f0b117e27ac7cf4d3db4b1ccae8b612cfd895c4491f38872ea18d00b27e32d2 - languageName: node - linkType: hard - -"@lavamoat/lavatube@npm:^1.0.0": - version: 1.0.0 - resolution: "@lavamoat/lavatube@npm:1.0.0" - checksum: 10/3f5168897a2d7726107e9bb28fc57a1bb64e68e1f69216fd35ba81d5090aba8a4d3e617c1e5c53490a5b51282eae5ffe2d4d19fd65723f6554b98546956971b2 + lavamoat-core: "npm:^16.3.2" + ses: "npm:1.10.0" + peerDependencies: + webpack: ^5.80.2 + checksum: 10/d5e654bb0dc8a45b5c17e60cec508bab48c7d2e755a4bfc540f4520be5cc1c9afaf2ae1bb2f84f12ee0f40ad79533af72821f12a209bf839e2867233a6a3b7f3 languageName: node linkType: hard @@ -3919,13 +3878,13 @@ __metadata: languageName: node linkType: hard -"@metamask/post-message-stream@npm:^9.0.0": - version: 9.0.0 - resolution: "@metamask/post-message-stream@npm:9.0.0" +"@metamask/post-message-stream@npm:^10.0.0": + version: 10.0.0 + resolution: "@metamask/post-message-stream@npm:10.0.0" dependencies: - "@metamask/utils": "npm:^11.0.1" + "@metamask/utils": "npm:^11.4.0" readable-stream: "npm:3.6.2" - checksum: 10/5da711d3274e724452322939a5a77c60ed1d7ed73cdaa62e95c16debc443804d5a16de116dce742e05b3fbfa962e009dfeafc3a12a66f20e163617567f2cace5 + checksum: 10/7892b30e6107b662680dfba75c078ac925c9f45bf1f90a0c86035f206a6305ddf903086a02b08e6fe9aec9ec32a0fecd2ff31941d5961d45ee782c07993846c5 languageName: node linkType: hard @@ -4260,7 +4219,7 @@ __metadata: "@metamask/object-multiplex": "npm:^2.1.0" "@metamask/permission-controller": "npm:^11.0.6" "@metamask/phishing-controller": "npm:^12.5.0" - "@metamask/post-message-stream": "npm:^9.0.0" + "@metamask/post-message-stream": "npm:^10.0.0" "@metamask/rpc-errors": "npm:^7.0.2" "@metamask/snaps-registry": "npm:^3.2.3" "@metamask/snaps-rpc-methods": "workspace:^" @@ -4326,18 +4285,15 @@ __metadata: version: 0.0.0-use.local resolution: "@metamask/snaps-execution-environments@workspace:packages/snaps-execution-environments" dependencies: - "@babel/core": "npm:^7.23.2" - "@babel/preset-env": "npm:^7.23.2" - "@babel/preset-typescript": "npm:^7.23.2" "@esbuild-plugins/node-globals-polyfill": "npm:^0.2.3" "@esbuild-plugins/node-modules-polyfill": "npm:^0.2.2" "@lavamoat/allow-scripts": "npm:^3.0.4" - "@lavamoat/lavapack": "npm:^6.1.1" "@lavamoat/lavatube": "npm:^1.0.0" + "@lavamoat/webpack": "npm:^0.9.0-beta.0" "@metamask/auto-changelog": "npm:^5.0.2" "@metamask/json-rpc-engine": "npm:^10.0.2" "@metamask/object-multiplex": "npm:^2.1.0" - "@metamask/post-message-stream": "npm:^9.0.0" + "@metamask/post-message-stream": "npm:^10.0.0" "@metamask/providers": "npm:^22.1.0" "@metamask/rpc-errors": "npm:^7.0.2" "@metamask/snaps-sdk": "workspace:^" @@ -4350,14 +4306,13 @@ __metadata: "@ts-bridge/cli": "npm:^0.6.1" "@types/jest": "npm:^27.5.1" "@types/node": "npm:18.14.2" + "@types/webpack-env": "npm:^1.18.1" "@vitest/browser": "npm:^3.1.1" "@vitest/coverage-v8": "npm:^3.1.1" - babel-plugin-tsconfig-paths-module-resolver: "npm:^1.0.4" - babelify: "npm:^10.0.0" - browserify: "npm:^17.0.0" deepmerge: "npm:^4.2.2" depcheck: "npm:^1.4.7" eslint: "npm:^9.11.0" + html-webpack-plugin: "npm:^5.5.0" istanbul-lib-coverage: "npm:^3.2.0" istanbul-lib-report: "npm:^3.0.0" istanbul-reports: "npm:^3.1.5" @@ -4365,21 +4320,24 @@ __metadata: jest-environment-node: "npm:^29.5.0" jest-fetch-mock: "npm:^3.0.3" jest-silent-reporter: "npm:^0.6.0" - lavamoat: "npm:^8.0.4" - lavamoat-browserify: "npm:^17.0.5" + lavamoat: "npm:^9.0.8" nanoid: "npm:^3.3.10" prettier: "npm:^3.3.3" readable-stream: "npm:^3.6.2" rimraf: "npm:^4.1.2" serve-handler: "npm:^6.1.5" ses: "npm:^1.12.0" + stream-browserify: "npm:^3.0.0" terser: "npm:^5.17.7" + ts-loader: "npm:^9.5.2" ts-node: "npm:^10.9.1" + tsconfig-paths-webpack-plugin: "npm:^4.0.1" typescript: "npm:~5.3.3" vite: "npm:^6.2.7" vite-tsconfig-paths: "npm:^4.0.5" vitest: "npm:^3.1.1" - yargs: "npm:^17.7.1" + webpack: "npm:^5.97.1" + webpack-merge: "npm:^5.9.0" languageName: unknown linkType: soft @@ -4602,7 +4560,7 @@ __metadata: "@metamask/base-controller": "npm:^8.0.0" "@metamask/key-tree": "npm:^10.1.1" "@metamask/permission-controller": "npm:^11.0.6" - "@metamask/post-message-stream": "npm:^9.0.0" + "@metamask/post-message-stream": "npm:^10.0.0" "@metamask/rpc-errors": "npm:^7.0.2" "@metamask/slip44": "npm:^4.1.0" "@metamask/snaps-registry": "npm:^3.2.3" @@ -5910,12 +5868,12 @@ __metadata: languageName: node linkType: hard -"@types/babel__traverse@npm:*, @types/babel__traverse@npm:7.20.5, @types/babel__traverse@npm:^7.0.6": - version: 7.20.5 - resolution: "@types/babel__traverse@npm:7.20.5" +"@types/babel__traverse@npm:*, @types/babel__traverse@npm:7.20.6, @types/babel__traverse@npm:^7.0.6": + version: 7.20.6 + resolution: "@types/babel__traverse@npm:7.20.6" dependencies: "@babel/types": "npm:^7.20.7" - checksum: 10/f0352d537448e1e37f27e6bb8c962d7893720a92fde9d8601a68a93dbc14e15c088b4c0c8f71021d0966d09fba802ef3de11fdb6766c33993f8cf24f1277c6a9 + checksum: 10/63d13a3789aa1e783b87a8b03d9fb2c2c90078de7782422feff1631b8c2a25db626e63a63ac5a1465d47359201c73069dacb4b52149d17c568187625da3064ae languageName: node linkType: hard @@ -7895,7 +7853,7 @@ __metadata: languageName: node linkType: hard -"JSONStream@npm:1.3.5, JSONStream@npm:^1.0.3": +"JSONStream@npm:^1.0.3": version: 1.3.5 resolution: "JSONStream@npm:1.3.5" dependencies: @@ -7995,7 +7953,7 @@ __metadata: languageName: node linkType: hard -"acorn@npm:^8.0.4, acorn@npm:^8.11.0, acorn@npm:^8.14.0, acorn@npm:^8.4.1, acorn@npm:^8.8.2, acorn@npm:^8.9.0": +"acorn@npm:^8.0.4, acorn@npm:^8.11.0, acorn@npm:^8.14.0, acorn@npm:^8.4.1, acorn@npm:^8.8.2": version: 8.14.0 resolution: "acorn@npm:8.14.0" bin: @@ -8437,19 +8395,6 @@ __metadata: languageName: node linkType: hard -"babel-plugin-module-resolver@npm:^4.1.0": - version: 4.1.0 - resolution: "babel-plugin-module-resolver@npm:4.1.0" - dependencies: - find-babel-config: "npm:^1.2.0" - glob: "npm:^7.1.6" - pkg-up: "npm:^3.1.0" - reselect: "npm:^4.0.0" - resolve: "npm:^1.13.1" - checksum: 10/a3dd6429ef90066c7428d35ac029705c9337dd5d7b61a5c94262eccaf690517f3670be1aa95c472edc25b2c5e9c49f78350665da7c90d20b295287259d0a5928 - languageName: node - linkType: hard - "babel-plugin-polyfill-corejs2@npm:^0.4.6": version: 0.4.6 resolution: "babel-plugin-polyfill-corejs2@npm:0.4.6" @@ -8486,16 +8431,6 @@ __metadata: languageName: node linkType: hard -"babel-plugin-tsconfig-paths-module-resolver@npm:^1.0.4": - version: 1.0.4 - resolution: "babel-plugin-tsconfig-paths-module-resolver@npm:1.0.4" - dependencies: - babel-plugin-module-resolver: "npm:^4.1.0" - tsconfig-paths: "npm:^3.11.0" - checksum: 10/393bc03ae7353a0402a98b10701e2a4ea0c68c4a043e31dcb1762cd312143e7858256828c67f7ccf701a892efc87d61cab7bb21f112ed940b7dde8500cdcbe3d - languageName: node - linkType: hard - "babel-preset-current-node-syntax@npm:^1.0.0": version: 1.0.1 resolution: "babel-preset-current-node-syntax@npm:1.0.1" @@ -9504,7 +9439,7 @@ __metadata: languageName: node linkType: hard -"combine-source-map@npm:0.8.0, combine-source-map@npm:^0.8.0, combine-source-map@npm:~0.8.0": +"combine-source-map@npm:^0.8.0, combine-source-map@npm:~0.8.0": version: 0.8.0 resolution: "combine-source-map@npm:0.8.0" dependencies: @@ -9603,27 +9538,27 @@ __metadata: languageName: node linkType: hard -"concat-stream@npm:2.0.0, concat-stream@npm:^2.0.0": - version: 2.0.0 - resolution: "concat-stream@npm:2.0.0" +"concat-stream@npm:^1.6.0, concat-stream@npm:^1.6.1, concat-stream@npm:~1.6.0": + version: 1.6.2 + resolution: "concat-stream@npm:1.6.2" dependencies: buffer-from: "npm:^1.0.0" inherits: "npm:^2.0.3" - readable-stream: "npm:^3.0.2" + readable-stream: "npm:^2.2.2" typedarray: "npm:^0.0.6" - checksum: 10/250e576d0617e7c58e1c4b2dd6fe69560f316d2c962a409f9f3aac794018499ddb31948b1e4296f217008e124cd5d526432097745157fe504b5d9f3dc469eadb + checksum: 10/71db903c84fc073ca35a274074e8d26c4330713d299f8623e993c448c1f6bf8b967806dd1d1a7b0f8add6f15ab1af7435df21fe79b4fe7efd78420c89e054e28 languageName: node linkType: hard -"concat-stream@npm:^1.6.0, concat-stream@npm:^1.6.1, concat-stream@npm:~1.6.0": - version: 1.6.2 - resolution: "concat-stream@npm:1.6.2" +"concat-stream@npm:^2.0.0": + version: 2.0.0 + resolution: "concat-stream@npm:2.0.0" dependencies: buffer-from: "npm:^1.0.0" inherits: "npm:^2.0.3" - readable-stream: "npm:^2.2.2" + readable-stream: "npm:^3.0.2" typedarray: "npm:^0.0.6" - checksum: 10/71db903c84fc073ca35a274074e8d26c4330713d299f8623e993c448c1f6bf8b967806dd1d1a7b0f8add6f15ab1af7435df21fe79b4fe7efd78420c89e054e28 + checksum: 10/250e576d0617e7c58e1c4b2dd6fe69560f316d2c962a409f9f3aac794018499ddb31948b1e4296f217008e124cd5d526432097745157fe504b5d9f3dc469eadb languageName: node linkType: hard @@ -9687,13 +9622,6 @@ __metadata: languageName: node linkType: hard -"convert-source-map@npm:2.0.0, convert-source-map@npm:^2.0.0": - version: 2.0.0 - resolution: "convert-source-map@npm:2.0.0" - checksum: 10/c987be3ec061348cdb3c2bfb924bec86dea1eacad10550a85ca23edb0fe3556c3a61c7399114f3331ccb3499d7fd0285ab24566e5745929412983494c3926e15 - languageName: node - linkType: hard - "convert-source-map@npm:^1.5.0, convert-source-map@npm:^1.6.0, convert-source-map@npm:^1.8.0": version: 1.9.0 resolution: "convert-source-map@npm:1.9.0" @@ -9701,6 +9629,13 @@ __metadata: languageName: node linkType: hard +"convert-source-map@npm:^2.0.0": + version: 2.0.0 + resolution: "convert-source-map@npm:2.0.0" + checksum: 10/c987be3ec061348cdb3c2bfb924bec86dea1eacad10550a85ca23edb0fe3556c3a61c7399114f3331ccb3499d7fd0285ab24566e5745929412983494c3926e15 + languageName: node + linkType: hard + "convert-source-map@npm:~1.1.0": version: 1.1.3 resolution: "convert-source-map@npm:1.1.3" @@ -9775,6 +9710,19 @@ __metadata: languageName: node linkType: hard +"corepack@npm:0.30.0": + version: 0.30.0 + resolution: "corepack@npm:0.30.0" + bin: + corepack: ./dist/corepack.js + pnpm: ./dist/pnpm.js + pnpx: ./dist/pnpx.js + yarn: ./dist/yarn.js + yarnpkg: ./dist/yarnpkg.js + checksum: 10/19650318e191b146b5749a90f74617ee8ebdc66afaabaf84d5ba4b2a3b4dcf87d1a58c8cab05bc6585db5969bc2027c8ea2bb7d54367ecce895f43aadced4334 + languageName: node + linkType: hard + "cosmiconfig@npm:^7.0.0, cosmiconfig@npm:^7.1.0": version: 7.1.0 resolution: "cosmiconfig@npm:7.1.0" @@ -10509,18 +10457,6 @@ __metadata: languageName: node linkType: hard -"duplexify@npm:4.1.2": - version: 4.1.2 - resolution: "duplexify@npm:4.1.2" - dependencies: - end-of-stream: "npm:^1.4.1" - inherits: "npm:^2.0.3" - readable-stream: "npm:^3.1.1" - stream-shift: "npm:^1.0.0" - checksum: 10/eeb4f362defa4da0b2474d853bc4edfa446faeb1bde76819a68035632c118de91f6a58e6fe05c84f6e6de2548f8323ec8473aa9fe37332c99e4d77539747193e - languageName: node - linkType: hard - "eastasianwidth@npm:^0.2.0": version: 0.2.0 resolution: "eastasianwidth@npm:0.2.0" @@ -10617,7 +10553,7 @@ __metadata: languageName: node linkType: hard -"enhanced-resolve@npm:^5.15.0, enhanced-resolve@npm:^5.17.1, enhanced-resolve@npm:^5.7.0": +"enhanced-resolve@npm:^5.0.0, enhanced-resolve@npm:^5.15.0, enhanced-resolve@npm:^5.17.1, enhanced-resolve@npm:^5.7.0": version: 5.18.1 resolution: "enhanced-resolve@npm:5.18.1" dependencies: @@ -11125,7 +11061,7 @@ __metadata: languageName: node linkType: hard -"eslint-visitor-keys@npm:^3.4.1, eslint-visitor-keys@npm:^3.4.3": +"eslint-visitor-keys@npm:^3.4.3": version: 3.4.3 resolution: "eslint-visitor-keys@npm:3.4.3" checksum: 10/3f357c554a9ea794b094a09bd4187e5eacd1bc0d0653c3adeb87962c548e6a1ab8f982b86963ae1337f5d976004146536dcee5d0e2806665b193fbfbf1a9231b @@ -11188,17 +11124,6 @@ __metadata: languageName: node linkType: hard -"espree@npm:9.6.1": - version: 9.6.1 - resolution: "espree@npm:9.6.1" - dependencies: - acorn: "npm:^8.9.0" - acorn-jsx: "npm:^5.3.2" - eslint-visitor-keys: "npm:^3.4.1" - checksum: 10/255ab260f0d711a54096bdeda93adff0eadf02a6f9b92f02b323e83a2b7fc258797919437ad331efec3930475feb0142c5ecaaf3cdab4befebd336d47d3f3134 - languageName: node - linkType: hard - "espree@npm:^10.0.1, espree@npm:^10.1.0, espree@npm:^10.3.0": version: 10.3.0 resolution: "espree@npm:10.3.0" @@ -11744,16 +11669,6 @@ __metadata: languageName: node linkType: hard -"find-babel-config@npm:^2.0.0": - version: 2.0.0 - resolution: "find-babel-config@npm:2.0.0" - dependencies: - json5: "npm:^2.1.1" - path-exists: "npm:^4.0.0" - checksum: 10/06e50e920a2b35ff1c90fe33382e48aae70db4bdb6bbb58a4fdb5e687b50074e8b791a8ef2d9bb4b582c8d624d34b0cc763613c7cb585eeb352cd4521976f35a - languageName: node - linkType: hard - "find-root@npm:^1.1.0": version: 1.1.0 resolution: "find-root@npm:1.1.0" @@ -11761,15 +11676,6 @@ __metadata: languageName: node linkType: hard -"find-up@npm:^3.0.0": - version: 3.0.0 - resolution: "find-up@npm:3.0.0" - dependencies: - locate-path: "npm:^3.0.0" - checksum: 10/38eba3fe7a66e4bc7f0f5a1366dc25508b7cfc349f852640e3678d26ad9a6d7e2c43eff0a472287de4a9753ef58f066a0ea892a256fa3636ad51b3fe1e17fae9 - languageName: node - linkType: hard - "find-up@npm:^4.0.0, find-up@npm:^4.1.0": version: 4.1.0 resolution: "find-up@npm:4.1.0" @@ -12181,7 +12087,7 @@ __metadata: languageName: node linkType: hard -"glob@npm:^7.1.0, glob@npm:^7.1.3, glob@npm:^7.1.4, glob@npm:^7.1.6, glob@npm:^7.1.7": +"glob@npm:^7.1.0, glob@npm:^7.1.3, glob@npm:^7.1.4, glob@npm:^7.1.7": version: 7.2.3 resolution: "glob@npm:7.2.3" dependencies: @@ -13988,12 +13894,12 @@ __metadata: languageName: node linkType: hard -"jsesc@npm:^2.5.1": - version: 2.5.2 - resolution: "jsesc@npm:2.5.2" +"jsesc@npm:^3.0.2": + version: 3.1.0 + resolution: "jsesc@npm:3.1.0" bin: jsesc: bin/jsesc - checksum: 10/d2096abdcdec56969764b40ffc91d4a23408aa2f351b4d1c13f736f25476643238c43fdbaf38a191c26b1b78fd856d965f5d4d0dde7b89459cd94025190cdf13 + checksum: 10/20bd37a142eca5d1794f354db8f1c9aeb54d85e1f5c247b371de05d23a9751ecd7bd3a9c4fc5298ea6fa09a100dafb4190fa5c98c6610b75952c3487f3ce7967 languageName: node linkType: hard @@ -14078,7 +13984,7 @@ __metadata: languageName: node linkType: hard -"json5@npm:^2.1.1, json5@npm:^2.1.2, json5@npm:^2.2.3": +"json5@npm:^2.1.2, json5@npm:^2.2.3": version: 2.2.3 resolution: "json5@npm:2.2.3" bin: @@ -14189,93 +14095,56 @@ __metadata: languageName: node linkType: hard -"lavamoat-browserify@npm:17.0.5": - version: 17.0.5 - resolution: "lavamoat-browserify@npm:17.0.5" - dependencies: - "@lavamoat/aa": "npm:^4.1.0" - "@lavamoat/lavapack": "npm:^6.1.1" - browser-resolve: "npm:2.0.0" - concat-stream: "npm:2.0.0" - convert-source-map: "npm:2.0.0" - duplexify: "npm:4.1.2" - json-stable-stringify: "npm:1.1.1" - lavamoat-core: "npm:^15.2.0" - pify: "npm:5.0.0" - readable-stream: "npm:3.6.2" - source-map: "npm:0.7.4" - through2: "npm:4.0.2" - checksum: 10/cb2ce356f53214b6f596902232baac6a244186c30fb04580c504f12c53f3712b0d2acd41a038f8f7445d065d749c4125f09c9c94a961c1b9ed373869ecf4735a - languageName: node - linkType: hard - -"lavamoat-browserify@patch:lavamoat-browserify@npm%3A17.0.5#./.yarn/patches/lavamoat-browserify-npm-17.0.5-16c00e9ef9.patch::locator=root%40workspace%3A.": - version: 17.0.5 - resolution: "lavamoat-browserify@patch:lavamoat-browserify@npm%3A17.0.5#./.yarn/patches/lavamoat-browserify-npm-17.0.5-16c00e9ef9.patch::version=17.0.5&hash=8a0530&locator=root%40workspace%3A." - dependencies: - "@lavamoat/aa": "npm:^4.1.0" - "@lavamoat/lavapack": "npm:^6.1.1" - browser-resolve: "npm:2.0.0" - concat-stream: "npm:2.0.0" - convert-source-map: "npm:2.0.0" - duplexify: "npm:4.1.2" - json-stable-stringify: "npm:1.1.1" - lavamoat-core: "npm:^15.2.0" - pify: "npm:5.0.0" - readable-stream: "npm:3.6.2" - source-map: "npm:0.7.4" - through2: "npm:4.0.2" - checksum: 10/9abc2a38bdaf41a2b508319a5ad1cb82095818ee5b1cb41c53431b4e44ef2a8c9ce731622573b9642e3ce7dda4a1945af601425ce22b3afdb88fec22dc398b4e - languageName: node - linkType: hard - -"lavamoat-core@npm:^15.2.0": - version: 15.2.0 - resolution: "lavamoat-core@npm:15.2.0" +"lavamoat-core@npm:^16.3.2": + version: 16.3.2 + resolution: "lavamoat-core@npm:16.3.2" dependencies: - "@babel/types": "npm:7.23.9" + "@babel/types": "npm:7.26.9" json-stable-stringify: "npm:1.1.1" - lavamoat-tofu: "npm:^7.2.1" + lavamoat-tofu: "npm:^8.0.6" merge-deep: "npm:3.0.3" - type-fest: "npm:4.10.2" - checksum: 10/877379f61c6736d3ce621864fca61d89351b445b39d942c22f1acee2fb668681fd61af01bef42709aab6973e86d4a7e517613fca5a71ae20844de686e39d90c7 + ses: "npm:1.10.0" + type-fest: "npm:4.30.0" + bin: + lavamoat-sort-policy: src/policy-sort-cli.js + checksum: 10/056ee178f5cbf6c951b424a1ae11c519be8f99d3bbd9f570c818fc397f34857160c2009a439b1e128dd8d6c583d6d4ce20510de89137fe79618c08908afe7b79 languageName: node linkType: hard -"lavamoat-tofu@npm:^7.2.1": - version: 7.2.1 - resolution: "lavamoat-tofu@npm:7.2.1" +"lavamoat-tofu@npm:^8.0.6": + version: 8.0.6 + resolution: "lavamoat-tofu@npm:8.0.6" dependencies: - "@babel/parser": "npm:7.23.9" - "@babel/traverse": "npm:7.23.9" - "@babel/types": "npm:7.23.9" - "@types/babel__traverse": "npm:7.20.5" - type-fest: "npm:4.10.2" + "@babel/parser": "npm:7.26.9" + "@babel/traverse": "npm:7.26.9" + "@babel/types": "npm:7.26.9" + "@types/babel__traverse": "npm:7.20.6" + type-fest: "npm:4.30.0" peerDependencies: - lavamoat-core: ^15.2.0 - checksum: 10/64b97c5ac32d0aaaad585cdf4760cd6da4a2d6f1e10a28a13e2bd26cb0f0f285ddb566917df322d15c47c20d6c34661ea7fbd97bd5a451287bb4a97bad7c970d + lavamoat-core: ">15.4.0" + checksum: 10/9cf716d06f98834e3dad19723199c38a92d0d1a17a560be1af70a5fe338f5712690d974a97d302fa811bb4e7c594dd1cbd483c34895416a7edd0fd5e850179fb languageName: node linkType: hard -"lavamoat@npm:^8.0.4": - version: 8.0.4 - resolution: "lavamoat@npm:8.0.4" +"lavamoat@npm:^9.0.8": + version: 9.0.8 + resolution: "lavamoat@npm:9.0.8" dependencies: - "@babel/code-frame": "npm:7.23.5" - "@babel/highlight": "npm:7.23.4" - "@lavamoat/aa": "npm:^4.1.0" + "@babel/code-frame": "npm:7.26.2" + "@babel/highlight": "npm:7.25.9" + "@lavamoat/aa": "npm:^4.3.2" bindings: "npm:1.5.0" + corepack: "npm:0.30.0" htmlescape: "npm:1.1.1" - json-stable-stringify: "npm:1.1.1" - lavamoat-core: "npm:^15.2.0" - lavamoat-tofu: "npm:^7.2.1" - node-gyp-build: "npm:4.8.0" - resolve: "npm:1.22.8" + lavamoat-core: "npm:^16.3.2" + lavamoat-tofu: "npm:^8.0.6" + node-gyp-build: "npm:4.8.4" + resolve: "npm:1.22.10" yargs: "npm:17.7.2" bin: lavamoat: src/cli.js lavamoat-run-command: src/run-command.js - checksum: 10/116db4aa9ebee06978fcd13b1c186dbd9e7e9cc859dbf05dc01d16380888af8770c10cc30080ffd15e2d18746bcc2c6671595fc3517d5805083bcc406a2b3f4d + checksum: 10/4c540da3d06f6433e10d7e3f603f46bd7cc9acd1acee88a50b265d6848ba9d8b3cc6589650cc6b0be44289fcfa24d41ce0be4bfb368db228348e75327e3b161b languageName: node linkType: hard @@ -14387,16 +14256,6 @@ __metadata: languageName: node linkType: hard -"locate-path@npm:^3.0.0": - version: 3.0.0 - resolution: "locate-path@npm:3.0.0" - dependencies: - p-locate: "npm:^3.0.0" - path-exists: "npm:^3.0.0" - checksum: 10/53db3996672f21f8b0bf2a2c645ae2c13ffdae1eeecfcd399a583bce8516c0b88dcb4222ca6efbbbeb6949df7e46860895be2c02e8d3219abd373ace3bfb4e11 - languageName: node - linkType: hard - "locate-path@npm:^5.0.0": version: 5.0.0 resolution: "locate-path@npm:5.0.0" @@ -14775,7 +14634,7 @@ __metadata: languageName: node linkType: hard -"micromatch@npm:^4.0.2, micromatch@npm:^4.0.4, micromatch@npm:^4.0.8": +"micromatch@npm:^4.0.0, micromatch@npm:^4.0.2, micromatch@npm:^4.0.4, micromatch@npm:^4.0.8": version: 4.0.8 resolution: "micromatch@npm:4.0.8" dependencies: @@ -15281,14 +15140,14 @@ __metadata: languageName: node linkType: hard -"node-gyp-build@npm:4.8.0": - version: 4.8.0 - resolution: "node-gyp-build@npm:4.8.0" +"node-gyp-build@npm:4.8.4": + version: 4.8.4 + resolution: "node-gyp-build@npm:4.8.4" bin: node-gyp-build: bin.js node-gyp-build-optional: optional.js node-gyp-build-test: build-test.js - checksum: 10/80f410ab412df38e84171d3634a5716b6c6f14ecfa4eb971424d289381fb76f8bcbe1b666419ceb2c81060e558fd7c6d70cc0f60832bcca6a1559098925d9657 + checksum: 10/6a7d62289d1afc419fc8fc9bd00aa4e554369e50ca0acbc215cb91446148b75ff7e2a3b53c2c5b2c09a39d416d69f3d3237937860373104b5fe429bf30ad9ac5 languageName: node linkType: hard @@ -15652,7 +15511,7 @@ __metadata: languageName: node linkType: hard -"p-limit@npm:^2.0.0, p-limit@npm:^2.2.0": +"p-limit@npm:^2.2.0": version: 2.3.0 resolution: "p-limit@npm:2.3.0" dependencies: @@ -15670,15 +15529,6 @@ __metadata: languageName: node linkType: hard -"p-locate@npm:^3.0.0": - version: 3.0.0 - resolution: "p-locate@npm:3.0.0" - dependencies: - p-limit: "npm:^2.0.0" - checksum: 10/83991734a9854a05fe9dbb29f707ea8a0599391f52daac32b86f08e21415e857ffa60f0e120bfe7ce0cc4faf9274a50239c7895fc0d0579d08411e513b83a4ae - languageName: node - linkType: hard - "p-locate@npm:^4.1.0": version: 4.1.0 resolution: "p-locate@npm:4.1.0" @@ -15850,13 +15700,6 @@ __metadata: languageName: node linkType: hard -"path-exists@npm:^3.0.0": - version: 3.0.0 - resolution: "path-exists@npm:3.0.0" - checksum: 10/96e92643aa34b4b28d0de1cd2eba52a1c5313a90c6542d03f62750d82480e20bfa62bc865d5cfc6165f5fcd5aeb0851043c40a39be5989646f223300021bae0a - languageName: node - linkType: hard - "path-exists@npm:^4.0.0": version: 4.0.0 resolution: "path-exists@npm:4.0.0" @@ -16017,7 +15860,7 @@ __metadata: languageName: node linkType: hard -"pify@npm:5.0.0, pify@npm:^5.0.0": +"pify@npm:^5.0.0": version: 5.0.0 resolution: "pify@npm:5.0.0" checksum: 10/443e3e198ad6bfa8c0c533764cf75c9d5bc976387a163792fb553ffe6ce923887cf14eebf5aea9b7caa8eab930da8c33612990ae85bd8c2bc18bedb9eae94ecb @@ -16049,15 +15892,6 @@ __metadata: languageName: node linkType: hard -"pkg-up@npm:^3.1.0": - version: 3.1.0 - resolution: "pkg-up@npm:3.1.0" - dependencies: - find-up: "npm:^3.0.0" - checksum: 10/5bac346b7c7c903613c057ae3ab722f320716199d753f4a7d053d38f2b5955460f3e6ab73b4762c62fd3e947f58e04f1343e92089e7bb6091c90877406fcd8c8 - languageName: node - linkType: hard - "playwright-core@npm:1.49.1": version: 1.49.1 resolution: "playwright-core@npm:1.49.1" @@ -16709,7 +16543,7 @@ __metadata: languageName: node linkType: hard -"readable-stream@npm:3, readable-stream@npm:3.6.2, readable-stream@npm:^3.0.2, readable-stream@npm:^3.0.6, readable-stream@npm:^3.1.1, readable-stream@npm:^3.4.0, readable-stream@npm:^3.5.0, readable-stream@npm:^3.6.0, readable-stream@npm:^3.6.2": +"readable-stream@npm:3.6.2, readable-stream@npm:^3.0.2, readable-stream@npm:^3.0.6, readable-stream@npm:^3.1.1, readable-stream@npm:^3.4.0, readable-stream@npm:^3.5.0, readable-stream@npm:^3.6.0, readable-stream@npm:^3.6.2": version: 3.6.2 resolution: "readable-stream@npm:3.6.2" dependencies: @@ -16736,15 +16570,15 @@ __metadata: linkType: hard "readable-stream@npm:^3.6.2 || ^4.4.2": - version: 4.4.2 - resolution: "readable-stream@npm:4.4.2" + version: 4.5.2 + resolution: "readable-stream@npm:4.5.2" dependencies: abort-controller: "npm:^3.0.0" buffer: "npm:^6.0.3" events: "npm:^3.3.0" process: "npm:^0.11.10" string_decoder: "npm:^1.3.0" - checksum: 10/02950422df3f20d2e231f40e9f312e3306b7d4c2a9716849509d0d6668eea24657c96f85ed057e38cc576b34a72db613fbde9ba3689ca8de466cd31bdda96827 + checksum: 10/01b128a559c5fd76a898495f858cf0a8839f135e6a69e3409f986e88460134791657eb46a2ff16826f331682a3c4d0c5a75cef5e52ef259711021ba52b1c2e82 languageName: node linkType: hard @@ -16917,7 +16751,7 @@ __metadata: languageName: node linkType: hard -"reselect@npm:^4.0.0, reselect@npm:^4.1.8": +"reselect@npm:^4.1.8": version: 4.1.8 resolution: "reselect@npm:4.1.8" checksum: 10/199984d9872f71cd207f4aa6e6fd2bd48d95154f7aa9b3aee3398335f39f5491059e732f28c12e9031d5d434adab2c458dc8af5afb6564d0ad37e1644445e09c @@ -16971,20 +16805,7 @@ __metadata: languageName: node linkType: hard -"resolve@npm:1.22.8": - version: 1.22.8 - resolution: "resolve@npm:1.22.8" - dependencies: - is-core-module: "npm:^2.13.0" - path-parse: "npm:^1.0.7" - supports-preserve-symlinks-flag: "npm:^1.0.0" - bin: - resolve: bin/resolve - checksum: 10/c473506ee01eb45cbcfefb68652ae5759e092e6b0fb64547feadf9736a6394f258fbc6f88e00c5ca36d5477fbb65388b272432a3600fa223062e54333c156753 - languageName: node - linkType: hard - -"resolve@npm:^1.1.4, resolve@npm:^1.13.1, resolve@npm:^1.14.2, resolve@npm:^1.17.0, resolve@npm:^1.19.0, resolve@npm:^1.20.0, resolve@npm:^1.22.1, resolve@npm:^1.22.3, resolve@npm:^1.22.4, resolve@npm:^1.4.0": +"resolve@npm:1.22.10, resolve@npm:^1.1.4, resolve@npm:^1.14.2, resolve@npm:^1.17.0, resolve@npm:^1.19.0, resolve@npm:^1.20.0, resolve@npm:^1.22.1, resolve@npm:^1.22.3, resolve@npm:^1.22.4, resolve@npm:^1.4.0": version: 1.22.10 resolution: "resolve@npm:1.22.10" dependencies: @@ -16997,20 +16818,7 @@ __metadata: languageName: node linkType: hard -"resolve@patch:resolve@npm%3A1.22.8#optional!builtin": - version: 1.22.8 - resolution: "resolve@patch:resolve@npm%3A1.22.8#optional!builtin::version=1.22.8&hash=c3c19d" - dependencies: - is-core-module: "npm:^2.13.0" - path-parse: "npm:^1.0.7" - supports-preserve-symlinks-flag: "npm:^1.0.0" - bin: - resolve: bin/resolve - checksum: 10/f345cd37f56a2c0275e3fe062517c650bb673815d885e7507566df589375d165bbbf4bdb6aa95600a9bc55f4744b81f452b5a63f95b9f10a72787dba3c90890a - languageName: node - linkType: hard - -"resolve@patch:resolve@npm%3A^1.1.4#optional!builtin, resolve@patch:resolve@npm%3A^1.13.1#optional!builtin, resolve@patch:resolve@npm%3A^1.14.2#optional!builtin, resolve@patch:resolve@npm%3A^1.17.0#optional!builtin, resolve@patch:resolve@npm%3A^1.19.0#optional!builtin, resolve@patch:resolve@npm%3A^1.20.0#optional!builtin, resolve@patch:resolve@npm%3A^1.22.1#optional!builtin, resolve@patch:resolve@npm%3A^1.22.3#optional!builtin, resolve@patch:resolve@npm%3A^1.22.4#optional!builtin, resolve@patch:resolve@npm%3A^1.4.0#optional!builtin": +"resolve@patch:resolve@npm%3A1.22.10#optional!builtin, resolve@patch:resolve@npm%3A^1.1.4#optional!builtin, resolve@patch:resolve@npm%3A^1.14.2#optional!builtin, resolve@patch:resolve@npm%3A^1.17.0#optional!builtin, resolve@patch:resolve@npm%3A^1.19.0#optional!builtin, resolve@patch:resolve@npm%3A^1.20.0#optional!builtin, resolve@patch:resolve@npm%3A^1.22.1#optional!builtin, resolve@patch:resolve@npm%3A^1.22.3#optional!builtin, resolve@patch:resolve@npm%3A^1.22.4#optional!builtin, resolve@patch:resolve@npm%3A^1.4.0#optional!builtin": version: 1.22.10 resolution: "resolve@patch:resolve@npm%3A1.22.10#optional!builtin::version=1.22.10&hash=c3c19d" dependencies: @@ -17357,7 +17165,7 @@ __metadata: languageName: node linkType: hard -"schema-utils@npm:^3.0.0, schema-utils@npm:^3.1.1, schema-utils@npm:^3.2.0": +"schema-utils@npm:^3.0.0, schema-utils@npm:^3.1.1": version: 3.3.0 resolution: "schema-utils@npm:3.3.0" dependencies: @@ -17412,7 +17220,7 @@ __metadata: languageName: node linkType: hard -"semver@npm:^7.0.0, semver@npm:^7.1.1, semver@npm:^7.3.5, semver@npm:^7.3.8, semver@npm:^7.5.3, semver@npm:^7.5.4, semver@npm:^7.6.0, semver@npm:^7.6.3": +"semver@npm:^7.0.0, semver@npm:^7.1.1, semver@npm:^7.3.4, semver@npm:^7.3.5, semver@npm:^7.3.8, semver@npm:^7.5.3, semver@npm:^7.5.4, semver@npm:^7.6.0, semver@npm:^7.6.3": version: 7.7.1 resolution: "semver@npm:7.7.1" bin: @@ -17524,6 +17332,15 @@ __metadata: languageName: node linkType: hard +"ses@npm:1.10.0": + version: 1.10.0 + resolution: "ses@npm:1.10.0" + dependencies: + "@endo/env-options": "npm:^1.1.8" + checksum: 10/57073350cab333e3c4516e8ea09e1ddd2f81fdd954dc48798548d098550d1da8bb3266def0461a34a4e11c0a1027bde03e05f2ac5feb512ff3fc33dd327a9bb2 + languageName: node + linkType: hard + "ses@npm:^1.12.0": version: 1.12.0 resolution: "ses@npm:1.12.0" @@ -17953,13 +17770,6 @@ __metadata: languageName: node linkType: hard -"source-map@npm:0.7.4, source-map@npm:^0.7.3": - version: 0.7.4 - resolution: "source-map@npm:0.7.4" - checksum: 10/a0f7c9b797eda93139842fd28648e868a9a03ea0ad0d9fa6602a0c1f17b7fb6a7dcca00c144476cccaeaae5042e99a285723b1a201e844ad67221bf5d428f1dc - languageName: node - linkType: hard - "source-map@npm:^0.5.7, source-map@npm:~0.5.3": version: 0.5.7 resolution: "source-map@npm:0.5.7" @@ -17974,6 +17784,13 @@ __metadata: languageName: node linkType: hard +"source-map@npm:^0.7.3, source-map@npm:^0.7.4": + version: 0.7.4 + resolution: "source-map@npm:0.7.4" + checksum: 10/a0f7c9b797eda93139842fd28648e868a9a03ea0ad0d9fa6602a0c1f17b7fb6a7dcca00c144476cccaeaae5042e99a285723b1a201e844ad67221bf5d428f1dc + languageName: node + linkType: hard + "sourcemap-codec@npm:^1.4.8": version: 1.4.8 resolution: "sourcemap-codec@npm:1.4.8" @@ -18192,13 +18009,6 @@ __metadata: languageName: node linkType: hard -"stream-shift@npm:^1.0.0": - version: 1.0.1 - resolution: "stream-shift@npm:1.0.1" - checksum: 10/59b82b44b29ec3699b5519a49b3cedcc6db58c72fb40c04e005525dfdcab1c75c4e0c180b923c380f204bed78211b9bad8faecc7b93dece4d004c3f6ec75737b - languageName: node - linkType: hard - "stream-splicer@npm:^2.0.0": version: 2.0.1 resolution: "stream-splicer@npm:2.0.1" @@ -18531,9 +18341,9 @@ __metadata: languageName: node linkType: hard -"terser-webpack-plugin@npm:^5.3.10, terser-webpack-plugin@npm:^5.3.9": - version: 5.3.11 - resolution: "terser-webpack-plugin@npm:5.3.11" +"terser-webpack-plugin@npm:^5.3.11, terser-webpack-plugin@npm:^5.3.9": + version: 5.3.14 + resolution: "terser-webpack-plugin@npm:5.3.14" dependencies: "@jridgewell/trace-mapping": "npm:^0.3.25" jest-worker: "npm:^27.4.5" @@ -18549,7 +18359,7 @@ __metadata: optional: true uglify-js: optional: true - checksum: 10/a8f7c92c75aa42628adfa4d171d4695c366c1852ecb4a24e72dd6fec86e383e12ac24b627e798fedff4e213c21fe851cebc61be3ab5a2537e6e42bea46690aa3 + checksum: 10/5b7290f7edb179b83cefb8827c12371ddddc088cf251cf58a1c738d82628331ae6604273b61fe991d77411d4bb6b7178c3826aa47edf01b4ee21f973d6c8b8fb languageName: node linkType: hard @@ -18589,15 +18399,6 @@ __metadata: languageName: node linkType: hard -"through2@npm:4.0.2": - version: 4.0.2 - resolution: "through2@npm:4.0.2" - dependencies: - readable-stream: "npm:3" - checksum: 10/72c246233d9a989bbebeb6b698ef0b7b9064cb1c47930f79b25d87b6c867e075432811f69b7b2ac8da00ca308191c507bdab913944be8019ac43b036ce88f6ba - languageName: node - linkType: hard - "through2@npm:^2.0.0": version: 2.0.5 resolution: "through2@npm:2.0.5" @@ -18692,13 +18493,6 @@ __metadata: languageName: node linkType: hard -"to-fast-properties@npm:^2.0.0": - version: 2.0.0 - resolution: "to-fast-properties@npm:2.0.0" - checksum: 10/be2de62fe58ead94e3e592680052683b1ec986c72d589e7b21e5697f8744cdbf48c266fa72f6c15932894c10187b5f54573a3bcf7da0bfd964d5caf23d436168 - languageName: node - linkType: hard - "to-regex-range@npm:^5.0.1": version: 5.0.1 resolution: "to-regex-range@npm:5.0.1" @@ -18771,6 +18565,22 @@ __metadata: languageName: node linkType: hard +"ts-loader@npm:^9.5.2": + version: 9.5.2 + resolution: "ts-loader@npm:9.5.2" + dependencies: + chalk: "npm:^4.1.0" + enhanced-resolve: "npm:^5.0.0" + micromatch: "npm:^4.0.0" + semver: "npm:^7.3.4" + source-map: "npm:^0.7.4" + peerDependencies: + typescript: "*" + webpack: ^5.0.0 + checksum: 10/b2d0a4ae9eab459586580e6f83a4351fa0568ccd4d9b41b42368390c95335f98562120cd63c84b6008548ee7af13520a8b79c14b2e8114058104cf7cfb39873d + languageName: node + linkType: hard + "ts-node@npm:^10.9.1": version: 10.9.1 resolution: "ts-node@npm:10.9.1" @@ -18944,10 +18754,10 @@ __metadata: languageName: node linkType: hard -"type-fest@npm:4.10.2": - version: 4.10.2 - resolution: "type-fest@npm:4.10.2" - checksum: 10/2b1ad1270d9fabeeb506ba831d513caeb05bfc852e5e012511d785ce9dc68d773fe0a42bddf857a362c7f3406244809c5b8a698b743bb7617d4a8c470672087f +"type-fest@npm:4.30.0": + version: 4.30.0 + resolution: "type-fest@npm:4.30.0" + checksum: 10/46c733df4feb87dfd281fba4fa3913dc38b45136be35adffbcef95e13414105a4669476c1f8686680b9c98e59ed5dc85efe42caf67adbaa04f48dfc41f8330fa languageName: node linkType: hard @@ -19045,7 +18855,7 @@ __metadata: languageName: node linkType: hard -"umd@npm:3.0.3, umd@npm:^3.0.0": +"umd@npm:^3.0.0": version: 3.0.3 resolution: "umd@npm:3.0.3" bin: @@ -19688,8 +19498,8 @@ __metadata: linkType: hard "webpack@npm:^5.97.1": - version: 5.97.1 - resolution: "webpack@npm:5.97.1" + version: 5.99.5 + resolution: "webpack@npm:5.99.5" dependencies: "@types/eslint-scope": "npm:^3.7.7" "@types/estree": "npm:^1.0.6" @@ -19709,9 +19519,9 @@ __metadata: loader-runner: "npm:^4.2.0" mime-types: "npm:^2.1.27" neo-async: "npm:^2.6.2" - schema-utils: "npm:^3.2.0" + schema-utils: "npm:^4.3.0" tapable: "npm:^2.1.1" - terser-webpack-plugin: "npm:^5.3.10" + terser-webpack-plugin: "npm:^5.3.11" watchpack: "npm:^2.4.1" webpack-sources: "npm:^3.2.3" peerDependenciesMeta: @@ -19719,7 +19529,7 @@ __metadata: optional: true bin: webpack: bin/webpack.js - checksum: 10/665bd3b8c84b20f0b1f250159865e4d3e9b76c682030313d49124d5f8e96357ccdcc799dd9fe0ebf010fdb33dbc59d9863d79676a308e868e360ac98f7c09987 + checksum: 10/7ed5f931520b42063279605bcce56ac23a6880f3714e47d3ad04199d3f74da9ee0e7e7a693a0bf68543f15af8831edb63a05a251aa1047816f4784334bfe25d4 languageName: node linkType: hard @@ -19838,9 +19648,9 @@ __metadata: linkType: hard "wildcard@npm:^2.0.0": - version: 2.0.0 - resolution: "wildcard@npm:2.0.0" - checksum: 10/56d4f8be540918ab3a676f0e57c9cac1d13009dc9974dbdc751a073bf71ec080376697eded083e8a8f86fcb3479135bfa9d4489e25e6c748666d3a53ee096d24 + version: 2.0.1 + resolution: "wildcard@npm:2.0.1" + checksum: 10/e0c60a12a219e4b12065d1199802d81c27b841ed6ad6d9d28240980c73ceec6f856771d575af367cbec2982d9ae7838759168b551776577f155044f5a5ba843c languageName: node linkType: hard