Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
48 changes: 48 additions & 0 deletions .yarn/patches/lavamoat-core-npm-16.2.2-e361ff1f8a.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
diff --git a/src/loadPolicy.js b/src/loadPolicy.js
index b3053356c739a5f351fd4e271b67e31ee00bb4dc..7daebe4104ce5d799f90068516b1d0aaa58546c0 100644
--- a/src/loadPolicy.js
+++ b/src/loadPolicy.js
@@ -101,10 +101,9 @@ async function loadPolicyAndApplyOverrides({

const finalPolicy = mergePolicy(policy, policyOverride)

- // TODO: Only write if merge results in changes.
- // Would have to make a deep equal check on whole policy, which is a waste of time.
- // mergePolicy() should be able to do it in one pass.
- await fs.writeFile(policyPath, jsonStringifySortedPolicy(finalPolicy))
+ // Skip policy write step to prevent intermittent build failures
+ // The extension validates the policy in a separate step, we don't need it
+ // to be written to disk here.

return finalPolicy
}
diff --git a/src/scuttle.js b/src/scuttle.js
index c096a1fbf0bfe8a8f22290852881598f74fff4b1..b7438881be5e25b48ea18919a4b642a0b14cc317 100644
--- a/src/scuttle.js
+++ b/src/scuttle.js
@@ -77,6 +77,8 @@ function generateScuttleOpts(globalRef, originalOpts = create(null)) {
exceptions: [],
scuttlerName: '',
}
+ // cache regular expressions to work around https://github.com/MetaMask/metamask-extension/issues/21006
+ const regexCache = new Map()
const opts = assign(
create(null),
originalOpts === true ? defaultOpts : originalOpts,
@@ -109,10 +111,15 @@ function generateScuttleOpts(globalRef, originalOpts = create(null)) {
if (!except.startsWith('/')) {
return except
}
+ if (regexCache.has(except)) {
+ return regexCache.get(except)
+ }
const parts = except.split('/')
const pattern = parts.slice(1, -1).join('/')
const flags = parts[parts.length - 1]
- return new RegExp(pattern, flags)
+ const re = new RegExp(pattern, flags)
+ regexCache.set(except, re)
+ return re
}
}

18 changes: 0 additions & 18 deletions .yarn/patches/lavamoat-core-npm-16.7.1-9dcb956c6f.patch

This file was deleted.

2 changes: 1 addition & 1 deletion lavamoat/build-system/policy.json
Original file line number Diff line number Diff line change
Expand Up @@ -4412,7 +4412,7 @@
"builtin": {
"node:events": true,
"node:fs.readFileSync": true,
"node:fs/promises": true,
"node:fs/promises.writeFile": true,
"node:path.extname": true,
"node:path.join": true
},
Expand Down
5 changes: 2 additions & 3 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -193,6 +193,7 @@
"readable-stream-3@^3.6.2": "npm:readable-stream@^3.6.2",
"[email protected]": "^7.5.4",
"[email protected]": "^7.5.4",
"lavamoat-core@npm:^16.2.2": "patch:lavamoat-core@npm%3A16.2.2#~/.yarn/patches/lavamoat-core-npm-16.2.2-e361ff1f8a.patch",
"@metamask/snaps-sdk": "^10.0.0",
"@swc/[email protected]": "^0.1.6",
"@babel/core": "patch:@babel/core@npm%3A7.25.9#~/.yarn/patches/@babel-core-npm-7.25.9-4ae3bff7f3.patch",
Expand Down Expand Up @@ -241,9 +242,7 @@
"@endo/env-options@npm:^1.1.11": "patch:@endo/env-options@npm%3A1.1.11#~/.yarn/patches/@endo-env-options-npm-1.1.11-1b7fae374a.patch",
"@endo/env-options@npm:^1.1.7": "patch:@endo/env-options@npm%3A1.1.11#~/.yarn/patches/@endo-env-options-npm-1.1.11-1b7fae374a.patch",
"@endo/env-options@npm:^1.1.8": "patch:@endo/env-options@npm%3A1.1.11#~/.yarn/patches/@endo-env-options-npm-1.1.11-1b7fae374a.patch",
"@metamask/jazzicon@npm:^2.0.0": "patch:@metamask/jazzicon@npm%3A2.0.0#~/.yarn/patches/@metamask-jazzicon-npm-2.0.0-36957be38d.patch",
"lavamoat-core@npm:^15.2.1": "patch:lavamoat-core@npm%3A16.7.1#~/.yarn/patches/lavamoat-core-npm-16.7.1-9dcb956c6f.patch",
"lavamoat-core@npm:^16.7.1": "patch:lavamoat-core@npm%3A16.7.1#~/.yarn/patches/lavamoat-core-npm-16.7.1-9dcb956c6f.patch"
"@metamask/jazzicon@npm:^2.0.0": "patch:@metamask/jazzicon@npm%3A2.0.0#~/.yarn/patches/@metamask-jazzicon-npm-2.0.0-36957be38d.patch"
},
"dependencies": {
"@babel/runtime": "patch:@babel/runtime@npm%3A7.25.9#~/.yarn/patches/@babel-runtime-npm-7.25.9-fe8c62510a.patch",
Expand Down
162 changes: 142 additions & 20 deletions yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -164,7 +164,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.25.9, @babel/code-frame@npm:^7.27.1":
"@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.23.5, @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:
Expand Down Expand Up @@ -254,7 +254,7 @@ __metadata:
languageName: node
linkType: hard

"@babel/generator@npm:^7.22.5, @babel/generator@npm:^7.23.0, @babel/generator@npm:^7.25.9, @babel/generator@npm:^7.26.3, @babel/generator@npm:^7.27.3, @babel/generator@npm:^7.28.3, @babel/generator@npm:^7.7.2":
"@babel/generator@npm:^7.22.5, @babel/generator@npm:^7.23.0, @babel/generator@npm:^7.23.6, @babel/generator@npm:^7.25.9, @babel/generator@npm:^7.26.3, @babel/generator@npm:^7.27.3, @babel/generator@npm:^7.28.3, @babel/generator@npm:^7.7.2":
version: 7.28.3
resolution: "@babel/generator@npm:7.28.3"
dependencies:
Expand Down Expand Up @@ -344,13 +344,41 @@ __metadata:
languageName: node
linkType: hard

"@babel/helper-environment-visitor@npm:^7.22.20":
version: 7.24.7
resolution: "@babel/helper-environment-visitor@npm:7.24.7"
dependencies:
"@babel/types": "npm:^7.24.7"
checksum: 10/079d86e65701b29ebc10baf6ed548d17c19b808a07aa6885cc141b690a78581b180ee92b580d755361dc3b16adf975b2d2058b8ce6c86675fcaf43cf22f2f7c6
languageName: node
linkType: hard

"@babel/helper-function-name@npm:^7.23.0":
version: 7.24.7
resolution: "@babel/helper-function-name@npm:7.24.7"
dependencies:
"@babel/template": "npm:^7.24.7"
"@babel/types": "npm:^7.24.7"
checksum: 10/2ceb3d9b2b35a0fc4100fc06ed7be3bc38f03ff0bf128ff0edbc0cc7dd842967b1496fc70b5c616c747d7711c2b87e7d025c8888f48740631d6148a9d3614f85
languageName: node
linkType: hard

"@babel/helper-globals@npm:^7.28.0":
version: 7.28.0
resolution: "@babel/helper-globals@npm:7.28.0"
checksum: 10/91445f7edfde9b65dcac47f4f858f68dc1661bf73332060ab67ad7cc7b313421099a2bfc4bda30c3db3842cfa1e86fffbb0d7b2c5205a177d91b22c8d7d9cb47
languageName: node
linkType: hard

"@babel/helper-hoist-variables@npm:^7.22.5":
version: 7.24.7
resolution: "@babel/helper-hoist-variables@npm:7.24.7"
dependencies:
"@babel/types": "npm:^7.24.7"
checksum: 10/6cfdcf2289cd12185dcdbdf2435fa8d3447b797ac75851166de9fc8503e2fd0021db6baf8dfbecad3753e582c08e6a3f805c8d00cbed756060a877d705bd8d8d
languageName: node
linkType: hard

"@babel/helper-member-expression-to-functions@npm:^7.25.9":
version: 7.25.9
resolution: "@babel/helper-member-expression-to-functions@npm:7.25.9"
Expand Down Expand Up @@ -447,14 +475,23 @@ __metadata:
languageName: node
linkType: hard

"@babel/helper-string-parser@npm:^7.25.9, @babel/helper-string-parser@npm:^7.27.1":
"@babel/helper-split-export-declaration@npm:^7.22.6":
version: 7.24.7
resolution: "@babel/helper-split-export-declaration@npm:7.24.7"
dependencies:
"@babel/types": "npm:^7.24.7"
checksum: 10/ff04a3071603c87de0d6ee2540b7291ab36305b329bd047cdbb6cbd7db335a12f9a77af1cf708779f75f13c4d9af46093c00b34432e50b2411872c658d1a2e5e
languageName: node
linkType: hard

"@babel/helper-string-parser@npm:^7.23.4, @babel/helper-string-parser@npm:^7.25.9, @babel/helper-string-parser@npm:^7.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.25.9, @babel/helper-validator-identifier@npm:^7.27.1":
"@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
Expand Down Expand Up @@ -510,6 +547,15 @@ __metadata:
languageName: node
linkType: hard

"@babel/parser@npm:7.24.0":
version: 7.24.0
resolution: "@babel/parser@npm:7.24.0"
bin:
parser: ./bin/babel-parser.js
checksum: 10/3e5ebb903a6f71629a9d0226743e37fe3d961e79911d2698b243637f66c4df7e3e0a42c07838bc0e7cc9fcd585d9be8f4134a145b9459ee4a459420fb0d1360b
languageName: node
linkType: hard

"@babel/parser@npm:7.27.3":
version: 7.27.3
resolution: "@babel/parser@npm:7.27.3"
Expand All @@ -532,7 +578,7 @@ __metadata:
languageName: node
linkType: hard

"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.23.0, @babel/parser@npm:^7.25.3, @babel/parser@npm:^7.25.9, @babel/parser@npm:^7.26.7, @babel/parser@npm:^7.27.2, @babel/parser@npm:^7.27.3, @babel/parser@npm:^7.28.3, @babel/parser@npm:^7.28.4":
"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.23.0, @babel/parser@npm:^7.24.0, @babel/parser@npm:^7.25.3, @babel/parser@npm:^7.25.9, @babel/parser@npm:^7.26.7, @babel/parser@npm:^7.27.2, @babel/parser@npm:^7.27.3, @babel/parser@npm:^7.28.3, @babel/parser@npm:^7.28.4":
version: 7.28.4
resolution: "@babel/parser@npm:7.28.4"
dependencies:
Expand Down Expand Up @@ -1642,7 +1688,7 @@ __metadata:
languageName: node
linkType: hard

"@babel/template@npm:^7.22.5, @babel/template@npm:^7.25.9, @babel/template@npm:^7.27.2, @babel/template@npm:^7.3.3":
"@babel/template@npm:^7.22.5, @babel/template@npm:^7.24.7, @babel/template@npm:^7.25.9, @babel/template@npm:^7.27.2, @babel/template@npm:^7.3.3":
version: 7.27.2
resolution: "@babel/template@npm:7.27.2"
dependencies:
Expand All @@ -1653,6 +1699,24 @@ __metadata:
languageName: node
linkType: hard

"@babel/traverse@npm:7.24.0":
version: 7.24.0
resolution: "@babel/traverse@npm:7.24.0"
dependencies:
"@babel/code-frame": "npm:^7.23.5"
"@babel/generator": "npm:^7.23.6"
"@babel/helper-environment-visitor": "npm:^7.22.20"
"@babel/helper-function-name": "npm:^7.23.0"
"@babel/helper-hoist-variables": "npm:^7.22.5"
"@babel/helper-split-export-declaration": "npm:^7.22.6"
"@babel/parser": "npm:^7.24.0"
"@babel/types": "npm:^7.24.0"
debug: "npm:^4.3.1"
globals: "npm:^11.1.0"
checksum: 10/5cc482248ebb79adcbcf021aab4e0e95bafe2a1736ee4b46abe6f88b59848ad73e15e219db8f06c9a33a14c64257e5b47e53876601e998a8c596accb1b7f4996
languageName: node
linkType: hard

"@babel/traverse@npm:7.27.3":
version: 7.27.3
resolution: "@babel/traverse@npm:7.27.3"
Expand Down Expand Up @@ -1698,6 +1762,17 @@ __metadata:
languageName: node
linkType: hard

"@babel/types@npm:7.24.0":
version: 7.24.0
resolution: "@babel/types@npm:7.24.0"
dependencies:
"@babel/helper-string-parser": "npm:^7.23.4"
"@babel/helper-validator-identifier": "npm:^7.22.20"
to-fast-properties: "npm:^2.0.0"
checksum: 10/a0b4875ce2e132f9daff0d5b27c7f4c4fcc97f2b084bdc5834e92c9d32592778489029e65d99d00c406da612d87b72d7a236c0afccaa1435c028d0c94c9b6da4
languageName: node
linkType: hard

"@babel/types@npm:7.27.3":
version: 7.27.3
resolution: "@babel/types@npm:7.27.3"
Expand All @@ -1708,7 +1783,7 @@ __metadata:
languageName: node
linkType: hard

"@babel/types@npm:^7.0.0, @babel/types@npm:^7.18.9, @babel/types@npm:^7.20.0, @babel/types@npm:^7.20.7, @babel/types@npm:^7.22.5, @babel/types@npm:^7.23.0, @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.4, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4, @babel/types@npm:^7.8.3":
"@babel/types@npm:^7.0.0, @babel/types@npm:^7.18.9, @babel/types@npm:^7.20.0, @babel/types@npm:^7.20.7, @babel/types@npm:^7.22.5, @babel/types@npm:^7.23.0, @babel/types@npm:^7.24.0, @babel/types@npm:^7.24.7, @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.4, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4, @babel/types@npm:^7.8.3":
version: 7.28.4
resolution: "@babel/types@npm:7.28.4"
dependencies:
Expand Down Expand Up @@ -14438,6 +14513,15 @@ __metadata:
languageName: node
linkType: hard

"@types/babel__traverse@npm:7.20.5":
version: 7.20.5
resolution: "@types/babel__traverse@npm:7.20.5"
dependencies:
"@babel/types": "npm:^7.20.7"
checksum: 10/f0352d537448e1e37f27e6bb8c962d7893720a92fde9d8601a68a93dbc14e15c088b4c0c8f71021d0966d09fba802ef3de11fdb6766c33993f8cf24f1277c6a9
languageName: node
linkType: hard

"@types/babelify@npm:^7.3.7":
version: 7.3.7
resolution: "@types/babelify@npm:7.3.7"
Expand Down Expand Up @@ -30147,6 +30231,18 @@ __metadata:
languageName: node
linkType: hard

"json-stable-stringify@npm:1.1.1":
version: 1.1.1
resolution: "json-stable-stringify@npm:1.1.1"
dependencies:
call-bind: "npm:^1.0.5"
isarray: "npm:^2.0.5"
jsonify: "npm:^0.0.1"
object-keys: "npm:^1.1.1"
checksum: 10/60853c1f63451319b5c7953465a555aa816cf84e60e3ca36b6c05225d8fdc4615127fb4ecb92f9f5ad880c552ab8cbae9a519f78b995e7788d6d89e57afafdeb
languageName: node
linkType: hard

"json-stable-stringify@npm:1.3.0, json-stable-stringify@npm:^1.0.0, json-stable-stringify@npm:^1.1.1":
version: 1.3.0
resolution: "json-stable-stringify@npm:1.3.0"
Expand Down Expand Up @@ -30684,7 +30780,20 @@ __metadata:
languageName: node
linkType: hard

"lavamoat-core@npm:16.7.1":
"lavamoat-core@npm:^15.2.1":
version: 15.3.0
resolution: "lavamoat-core@npm:15.3.0"
dependencies:
"@babel/types": "npm:7.24.0"
json-stable-stringify: "npm:1.1.1"
lavamoat-tofu: "npm:^7.2.3"
merge-deep: "npm:3.0.3"
type-fest: "npm:4.13.1"
checksum: 10/567e186017eba440a683c2d286fce14ca050762c3a24d80f4b57fd00aab3762680180ce867fff6bb301051fb3cc5a74506515fdd5b9f87a3b571f4e6edc8043d
languageName: node
linkType: hard

"lavamoat-core@npm:^16.7.1":
version: 16.7.1
resolution: "lavamoat-core@npm:16.7.1"
dependencies:
Expand All @@ -30700,19 +30809,18 @@ __metadata:
languageName: node
linkType: hard

"lavamoat-core@patch:lavamoat-core@npm%3A16.7.1#~/.yarn/patches/lavamoat-core-npm-16.7.1-9dcb956c6f.patch":
version: 16.7.1
resolution: "lavamoat-core@patch:lavamoat-core@npm%3A16.7.1#~/.yarn/patches/lavamoat-core-npm-16.7.1-9dcb956c6f.patch::version=16.7.1&hash=745a77"
"lavamoat-tofu@npm:^7.2.3":
version: 7.2.3
resolution: "lavamoat-tofu@npm:7.2.3"
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/8ba61b7aab123fc65f9cbdfdbfbb27b67e75656a053c359b74aa87eb25bef0aca47676b09f14c023e0870948f6bc9bf3321402358aa5d97f7af90c3a9e074773
"@babel/parser": "npm:7.24.0"
"@babel/traverse": "npm:7.24.0"
"@babel/types": "npm:7.24.0"
"@types/babel__traverse": "npm:7.20.5"
type-fest: "npm:4.13.1"
peerDependencies:
lavamoat-core: ^15.3.0
checksum: 10/c0f67b47107b1fa6b319c37fca74611adb42b0d1bcf593923dd200e8de1783ff3f05435f806842cef888cfd2b8d589889541b8fdaa7aeb445482516dc0e8bfcc
languageName: node
linkType: hard

Expand Down Expand Up @@ -41195,6 +41303,13 @@ __metadata:
languageName: node
linkType: hard

"to-fast-properties@npm:^2.0.0":
version: 2.0.0
resolution: "to-fast-properties@npm:2.0.0"
checksum: 10/be2de62fe58ead94e3e592680052683b1ec986c72d589e7b21e5697f8744cdbf48c266fa72f6c15932894c10187b5f54573a3bcf7da0bfd964d5caf23d436168
languageName: node
linkType: hard

"to-object-path@npm:^0.3.0":
version: 0.3.0
resolution: "to-object-path@npm:0.3.0"
Expand Down Expand Up @@ -41622,6 +41737,13 @@ __metadata:
languageName: node
linkType: hard

"type-fest@npm:4.13.1":
version: 4.13.1
resolution: "type-fest@npm:4.13.1"
checksum: 10/3a5db31e45d79dae6d7810b3e6180fed117cfeec7b9f0d3ebbc3780dc53297f9f0dea1752cd8d1f42c2f8206f9a1091a18aa38eb3cb9923a4c79aea480404182
languageName: node
linkType: hard

"type-fest@npm:4.41.0, type-fest@npm:^4.12.0":
version: 4.41.0
resolution: "type-fest@npm:4.41.0"
Expand Down
Loading