From 0ee1bd0b3664cbae3e9d467c132dc4c1d05f2ad1 Mon Sep 17 00:00:00 2001
From: grypez <143971198+grypez@users.noreply.github.com>
Date: Tue, 20 Aug 2024 21:55:50 -0400
Subject: [PATCH 01/10] fix(shims): Add glob param to rimraf
---
packages/shims/scripts/bundle.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/packages/shims/scripts/bundle.js b/packages/shims/scripts/bundle.js
index 45157d98d..ad52c1d7d 100644
--- a/packages/shims/scripts/bundle.js
+++ b/packages/shims/scripts/bundle.js
@@ -19,7 +19,7 @@ const fileNames = {
};
await mkdir(dist, { recursive: true });
-await rimraf(`${dist}/*`);
+await rimraf(`${dist}/*`, { glob: true });
for (const fileName of [fileNames.endoify, fileNames.applyLockdown]) {
await copyFile(path.resolve(src, fileName), path.resolve(dist, fileName));
From 27590417c9ed762a02706d290abafa1e77550a63 Mon Sep 17 00:00:00 2001
From: grypez <143971198+grypez@users.noreply.github.com>
Date: Tue, 20 Aug 2024 23:47:41 -0400
Subject: [PATCH 02/10] test(shims): Configure test setup
---
packages/shims/package.json | 3 +-
packages/shims/vitest.config.ts | 13 +-
yarn.lock | 856 +++++++++++++++++++++++++++++++-
3 files changed, 846 insertions(+), 26 deletions(-)
diff --git a/packages/shims/package.json b/packages/shims/package.json
index a257b5b88..7d23ad0db 100644
--- a/packages/shims/package.json
+++ b/packages/shims/package.json
@@ -26,7 +26,7 @@
"changelog:validate": "../../scripts/validate-changelog.sh @ocap/shims",
"clean": "rimraf --glob ./dist './*.tsbuildinfo'",
"publish:preview": "yarn npm publish --tag preview",
- "test": "vitest run --config vitest.config.ts --passWithNoTests",
+ "test": "yarn build && ava && vitest run --config vitest.config.ts --passWithNoTests",
"test:clean": "yarn test --no-cache --coverage.clean",
"test:dev": "yarn test --coverage false",
"test:verbose": "yarn test --reporter verbose",
@@ -40,6 +40,7 @@
"devDependencies": {
"@endo/bundle-source": "^3.3.0",
"@metamask/auto-changelog": "^3.4.4",
+ "ava": "^6.1.3",
"deepmerge": "^4.3.1",
"rimraf": "^6.0.1",
"vitest": "^2.0.5"
diff --git a/packages/shims/vitest.config.ts b/packages/shims/vitest.config.ts
index 2709902e1..2b415f6c9 100644
--- a/packages/shims/vitest.config.ts
+++ b/packages/shims/vitest.config.ts
@@ -1,9 +1,20 @@
// eslint-disable-next-line spaced-comment
///
+import { defineConfig, mergeConfig } from 'vite';
import { getDefaultConfig } from '../../vitest.config.packages.js';
-const config = getDefaultConfig();
+
+const config = mergeConfig(
+ getDefaultConfig(),
+ defineConfig({
+ test: {
+ exclude: ['endoify-*shimmed.test.*'],
+ setupFiles: '../test-utils/src/env/mock-endo.ts',
+ },
+ }),
+);
+
// @ts-expect-error We can and will delete this.
delete config.test.coverage.thresholds;
export default config;
diff --git a/yarn.lock b/yarn.lock
index d5df286f8..472dfe8d9 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -790,6 +790,25 @@ __metadata:
languageName: node
linkType: hard
+"@mapbox/node-pre-gyp@npm:^1.0.5":
+ version: 1.0.11
+ resolution: "@mapbox/node-pre-gyp@npm:1.0.11"
+ dependencies:
+ detect-libc: "npm:^2.0.0"
+ https-proxy-agent: "npm:^5.0.0"
+ make-dir: "npm:^3.1.0"
+ node-fetch: "npm:^2.6.7"
+ nopt: "npm:^5.0.0"
+ npmlog: "npm:^5.0.1"
+ rimraf: "npm:^3.0.2"
+ semver: "npm:^7.3.5"
+ tar: "npm:^6.1.11"
+ bin:
+ node-pre-gyp: bin/node-pre-gyp
+ checksum: 10/59529a2444e44fddb63057152452b00705aa58059079191126c79ac1388ae4565625afa84ed4dd1bf017d1111ab6e47907f7c5192e06d83c9496f2f3e708680a
+ languageName: node
+ linkType: hard
+
"@metamask/auto-changelog@npm:^3.4.4":
version: 3.4.4
resolution: "@metamask/auto-changelog@npm:3.4.4"
@@ -1321,6 +1340,7 @@ __metadata:
"@endo/eventual-send": "npm:^1.2.4"
"@endo/lockdown": "npm:^1.0.9"
"@metamask/auto-changelog": "npm:^3.4.4"
+ ava: "npm:^6.1.3"
deepmerge: "npm:^4.3.1"
rimraf: "npm:^6.0.1"
ses: "npm:^1.7.0"
@@ -1438,6 +1458,16 @@ __metadata:
languageName: node
linkType: hard
+"@rollup/pluginutils@npm:^4.0.0":
+ version: 4.2.1
+ resolution: "@rollup/pluginutils@npm:4.2.1"
+ dependencies:
+ estree-walker: "npm:^2.0.1"
+ picomatch: "npm:^2.2.2"
+ checksum: 10/503a6f0a449e11a2873ac66cfdfb9a3a0b77ffa84c5cad631f5e4bc1063c850710e8d5cd5dab52477c0d66cda2ec719865726dbe753318cd640bab3fff7ca476
+ languageName: node
+ linkType: hard
+
"@rollup/pluginutils@npm:^5.1.0":
version: 5.1.0
resolution: "@rollup/pluginutils@npm:5.1.0"
@@ -1601,6 +1631,13 @@ __metadata:
languageName: node
linkType: hard
+"@sindresorhus/merge-streams@npm:^2.1.0":
+ version: 2.3.0
+ resolution: "@sindresorhus/merge-streams@npm:2.3.0"
+ checksum: 10/798bcb53cd1ace9df84fcdd1ba86afdc9e0cd84f5758d26ae9b1eefd8e8887e5fc30051132b9e74daf01bb41fa5a2faf1369361f83d76a3b3d7ee938058fd71c
+ languageName: node
+ linkType: hard
+
"@spruceid/siwe-parser@npm:2.1.0":
version: 2.1.0
resolution: "@spruceid/siwe-parser@npm:2.1.0"
@@ -1968,6 +2005,28 @@ __metadata:
languageName: node
linkType: hard
+"@vercel/nft@npm:^0.26.2":
+ version: 0.26.5
+ resolution: "@vercel/nft@npm:0.26.5"
+ dependencies:
+ "@mapbox/node-pre-gyp": "npm:^1.0.5"
+ "@rollup/pluginutils": "npm:^4.0.0"
+ acorn: "npm:^8.6.0"
+ acorn-import-attributes: "npm:^1.9.2"
+ async-sema: "npm:^3.1.1"
+ bindings: "npm:^1.4.0"
+ estree-walker: "npm:2.0.2"
+ glob: "npm:^7.1.3"
+ graceful-fs: "npm:^4.2.9"
+ micromatch: "npm:^4.0.2"
+ node-gyp-build: "npm:^4.2.2"
+ resolve-from: "npm:^5.0.0"
+ bin:
+ nft: out/cli.js
+ checksum: 10/7571af955e3633109b92fbba705c036cbf0225b8f7a990aad444917ea3a7cb9c4e201bc086837d9c7a3650da9e1b5741e3b6dd6159485cf686ae4b228078db86
+ languageName: node
+ linkType: hard
+
"@vitest/coverage-v8@npm:^2.0.5":
version: 2.0.5
resolution: "@vitest/coverage-v8@npm:2.0.5"
@@ -2119,6 +2178,13 @@ __metadata:
languageName: node
linkType: hard
+"abbrev@npm:1":
+ version: 1.1.1
+ resolution: "abbrev@npm:1.1.1"
+ checksum: 10/2d882941183c66aa665118bafdab82b7a177e9add5eb2776c33e960a4f3c89cff88a1b38aba13a456de01d0dd9d66a8bea7c903268b21ea91dd1097e1e2e8243
+ languageName: node
+ linkType: hard
+
"abbrev@npm:^2.0.0":
version: 2.0.0
resolution: "abbrev@npm:2.0.0"
@@ -2135,6 +2201,15 @@ __metadata:
languageName: node
linkType: hard
+"acorn-import-attributes@npm:^1.9.2":
+ version: 1.9.5
+ resolution: "acorn-import-attributes@npm:1.9.5"
+ peerDependencies:
+ acorn: ^8
+ checksum: 10/8bfbfbb6e2467b9b47abb4d095df717ab64fce2525da65eabee073e85e7975fb3a176b6c8bba17c99a7d8ede283a10a590272304eb54a93c4aa1af9790d47a8b
+ languageName: node
+ linkType: hard
+
"acorn-jsx@npm:^5.3.2":
version: 5.3.2
resolution: "acorn-jsx@npm:5.3.2"
@@ -2144,7 +2219,16 @@ __metadata:
languageName: node
linkType: hard
-"acorn@npm:^8.2.4, acorn@npm:^8.9.0":
+"acorn-walk@npm:^8.3.2":
+ version: 8.3.3
+ resolution: "acorn-walk@npm:8.3.3"
+ dependencies:
+ acorn: "npm:^8.11.0"
+ checksum: 10/59701dcb7070679622ba8e9c7f37577b4935565747ca0fd7c1c3ad30b3f1b1b008276282664e323b5495eb49f77fa12d3816fd06dc68e18f90fbebe759f71450
+ languageName: node
+ linkType: hard
+
+"acorn@npm:^8.11.0, acorn@npm:^8.11.3, acorn@npm:^8.2.4, acorn@npm:^8.6.0, acorn@npm:^8.9.0":
version: 8.12.1
resolution: "acorn@npm:8.12.1"
bin:
@@ -2153,6 +2237,15 @@ __metadata:
languageName: node
linkType: hard
+"agent-base@npm:6":
+ version: 6.0.2
+ resolution: "agent-base@npm:6.0.2"
+ dependencies:
+ debug: "npm:4"
+ checksum: 10/21fb903e0917e5cb16591b4d0ef6a028a54b83ac30cd1fca58dece3d4e0990512a8723f9f83130d88a41e2af8b1f7be1386fda3ea2d181bb1a62155e75e95e23
+ languageName: node
+ linkType: hard
+
"agent-base@npm:^7.0.2, agent-base@npm:^7.1.0, agent-base@npm:^7.1.1":
version: 7.1.1
resolution: "agent-base@npm:7.1.1"
@@ -2232,7 +2325,7 @@ __metadata:
languageName: node
linkType: hard
-"ansi-styles@npm:^6.1.0":
+"ansi-styles@npm:^6.0.0, ansi-styles@npm:^6.1.0, ansi-styles@npm:^6.2.1":
version: 6.2.1
resolution: "ansi-styles@npm:6.2.1"
checksum: 10/70fdf883b704d17a5dfc9cde206e698c16bcd74e7f196ab821511651aee4f9f76c9514bdfa6ca3a27b5e49138b89cb222a28caf3afe4567570139577f991df32
@@ -2263,6 +2356,13 @@ __metadata:
languageName: node
linkType: hard
+"aproba@npm:^1.0.3 || ^2.0.0":
+ version: 2.0.0
+ resolution: "aproba@npm:2.0.0"
+ checksum: 10/c2b9a631298e8d6f3797547e866db642f68493808f5b37cd61da778d5f6ada890d16f668285f7d60bd4fc3b03889bd590ffe62cf81b700e9bb353431238a0a7b
+ languageName: node
+ linkType: hard
+
"are-docs-informative@npm:^0.0.2":
version: 0.0.2
resolution: "are-docs-informative@npm:0.0.2"
@@ -2270,6 +2370,16 @@ __metadata:
languageName: node
linkType: hard
+"are-we-there-yet@npm:^2.0.0":
+ version: 2.0.0
+ resolution: "are-we-there-yet@npm:2.0.0"
+ dependencies:
+ delegates: "npm:^1.0.0"
+ readable-stream: "npm:^3.6.0"
+ checksum: 10/ea6f47d14fc33ae9cbea3e686eeca021d9d7b9db83a306010dd04ad5f2c8b7675291b127d3fcbfcbd8fec26e47b3324ad5b469a6cc3733a582f2fe4e12fc6756
+ languageName: node
+ linkType: hard
+
"argparse@npm:^1.0.7":
version: 1.0.10
resolution: "argparse@npm:1.0.10"
@@ -2293,6 +2403,13 @@ __metadata:
languageName: node
linkType: hard
+"array-find-index@npm:^1.0.1":
+ version: 1.0.2
+ resolution: "array-find-index@npm:1.0.2"
+ checksum: 10/aac128bf369e1ac6c06ff0bb330788371c0e256f71279fb92d745e26fb4b9db8920e485b4ec25e841c93146bf71a34dcdbcefa115e7e0f96927a214d237b7081
+ languageName: node
+ linkType: hard
+
"array-union@npm:^2.1.0":
version: 2.1.0
resolution: "array-union@npm:2.1.0"
@@ -2300,6 +2417,13 @@ __metadata:
languageName: node
linkType: hard
+"arrgv@npm:^1.0.2":
+ version: 1.0.2
+ resolution: "arrgv@npm:1.0.2"
+ checksum: 10/470bbb406ea3b34810dd8b03c0b33282617a42d9fce0ab45d58596efefd042fc548eda49161fa8e3f607cbe9df90e7a67003a09043ab9081eff70f97c63dd0e2
+ languageName: node
+ linkType: hard
+
"arrify@npm:^2.0.1":
version: 2.0.1
resolution: "arrify@npm:2.0.1"
@@ -2307,6 +2431,13 @@ __metadata:
languageName: node
linkType: hard
+"arrify@npm:^3.0.0":
+ version: 3.0.0
+ resolution: "arrify@npm:3.0.0"
+ checksum: 10/d6c6f3dad9571234f320e130d57fddb2cc283c87f2ac7df6c7005dffc5161b7bb9376f4be655ed257050330336e84afc4f3020d77696ad231ff580a94ae5aba6
+ languageName: node
+ linkType: hard
+
"assertion-error@npm:^2.0.1":
version: 2.0.1
resolution: "assertion-error@npm:2.0.1"
@@ -2314,6 +2445,13 @@ __metadata:
languageName: node
linkType: hard
+"async-sema@npm:^3.1.1":
+ version: 3.1.1
+ resolution: "async-sema@npm:3.1.1"
+ checksum: 10/ee0225c2e7b72ae76d66157499f61a881a050824019edc54fa6ec789313076790729557556fbbe237af0083173c66fb2edf1c9cc45c522c5f846b66c0a94ddb3
+ languageName: node
+ linkType: hard
+
"asynckit@npm:^0.4.0":
version: 0.4.0
resolution: "asynckit@npm:0.4.0"
@@ -2321,6 +2459,61 @@ __metadata:
languageName: node
linkType: hard
+"ava@npm:^6.1.3":
+ version: 6.1.3
+ resolution: "ava@npm:6.1.3"
+ dependencies:
+ "@vercel/nft": "npm:^0.26.2"
+ acorn: "npm:^8.11.3"
+ acorn-walk: "npm:^8.3.2"
+ ansi-styles: "npm:^6.2.1"
+ arrgv: "npm:^1.0.2"
+ arrify: "npm:^3.0.0"
+ callsites: "npm:^4.1.0"
+ cbor: "npm:^9.0.1"
+ chalk: "npm:^5.3.0"
+ chunkd: "npm:^2.0.1"
+ ci-info: "npm:^4.0.0"
+ ci-parallel-vars: "npm:^1.0.1"
+ cli-truncate: "npm:^4.0.0"
+ code-excerpt: "npm:^4.0.0"
+ common-path-prefix: "npm:^3.0.0"
+ concordance: "npm:^5.0.4"
+ currently-unhandled: "npm:^0.4.1"
+ debug: "npm:^4.3.4"
+ emittery: "npm:^1.0.1"
+ figures: "npm:^6.0.1"
+ globby: "npm:^14.0.0"
+ ignore-by-default: "npm:^2.1.0"
+ indent-string: "npm:^5.0.0"
+ is-plain-object: "npm:^5.0.0"
+ is-promise: "npm:^4.0.0"
+ matcher: "npm:^5.0.0"
+ memoize: "npm:^10.0.0"
+ ms: "npm:^2.1.3"
+ p-map: "npm:^7.0.1"
+ package-config: "npm:^5.0.0"
+ picomatch: "npm:^3.0.1"
+ plur: "npm:^5.1.0"
+ pretty-ms: "npm:^9.0.0"
+ resolve-cwd: "npm:^3.0.0"
+ stack-utils: "npm:^2.0.6"
+ strip-ansi: "npm:^7.1.0"
+ supertap: "npm:^3.0.1"
+ temp-dir: "npm:^3.0.0"
+ write-file-atomic: "npm:^5.0.1"
+ yargs: "npm:^17.7.2"
+ peerDependencies:
+ "@ava/typescript": "*"
+ peerDependenciesMeta:
+ "@ava/typescript":
+ optional: true
+ bin:
+ ava: entrypoints/cli.mjs
+ checksum: 10/89d2ba8b3b6f60e1c12094d84f0087455e43a4a4c7191ae33b462c653ec7343efc5475ffb9c93f1e27effd1fbd9e0e5b1392f7b70693246d0ba726c554bff830
+ languageName: node
+ linkType: hard
+
"balanced-match@npm:^1.0.0":
version: 1.0.2
resolution: "balanced-match@npm:1.0.2"
@@ -2354,6 +2547,22 @@ __metadata:
languageName: node
linkType: hard
+"bindings@npm:^1.4.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
+
+"blueimp-md5@npm:^2.10.0":
+ version: 2.19.0
+ resolution: "blueimp-md5@npm:2.19.0"
+ checksum: 10/84dc5f86e0d890e50c067a52b85654ec02e56d019c6af88f5a2810b1353adfd37b09ae34f540ef5cd1f19fe0023cb69d0dd68877123044cc49fbf6e7ff4c9a18
+ languageName: node
+ linkType: hard
+
"bn.js@npm:5.2.1, bn.js@npm:^5.2.1":
version: 5.2.1
resolution: "bn.js@npm:5.2.1"
@@ -2477,6 +2686,13 @@ __metadata:
languageName: node
linkType: hard
+"callsites@npm:^4.1.0":
+ version: 4.2.0
+ resolution: "callsites@npm:4.2.0"
+ checksum: 10/9a740675712076a38208967d7f80b525c9c7f4524c2af5d3936c5e278a601af0423a07e91f79679fec0546f3a52514d56969c6fe65f84d794e64a36b1f5eda8a
+ languageName: node
+ linkType: hard
+
"camelcase@npm:^6.3.0":
version: 6.3.0
resolution: "camelcase@npm:6.3.0"
@@ -2491,6 +2707,15 @@ __metadata:
languageName: node
linkType: hard
+"cbor@npm:^9.0.1":
+ version: 9.0.2
+ resolution: "cbor@npm:9.0.2"
+ dependencies:
+ nofilter: "npm:^3.1.0"
+ checksum: 10/a64f7d4dafed933adeafe7745e2ce9f39a2e669eba73db96de6bd1b39c2dbde4bdd51d0240beed179cc429a7dc8653c8d7c991c5addb9f4e0cee8cd167d87116
+ languageName: node
+ linkType: hard
+
"chai@npm:^5.1.1":
version: 5.1.1
resolution: "chai@npm:5.1.1"
@@ -2605,6 +2830,27 @@ __metadata:
languageName: node
linkType: hard
+"chunkd@npm:^2.0.1":
+ version: 2.0.1
+ resolution: "chunkd@npm:2.0.1"
+ checksum: 10/bab8cc08c752a3648984385dc6f61d751e89dbeef648d22a3b661e1d470eaa0f5182f0b4303710f13ae83d2f85144f8eb2dde7a975861d9021b5c56b881f457b
+ languageName: node
+ linkType: hard
+
+"ci-info@npm:^4.0.0":
+ version: 4.0.0
+ resolution: "ci-info@npm:4.0.0"
+ checksum: 10/c983bb7ff1b06648f4a47432201abbd58291147d8ab5043dbb5c03e1a0e3fb2347f40d29b66a3044f28ffeb5dade01ac35aa6bd4e7464a44d9a49a3d7532415a
+ languageName: node
+ linkType: hard
+
+"ci-parallel-vars@npm:^1.0.1":
+ version: 1.0.1
+ resolution: "ci-parallel-vars@npm:1.0.1"
+ checksum: 10/ae859831f7e8e3585db731b8306c336616e37bd709dad1d7775ea4c0731aefd94741dabb48201edc6827d000008fd7fb72cb977967614ee2d99d6b499f0c35fe
+ languageName: node
+ linkType: hard
+
"clean-stack@npm:^2.0.0":
version: 2.2.0
resolution: "clean-stack@npm:2.2.0"
@@ -2641,6 +2887,16 @@ __metadata:
languageName: node
linkType: hard
+"cli-truncate@npm:^4.0.0":
+ version: 4.0.0
+ resolution: "cli-truncate@npm:4.0.0"
+ dependencies:
+ slice-ansi: "npm:^5.0.0"
+ string-width: "npm:^7.0.0"
+ checksum: 10/d5149175fd25ca985731bdeec46a55ec237475cf74c1a5e103baea696aceb45e372ac4acbaabf1316f06bd62e348123060f8191ffadfeedebd2a70a2a7fb199d
+ languageName: node
+ linkType: hard
+
"cliui@npm:^7.0.2":
version: 7.0.4
resolution: "cliui@npm:7.0.4"
@@ -2670,6 +2926,15 @@ __metadata:
languageName: node
linkType: hard
+"code-excerpt@npm:^4.0.0":
+ version: 4.0.0
+ resolution: "code-excerpt@npm:4.0.0"
+ dependencies:
+ convert-to-spaces: "npm:^2.0.1"
+ checksum: 10/d57137d8f4825879283a828cc02a1115b56858dc54ed06c625c8f67d6685d1becd2fbaa7f0ab19ecca1f5cca03f8c97bbc1f013cab40261e4d3275032e65efe9
+ languageName: node
+ linkType: hard
+
"color-convert@npm:^1.9.0":
version: 1.9.3
resolution: "color-convert@npm:1.9.3"
@@ -2702,6 +2967,15 @@ __metadata:
languageName: node
linkType: hard
+"color-support@npm:^1.1.2":
+ version: 1.1.3
+ resolution: "color-support@npm:1.1.3"
+ bin:
+ color-support: bin.js
+ checksum: 10/4bcfe30eea1498fe1cabc852bbda6c9770f230ea0e4faf4611c5858b1b9e4dde3730ac485e65f54ca182f4c50b626c1bea7c8441ceda47367a54a818c248aa7a
+ languageName: node
+ linkType: hard
+
"combined-stream@npm:^1.0.8":
version: 1.0.8
resolution: "combined-stream@npm:1.0.8"
@@ -2725,6 +2999,13 @@ __metadata:
languageName: node
linkType: hard
+"common-path-prefix@npm:^3.0.0":
+ version: 3.0.0
+ resolution: "common-path-prefix@npm:3.0.0"
+ checksum: 10/09c180e8d8495d42990d617f4d4b7522b5da20f6b236afe310192d401d1da8147a7835ae1ea37797ba0c2238ef3d06f3492151591451df34539fdb4b2630f2b3
+ languageName: node
+ linkType: hard
+
"commondir@npm:^1.0.1":
version: 1.0.1
resolution: "commondir@npm:1.0.1"
@@ -2739,6 +3020,29 @@ __metadata:
languageName: node
linkType: hard
+"concordance@npm:^5.0.4":
+ version: 5.0.4
+ resolution: "concordance@npm:5.0.4"
+ dependencies:
+ date-time: "npm:^3.1.0"
+ esutils: "npm:^2.0.3"
+ fast-diff: "npm:^1.2.0"
+ js-string-escape: "npm:^1.0.1"
+ lodash: "npm:^4.17.15"
+ md5-hex: "npm:^3.0.1"
+ semver: "npm:^7.3.2"
+ well-known-symbols: "npm:^2.0.0"
+ checksum: 10/156bb786746c2f0f821fd8339da2e38f4307e30ad9c078c24e636892a3c98ae5fcabf8812ff4baa54f1fcd4d88e9efe3050279d928abd524f48d551be26814c2
+ languageName: node
+ linkType: hard
+
+"console-control-strings@npm:^1.0.0, console-control-strings@npm:^1.1.0":
+ version: 1.1.0
+ resolution: "console-control-strings@npm:1.1.0"
+ checksum: 10/27b5fa302bc8e9ae9e98c03c66d76ca289ad0c61ce2fe20ab288d288bee875d217512d2edb2363fc83165e88f1c405180cf3f5413a46e51b4fe1a004840c6cdb
+ languageName: node
+ linkType: hard
+
"convert-source-map@npm:^2.0.0":
version: 2.0.0
resolution: "convert-source-map@npm:2.0.0"
@@ -2746,6 +3050,13 @@ __metadata:
languageName: node
linkType: hard
+"convert-to-spaces@npm:^2.0.1":
+ version: 2.0.1
+ resolution: "convert-to-spaces@npm:2.0.1"
+ checksum: 10/bbb324e5916fe9866f65c0ff5f9c1ea933764d0bdb09fccaf59542e40545ed483db6b2339c6d9eb56a11965a58f1a6038f3174f0e2fb7601343c7107ca5e2751
+ languageName: node
+ linkType: hard
+
"cosmiconfig@npm:^7.1.0":
version: 7.1.0
resolution: "cosmiconfig@npm:7.1.0"
@@ -2817,6 +3128,15 @@ __metadata:
languageName: node
linkType: hard
+"currently-unhandled@npm:^0.4.1":
+ version: 0.4.1
+ resolution: "currently-unhandled@npm:0.4.1"
+ dependencies:
+ array-find-index: "npm:^1.0.1"
+ checksum: 10/53fb803e582737bdb5de6b150f0924dd9abf7be606648b4c2871db1c682bf288e248e8066ef10548979732a680cfb6c047294e3877846c2cf2f8d40437d8a741
+ languageName: node
+ linkType: hard
+
"data-urls@npm:^5.0.0":
version: 5.0.0
resolution: "data-urls@npm:5.0.0"
@@ -2827,6 +3147,15 @@ __metadata:
languageName: node
linkType: hard
+"date-time@npm:^3.1.0":
+ version: 3.1.0
+ resolution: "date-time@npm:3.1.0"
+ dependencies:
+ time-zone: "npm:^1.0.0"
+ checksum: 10/f9cfcd1b15dfeabab15c0b9d18eb9e4e2d9d4371713564178d46a8f91ad577a290b5178b80050718d02d9c0cf646f8a875011e12d1ed05871e9f72c72c8a8fe6
+ languageName: node
+ linkType: hard
+
"debug@npm:4, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.4, debug@npm:^4.3.5":
version: 4.3.6
resolution: "debug@npm:4.3.6"
@@ -2890,6 +3219,13 @@ __metadata:
languageName: node
linkType: hard
+"delegates@npm:^1.0.0":
+ version: 1.0.0
+ resolution: "delegates@npm:1.0.0"
+ checksum: 10/a51744d9b53c164ba9c0492471a1a2ffa0b6727451bdc89e31627fdf4adda9d51277cfcbfb20f0a6f08ccb3c436f341df3e92631a3440226d93a8971724771fd
+ languageName: node
+ linkType: hard
+
"depcheck@npm:^1.4.3":
version: 1.4.7
resolution: "depcheck@npm:1.4.7"
@@ -2951,6 +3287,13 @@ __metadata:
languageName: node
linkType: hard
+"detect-libc@npm:^2.0.0":
+ version: 2.0.3
+ resolution: "detect-libc@npm:2.0.3"
+ checksum: 10/b4ea018d623e077bd395f168a9e81db77370dde36a5b01d067f2ad7989924a81d31cb547ff764acb2aa25d50bb7fdde0b0a93bec02212b0cb430621623246d39
+ languageName: node
+ linkType: hard
+
"detect-newline@npm:^4.0.0":
version: 4.0.1
resolution: "detect-newline@npm:4.0.1"
@@ -3035,6 +3378,20 @@ __metadata:
languageName: node
linkType: hard
+"emittery@npm:^1.0.1":
+ version: 1.0.3
+ resolution: "emittery@npm:1.0.3"
+ checksum: 10/5ba4fc3aff76e299e1b3d97ebf22df1b5813f6ae231ba023f7edf9a75c6547dff63fc0445d80291b44044486958ab79a8ca285d3e6fd66f3d6aacaa14d56aa24
+ languageName: node
+ linkType: hard
+
+"emoji-regex@npm:^10.3.0":
+ version: 10.3.0
+ resolution: "emoji-regex@npm:10.3.0"
+ checksum: 10/b9b084ebe904f13bb4b66ee4c29fb41a7a4a1165adcc33c1ce8056c0194b882cc91ebdc782f1a779b5d7ea7375c5064643a7734893d7c657b44c5c6b9d7bf1e7
+ languageName: node
+ linkType: hard
+
"emoji-regex@npm:^8.0.0":
version: 8.0.0
resolution: "emoji-regex@npm:8.0.0"
@@ -3206,6 +3563,13 @@ __metadata:
languageName: node
linkType: hard
+"escape-string-regexp@npm:^2.0.0":
+ version: 2.0.0
+ resolution: "escape-string-regexp@npm:2.0.0"
+ checksum: 10/9f8a2d5743677c16e85c810e3024d54f0c8dea6424fad3c79ef6666e81dd0846f7437f5e729dfcdac8981bc9e5294c39b4580814d114076b8d36318f46ae4395
+ languageName: node
+ linkType: hard
+
"escape-string-regexp@npm:^4.0.0":
version: 4.0.0
resolution: "escape-string-regexp@npm:4.0.0"
@@ -3213,6 +3577,13 @@ __metadata:
languageName: node
linkType: hard
+"escape-string-regexp@npm:^5.0.0":
+ version: 5.0.0
+ resolution: "escape-string-regexp@npm:5.0.0"
+ checksum: 10/20daabe197f3cb198ec28546deebcf24b3dbb1a5a269184381b3116d12f0532e06007f4bc8da25669d6a7f8efb68db0758df4cd981f57bc5b57f521a3e12c59e
+ languageName: node
+ linkType: hard
+
"eslint-compat-utils@npm:^0.5.1":
version: 0.5.1
resolution: "eslint-compat-utils@npm:0.5.1"
@@ -3471,6 +3842,13 @@ __metadata:
languageName: node
linkType: hard
+"estree-walker@npm:2.0.2, estree-walker@npm:^2.0.1, estree-walker@npm:^2.0.2":
+ version: 2.0.2
+ resolution: "estree-walker@npm:2.0.2"
+ checksum: 10/b02109c5d46bc2ed47de4990eef770f7457b1159a229f0999a09224d2b85ffeed2d7679cffcff90aeb4448e94b0168feb5265b209cdec29aad50a3d6e93d21e2
+ languageName: node
+ linkType: hard
+
"estree-walker@npm:^1.0.1":
version: 1.0.1
resolution: "estree-walker@npm:1.0.1"
@@ -3478,13 +3856,6 @@ __metadata:
languageName: node
linkType: hard
-"estree-walker@npm:^2.0.1, estree-walker@npm:^2.0.2":
- version: 2.0.2
- resolution: "estree-walker@npm:2.0.2"
- checksum: 10/b02109c5d46bc2ed47de4990eef770f7457b1159a229f0999a09224d2b85ffeed2d7679cffcff90aeb4448e94b0168feb5265b209cdec29aad50a3d6e93d21e2
- languageName: node
- linkType: hard
-
"estree-walker@npm:^3.0.3":
version: 3.0.3
resolution: "estree-walker@npm:3.0.3"
@@ -3494,7 +3865,7 @@ __metadata:
languageName: node
linkType: hard
-"esutils@npm:^2.0.2":
+"esutils@npm:^2.0.2, esutils@npm:^2.0.3":
version: 2.0.3
resolution: "esutils@npm:2.0.3"
checksum: 10/b23acd24791db11d8f65be5ea58fd9a6ce2df5120ae2da65c16cfc5331ff59d5ac4ef50af66cd4bde238881503ec839928a0135b99a036a9cdfa22d17fd56cdb
@@ -3605,14 +3976,14 @@ __metadata:
languageName: node
linkType: hard
-"fast-diff@npm:^1.1.2":
+"fast-diff@npm:^1.1.2, fast-diff@npm:^1.2.0":
version: 1.3.0
resolution: "fast-diff@npm:1.3.0"
checksum: 10/9e57415bc69cd6efcc720b3b8fe9fdaf42dcfc06f86f0f45378b1fa512598a8aac48aa3928c8751d58e2f01bb4ba4f07e4f3d9bc0d57586d45f1bd1e872c6cde
languageName: node
linkType: hard
-"fast-glob@npm:^3.2.11, fast-glob@npm:^3.2.9, fast-glob@npm:^3.3.0":
+"fast-glob@npm:^3.2.11, fast-glob@npm:^3.2.9, fast-glob@npm:^3.3.0, fast-glob@npm:^3.3.2":
version: 3.3.2
resolution: "fast-glob@npm:3.3.2"
dependencies:
@@ -3673,6 +4044,15 @@ __metadata:
languageName: node
linkType: hard
+"figures@npm:^6.0.1":
+ version: 6.1.0
+ resolution: "figures@npm:6.1.0"
+ dependencies:
+ is-unicode-supported: "npm:^2.0.0"
+ checksum: 10/9822d13630bee8e6a9f2da866713adf13854b07e0bfde042defa8bba32d47a1c0b2afa627ce73837c674cf9a5e3edce7e879ea72cb9ea7960b2390432d8e1167
+ languageName: node
+ linkType: hard
+
"file-entry-cache@npm:^6.0.1":
version: 6.0.1
resolution: "file-entry-cache@npm:6.0.1"
@@ -3682,6 +4062,13 @@ __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"
@@ -3691,6 +4078,13 @@ __metadata:
languageName: node
linkType: hard
+"find-up-simple@npm:^1.0.0":
+ version: 1.0.0
+ resolution: "find-up-simple@npm:1.0.0"
+ checksum: 10/91c3d51c1111b5eb4e6e6d71d21438f6571a37a69dc288d4222b98996756e2f472fa5393a4dddb5e1a84929405d87e86f4bdce798ba84ee513b79854960ec140
+ languageName: node
+ linkType: hard
+
"find-up@npm:^5.0.0":
version: 5.0.0
resolution: "find-up@npm:5.0.0"
@@ -3814,6 +4208,23 @@ __metadata:
languageName: node
linkType: hard
+"gauge@npm:^3.0.0":
+ version: 3.0.2
+ resolution: "gauge@npm:3.0.2"
+ dependencies:
+ aproba: "npm:^1.0.3 || ^2.0.0"
+ color-support: "npm:^1.1.2"
+ console-control-strings: "npm:^1.0.0"
+ has-unicode: "npm:^2.0.1"
+ object-assign: "npm:^4.1.1"
+ signal-exit: "npm:^3.0.0"
+ string-width: "npm:^4.2.3"
+ strip-ansi: "npm:^6.0.1"
+ wide-align: "npm:^1.1.2"
+ checksum: 10/46df086451672a5fecd58f7ec86da74542c795f8e00153fbef2884286ce0e86653c3eb23be2d0abb0c4a82b9b2a9dec3b09b6a1cf31c28085fa0376599a26589
+ languageName: node
+ linkType: hard
+
"gensync@npm:^1.0.0-beta.2":
version: 1.0.0-beta.2
resolution: "gensync@npm:1.0.0-beta.2"
@@ -3828,6 +4239,13 @@ __metadata:
languageName: node
linkType: hard
+"get-east-asian-width@npm:^1.0.0":
+ version: 1.2.0
+ resolution: "get-east-asian-width@npm:1.2.0"
+ checksum: 10/c9b280e7c7c67fb89fa17e867c4a9d1c9f1321aba2a9ee27bff37fb6ca9552bccda328c70a80c1f83a0e39ba1b7e3427e60f47823402d19e7a41b83417ec047a
+ languageName: node
+ linkType: hard
+
"get-func-name@npm:^2.0.1":
version: 2.0.2
resolution: "get-func-name@npm:2.0.2"
@@ -4003,6 +4421,20 @@ __metadata:
languageName: node
linkType: hard
+"globby@npm:^14.0.0":
+ version: 14.0.2
+ resolution: "globby@npm:14.0.2"
+ dependencies:
+ "@sindresorhus/merge-streams": "npm:^2.1.0"
+ fast-glob: "npm:^3.3.2"
+ ignore: "npm:^5.2.4"
+ path-type: "npm:^5.0.0"
+ slash: "npm:^5.1.0"
+ unicorn-magic: "npm:^0.1.0"
+ checksum: 10/67660da70fc1223f7170c1a62ba6c373385e9e39765d952b6518606dec15ed8c7958e9dae6ba5752a31dbc1e9126f146938b830ad680fe794141734ffc3fbb75
+ languageName: node
+ linkType: hard
+
"globrex@npm:^0.1.2":
version: 0.1.2
resolution: "globrex@npm:0.1.2"
@@ -4010,7 +4442,7 @@ __metadata:
languageName: node
linkType: hard
-"graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.6":
+"graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.6, graceful-fs@npm:^4.2.9":
version: 4.2.11
resolution: "graceful-fs@npm:4.2.11"
checksum: 10/bf152d0ed1dc159239db1ba1f74fdbc40cb02f626770dcd5815c427ce0688c2635a06ed69af364396da4636d0408fcf7d4afdf7881724c3307e46aff30ca49e2
@@ -4038,6 +4470,13 @@ __metadata:
languageName: node
linkType: hard
+"has-unicode@npm:^2.0.1":
+ version: 2.0.1
+ resolution: "has-unicode@npm:2.0.1"
+ checksum: 10/041b4293ad6bf391e21c5d85ed03f412506d6623786b801c4ab39e4e6ca54993f13201bceb544d92963f9e0024e6e7fbf0cb1d84c9d6b31cb9c79c8c990d13d8
+ languageName: node
+ linkType: hard
+
"hasown@npm:^2.0.2":
version: 2.0.2
resolution: "hasown@npm:2.0.2"
@@ -4117,6 +4556,16 @@ __metadata:
languageName: node
linkType: hard
+"https-proxy-agent@npm:^5.0.0":
+ version: 5.0.1
+ resolution: "https-proxy-agent@npm:5.0.1"
+ dependencies:
+ agent-base: "npm:6"
+ debug: "npm:4"
+ checksum: 10/f0dce7bdcac5e8eaa0be3c7368bb8836ed010fb5b6349ffb412b172a203efe8f807d9a6681319105ea1b6901e1972c7b5ea899672a7b9aad58309f766dcbe0df
+ languageName: node
+ linkType: hard
+
"https-proxy-agent@npm:^7.0.1, https-proxy-agent@npm:^7.0.5":
version: 7.0.5
resolution: "https-proxy-agent@npm:7.0.5"
@@ -4166,6 +4615,13 @@ __metadata:
languageName: node
linkType: hard
+"ignore-by-default@npm:^2.1.0":
+ version: 2.1.0
+ resolution: "ignore-by-default@npm:2.1.0"
+ checksum: 10/2b2df4622b6a07a3e91893987be8f060dc553f7736b67e72aa2312041c450a6fa8371733d03c42f45a02e47ec824e961c2fba63a3d94fc59cbd669220a5b0d7a
+ languageName: node
+ linkType: hard
+
"ignore@npm:^5.2.0, ignore@npm:^5.2.4, ignore@npm:^5.3.1":
version: 5.3.2
resolution: "ignore@npm:5.3.2"
@@ -4204,6 +4660,13 @@ __metadata:
languageName: node
linkType: hard
+"indent-string@npm:^5.0.0":
+ version: 5.0.0
+ resolution: "indent-string@npm:5.0.0"
+ checksum: 10/e466c27b6373440e6d84fbc19e750219ce25865cb82d578e41a6053d727e5520dc5725217d6eb1cc76005a1bb1696a0f106d84ce7ebda3033b963a38583fb3b3
+ languageName: node
+ linkType: hard
+
"inflight@npm:^1.0.4":
version: 1.0.6
resolution: "inflight@npm:1.0.6"
@@ -4245,6 +4708,13 @@ __metadata:
languageName: node
linkType: hard
+"irregular-plurals@npm:^3.3.0":
+ version: 3.5.0
+ resolution: "irregular-plurals@npm:3.5.0"
+ checksum: 10/27f04e66402264b78251c03973dd4866aba58b851579b2f1870f3610494a163c20c5161a3eae8fdd49a61a5379ee611460a1781aadc891ce0203bcd7a52e4850
+ languageName: node
+ linkType: hard
+
"is-arrayish@npm:^0.2.1":
version: 0.2.1
resolution: "is-arrayish@npm:0.2.1"
@@ -4293,6 +4763,13 @@ __metadata:
languageName: node
linkType: hard
+"is-fullwidth-code-point@npm:^4.0.0":
+ version: 4.0.0
+ resolution: "is-fullwidth-code-point@npm:4.0.0"
+ checksum: 10/8ae89bf5057bdf4f57b346fb6c55e9c3dd2549983d54191d722d5c739397a903012cc41a04ee3403fd872e811243ef91a7c5196da7b5841dc6b6aae31a264a8d
+ languageName: node
+ linkType: hard
+
"is-glob@npm:^4.0.0, is-glob@npm:^4.0.1, is-glob@npm:^4.0.3, is-glob@npm:~4.0.1":
version: 4.0.3
resolution: "is-glob@npm:4.0.3"
@@ -4344,6 +4821,13 @@ __metadata:
languageName: node
linkType: hard
+"is-plain-object@npm:^5.0.0":
+ version: 5.0.0
+ resolution: "is-plain-object@npm:5.0.0"
+ checksum: 10/e32d27061eef62c0847d303125440a38660517e586f2f3db7c9d179ae5b6674ab0f469d519b2e25c147a1a3bc87156d0d5f4d8821e0ce4a9ee7fe1fcf11ce45c
+ languageName: node
+ linkType: hard
+
"is-potential-custom-element-name@npm:^1.0.1":
version: 1.0.1
resolution: "is-potential-custom-element-name@npm:1.0.1"
@@ -4351,6 +4835,13 @@ __metadata:
languageName: node
linkType: hard
+"is-promise@npm:^4.0.0":
+ version: 4.0.0
+ resolution: "is-promise@npm:4.0.0"
+ checksum: 10/0b46517ad47b00b6358fd6553c83ec1f6ba9acd7ffb3d30a0bf519c5c69e7147c132430452351b8a9fc198f8dd6c4f76f8e6f5a7f100f8c77d57d9e0f4261a8a
+ languageName: node
+ linkType: hard
+
"is-reference@npm:^1.2.1":
version: 1.2.1
resolution: "is-reference@npm:1.2.1"
@@ -4374,6 +4865,13 @@ __metadata:
languageName: node
linkType: hard
+"is-unicode-supported@npm:^2.0.0":
+ version: 2.0.0
+ resolution: "is-unicode-supported@npm:2.0.0"
+ checksum: 10/000b80639dedaf59a385f1c0a57f97a4d1435e0723716f24cc19ad94253a7a0a9f838bdc9ac49b10a29ac93b01f52ae9b2ed358a8876caf1eb74d73b4ede92b2
+ languageName: node
+ linkType: hard
+
"is-windows@npm:^1.0.1":
version: 1.0.2
resolution: "is-windows@npm:1.0.2"
@@ -4467,6 +4965,13 @@ __metadata:
languageName: node
linkType: hard
+"js-string-escape@npm:^1.0.1":
+ version: 1.0.1
+ resolution: "js-string-escape@npm:1.0.1"
+ checksum: 10/f11e0991bf57e0c183b55c547acec85bd2445f043efc9ea5aa68b41bd2a3e7d3ce94636cb233ae0d84064ba4c1a505d32e969813c5b13f81e7d4be12c59256fe
+ languageName: node
+ linkType: hard
+
"js-tokens@npm:^4.0.0":
version: 4.0.0
resolution: "js-tokens@npm:4.0.0"
@@ -4651,6 +5156,13 @@ __metadata:
languageName: node
linkType: hard
+"load-json-file@npm:^7.0.1":
+ version: 7.0.1
+ resolution: "load-json-file@npm:7.0.1"
+ checksum: 10/a560288da6891778321ef993e4bdbdf05374a4f3a3aeedd5ba6b64672798c830d748cfc59a2ec9891a3db30e78b3d04172e0dcb0d4828168289a393147ca0e74
+ languageName: node
+ linkType: hard
+
"locate-path@npm:^6.0.0":
version: 6.0.0
resolution: "locate-path@npm:6.0.0"
@@ -4667,7 +5179,7 @@ __metadata:
languageName: node
linkType: hard
-"lodash@npm:^4.17.21":
+"lodash@npm:^4.17.15, lodash@npm:^4.17.21":
version: 4.17.21
resolution: "lodash@npm:4.17.21"
checksum: 10/c08619c038846ea6ac754abd6dd29d2568aa705feb69339e836dfa8d8b09abbb2f859371e86863eda41848221f9af43714491467b5b0299122431e202bb0c532
@@ -4749,6 +5261,15 @@ __metadata:
languageName: node
linkType: hard
+"make-dir@npm:^3.1.0":
+ version: 3.1.0
+ resolution: "make-dir@npm:3.1.0"
+ dependencies:
+ semver: "npm:^6.0.0"
+ checksum: 10/484200020ab5a1fdf12f393fe5f385fc8e4378824c940fba1729dcd198ae4ff24867bc7a5646331e50cead8abff5d9270c456314386e629acec6dff4b8016b78
+ languageName: node
+ linkType: hard
+
"make-dir@npm:^4.0.0":
version: 4.0.0
resolution: "make-dir@npm:4.0.0"
@@ -4821,6 +5342,33 @@ __metadata:
languageName: node
linkType: hard
+"matcher@npm:^5.0.0":
+ version: 5.0.0
+ resolution: "matcher@npm:5.0.0"
+ dependencies:
+ escape-string-regexp: "npm:^5.0.0"
+ checksum: 10/28f191c2d23fee0f6f32fd0181d9fe173b0ab815a919edba55605438a2f9fa40372e002574a1b17add981b0a8669c75bc6194318d065ed2dceffd8b160c38118
+ languageName: node
+ linkType: hard
+
+"md5-hex@npm:^3.0.1":
+ version: 3.0.1
+ resolution: "md5-hex@npm:3.0.1"
+ dependencies:
+ blueimp-md5: "npm:^2.10.0"
+ checksum: 10/4af5252998a525a01fc899b0df222a505ca6400f9de58d2fed26473ac91919331436a84cc5bf376a5fe1b1b45d3057a214ddaf86668b608e9be26221ca1585cc
+ languageName: node
+ linkType: hard
+
+"memoize@npm:^10.0.0":
+ version: 10.0.0
+ resolution: "memoize@npm:10.0.0"
+ dependencies:
+ mimic-function: "npm:^5.0.0"
+ checksum: 10/2239451cc0b26f9e99e6107c2a24f069b8ccd98877b4fe4f28fe3a1e977521fe23a53fa7fb5e7ad485577e0f30ab61aed97cf29facbc701b88facf27b8f12ce3
+ languageName: node
+ linkType: hard
+
"merge-stream@npm:^2.0.0":
version: 2.0.0
resolution: "merge-stream@npm:2.0.0"
@@ -4842,7 +5390,7 @@ __metadata:
languageName: node
linkType: hard
-"micromatch@npm:^4.0.4":
+"micromatch@npm:^4.0.2, micromatch@npm:^4.0.4":
version: 4.0.7
resolution: "micromatch@npm:4.0.7"
dependencies:
@@ -4882,6 +5430,13 @@ __metadata:
languageName: node
linkType: hard
+"mimic-function@npm:^5.0.0":
+ version: 5.0.1
+ resolution: "mimic-function@npm:5.0.1"
+ checksum: 10/eb5893c99e902ccebbc267c6c6b83092966af84682957f79313311edb95e8bb5f39fb048d77132b700474d1c86d90ccc211e99bae0935447a4834eb4c882982c
+ languageName: node
+ linkType: hard
+
"minimatch@npm:^10.0.0":
version: 10.0.1
resolution: "minimatch@npm:10.0.1"
@@ -5018,7 +5573,7 @@ __metadata:
languageName: node
linkType: hard
-"ms@npm:^2.1.1":
+"ms@npm:^2.1.1, ms@npm:^2.1.3":
version: 2.1.3
resolution: "ms@npm:2.1.3"
checksum: 10/aa92de608021b242401676e35cfa5aa42dd70cbdc082b916da7fb925c542173e36bce97ea3e804923fe92c0ad991434e4a38327e15a1b5b5f945d66df615ae6d
@@ -5084,6 +5639,31 @@ __metadata:
languageName: node
linkType: hard
+"node-fetch@npm:^2.6.7":
+ version: 2.7.0
+ resolution: "node-fetch@npm:2.7.0"
+ dependencies:
+ whatwg-url: "npm:^5.0.0"
+ peerDependencies:
+ encoding: ^0.1.0
+ peerDependenciesMeta:
+ encoding:
+ optional: true
+ checksum: 10/b24f8a3dc937f388192e59bcf9d0857d7b6940a2496f328381641cb616efccc9866e89ec43f2ec956bbd6c3d3ee05524ce77fe7b29ccd34692b3a16f237d6676
+ languageName: node
+ linkType: hard
+
+"node-gyp-build@npm:^4.2.2":
+ version: 4.8.1
+ resolution: "node-gyp-build@npm:4.8.1"
+ bin:
+ node-gyp-build: bin.js
+ node-gyp-build-optional: optional.js
+ node-gyp-build-test: build-test.js
+ checksum: 10/b9297770f96a92e5f2b854f3fd5e4bd418df81d7785a81ab60cec5cf2e5e72dc2c3319808978adc572cfa3885e6b12338cb5f4034bed2cab35f0d76a4b75ccdf
+ languageName: node
+ linkType: hard
+
"node-gyp@npm:^10.0.0, node-gyp@npm:latest":
version: 10.2.0
resolution: "node-gyp@npm:10.2.0"
@@ -5111,6 +5691,24 @@ __metadata:
languageName: node
linkType: hard
+"nofilter@npm:^3.1.0":
+ version: 3.1.0
+ resolution: "nofilter@npm:3.1.0"
+ checksum: 10/f63d87231dfda4b783db17d75b15aac948f78e65f4f1043096ef441147f6667ff74cd4b3f57ada5dbe240be282d3e9838558ac863a66cb04ef25fff7b2b4be4e
+ languageName: node
+ linkType: hard
+
+"nopt@npm:^5.0.0":
+ version: 5.0.0
+ resolution: "nopt@npm:5.0.0"
+ dependencies:
+ abbrev: "npm:1"
+ bin:
+ nopt: bin/nopt.js
+ checksum: 10/00f9bb2d16449469ba8ffcf9b8f0eae6bae285ec74b135fec533e5883563d2400c0cd70902d0a7759e47ac031ccf206ace4e86556da08ed3f1c66dda206e9ccd
+ languageName: node
+ linkType: hard
+
"nopt@npm:^7.0.0":
version: 7.2.1
resolution: "nopt@npm:7.2.1"
@@ -5198,6 +5796,18 @@ __metadata:
languageName: node
linkType: hard
+"npmlog@npm:^5.0.1":
+ version: 5.0.1
+ resolution: "npmlog@npm:5.0.1"
+ dependencies:
+ are-we-there-yet: "npm:^2.0.0"
+ console-control-strings: "npm:^1.1.0"
+ gauge: "npm:^3.0.0"
+ set-blocking: "npm:^2.0.0"
+ checksum: 10/f42c7b9584cdd26a13c41a21930b6f5912896b6419ab15be88cc5721fc792f1c3dd30eb602b26ae08575694628ba70afdcf3675d86e4f450fc544757e52726ec
+ languageName: node
+ linkType: hard
+
"nth-check@npm:^2.0.1":
version: 2.1.1
resolution: "nth-check@npm:2.1.1"
@@ -5214,7 +5824,7 @@ __metadata:
languageName: node
linkType: hard
-"object-assign@npm:^4.0.1":
+"object-assign@npm:^4.0.1, object-assign@npm:^4.1.1":
version: 4.1.1
resolution: "object-assign@npm:4.1.1"
checksum: 10/fcc6e4ea8c7fe48abfbb552578b1c53e0d194086e2e6bbbf59e0a536381a292f39943c6e9628af05b5528aa5e3318bb30d6b2e53cadaf5b8fe9e12c4b69af23f
@@ -5289,6 +5899,23 @@ __metadata:
languageName: node
linkType: hard
+"p-map@npm:^7.0.1":
+ version: 7.0.2
+ resolution: "p-map@npm:7.0.2"
+ checksum: 10/b4a590038b991c17b9c1484aa8c24cb9d3aa8a6167d02b9f9459c9200c7d392202a860c95b6dcd190d51f5f083ed256b32f9cb5976785022b0111bab853ec58b
+ languageName: node
+ linkType: hard
+
+"package-config@npm:^5.0.0":
+ version: 5.0.0
+ resolution: "package-config@npm:5.0.0"
+ dependencies:
+ find-up-simple: "npm:^1.0.0"
+ load-json-file: "npm:^7.0.1"
+ checksum: 10/dfff5264c51a0dad7af9a55b02e3b8b6e457075e9c4f02d0ffacfeee9af4dd5db2b566dae41486412161292b8741483cd89d5a8404a5742fc54d718dadacac4a
+ languageName: node
+ linkType: hard
+
"package-json-from-dist@npm:^1.0.0":
version: 1.0.0
resolution: "package-json-from-dist@npm:1.0.0"
@@ -5317,6 +5944,13 @@ __metadata:
languageName: node
linkType: hard
+"parse-ms@npm:^4.0.0":
+ version: 4.0.0
+ resolution: "parse-ms@npm:4.0.0"
+ checksum: 10/673c801d9f957ff79962d71ed5a24850163f4181a90dd30c4e3666b3a804f53b77f1f0556792e8b2adbb5d58757907d1aa51d7d7dc75997c2a56d72937cbc8b7
+ languageName: node
+ linkType: hard
+
"parse-passwd@npm:^1.0.0":
version: 1.0.0
resolution: "parse-passwd@npm:1.0.0"
@@ -5437,6 +6071,13 @@ __metadata:
languageName: node
linkType: hard
+"path-type@npm:^5.0.0":
+ version: 5.0.0
+ resolution: "path-type@npm:5.0.0"
+ checksum: 10/15ec24050e8932c2c98d085b72cfa0d6b4eeb4cbde151a0a05726d8afae85784fc5544f733d8dfc68536587d5143d29c0bd793623fad03d7e61cc00067291cd5
+ languageName: node
+ linkType: hard
+
"pathe@npm:^1.1.2":
version: 1.1.2
resolution: "pathe@npm:1.1.2"
@@ -5465,6 +6106,13 @@ __metadata:
languageName: node
linkType: hard
+"picomatch@npm:^3.0.1":
+ version: 3.0.1
+ resolution: "picomatch@npm:3.0.1"
+ checksum: 10/65ac837fedbd0640586f7c214f6c7481e1e12f41cdcd22a95eb6a2914d1773707ed0f0b5bd2d1e39b5ec7860b43a4c9150152332a3884cd8dd1d419b2a2fa5b5
+ languageName: node
+ linkType: hard
+
"please-upgrade-node@npm:^3.2.0":
version: 3.2.0
resolution: "please-upgrade-node@npm:3.2.0"
@@ -5474,6 +6122,15 @@ __metadata:
languageName: node
linkType: hard
+"plur@npm:^5.1.0":
+ version: 5.1.0
+ resolution: "plur@npm:5.1.0"
+ dependencies:
+ irregular-plurals: "npm:^3.3.0"
+ checksum: 10/57e400dc4b926768fb0abab7f8688fe17e85673712134546e7beaaee188bae7e0504976e847d7e41d0d6103ff2fd61204095f03c2a45de19a8bad15aecb45cc1
+ languageName: node
+ linkType: hard
+
"pony-cause@npm:^2.1.10":
version: 2.1.11
resolution: "pony-cause@npm:2.1.11"
@@ -5532,6 +6189,15 @@ __metadata:
languageName: node
linkType: hard
+"pretty-ms@npm:^9.0.0":
+ version: 9.1.0
+ resolution: "pretty-ms@npm:9.1.0"
+ dependencies:
+ parse-ms: "npm:^4.0.0"
+ checksum: 10/3622a8999e4b2aa05ff64bf48c7e58143b3ede6e3434f8ce5588def90ebcf6af98edf79532344c4c9e14d5ad25deb3f0f5ca9f9b91e5d2d1ac26dad9cf428fc0
+ languageName: node
+ linkType: hard
+
"proc-log@npm:^4.0.0, proc-log@npm:^4.1.0, proc-log@npm:^4.2.0":
version: 4.2.0
resolution: "proc-log@npm:4.2.0"
@@ -5605,7 +6271,7 @@ __metadata:
languageName: node
linkType: hard
-"readable-stream@npm:^3.6.2":
+"readable-stream@npm:^3.6.0, readable-stream@npm:^3.6.2":
version: 3.6.2
resolution: "readable-stream@npm:3.6.2"
dependencies:
@@ -5659,6 +6325,15 @@ __metadata:
languageName: node
linkType: hard
+"resolve-cwd@npm:^3.0.0":
+ version: 3.0.0
+ resolution: "resolve-cwd@npm:3.0.0"
+ dependencies:
+ resolve-from: "npm:^5.0.0"
+ checksum: 10/546e0816012d65778e580ad62b29e975a642989108d9a3c5beabfb2304192fa3c9f9146fbdfe213563c6ff51975ae41bac1d3c6e047dd9572c94863a057b4d81
+ languageName: node
+ linkType: hard
+
"resolve-dir@npm:^1.0.0, resolve-dir@npm:^1.0.1":
version: 1.0.1
resolution: "resolve-dir@npm:1.0.1"
@@ -5890,7 +6565,7 @@ __metadata:
languageName: node
linkType: hard
-"semver@npm:^6.3.1":
+"semver@npm:^6.0.0, semver@npm:^6.3.1":
version: 6.3.1
resolution: "semver@npm:6.3.1"
bin:
@@ -5899,7 +6574,7 @@ __metadata:
languageName: node
linkType: hard
-"semver@npm:^7.0.0, semver@npm:^7.1.1, semver@npm:^7.3.5, semver@npm:^7.5.3, semver@npm:^7.5.4, semver@npm:^7.6.0":
+"semver@npm:^7.0.0, semver@npm:^7.1.1, semver@npm:^7.3.2, semver@npm:^7.3.5, semver@npm:^7.5.3, semver@npm:^7.5.4, semver@npm:^7.6.0":
version: 7.6.3
resolution: "semver@npm:7.6.3"
bin:
@@ -5908,6 +6583,15 @@ __metadata:
languageName: node
linkType: hard
+"serialize-error@npm:^7.0.1":
+ version: 7.0.1
+ resolution: "serialize-error@npm:7.0.1"
+ dependencies:
+ type-fest: "npm:^0.13.1"
+ checksum: 10/e0aba4dca2fc9fe74ae1baf38dbd99190e1945445a241ba646290f2176cdb2032281a76443b02ccf0caf30da5657d510746506368889a593b9835a497fc0732e
+ languageName: node
+ linkType: hard
+
"ses@npm:^1.1.0, ses@npm:^1.5.0, ses@npm:^1.7.0":
version: 1.7.0
resolution: "ses@npm:1.7.0"
@@ -5917,6 +6601,13 @@ __metadata:
languageName: node
linkType: hard
+"set-blocking@npm:^2.0.0":
+ version: 2.0.0
+ resolution: "set-blocking@npm:2.0.0"
+ checksum: 10/8980ebf7ae9eb945bb036b6e283c547ee783a1ad557a82babf758a065e2fb6ea337fd82cac30dd565c1e606e423f30024a19fff7afbf4977d784720c4026a8ef
+ languageName: node
+ linkType: hard
+
"shebang-command@npm:^2.0.0":
version: 2.0.0
resolution: "shebang-command@npm:2.0.0"
@@ -5952,7 +6643,7 @@ __metadata:
languageName: node
linkType: hard
-"signal-exit@npm:^3.0.3":
+"signal-exit@npm:^3.0.0, signal-exit@npm:^3.0.3":
version: 3.0.7
resolution: "signal-exit@npm:3.0.7"
checksum: 10/a2f098f247adc367dffc27845853e9959b9e88b01cb301658cfe4194352d8d2bb32e18467c786a7fe15f1d44b233ea35633d076d5e737870b7139949d1ab6318
@@ -5989,6 +6680,23 @@ __metadata:
languageName: node
linkType: hard
+"slash@npm:^5.1.0":
+ version: 5.1.0
+ resolution: "slash@npm:5.1.0"
+ checksum: 10/2c41ec6fb1414cd9bba0fa6b1dd00e8be739e3fe85d079c69d4b09ca5f2f86eafd18d9ce611c0c0f686428638a36c272a6ac14799146a8295f259c10cc45cde4
+ languageName: node
+ linkType: hard
+
+"slice-ansi@npm:^5.0.0":
+ version: 5.0.0
+ resolution: "slice-ansi@npm:5.0.0"
+ dependencies:
+ ansi-styles: "npm:^6.0.0"
+ is-fullwidth-code-point: "npm:^4.0.0"
+ checksum: 10/7e600a2a55e333a21ef5214b987c8358fe28bfb03c2867ff2cbf919d62143d1812ac27b4297a077fdaf27a03da3678e49551c93e35f9498a3d90221908a1180e
+ languageName: node
+ linkType: hard
+
"smart-buffer@npm:^4.2.0":
version: 4.2.0
resolution: "smart-buffer@npm:4.2.0"
@@ -6137,6 +6845,15 @@ __metadata:
languageName: node
linkType: hard
+"stack-utils@npm:^2.0.6":
+ version: 2.0.6
+ resolution: "stack-utils@npm:2.0.6"
+ dependencies:
+ escape-string-regexp: "npm:^2.0.0"
+ checksum: 10/cdc988acbc99075b4b036ac6014e5f1e9afa7e564482b687da6384eee6a1909d7eaffde85b0a17ffbe186c5247faf6c2b7544e802109f63b72c7be69b13151bb
+ languageName: node
+ linkType: hard
+
"stackback@npm:0.0.2":
version: 0.0.2
resolution: "stackback@npm:0.0.2"
@@ -6151,7 +6868,7 @@ __metadata:
languageName: node
linkType: hard
-"string-width-cjs@npm:string-width@^4.2.0, string-width@npm:^4.1.0, string-width@npm:^4.2.0, string-width@npm:^4.2.3":
+"string-width-cjs@npm:string-width@^4.2.0, string-width@npm:^1.0.2 || 2 || 3 || 4, string-width@npm:^4.1.0, string-width@npm:^4.2.0, string-width@npm:^4.2.3":
version: 4.2.3
resolution: "string-width@npm:4.2.3"
dependencies:
@@ -6173,6 +6890,17 @@ __metadata:
languageName: node
linkType: hard
+"string-width@npm:^7.0.0":
+ version: 7.2.0
+ resolution: "string-width@npm:7.2.0"
+ dependencies:
+ emoji-regex: "npm:^10.3.0"
+ get-east-asian-width: "npm:^1.0.0"
+ strip-ansi: "npm:^7.1.0"
+ checksum: 10/42f9e82f61314904a81393f6ef75b832c39f39761797250de68c041d8ba4df2ef80db49ab6cd3a292923a6f0f409b8c9980d120f7d32c820b4a8a84a2598a295
+ languageName: node
+ linkType: hard
+
"string_decoder@npm:^1.1.1, string_decoder@npm:^1.3.0":
version: 1.3.0
resolution: "string_decoder@npm:1.3.0"
@@ -6191,7 +6919,7 @@ __metadata:
languageName: node
linkType: hard
-"strip-ansi@npm:^7.0.1":
+"strip-ansi@npm:^7.0.1, strip-ansi@npm:^7.1.0":
version: 7.1.0
resolution: "strip-ansi@npm:7.1.0"
dependencies:
@@ -6237,6 +6965,18 @@ __metadata:
languageName: node
linkType: hard
+"supertap@npm:^3.0.1":
+ version: 3.0.1
+ resolution: "supertap@npm:3.0.1"
+ dependencies:
+ indent-string: "npm:^5.0.0"
+ js-yaml: "npm:^3.14.1"
+ serialize-error: "npm:^7.0.1"
+ strip-ansi: "npm:^7.0.1"
+ checksum: 10/2074334f793eef87a960b2dbee7e5106a9002ba83b2df507df6fe70b0014430e54f145e5ef6e9de507d413c2aadbf569b9f4c1dd600725ea295b9dec8bd6aaa3
+ languageName: node
+ linkType: hard
+
"supports-color@npm:^5.3.0":
version: 5.5.0
resolution: "supports-color@npm:5.5.0"
@@ -6303,6 +7043,13 @@ __metadata:
languageName: node
linkType: hard
+"temp-dir@npm:^3.0.0":
+ version: 3.0.0
+ resolution: "temp-dir@npm:3.0.0"
+ checksum: 10/577211e995d1d584dd60f1469351d45e8a5b4524e4a9e42d3bdd12cfde1d0bb8f5898311bef24e02aaafb69514c1feb58c7b4c33dcec7129da3b0861a4ca935b
+ languageName: node
+ linkType: hard
+
"test-exclude@npm:^7.0.1":
version: 7.0.1
resolution: "test-exclude@npm:7.0.1"
@@ -6339,6 +7086,13 @@ __metadata:
languageName: node
linkType: hard
+"time-zone@npm:^1.0.0":
+ version: 1.0.0
+ resolution: "time-zone@npm:1.0.0"
+ checksum: 10/e46f5a69b8c236dcd8e91e29d40d4e7a3495ed4f59888c3f84ce1d9678e20461421a6ba41233509d47dd94bc18f1a4377764838b21b584663f942b3426dcbce8
+ languageName: node
+ linkType: hard
+
"tinybench@npm:^2.8.0":
version: 2.9.0
resolution: "tinybench@npm:2.9.0"
@@ -6404,6 +7158,13 @@ __metadata:
languageName: node
linkType: hard
+"tr46@npm:~0.0.3":
+ version: 0.0.3
+ resolution: "tr46@npm:0.0.3"
+ checksum: 10/8f1f5aa6cb232f9e1bdc86f485f916b7aa38caee8a778b378ffec0b70d9307873f253f5cbadbe2955ece2ac5c83d0dc14a77513166ccd0a0c7fe197e21396695
+ languageName: node
+ linkType: hard
+
"ts-api-utils@npm:^1.3.0":
version: 1.3.0
resolution: "ts-api-utils@npm:1.3.0"
@@ -6450,6 +7211,13 @@ __metadata:
languageName: node
linkType: hard
+"type-fest@npm:^0.13.1":
+ version: 0.13.1
+ resolution: "type-fest@npm:0.13.1"
+ checksum: 10/11e9476dc85bf97a71f6844fb67ba8e64a4c7e445724c0f3bd37eb2ddf4bc97c1dc9337bd880b28bce158de1c0cb275c2d03259815a5bf64986727197126ab56
+ languageName: node
+ linkType: hard
+
"type-fest@npm:^0.20.2":
version: 0.20.2
resolution: "type-fest@npm:0.20.2"
@@ -6550,6 +7318,13 @@ __metadata:
languageName: node
linkType: hard
+"unicorn-magic@npm:^0.1.0":
+ version: 0.1.0
+ resolution: "unicorn-magic@npm:0.1.0"
+ checksum: 10/9b4d0e9809807823dc91d0920a4a4c0cff2de3ebc54ee87ac1ee9bc75eafd609b09d1f14495e0173aef26e01118706196b6ab06a75fe0841028b3983a8af313f
+ languageName: node
+ linkType: hard
+
"unique-filename@npm:^3.0.0":
version: 3.0.0
resolution: "unique-filename@npm:3.0.0"
@@ -6815,6 +7590,13 @@ __metadata:
languageName: node
linkType: hard
+"webidl-conversions@npm:^3.0.0":
+ version: 3.0.1
+ resolution: "webidl-conversions@npm:3.0.1"
+ checksum: 10/b65b9f8d6854572a84a5c69615152b63371395f0c5dcd6729c45789052296df54314db2bc3e977df41705eacb8bc79c247cee139a63fa695192f95816ed528ad
+ languageName: node
+ linkType: hard
+
"webidl-conversions@npm:^7.0.0":
version: 7.0.0
resolution: "webidl-conversions@npm:7.0.0"
@@ -6822,6 +7604,13 @@ __metadata:
languageName: node
linkType: hard
+"well-known-symbols@npm:^2.0.0":
+ version: 2.0.0
+ resolution: "well-known-symbols@npm:2.0.0"
+ checksum: 10/4f54bbc3012371cb4d228f436891b8e7536d34ac61a57541890257e96788608e096231e0121ac24d08ef2f908b3eb2dc0adba35023eaeb2a7df655da91415402
+ languageName: node
+ linkType: hard
+
"whatwg-encoding@npm:^3.1.1":
version: 3.1.1
resolution: "whatwg-encoding@npm:3.1.1"
@@ -6848,6 +7637,16 @@ __metadata:
languageName: node
linkType: hard
+"whatwg-url@npm:^5.0.0":
+ version: 5.0.0
+ resolution: "whatwg-url@npm:5.0.0"
+ dependencies:
+ tr46: "npm:~0.0.3"
+ webidl-conversions: "npm:^3.0.0"
+ checksum: 10/f95adbc1e80820828b45cc671d97da7cd5e4ef9deb426c31bcd5ab00dc7103042291613b3ef3caec0a2335ed09e0d5ed026c940755dbb6d404e2b27f940fdf07
+ languageName: node
+ linkType: hard
+
"which@npm:^1.2.14":
version: 1.3.1
resolution: "which@npm:1.3.1"
@@ -6893,6 +7692,15 @@ __metadata:
languageName: node
linkType: hard
+"wide-align@npm:^1.1.2":
+ version: 1.1.5
+ resolution: "wide-align@npm:1.1.5"
+ dependencies:
+ string-width: "npm:^1.0.2 || 2 || 3 || 4"
+ checksum: 10/d5f8027b9a8255a493a94e4ec1b74a27bff6679d5ffe29316a3215e4712945c84ef73ca4045c7e20ae7d0c72f5f57f296e04a4928e773d4276a2f1222e4c2e99
+ languageName: node
+ linkType: hard
+
"word-wrap@npm:^1.2.5":
version: 1.2.5
resolution: "word-wrap@npm:1.2.5"
@@ -6929,7 +7737,7 @@ __metadata:
languageName: node
linkType: hard
-"write-file-atomic@npm:^5.0.0":
+"write-file-atomic@npm:^5.0.0, write-file-atomic@npm:^5.0.1":
version: 5.0.1
resolution: "write-file-atomic@npm:5.0.1"
dependencies:
From b9d89ea88028fd89aa65abc4bf1b328e95e77e93 Mon Sep 17 00:00:00 2001
From: grypez <143971198+grypez@users.noreply.github.com>
Date: Tue, 20 Aug 2024 23:48:07 -0400
Subject: [PATCH 03/10] test(shims): Add minimal endoify shim tests
---
packages/shims/src/endoify-shimmed.test.js | 10 ++++++++++
packages/shims/src/endoify-unshimmed.test.js | 9 +++++++++
2 files changed, 19 insertions(+)
create mode 100644 packages/shims/src/endoify-shimmed.test.js
create mode 100644 packages/shims/src/endoify-unshimmed.test.js
diff --git a/packages/shims/src/endoify-shimmed.test.js b/packages/shims/src/endoify-shimmed.test.js
new file mode 100644
index 000000000..8aac76528
--- /dev/null
+++ b/packages/shims/src/endoify-shimmed.test.js
@@ -0,0 +1,10 @@
+import '@ocap/shims/endoify';
+import test from "ava";
+
+test('endoify calls lockdown', (t) => {
+ t.assert(Object.isFrozen(Array.prototype)); // Due to `lockdown()`, and therefore `ses`
+});
+
+test('endoify loads eventual-send', (t) => {
+ t.assert(typeof HandledPromise !== 'undefined'); // Due to eventual send
+});
diff --git a/packages/shims/src/endoify-unshimmed.test.js b/packages/shims/src/endoify-unshimmed.test.js
new file mode 100644
index 000000000..b0e784d5a
--- /dev/null
+++ b/packages/shims/src/endoify-unshimmed.test.js
@@ -0,0 +1,9 @@
+import test from "ava";
+
+test('lockdown not called', (t) => {
+ t.assert(!Object.isFrozen(Array.prototype)); // Due to `lockdown()`, and therefore `ses`
+});
+
+test('eventual-send not loaded', (t) => {
+ t.assert(typeof HandledPromise === 'undefined'); // Due to eventual send
+});
From f3b9bf88bfe032c7dec5fc9888fdf8430f0c6f92 Mon Sep 17 00:00:00 2001
From: grypez <143971198+grypez@users.noreply.github.com>
Date: Wed, 21 Aug 2024 00:42:42 -0400
Subject: [PATCH 04/10] refactor(shims): Abstract endo bundling of endo sources
---
packages/shims/scripts/bundle.js | 32 ++++++++++++++++++--------------
1 file changed, 18 insertions(+), 14 deletions(-)
diff --git a/packages/shims/scripts/bundle.js b/packages/shims/scripts/bundle.js
index ad52c1d7d..3029d986c 100644
--- a/packages/shims/scripts/bundle.js
+++ b/packages/shims/scripts/bundle.js
@@ -2,10 +2,12 @@ import 'ses';
import '@endo/lockdown/commit.js';
import bundleSource from '@endo/bundle-source';
-import { copyFile, mkdir, writeFile } from 'fs/promises';
+import { copyFile, mkdir } from 'fs/promises';
import path from 'path';
import { rimraf } from 'rimraf';
import { fileURLToPath } from 'url';
+import { createWriteStream } from 'fs';
+import { Readable } from 'stream';
console.log('Bundling shims...');
@@ -25,18 +27,20 @@ for (const fileName of [fileNames.endoify, fileNames.applyLockdown]) {
await copyFile(path.resolve(src, fileName), path.resolve(dist, fileName));
}
-const eventualSendSourcePath = fileURLToPath(
- import.meta.resolve('@endo/eventual-send/shim.js'),
-);
-
-const { source: eventualSendBundleSource } = await bundleSource(
- eventualSendSourcePath,
- { format: 'endoScript' },
-);
+/**
+ * Bundles the target file as endoScript and returns the content as a readable stream
+ *
+ * @param {string} specifier - import path to the file to bundle, e.g. '@endo/eventual-send/shim.js'
+ * @returns {Promise}
+ */
+const createEndoBundleReadStream = async (specifier) => {
+ const filePath = fileURLToPath(import.meta.resolve(specifier));
+ const { source: bundle } = await bundleSource(filePath, { format: 'endoScript' });
+ return Readable.from(bundle);
+}
-await writeFile(
- path.resolve(dist, fileNames.eventualSend),
- eventualSendBundleSource,
-);
+const eSendBundle = await createEndoBundleReadStream('@endo/eventual-send/shim.js');
+const eSendOutput = createWriteStream(path.resolve(dist, fileNames.eventualSend));
-console.log('Success!');
+eSendBundle.pipe(eSendOutput);
+eSendBundle.on('end', () => console.log('Success!'));
From eb01228950860b72952ff17b7c1c885c14e05dc3 Mon Sep 17 00:00:00 2001
From: grypez <143971198+grypez@users.noreply.github.com>
Date: Wed, 21 Aug 2024 01:18:45 -0400
Subject: [PATCH 05/10] feat(shims): Bundle endoify dependencies
---
packages/shims/scripts/bundle.js | 28 +++++++++++++---------------
packages/shims/src/endoify.mjs | 4 ++--
2 files changed, 15 insertions(+), 17 deletions(-)
diff --git a/packages/shims/scripts/bundle.js b/packages/shims/scripts/bundle.js
index 3029d986c..c56ed14ae 100644
--- a/packages/shims/scripts/bundle.js
+++ b/packages/shims/scripts/bundle.js
@@ -2,11 +2,11 @@ import 'ses';
import '@endo/lockdown/commit.js';
import bundleSource from '@endo/bundle-source';
-import { copyFile, mkdir } from 'fs/promises';
+import { mkdir } from 'fs/promises';
import path from 'path';
import { rimraf } from 'rimraf';
import { fileURLToPath } from 'url';
-import { createWriteStream } from 'fs';
+import { createReadStream, createWriteStream } from 'fs';
import { Readable } from 'stream';
console.log('Bundling shims...');
@@ -14,19 +14,10 @@ console.log('Bundling shims...');
const rootDir = path.resolve(import.meta.dirname, '..');
const src = path.resolve(rootDir, 'src');
const dist = path.resolve(rootDir, 'dist');
-const fileNames = {
- endoify: 'endoify.mjs',
- eventualSend: 'eventual-send.mjs',
- applyLockdown: 'apply-lockdown.mjs',
-};
await mkdir(dist, { recursive: true });
await rimraf(`${dist}/*`, { glob: true });
-for (const fileName of [fileNames.endoify, fileNames.applyLockdown]) {
- await copyFile(path.resolve(src, fileName), path.resolve(dist, fileName));
-}
-
/**
* Bundles the target file as endoScript and returns the content as a readable stream
*
@@ -39,8 +30,15 @@ const createEndoBundleReadStream = async (specifier) => {
return Readable.from(bundle);
}
-const eSendBundle = await createEndoBundleReadStream('@endo/eventual-send/shim.js');
-const eSendOutput = createWriteStream(path.resolve(dist, fileNames.eventualSend));
+const sources = [
+ createReadStream(path.resolve(rootDir, '../../node_modules/ses/dist/ses.mjs')),
+ await createEndoBundleReadStream('@endo/eventual-send/shim.js'),
+ createReadStream(path.resolve(src, 'endoify.mjs')),
+];
+
+const target = createWriteStream(path.resolve(dist, 'endoify.mjs'));
-eSendBundle.pipe(eSendOutput);
-eSendBundle.on('end', () => console.log('Success!'));
+sources[0].pipe(target, { end: false });
+sources[0].on('end', () => sources[1].pipe(target, { end: false }));
+sources[1].on('end', () => sources[2].pipe(target, { end: true }));
+sources[2].on('end', () => console.log('Success!'));
diff --git a/packages/shims/src/endoify.mjs b/packages/shims/src/endoify.mjs
index 824aa9c32..c3f03c7a8 100644
--- a/packages/shims/src/endoify.mjs
+++ b/packages/shims/src/endoify.mjs
@@ -1,5 +1,5 @@
-import './ses.mjs';
-import './eventual-send.mjs';
+/** @inline './ses.mjs'; */
+/** @inline './eventual-send.mjs'; */
lockdown({
consoleTaming: 'unsafe',
From 6eb3f3b6096502e342999b8cb394ec9889417319 Mon Sep 17 00:00:00 2001
From: grypez <143971198+grypez@users.noreply.github.com>
Date: Wed, 21 Aug 2024 01:58:00 -0400
Subject: [PATCH 06/10] fix(shims): Add vite dev dependency
---
packages/shims/package.json | 1 +
packages/shims/vitest.config.ts | 5 +++--
yarn.lock | 1 +
3 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/packages/shims/package.json b/packages/shims/package.json
index 7d23ad0db..2d3587c4f 100644
--- a/packages/shims/package.json
+++ b/packages/shims/package.json
@@ -43,6 +43,7 @@
"ava": "^6.1.3",
"deepmerge": "^4.3.1",
"rimraf": "^6.0.1",
+ "vite": "^5.3.5",
"vitest": "^2.0.5"
},
"engines": {
diff --git a/packages/shims/vitest.config.ts b/packages/shims/vitest.config.ts
index 2b415f6c9..09af560a9 100644
--- a/packages/shims/vitest.config.ts
+++ b/packages/shims/vitest.config.ts
@@ -2,15 +2,16 @@
///
import { defineConfig, mergeConfig } from 'vite';
+
import { getDefaultConfig } from '../../vitest.config.packages.js';
+const defaultConfig = getDefaultConfig();
const config = mergeConfig(
- getDefaultConfig(),
+ defaultConfig,
defineConfig({
test: {
exclude: ['endoify-*shimmed.test.*'],
- setupFiles: '../test-utils/src/env/mock-endo.ts',
},
}),
);
diff --git a/yarn.lock b/yarn.lock
index 472dfe8d9..0a87420db 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1344,6 +1344,7 @@ __metadata:
deepmerge: "npm:^4.3.1"
rimraf: "npm:^6.0.1"
ses: "npm:^1.7.0"
+ vite: "npm:^5.3.5"
vitest: "npm:^2.0.5"
languageName: unknown
linkType: soft
From 3dd922387325b46bfdd1b43992936fc2e148b1e6 Mon Sep 17 00:00:00 2001
From: grypez <143971198+grypez@users.noreply.github.com>
Date: Wed, 21 Aug 2024 01:59:46 -0400
Subject: [PATCH 07/10] chore(shims): Finesse eslint
---
packages/shims/scripts/bundle.js | 22 ++++++++++++--------
packages/shims/src/endoify-shimmed.test.js | 8 ++++++-
packages/shims/src/endoify-unshimmed.test.js | 7 ++++++-
packages/shims/src/endoify.mjs | 7 ++++---
4 files changed, 30 insertions(+), 14 deletions(-)
diff --git a/packages/shims/scripts/bundle.js b/packages/shims/scripts/bundle.js
index c56ed14ae..8ffc51d3d 100644
--- a/packages/shims/scripts/bundle.js
+++ b/packages/shims/scripts/bundle.js
@@ -2,12 +2,12 @@ import 'ses';
import '@endo/lockdown/commit.js';
import bundleSource from '@endo/bundle-source';
+import { createReadStream, createWriteStream } from 'fs';
import { mkdir } from 'fs/promises';
import path from 'path';
import { rimraf } from 'rimraf';
-import { fileURLToPath } from 'url';
-import { createReadStream, createWriteStream } from 'fs';
import { Readable } from 'stream';
+import { fileURLToPath } from 'url';
console.log('Bundling shims...');
@@ -19,19 +19,23 @@ await mkdir(dist, { recursive: true });
await rimraf(`${dist}/*`, { glob: true });
/**
- * Bundles the target file as endoScript and returns the content as a readable stream
- *
- * @param {string} specifier - import path to the file to bundle, e.g. '@endo/eventual-send/shim.js'
- * @returns {Promise}
+ * Bundles the target file as endoScript and returns the content as a readable stream.
+ *
+ * @param {string} specifier - Import path to the file to bundle, e.g. '@endo/eventual-send/shim.js'.
+ * @returns {Promise} A readable stream of the bundle contents.
*/
const createEndoBundleReadStream = async (specifier) => {
const filePath = fileURLToPath(import.meta.resolve(specifier));
- const { source: bundle } = await bundleSource(filePath, { format: 'endoScript' });
+ const { source: bundle } = await bundleSource(filePath, {
+ format: 'endoScript',
+ });
return Readable.from(bundle);
-}
+};
const sources = [
- createReadStream(path.resolve(rootDir, '../../node_modules/ses/dist/ses.mjs')),
+ createReadStream(
+ path.resolve(rootDir, '../../node_modules/ses/dist/ses.mjs'),
+ ),
await createEndoBundleReadStream('@endo/eventual-send/shim.js'),
createReadStream(path.resolve(src, 'endoify.mjs')),
];
diff --git a/packages/shims/src/endoify-shimmed.test.js b/packages/shims/src/endoify-shimmed.test.js
index 8aac76528..128b23d39 100644
--- a/packages/shims/src/endoify-shimmed.test.js
+++ b/packages/shims/src/endoify-shimmed.test.js
@@ -1,5 +1,9 @@
+// eslint-disable-next-line import-x/no-unassigned-import, import-x/no-unresolved
import '@ocap/shims/endoify';
-import test from "ava";
+// eslint-disable-next-line import-x/no-unresolved
+import test from 'ava';
+
+/* eslint-disable id-length */
test('endoify calls lockdown', (t) => {
t.assert(Object.isFrozen(Array.prototype)); // Due to `lockdown()`, and therefore `ses`
@@ -8,3 +12,5 @@ test('endoify calls lockdown', (t) => {
test('endoify loads eventual-send', (t) => {
t.assert(typeof HandledPromise !== 'undefined'); // Due to eventual send
});
+
+/* eslint-enable id-length */
diff --git a/packages/shims/src/endoify-unshimmed.test.js b/packages/shims/src/endoify-unshimmed.test.js
index b0e784d5a..ae60f8e69 100644
--- a/packages/shims/src/endoify-unshimmed.test.js
+++ b/packages/shims/src/endoify-unshimmed.test.js
@@ -1,4 +1,7 @@
-import test from "ava";
+// eslint-disable-next-line import-x/no-unresolved
+import test from 'ava';
+
+/* eslint-disable id-length */
test('lockdown not called', (t) => {
t.assert(!Object.isFrozen(Array.prototype)); // Due to `lockdown()`, and therefore `ses`
@@ -7,3 +10,5 @@ test('lockdown not called', (t) => {
test('eventual-send not loaded', (t) => {
t.assert(typeof HandledPromise === 'undefined'); // Due to eventual send
});
+
+/* eslint-enable id-length */
diff --git a/packages/shims/src/endoify.mjs b/packages/shims/src/endoify.mjs
index c3f03c7a8..0996d458b 100644
--- a/packages/shims/src/endoify.mjs
+++ b/packages/shims/src/endoify.mjs
@@ -1,6 +1,6 @@
-/** @inline './ses.mjs'; */
-/** @inline './eventual-send.mjs'; */
-
+/* eslint-disable import-x/unambiguous */
+// @inline './ses.mjs';
+// @inline './eventual-send.mjs';
lockdown({
consoleTaming: 'unsafe',
errorTaming: 'unsafe',
@@ -9,3 +9,4 @@ lockdown({
domainTaming: 'unsafe',
overrideTaming: 'severe',
});
+/* eslint-enable import-x/unambiguous */
From e08bdaa01c90e003385c74e22a71f0386e35a3b8 Mon Sep 17 00:00:00 2001
From: grypez <143971198+grypez@users.noreply.github.com>
Date: Wed, 21 Aug 2024 02:23:08 -0400
Subject: [PATCH 08/10] fix(shims): Remove build command from shims test
It was supposed that, because a critical behavior of the shims is
their behavior under bundling, the test command in the shims
package should include building prior. However, it is worth noting
that the build is assumed to run in node 20 and fails in node 18
due to the nonexistence of import.meta.dirname at that version.
However, the hard requirement is only that the build be performed
prior to testing. The CI does this already, building with node 20
and then testing under both 18 and 20. Thus the build prephase can
be safely removed from the test command without endangering the
consistency of the `main` branch; caveat that developers may need
to rebuild before testing while developing in the shims package.
---
packages/shims/package.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/packages/shims/package.json b/packages/shims/package.json
index 2d3587c4f..55de8a7e8 100644
--- a/packages/shims/package.json
+++ b/packages/shims/package.json
@@ -26,7 +26,7 @@
"changelog:validate": "../../scripts/validate-changelog.sh @ocap/shims",
"clean": "rimraf --glob ./dist './*.tsbuildinfo'",
"publish:preview": "yarn npm publish --tag preview",
- "test": "yarn build && ava && vitest run --config vitest.config.ts --passWithNoTests",
+ "test": "ava && vitest run --config vitest.config.ts --passWithNoTests",
"test:clean": "yarn test --no-cache --coverage.clean",
"test:dev": "yarn test --coverage false",
"test:verbose": "yarn test --reporter verbose",
From cd53a6d4c14801a083e7122e4c98dfb1a13e0229 Mon Sep 17 00:00:00 2001
From: grypez <143971198+grypez@users.noreply.github.com>
Date: Wed, 21 Aug 2024 11:12:03 -0400
Subject: [PATCH 09/10] chore(shims): Change test files *.test.js -> *.test.mjs
---
.../src/{endoify-shimmed.test.js => endoify-shimmed.test.mjs} | 2 --
.../{endoify-unshimmed.test.js => endoify-unshimmed.test.mjs} | 1 -
2 files changed, 3 deletions(-)
rename packages/shims/src/{endoify-shimmed.test.js => endoify-shimmed.test.mjs} (73%)
rename packages/shims/src/{endoify-unshimmed.test.js => endoify-unshimmed.test.mjs} (87%)
diff --git a/packages/shims/src/endoify-shimmed.test.js b/packages/shims/src/endoify-shimmed.test.mjs
similarity index 73%
rename from packages/shims/src/endoify-shimmed.test.js
rename to packages/shims/src/endoify-shimmed.test.mjs
index 128b23d39..c7d859874 100644
--- a/packages/shims/src/endoify-shimmed.test.js
+++ b/packages/shims/src/endoify-shimmed.test.mjs
@@ -1,6 +1,4 @@
-// eslint-disable-next-line import-x/no-unassigned-import, import-x/no-unresolved
import '@ocap/shims/endoify';
-// eslint-disable-next-line import-x/no-unresolved
import test from 'ava';
/* eslint-disable id-length */
diff --git a/packages/shims/src/endoify-unshimmed.test.js b/packages/shims/src/endoify-unshimmed.test.mjs
similarity index 87%
rename from packages/shims/src/endoify-unshimmed.test.js
rename to packages/shims/src/endoify-unshimmed.test.mjs
index ae60f8e69..060cb7775 100644
--- a/packages/shims/src/endoify-unshimmed.test.js
+++ b/packages/shims/src/endoify-unshimmed.test.mjs
@@ -1,4 +1,3 @@
-// eslint-disable-next-line import-x/no-unresolved
import test from 'ava';
/* eslint-disable id-length */
From a2448f72fda6607d25364565984077ae922598a1 Mon Sep 17 00:00:00 2001
From: Saleh Abdel Motaal
Date: Wed, 21 Aug 2024 12:37:47 -0400
Subject: [PATCH 10/10] fix(shims): Adjust for older `node` versions and
`build` before `test`
---
packages/shims/package.json | 2 +-
packages/shims/scripts/bundle.js | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/packages/shims/package.json b/packages/shims/package.json
index 55de8a7e8..2d3587c4f 100644
--- a/packages/shims/package.json
+++ b/packages/shims/package.json
@@ -26,7 +26,7 @@
"changelog:validate": "../../scripts/validate-changelog.sh @ocap/shims",
"clean": "rimraf --glob ./dist './*.tsbuildinfo'",
"publish:preview": "yarn npm publish --tag preview",
- "test": "ava && vitest run --config vitest.config.ts --passWithNoTests",
+ "test": "yarn build && ava && vitest run --config vitest.config.ts --passWithNoTests",
"test:clean": "yarn test --no-cache --coverage.clean",
"test:dev": "yarn test --coverage false",
"test:verbose": "yarn test --reporter verbose",
diff --git a/packages/shims/scripts/bundle.js b/packages/shims/scripts/bundle.js
index 8ffc51d3d..4e68aa5bf 100644
--- a/packages/shims/scripts/bundle.js
+++ b/packages/shims/scripts/bundle.js
@@ -11,7 +11,7 @@ import { fileURLToPath } from 'url';
console.log('Bundling shims...');
-const rootDir = path.resolve(import.meta.dirname, '..');
+const rootDir = fileURLToPath(new URL('..', import.meta.url));
const src = path.resolve(rootDir, 'src');
const dist = path.resolve(rootDir, 'dist');