From 4d21bc1a637effe2260cca555608340a4500a3ea Mon Sep 17 00:00:00 2001 From: Maarten Zuidhoorn Date: Tue, 28 Oct 2025 12:05:24 +0100 Subject: [PATCH 1/2] Replace `lavamoat` with `@lavamoat/node` --- .../snaps-execution-environments/package.json | 2 +- yarn.lock | 470 ++++++++++-------- 2 files changed, 276 insertions(+), 196 deletions(-) diff --git a/packages/snaps-execution-environments/package.json b/packages/snaps-execution-environments/package.json index b2fb0b16da..d5223591c5 100644 --- a/packages/snaps-execution-environments/package.json +++ b/packages/snaps-execution-environments/package.json @@ -82,6 +82,7 @@ "@esbuild-plugins/node-modules-polyfill": "^0.2.2", "@lavamoat/allow-scripts": "^3.4.0", "@lavamoat/lavatube": "^1.0.0", + "@lavamoat/node": "^0.4.6", "@lavamoat/webpack": "^1.5.0", "@metamask/auto-changelog": "^5.0.2", "@swc/core": "1.11.31", @@ -101,7 +102,6 @@ "jest-environment-node": "^29.5.0", "jest-fetch-mock": "^3.0.3", "jest-silent-reporter": "^0.6.0", - "lavamoat": "^9.0.10", "prettier": "^3.3.3", "rimraf": "^4.1.2", "serve-handler": "^6.1.5", diff --git a/yarn.lock b/yarn.lock index 0201db59f1..2e5155e460 100644 --- a/yarn.lock +++ b/yarn.lock @@ -94,7 +94,7 @@ __metadata: languageName: node linkType: hard -"@babel/code-frame@npm:7.27.1, @babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.10.4, @babel/code-frame@npm:^7.12.13, @babel/code-frame@npm:^7.16.7, @babel/code-frame@npm:^7.27.1": +"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.10.4, @babel/code-frame@npm:^7.12.13, @babel/code-frame@npm:^7.16.7, @babel/code-frame@npm:^7.25.9, @babel/code-frame@npm:^7.27.1": version: 7.27.1 resolution: "@babel/code-frame@npm:7.27.1" dependencies: @@ -135,16 +135,16 @@ __metadata: languageName: node linkType: hard -"@babel/generator@npm:^7.27.1, @babel/generator@npm:^7.27.3, @babel/generator@npm:^7.7.2": - version: 7.27.5 - resolution: "@babel/generator@npm:7.27.5" +"@babel/generator@npm:^7.25.9, @babel/generator@npm:^7.26.3, @babel/generator@npm:^7.27.1, @babel/generator@npm:^7.27.3, @babel/generator@npm:^7.7.2": + version: 7.28.5 + resolution: "@babel/generator@npm:7.28.5" dependencies: - "@babel/parser": "npm:^7.27.5" - "@babel/types": "npm:^7.27.3" - "@jridgewell/gen-mapping": "npm:^0.3.5" - "@jridgewell/trace-mapping": "npm:^0.3.25" + "@babel/parser": "npm:^7.28.5" + "@babel/types": "npm:^7.28.5" + "@jridgewell/gen-mapping": "npm:^0.3.12" + "@jridgewell/trace-mapping": "npm:^0.3.28" jsesc: "npm:^3.0.2" - checksum: 10/f5e6942670cb32156b3ac2d75ce09b373558823387f15dd1413c27fe9eb5756a7c6011fc7f956c7acc53efb530bfb28afffa24364d46c4e9ffccc4e5c8b3b094 + checksum: 10/ae618f0a17a6d76c3983e1fd5d9c2f5fdc07703a119efdb813a7d9b8ad4be0a07d4c6f0d718440d2de01a68e321f64e2d63c77fc5d43ae47ae143746ef28ac1f languageName: node linkType: hard @@ -353,17 +353,17 @@ __metadata: languageName: node linkType: hard -"@babel/helper-string-parser@npm:^7.27.1": +"@babel/helper-string-parser@npm:^7.25.9, @babel/helper-string-parser@npm:^7.27.1": version: 7.27.1 resolution: "@babel/helper-string-parser@npm:7.27.1" checksum: 10/0ae29cc2005084abdae2966afdb86ed14d41c9c37db02c3693d5022fba9f5d59b011d039380b8e537c34daf117c549f52b452398f576e908fb9db3c7abbb3a00 languageName: node linkType: hard -"@babel/helper-validator-identifier@npm:^7.22.20, @babel/helper-validator-identifier@npm:^7.25.9, @babel/helper-validator-identifier@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/helper-validator-identifier@npm:7.27.1" - checksum: 10/75041904d21bdc0cd3b07a8ac90b11d64cd3c881e89cb936fa80edd734bf23c35e6bd1312611e8574c4eab1f3af0f63e8a5894f4699e9cfdf70c06fcf4252320 +"@babel/helper-validator-identifier@npm:^7.22.20, @babel/helper-validator-identifier@npm:^7.25.9, @babel/helper-validator-identifier@npm:^7.27.1, @babel/helper-validator-identifier@npm:^7.28.5": + version: 7.28.5 + resolution: "@babel/helper-validator-identifier@npm:7.28.5" + checksum: 10/8e5d9b0133702cfacc7f368bf792f0f8ac0483794877c6dca5fcb73810ee138e27527701826fb58a40a004f3a5ec0a2f3c3dd5e326d262530b119918f3132ba7 languageName: node linkType: hard @@ -395,18 +395,6 @@ __metadata: languageName: node linkType: hard -"@babel/highlight@npm:7.25.9": - version: 7.25.9 - resolution: "@babel/highlight@npm:7.25.9" - dependencies: - "@babel/helper-validator-identifier": "npm:^7.25.9" - chalk: "npm:^2.4.2" - js-tokens: "npm:^4.0.0" - picocolors: "npm:^1.0.0" - checksum: 10/0d165283dd4eb312292cea8fec3ae0d376874b1885f476014f0136784ed5b564b2c2ba2d270587ed546ee92505056dab56493f7960c01c4e6394d71d1b2e7db6 - languageName: node - linkType: hard - "@babel/parser@npm:7.27.3": version: 7.27.3 resolution: "@babel/parser@npm:7.27.3" @@ -418,7 +406,7 @@ __metadata: languageName: node linkType: hard -"@babel/parser@npm:7.28.3, @babel/parser@npm:^7.1.0, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.20.15, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.21.3, @babel/parser@npm:^7.23.0, @babel/parser@npm:^7.23.9, @babel/parser@npm:^7.25.4, @babel/parser@npm:^7.27.1, @babel/parser@npm:^7.27.2, @babel/parser@npm:^7.27.3, @babel/parser@npm:^7.27.5": +"@babel/parser@npm:7.28.3": version: 7.28.3 resolution: "@babel/parser@npm:7.28.3" dependencies: @@ -429,6 +417,28 @@ __metadata: languageName: node linkType: hard +"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.20.15, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.21.3, @babel/parser@npm:^7.23.0, @babel/parser@npm:^7.23.9, @babel/parser@npm:^7.25.4, @babel/parser@npm:^7.25.9, @babel/parser@npm:^7.27.1, @babel/parser@npm:^7.27.2, @babel/parser@npm:^7.27.3, @babel/parser@npm:^7.28.5": + version: 7.28.5 + resolution: "@babel/parser@npm:7.28.5" + dependencies: + "@babel/types": "npm:^7.28.5" + bin: + parser: ./bin/babel-parser.js + checksum: 10/8d9bfb437af6c97a7f6351840b9ac06b4529ba79d6d3def24d6c2996ab38ff7f1f9d301e868ca84a93a3050fadb3d09dbc5105b24634cd281671ac11eebe8df7 + languageName: node + linkType: hard + +"@babel/parser@npm:~7.26.2": + version: 7.26.10 + resolution: "@babel/parser@npm:7.26.10" + dependencies: + "@babel/types": "npm:^7.26.10" + bin: + parser: ./bin/babel-parser.js + checksum: 10/3f87781f46795ba72448168061d9e99c394fdf9cd4aa3ddf053a06334247da4d25d0923ccc89195937d3360d384cee181e99711763c1e8fe81d4f17ee22541fc + languageName: node + linkType: hard + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:^7.22.15": version: 7.22.15 resolution: "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:7.22.15" @@ -1444,7 +1454,7 @@ __metadata: languageName: node linkType: hard -"@babel/template@npm:^7.22.15, @babel/template@npm:^7.22.5, @babel/template@npm:^7.27.1, @babel/template@npm:^7.27.2, @babel/template@npm:^7.3.3": +"@babel/template@npm:^7.22.15, @babel/template@npm:^7.22.5, @babel/template@npm:^7.25.9, @babel/template@npm:^7.27.1, @babel/template@npm:^7.27.2, @babel/template@npm:^7.3.3": version: 7.27.2 resolution: "@babel/template@npm:7.27.2" dependencies: @@ -1470,6 +1480,21 @@ __metadata: languageName: node linkType: hard +"@babel/traverse@npm:~7.25.9": + version: 7.25.9 + resolution: "@babel/traverse@npm:7.25.9" + dependencies: + "@babel/code-frame": "npm:^7.25.9" + "@babel/generator": "npm:^7.25.9" + "@babel/parser": "npm:^7.25.9" + "@babel/template": "npm:^7.25.9" + "@babel/types": "npm:^7.25.9" + debug: "npm:^4.3.1" + globals: "npm:^11.1.0" + checksum: 10/7431614d76d4a053e429208db82f2846a415833f3d9eb2e11ef72eeb3c64dfd71f4a4d983de1a4a047b36165a1f5a64de8ca2a417534cc472005c740ffcb9c6a + languageName: node + linkType: hard + "@babel/types@npm:7.27.3": version: 7.27.3 resolution: "@babel/types@npm:7.27.3" @@ -1480,13 +1505,23 @@ __metadata: languageName: node linkType: hard -"@babel/types@npm:^7.0.0, @babel/types@npm:^7.20.7, @babel/types@npm:^7.22.15, @babel/types@npm:^7.22.19, @babel/types@npm:^7.22.5, @babel/types@npm:^7.23.0, @babel/types@npm:^7.25.4, @babel/types@npm:^7.27.1, @babel/types@npm:^7.27.3, @babel/types@npm:^7.28.2, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4": - version: 7.28.4 - resolution: "@babel/types@npm:7.28.4" +"@babel/types@npm:^7.0.0, @babel/types@npm:^7.20.7, @babel/types@npm:^7.22.15, @babel/types@npm:^7.22.19, @babel/types@npm:^7.22.5, @babel/types@npm:^7.23.0, @babel/types@npm:^7.25.4, @babel/types@npm:^7.25.9, @babel/types@npm:^7.26.10, @babel/types@npm:^7.27.1, @babel/types@npm:^7.27.3, @babel/types@npm:^7.28.2, @babel/types@npm:^7.28.5, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4": + version: 7.28.5 + resolution: "@babel/types@npm:7.28.5" dependencies: "@babel/helper-string-parser": "npm:^7.27.1" - "@babel/helper-validator-identifier": "npm:^7.27.1" - checksum: 10/db50bf257aafa5d845ad16dae0587f57d596e4be4cbb233ea539976a4c461f9fbcc0bf3d37adae3f8ce5dcb4001462aa608f3558161258b585f6ce6ce21a2e45 + "@babel/helper-validator-identifier": "npm:^7.28.5" + checksum: 10/4256bb9fb2298c4f9b320bde56e625b7091ea8d2433d98dcf524d4086150da0b6555aabd7d0725162670614a9ac5bf036d1134ca13dedc9707f988670f1362d7 + languageName: node + linkType: hard + +"@babel/types@npm:~7.26.0": + version: 7.26.10 + resolution: "@babel/types@npm:7.26.10" + dependencies: + "@babel/helper-string-parser": "npm:^7.25.9" + "@babel/helper-validator-identifier": "npm:^7.25.9" + checksum: 10/6b4f24ee77af853c2126eaabb65328cd44a7d6f439685131cf929c30567e01b6ea2e5d5653b2c304a09c63a5a6199968f0e27228a007acf35032036d79a9dee6 languageName: node linkType: hard @@ -1682,6 +1717,27 @@ __metadata: languageName: node linkType: hard +"@endo/cjs-module-analyzer@npm:^1.0.11": + version: 1.0.11 + resolution: "@endo/cjs-module-analyzer@npm:1.0.11" + checksum: 10/3048cee8a0ca5487a36b3a3d8aa0686884698a22f494f2b24cdff42b1f171bbf51f81467f6d4a90de13e0b33f6d793d4e983dbd43f3929e2d1620fdcd8d9de73 + languageName: node + linkType: hard + +"@endo/compartment-mapper@npm:1.6.3": + version: 1.6.3 + resolution: "@endo/compartment-mapper@npm:1.6.3" + dependencies: + "@endo/cjs-module-analyzer": "npm:^1.0.11" + "@endo/module-source": "npm:^1.3.3" + "@endo/path-compare": "npm:^1.1.0" + "@endo/trampoline": "npm:^1.0.5" + "@endo/zip": "npm:^1.0.11" + ses: "npm:^1.14.0" + checksum: 10/dfa65934e11b8c17ad07306575d9fec6b2d76e92548bdb785c4dae5e52b0e5096ff5f417152bec621f2f1cf4481b6356cd764ad3e3de68710aadc199a891f9e4 + languageName: node + linkType: hard + "@endo/env-options@npm:^1.1.11": version: 1.1.11 resolution: "@endo/env-options@npm:1.1.11" @@ -1689,6 +1745,17 @@ __metadata: languageName: node linkType: hard +"@endo/evasive-transform@npm:2.0.2": + version: 2.0.2 + resolution: "@endo/evasive-transform@npm:2.0.2" + dependencies: + "@babel/generator": "npm:^7.26.3" + "@babel/parser": "npm:~7.26.2" + "@babel/traverse": "npm:~7.25.9" + checksum: 10/1fc843402e9567c38831f33c8c6024b0474b69baa98586c86c7b3b31d3648a34cebc37de0c13a95d6ec7edcaf5661216a92c89568ab7e722ed2a309b0724103c + languageName: node + linkType: hard + "@endo/immutable-arraybuffer@npm:^1.1.2": version: 1.1.2 resolution: "@endo/immutable-arraybuffer@npm:1.1.2" @@ -1696,6 +1763,40 @@ __metadata: languageName: node linkType: hard +"@endo/module-source@npm:^1.3.3": + version: 1.3.3 + resolution: "@endo/module-source@npm:1.3.3" + dependencies: + "@babel/generator": "npm:^7.26.3" + "@babel/parser": "npm:~7.26.2" + "@babel/traverse": "npm:~7.25.9" + "@babel/types": "npm:~7.26.0" + ses: "npm:^1.14.0" + checksum: 10/d6fcba09d5c2778ef9c5a10dce9d9389827d5482a0841abd85ad66aa0386fe8d4143ba4937ef266303989baa3626b1178a7fdf6caf31089c162b70fb12a874bd + languageName: node + linkType: hard + +"@endo/path-compare@npm:^1.1.0": + version: 1.1.0 + resolution: "@endo/path-compare@npm:1.1.0" + checksum: 10/e67c486338d633274a89f0090cc49dee0b5baee791a6ecbe8f329da17dbe07b6bebe5861bdcef86579206c329159e1ccf36dce4901ccd0f5207d8e890577a275 + languageName: node + linkType: hard + +"@endo/trampoline@npm:^1.0.5": + version: 1.0.5 + resolution: "@endo/trampoline@npm:1.0.5" + checksum: 10/a84b1c19052b31629c7e27aee4d84381459d3f060736d244d9c048467e58742dd84151b0daa763c7c95041592689fdad81e92e6315aaa69e5a180e3e6199b700 + languageName: node + linkType: hard + +"@endo/zip@npm:^1.0.11": + version: 1.0.11 + resolution: "@endo/zip@npm:1.0.11" + checksum: 10/991656381ad0d78eedb08054ff7e89f25b54dd6273d52043ca557f049ff6d38e7c5ca8c2a9d6bf772e44b761bad38c43d4dfe01d9ed2af45d4527ca9ee8952f7 + languageName: node + linkType: hard + "@es-joy/jsdoccomment@npm:~0.49.0": version: 0.49.0 resolution: "@es-joy/jsdoccomment@npm:0.49.0" @@ -2633,14 +2734,13 @@ __metadata: languageName: node linkType: hard -"@jridgewell/gen-mapping@npm:^0.3.0, @jridgewell/gen-mapping@npm:^0.3.5": - version: 0.3.8 - resolution: "@jridgewell/gen-mapping@npm:0.3.8" +"@jridgewell/gen-mapping@npm:^0.3.0, @jridgewell/gen-mapping@npm:^0.3.12, @jridgewell/gen-mapping@npm:^0.3.5": + version: 0.3.13 + resolution: "@jridgewell/gen-mapping@npm:0.3.13" dependencies: - "@jridgewell/set-array": "npm:^1.2.1" - "@jridgewell/sourcemap-codec": "npm:^1.4.10" + "@jridgewell/sourcemap-codec": "npm:^1.5.0" "@jridgewell/trace-mapping": "npm:^0.3.24" - checksum: 10/9d3a56ab3612ab9b85d38b2a93b87f3324f11c5130859957f6500e4ac8ce35f299d5ccc3ecd1ae87597601ecf83cee29e9afd04c18777c24011073992ff946df + checksum: 10/902f8261dcf450b4af7b93f9656918e02eec80a2169e155000cb2059f90113dd98f3ccf6efc6072cee1dd84cac48cade51da236972d942babc40e4c23da4d62a languageName: node linkType: hard @@ -2651,13 +2751,6 @@ __metadata: languageName: node linkType: hard -"@jridgewell/set-array@npm:^1.2.1": - version: 1.2.1 - resolution: "@jridgewell/set-array@npm:1.2.1" - checksum: 10/832e513a85a588f8ed4f27d1279420d8547743cc37fcad5a5a76fc74bb895b013dfe614d0eed9cb860048e6546b798f8f2652020b4b2ba0561b05caa8c654b10 - languageName: node - linkType: hard - "@jridgewell/source-map@npm:^0.3.3": version: 0.3.3 resolution: "@jridgewell/source-map@npm:0.3.3" @@ -2685,13 +2778,13 @@ __metadata: languageName: node linkType: hard -"@jridgewell/trace-mapping@npm:^0.3.12, @jridgewell/trace-mapping@npm:^0.3.15, @jridgewell/trace-mapping@npm:^0.3.23, @jridgewell/trace-mapping@npm:^0.3.24, @jridgewell/trace-mapping@npm:^0.3.25, @jridgewell/trace-mapping@npm:^0.3.9": - version: 0.3.25 - resolution: "@jridgewell/trace-mapping@npm:0.3.25" +"@jridgewell/trace-mapping@npm:^0.3.12, @jridgewell/trace-mapping@npm:^0.3.15, @jridgewell/trace-mapping@npm:^0.3.23, @jridgewell/trace-mapping@npm:^0.3.24, @jridgewell/trace-mapping@npm:^0.3.25, @jridgewell/trace-mapping@npm:^0.3.28, @jridgewell/trace-mapping@npm:^0.3.9": + version: 0.3.31 + resolution: "@jridgewell/trace-mapping@npm:0.3.31" dependencies: "@jridgewell/resolve-uri": "npm:^3.1.0" "@jridgewell/sourcemap-codec": "npm:^1.4.14" - checksum: 10/dced32160a44b49d531b80a4a2159dceab6b3ddf0c8e95a0deae4b0e894b172defa63d5ac52a19c2068e1fe7d31ea4ba931fbeec103233ecb4208953967120fc + checksum: 10/da0283270e691bdb5543806077548532791608e52386cfbbf3b9e8fb00457859d1bd01d512851161c886eb3a2f3ce6fd9bcf25db8edf3bddedd275bd4a88d606 languageName: node linkType: hard @@ -2727,7 +2820,7 @@ __metadata: languageName: node linkType: hard -"@lavamoat/aa@npm:^4.3.3, @lavamoat/aa@npm:^4.3.4": +"@lavamoat/aa@npm:^4.3.4": version: 4.3.4 resolution: "@lavamoat/aa@npm:4.3.4" dependencies: @@ -2761,7 +2854,28 @@ __metadata: languageName: node linkType: hard -"@lavamoat/types@npm:^0.1.0": +"@lavamoat/node@npm:^0.4.6": + version: 0.4.6 + resolution: "@lavamoat/node@npm:0.4.6" + dependencies: + "@endo/compartment-mapper": "npm:1.6.3" + "@endo/evasive-transform": "npm:2.0.2" + "@lavamoat/types": "npm:0.1.0" + "@types/node": "npm:18.19.112" + chalk: "npm:4.1.2" + lavamoat-core: "npm:^17.0.0" + loggerr: "npm:4.2.0" + ses: "npm:1.14.0" + terminal-link: "npm:3.0.0" + type-fest: "npm:4.41.0" + yargs: "npm:17.7.2" + bin: + lavamoat: src/cli.js + checksum: 10/c6c18bb5d33ec0e8f4fe4316c364a5afbe6489fb577e83f408bef03a60ede97b8e4bf1b7c4662a3aa9ac3d955b872f930826c4e994d0d6b00be371ec78ec0371 + languageName: node + linkType: hard + +"@lavamoat/types@npm:0.1.0, @lavamoat/types@npm:^0.1.0": version: 0.1.0 resolution: "@lavamoat/types@npm:0.1.0" dependencies: @@ -4335,6 +4449,7 @@ __metadata: "@esbuild-plugins/node-modules-polyfill": "npm:^0.2.2" "@lavamoat/allow-scripts": "npm:^3.4.0" "@lavamoat/lavatube": "npm:^1.0.0" + "@lavamoat/node": "npm:^0.4.6" "@lavamoat/webpack": "npm:^1.5.0" "@metamask/auto-changelog": "npm:^5.0.2" "@metamask/json-rpc-engine": "npm:^10.1.0" @@ -4363,7 +4478,6 @@ __metadata: jest-environment-node: "npm:^29.5.0" jest-fetch-mock: "npm:^3.0.3" jest-silent-reporter: "npm:^0.6.0" - lavamoat: "npm:^9.0.10" prettier: "npm:^3.3.3" readable-stream: "npm:^3.6.2" rimraf: "npm:^4.1.2" @@ -6274,12 +6388,12 @@ __metadata: languageName: node linkType: hard -"@types/node@npm:*, @types/node@npm:22.7.5": - version: 22.7.5 - resolution: "@types/node@npm:22.7.5" +"@types/node@npm:*, @types/node@npm:^22.9.0": + version: 22.18.12 + resolution: "@types/node@npm:22.18.12" dependencies: - undici-types: "npm:~6.19.2" - checksum: 10/e8ba102f8c1aa7623787d625389be68d64e54fcbb76d41f6c2c64e8cf4c9f4a2370e7ef5e5f1732f3c57529d3d26afdcb2edc0101c5e413a79081449825c57ac + undici-types: "npm:~6.21.0" + checksum: 10/41b8853302deac6895aa978193fcab53bf8d1f6f5df5fad38e2a33c2c853c3689e905c9dde373e45bb87273b2690e5ac2d6f40809fe72f45264952ba3ae3b196 languageName: node linkType: hard @@ -6290,6 +6404,24 @@ __metadata: languageName: node linkType: hard +"@types/node@npm:18.19.112": + version: 18.19.112 + resolution: "@types/node@npm:18.19.112" + dependencies: + undici-types: "npm:~5.26.4" + checksum: 10/1d0150b4afbfa76ddcdbdcfaaa695dd1dc7485047d0c7e0b22207a0ffb61dab5bc44d536e4d2c3cb85c91ebb519479bfcd7033e76054fbc96fa6d13a86d9b26d + languageName: node + linkType: hard + +"@types/node@npm:22.7.5": + version: 22.7.5 + resolution: "@types/node@npm:22.7.5" + dependencies: + undici-types: "npm:~6.19.2" + checksum: 10/e8ba102f8c1aa7623787d625389be68d64e54fcbb76d41f6c2c64e8cf4c9f4a2370e7ef5e5f1732f3c57529d3d26afdcb2edc0101c5e413a79081449825c57ac + languageName: node + linkType: hard + "@types/parse-json@npm:^4.0.0": version: 4.0.0 resolution: "@types/parse-json@npm:4.0.0" @@ -8083,6 +8215,15 @@ __metadata: languageName: node linkType: hard +"ansi-escapes@npm:^5.0.0": + version: 5.0.0 + resolution: "ansi-escapes@npm:5.0.0" + dependencies: + type-fest: "npm:^1.0.2" + checksum: 10/cbfb95f9f6d8a1ffc89f50fcda3313effae2d9ac2f357f89f626815b4d95fdc3f10f74e0887614ff850d01f805b7505eb1e7ebfdd26144bbfc26c5de08e19195 + languageName: node + linkType: hard + "ansi-html-community@npm:^0.0.8": version: 0.0.8 resolution: "ansi-html-community@npm:0.0.8" @@ -8106,15 +8247,6 @@ __metadata: languageName: node linkType: hard -"ansi-styles@npm:^3.2.1": - version: 3.2.1 - resolution: "ansi-styles@npm:3.2.1" - dependencies: - color-convert: "npm:^1.9.0" - checksum: 10/d85ade01c10e5dd77b6c89f34ed7531da5830d2cb5882c645f330079975b716438cd7ebb81d0d6e6b4f9c577f19ae41ab55f07f19786b02f9dfd9e0377395665 - languageName: node - linkType: hard - "ansi-styles@npm:^4.0.0, ansi-styles@npm:^4.1.0": version: 4.3.0 resolution: "ansi-styles@npm:4.3.0" @@ -8515,15 +8647,6 @@ __metadata: languageName: node linkType: hard -"bindings@npm:1.5.0": - version: 1.5.0 - resolution: "bindings@npm:1.5.0" - dependencies: - file-uri-to-path: "npm:1.0.0" - checksum: 10/593d5ae975ffba15fbbb4788fe5abd1e125afbab849ab967ab43691d27d6483751805d98cb92f7ac24a2439a8a8678cd0131c535d5d63de84e383b0ce2786133 - languageName: node - linkType: hard - "bl@npm:^4.1.0": version: 4.1.0 resolution: "bl@npm:4.1.0" @@ -8985,14 +9108,13 @@ __metadata: languageName: node linkType: hard -"chalk@npm:^2.4.2": - version: 2.4.2 - resolution: "chalk@npm:2.4.2" +"chalk@npm:4.1.2, chalk@npm:^4.0.0, chalk@npm:^4.1.0, chalk@npm:^4.1.1, chalk@npm:^4.1.2": + version: 4.1.2 + resolution: "chalk@npm:4.1.2" dependencies: - ansi-styles: "npm:^3.2.1" - escape-string-regexp: "npm:^1.0.5" - supports-color: "npm:^5.3.0" - checksum: 10/3d1d103433166f6bfe82ac75724951b33769675252d8417317363ef9d54699b7c3b2d46671b772b893a8e50c3ece70c4b933c73c01e81bc60ea4df9b55afa303 + ansi-styles: "npm:^4.1.0" + supports-color: "npm:^7.1.0" + checksum: 10/cb3f3e594913d63b1814d7ca7c9bafbf895f75fbf93b92991980610dfd7b48500af4e3a5d4e3a8f337990a96b168d7eb84ee55efdce965e2ee8efc20f8c8f139 languageName: node linkType: hard @@ -9006,16 +9128,6 @@ __metadata: languageName: node linkType: hard -"chalk@npm:^4.0.0, chalk@npm:^4.1.0, chalk@npm:^4.1.1, chalk@npm:^4.1.2": - version: 4.1.2 - resolution: "chalk@npm:4.1.2" - dependencies: - ansi-styles: "npm:^4.1.0" - supports-color: "npm:^7.1.0" - checksum: 10/cb3f3e594913d63b1814d7ca7c9bafbf895f75fbf93b92991980610dfd7b48500af4e3a5d4e3a8f337990a96b168d7eb84ee55efdce965e2ee8efc20f8c8f139 - languageName: node - linkType: hard - "chalk@npm:^5.3.0": version: 5.3.0 resolution: "chalk@npm:5.3.0" @@ -9248,15 +9360,6 @@ __metadata: languageName: node linkType: hard -"color-convert@npm:^1.9.0": - version: 1.9.3 - resolution: "color-convert@npm:1.9.3" - dependencies: - color-name: "npm:1.1.3" - checksum: 10/ffa319025045f2973919d155f25e7c00d08836b6b33ea2d205418c59bd63a665d713c52d9737a9e0fe467fb194b40fbef1d849bae80d674568ee220a31ef3d10 - languageName: node - linkType: hard - "color-convert@npm:^2.0.1": version: 2.0.1 resolution: "color-convert@npm:2.0.1" @@ -9266,13 +9369,6 @@ __metadata: languageName: node linkType: hard -"color-name@npm:1.1.3": - version: 1.1.3 - resolution: "color-name@npm:1.1.3" - checksum: 10/09c5d3e33d2105850153b14466501f2bfb30324a2f76568a408763a3b7433b0e50e5b4ab1947868e65cb101bb7cb75029553f2c333b6d4b8138a73fcc133d69d - languageName: node - linkType: hard - "color-name@npm:^1.0.0, color-name@npm:~1.1.4": version: 1.1.4 resolution: "color-name@npm:1.1.4" @@ -9556,19 +9652,6 @@ __metadata: languageName: node linkType: hard -"corepack@npm:0.33.0": - version: 0.33.0 - resolution: "corepack@npm:0.33.0" - bin: - corepack: ./dist/corepack.js - pnpm: ./dist/pnpm.js - pnpx: ./dist/pnpx.js - yarn: ./dist/yarn.js - yarnpkg: ./dist/yarnpkg.js - checksum: 10/0cd590e26b84515974d67e44f3119e577f3118c137978354177659e94b985d7fee82d61412388964065ff3141d52fea29bcc13615e7170480edfcef12e457812 - languageName: node - linkType: hard - "cosmiconfig@npm:^7.0.0, cosmiconfig@npm:^7.1.0": version: 7.1.0 resolution: "cosmiconfig@npm:7.1.0" @@ -10508,13 +10591,6 @@ __metadata: languageName: node linkType: hard -"escape-string-regexp@npm:^1.0.5": - version: 1.0.5 - resolution: "escape-string-regexp@npm:1.0.5" - checksum: 10/6092fda75c63b110c706b6a9bfde8a612ad595b628f0bd2147eea1d3406723020810e591effc7db1da91d80a71a737a313567c5abb3813e8d9c71f4aa595b410 - languageName: node - linkType: hard - "escape-string-regexp@npm:^2.0.0": version: 2.0.0 resolution: "escape-string-regexp@npm:2.0.0" @@ -11287,13 +11363,6 @@ __metadata: languageName: node linkType: hard -"file-uri-to-path@npm:1.0.0": - version: 1.0.0 - resolution: "file-uri-to-path@npm:1.0.0" - checksum: 10/b648580bdd893a008c92c7ecc96c3ee57a5e7b6c4c18a9a09b44fb5d36d79146f8e442578bc0e173dc027adf3987e254ba1dfd6e3ec998b7c282873010502144 - languageName: node - linkType: hard - "fill-range@npm:^7.1.1": version: 7.1.1 resolution: "fill-range@npm:7.1.1" @@ -11868,13 +11937,6 @@ __metadata: languageName: node linkType: hard -"has-flag@npm:^3.0.0": - version: 3.0.0 - resolution: "has-flag@npm:3.0.0" - checksum: 10/4a15638b454bf086c8148979aae044dd6e39d63904cd452d970374fa6a87623423da485dfb814e7be882e05c096a7ccf1ebd48e7e7501d0208d8384ff4dea73b - languageName: node - linkType: hard - "has-flag@npm:^4.0.0": version: 4.0.0 resolution: "has-flag@npm:4.0.0" @@ -12068,13 +12130,6 @@ __metadata: languageName: node linkType: hard -"htmlescape@npm:1.1.1": - version: 1.1.1 - resolution: "htmlescape@npm:1.1.1" - checksum: 10/c59a915ae6ae076b5720243c8c594fd8c76e927d511ed5f205e4d586f47d521478d7148dc7fbe3d4a0cfc30abcc2dd215b30255903c09ed04eb38bca44367c5d - languageName: node - linkType: hard - "htmlparser2@npm:^6.1.0": version: 6.1.0 resolution: "htmlparser2@npm:6.1.0" @@ -13672,7 +13727,7 @@ __metadata: languageName: node linkType: hard -"lavamoat-core@npm:^16.5.0, lavamoat-core@npm:^16.7.1": +"lavamoat-core@npm:^16.7.1": version: 16.7.1 resolution: "lavamoat-core@npm:16.7.1" dependencies: @@ -13688,7 +13743,23 @@ __metadata: languageName: node linkType: hard -"lavamoat-tofu@npm:^8.0.11, lavamoat-tofu@npm:^8.0.8": +"lavamoat-core@npm:^17.0.0": + version: 17.0.0 + resolution: "lavamoat-core@npm:17.0.0" + 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" + merge-deep: "npm:3.0.3" + ses: "npm:1.14.0" + bin: + lavamoat-sort-policy: src/policy-sort-cli.js + checksum: 10/6442eb31ed938e1c25805266f447755359e051716b70a62d46d44f1d3036ebc2ed54f62b0eece1ca2f02d4117ed88b5e60ca100905be2d134cef1bcfee015076 + languageName: node + linkType: hard + +"lavamoat-tofu@npm:^8.0.11": version: 8.0.11 resolution: "lavamoat-tofu@npm:8.0.11" dependencies: @@ -13704,28 +13775,6 @@ __metadata: languageName: node linkType: hard -"lavamoat@npm:^9.0.10": - version: 9.0.10 - resolution: "lavamoat@npm:9.0.10" - dependencies: - "@babel/code-frame": "npm:7.27.1" - "@babel/highlight": "npm:7.25.9" - "@lavamoat/aa": "npm:^4.3.3" - bindings: "npm:1.5.0" - corepack: "npm:0.33.0" - htmlescape: "npm:1.1.1" - lavamoat-core: "npm:^16.5.0" - lavamoat-tofu: "npm:^8.0.8" - 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/ee1c325354a521ee432542089e1078e15c1e3ff1d6beffd28c7761b6cec6f844c2b9ffb0c4ac6535743ce230fa6aa40565b1eefc262e2fefba972f5c4b4b76b3 - languageName: node - linkType: hard - "lazy-cache@npm:^0.2.3": version: 0.2.7 resolution: "lazy-cache@npm:0.2.7" @@ -13902,6 +13951,16 @@ __metadata: languageName: node linkType: hard +"loggerr@npm:4.2.0": + version: 4.2.0 + resolution: "loggerr@npm:4.2.0" + dependencies: + "@types/node": "npm:^22.9.0" + chalk: "npm:^4.1.0" + checksum: 10/c7b143967bf06b7974c8ca17ee2ecf77e6e8a2c2a41b2961709397d3161363aee42d58e498de4bf89692e682e64b38cb6a7707d34469e3e1d3195e114ce533a9 + languageName: node + linkType: hard + "long@npm:^5.2.1": version: 5.2.3 resolution: "long@npm:5.2.3" @@ -14659,17 +14718,6 @@ __metadata: languageName: node linkType: hard -"node-gyp-build@npm:4.8.4": - version: 4.8.4 - resolution: "node-gyp-build@npm:4.8.4" - bin: - node-gyp-build: bin.js - node-gyp-build-optional: optional.js - node-gyp-build-test: build-test.js - checksum: 10/6a7d62289d1afc419fc8fc9bd00aa4e554369e50ca0acbc215cb91446148b75ff7e2a3b53c2c5b2c09a39d416d69f3d3237937860373104b5fe429bf30ad9ac5 - languageName: node - linkType: hard - "node-gyp@npm:^10.0.0": version: 10.0.1 resolution: "node-gyp@npm:10.0.1" @@ -17646,16 +17694,7 @@ __metadata: languageName: node linkType: hard -"supports-color@npm:^5.3.0": - version: 5.5.0 - resolution: "supports-color@npm:5.5.0" - dependencies: - has-flag: "npm:^3.0.0" - checksum: 10/5f505c6fa3c6e05873b43af096ddeb22159831597649881aeb8572d6fe3b81e798cc10840d0c9735e0026b250368851b7f77b65e84f4e4daa820a4f69947f55b - languageName: node - linkType: hard - -"supports-color@npm:^7.1.0, supports-color@npm:^7.2.0": +"supports-color@npm:^7.0.0, supports-color@npm:^7.1.0, supports-color@npm:^7.2.0": version: 7.2.0 resolution: "supports-color@npm:7.2.0" dependencies: @@ -17680,6 +17719,16 @@ __metadata: languageName: node linkType: hard +"supports-hyperlinks@npm:^2.2.0": + version: 2.3.0 + resolution: "supports-hyperlinks@npm:2.3.0" + dependencies: + has-flag: "npm:^4.0.0" + supports-color: "npm:^7.0.0" + checksum: 10/3e7df6e9eaa177d7bfbbe065c91325e9b482f48de0f7c9133603e3ffa8af31cbceac104a0941cd0266a57f8e691de6eb58b79fec237852dc84ed7ad152b116b0 + languageName: node + linkType: hard + "supports-preserve-symlinks-flag@npm:^1.0.0": version: 1.0.0 resolution: "supports-preserve-symlinks-flag@npm:1.0.0" @@ -17741,6 +17790,16 @@ __metadata: languageName: node linkType: hard +"terminal-link@npm:3.0.0": + version: 3.0.0 + resolution: "terminal-link@npm:3.0.0" + dependencies: + ansi-escapes: "npm:^5.0.0" + supports-hyperlinks: "npm:^2.2.0" + checksum: 10/85a78ae50a2cd3c43df25922e7572f1008c92b1ea98c6c4579bbbe02fa54677a487123c3cae44fecd1a36cac782d0be2cec212a916818abb2b4df6fbb8eed341 + languageName: node + linkType: hard + "terser-webpack-plugin@npm:^5.3.11, terser-webpack-plugin@npm:^5.3.9": version: 5.3.14 resolution: "terser-webpack-plugin@npm:5.3.14" @@ -18169,6 +18228,13 @@ __metadata: languageName: node linkType: hard +"type-fest@npm:^1.0.2": + version: 1.4.0 + resolution: "type-fest@npm:1.4.0" + checksum: 10/89875c247564601c2650bacad5ff80b859007fbdb6c9e43713ae3ffa3f584552eea60f33711dd762e16496a1ab4debd409822627be14097d9a17e39c49db591a + languageName: node + linkType: hard + "type-is@npm:^2.0.0, type-is@npm:^2.0.1": version: 2.0.1 resolution: "type-is@npm:2.0.1" @@ -18290,6 +18356,13 @@ __metadata: languageName: node linkType: hard +"undici-types@npm:~5.26.4": + version: 5.26.5 + resolution: "undici-types@npm:5.26.5" + checksum: 10/0097779d94bc0fd26f0418b3a05472410408877279141ded2bd449167be1aed7ea5b76f756562cb3586a07f251b90799bab22d9019ceba49c037c76445f7cddd + languageName: node + linkType: hard + "undici-types@npm:~6.19.2": version: 6.19.8 resolution: "undici-types@npm:6.19.8" @@ -18297,6 +18370,13 @@ __metadata: languageName: node linkType: hard +"undici-types@npm:~6.21.0": + version: 6.21.0 + resolution: "undici-types@npm:6.21.0" + checksum: 10/ec8f41aa4359d50f9b59fa61fe3efce3477cc681908c8f84354d8567bb3701fafdddf36ef6bff307024d3feb42c837cf6f670314ba37fc8145e219560e473d14 + languageName: node + linkType: hard + "unicode-canonical-property-names-ecmascript@npm:^2.0.0": version: 2.0.0 resolution: "unicode-canonical-property-names-ecmascript@npm:2.0.0" From 74f68175ddf59baaca7895cc6e9bca74bfc5315a Mon Sep 17 00:00:00 2001 From: Maarten Zuidhoorn Date: Tue, 28 Oct 2025 12:20:26 +0100 Subject: [PATCH 2/2] Fix build --- README.md | 35 + .../lavamoat/build-system/policy.json | 1338 +---------------- .../snaps-execution-environments/package.json | 4 +- .../scripts/{build.js => build.mjs} | 5 +- .../tsconfig.json | 2 +- .../{webpack.config.js => webpack.config.mjs} | 13 +- 6 files changed, 55 insertions(+), 1342 deletions(-) rename packages/snaps-execution-environments/scripts/{build.js => build.mjs} (87%) rename packages/snaps-execution-environments/{webpack.config.js => webpack.config.mjs} (94%) diff --git a/README.md b/README.md index 4117b3d241..5ec225b635 100644 --- a/README.md +++ b/README.md @@ -21,6 +21,7 @@ This repository contains the following packages [^fn1]: - [`@metamask/snaps-simulation`](packages/snaps-simulation) - [`@metamask/snaps-utils`](packages/snaps-utils) - [`@metamask/snaps-webpack-plugin`](packages/snaps-webpack-plugin) +- [`@metamask/test-snaps`](packages/test-snaps) @@ -44,6 +45,7 @@ linkStyle default opacity:0.5 snaps_simulation(["@metamask/snaps-simulation"]); snaps_utils(["@metamask/snaps-utils"]); snaps_webpack_plugin(["@metamask/snaps-webpack-plugin"]); + test_snaps(["@metamask/test-snaps"]); create_snap --> snaps_utils; snaps_cli --> snaps_rpc_methods; snaps_cli --> snaps_sandbox; @@ -71,6 +73,39 @@ linkStyle default opacity:0.5 snaps_webpack_plugin --> snaps_rpc_methods; snaps_webpack_plugin --> snaps_sdk; snaps_webpack_plugin --> snaps_utils; + test_snaps --> examples/packages/background_events; + test_snaps --> examples/packages/bip32; + test_snaps --> examples/packages/bip44; + test_snaps --> examples/packages/client_status; + test_snaps --> examples/packages/cronjob_duration; + test_snaps --> examples/packages/cronjobs; + test_snaps --> examples/packages/dialogs; + test_snaps --> examples/packages/errors; + test_snaps --> examples/packages/ethereum_provider; + test_snaps --> examples/packages/ethers_js; + test_snaps --> examples/packages/file_upload; + test_snaps --> examples/packages/get_entropy; + test_snaps --> examples/packages/get_file; + test_snaps --> examples/packages/home_page; + test_snaps --> examples/packages/images; + test_snaps --> examples/packages/transaction_insights; + test_snaps --> examples/packages/interactive_ui; + test_snaps --> examples/packages/json_rpc; + test_snaps --> examples/packages/jsx; + test_snaps --> examples/packages/lifecycle_hooks; + test_snaps --> examples/packages/localization; + test_snaps --> examples/packages/manage_state; + test_snaps --> examples/packages/name_lookup; + test_snaps --> examples/packages/network_access; + test_snaps --> examples/packages/notifications; + test_snaps --> examples/packages/preferences; + test_snaps --> examples/packages/preinstalled; + test_snaps --> examples/packages/protocol; + test_snaps --> examples/packages/send_flow; + test_snaps --> examples/packages/signature_insights; + test_snaps --> snaps_sdk; + test_snaps --> snaps_utils; + test_snaps --> examples/packages/wasm; ``` diff --git a/packages/snaps-execution-environments/lavamoat/build-system/policy.json b/packages/snaps-execution-environments/lavamoat/build-system/policy.json index f9167ad917..03193ca94d 100644 --- a/packages/snaps-execution-environments/lavamoat/build-system/policy.json +++ b/packages/snaps-execution-environments/lavamoat/build-system/policy.json @@ -5,1363 +5,29 @@ "ts-loader": true } }, - "lavamoat>@babel/code-frame": { - "globals": { - "console.warn": true, - "process": true - }, - "packages": { - "lavamoat>@babel/highlight>@babel/helper-validator-identifier": true, - "lavamoat>@babel/highlight>js-tokens": true, - "vite>postcss>picocolors": true - } - }, - "depcheck>@babel/traverse>@babel/generator": { - "globals": { - "console.error": true, - "console.warn": true - }, - "packages": { - "@metamask/snaps-utils>@babel/types": true, - "terser>@jridgewell/source-map>@jridgewell/gen-mapping": true, - "terser>@jridgewell/source-map>@jridgewell/trace-mapping": true, - "depcheck>@babel/traverse>@babel/generator>jsesc": true - } - }, - "depcheck>@babel/traverse>@babel/template": { - "packages": { - "lavamoat>@babel/code-frame": true, - "depcheck>@babel/parser": true, - "@metamask/snaps-utils>@babel/types": true - } - }, - "depcheck>@babel/traverse": { - "globals": { - "console.log": true - }, - "packages": { - "lavamoat>@babel/code-frame": true, - "depcheck>@babel/traverse>@babel/generator": true, - "depcheck>@babel/parser": true, - "depcheck>@babel/traverse>@babel/template": true, - "@metamask/snaps-utils>@babel/types": true, - "eslint>debug": true, - "depcheck>@babel/traverse>globals": true - } - }, - "@metamask/snaps-utils>@babel/types": { - "globals": { - "console.warn": true, - "process.env.BABEL_TYPES_8_BREAKING": true - }, - "packages": { - "@metamask/snaps-utils>@babel/types>@babel/helper-string-parser": true, - "lavamoat>@babel/highlight>@babel/helper-validator-identifier": true - } - }, - "terser>@jridgewell/source-map>@jridgewell/gen-mapping": { - "globals": { - "define": true - }, - "packages": { - "terser>@jridgewell/source-map>@jridgewell/gen-mapping>@jridgewell/set-array": true, - "vitest>magic-string>@jridgewell/sourcemap-codec": true, - "terser>@jridgewell/source-map>@jridgewell/trace-mapping": true - } - }, - "terser>@jridgewell/source-map>@jridgewell/trace-mapping>@jridgewell/resolve-uri": { - "globals": { - "define": true - } - }, - "terser>@jridgewell/source-map>@jridgewell/gen-mapping>@jridgewell/set-array": { - "globals": { - "define": true - } - }, - "terser>@jridgewell/source-map": { - "globals": { - "Buffer": true, - "TextDecoder": true, - "define": true - } - }, - "vitest>magic-string>@jridgewell/sourcemap-codec": { - "globals": { - "Buffer": true, - "TextDecoder": true, - "define": true - } - }, - "terser>@jridgewell/source-map>@jridgewell/trace-mapping": { - "globals": { - "define": true - }, - "packages": { - "terser>@jridgewell/source-map>@jridgewell/trace-mapping>@jridgewell/resolve-uri": true, - "vitest>magic-string>@jridgewell/sourcemap-codec": true - } - }, - "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": { - "depcheck>@babel/parser": true, - "lavamoat>@lavamoat/aa": true, - "@lavamoat/webpack>browser-resolve": true, - "lavamoat>lavamoat-core": true, - "webpack": true - } - }, "@swc/core": false, - "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 - } - }, - "terser>acorn": { - "globals": { - "console": true, - "define": true - } - }, - "webpack>schema-utils>ajv-formats": { - "packages": { - "webpack>schema-utils>ajv": true - } - }, - "webpack>schema-utils>ajv-keywords": { - "globals": { - "Buffer": true - }, - "packages": { - "webpack>schema-utils>ajv": true, - "eslint>fast-deep-equal": true - } - }, - "webpack>schema-utils>ajv": { - "globals": { - "console": true - }, - "packages": { - "eslint>fast-deep-equal": true, - "webpack>schema-utils>ajv>json-schema-traverse": true, - "eslint>ajv>uri-js": true - } - }, - "eslint>chalk>ansi-styles": { - "packages": { - "eslint>chalk>ansi-styles>color-convert": true - } - }, - "ts-loader>micromatch>braces": { - "globals": { - "console.log": true - }, - "packages": { - "ts-loader>micromatch>braces>fill-range": true - } - }, - "@lavamoat/webpack>browser-resolve": { - "builtin": { - "fs.readFile": true, - "fs.readFileSync": true, - "path": true - }, - "globals": { - "__dirname": true, - "process.platform": true - }, - "packages": { - "depcheck>resolve": true - } - }, - "webpack>browserslist": { - "builtin": { - "fs.existsSync": true, - "fs.readFileSync": true, - "fs.statSync": true, - "path.basename": true, - "path.dirname": true, - "path.join": true, - "path.relative": true, - "path.resolve": true - }, - "globals": { - "console.warn": true, - "process.env": true, - "process.versions.node": true - }, - "packages": { - "webpack>browserslist>caniuse-lite": true, - "webpack>browserslist>electron-to-chromium": true, - "webpack>browserslist>node-releases": true - } - }, - "terser>source-map-support>buffer-from": { - "globals": { - "Buffer": true - } - }, - "@lavamoat/webpack>json-stable-stringify>call-bind>call-bind-apply-helpers": { - "packages": { - "@lavamoat/webpack>json-stable-stringify>call-bind>get-intrinsic>es-errors": true, - "depcheck>is-core-module>hasown>function-bind": true - } - }, - "@lavamoat/webpack>json-stable-stringify>call-bind": { - "packages": { - "@lavamoat/webpack>json-stable-stringify>call-bind>call-bind-apply-helpers": true, - "@lavamoat/webpack>json-stable-stringify>call-bind>es-define-property": true, - "@lavamoat/webpack>json-stable-stringify>call-bind>set-function-length": true - } - }, - "@lavamoat/webpack>json-stable-stringify>call-bound": { - "packages": { - "@lavamoat/webpack>json-stable-stringify>call-bind>call-bind-apply-helpers": true, - "@lavamoat/webpack>json-stable-stringify>call-bind>get-intrinsic": true - } - }, - "eslint>chalk": { - "packages": { - "eslint>chalk>ansi-styles": true, - "eslint>chalk>supports-color": true - } - }, - "webpack>chrome-trace-event": { - "builtin": { - "stream.Readable": true - }, - "globals": { - "process.hrtime": true, - "process.pid": true - } - }, - "html-webpack-plugin>html-minifier-terser>clean-css": { - "builtin": { - "fs.existsSync": true, - "fs.readFileSync": true, - "fs.statSync": true, - "http.get": true, - "https.get": true, - "os.EOL": true, - "path.dirname": true, - "path.isAbsolute": true, - "path.join": true, - "path.relative": true, - "path.resolve": true, - "url.parse": true, - "url.resolve": true - }, - "globals": { - "Buffer.from": true, - "Buffer.isBuffer": true, - "process.cwd": true, - "process.env.HTTP_PROXY": true, - "process.env.http_proxy": true, - "process.nextTick": true, - "process.platform": true - }, - "packages": { - "terser>source-map-support>source-map": true - } - }, - "lavamoat>lavamoat-core>merge-deep>clone-deep": { - "packages": { - "lavamoat>lavamoat-core>merge-deep>clone-deep>for-own": true, - "webpack-merge>clone-deep>is-plain-object": true, - "lavamoat>lavamoat-core>merge-deep>kind-of": true, - "lavamoat>lavamoat-core>merge-deep>clone-deep>lazy-cache": true, - "lavamoat>lavamoat-core>merge-deep>clone-deep>shallow-clone": true - } - }, - "webpack-merge>clone-deep": { - "packages": { - "webpack-merge>clone-deep>is-plain-object": true, - "webpack-merge>clone-deep>kind-of": true, - "webpack-merge>clone-deep>shallow-clone": true - } - }, - "eslint>chalk>ansi-styles>color-convert": { - "packages": { - "eslint>chalk>ansi-styles>color-convert>color-name": true - } - }, - "html-webpack-plugin>pretty-error>renderkid>css-select": { - "packages": { - "html-webpack-plugin>pretty-error>renderkid>css-select>boolbase": true, - "html-webpack-plugin>pretty-error>renderkid>css-select>css-what": true, - "html-webpack-plugin>pretty-error>renderkid>css-select>domutils": true, - "html-webpack-plugin>pretty-error>renderkid>css-select>nth-check": true - } - }, - "eslint>debug": { - "builtin": { - "tty.isatty": true, - "util.deprecate": true, - "util.formatWithOptions": true, - "util.inspect": true - }, - "globals": { - "console": true, - "document": true, - "localStorage": true, - "navigator": true, - "process": true - }, - "packages": { - "eslint>debug>ms": true, - "eslint>chalk>supports-color": true - } - }, - "@lavamoat/webpack>json-stable-stringify>call-bind>set-function-length>define-data-property": { - "packages": { - "@lavamoat/webpack>json-stable-stringify>call-bind>es-define-property": true, - "@lavamoat/webpack>json-stable-stringify>call-bind>get-intrinsic>es-errors": true, - "@lavamoat/webpack>json-stable-stringify>call-bind>get-intrinsic>gopd": true - } - }, - "html-webpack-plugin>pretty-error>renderkid>dom-converter": { - "globals": { - "inspect": true - }, - "packages": { - "html-webpack-plugin>pretty-error>renderkid>dom-converter>utila": true - } - }, - "html-webpack-plugin>pretty-error>renderkid>css-select>domutils>dom-serializer": { - "packages": { - "html-webpack-plugin>pretty-error>renderkid>htmlparser2>domelementtype": true, - "html-webpack-plugin>pretty-error>renderkid>htmlparser2>entities": true - } - }, - "html-webpack-plugin>pretty-error>renderkid>css-select>domhandler": { - "packages": { - "html-webpack-plugin>pretty-error>renderkid>htmlparser2>domelementtype": true - } - }, - "html-webpack-plugin>pretty-error>renderkid>css-select>domutils": { - "packages": { - "html-webpack-plugin>pretty-error>renderkid>css-select>domutils>dom-serializer": true, - "html-webpack-plugin>pretty-error>renderkid>htmlparser2>domelementtype": true, - "html-webpack-plugin>pretty-error>renderkid>css-select>domhandler": true - } - }, - "@lavamoat/webpack>json-stable-stringify>call-bind>get-intrinsic>get-proto>dunder-proto": { - "packages": { - "@lavamoat/webpack>json-stable-stringify>call-bind>call-bind-apply-helpers": true, - "@lavamoat/webpack>json-stable-stringify>call-bind>get-intrinsic>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": { - "webpack>graceful-fs": true, - "webpack>tapable": true - } - }, - "webpack>es-module-lexer": { - "globals": { - "Buffer": true, - "WebAssembly.Instance": true, - "WebAssembly.Module": true, - "WebAssembly.compile": true, - "WebAssembly.instantiate": true, - "atob": true - } - }, - "tsx>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 - } - }, - "webpack>eslint-scope": { - "builtin": { - "assert": true - }, - "packages": { - "eslint>eslint-scope>esrecurse": true, - "webpack>eslint-scope>estraverse": true - } - }, - "eslint>eslint-scope>esrecurse": { - "packages": { - "eslint>esquery>estraverse": true - } - }, - "ts-loader>micromatch>braces>fill-range": { - "builtin": { - "util.inspect": true - }, - "packages": { - "ts-loader>micromatch>braces>fill-range>to-regex-range": true - } - }, - "lavamoat>lavamoat-core>merge-deep>clone-deep>for-own": { - "packages": { - "lavamoat>lavamoat-core>merge-deep>clone-deep>for-own>for-in": true - } - }, - "@lavamoat/webpack>json-stable-stringify>call-bind>get-intrinsic": { - "globals": { - "AggregateError": true, - "FinalizationRegistry": true, - "Float16Array": true, - "WeakRef": true - }, - "packages": { - "@lavamoat/webpack>json-stable-stringify>call-bind>call-bind-apply-helpers": true, - "@lavamoat/webpack>json-stable-stringify>call-bind>es-define-property": true, - "@lavamoat/webpack>json-stable-stringify>call-bind>get-intrinsic>es-errors": true, - "@lavamoat/webpack>json-stable-stringify>call-bind>get-intrinsic>es-object-atoms": true, - "depcheck>is-core-module>hasown>function-bind": true, - "@lavamoat/webpack>json-stable-stringify>call-bind>get-intrinsic>get-proto": true, - "@lavamoat/webpack>json-stable-stringify>call-bind>get-intrinsic>gopd": true, - "@lavamoat/webpack>json-stable-stringify>call-bind>get-intrinsic>has-symbols": true, - "depcheck>is-core-module>hasown": true, - "@lavamoat/webpack>json-stable-stringify>call-bind>get-intrinsic>math-intrinsics": true - } - }, - "@lavamoat/webpack>json-stable-stringify>call-bind>get-intrinsic>get-proto": { - "packages": { - "@lavamoat/webpack>json-stable-stringify>call-bind>get-intrinsic>get-proto>dunder-proto": true, - "@lavamoat/webpack>json-stable-stringify>call-bind>get-intrinsic>es-object-atoms": true - } - }, - "webpack>graceful-fs": { - "builtin": { - "assert.equal": true, - "constants.O_SYMLINK": true, - "constants.O_WRONLY": true, - "constants.hasOwnProperty": true, - "fs": true, - "stream.Stream.call": true, - "util": true - }, - "globals": { - "clearTimeout": true, - "console.error": true, - "process": true, - "setTimeout": true - } - }, - "eslint>chalk>supports-color>has-flag": { - "globals": { - "process.argv": true - } - }, - "@lavamoat/webpack>json-stable-stringify>call-bind>set-function-length>has-property-descriptors": { - "packages": { - "@lavamoat/webpack>json-stable-stringify>call-bind>es-define-property": true - } - }, - "depcheck>is-core-module>hasown": { - "packages": { - "depcheck>is-core-module>hasown>function-bind": true - } - }, - "html-webpack-plugin>html-minifier-terser>he": { - "globals": { - "define": true - } - }, - "html-webpack-plugin>html-minifier-terser": { - "globals": { - "ActiveX": true, - "ActiveXObject": true, - "DOMDocument": true, - "document": true - }, - "packages": { - "html-webpack-plugin>html-minifier-terser>clean-css": true, - "html-webpack-plugin>html-minifier-terser>he": true, - "html-webpack-plugin>html-minifier-terser>relateurl": true, - "terser": true - } - }, "html-webpack-plugin": { "builtin": { - "console.assert": true, - "fs.existsSync": true, - "fs.readFile": true, - "path.basename": true, - "path.dirname": true, - "path.extname": true, - "path.join": true, - "path.normalize": true, - "path.relative": true, - "path.resolve": true, - "path.sep": true, - "url": true, - "util.deprecate": true, - "util.promisify": true, - "vm.Script": true, - "vm.createContext": true - }, - "globals": { - "__dirname": true, - "console.error": true - }, - "packages": { - "html-webpack-plugin>html-minifier-terser": true, - "depcheck>lodash": true, - "html-webpack-plugin>pretty-error": true, - "webpack>tapable": true - } - }, - "html-webpack-plugin>pretty-error>renderkid>htmlparser2": { - "packages": { - "html-webpack-plugin>pretty-error>renderkid>htmlparser2>domelementtype": true, - "html-webpack-plugin>pretty-error>renderkid>css-select>domhandler": true, - "html-webpack-plugin>pretty-error>renderkid>css-select>domutils": true, - "html-webpack-plugin>pretty-error>renderkid>htmlparser2>entities": true - } - }, - "depcheck>is-core-module": { - "globals": { - "process.versions": true - }, - "packages": { - "depcheck>is-core-module>hasown": true - } - }, - "webpack-merge>clone-deep>is-plain-object": { - "packages": { - "webpack-merge>clone-deep>is-plain-object>isobject": true + "url": true } }, "webpack>terser-webpack-plugin>jest-worker": { - "builtin": { - "child_process": true, - "os": true, - "path": true, - "stream": true, - "worker_threads": true - }, - "globals": { - "__dirname": true, - "clearTimeout": true, - "process": true, - "setTimeout": true - }, "packages": { - "@metamask/auto-changelog>execa>merge-stream": true, - "webpack>terser-webpack-plugin>jest-worker>supports-color": true, "webpack>terser-webpack-plugin": true } }, - "depcheck>@babel/traverse>@babel/generator>jsesc": { - "globals": { - "Buffer": true - } - }, - "webpack>json-parse-even-better-errors": { - "globals": { - "Buffer.isBuffer": true - } - }, - "@lavamoat/webpack>json-stable-stringify": { - "packages": { - "@lavamoat/webpack>json-stable-stringify>call-bind": true, - "@lavamoat/webpack>json-stable-stringify>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 - } - }, - "tsconfig-paths-webpack-plugin>tsconfig-paths>json5": { - "globals": { - "console.warn": true - } - }, - "lavamoat>lavamoat-core>merge-deep>kind-of": { - "packages": { - "lavamoat>lavamoat-core>merge-deep>kind-of>is-buffer": true - } - }, - "lavamoat>lavamoat-core>merge-deep>clone-deep>shallow-clone>kind-of": { - "globals": { - "Buffer": true - }, - "packages": { - "lavamoat>lavamoat-core>merge-deep>kind-of>is-buffer": true - } - }, - "lavamoat>lavamoat-core": { - "builtin": { - "node:events": true, - "node:fs.readFileSync": true, - "node:fs/promises.writeFile": true, - "node:path.extname": true, - "node:path.join": true - }, - "globals": { - "__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, - "depcheck>@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": { "html-webpack-plugin": true, "ts-loader": true } }, - "depcheck>lodash": { - "globals": { - "define": true - } - }, - "lavamoat>lavamoat-core>merge-deep": { - "packages": { - "lavamoat>lavamoat-core>merge-deep>arr-union": true, - "lavamoat>lavamoat-core>merge-deep>clone-deep": true, - "lavamoat>lavamoat-core>merge-deep>kind-of": true - } - }, - "@metamask/auto-changelog>execa>merge-stream": { - "builtin": { - "stream.PassThrough": true - } - }, - "ts-loader>micromatch": { - "builtin": { - "util.inspect": true - }, - "packages": { - "ts-loader>micromatch>braces": true, - "depcheck>readdirp>picomatch": true - } - }, - "webpack>mime-types": { - "builtin": { - "path.extname": true - }, - "packages": { - "webpack>mime-types>mime-db": 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, - "lavamoat>lavamoat-core>merge-deep>clone-deep>shallow-clone>is-extendable": true - } - }, - "webpack>neo-async": { - "globals": { - "clearTimeout": true, - "console": true, - "define": true, - "process": true, - "setImmediate": true, - "setTimeout": true - } - }, - "html-webpack-plugin>pretty-error>renderkid>css-select>nth-check": { - "packages": { - "html-webpack-plugin>pretty-error>renderkid>css-select>boolbase": true - } - }, - "depcheck>resolve>path-parse": { - "globals": { - "process.platform": true - } - }, - "vite>postcss>picocolors": { - "globals": { - "process": true - } - }, - "depcheck>readdirp>picomatch": { - "builtin": { - "path.basename": true, - "path.sep": true - }, - "globals": { - "process.platform": true, - "process.version.slice": true - } - }, - "html-webpack-plugin>pretty-error": { - "builtin": { - "path": true - }, - "globals": { - "console.error": true - }, - "packages": { - "depcheck>lodash": true, - "html-webpack-plugin>pretty-error>renderkid": true - } - }, - "webpack>terser-webpack-plugin>serialize-javascript>randombytes": { - "builtin": { - "crypto.randomBytes": true - } - }, - "html-webpack-plugin>html-minifier-terser>relateurl": { - "builtin": { - "url.parse": true - } - }, - "html-webpack-plugin>pretty-error>renderkid": { - "builtin": { - "tty": true - }, - "globals": { - "console.log": true, - "process.stdout.columns": true, - "process.stdout.getWindowSize": true - }, - "packages": { - "html-webpack-plugin>pretty-error>renderkid>css-select": true, - "html-webpack-plugin>pretty-error>renderkid>dom-converter": true, - "html-webpack-plugin>pretty-error>renderkid>htmlparser2": true, - "depcheck>lodash": true, - "jest>@jest/core>strip-ansi": true - } - }, - "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 - } - }, - "webpack>schema-utils": { - "globals": { - "process": true - }, - "packages": { - "webpack>schema-utils>ajv-formats": true, - "webpack>schema-utils>ajv-keywords": true, - "webpack>schema-utils>ajv": true - } - }, - "depcheck>semver": { - "globals": { - "console.error": true, - "process": true - } - }, - "webpack>terser-webpack-plugin>serialize-javascript": { - "globals": { - "URL": true - }, - "packages": { - "webpack>terser-webpack-plugin>serialize-javascript>randombytes": true - } - }, - "@lavamoat/webpack>json-stable-stringify>call-bind>set-function-length": { - "packages": { - "@lavamoat/webpack>json-stable-stringify>call-bind>set-function-length>define-data-property": true, - "@lavamoat/webpack>json-stable-stringify>call-bind>get-intrinsic>es-errors": true, - "@lavamoat/webpack>json-stable-stringify>call-bind>get-intrinsic": true, - "@lavamoat/webpack>json-stable-stringify>call-bind>get-intrinsic>gopd": true, - "@lavamoat/webpack>json-stable-stringify>call-bind>set-function-length>has-property-descriptors": true - } - }, - "lavamoat>lavamoat-core>merge-deep>clone-deep>shallow-clone": { - "packages": { - "lavamoat>lavamoat-core>merge-deep>clone-deep>shallow-clone>is-extendable": true, - "lavamoat>lavamoat-core>merge-deep>clone-deep>shallow-clone>kind-of": true, - "lavamoat>lavamoat-core>merge-deep>clone-deep>shallow-clone>lazy-cache": true, - "lavamoat>lavamoat-core>merge-deep>clone-deep>shallow-clone>mixin-object": true - } - }, - "webpack-merge>clone-deep>shallow-clone": { - "globals": { - "Buffer.allocUnsafe": true, - "Buffer.from": true - }, - "packages": { - "webpack-merge>clone-deep>kind-of": true - } - }, - "jest>@jest/core>jest-runner>source-map-support": { - "builtin": { - "fs": true, - "module": 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 - } - }, - "ts-loader>source-map": { - "builtin": { - "fs.readFile": true, - "path.join": true - }, - "globals": { - "WebAssembly.instantiate": true, - "__dirname": true, - "console.debug": true, - "console.time": true, - "console.timeEnd": true, - "fetch": true - } - }, - "jest>@jest/core>strip-ansi": { - "packages": { - "@types/jest>pretty-format>ansi-regex": true - } - }, - "eslint>chalk>supports-color": { - "builtin": { - "os.release": true, - "tty.isatty": true - }, - "globals": { - "process.env": true, - "process.platform": true - }, - "packages": { - "eslint>chalk>supports-color>has-flag": true - } - }, - "webpack>terser-webpack-plugin>jest-worker>supports-color": { - "builtin": { - "os.release": true, - "tty.isatty": true - }, - "globals": { - "process.env": true, - "process.platform": true - }, - "packages": { - "eslint>chalk>supports-color>has-flag": 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, - "terser>acorn": true - } - }, - "webpack>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>@jridgewell/source-map>@jridgewell/trace-mapping": true, - "@swc/core": true, - "tsx>esbuild": true, - "webpack>terser-webpack-plugin>jest-worker": true, - "webpack>schema-utils": true, - "webpack>terser-webpack-plugin>serialize-javascript": true, - "terser": true - } - }, - "ts-loader>micromatch>braces>fill-range>to-regex-range": { - "packages": { - "ts-loader>micromatch>braces>fill-range>to-regex-range>is-number": true - } - }, "ts-loader": { - "builtin": { - "console.Console": true, - "crypto.createHash": true, - "fs.readFileSync": true, - "os.EOL": true, - "path.dirname": true, - "path.isAbsolute": true, - "path.join": true, - "path.normalize": true, - "path.relative": true, - "path.resolve": true - }, - "globals": { - "__dirname": true, - "console.log.call": true, - "process.stderr": true, - "process.stdout": true - }, - "packages": { - "eslint>chalk": true, - "ts-loader>micromatch": true, - "depcheck>semver": true, - "ts-loader>source-map": true, - "typescript": true, - "webpack": true - } - }, - "tsconfig-paths-webpack-plugin": { - "builtin": { - "console.Console": true, - "path.resolve": true - }, - "globals": { - "process.cwd": true, - "process.stderr": true, - "process.stdout": true - }, - "packages": { - "eslint>chalk": true, - "webpack>enhanced-resolve": true, - "tsconfig-paths-webpack-plugin>tsconfig-paths": true - } - }, - "tsconfig-paths-webpack-plugin>tsconfig-paths": { - "builtin": { - "fs.existsSync": true, - "fs.lstatSync": true, - "fs.readFile": true, - "fs.readFileSync": true, - "fs.stat": true, - "fs.statSync": true, - "module._resolveFilename": true, - "module.builtinModules": true, - "path.dirname": true, - "path.isAbsolute": true, - "path.join": true, - "path.resolve": true - }, - "globals": { - "console.warn": true, - "process.argv.slice": true, - "process.cwd": true, - "process.env": true - }, "packages": { - "tsconfig-paths-webpack-plugin>tsconfig-paths>json5": true, - "tsconfig-paths-webpack-plugin>tsconfig-paths>minimist": true, - "tsconfig-paths-webpack-plugin>tsconfig-paths>strip-bom": true + "typescript": true } }, "typescript": { - "builtin": { - "buffer.Buffer": true, - "crypto": true, - "fs": true, - "inspector": true, - "module.findPnpApi": true, - "os.EOL": true, - "os.platform": true, - "path.dirname": true, - "path.join": true, - "path.resolve": true, - "perf_hooks.PerformanceObserver": true, - "perf_hooks.performance": true - }, - "globals": { - "Intl.Collator": true, - "PerformanceObserver": true, - "__dirname": true, - "__filename": true, - "clearTimeout": true, - "console": true, - "gc": true, - "onProfilerEvent": true, - "performance": true, - "process": true, - "setTimeout": true - }, - "packages": { - "jest>@jest/core>jest-runner>source-map-support": true - } - }, - "eslint>ajv>uri-js": { - "globals": { - "define": true - } - }, - "html-webpack-plugin>pretty-error>renderkid>dom-converter>utila": { - "globals": { - "clearTimeout": true, - "setTimeout": true - } - }, - "webpack>watchpack": { - "builtin": { - "events.EventEmitter": true, - "fs.readlinkSync": true, - "fs.watch": true, - "os.platform": true, - "path.basename": true, - "path.dirname": 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, - "webpack>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": { - "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": { - "webpack>@webassemblyjs/ast": true, - "webpack>@webassemblyjs/wasm-edit": true, - "webpack>@webassemblyjs/wasm-parser": true, - "terser>acorn": true, - "webpack>browserslist": true, - "webpack>chrome-trace-event": true, - "webpack>enhanced-resolve": true, - "webpack>es-module-lexer": true, - "webpack>eslint-scope": true, - "webpack>glob-to-regexp": true, - "webpack>graceful-fs": true, - "webpack>json-parse-even-better-errors": true, - "webpack>loader-runner": true, - "webpack>mime-types": true, - "webpack>neo-async": true, - "webpack>schema-utils": true, - "webpack>tapable": true, - "webpack>terser-webpack-plugin": true, - "webpack>watchpack": true, - "webpack>webpack-sources": true - } - }, - "webpack-merge": { - "packages": { - "webpack-merge>clone-deep": true, - "webpack-merge>wildcard": true - } - }, - "webpack>webpack-sources": { - "globals": { - "Buffer.byteLength": true, - "Buffer.concat": true, - "Buffer.from": true, - "Buffer.isBuffer": true, - "process": true - } } } } \ No newline at end of file diff --git a/packages/snaps-execution-environments/package.json b/packages/snaps-execution-environments/package.json index d5223591c5..a4ed7e4f05 100644 --- a/packages/snaps-execution-environments/package.json +++ b/packages/snaps-execution-environments/package.json @@ -41,8 +41,8 @@ "scripts": { "auto-changelog-init": "auto-changelog init", "build": "ts-bridge --project tsconfig.build.json --verbose --clean --no-references", - "build:lavamoat": "lavamoat --policy lavamoat/build-system/policy.json --override lavamoat/build-system/policy-override.json ./scripts/build.js", - "build:lavamoat:policy": "yarn build:lavamoat --writeAutoPolicy && LAVAMOAT_GENERATE_POLICY=true node scripts/build.js", + "build:lavamoat": "lavamoat run --policy lavamoat/build-system/policy.json --policy-override lavamoat/build-system/policy-override.json scripts/build.mjs", + "build:lavamoat:policy": "lavamoat generate --policy lavamoat/build-system/policy.json --policy-override lavamoat/build-system/policy-override.json scripts/build.mjs && LAVAMOAT_GENERATE_POLICY=true node scripts/build.mjs", "build:lavamoat:test": "NODE_ENV=test yarn build:lavamoat", "build:post": "yarn build:lavamoat", "changelog:update": "../../scripts/update-changelog.sh @metamask/snaps-execution-environments", diff --git a/packages/snaps-execution-environments/scripts/build.js b/packages/snaps-execution-environments/scripts/build.mjs similarity index 87% rename from packages/snaps-execution-environments/scripts/build.js rename to packages/snaps-execution-environments/scripts/build.mjs index 1b8fe57daf..c073ec77df 100644 --- a/packages/snaps-execution-environments/scripts/build.js +++ b/packages/snaps-execution-environments/scripts/build.mjs @@ -1,6 +1,7 @@ -const webpack = require('webpack'); +import webpack from 'webpack'; -const config = require('../webpack.config'); +// eslint-disable-next-line import-x/extensions +import config from '../webpack.config.mjs'; /** * Indent a message by a given number of spaces. diff --git a/packages/snaps-execution-environments/tsconfig.json b/packages/snaps-execution-environments/tsconfig.json index 88d292e218..468db6977f 100644 --- a/packages/snaps-execution-environments/tsconfig.json +++ b/packages/snaps-execution-environments/tsconfig.json @@ -6,7 +6,7 @@ }, "include": [ "./src", - "webpack.config.js", + "webpack.config.mjs", "scripts", "package.json", "vitest.config.mts", diff --git a/packages/snaps-execution-environments/webpack.config.js b/packages/snaps-execution-environments/webpack.config.mjs similarity index 94% rename from packages/snaps-execution-environments/webpack.config.js rename to packages/snaps-execution-environments/webpack.config.mjs index ebce9e9961..a644117aca 100644 --- a/packages/snaps-execution-environments/webpack.config.js +++ b/packages/snaps-execution-environments/webpack.config.mjs @@ -2,6 +2,14 @@ // have any declarations, and it currently makes using it from LavaMoat Node // more difficult. +import { createRequire } from 'node:module'; +import { dirname } from 'node:path'; +import { fileURLToPath } from 'node:url'; + +// TODO: Replace imports below with ESM imports. +// eslint-disable-next-line no-shadow +const require = createRequire(import.meta.url); + const LavaMoatPlugin = require('@lavamoat/webpack'); const { readFileSync } = require('fs'); const HtmlWebpackPlugin = require('html-webpack-plugin'); @@ -54,6 +62,9 @@ const SES_BUNDLE = readFileSync(require.resolve('ses'), 'utf-8'); * configuration. */ +// eslint-disable-next-line no-shadow +const __dirname = dirname(fileURLToPath(import.meta.url)); + /** * The default Webpack configuration for web-based entry points. * @@ -276,4 +287,4 @@ const configs = ENTRY_POINTS.map( }), ); -module.exports = configs; +export default configs;