diff --git a/.github/workflows/update-lavamoat-policies.yml b/.github/workflows/update-lavamoat-policies.yml index 1372245934e4..0950dee7d0ff 100644 --- a/.github/workflows/update-lavamoat-policies.yml +++ b/.github/workflows/update-lavamoat-policies.yml @@ -186,7 +186,7 @@ jobs: use-yarn-hydrate: true - name: Update LavaMoat webpack MV2 policy - run: yarn webpack --env production --no-cache --generatePolicy -v 2 + run: yarn webpack:lavamoat:build --generatePolicy -v 2 env: INFURA_PROD_PROJECT_ID: 00000000000 SEGMENT_PROD_WRITE_KEY: 00000000000 @@ -223,7 +223,7 @@ jobs: use-yarn-hydrate: true - name: Update LavaMoat webpack policy - run: yarn webpack --env production --no-cache --generatePolicy + run: yarn webpack:lavamoat:build --generatePolicy env: INFURA_PROD_PROJECT_ID: 00000000000 SEGMENT_PROD_WRITE_KEY: 00000000000 @@ -236,6 +236,43 @@ jobs: path: lavamoat/webpack/mv3 key: cache-webpack-${{ needs.prepare.outputs.COMMIT_SHA }} + update-lavamoat-webpack-policy-build: + name: Update LavaMoat webpack build policy + runs-on: ubuntu-latest + timeout-minutes: 30 + needs: + - prepare + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Checkout pull request + run: gh pr checkout "${PR_NUMBER}" + env: + GITHUB_TOKEN: ${{ secrets.LAVAMOAT_UPDATE_TOKEN }} + PR_NUMBER: ${{ github.event.issue.number }} + + - name: Checkout and setup environment + uses: MetaMask/action-checkout-and-setup@v1 + with: + is-high-risk-environment: false + skip-allow-scripts: true + use-yarn-hydrate: true + + - name: Update LavaMoat webpack build policy + run: yarn webpack:lavamoat:generate + env: + INFURA_PROD_PROJECT_ID: 00000000000 + SEGMENT_PROD_WRITE_KEY: 00000000000 + GOOGLE_PROD_CLIENT_ID: 00000000000 + APPLE_PROD_CLIENT_ID: 00000000000 + + - name: Cache webpack policy + uses: actions/cache/save@v4 + with: + path: lavamoat/webpack/build + key: cache-webpack-build-${{ needs.prepare.outputs.COMMIT_SHA }} + commit-updated-policies: name: Commit the updated LavaMoat policies runs-on: ubuntu-latest @@ -247,6 +284,7 @@ jobs: - update-lavamoat-webapp-policy - update-lavamoat-webpack-policy-mv2 - update-lavamoat-webpack-policy + - update-lavamoat-webpack-policy-build # Ensure forks don't get access to the LavaMoat update token if: ${{ needs.is-fork-pull-request.outputs.IS_FORK == 'false' }} steps: @@ -318,6 +356,13 @@ jobs: key: cache-webpack-${{ needs.prepare.outputs.COMMIT_SHA }} fail-on-cache-miss: true + - name: Restore webpack build policy + uses: actions/cache/restore@v4 + with: + path: lavamoat/webpack/build + key: cache-webpack-build-${{ needs.prepare.outputs.COMMIT_SHA }} + fail-on-cache-miss: true + - name: Check whether there are policy changes id: policy-changes run: | diff --git a/.github/workflows/validate-lavamoat-policies.yml b/.github/workflows/validate-lavamoat-policies.yml index 2da70dc83a49..c70ec61ee30d 100644 --- a/.github/workflows/validate-lavamoat-policies.yml +++ b/.github/workflows/validate-lavamoat-policies.yml @@ -84,7 +84,7 @@ jobs: use-yarn-hydrate: true - name: Validate LavaMoat webpack MV2 policy - run: yarn webpack --env production --no-cache --generatePolicy -v 2 + run: yarn webpack:lavamoat:build --generatePolicy -v 2 env: INFURA_PROD_PROJECT_ID: 00000000000 SEGMENT_PROD_WRITE_KEY: 00000000000 @@ -111,7 +111,34 @@ jobs: use-yarn-hydrate: true - name: Validate LavaMoat webpack policy - run: yarn webpack --env production --no-cache --generatePolicy + run: yarn webpack:lavamoat:build --generatePolicy + env: + INFURA_PROD_PROJECT_ID: 00000000000 + SEGMENT_PROD_WRITE_KEY: 00000000000 + GOOGLE_PROD_CLIENT_ID: 00000000000 + APPLE_PROD_CLIENT_ID: 00000000000 + + - name: Check working tree + run: | + if ! git diff --exit-code; then + echo "::error::Working tree dirty." + exit 1 + fi + + validate-lavamoat-policy-webpack-build: + name: Validate LavaMoat webpack build policy + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout and setup environment + uses: MetaMask/action-checkout-and-setup@v1 + with: + is-high-risk-environment: false + skip-allow-scripts: true + use-yarn-hydrate: true + + - name: Validate LavaMoat webpack build policy + run: yarn webpack:lavamoat:generate env: INFURA_PROD_PROJECT_ID: 00000000000 SEGMENT_PROD_WRITE_KEY: 00000000000 diff --git a/.gitignore b/.gitignore index 739a86589700..8e67eba26d76 100644 --- a/.gitignore +++ b/.gitignore @@ -96,3 +96,6 @@ html-report-multichain/ # UI Integration tests test/integration/config/assets + +# webpack +development/.webpack diff --git a/.yarn/patches/html-bundler-webpack-plugin-npm-4.22.0-5c9a1ad61e.patch b/.yarn/patches/html-bundler-webpack-plugin-npm-4.22.0-5c9a1ad61e.patch new file mode 100644 index 000000000000..991db44b33b5 --- /dev/null +++ b/.yarn/patches/html-bundler-webpack-plugin-npm-4.22.0-5c9a1ad61e.patch @@ -0,0 +1,15 @@ +diff --git a/src/Common/Utils.js b/src/Common/Utils.js +index e923daa8a95ab70ae5f1dbc883f5e90420b14b1a..ca21e8ac6c566820236aa682becd03b6c05e592a 100644 +--- a/src/Common/Utils.js ++++ b/src/Common/Utils.js +@@ -6,7 +6,9 @@ + */ + const transformToCommonJS = (code) => { + // import to require +- const importMatches = code.matchAll(/import (.+) from "(.+)";/g); ++ // LavaMoat is using an evasive transform to avoid 'import (' being in the source code ++ // which causes this regex to get messed up, so it needs to be escaped ++ const importMatches = code.matchAll(/import\s(.+) from "(.+)";/g); + for (const [match, variable, file] of importMatches) { + code = code.replace(match, `var ${variable} = require('${file}');`); + } diff --git a/.yarn/patches/tailwindcss-npm-3.4.17-403059edc1.patch b/.yarn/patches/tailwindcss-npm-3.4.17-403059edc1.patch new file mode 100644 index 000000000000..46450c2a90e7 --- /dev/null +++ b/.yarn/patches/tailwindcss-npm-3.4.17-403059edc1.patch @@ -0,0 +1,20 @@ +diff --git a/lib/lib/setupTrackingContext.js b/lib/lib/setupTrackingContext.js +index d3f71387a5fb7efffb16491e00ec1d1bdaca4a2c..b2635d9c758295524b7eee9dbb87ed01cfa502ef 100644 +--- a/lib/lib/setupTrackingContext.js ++++ b/lib/lib/setupTrackingContext.js +@@ -64,9 +64,12 @@ function getTailwindConfig(configOrPath) { + prevDeps + ]; + } +- // It has changed (based on timestamps), or first run +- for (let file of newDeps){ +- delete require.cache[file]; ++ // This needs to be skipped in LavaMoat ++ const cacheDescr = Object.getOwnPropertyDescriptor(require, 'cache') ++ if (cacheDescr !== undefined && cacheDescr.writable) { ++ for (let file of newDeps) { ++ delete require.cache[file]; ++ } + } + let newConfig = (0, _validateConfig.validateConfig)((0, _resolveconfig.default)((0, _loadconfig.loadConfig)(userConfigPath))); + let newHash = (0, _hashConfig.default)(newConfig); diff --git a/.yarnrc.yml b/.yarnrc.yml index bea60f817cb5..0949f8eb02cc 100644 --- a/.yarnrc.yml +++ b/.yarnrc.yml @@ -79,4 +79,5 @@ npmPreapprovedPackages: - 'lavamoat-browserify' - 'lavamoat-tofu' - 'lavamoat-node' + - 'lavamoat' - 'extension-port-stream' diff --git a/development/webpack/fork.mts b/development/webpack/fork.ts similarity index 94% rename from development/webpack/fork.mts rename to development/webpack/fork.ts index 73fb7c4a7e4d..899bca7eede6 100644 --- a/development/webpack/fork.mts +++ b/development/webpack/fork.ts @@ -16,8 +16,7 @@ if (isNaN(PPID) || PPID !== process.ppid) { ); } -const { build } = await import('./build.ts'); -build(() => { +require('./build').build(() => { // stop writing now because the parent process is still listening to these // streams and we don't want any more output to be shown to the user. process.stdout.write = process.stderr.write = () => true; @@ -25,3 +24,5 @@ build(() => { // use IPC if we have it, otherwise send a POSIX signal process.send?.('SIGUSR2') || process.kill(PPID, 'SIGUSR2'); }); + +export {}; diff --git a/development/webpack/launch.ts b/development/webpack/launch.ts index a0e58621dd7e..78c527a7484a 100755 --- a/development/webpack/launch.ts +++ b/development/webpack/launch.ts @@ -27,9 +27,9 @@ const args = parser(rawArgv, { alias, boolean: Object.keys(alias) }) as Args; if (args.cache === false || args.help === true || args.watch === true) { // there are no time savings to running the build in a child process if: the // cache is disabled, we need to output "help", or we're in watch mode. - require('./build.ts').build(); + require('./build').build(); } else { - fork(process, join(__dirname, 'fork.mts'), rawArgv); + fork(process, join(__dirname, 'fork'), rawArgv); } /** diff --git a/development/webpack/tsconfig.json b/development/webpack/tsconfig.json new file mode 100644 index 000000000000..38f96154f8d3 --- /dev/null +++ b/development/webpack/tsconfig.json @@ -0,0 +1,13 @@ +{ + "compilerOptions": { + "esModuleInterop": true, + "incremental": true, + "isolatedModules": true, + "outDir": "../.webpack", + "resolveJsonModule": true, + "skipLibCheck": true + }, + "exclude": ["test"], + // this should match our node version in .nvmrc + "extends": "@tsconfig/node22/tsconfig.json" +} diff --git a/lavamoat/build-system/policy-override.json b/lavamoat/build-system/policy-override.json index 512734d809ab..9e028a83b975 100644 --- a/lavamoat/build-system/policy-override.json +++ b/lavamoat/build-system/policy-override.json @@ -367,7 +367,8 @@ }, "chokidar": { "packages": { - "chokidar>fsevents": true + "chokidar>fsevents": true, + "tsx>fsevents": true } }, "gulp-watch>chokidar": { @@ -593,6 +594,13 @@ "packages": { "@babel/core>@babel/types": true } + }, + "tsx>fsevents": { + "globals": { + "console.assert": true, + "process.platform": true + }, + "native": true } } } diff --git a/lavamoat/build-system/policy.json b/lavamoat/build-system/policy.json index 43c50a8fa6fe..5111528f2973 100644 --- a/lavamoat/build-system/policy.json +++ b/lavamoat/build-system/policy.json @@ -1911,6 +1911,7 @@ "chokidar>anymatch": true, "chokidar>braces": true, "chokidar>fsevents": true, + "tsx>fsevents": true, "eslint>glob-parent": true, "chokidar>is-binary-path": true, "del>is-glob": true, @@ -3500,6 +3501,13 @@ "gulp-watch>chokidar>fsevents>node-pre-gyp": true } }, + "tsx>fsevents": { + "globals": { + "console.assert": true, + "process.platform": true + }, + "native": true + }, "string.prototype.matchall>es-abstract>function.prototype.name": { "globals": { "document": true @@ -8365,7 +8373,6 @@ }, "typescript": { "builtin": { - "buffer.Buffer": true, "crypto": true, "fs": true, "inspector": true, @@ -8375,22 +8382,46 @@ "path.dirname": true, "path.join": true, "path.resolve": true, - "perf_hooks.PerformanceObserver": true, "perf_hooks.performance": true }, "globals": { + "BreakpointResolver": true, + "Buffer.from": true, + "CallHierarchy": true, + "Completions": true, + "FindAllReferences": true, + "GoToDefinition": true, + "InlayHintKind": true, + "InlayHints": true, "Intl.Collator": true, - "PerformanceObserver": true, + "JsDoc": true, + "JsTyping": true, + "MapCode": true, + "NavigateTo": true, + "NavigationBar": true, + "OrganizeImports": true, + "OutliningElementsCollector": true, + "Rename": true, + "SignatureHelp": true, + "SmartSelectionRange": true, + "SymbolDisplay": true, "__dirname": true, "__filename": true, + "classifier": true, "clearTimeout": true, + "codefix": true, "console": true, + "formatting": true, "gc": true, "globalThis": true, + "moduleSpecifiers": true, "onProfilerEvent": true, "performance": true, "process": true, - "setTimeout": true + "refactor": true, + "server": true, + "setTimeout": true, + "textChanges": true }, "packages": { "terser>source-map-support": true diff --git a/lavamoat/webpack/build/policy-override.json b/lavamoat/webpack/build/policy-override.json new file mode 100644 index 000000000000..93839a2cb8de --- /dev/null +++ b/lavamoat/webpack/build/policy-override.json @@ -0,0 +1,336 @@ +{ + "resources": { + "chokidar": { + "packages": { + "tsx>fsevents": true + } + }, + "tsx>fsevents": { + "globals": { + "console.assert": true, + "process.platform": true + }, + "native": true + }, + "@swc/core": { + "packages": { + "@swc/core>@swc/core-darwin-x64": true, + "@swc/core>@swc/core-win32-x64-msvc": true, + "@swc/core>@swc/core-linux-x64-gnu": true, + "@swc/core>@swc/core-linux-x64-musl": true, + "@swc/core>@swc/core-win32-ia32-msvc": true, + "@swc/core>@swc/core-linux-arm-gnueabihf": true, + "@swc/core>@swc/core-darwin-arm64": true, + "@swc/core>@swc/core-linux-arm64-gnu": true, + "@swc/core>@swc/core-linux-arm64-musl": true, + "@swc/core>@swc/core-win32-arm64-msvc": true + } + }, + "@swc/core>@swc/core-darwin-x64": { + "native": true + }, + "@swc/core>@swc/core-win32-x64-msvc": { + "native": true + }, + "@swc/core>@swc/core-linux-x64-gnu": { + "native": true + }, + "@swc/core>@swc/core-linux-x64-musl": { + "native": true + }, + "@swc/core>@swc/core-win32-ia32-msvc": { + "native": true + }, + "@swc/core>@swc/core-linux-arm-gnueabihf": { + "native": true + }, + "@swc/core>@swc/core-darwin-arm64": { + "native": true + }, + "@swc/core>@swc/core-linux-arm64-gnu": { + "native": true + }, + "@swc/core>@swc/core-linux-arm64-musl": { + "native": true + }, + "@swc/core>@swc/core-win32-arm64-msvc": { + "native": true + }, + "@lydell/node-pty": { + "packages": { + "@lydell/node-pty>@lydell/node-pty-darwin-x64": true, + "@lydell/node-pty>@lydell/node-pty-darwin-arm64": true, + "@lydell/node-pty>@lydell/node-pty-linux-x64": true, + "@lydell/node-pty>@lydell/node-pty-linux-arm64": true, + "@lydell/node-pty>@lydell/node-pty-win32-x64": true, + "@lydell/node-pty>@lydell/node-pty-win32-arm64": true + } + }, + "@lydell/node-pty>@lydell/node-pty-darwin-x64": { + "native": true + }, + "@lydell/node-pty>@lydell/node-pty-darwin-arm64": { + "native": true + }, + "@lydell/node-pty>@lydell/node-pty-linux-x64": { + "native": true + }, + "@lydell/node-pty>@lydell/node-pty-linux-arm64": { + "native": true + }, + "@lydell/node-pty>@lydell/node-pty-win32-x64": { + "native": true + }, + "@lydell/node-pty>@lydell/node-pty-win32-arm64": { + "native": true + }, + "webpack": { + "packages": { + "$root$": true, + "html-bundler-webpack-plugin": true, + "css-loader": true, + "postcss-loader": true, + "sass-loader": true, + "@lavamoat/webpack": true, + "react-compiler-webpack": true + } + }, + "webpack>loader-runner": { + "packages": { + "$root$": true, + "html-bundler-webpack-plugin": true, + "css-loader": true, + "postcss-loader": true, + "sass-loader": true, + "@lavamoat/webpack": true, + "react-compiler-webpack": true + } + }, + "html-bundler-webpack-plugin": { + "packages": { + "eta": true, + "css-loader": true + } + }, + "eta": { + "builtin": { + "node:fs": true, + "node:path": true + }, + "globals": { + "define": true + } + }, + "css-loader": { + "builtin": { + "url": true, + "path": true + }, + "packages": { + "postcss": true, + "semver": true, + "stylelint>postcss-value-parser": true, + "css-loader>postcss-modules-values": true, + "css-loader>postcss-modules-local-by-default": true, + "css-loader>postcss-modules-extract-imports": true, + "css-loader>postcss-modules-scope": true, + "css-loader>icss-utils": true + } + }, + "css-loader>postcss-modules-values": { + "packages": { + "css-loader>icss-utils": true + } + }, + "css-loader>postcss-modules-local-by-default": { + "packages": { + "stylelint>postcss-selector-parser": true, + "stylelint>postcss-value-parser": true, + "css-loader>icss-utils": true + } + }, + "css-loader>postcss-modules-scope": { + "packages": { + "stylelint>postcss-selector-parser": true + } + }, + "postcss-loader": { + "builtin": { + "path": true, + "url": true, + "module": true + }, + "packages": { + "postcss": true, + "postcss-loader>cosmiconfig": true, + "tailwindcss>jiti": true + } + }, + "postcss-loader>cosmiconfig": { + "builtin": { + "fs": true, + "fs/promises": true, + "path": true, + "url": true, + "os": true + }, + "packages": { + "postcss-loader>cosmiconfig>env-paths": true + }, + "globals": { + "process.cwd": true + } + }, + "postcss-loader>cosmiconfig>env-paths": { + "builtin": { + "path": true, + "os": true + }, + "globals": { + "process.env": true + } + }, + "sass-loader": { + "builtin": { + "url": true, + "path": true, + "util": true + }, + "packages": { + "sass-embedded": true + }, + "globals": { + "process.cwd": true, + "process.env": true + } + }, + "sass-embedded": { + "builtin": { + "path": true, + "url": true, + "util": true, + "child_process": true, + "assert": true, + "fs": true, + "stream": true, + "worker_threads": true, + "events": true + }, + "packages": { + "sass-embedded>immutable": true, + "sass-embedded>@bufbuild/protobuf": true, + "wait-on>rxjs": true, + "mocha>supports-color": true, + "sass-embedded>varint": true, + "sass-embedded>buffer-builder": true + }, + "globals": { + "process.platform": true, + "process.arch": true, + "process.cwd": true, + "URL": true, + "Buffer": true + } + }, + "sass-embedded>@bufbuild/protobuf": { + "globals": { + "TextDecoder": true, + "TextEncoder": true + } + }, + "sass-embedded>buffer-builder": { + "globals": { + "Buffer": true + } + }, + "wait-on>rxjs": { + "globals": { + "setTimeout": true + } + }, + "depcheck>cosmiconfig>parse-json>error-ex": { + "builtin": { + "util": true + }, + "packages": { + "depcheck>cosmiconfig>parse-json>error-ex>is-arrayish": true + } + }, + "terser-webpack-plugin>jest-worker": { + "packages": { + "terser-webpack-plugin": true + } + }, + "@babel/core": { + "builtin": { + "fs": true, + "path": true + }, + "packages": { + "@babel/core>@babel/types": true, + "@babel/core>gensync": true, + "nock>debug": true, + "@babel/core>semver": true, + "@babel/core>@babel/helper-compilation-targets": true, + "@babel/core>@babel/template": true, + "@babel/core>@babel/parser": true, + "depcheck>@babel/traverse": true, + "@babel/core>@babel/generator": true + }, + "globals": { + "process.versions": true, + "process.env": true + } + }, + "react-compiler-webpack": { + "packages": { + "@babel/core": true, + "babel-plugin-react-compiler": true + } + }, + "babel-plugin-react-compiler": { + "builtin": { + "path": true, + "tty": true, + "util": true, + "crypto": true + }, + "packages": { + "@babel/core>@babel/types": true + }, + "globals": { + "console": true, + "process": true + } + }, + "@babel/core>@babel/helper-compilation-targets": { + "packages": { + "browserslist": true, + "@babel/preset-env>@babel/helper-validator-option": true, + "@babel/preset-env>@babel/compat-data": true, + "@babel/core>@babel/helper-compilation-targets>lru-cache": true, + "@babel/core>@babel/helper-compilation-targets>semver": true + }, + "globals": { + "process.env": true, + "process.versions": true + } + }, + "@babel/core>@babel/helper-compilation-targets>lru-cache": { + "packages": { + "@babel/core>@babel/helper-compilation-targets>lru-cache>yallist": true + } + }, + "depcheck>@babel/traverse": { + "packages": { + "nock>debug": true, + "@babel/core>@babel/types": true, + "depcheck>@babel/traverse>@babel/helper-globals": true, + "@babel/core>@babel/generator": true, + "@babel/code-frame": true, + "@babel/core>@babel/parser": true, + "@babel/core>@babel/template": true + } + } + } +} diff --git a/lavamoat/webpack/build/policy.json b/lavamoat/webpack/build/policy.json new file mode 100644 index 000000000000..15cf79acdaba --- /dev/null +++ b/lavamoat/webpack/build/policy.json @@ -0,0 +1,3478 @@ +{ + "resources": { + "@babel/core>@ampproject/remapping": { + "globals": { + "define": true + }, + "packages": { + "terser>@jridgewell/source-map>@jridgewell/gen-mapping": true, + "terser-webpack-plugin>@jridgewell/trace-mapping": true + } + }, + "@babel/code-frame": { + "globals": { + "console.warn": true, + "process": true + }, + "packages": { + "@babel/code-frame>@babel/helper-validator-identifier": true, + "loose-envify>js-tokens": true, + "postcss>picocolors": true + } + }, + "@babel/core": { + "builtin": { + "assert": true, + "fs": true, + "module": true, + "path": true, + "process": true, + "url": true, + "util": true, + "v8": true + }, + "globals": { + "URL": true, + "console.error": true, + "console.log": true, + "process.env": true, + "process.versions": true + }, + "packages": { + "@babel/core>@ampproject/remapping": true, + "@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/parser": true, + "@babel/preset-typescript": true, + "@babel/core>@babel/template": true, + "depcheck>@babel/traverse": true, + "@babel/core>@babel/types": true, + "@babel/core>convert-source-map": true, + "nock>debug": true, + "@babel/core>gensync": true, + "depcheck>json5": true, + "@babel/core>semver": true + } + }, + "@babel/core>@babel/generator": { + "globals": { + "console.error": true, + "console.warn": true + }, + "packages": { + "@babel/core>@babel/types": true, + "terser>@jridgewell/source-map>@jridgewell/gen-mapping": true, + "terser-webpack-plugin>@jridgewell/trace-mapping": true, + "@babel/core>@babel/generator>jsesc": true + } + }, + "@babel/preset-env>@babel/plugin-transform-classes>@babel/helper-annotate-as-pure": { + "packages": { + "@babel/core>@babel/types": true + } + }, + "@babel/core>@babel/helper-compilation-targets": { + "globals": { + "console.warn": true, + "process.env": true, + "process.versions": true + }, + "packages": { + "@babel/preset-env>@babel/compat-data": true, + "@babel/preset-env>@babel/helper-validator-option": true, + "@babel/preset-env>@babel": true, + "browserslist": true, + "@babel/core>@babel/helper-compilation-targets>lru-cache": true, + "@babel/core>@babel/helper-compilation-targets>semver": true + } + }, + "@babel/preset-env>@babel/plugin-transform-private-methods>@babel/helper-create-class-features-plugin": { + "globals": { + "console.warn": 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-replace-supers>@babel/helper-member-expression-to-functions": true, + "@babel/preset-env>@babel/plugin-transform-classes>@babel/helper-replace-supers>@babel/helper-optimise-call-expression": true, + "@babel/preset-env>@babel/plugin-transform-classes>@babel/helper-replace-supers": true, + "@babel/preset-env>@babel/plugin-transform-for-of>@babel/helper-skip-transparent-expression-wrappers": true, + "depcheck>@babel/traverse": true, + "@babel/preset-env>@babel/plugin-transform-private-methods>@babel/helper-create-class-features-plugin>semver": true + } + }, + "@babel/preset-env>@babel/plugin-transform-classes>@babel/helper-replace-supers>@babel/helper-member-expression-to-functions": { + "packages": { + "@babel/core>@babel/types": true + } + }, + "@babel/core>@babel/helper-module-transforms>@babel/helper-module-imports": { + "builtin": { + "assert": true + }, + "packages": { + "@babel/core>@babel/types": true + } + }, + "@babel/core>@babel/helper-module-transforms": { + "builtin": { + "assert": true, + "path.basename": true, + "path.extname": 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, + "@babel/code-frame>@babel/helper-validator-identifier": true, + "depcheck>@babel/traverse": true + } + }, + "@babel/preset-env>@babel/plugin-transform-classes>@babel/helper-replace-supers>@babel/helper-optimise-call-expression": { + "packages": { + "@babel/core>@babel/types": true + } + }, + "@babel/preset-env>@babel/plugin-transform-classes>@babel/helper-replace-supers": { + "packages": { + "@babel/core": 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-classes>@babel/helper-replace-supers>@babel/helper-optimise-call-expression": true, + "depcheck>@babel/traverse": true + } + }, + "@babel/core>@babel/helper-module-transforms>@babel/helper-simple-access": { + "packages": { + "@babel/core>@babel/types": true + } + }, + "@babel/preset-env>@babel/plugin-transform-for-of>@babel/helper-skip-transparent-expression-wrappers": { + "packages": { + "@babel/core>@babel/types": true + } + }, + "@babel/core>@babel/helpers": { + "packages": { + "@babel/core>@babel/template": true, + "@babel/core>@babel/types": true + } + }, + "react-compiler-webpack>@babel/plugin-syntax-jsx": { + "packages": { + "@babel/preset-env>@babel/helper-plugin-utils": true + } + }, + "react-compiler-webpack>@babel/plugin-syntax-typescript": { + "packages": { + "@babel/preset-env>@babel/helper-plugin-utils": true + } + }, + "@babel/preset-env>@babel/plugin-transform-modules-commonjs": { + "packages": { + "@babel/core": true, + "@babel/core>@babel/helper-module-transforms": true, + "@babel/preset-env>@babel/helper-plugin-utils": true, + "@babel/core>@babel/helper-module-transforms>@babel/helper-simple-access": true + } + }, + "@babel/preset-typescript>@babel/plugin-transform-typescript": { + "builtin": { + "assert": true + }, + "globals": { + "console.warn": true + }, + "packages": { + "@babel/core": 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-env>@babel/helper-plugin-utils": true, + "@babel/preset-env>@babel/plugin-transform-for-of>@babel/helper-skip-transparent-expression-wrappers": true, + "react-compiler-webpack>@babel/plugin-syntax-typescript": true + } + }, + "@babel/preset-typescript": { + "packages": { + "@babel/preset-env>@babel/helper-plugin-utils": true, + "@babel/preset-env>@babel/helper-validator-option": true, + "react-compiler-webpack>@babel/plugin-syntax-jsx": true, + "@babel/preset-env>@babel/plugin-transform-modules-commonjs": true, + "@babel/preset-typescript>@babel/plugin-transform-typescript": true + } + }, + "@babel/core>@babel/template": { + "packages": { + "@babel/code-frame": true, + "@babel/core>@babel/parser": true, + "@babel/core>@babel/types": true + } + }, + "depcheck>@babel/traverse": { + "globals": { + "console.log": true + }, + "packages": { + "@babel/code-frame": true, + "@babel/core>@babel/generator": true, + "depcheck>@babel/traverse>@babel/helper-globals": true, + "@babel/core>@babel/parser": true, + "@babel/core>@babel/template": true, + "@babel/core>@babel/types": true, + "depcheck>@babel": true, + "nock>debug": true + } + }, + "lavamoat>lavamoat-tofu>@babel/traverse": { + "globals": { + "console.log": true + }, + "packages": { + "@babel/code-frame": true, + "@babel/core>@babel/generator": true, + "lavamoat>lavamoat-tofu>@babel/traverse>@babel/parser": true, + "@babel/core>@babel/template": true, + "lavamoat>lavamoat-tofu>@babel/traverse>@babel/types": true, + "nock>debug": true, + "lavamoat>lavamoat-tofu>@babel/traverse>globals": true + } + }, + "@babel/core>@babel/types": { + "globals": { + "console.warn": true, + "process.env.BABEL_TYPES_8_BREAKING": true + }, + "packages": { + "@babel/core>@babel/types>@babel/helper-string-parser": true, + "@babel/code-frame>@babel/helper-validator-identifier": true + } + }, + "lavamoat>lavamoat-tofu>@babel/traverse>@babel/types": { + "globals": { + "console.warn": true, + "process.env.BABEL_TYPES_8_BREAKING": true + }, + "packages": { + "@babel/core>@babel/types>@babel/helper-string-parser": true, + "@babel/code-frame>@babel/helper-validator-identifier": true + } + }, + "sass-embedded>@bufbuild/protobuf": { + "globals": { + "TextDecoder": true, + "TextEncoder": true, + "__values": true, + "process": true + } + }, + "terser>@jridgewell/source-map>@jridgewell/gen-mapping": { + "globals": { + "define": true + }, + "packages": { + "terser-webpack-plugin>@jridgewell/trace-mapping>@jridgewell/sourcemap-codec": true, + "terser-webpack-plugin>@jridgewell/trace-mapping": true + } + }, + "terser-webpack-plugin>@jridgewell/trace-mapping>@jridgewell/resolve-uri": { + "globals": { + "define": true + } + }, + "terser>@jridgewell/source-map": { + "packages": { + "terser>@jridgewell/source-map>@jridgewell/gen-mapping": true, + "terser-webpack-plugin>@jridgewell/trace-mapping": true + } + }, + "terser-webpack-plugin>@jridgewell/trace-mapping>@jridgewell/sourcemap-codec": { + "globals": { + "Buffer": true, + "TextDecoder": true, + "define": true + } + }, + "terser-webpack-plugin>@jridgewell/trace-mapping": { + "globals": { + "define": true + }, + "packages": { + "terser-webpack-plugin>@jridgewell/trace-mapping>@jridgewell/resolve-uri": true, + "terser-webpack-plugin>@jridgewell/trace-mapping>@jridgewell/sourcemap-codec": 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": { + "depcheck>resolve": true + } + }, + "@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, + "process._rawDebug": true + }, + "packages": { + "@lavamoat/webpack>@babel/parser": true, + "lavamoat>@lavamoat/aa": true, + "browserify>browser-resolve": true, + "lavamoat>lavamoat-core": true, + "webpack": true + } + }, + "webpack-dev-server>bonjour-service>multicast-dns>dns-packet>@leichtgewicht/ip-codec": { + "globals": { + "define": true + } + }, + "@lydell/node-pty": { + "builtin": { + "child_process.fork": true, + "events.EventEmitter": true, + "fs.openSync": true, + "net.Socket": true, + "path.join": true, + "path.resolve": true, + "tty.ReadStream": true, + "worker_threads.Worker": true + }, + "globals": { + "__dirname": true, + "clearTimeout": true, + "console.warn": true, + "process.arch": true, + "process.argv": true, + "process.cwd": true, + "process.env": true, + "process.kill": true, + "process.platform": true, + "setTimeout": true + }, + "packages": { + "@lydell/node-pty>@lydell/node-pty-darwin-arm64": true, + "@lydell/node-pty>@lydell/node-pty-darwin-x64": true, + "@lydell/node-pty>@lydell/node-pty-linux-arm64": true, + "@lydell/node-pty>@lydell/node-pty-linux-x64": true, + "@lydell/node-pty>@lydell/node-pty-win32-arm64": true, + "@lydell/node-pty>@lydell/node-pty-win32-x64": true, + "@lydell/node-pty>@lydell": true + } + }, + "@lydell/node-pty>@lydell/node-pty-darwin-arm64": { + "native": true + }, + "@lydell/node-pty>@lydell/node-pty-darwin-x64": { + "native": true + }, + "@lydell/node-pty>@lydell/node-pty-linux-arm64": { + "native": true + }, + "@lydell/node-pty>@lydell/node-pty-linux-x64": { + "native": true + }, + "@lydell/node-pty>@lydell/node-pty-win32-arm64": { + "native": true + }, + "@lydell/node-pty>@lydell/node-pty-win32-x64": { + "native": true + }, + "@metamask/build-utils": { + "packages": { + "@metamask/build-utils>@metamask/utils": true + } + }, + "@metamask/build-utils>@metamask/utils": { + "globals": { + "Buffer": true, + "TextDecoder": true, + "TextEncoder": true + }, + "packages": { + "@metamask/superstruct": true, + "@noble/hashes": true, + "@scure/base": true, + "nock>debug": true, + "@metamask/utils>pony-cause": true, + "semver": true + } + }, + "@noble/hashes": { + "globals": { + "TextDecoder": true, + "TextEncoder": true, + "crypto": true + } + }, + "eslint>@nodelib/fs.walk>@nodelib/fs.scandir": { + "builtin": { + "fs.lstat": true, + "fs.lstatSync": true, + "fs.readdir": true, + "fs.readdirSync": true, + "fs.stat": true, + "fs.statSync": true, + "path.sep": true + }, + "globals": { + "process.versions.node": true + }, + "packages": { + "fast-glob>@nodelib/fs.stat": true, + "eslint>@nodelib/fs.walk>@nodelib/fs.scandir>run-parallel": true + } + }, + "fast-glob>@nodelib/fs.stat": { + "builtin": { + "fs.lstat": true, + "fs.lstatSync": true, + "fs.stat": true, + "fs.statSync": true + } + }, + "eslint>@nodelib/fs.walk": { + "builtin": { + "events.EventEmitter": true, + "path.sep": true, + "stream.Readable": true + }, + "globals": { + "setImmediate": true + }, + "packages": { + "eslint>@nodelib/fs.walk>@nodelib/fs.scandir": true, + "eslint>@nodelib/fs.walk>fastq": true + } + }, + "@pmmmwh/react-refresh-webpack-plugin": { + "builtin": { + "node:path.dirname": true, + "node:path.join": true + }, + "globals": { + "__dirname": true, + "process.env.NODE_ENV": true + }, + "packages": { + "schema-utils": true, + "webpack": true + } + }, + "@scure/base": { + "globals": { + "TextDecoder": true, + "TextEncoder": true + } + }, + "@swc/core": { + "builtin": { + "assert": true, + "child_process.execSync": true, + "fs.readFileSync": true, + "path": true + }, + "globals": { + "Buffer.from": true, + "Buffer.isBuffer": true, + "console.error": true, + "console.warn": true, + "process.arch": true, + "process.env": true, + "process.platform": true, + "process.report.getReport": true + }, + "packages": { + "@swc/core>@swc/core-darwin-arm64": true, + "@swc/core>@swc/core-darwin-x64": true, + "@swc/core>@swc/core-linux-arm-gnueabihf": true, + "@swc/core>@swc/core-linux-arm64-gnu": true, + "@swc/core>@swc/core-linux-arm64-musl": true, + "@swc/core>@swc/core-linux-x64-gnu": true, + "@swc/core>@swc/core-linux-x64-musl": true, + "@swc/core>@swc/core-win32-arm64-msvc": true, + "@swc/core>@swc/core-win32-ia32-msvc": true, + "@swc/core>@swc/core-win32-x64-msvc": true + } + }, + "@swc/core>@swc/core-darwin-arm64": { + "native": true + }, + "@swc/core>@swc/core-darwin-x64": { + "native": true + }, + "@swc/core>@swc/core-linux-arm-gnueabihf": { + "native": true + }, + "@swc/core>@swc/core-linux-arm64-gnu": { + "native": true + }, + "@swc/core>@swc/core-linux-arm64-musl": { + "native": true + }, + "@swc/core>@swc/core-linux-x64-gnu": { + "native": true + }, + "@swc/core>@swc/core-linux-x64-musl": { + "native": true + }, + "@swc/core>@swc/core-win32-arm64-msvc": { + "native": true + }, + "@swc/core>@swc/core-win32-ia32-msvc": { + "native": true + }, + "@swc/core>@swc/core-win32-x64-msvc": { + "native": true + }, + "webpack>@webassemblyjs/ast": { + "globals": { + "console.warn": true + }, + "packages": { + "webpack>@webassemblyjs/ast>@webassemblyjs/helper-numbers": true, + "webpack>@webassemblyjs/ast>@webassemblyjs/helper-wasm-bytecode": true + } + }, + "webpack>@webassemblyjs/ast>@webassemblyjs/helper-numbers": { + "packages": { + "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 + } + }, + "webpack>@webassemblyjs/wasm-edit>@webassemblyjs/helper-wasm-section": { + "packages": { + "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 + } + }, + "webpack>@webassemblyjs/wasm-parser>@webassemblyjs/ieee754": { + "packages": { + "webpack>@webassemblyjs/wasm-parser>@webassemblyjs/ieee754>@xtuc/ieee754": true + } + }, + "webpack>@webassemblyjs/wasm-parser>@webassemblyjs/leb128": { + "packages": { + "webpack>@webassemblyjs/ast>@webassemblyjs/helper-numbers>@xtuc/long": true + } + }, + "webpack>@webassemblyjs/wasm-edit": { + "packages": { + "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 + } + }, + "webpack>@webassemblyjs/wasm-edit>@webassemblyjs/wasm-gen": { + "packages": { + "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 + } + }, + "webpack>@webassemblyjs/wasm-edit>@webassemblyjs/wasm-opt": { + "packages": { + "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 + } + }, + "webpack>@webassemblyjs/wasm-parser": { + "globals": { + "console.log": true, + "console.warn": true + }, + "packages": { + "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 + } + }, + "webpack>@webassemblyjs/ast>@webassemblyjs/helper-numbers>@xtuc/long": { + "globals": { + "WebAssembly.Instance": true, + "WebAssembly.Module": true + } + }, + "koa>accepts": { + "packages": { + "webpack>mime-types": true, + "koa>accepts>negotiator": true + } + }, + "jsdom>acorn": { + "globals": { + "console": true, + "define": true + } + }, + "schema-utils>ajv-formats": { + "packages": { + "schema-utils>ajv": true + } + }, + "schema-utils>ajv-keywords": { + "globals": { + "Buffer": true + }, + "packages": { + "schema-utils>ajv": true, + "eslint>fast-deep-equal": true + } + }, + "schema-utils>ajv": { + "globals": { + "console": true + }, + "packages": { + "eslint>fast-deep-equal": true, + "schema-utils>ajv>fast-uri": true, + "schema-utils>ajv>json-schema-traverse": true + } + }, + "chalk>ansi-styles": { + "packages": { + "chalk>ansi-styles>color-convert": true + } + }, + "chokidar>anymatch": { + "packages": { + "chokidar>normalize-path": true, + "micromatch>picomatch": true + } + }, + "autoprefixer": { + "globals": { + "console": true, + "process.cwd": true, + "process.env.AUTOPREFIXER_GRID": true + }, + "packages": { + "browserslist": true, + "autoprefixer>caniuse-lite": true, + "autoprefixer>fraction.js": true, + "autoprefixer>normalize-range": true, + "postcss>picocolors": true, + "postcss": true, + "stylelint>postcss-value-parser": true + } + }, + "babel-plugin-react-compiler": { + "builtin": { + "buffer": true, + "crypto": true, + "fs": true, + "os.homedir": true, + "os.release": true, + "path": true, + "tty": true, + "util": true + }, + "globals": { + "Buffer": true, + "File": true, + "TextDecoder": true, + "URL": true, + "__DEV__": true, + "atob": true, + "btoa": true, + "compile": true, + "console": true, + "define": true, + "document": true, + "findDirectiveEnablingMemoization": true, + "localStorage": true, + "navigator": true, + "performance.mark": true, + "performance.measure": true, + "process": true + }, + "packages": { + "@babel/core>@babel/types": true + } + }, + "browserslist>baseline-browser-mapping": { + "globals": { + "console.log": true, + "console.warn": true, + "process": true + } + }, + "webpack-dev-server>serve-index>batch": { + "builtin": { + "events.EventEmitter": true + }, + "globals": { + "process": true, + "setTimeout": true + } + }, + "mockttp>body-parser": { + "builtin": { + "querystring": true, + "zlib.createGunzip": true, + "zlib.createInflate": true + }, + "packages": { + "mockttp>body-parser>bytes": true, + "koa>content-type": true, + "mockttp>body-parser>debug": true, + "koa>cookies>depd": true, + "koa>destroy": true, + "mockttp>express>http-errors": true, + "jsdom>whatwg-encoding>iconv-lite": true, + "koa>on-finished": true, + "mockttp>express>qs": true, + "mockttp>body-parser>raw-body": true, + "mockttp>express>type-is": true, + "mockttp>body-parser>unpipe": true + } + }, + "webpack-dev-server>bonjour-service": { + "builtin": { + "events.EventEmitter": true, + "os": true + }, + "globals": { + "Buffer.from": true, + "clearTimeout": true, + "console.log": true, + "process.nextTick": true, + "setTimeout": true + }, + "packages": { + "eslint>fast-deep-equal": true, + "webpack-dev-server>bonjour-service>multicast-dns": true + } + }, + "chokidar>braces": { + "globals": { + "console.log": true + }, + "packages": { + "chokidar>braces>fill-range": true + } + }, + "browserify>browser-resolve": { + "builtin": { + "fs.readFile": true, + "fs.readFileSync": true, + "path": true + }, + "globals": { + "__dirname": true, + "process.platform": true + }, + "packages": { + "depcheck>resolve": true + } + }, + "browserslist": { + "builtin": { + "fs.existsSync": true, + "fs.readFileSync": true, + "fs.statSync": true, + "path.basename": true, + "path.dirname": true, + "path.join": true, + "path.posix.join": true, + "path.relative": true, + "path.resolve": true + }, + "globals": { + "console.info": true, + "console.trace": true, + "console.warn": true, + "process.env": true, + "process.versions.node": true + }, + "packages": { + "browserslist>baseline-browser-mapping": true, + "autoprefixer>caniuse-lite": true, + "browserslist>electron-to-chromium": true, + "browserslist>node-releases": true + } + }, + "sass-embedded>buffer-builder": { + "globals": { + "Buffer": true + } + }, + "terser>source-map-support>buffer-from": { + "globals": { + "Buffer": true + } + }, + "ws>bufferutil": { + "globals": { + "__dirname": true + }, + "native": true, + "packages": { + "lavamoat>node-gyp-build": true + } + }, + "string.prototype.matchall>call-bind>call-bind-apply-helpers": { + "packages": { + "string.prototype.matchall>es-errors": true, + "browserify>has>function-bind": true + } + }, + "string.prototype.matchall>call-bind": { + "packages": { + "string.prototype.matchall>call-bind>call-bind-apply-helpers": true, + "string.prototype.matchall>call-bind>es-define-property": true, + "string.prototype.matchall>call-bind>set-function-length": true + } + }, + "string.prototype.matchall>call-bound": { + "packages": { + "string.prototype.matchall>call-bind>call-bind-apply-helpers": true, + "string.prototype.matchall>get-intrinsic": true + } + }, + "postcss-discard-font-face>postcss>chalk": { + "globals": { + "process.env.TERM": true, + "process.platform": true + }, + "packages": { + "postcss-discard-font-face>postcss>chalk>ansi-styles": true, + "postcss-discard-font-face>postcss>chalk>escape-string-regexp": true, + "prettier-eslint>loglevel-colored-level-prefix>chalk>has-ansi": true, + "postcss-discard-font-face>postcss>chalk>strip-ansi": true, + "postcss-discard-font-face>postcss>chalk>supports-color": true + } + }, + "chokidar": { + "builtin": { + "events.EventEmitter": true, + "fs.close": true, + "fs.lstat": true, + "fs.open": true, + "fs.readdir": true, + "fs.realpath": true, + "fs.stat": true, + "fs.unwatchFile": true, + "fs.watch": true, + "fs.watchFile": true, + "os.type": true, + "path.basename": true, + "path.dirname": true, + "path.extname": true, + "path.isAbsolute": true, + "path.join": true, + "path.normalize": true, + "path.relative": true, + "path.resolve": true, + "path.sep": true, + "util.promisify": true + }, + "globals": { + "clearTimeout": true, + "console.error": true, + "process.env.CHOKIDAR_INTERVAL": true, + "process.env.CHOKIDAR_PRINT_FSEVENTS_REQUIRE_ERROR": true, + "process.env.CHOKIDAR_USEPOLLING": true, + "process.nextTick": true, + "process.platform": true, + "process.version.match": true, + "setTimeout": true + }, + "packages": { + "chokidar>anymatch": true, + "chokidar>braces": true, + "tsx>fsevents": true, + "eslint>glob-parent": true, + "chokidar>is-binary-path": true, + "del>is-glob": true, + "chokidar>normalize-path": true, + "chokidar>readdirp": true + } + }, + "webpack>chrome-trace-event": { + "builtin": { + "stream.Readable": true + }, + "globals": { + "process.hrtime": true, + "process.pid": true + }, + "packages": { + "webpack>chrome-trace-event>tslib": true + } + }, + "html-bundler-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": { + "html-bundler-webpack-plugin>html-minifier-terser>clean-css>source-map": true + } + }, + "yargs>cliui": { + "globals": { + "process": true + }, + "packages": { + "yargs>string-width": true, + "eslint>strip-ansi": true, + "yargs>cliui>wrap-ansi": true + } + }, + "lavamoat>lavamoat-core>merge-deep>clone-deep": { + "packages": { + "lavamoat>lavamoat-core>merge-deep>clone-deep>for-own": true, + "@babel/register>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 + } + }, + "chalk>ansi-styles>color-convert": { + "packages": { + "jest-canvas-mock>moo-color>color-name": true + } + }, + "webpack-cli>colorette": { + "builtin": { + "tty": true + }, + "globals": { + "process": true + } + }, + "webpack-dev-server>compression>compressible": { + "packages": { + "koa>mime-types>mime-db": true + } + }, + "webpack-dev-server>compression": { + "builtin": { + "zlib.createDeflate": true, + "zlib.createGzip": true + }, + "packages": { + "koa>accepts": true, + "webpack-dev-server>compression>bytes": true, + "webpack-dev-server>compression>compressible": true, + "webpack-dev-server>compression>debug": true, + "webpack-dev-server>compression>on-headers": true, + "webpack-dev-server>compression>safe-buffer": true, + "koa>vary": true + } + }, + "webpack-dev-server>connect-history-api-fallback": { + "builtin": { + "url.parse": true + }, + "globals": { + "console": true + } + }, + "koa>content-disposition": { + "builtin": { + "path.basename": true + }, + "packages": { + "koa>content-disposition>safe-buffer": true + } + }, + "@babel/core>convert-source-map": { + "globals": { + "Buffer": true, + "atob": true, + "btoa": true, + "value": true + } + }, + "mockttp>express>cookie-signature": { + "builtin": { + "crypto.createHash": true, + "crypto.createHmac": true + } + }, + "copy-webpack-plugin": { + "builtin": { + "path.basename": true, + "path.dirname": true, + "path.extname": true, + "path.isAbsolute": true, + "path.join": true, + "path.normalize": true, + "path.posix.join": true, + "path.relative": true, + "path.resolve": true, + "path.sep": true + }, + "packages": { + "eslint>glob-parent": true, + "chokidar>normalize-path": true, + "schema-utils": true, + "copy-webpack-plugin>serialize-javascript": true, + "copy-webpack-plugin>tinyglobby": true + } + }, + "postcss-loader>cosmiconfig": { + "builtin": { + "fs": true, + "fs/promises": true, + "os": true, + "path": true, + "url": true + }, + "globals": { + "process.cwd": true + }, + "packages": { + "postcss-loader>cosmiconfig>env-paths": true, + "eslint>@eslint/eslintrc>import-fresh": true, + "mocha>js-yaml": true, + "depcheck>cosmiconfig>parse-json": true, + "typescript": true + } + }, + "css-loader": { + "builtin": { + "path": true, + "url": true + }, + "globals": { + "Buffer.allocUnsafe": true, + "Buffer.from": true + }, + "packages": { + "css-loader>icss-utils": true, + "postcss": true, + "css-loader>postcss-modules-extract-imports": true, + "css-loader>postcss-modules-local-by-default": true, + "css-loader>postcss-modules-scope": true, + "css-loader>postcss-modules-values": true, + "stylelint>postcss-value-parser": true, + "semver": true + } + }, + "mockttp>body-parser>debug": { + "builtin": { + "fs.SyncWriteStream": true, + "net.Socket": true, + "tty.WriteStream": true, + "tty.isatty": true, + "util": true + }, + "globals": { + "chrome": true, + "console": true, + "document": true, + "localStorage": true, + "navigator": true, + "process": true + }, + "packages": { + "mockttp>body-parser>debug>ms": true + } + }, + "webpack-dev-server>compression>debug": { + "builtin": { + "fs.SyncWriteStream": true, + "net.Socket": true, + "tty.WriteStream": true, + "tty.isatty": true, + "util": true + }, + "globals": { + "chrome": true, + "console": true, + "document": true, + "localStorage": true, + "navigator": true, + "process": true + }, + "packages": { + "webpack-dev-server>compression>debug>ms": true + } + }, + "mockttp>express>debug": { + "builtin": { + "fs.SyncWriteStream": true, + "net.Socket": true, + "tty.WriteStream": true, + "tty.isatty": true, + "util": true + }, + "globals": { + "chrome": true, + "console": true, + "document": true, + "localStorage": true, + "navigator": true, + "process": true + }, + "packages": { + "mockttp>express>debug>ms": true + } + }, + "mockttp>express>finalhandler>debug": { + "builtin": { + "fs.SyncWriteStream": true, + "net.Socket": true, + "tty.WriteStream": true, + "tty.isatty": true, + "util": true + }, + "globals": { + "chrome": true, + "console": true, + "document": true, + "localStorage": true, + "navigator": true, + "process": true + }, + "packages": { + "mockttp>express>finalhandler>debug>ms": true + } + }, + "nock>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": { + "mocha>ms": true, + "mocha>supports-color": true + } + }, + "mockttp>express>send>debug": { + "builtin": { + "fs.SyncWriteStream": true, + "net.Socket": true, + "tty.WriteStream": true, + "tty.isatty": true, + "util": true + }, + "globals": { + "chrome": true, + "console": true, + "document": true, + "localStorage": true, + "navigator": true, + "process": true + }, + "packages": { + "mockttp>express>send>debug>ms": true + } + }, + "webpack-dev-server>serve-index>debug": { + "builtin": { + "fs.SyncWriteStream": true, + "net.Socket": true, + "tty.WriteStream": true, + "tty.isatty": true, + "util": true + }, + "globals": { + "chrome": true, + "console": true, + "document": true, + "localStorage": true, + "navigator": true, + "process": true + }, + "packages": { + "webpack-dev-server>serve-index>debug>ms": true + } + }, + "string.prototype.matchall>define-properties>define-data-property": { + "packages": { + "string.prototype.matchall>call-bind>es-define-property": true, + "string.prototype.matchall>es-errors": true, + "string.prototype.matchall>gopd": true + } + }, + "koa>cookies>depd": { + "builtin": { + "path.relative": true + }, + "globals": { + "process": true + } + }, + "webpack-dev-server>serve-index>http-errors>depd": { + "builtin": { + "events.EventEmitter.listenerCount": true, + "path.relative": true + }, + "globals": { + "process": true + } + }, + "koa>destroy": { + "builtin": { + "events.EventEmitter": true, + "fs.ReadStream": true, + "stream": true, + "zlib.Deflate": true, + "zlib.DeflateRaw": true, + "zlib.Gunzip": true, + "zlib.Gzip": true, + "zlib.Inflate": true, + "zlib.InflateRaw": true, + "zlib.Unzip": true + } + }, + "tailwindcss>didyoumean": { + "globals": { + "didYouMean": "write" + } + }, + "webpack-dev-server>bonjour-service>multicast-dns>dns-packet": { + "builtin": { + "buffer.Buffer.alloc": true, + "buffer.Buffer.byteLength": true, + "buffer.Buffer.concat": true, + "buffer.Buffer.from": true, + "buffer.Buffer.isBuffer": true + }, + "packages": { + "webpack-dev-server>bonjour-service>multicast-dns>dns-packet>@leichtgewicht/ip-codec": true + } + }, + "dotenv": { + "builtin": { + "crypto.createDecipheriv": true, + "fs.existsSync": true, + "fs.readFileSync": true, + "os.homedir": true, + "path.join": true, + "path.resolve": true + }, + "globals": { + "Buffer.from": true, + "URL": true, + "console.log": true, + "process.cwd": true, + "process.env": true + } + }, + "eslint-plugin-react>es-iterator-helpers>has-proto>dunder-proto": { + "packages": { + "string.prototype.matchall>call-bind>call-bind-apply-helpers": true, + "string.prototype.matchall>gopd": true + } + }, + "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": { + "Buffer.isBuffer": true, + "URL": true, + "clearTimeout": true, + "setTimeout": true + }, + "packages": { + "del>graceful-fs": true, + "webpack>tapable": true + } + }, + "postcss-loader>cosmiconfig>env-paths": { + "builtin": { + "os": true, + "path": true + }, + "globals": { + "process.env": true, + "process.platform": true + } + }, + "depcheck>cosmiconfig>parse-json>error-ex": { + "builtin": { + "util": true + }, + "packages": { + "depcheck>cosmiconfig>parse-json>error-ex>is-arrayish": true + } + }, + "webpack>es-module-lexer": { + "globals": { + "Buffer": true, + "WebAssembly.compile": true, + "WebAssembly.instantiate": true, + "atob": true + } + }, + "@storybook/test-runner>@storybook/core-common>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": { + "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 + } + }, + "yargs>escalade": { + "builtin": { + "fs.readdirSync": true, + "fs.statSync": true, + "path.dirname": true, + "path.resolve": true + } + }, + "webpack>eslint-scope": { + "builtin": { + "assert": true + }, + "packages": { + "eslint>eslint-scope>esrecurse": true, + "webpack>eslint-scope>estraverse": true + } + }, + "eslint>eslint-scope>esrecurse": { + "packages": { + "eslint-plugin-react>estraverse": true + } + }, + "eta": { + "builtin": { + "node:fs": true, + "node:path": true + }, + "globals": { + "define": true + } + }, + "mockttp>express>etag": { + "builtin": { + "crypto.createHash": true, + "fs.Stats": true + }, + "globals": { + "Buffer.byteLength": true, + "Buffer.isBuffer": true + } + }, + "mockttp>express": { + "builtin": { + "events.EventEmitter.prototype": true, + "fs.statSync": true, + "http.IncomingMessage.prototype": true, + "http.ServerResponse.prototype": true, + "http.createServer": true, + "net.isIP": true, + "path.basename": true, + "path.dirname": true, + "path.extname": true, + "path.join": true, + "path.resolve": true, + "querystring.parse": true + }, + "globals": { + "console.error": true, + "process.env.NODE_ENV": true, + "setImmediate": true + }, + "packages": { + "koa>accepts": true, + "mockttp>express>array-flatten": true, + "mockttp>body-parser": true, + "koa>content-disposition": true, + "koa>content-type": true, + "mockttp>express>cookie-signature": true, + "mockttp>express>cookie": true, + "mockttp>express>debug": true, + "koa>cookies>depd": true, + "koa>encodeurl": true, + "koa>escape-html": true, + "mockttp>express>etag": true, + "mockttp>express>finalhandler": true, + "koa>fresh": true, + "mockttp>express>http-errors": true, + "mockttp>express>merge-descriptors": true, + "mockttp>express>methods": true, + "koa>on-finished": true, + "koa>parseurl": true, + "serve-handler>path-to-regexp": true, + "mockttp>express>proxy-addr": true, + "mockttp>express>qs": true, + "mockttp>express>range-parser": true, + "koa>content-disposition>safe-buffer": true, + "mockttp>express>send": true, + "mockttp>express>serve-static": true, + "koa>http-errors>setprototypeof": true, + "mockttp>express>statuses": true, + "mockttp>express>type-is": true, + "mockttp>connect>utils-merge": true, + "koa>vary": true + } + }, + "fast-glob": { + "builtin": { + "fs.lstat": true, + "fs.lstatSync": true, + "fs.readdir": true, + "fs.readdirSync": true, + "fs.stat": true, + "fs.statSync": true, + "os.cpus": true, + "os.platform": true, + "path.basename": true, + "path.isAbsolute": true, + "path.resolve": true, + "stream.PassThrough": true, + "stream.Readable": true + }, + "globals": { + "process.cwd": true + }, + "packages": { + "fast-glob>@nodelib/fs.stat": true, + "eslint>@nodelib/fs.walk": true, + "eslint>glob-parent": true, + "globby>merge2": true, + "micromatch": true + } + }, + "schema-utils>ajv>fast-uri": { + "globals": { + "URL.domainToASCII": true + } + }, + "eslint>@nodelib/fs.walk>fastq": { + "packages": { + "eslint>@nodelib/fs.walk>fastq>reusify": true + } + }, + "webpack-dev-server>sockjs>faye-websocket": { + "builtin": { + "net.connect": true, + "stream.Stream": true, + "tls.connect": true, + "url.parse": true, + "util.inherits": true + }, + "globals": { + "Buffer": true, + "clearInterval": true, + "clearTimeout": true, + "process.nextTick": true, + "setInterval": true, + "setTimeout": true + }, + "packages": { + "webpack-dev-server>sockjs>websocket-driver": true + } + }, + "copy-webpack-plugin>tinyglobby>fdir": { + "builtin": { + "fs": true, + "path.basename": true, + "path.dirname": true, + "path.normalize": true, + "path.relative": true, + "path.resolve": true, + "path.sep": true + }, + "globals": { + "AbortController": true, + "process.platform": true + }, + "packages": { + "copy-webpack-plugin>tinyglobby>picomatch": true + } + }, + "fflate": { + "builtin": { + "worker_threads.Worker": true + }, + "globals": { + "TextDecoder": true, + "TextEncoder": true, + "onmessage": "write", + "postMessage": true, + "queueMicrotask": true, + "setImmediate": true, + "setTimeout": true + } + }, + "chokidar>braces>fill-range": { + "builtin": { + "util.inspect": true + }, + "packages": { + "chokidar>braces>fill-range>to-regex-range": true + } + }, + "mockttp>express>finalhandler": { + "globals": { + "Buffer.byteLength": true, + "process.env.NODE_ENV": true, + "process.nextTick": true, + "setImmediate": true + }, + "packages": { + "mockttp>express>finalhandler>debug": true, + "koa>encodeurl": true, + "koa>escape-html": true, + "koa>on-finished": true, + "koa>parseurl": true, + "mockttp>express>statuses": true, + "mockttp>body-parser>unpipe": true + } + }, + "axios>follow-redirects": { + "builtin": { + "assert": true, + "http": true, + "https": true, + "stream.Writable.call": true, + "stream.Writable.prototype": true, + "url.URL": true, + "url.format": true, + "url.parse": true, + "url.resolve": true + }, + "globals": { + "clearTimeout": true, + "console.warn": true, + "document": true, + "process": true, + "setTimeout": true + }, + "packages": { + "nock>debug": true + } + }, + "lavamoat>lavamoat-core>merge-deep>clone-deep>for-own": { + "packages": { + "gulp>undertaker>object.reduce>for-own>for-in": true + } + }, + "tsx>fsevents": { + "globals": { + "console.assert": true, + "process.platform": true + }, + "native": true + }, + "string.prototype.matchall>get-intrinsic": { + "globals": { + "AggregateError": true, + "FinalizationRegistry": true, + "Float16Array": true, + "WeakRef": true + }, + "packages": { + "string.prototype.matchall>get-intrinsic>async-function": true, + "string.prototype.matchall>get-intrinsic>async-generator-function": true, + "string.prototype.matchall>call-bind>call-bind-apply-helpers": true, + "string.prototype.matchall>call-bind>es-define-property": true, + "string.prototype.matchall>es-errors": true, + "string.prototype.matchall>es-object-atoms": true, + "browserify>has>function-bind": true, + "string.prototype.matchall>get-intrinsic>generator-function": true, + "string.prototype.matchall>es-abstract>get-proto": true, + "string.prototype.matchall>gopd": true, + "string.prototype.matchall>has-symbols": true, + "eslint-plugin-react>hasown": true, + "eslint-plugin-react>array-includes>math-intrinsics": true + } + }, + "string.prototype.matchall>es-abstract>get-proto": { + "packages": { + "eslint-plugin-react>es-iterator-helpers>has-proto>dunder-proto": true, + "string.prototype.matchall>es-object-atoms": true + } + }, + "eslint>glob-parent": { + "builtin": { + "os.platform": true, + "path.posix.dirname": true + }, + "packages": { + "del>is-glob": true + } + }, + "del>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 + } + }, + "prettier-eslint>loglevel-colored-level-prefix>chalk>has-ansi": { + "packages": { + "prettier-eslint>loglevel-colored-level-prefix>chalk>has-ansi>ansi-regex": true + } + }, + "chalk>supports-color>has-flag": { + "globals": { + "process.argv": true + } + }, + "postcss-discard-font-face>postcss>supports-color>has-flag": { + "globals": { + "process.argv": true + } + }, + "eslint-plugin-react>es-iterator-helpers>has-property-descriptors": { + "packages": { + "string.prototype.matchall>call-bind>es-define-property": true + } + }, + "eslint-plugin-react>hasown": { + "packages": { + "browserify>has>function-bind": true + } + }, + "html-bundler-webpack-plugin": { + "builtin": { + "crypto.createHash": true, + "fs": true, + "module.register": true, + "path.basename": true, + "path.dirname": true, + "path.extname": true, + "path.isAbsolute": true, + "path.join": true, + "path.parse": true, + "path.posix.join": true, + "path.relative": true, + "path.resolve": true, + "path.sep": true, + "url.pathToFileURL": true, + "vm.Script": true, + "vm.createContext": true + }, + "globals": { + "Buffer.from": true, + "Buffer.isBuffer": true, + "TextEncoder": true, + "URL": true, + "URLSearchParams": true, + "__dirname": true, + "__filename": true, + "console.log": true, + "console.warn": true, + "process.cwd": true, + "process.env": true, + "process.stdout.write": true, + "structuredClone": true + }, + "packages": { + "html-bundler-webpack-plugin>ansis": true, + "css-loader": true, + "webpack>enhanced-resolve": true, + "eta": true, + "html-bundler-webpack-plugin>html-minifier-terser": true, + "webpack>tapable": true, + "webpack": true + } + }, + "html-bundler-webpack-plugin>html-minifier-terser": { + "packages": { + "html-bundler-webpack-plugin>html-minifier-terser>clean-css": true, + "html-bundler-webpack-plugin>parse5>entities": true, + "html-bundler-webpack-plugin>html-minifier-terser>relateurl": true, + "terser": true + } + }, + "mockttp>express>http-errors": { + "packages": { + "koa>cookies>depd": true, + "pumpify>inherits": true, + "koa>http-errors>setprototypeof": true, + "mockttp>express>statuses": true, + "koa>http-errors>toidentifier": true + } + }, + "webpack-dev-server>serve-index>http-errors": { + "packages": { + "webpack-dev-server>serve-index>http-errors>depd": true, + "webpack-dev-server>serve-index>http-errors>inherits": true, + "webpack-dev-server>serve-index>http-errors>setprototypeof": true, + "webpack-dev-server>serve-index>http-errors>statuses": true + } + }, + "webpack-dev-server>sockjs>websocket-driver>http-parser-js": { + "builtin": { + "assert.equal": true, + "assert.ok": true + } + }, + "webpack-dev-server>http-proxy-middleware": { + "builtin": { + "querystring.stringify": true, + "url.parse": true, + "util.format": true, + "zlib.createBrotliDecompress": true, + "zlib.createGunzip": true, + "zlib.createInflate": true + }, + "globals": { + "Buffer.byteLength": true, + "Buffer.concat": true, + "Buffer.from": true, + "console.error": true, + "console.info": true, + "console.log": true, + "console.warn": true + }, + "packages": { + "@viem/anvil>http-proxy": true, + "del>is-glob": true, + "webpack-dev-server>http-proxy-middleware>is-plain-obj": true, + "micromatch": true + } + }, + "@viem/anvil>http-proxy": { + "builtin": { + "http": true, + "https": true, + "url.parse": true, + "util._extend": true, + "util.inherits": true + }, + "globals": { + "Buffer": true + }, + "packages": { + "@viem/anvil>http-proxy>eventemitter3": true, + "axios>follow-redirects": true, + "@viem/anvil>http-proxy>requires-port": true + } + }, + "jsdom>whatwg-encoding>iconv-lite": { + "builtin": { + "buffer.Buffer": true, + "buffer.SlowBuffer.byteLength": true, + "buffer.SlowBuffer.prototype.toString": true, + "buffer.SlowBuffer.prototype.write": true, + "stream.Readable.prototype.collect": true, + "stream.Readable.prototype.setEncoding": true, + "stream.Transform.call": true, + "stream.Transform.prototype": true, + "string_decoder.StringDecoder.call": true, + "string_decoder.StringDecoder.prototype": true + }, + "globals": { + "console.error": true, + "process": true + }, + "packages": { + "jsdom>whatwg-encoding>iconv-lite>safer-buffer": true + } + }, + "sass-embedded>immutable": { + "globals": { + "console": true, + "define": true + } + }, + "eslint>@eslint/eslintrc>import-fresh": { + "builtin": { + "path.dirname": true + }, + "globals": { + "__dirname": true, + "__filename": true + }, + "packages": { + "eslint>@eslint/eslintrc>import-fresh>parent-module": true, + "eslint>@eslint/eslintrc>import-fresh>resolve-from": true + } + }, + "webpack-dev-server>serve-index>http-errors>inherits": { + "builtin": { + "util.inherits": true + } + }, + "pumpify>inherits": { + "builtin": { + "util.inherits": true + } + }, + "chokidar>is-binary-path": { + "builtin": { + "path.extname": true + }, + "packages": { + "chokidar>is-binary-path>binary-extensions": true + } + }, + "depcheck>is-core-module": { + "globals": { + "process.versions": true + }, + "packages": { + "eslint-plugin-react>hasown": true + } + }, + "del>is-glob": { + "packages": { + "del>is-glob>is-extglob": true + } + }, + "@babel/register>clone-deep>is-plain-object": { + "packages": { + "gulp>gulp-cli>isobject": true + } + }, + "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": { + "@viem/anvil>execa>merge-stream": true, + "mocha>supports-color": true, + "terser-webpack-plugin": true + } + }, + "tailwindcss>jiti": { + "builtin": { + "assert": true, + "crypto": true, + "fs": true, + "module": true, + "os": true, + "path": true, + "perf_hooks.performance.now": true, + "process": true, + "tty": true, + "url": true, + "util": true, + "v8": true, + "vm": true + }, + "globals": { + "Buffer": true, + "TextDecoder": true, + "URL": true, + "atob": true, + "btoa": true, + "console": true, + "document": true, + "localStorage": true, + "navigator": true, + "process": true, + "value": true + } + }, + "postcss-discard-font-face>postcss>js-base64": { + "globals": { + "Base64": "write", + "define": true + } + }, + "@babel/core>@babel/generator>jsesc": { + "globals": { + "Buffer": true + } + }, + "webpack>json-parse-even-better-errors": { + "globals": { + "Buffer.isBuffer": true + } + }, + "@lavamoat/webpack>json-stable-stringify": { + "packages": { + "string.prototype.matchall>call-bind": true, + "string.prototype.matchall>call-bound": true, + "@lavamoat/webpack>json-stable-stringify>isarray": true, + "@lavamoat/webpack>json-stable-stringify>jsonify": true, + "@lavamoat/webpack>json-stable-stringify>object-keys": true + } + }, + "depcheck>json5": { + "globals": { + "console.warn": true + } + }, + "lavamoat>lavamoat-core>merge-deep>kind-of": { + "packages": { + "browserify>insert-module-globals>is-buffer": true + } + }, + "lavamoat>lavamoat-core>merge-deep>clone-deep>shallow-clone>kind-of": { + "globals": { + "Buffer": true + }, + "packages": { + "browserify>insert-module-globals>is-buffer": true + } + }, + "webpack-dev-server>launch-editor": { + "builtin": { + "child_process.execSync": true, + "child_process.spawn": true, + "fs.existsSync": true, + "os.release": true, + "path.basename": true, + "path.relative": true + }, + "globals": { + "console.log": true, + "process.env.EDITOR": true, + "process.env.LAUNCH_EDITOR": true, + "process.env.VISUAL": true, + "process.platform": true, + "process.versions.webcontainer": true + }, + "packages": { + "postcss>picocolors": true, + "browserify>shell-quote": true + } + }, + "lavamoat>lavamoat-core": { + "builtin": { + "node:events": true, + "node:fs.readFileSync": true, + "node:path.extname": true, + "node:path.join": true + }, + "globals": { + "__dirname": true, + "console.error": true, + "console.warn": true, + "define": true + }, + "packages": { + "@lavamoat/webpack>json-stable-stringify": true, + "lavamoat>lavamoat-tofu": true, + "lavamoat>lavamoat-core>merge-deep": true + } + }, + "lavamoat>lavamoat-tofu": { + "globals": { + "console.log": true + }, + "packages": { + "lavamoat>lavamoat-tofu>@babel/parser": true, + "lavamoat>lavamoat-tofu>@babel/traverse": 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>lazy-cache": { + "globals": { + "process.env.UNLAZY": true + } + }, + "webpack>loader-runner": { + "builtin": { + "fs": true, + "url": true + }, + "globals": { + "Buffer.from": true, + "Buffer.isBuffer": true, + "console.error": true, + "process.nextTick": true, + "setImmediate": true + }, + "packages": { + "$root$": true, + "@lavamoat/webpack": true, + "css-loader": true, + "html-bundler-webpack-plugin": true, + "postcss-loader": true, + "react-compiler-webpack": true, + "sass-loader": true + } + }, + "lodash": { + "globals": { + "define": true + } + }, + "@babel/core>@babel/helper-compilation-targets>lru-cache": { + "packages": { + "@babel/core>@babel/helper-compilation-targets>lru-cache>yallist": true + } + }, + "webpack-dev-server>webpack-dev-middleware>memfs": { + "builtin": { + "assert": true, + "buffer.Buffer": true, + "events.EventEmitter": true, + "path": true, + "process": true, + "stream.Readable": true, + "stream.Writable": true, + "url.URL": true, + "util.format": true, + "util.inherits": true, + "util.inspect": true + }, + "globals": { + "DOMException": true, + "clearTimeout": true, + "console.warn": true, + "process": true, + "queueMicrotask": true, + "setImmediate": true, + "setTimeout": true + } + }, + "lavamoat>lavamoat-core>merge-deep": { + "packages": { + "gulp-zip>plugin-error>arr-union": true, + "lavamoat>lavamoat-core>merge-deep>clone-deep": true, + "lavamoat>lavamoat-core>merge-deep>kind-of": true + } + }, + "@viem/anvil>execa>merge-stream": { + "builtin": { + "stream.PassThrough": true + } + }, + "globby>merge2": { + "builtin": { + "stream.PassThrough": true + }, + "globals": { + "process.nextTick": true + } + }, + "mockttp>express>methods": { + "builtin": { + "http.METHODS": true + } + }, + "micromatch": { + "builtin": { + "util.inspect": true + }, + "packages": { + "chokidar>braces": true, + "micromatch>picomatch": true + } + }, + "webpack>mime-types": { + "builtin": { + "path.extname": true + }, + "packages": { + "webpack>mime-types>mime-db": true + } + }, + "http-server>mime": { + "builtin": { + "fs.readFileSync": true, + "path": true + }, + "globals": { + "console.warn": true, + "process.env.DEBUG_MIME": true + } + }, + "lavamoat>lavamoat-core>merge-deep>clone-deep>shallow-clone>mixin-object": { + "packages": { + "lavamoat>lavamoat-core>merge-deep>clone-deep>shallow-clone>mixin-object>for-in": true, + "gulp-watch>anymatch>micromatch>object.omit>is-extendable": true + } + }, + "webpack-dev-server>bonjour-service>multicast-dns": { + "builtin": { + "dgram.createSocket": true, + "events.EventEmitter": true, + "os.networkInterfaces": true, + "os.platform": true + }, + "globals": { + "clearInterval": true, + "process.nextTick": true, + "setInterval": true + }, + "packages": { + "webpack-dev-server>bonjour-service>multicast-dns>dns-packet": true, + "webpack-dev-server>bonjour-service>multicast-dns>thunky": true + } + }, + "webpack>neo-async": { + "globals": { + "clearTimeout": true, + "console": true, + "define": true, + "process": true, + "setImmediate": true, + "setTimeout": true + } + }, + "mockttp>node-forge": { + "builtin": { + "crypto": true + }, + "globals": { + "Blob": true, + "Buffer": true, + "MutationObserver": true, + "QuotaExceededError": true, + "URL": true, + "Worker": true, + "addEventListener": true, + "console": "write", + "document": true, + "jQuery": true, + "localStorage": true, + "location": true, + "navigator": true, + "postMessage": true, + "process": true, + "removeEventListener": true, + "setImmediate": true, + "setTimeout": true + } + }, + "lavamoat>node-gyp-build": { + "builtin": { + "fs.existsSync": true, + "fs.readdirSync": true, + "os.arch": true, + "os.platform": true, + "path.dirname": true, + "path.join": true, + "path.resolve": true + }, + "globals": { + "__non_webpack_require__": true, + "__webpack_require__": true, + "process": true + } + }, + "tailwindcss>object-hash": { + "builtin": { + "crypto.createHash": true, + "crypto.getHashes": true + }, + "globals": { + "Buffer": true + } + }, + "string.prototype.matchall>es-abstract>object-inspect": { + "builtin": { + "util.inspect": true + }, + "globals": { + "HTMLElement": true, + "WeakRef": true + } + }, + "koa>on-finished": { + "builtin": { + "async_hooks": true + }, + "globals": { + "process.nextTick": true, + "setImmediate": true + }, + "packages": { + "koa>on-finished>ee-first": true + } + }, + "eslint>@eslint/eslintrc>import-fresh>parent-module": { + "packages": { + "@metamask/test-bundler>ow>callsites": true + } + }, + "depcheck>cosmiconfig>parse-json": { + "packages": { + "@babel/code-frame": true, + "depcheck>cosmiconfig>parse-json>error-ex": true, + "webpack>json-parse-even-better-errors": true, + "tailwindcss>sucrase>lines-and-columns": true + } + }, + "koa>parseurl": { + "builtin": { + "url.Url": true, + "url.parse": true + } + }, + "depcheck>resolve>path-parse": { + "globals": { + "process.platform": true + } + }, + "serve-handler>path-to-regexp": { + "packages": { + "serve-handler>path-to-regexp>isarray": true + } + }, + "postcss>picocolors": { + "globals": { + "process": true + } + }, + "micromatch>picomatch": { + "builtin": { + "path.basename": true, + "path.sep": true + }, + "globals": { + "process.platform": true, + "process.version.slice": true + } + }, + "copy-webpack-plugin>tinyglobby>picomatch": { + "globals": { + "navigator": true, + "process": true + } + }, + "postcss": { + "builtin": { + "fs.existsSync": true, + "fs.readFileSync": true, + "path.dirname": true, + "path.isAbsolute": true, + "path.join": true, + "path.relative": true, + "path.resolve": true, + "path.sep": true, + "url.fileURLToPath": true, + "url.pathToFileURL": true + }, + "globals": { + "Buffer": true, + "URL": true, + "atob": true, + "btoa": true, + "console": true, + "process.env.LANG": true, + "process.env.NODE_ENV": true + }, + "packages": { + "nanoid": true, + "postcss>picocolors": true, + "postcss>source-map-js": true + } + }, + "postcss-discard-font-face": { + "packages": { + "postcss-discard-font-face>balanced-match": true, + "postcss-discard-font-face>postcss": true + } + }, + "tailwindcss>postcss-js": { + "globals": { + "console": true + }, + "packages": { + "tailwindcss>postcss-js>camelcase-css": true, + "postcss": true + } + }, + "postcss-loader": { + "builtin": { + "module": true, + "path": true, + "url": true + }, + "globals": { + "__filename": true, + "process.cwd": true + }, + "packages": { + "postcss-loader>cosmiconfig": true, + "tailwindcss>jiti": true, + "postcss": true, + "semver": true + } + }, + "css-loader>postcss-modules-local-by-default": { + "packages": { + "css-loader>icss-utils": true, + "stylelint>postcss-selector-parser": true, + "stylelint>postcss-value-parser": true + } + }, + "css-loader>postcss-modules-scope": { + "packages": { + "stylelint>postcss-selector-parser": true + } + }, + "css-loader>postcss-modules-values": { + "packages": { + "css-loader>icss-utils": true + } + }, + "tailwindcss>postcss-nested": { + "packages": { + "postcss": true, + "stylelint>postcss-selector-parser": true + } + }, + "postcss-rtlcss": { + "globals": { + "SuppressedError": true + }, + "packages": { + "postcss": true, + "postcss-rtlcss>rtlcss": true + } + }, + "stylelint>postcss-selector-parser": { + "packages": { + "stylelint>postcss-selector-parser>cssesc": true, + "@storybook/react>util-deprecate": true + } + }, + "postcss-discard-font-face>postcss": { + "builtin": { + "fs": true, + "path": true + }, + "globals": { + "console": true + }, + "packages": { + "postcss-discard-font-face>postcss>chalk": true, + "postcss-discard-font-face>postcss>js-base64": true, + "postcss-discard-font-face>postcss>source-map": true, + "postcss-discard-font-face>postcss>supports-color": true + } + }, + "mockttp>express>proxy-addr": { + "packages": { + "mockttp>express>proxy-addr>forwarded": true, + "react-devtools>internal-ip>ipaddr.js": true + } + }, + "mockttp>express>qs": { + "packages": { + "string.prototype.matchall>side-channel": true + } + }, + "crypto-browserify>randombytes": { + "builtin": { + "crypto.randomBytes": true + } + }, + "mockttp>body-parser>raw-body": { + "builtin": { + "async_hooks": true + }, + "globals": { + "Buffer.concat": true, + "process.nextTick": true + }, + "packages": { + "mockttp>body-parser>bytes": true, + "mockttp>express>http-errors": true, + "jsdom>whatwg-encoding>iconv-lite": true, + "mockttp>body-parser>unpipe": true + } + }, + "react-compiler-webpack": { + "packages": { + "@babel/core": true, + "babel-plugin-react-compiler": true + } + }, + "chokidar>readdirp": { + "builtin": { + "fs": true, + "path.join": true, + "path.relative": true, + "path.resolve": true, + "path.sep": true, + "stream.Readable": true, + "util.promisify": true + }, + "globals": { + "process.platform": true, + "process.versions.node.split": true + }, + "packages": { + "micromatch>picomatch": true + } + }, + "html-bundler-webpack-plugin>html-minifier-terser>relateurl": { + "builtin": { + "url.parse": true + } + }, + "yargs>require-directory": { + "builtin": { + "fs.readdirSync": true, + "fs.statSync": true, + "path.dirname": true, + "path.join": true, + "path.resolve": true + } + }, + "eslint>@eslint/eslintrc>import-fresh>resolve-from": { + "builtin": { + "fs.realpathSync": true, + "module._nodeModulePaths": true, + "module._resolveFilename": true, + "path.join": true, + "path.resolve": 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 + } + }, + "postcss-rtlcss>rtlcss": { + "packages": { + "postcss": true + } + }, + "eslint>@nodelib/fs.walk>@nodelib/fs.scandir>run-parallel": { + "globals": { + "process.nextTick": true + } + }, + "wait-on>rxjs": { + "globals": { + "cancelAnimationFrame": true, + "clearInterval": true, + "clearTimeout": true, + "performance": true, + "requestAnimationFrame": true, + "setInterval.apply": true, + "setTimeout": true + } + }, + "webpack-dev-server>compression>safe-buffer": { + "builtin": { + "buffer": true + } + }, + "koa>content-disposition>safe-buffer": { + "builtin": { + "buffer": true + } + }, + "jsdom>whatwg-encoding>iconv-lite>safer-buffer": { + "builtin": { + "buffer": true + }, + "globals": { + "process.binding": true + } + }, + "sass-embedded": { + "builtin": { + "assert": true, + "child_process": true, + "events": true, + "fs": true, + "path": true, + "stream": true, + "url": true, + "util": true, + "worker_threads": true + }, + "globals": { + "Buffer": true, + "URL": true, + "__dirname": true, + "__filename": true, + "console.error": true, + "process.arch": true, + "process.cwd": true, + "process.execPath": true, + "process.platform": true, + "process.stderr.write": true + }, + "packages": { + "sass-embedded>@bufbuild/protobuf": true, + "sass-embedded>buffer-builder": true, + "sass-embedded>immutable": true, + "wait-on>rxjs": true, + "mocha>supports-color": true, + "sass-embedded>varint": true + } + }, + "sass-loader": { + "builtin": { + "path": true, + "url": true, + "util": true + }, + "globals": { + "process.cwd": true, + "process.env": true, + "process.platform": true + }, + "packages": { + "webpack>neo-async": true, + "sass-embedded": true + } + }, + "schema-utils": { + "globals": { + "process": true + }, + "packages": { + "schema-utils>ajv-formats": true, + "schema-utils>ajv-keywords": true, + "schema-utils>ajv": true + } + }, + "webpack-dev-server>selfsigned": { + "packages": { + "mockttp>node-forge": true + } + }, + "semver": { + "globals": { + "console.error": true, + "process": true + } + }, + "@babel/core>semver": { + "globals": { + "console": true, + "process": true + } + }, + "@babel/core>@babel/helper-compilation-targets>semver": { + "globals": { + "console": true, + "process": true + } + }, + "@babel/preset-env>@babel/plugin-transform-private-methods>@babel/helper-create-class-features-plugin>semver": { + "globals": { + "console": true, + "process": true + } + }, + "mockttp>express>send": { + "builtin": { + "fs.createReadStream": true, + "fs.stat": true, + "path.extname": true, + "path.join": true, + "path.normalize": true, + "path.resolve": true, + "path.sep": true, + "stream": true, + "util.inherits": true + }, + "globals": { + "Buffer.byteLength": true + }, + "packages": { + "mockttp>express>send>debug": true, + "koa>cookies>depd": true, + "koa>destroy": true, + "mockttp>express>send>encodeurl": true, + "koa>escape-html": true, + "mockttp>express>etag": true, + "koa>fresh": true, + "mockttp>express>http-errors": true, + "http-server>mime": true, + "mocha>ms": true, + "koa>on-finished": true, + "mockttp>express>range-parser": true, + "mockttp>express>statuses": true + } + }, + "copy-webpack-plugin>serialize-javascript": { + "globals": { + "URL": true + }, + "packages": { + "crypto-browserify>randombytes": true + } + }, + "webpack-dev-server>serve-index": { + "builtin": { + "fs.readFile": true, + "fs.readFileSync": true, + "fs.readdir": true, + "fs.stat": true, + "path.extname": true, + "path.join": true, + "path.normalize": true, + "path.resolve": true, + "path.sep": true + }, + "globals": { + "Buffer.byteLength": true, + "__dirname": true + }, + "packages": { + "koa>accepts": true, + "webpack-dev-server>serve-index>batch": true, + "webpack-dev-server>serve-index>debug": true, + "koa>escape-html": true, + "webpack-dev-server>serve-index>http-errors": true, + "webpack>mime-types": true, + "koa>parseurl": true + } + }, + "mockttp>express>serve-static": { + "builtin": { + "path.resolve": true, + "url.format": true + }, + "globals": { + "Buffer.byteLength": true + }, + "packages": { + "koa>encodeurl": true, + "koa>escape-html": true, + "koa>parseurl": true, + "mockttp>express>send": true + } + }, + "string.prototype.matchall>call-bind>set-function-length": { + "packages": { + "string.prototype.matchall>define-properties>define-data-property": true, + "string.prototype.matchall>es-errors": true, + "string.prototype.matchall>get-intrinsic": true, + "string.prototype.matchall>gopd": true, + "eslint-plugin-react>es-iterator-helpers>has-property-descriptors": true + } + }, + "lavamoat>lavamoat-core>merge-deep>clone-deep>shallow-clone": { + "packages": { + "gulp-watch>anymatch>micromatch>object.omit>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 + } + }, + "string.prototype.matchall>side-channel>side-channel-list": { + "packages": { + "string.prototype.matchall>es-errors": true, + "string.prototype.matchall>es-abstract>object-inspect": true + } + }, + "string.prototype.matchall>side-channel>side-channel-map": { + "packages": { + "string.prototype.matchall>call-bound": true, + "string.prototype.matchall>es-errors": true, + "string.prototype.matchall>get-intrinsic": true, + "string.prototype.matchall>es-abstract>object-inspect": true + } + }, + "string.prototype.matchall>side-channel>side-channel-weakmap": { + "packages": { + "string.prototype.matchall>call-bound": true, + "string.prototype.matchall>es-errors": true, + "string.prototype.matchall>get-intrinsic": true, + "string.prototype.matchall>es-abstract>object-inspect": true, + "string.prototype.matchall>side-channel>side-channel-map": true + } + }, + "string.prototype.matchall>side-channel": { + "packages": { + "string.prototype.matchall>es-errors": true, + "string.prototype.matchall>es-abstract>object-inspect": true, + "string.prototype.matchall>side-channel>side-channel-list": true, + "string.prototype.matchall>side-channel>side-channel-map": true, + "string.prototype.matchall>side-channel>side-channel-weakmap": true + } + }, + "webpack-dev-server>sockjs": { + "builtin": { + "crypto": true, + "events": true, + "fs": true, + "http": true, + "querystring": true, + "stream": true, + "url": true + }, + "globals": { + "Buffer": true, + "__dirname": true, + "clearTimeout": true, + "console.log": true, + "process.nextTick": true, + "setTimeout": true + }, + "packages": { + "webpack-dev-server>sockjs>faye-websocket": true, + "uuid": true + } + }, + "postcss>source-map-js": { + "globals": { + "console": true + } + }, + "terser>source-map-support": { + "builtin": { + "fs": true, + "path.dirname": true, + "path.resolve": true + }, + "globals": { + "XMLHttpRequest": true, + "console.error": true, + "process": true + }, + "packages": { + "terser>source-map-support>buffer-from": true, + "terser>source-map-support>source-map": true + } + }, + "yargs>string-width": { + "packages": { + "yargs>string-width>emoji-regex": true, + "yargs>string-width>is-fullwidth-code-point": true, + "eslint>strip-ansi": true + } + }, + "postcss-discard-font-face>postcss>chalk>strip-ansi": { + "packages": { + "postcss-discard-font-face>postcss>chalk>strip-ansi>ansi-regex": true + } + }, + "eslint>strip-ansi": { + "packages": { + "eslint>strip-ansi>ansi-regex": true + } + }, + "tailwindcss>sucrase": { + "packages": { + "terser>@jridgewell/source-map>@jridgewell/gen-mapping": true, + "tailwindcss>sucrase>lines-and-columns": true, + "tailwindcss>sucrase>ts-interface-checker": true + } + }, + "postcss-discard-font-face>postcss>chalk>supports-color": { + "globals": { + "process.argv": true, + "process.env": true, + "process.platform": true, + "process.stdout": true + } + }, + "mocha>supports-color": { + "builtin": { + "os.release": true, + "tty.isatty": true + }, + "globals": { + "process.env": true, + "process.platform": true + }, + "packages": { + "chalk>supports-color>has-flag": true + } + }, + "postcss-discard-font-face>postcss>supports-color": { + "globals": { + "process": true + }, + "packages": { + "postcss-discard-font-face>postcss>supports-color>has-flag": true + } + }, + "tailwindcss": { + "builtin": { + "crypto": true, + "fs": true, + "path": true, + "url": true + }, + "globals": { + "URL": true, + "__dirname": true, + "__filename": true, + "console.log": true, + "console.time": true, + "console.timeEnd": true, + "console.warn": true, + "process": true + }, + "packages": { + "tailwindcss>@alloc/quick-lru": true, + "tailwindcss>didyoumean": true, + "tailwindcss>dlv": true, + "fast-glob": true, + "eslint>glob-parent": true, + "del>is-glob": true, + "tailwindcss>jiti": true, + "micromatch": true, + "chokidar>normalize-path": true, + "tailwindcss>object-hash": true, + "postcss>picocolors": true, + "postcss": true, + "tailwindcss>postcss-js": true, + "tailwindcss>postcss-nested": true, + "stylelint>postcss-selector-parser": true, + "tailwindcss>sucrase": true + } + }, + "webpack>tapable": { + "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, + "jsdom>acorn": true + } + }, + "terser-webpack-plugin": { + "builtin": { + "os.availableParallelism": true, + "os.cpus": true, + "path.dirname": true, + "path.relative": true + }, + "globals": { + "Buffer.isBuffer": true, + "__dirname": true, + "__filename": true, + "process.stderr.write": true, + "process.stdout.write": true + }, + "packages": { + "terser-webpack-plugin>@jridgewell/trace-mapping": true, + "@swc/core": true, + "@storybook/test-runner>@storybook/core-common>esbuild": true, + "terser-webpack-plugin>jest-worker": true, + "schema-utils": true, + "copy-webpack-plugin>serialize-javascript": true, + "terser": true, + "html-bundler-webpack-plugin>handlebars>uglify-js": true + } + }, + "webpack-dev-server>bonjour-service>multicast-dns>thunky": { + "globals": { + "process.nextTick": true + } + }, + "copy-webpack-plugin>tinyglobby": { + "builtin": { + "path": true + }, + "globals": { + "console.log": true, + "process.cwd": true, + "process.env.TINYGLOBBY_DEBUG": true, + "process.platform": true + }, + "packages": { + "copy-webpack-plugin>tinyglobby>fdir": true, + "copy-webpack-plugin>tinyglobby>picomatch": true + } + }, + "chokidar>braces>fill-range>to-regex-range": { + "packages": { + "chokidar>braces>fill-range>to-regex-range>is-number": true + } + }, + "tailwindcss>sucrase>ts-interface-checker": { + "globals": { + "Buffer": true + } + }, + "webpack>chrome-trace-event>tslib": { + "globals": { + "define": true + } + }, + "mockttp>express>type-is": { + "packages": { + "mockttp>express>type-is>media-typer": true, + "webpack>mime-types": true + } + }, + "typescript": { + "builtin": { + "crypto": true, + "fs": true, + "inspector": true, + "module.findPnpApi": true, + "os.EOL": true, + "os.platform": true, + "path.dirname": true, + "path.join": true, + "path.resolve": true, + "perf_hooks.performance": true + }, + "globals": { + "BreakpointResolver": true, + "Buffer.from": true, + "CallHierarchy": true, + "Completions": true, + "FindAllReferences": true, + "GoToDefinition": true, + "InlayHintKind": true, + "InlayHints": true, + "Intl.Collator": true, + "JsDoc": true, + "JsTyping": true, + "MapCode": true, + "NavigateTo": true, + "NavigationBar": true, + "OrganizeImports": true, + "OutliningElementsCollector": true, + "Rename": true, + "SignatureHelp": true, + "SmartSelectionRange": true, + "SymbolDisplay": true, + "__dirname": true, + "__filename": true, + "classifier": true, + "clearTimeout": true, + "codefix": true, + "console": true, + "formatting": true, + "gc": true, + "moduleSpecifiers": true, + "onProfilerEvent": true, + "performance": true, + "process": true, + "refactor": true, + "server": true, + "setTimeout": true, + "textChanges": true + }, + "packages": { + "terser>source-map-support": true + } + }, + "html-bundler-webpack-plugin>handlebars>uglify-js": { + "builtin": { + "fs.readFileSync": true + }, + "globals": { + "AST_Node": true, + "OutputStream": true, + "process.env": true + } + }, + "ws>utf-8-validate": { + "globals": { + "__dirname": true + }, + "native": true, + "packages": { + "lavamoat>node-gyp-build": true + } + }, + "@storybook/react>util-deprecate": { + "builtin": { + "util.deprecate": true + } + }, + "uuid": { + "builtin": { + "crypto": true + }, + "globals": { + "Buffer.from": true + } + }, + "webpack>watchpack": { + "builtin": { + "events.EventEmitter": true, + "fs.readlinkSync": true, + "fs.watch": true, + "os.platform": true, + "path.basename": true, + "path.dirname": true, + "path.isAbsolute": true, + "path.join": true, + "path.resolve": true + }, + "globals": { + "clearTimeout": true, + "console.error": 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.stderr.write": true, + "setTimeout": true + }, + "packages": { + "webpack>glob-to-regexp": true, + "del>graceful-fs": true + } + }, + "webpack": { + "builtin": { + "buffer.constants.MAX_LENGTH": true, + "crypto": true, + "events": true, + "fs.readFileSync": true, + "fs.statSync": true, + "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": { + "AggregateError": true, + "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.log": true, + "console.profile": true, + "console.profileEnd": true, + "console.warn": true, + "process.cwd": true, + "process.env": true, + "process.hrtime": true, + "process.nextTick": true, + "process.stderr": true, + "process.versions.modules": true, + "process.versions.pnp": true, + "setImmediate": true, + "setTimeout": true + }, + "packages": { + "$root$": true, + "@lavamoat/webpack": true, + "webpack>@webassemblyjs/ast": true, + "webpack>@webassemblyjs/wasm-edit": true, + "webpack>@webassemblyjs/wasm-parser": true, + "jsdom>acorn": true, + "browserslist": true, + "webpack>chrome-trace-event": true, + "css-loader": true, + "webpack>enhanced-resolve": true, + "webpack>es-module-lexer": true, + "webpack>eslint-scope": true, + "webpack>glob-to-regexp": true, + "del>graceful-fs": true, + "html-bundler-webpack-plugin": true, + "webpack>json-parse-even-better-errors": true, + "webpack>loader-runner": true, + "webpack>mime-types": true, + "webpack>neo-async": true, + "postcss-loader": true, + "react-compiler-webpack": true, + "sass-loader": true, + "schema-utils": true, + "webpack>tapable": true, + "terser-webpack-plugin": true, + "webpack>watchpack": true, + "webpack>webpack-sources": true + } + }, + "webpack-dev-server>webpack-dev-middleware": { + "builtin": { + "crypto.createHash": true, + "fs.mkdir": true, + "fs.writeFile": true, + "path.dirname": true, + "path.extname": true, + "path.join": true, + "path.normalize": true, + "querystring.unescape": true, + "url.parse": true + }, + "globals": { + "Buffer.byteLength": true, + "Buffer.concat": true, + "Buffer.from": true, + "Buffer.isBuffer": true, + "console.log": true, + "process.nextTick": true + }, + "packages": { + "webpack-cli>colorette": true, + "webpack-dev-server>webpack-dev-middleware>memfs": true, + "webpack>mime-types": true, + "koa>on-finished": true, + "mockttp>express>range-parser": true, + "schema-utils": true + } + }, + "webpack-dev-server": { + "builtin": { + "net.Socket": true, + "net.createServer": true, + "os.hostname": true, + "os.networkInterfaces": true, + "os.tmpdir": true, + "path.dirname": true, + "path.join": true, + "path.resolve": true, + "url.format": true, + "url.parse": true, + "util.deprecate": true + }, + "globals": { + "Buffer.isBuffer": true, + "URL": true, + "URLSearchParams": true, + "__dirname": true, + "clearInterval": true, + "process.cwd": true, + "process.env.WEBPACK_DEV_SERVER_BASE_PORT": true, + "process.env.WEBPACK_DEV_SERVER_PORT_RETRY": true, + "process.env.WEBPACK_SERVE": true, + "process.exit": true, + "process.on": true, + "process.platform": true, + "process.removeListener": true, + "process.versions.pnp": true, + "setInterval": true + }, + "packages": { + "webpack-dev-server>bonjour-service": true, + "chokidar": true, + "webpack-cli>colorette": true, + "webpack-dev-server>compression": true, + "webpack-dev-server>connect-history-api-fallback": true, + "mockttp>express": true, + "del>graceful-fs": true, + "webpack-dev-server>http-proxy-middleware": true, + "webpack-dev-server>ipaddr.js": true, + "webpack-dev-server>launch-editor": true, + "schema-utils": true, + "webpack-dev-server>selfsigned": true, + "webpack-dev-server>serve-index": true, + "webpack-dev-server>sockjs": true, + "webpack": true, + "webpack-dev-server>webpack-dev-middleware": true, + "ws": true + } + }, + "webpack>webpack-sources": { + "globals": { + "Buffer.byteLength": true, + "Buffer.concat": true, + "Buffer.from": true, + "Buffer.isBuffer": true, + "process": true + } + }, + "webpack-dev-server>sockjs>websocket-driver": { + "builtin": { + "crypto.createHash": true, + "crypto.randomBytes": true, + "events.EventEmitter": true, + "stream.Stream": true, + "url.parse": true, + "util.inherits": true + }, + "globals": { + "process.version": true + }, + "packages": { + "webpack-dev-server>sockjs>websocket-driver>http-parser-js": true, + "koa>content-disposition>safe-buffer": true, + "webpack-dev-server>sockjs>websocket-driver>websocket-extensions": true + } + }, + "yargs>cliui>wrap-ansi": { + "packages": { + "chalk>ansi-styles": true, + "yargs>string-width": true, + "eslint>strip-ansi": true + } + }, + "ws": { + "builtin": { + "buffer.isUtf8": true, + "crypto.createHash": true, + "crypto.randomBytes": true, + "crypto.randomFillSync": true, + "events": true, + "http.STATUS_CODES": true, + "http.createServer": true, + "http.request": true, + "https.request": true, + "net.connect": true, + "net.isIP": true, + "stream.Duplex": true, + "stream.Readable": true, + "stream.Writable": true, + "tls.connect": true, + "url.URL": true, + "zlib.Z_DEFAULT_WINDOWBITS": true, + "zlib.Z_SYNC_FLUSH": true, + "zlib.createDeflateRaw": true, + "zlib.createInflateRaw": true + }, + "globals": { + "Blob": true, + "Buffer": true, + "clearTimeout": true, + "process.env.WS_NO_BUFFER_UTIL": true, + "process.env.WS_NO_UTF_8_VALIDATE": true, + "process.nextTick": true, + "setImmediate": true, + "setTimeout": true + }, + "packages": { + "ws>bufferutil": true, + "ws>utf-8-validate": true + } + }, + "yargs>y18n": { + "builtin": { + "fs.readFileSync": true, + "fs.statSync": true, + "fs.writeFile": true, + "path.resolve": true, + "util.format": true + } + }, + "yaml": { + "globals": { + "Buffer": true, + "atob": true, + "btoa": true, + "console.dir": true, + "console.log": true, + "console.warn": true, + "process": 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-parser": true + } + }, + "yargs-parser": { + "builtin": { + "fs.readFileSync": true, + "path.normalize": true, + "path.resolve": true, + "util.format": true + }, + "globals": { + "process": true + } + } + } +} \ No newline at end of file diff --git a/package.json b/package.json index ba134cd04539..a6d45c0972c3 100644 --- a/package.json +++ b/package.json @@ -9,6 +9,9 @@ "scripts": { "webpack": "tsx ./development/webpack/launch.ts", "webpack:clearcache": "./development/clear-webpack-cache.js", + "webpack:lavamoat": "tsc -p ./development/webpack/tsconfig.json --noCheck && lavamoat --policy lavamoat/webpack/build/policy.json --override lavamoat/webpack/build/policy-override.json ./development/.webpack/launch.js", + "webpack:lavamoat:build": "yarn webpack:lavamoat -- --env production --no-cache", + "webpack:lavamoat:generate": "yarn webpack:lavamoat --writeAutoPolicy -- --env production --no-cache", "foundryup": "yarn mm-foundryup", "postinstall": "yarn webpack:clearcache && yarn foundryup", "env:e2e": "SEGMENT_HOST='https://api.segment.io' SEGMENT_WRITE_KEY='FAKE' yarn", @@ -248,6 +251,7 @@ "@metamask/jazzicon@npm:^2.0.0": "patch:@metamask/jazzicon@npm%3A2.0.0#~/.yarn/patches/@metamask-jazzicon-npm-2.0.0-36957be38d.patch", "@rive-app/canvas@npm:2.31.5": "patch:@rive-app/canvas@patch%3A@rive-app/canvas@patch%253A@rive-app/canvas@npm%25253A2.31.5%2523~/.yarn/patches/@rive-app-canvas-npm-2.31.5-df519c6e0f.patch%253A%253Aversion=2.31.5&hash=1ed092%23~/.yarn/patches/@rive-app-canvas-patch-9b746e9393.patch%3A%3Aversion=2.31.5&hash=19c5d0#~/.yarn/patches/@rive-app-canvas-patch-03752f0c3b.patch", "addons-linter/glob": "^10.5.0", + "tailwindcss@npm:^3.0.0": "patch:tailwindcss@npm%3A3.4.17#~/.yarn/patches/tailwindcss-npm-3.4.17-403059edc1.patch", "@metamask/bridge-controller@npm:^64.0.0": "patch:@metamask/bridge-controller@npm%3A64.0.0#~/.yarn/patches/@metamask-bridge-controller-npm-64.0.0-956740f7c8.patch", "@metamask/bridge-controller@npm:^63.2.0": "patch:@metamask/bridge-controller@npm%3A64.0.0#~/.yarn/patches/@metamask-bridge-controller-npm-64.0.0-956740f7c8.patch", "@metamask/assets-controllers@npm:^92.0.0": "patch:@metamask/assets-controllers@npm%3A93.1.0#~/.yarn/patches/@metamask-assets-controllers-npm-93.1.0-0f2b5956ff.patch", @@ -274,7 +278,7 @@ "@keystonehq/bc-ur-registry-eth": "^0.21.0", "@lavamoat/lavadome-react": "0.0.20", "@lavamoat/snow": "^2.0.4", - "@lavamoat/webpack": "1.5.3", + "@lavamoat/webpack": "1.5.6", "@ledgerhq/errors": "^6.21.0", "@material-ui/core": "^4.12.4", "@material-ui/pickers": "^3.3.11", @@ -654,7 +658,7 @@ "gulp-stylelint": "^13.0.0", "gulp-watch": "^5.0.1", "gulp-zip": "^5.1.0", - "html-bundler-webpack-plugin": "^4.21.1", + "html-bundler-webpack-plugin": "patch:html-bundler-webpack-plugin@npm%3A4.22.0#~/.yarn/patches/html-bundler-webpack-plugin-npm-4.22.0-5c9a1ad61e.patch", "http-server": "^14.1.1", "https-browserify": "^1.0.0", "husky": "^8.0.3", @@ -669,7 +673,7 @@ "json-schema-to-ts": "^3.0.1", "jsonwebtoken": "^9.0.2", "koa": "^3.1.1", - "lavamoat": "^10.0.0", + "lavamoat": "10.0.5", "lavamoat-viz": "^7.0.5", "level": "^8.0.1", "lockfile-lint": "^4.10.6", @@ -724,14 +728,14 @@ "string.prototype.matchall": "^4.0.2", "style-loader": "^0.21.0", "stylelint": "^13.6.1", - "tailwindcss": "^3.4.1", + "tailwindcss": "patch:tailwindcss@npm%3A3.4.17#~/.yarn/patches/tailwindcss-npm-3.4.17-403059edc1.patch", "terser": "^5.7.0", "terser-webpack-plugin": "^5.3.14", "through2": "^4.0.2", "ts-node": "^10.9.2", "tsx": "^4.20.6", "tweetnacl": "^1.0.3", - "typescript": "~5.4.5", + "typescript": "~5.6.0", "unzipper": "^0.12.3", "viem": "^2.21.8", "vinyl": "^2.2.1", diff --git a/ui/pages/confirmations/components/simulation-details/useBalanceChanges.test.ts b/ui/pages/confirmations/components/simulation-details/useBalanceChanges.test.ts index 05646a689d08..be8ee9bdc5ca 100644 --- a/ui/pages/confirmations/components/simulation-details/useBalanceChanges.test.ts +++ b/ui/pages/confirmations/components/simulation-details/useBalanceChanges.test.ts @@ -375,7 +375,7 @@ describe('useBalanceChanges', () => { }); it('handles unavailable native fiat rate', async () => { - mockSelectConversionRateByChainId.mockReturnValue(null); + mockSelectConversionRateByChainId.mockReturnValue(undefined); const { result, waitForNextUpdate } = setupHook({ ...dummyBalanceChange, difference: DIFFERENCE_ETH_MOCK, diff --git a/yarn.lock b/yarn.lock index 1c741f0d7f99..0268b4844a2b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5061,20 +5061,20 @@ __metadata: languageName: node linkType: hard -"@lavamoat/webpack@npm:1.5.3": - version: 1.5.3 - resolution: "@lavamoat/webpack@npm:1.5.3" +"@lavamoat/webpack@npm:1.5.6": + version: 1.5.6 + resolution: "@lavamoat/webpack@npm:1.5.6" dependencies: "@babel/parser": "npm:7.28.3" "@lavamoat/aa": "npm:^4.3.4" "@lavamoat/types": "npm:^0.1.0" browser-resolve: "npm:2.0.0" json-stable-stringify: "npm:1.3.0" - lavamoat-core: "npm:^17.0.1" + lavamoat-core: "npm:^17.1.2" ses: "npm:1.14.0" peerDependencies: webpack: ^5.80.2 - checksum: 10/3cbc9416f2e2e654636a66f83908d0d8d0fdaf26789e8a848f8cd22acb86b072c893cf10977d45a456504741d341ca3ecfdeb14a51ecced327c8d421e2c74465 + checksum: 10/eb3f84a6ce143f154e430fc37ad757e594f3e1d5987398b59ddcf86d0371f23b2c671d5339ad63cd2d7e3e2305956c65bebfc5eb31d91fad994939a906bcb1be languageName: node linkType: hard @@ -28488,9 +28488,9 @@ __metadata: languageName: node linkType: hard -"html-bundler-webpack-plugin@npm:^4.21.1": - version: 4.21.1 - resolution: "html-bundler-webpack-plugin@npm:4.21.1" +"html-bundler-webpack-plugin@npm:4.22.0": + version: 4.22.0 + resolution: "html-bundler-webpack-plugin@npm:4.22.0" dependencies: "@types/html-minifier-terser": "npm:^7.0.2" ansis: "npm:4.1.0" @@ -28533,7 +28533,56 @@ __metadata: optional: true twig: optional: true - checksum: 10/8c32e3a74448b44d14052c74f6951d8531cf3893589bcc2eaeaae5d38eff2256833565baf3d700dbdcf7f6b5a0af8361b401df2212fa434066b0cf76b39ab52b + checksum: 10/ec81f1b724c146a667c2afa55a8d1dfff723e54f9abc615bda6bd5215057dde3c30a18fb2c67b92024e4413ec7af961c93fefd7b93b51d0f8a0d2f3f48ae4c6b + languageName: node + linkType: hard + +"html-bundler-webpack-plugin@patch:html-bundler-webpack-plugin@npm%3A4.22.0#~/.yarn/patches/html-bundler-webpack-plugin-npm-4.22.0-5c9a1ad61e.patch": + version: 4.22.0 + resolution: "html-bundler-webpack-plugin@patch:html-bundler-webpack-plugin@npm%3A4.22.0#~/.yarn/patches/html-bundler-webpack-plugin-npm-4.22.0-5c9a1ad61e.patch::version=4.22.0&hash=1e814c" + dependencies: + "@types/html-minifier-terser": "npm:^7.0.2" + ansis: "npm:4.1.0" + enhanced-resolve: "npm:>=5.7.0" + eta: "npm:^3.5.0" + html-minifier-terser: "npm:^7.2.0" + peerDependencies: + ejs: ">=3.1.10" + favicons: ">=7.2.0" + handlebars: ">=4.7.8" + liquidjs: ">=10.17.0" + markdown-it: ">=12" + mustache: ">=4.2.0" + nunjucks: ">=3.2.3" + parse5: ">=7.1.2" + prismjs: ">=1.29.0" + pug: ">=3.0.3" + twig: ">=1.17.1" + webpack: ">=5.81.0" + peerDependenciesMeta: + ejs: + optional: true + favicons: + optional: true + handlebars: + optional: true + liquidjs: + optional: true + markdown-it: + optional: true + mustache: + optional: true + nunjucks: + optional: true + parse5: + optional: true + prismjs: + optional: true + pug: + optional: true + twig: + optional: true + checksum: 10/11ae59d28043b0ef05671c526d26c23ba3201c3be17e097b470d8457de01ee9fe9df97b01e6fb2c8a0eb3d92bbe80dc78475ad0b943b3cf4d6dd1eb953885ed2 languageName: node linkType: hard @@ -32186,19 +32235,19 @@ __metadata: languageName: node linkType: hard -"lavamoat-core@npm:^17.0.0, lavamoat-core@npm:^17.0.1": - version: 17.0.1 - resolution: "lavamoat-core@npm:17.0.1" +"lavamoat-core@npm:^17.0.1, lavamoat-core@npm:^17.1.2": + version: 17.1.2 + resolution: "lavamoat-core@npm:17.1.2" dependencies: "@babel/types": "npm:7.27.3" "@lavamoat/types": "npm:^0.1.0" json-stable-stringify: "npm:1.3.0" - lavamoat-tofu: "npm:^8.0.11" + lavamoat-tofu: "npm:^8.1.0" merge-deep: "npm:3.0.3" ses: "npm:1.14.0" bin: lavamoat-sort-policy: src/policy-sort-cli.js - checksum: 10/216db62524b416ba5670ae237ccdb94d07a04a84294c9193c3f8cd245dc883f37f993bdecefb22f99f8d742e7297303b9dca430631e4a74547c8b9dc94592e2f + checksum: 10/accdedcdabc84b5f4b95b7f9cecf0638be95d1df8068adec0402e5a3177367e442839ca8fc4c20904646f31f75e5dbc0dc9dcde54d26ac16dedd0fe401c75dfb languageName: node linkType: hard @@ -32217,9 +32266,9 @@ __metadata: languageName: node linkType: hard -"lavamoat-tofu@npm:^8.0.11": - version: 8.0.11 - resolution: "lavamoat-tofu@npm:8.0.11" +"lavamoat-tofu@npm:^8.1.0": + version: 8.1.0 + resolution: "lavamoat-tofu@npm:8.1.0" dependencies: "@babel/parser": "npm:7.27.3" "@babel/traverse": "npm:7.27.3" @@ -32229,7 +32278,7 @@ __metadata: type-fest: "npm:4.41.0" peerDependencies: lavamoat-core: ">15.4.0" - checksum: 10/4435814fae3934ca41d8a8ef7962b86a556cb3a2000d50d200d5afdabf43984231ceabf0dc5aa74e8890967f42d5ac01e7c8e78c69804b224ad7ead56a9b4abb + checksum: 10/ed96ddf284af0051179a4f46bc6432fb32d05f5055ae94fe3f469a7d7f17c62e834854bf2ed26fb55ff012a02789b8b0bee3cb760aab24d04d8714dba3d43b3f languageName: node linkType: hard @@ -32249,9 +32298,9 @@ __metadata: languageName: node linkType: hard -"lavamoat@npm:^10.0.0": - version: 10.0.0 - resolution: "lavamoat@npm:10.0.0" +"lavamoat@npm:10.0.5": + version: 10.0.5 + resolution: "lavamoat@npm:10.0.5" dependencies: "@babel/code-frame": "npm:7.27.1" "@babel/highlight": "npm:7.25.9" @@ -32259,15 +32308,15 @@ __metadata: bindings: "npm:1.5.0" corepack: "npm:0.33.0" htmlescape: "npm:1.1.1" - lavamoat-core: "npm:^17.0.0" - lavamoat-tofu: "npm:^8.0.11" + lavamoat-core: "npm:^17.1.2" + lavamoat-tofu: "npm:^8.1.0" 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/3a6e995289a6fe5007f020b7288d22ea98c0eaee8d609cfc172c9a81ab7db1cec7fd7dffb84eb58ddbcefd73195e84a103df27ea76539eded5d77c4356454c5f + checksum: 10/b5f980ebe8a09e0b75bbf3663a0d4643521b4864aaccd158fc0f9ddb5c98ae6e34a41fc3ba97f19993665e7a06762fd76b4734dd8fffad8ca5578b2eac4aa2c6 languageName: node linkType: hard @@ -33425,7 +33474,7 @@ __metadata: "@lavamoat/lavadome-react": "npm:0.0.20" "@lavamoat/lavapack": "npm:^7.0.17" "@lavamoat/snow": "npm:^2.0.4" - "@lavamoat/webpack": "npm:1.5.3" + "@lavamoat/webpack": "npm:1.5.6" "@ledgerhq/errors": "npm:^6.21.0" "@lydell/node-pty": "npm:^1.1.0" "@material-ui/core": "npm:^4.12.4" @@ -33743,7 +33792,7 @@ __metadata: gulp-watch: "npm:^5.0.1" gulp-zip: "npm:^5.1.0" he: "npm:^1.2.0" - html-bundler-webpack-plugin: "npm:^4.21.1" + html-bundler-webpack-plugin: "patch:html-bundler-webpack-plugin@npm%3A4.22.0#~/.yarn/patches/html-bundler-webpack-plugin-npm-4.22.0-5c9a1ad61e.patch" http-server: "npm:^14.1.1" https-browserify: "npm:^1.0.0" human-standard-token-abi: "npm:^2.0.0" @@ -33764,7 +33813,7 @@ __metadata: jsonwebtoken: "npm:^9.0.2" koa: "npm:^3.1.1" labeled-stream-splicer: "npm:^2.0.2" - lavamoat: "npm:^10.0.0" + lavamoat: "npm:10.0.5" lavamoat-browserify: "npm:^19.0.2" lavamoat-viz: "npm:^7.0.5" level: "npm:^8.0.1" @@ -33852,7 +33901,7 @@ __metadata: string.prototype.matchall: "npm:^4.0.2" style-loader: "npm:^0.21.0" stylelint: "npm:^13.6.1" - tailwindcss: "npm:^3.4.1" + tailwindcss: "patch:tailwindcss@npm%3A3.4.17#~/.yarn/patches/tailwindcss-npm-3.4.17-403059edc1.patch" terser: "npm:^5.7.0" terser-webpack-plugin: "npm:^5.3.14" through2: "npm:^4.0.2" @@ -33861,7 +33910,7 @@ __metadata: tslib: "npm:~2.6.0" tsx: "npm:^4.20.6" tweetnacl: "npm:^1.0.3" - typescript: "npm:~5.4.5" + typescript: "npm:~5.6.0" unicode-confusables: "npm:^0.1.1" unzipper: "npm:^0.12.3" uri-js: "npm:^4.4.1" @@ -42364,7 +42413,7 @@ __metadata: languageName: node linkType: hard -"tailwindcss@npm:^3.0.0, tailwindcss@npm:^3.4.1": +"tailwindcss@npm:3.4.17": version: 3.4.17 resolution: "tailwindcss@npm:3.4.17" dependencies: @@ -42397,6 +42446,39 @@ __metadata: languageName: node linkType: hard +"tailwindcss@patch:tailwindcss@npm%3A3.4.17#~/.yarn/patches/tailwindcss-npm-3.4.17-403059edc1.patch": + version: 3.4.17 + resolution: "tailwindcss@patch:tailwindcss@npm%3A3.4.17#~/.yarn/patches/tailwindcss-npm-3.4.17-403059edc1.patch::version=3.4.17&hash=aeb7c1" + dependencies: + "@alloc/quick-lru": "npm:^5.2.0" + arg: "npm:^5.0.2" + chokidar: "npm:^3.6.0" + didyoumean: "npm:^1.2.2" + dlv: "npm:^1.1.3" + fast-glob: "npm:^3.3.2" + glob-parent: "npm:^6.0.2" + is-glob: "npm:^4.0.3" + jiti: "npm:^1.21.6" + lilconfig: "npm:^3.1.3" + micromatch: "npm:^4.0.8" + normalize-path: "npm:^3.0.0" + object-hash: "npm:^3.0.0" + picocolors: "npm:^1.1.1" + postcss: "npm:^8.4.47" + postcss-import: "npm:^15.1.0" + postcss-js: "npm:^4.0.1" + postcss-load-config: "npm:^4.0.2" + postcss-nested: "npm:^6.2.0" + postcss-selector-parser: "npm:^6.1.2" + resolve: "npm:^1.22.8" + sucrase: "npm:^3.35.0" + bin: + tailwind: lib/cli.js + tailwindcss: lib/cli.js + checksum: 10/d915c9ad35a90ace4ea8454eaa569103bb63472de8fd6f60cf3c74035d8dabac7f0f7e55f58dc0d85dd77edc86ca87d702b9503142b3acd3d1c069e4137af7ec + languageName: node + linkType: hard + "tapable@npm:^2.0.0, tapable@npm:^2.1.1, tapable@npm:^2.2.0, tapable@npm:^2.2.1, tapable@npm:^2.2.3": version: 2.3.0 resolution: "tapable@npm:2.3.0" @@ -43421,13 +43503,13 @@ __metadata: languageName: node linkType: hard -"typescript@npm:~5.4.5": - version: 5.4.5 - resolution: "typescript@npm:5.4.5" +"typescript@npm:~5.6.0": + version: 5.6.3 + resolution: "typescript@npm:5.6.3" bin: tsc: bin/tsc tsserver: bin/tsserver - checksum: 10/d04a9e27e6d83861f2126665aa8d84847e8ebabcea9125b9ebc30370b98cb38b5dff2508d74e2326a744938191a83a69aa9fddab41f193ffa43eabfdf3f190a5 + checksum: 10/c328e418e124b500908781d9f7b9b93cf08b66bf5936d94332b463822eea2f4e62973bfb3b8a745fdc038785cb66cf59d1092bac3ec2ac6a3e5854687f7833f1 languageName: node linkType: hard @@ -43441,13 +43523,13 @@ __metadata: languageName: node linkType: hard -"typescript@patch:typescript@npm%3A~5.4.5#optional!builtin": - version: 5.4.5 - resolution: "typescript@patch:typescript@npm%3A5.4.5#optional!builtin::version=5.4.5&hash=5adc0c" +"typescript@patch:typescript@npm%3A~5.6.0#optional!builtin": + version: 5.6.3 + resolution: "typescript@patch:typescript@npm%3A5.6.3#optional!builtin::version=5.6.3&hash=8c6c40" bin: tsc: bin/tsc tsserver: bin/tsserver - checksum: 10/760f7d92fb383dbf7dee2443bf902f4365db2117f96f875cf809167f6103d55064de973db9f78fe8f31ec08fff52b2c969aee0d310939c0a3798ec75d0bca2e1 + checksum: 10/00504c01ee42d470c23495426af07512e25e6546bce7e24572e72a9ca2e6b2e9bea63de4286c3cfea644874da1467dcfca23f4f98f7caf20f8b03c0213bb6837 languageName: node linkType: hard