@metamask/snaps-execution-environments 0.30.0 → 0.32.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. package/dist/browserify/iframe/bundle.js +6435 -0
  2. package/dist/{webpack → browserify}/iframe/index.html +1411 -178
  3. package/dist/browserify/node-process/bundle.js +15135 -0
  4. package/dist/browserify/node-thread/bundle.js +15135 -0
  5. package/dist/browserify/offscreen/bundle.js +2266 -0
  6. package/dist/{webpack → browserify}/offscreen/index.html +1411 -178
  7. package/dist/common/BaseSnapExecutor.js +32 -16
  8. package/dist/common/BaseSnapExecutor.js.map +1 -1
  9. package/dist/common/commands.js +1 -2
  10. package/dist/common/commands.js.map +1 -1
  11. package/dist/common/endowments/commonEndowmentFactory.d.ts +1 -0
  12. package/dist/common/endowments/commonEndowmentFactory.js +9 -3
  13. package/dist/common/endowments/commonEndowmentFactory.js.map +1 -1
  14. package/dist/common/endowments/crypto.js +2 -2
  15. package/dist/common/endowments/crypto.js.map +1 -1
  16. package/dist/common/endowments/index.d.ts +0 -7
  17. package/dist/common/endowments/index.js +6 -38
  18. package/dist/common/endowments/index.js.map +1 -1
  19. package/dist/common/endowments/interval.js +1 -1
  20. package/dist/common/endowments/interval.js.map +1 -1
  21. package/dist/common/endowments/math.js +6 -3
  22. package/dist/common/endowments/math.js.map +1 -1
  23. package/dist/common/endowments/network.js +8 -6
  24. package/dist/common/endowments/network.js.map +1 -1
  25. package/dist/common/endowments/timeout.js +1 -1
  26. package/dist/common/endowments/timeout.js.map +1 -1
  27. package/dist/common/keyring.js +1 -1
  28. package/dist/common/keyring.js.map +1 -1
  29. package/dist/common/lockdown/lockdown-events.d.ts +4 -0
  30. package/dist/common/lockdown/lockdown-events.js +60 -0
  31. package/dist/common/lockdown/lockdown-events.js.map +1 -0
  32. package/dist/common/sortParams.js +4 -1
  33. package/dist/common/sortParams.js.map +1 -1
  34. package/dist/common/utils.d.ts +13 -0
  35. package/dist/common/utils.js +45 -1
  36. package/dist/common/utils.js.map +1 -1
  37. package/dist/common/validation.js +1 -2
  38. package/dist/common/validation.js.map +1 -1
  39. package/dist/iframe/IFrameSnapExecutor.d.ts +3 -1
  40. package/dist/iframe/IFrameSnapExecutor.js +8 -8
  41. package/dist/iframe/IFrameSnapExecutor.js.map +1 -1
  42. package/dist/iframe/index.js +3 -2
  43. package/dist/iframe/index.js.map +1 -1
  44. package/dist/node-process/index.js +1 -2
  45. package/dist/node-process/index.js.map +1 -1
  46. package/dist/node-thread/index.js +1 -2
  47. package/dist/node-thread/index.js.map +1 -1
  48. package/dist/offscreen/index.js +3 -2
  49. package/dist/offscreen/index.js.map +1 -1
  50. package/package.json +43 -32
  51. package/dist/iframe-test/index.d.ts +0 -1
  52. package/dist/iframe-test/index.js +0 -8
  53. package/dist/iframe-test/index.js.map +0 -1
  54. package/dist/webpack/iframe/bundle.js +0 -2
  55. package/dist/webpack/iframe/bundle.js.LICENSE.txt +0 -14
  56. package/dist/webpack/node-process/bundle.js +0 -106821
  57. package/dist/webpack/node-process/lockdown.umd.min.js +0 -1
  58. package/dist/webpack/node-thread/bundle.js +0 -106821
  59. package/dist/webpack/node-thread/lockdown.umd.min.js +0 -1
  60. package/dist/webpack/offscreen/bundle.js +0 -2
  61. package/dist/webpack/offscreen/bundle.js.LICENSE.txt +0 -12
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@metamask/snaps-execution-environments",
3
- "version": "0.30.0",
3
+ "version": "0.32.0",
4
4
  "description": "Snap sandbox environments for executing SES javascript",
5
5
  "repository": {
6
6
  "type": "git",
@@ -12,10 +12,9 @@
12
12
  "dist/"
13
13
  ],
14
14
  "scripts": {
15
- "test": "yarn test:ava && jest && yarn merge:coverage && yarn posttest",
16
- "posttest": "node update-coverage-thresholds.js",
17
- "test:ava": "c8 ava",
18
- "merge:coverage": "yarn mkdirp coverage-all && shx cp coverage/coverage-final.json coverage-all/coverage-final-jest.json && shx cp coverage-ava/coverage-final.json coverage-all/coverage-final-ava.json && rimraf 'coverage' 'coverage-ava' && nyc merge coverage-all coverage-merged/merged-coverage.json && nyc report -t coverage-merged --report-dir coverage --reporter=text --reporter=html --reporter=json-summary --reporter=json && rimraf 'coverage-merged' 'coverage-all'",
15
+ "test": "rimraf coverage && jest && yarn test:browser && yarn posttest",
16
+ "posttest": "ts-node scripts/coverage.ts && rimraf coverage/jest coverage/wdio",
17
+ "test:browser": "wdio run wdio.config.ts",
19
18
  "test:ci": "yarn test",
20
19
  "test:watch": "jest --watch",
21
20
  "lint:eslint": "eslint . --cache --ext js,ts",
@@ -25,21 +24,24 @@
25
24
  "lint": "yarn lint:eslint && yarn lint:misc --check",
26
25
  "clean": "rimraf '*.tsbuildinfo' 'dist/*' 'src/__GENERATED__/' 'coverage/*' '__test__/*'",
27
26
  "build:clean": "yarn clean && yarn build",
28
- "build:post-tsc": "webpack --mode none && yarn build:concat",
27
+ "build:post-tsc": "yarn build:lavamoat",
29
28
  "build:tsc": "tsc --project tsconfig.build.json",
30
29
  "build": "yarn build:tsc && yarn build:post-tsc",
31
- "build:test": "cross-env NODE_ENV=test webpack --mode none --config-name iframe-test --config-name node-process --config-name node-thread && yarn build:concat",
32
- "build:concat": "concat -o ./dist/webpack/node-process/bundle.js ./dist/webpack/node-process/lockdown.umd.min.js ./dist/webpack/node-process/bundle.js && concat -o ./dist/webpack/node-thread/bundle.js ./dist/webpack/node-thread/lockdown.umd.min.js ./dist/webpack/node-thread/bundle.js",
30
+ "build:test": "yarn build:lavamoat",
31
+ "build:lavamoat": "lavamoat scripts/build.js --policy lavamoat/build-system/policy.json --policyOverride lavamoat/build-system/policy-override.json",
32
+ "build:lavamoat:policy": "yarn build:lavamoat --writeAutoPolicy && node scripts/build.js --writeAutoPolicy",
33
33
  "auto-changelog-init": "auto-changelog init",
34
+ "prepare-manifest:preview": "../../scripts/prepare-preview-manifest.sh",
35
+ "publish:preview": "yarn npm publish --tag preview",
34
36
  "publish:package": "../../scripts/publish-package.sh"
35
37
  },
36
38
  "dependencies": {
37
39
  "@metamask/object-multiplex": "^1.2.0",
38
- "@metamask/post-message-stream": "^6.1.0",
40
+ "@metamask/post-message-stream": "^6.1.1",
39
41
  "@metamask/providers": "^10.2.0",
40
- "@metamask/rpc-methods": "^0.30.0",
41
- "@metamask/snaps-utils": "^0.30.0",
42
- "@metamask/utils": "^3.4.1",
42
+ "@metamask/rpc-methods": "^0.32.0",
43
+ "@metamask/snaps-utils": "^0.32.0",
44
+ "@metamask/utils": "^5.0.0",
43
45
  "eth-rpc-errors": "^4.0.3",
44
46
  "json-rpc-engine": "^6.1.0",
45
47
  "pump": "^3.0.0",
@@ -48,10 +50,14 @@
48
50
  "superstruct": "^1.0.3"
49
51
  },
50
52
  "devDependencies": {
51
- "@ava/typescript": "^3.0.1",
52
53
  "@babel/core": "^7.20.12",
54
+ "@babel/preset-env": "^7.20.2",
53
55
  "@babel/preset-typescript": "^7.18.6",
56
+ "@browserify/uglifyify": "^6.0.0",
57
+ "@esbuild-plugins/node-globals-polyfill": "^0.2.3",
58
+ "@esbuild-plugins/node-modules-polyfill": "^0.2.2",
54
59
  "@lavamoat/allow-scripts": "^2.0.3",
60
+ "@lavamoat/lavapack": "^3.3.0",
55
61
  "@lavamoat/lavatube": "^0.0.1",
56
62
  "@metamask/auto-changelog": "^3.1.0",
57
63
  "@metamask/eslint-config": "^11.0.0",
@@ -62,13 +68,18 @@
62
68
  "@types/node": "^17.0.36",
63
69
  "@typescript-eslint/eslint-plugin": "^5.42.1",
64
70
  "@typescript-eslint/parser": "^5.42.1",
65
- "ava": "^5.1.0",
71
+ "@wdio/browser-runner": "^8.3.10",
72
+ "@wdio/cli": "^8.3.10",
73
+ "@wdio/globals": "^8.3.10",
74
+ "@wdio/mocha-framework": "^8.3.0",
75
+ "@wdio/spec-reporter": "^8.3.0",
76
+ "@wdio/static-server-service": "^8.3.0",
66
77
  "babel-loader": "^9.1.2",
78
+ "babel-plugin-tsconfig-paths-module-resolver": "^1.0.4",
79
+ "babelify": "^10.0.0",
80
+ "browserify": "^17.0.0",
67
81
  "buffer": "^6.0.3",
68
- "c8": "^7.12.0",
69
- "concat": "^1.0.3",
70
- "copy-webpack-plugin": "^10.2.4",
71
- "cross-env": "^7.0.3",
82
+ "common-shakeify": "^1.1.2",
72
83
  "deepmerge": "^4.2.2",
73
84
  "eslint": "^8.27.0",
74
85
  "eslint-config-prettier": "^8.5.0",
@@ -77,29 +88,29 @@
77
88
  "eslint-plugin-jsdoc": "^39.6.2",
78
89
  "eslint-plugin-node": "^11.1.0",
79
90
  "eslint-plugin-prettier": "^4.2.1",
80
- "html-inline-script-webpack-plugin": "^3.1.0",
81
- "html-webpack-plugin": "^5.5.0",
91
+ "expect-webdriverio": "^4.1.2",
92
+ "istanbul-lib-coverage": "^3.2.0",
93
+ "istanbul-lib-report": "^3.0.0",
94
+ "istanbul-reports": "^3.1.5",
82
95
  "jest": "^29.0.2",
83
- "jest-environment-jsdom": "^29.0.2",
84
96
  "jest-fetch-mock": "^3.0.3",
85
- "jsdom": "^19.0.0",
97
+ "lavamoat": "^6.4.0",
98
+ "lavamoat-browserify": "^15.5.0",
86
99
  "memfs": "^3.4.13",
87
- "mkdirp": "^1.0.4",
88
- "nyc": "^15.1.0",
89
100
  "prettier": "^2.7.1",
90
101
  "prettier-plugin-packagejson": "^2.2.11",
91
102
  "process": "^0.11.10",
92
- "rimraf": "^3.0.2",
93
- "shx": "^0.3.4",
94
- "terser-webpack-plugin": "^5.3.6",
103
+ "rimraf": "^4.1.2",
95
104
  "ts-jest": "^29.0.0",
105
+ "ts-node": "^10.9.1",
96
106
  "tsconfig-paths": "^4.1.2",
97
- "tsconfig-paths-webpack-plugin": "^4.0.0",
98
107
  "typescript": "~4.8.4",
99
- "webpack": "^5.68.0",
100
- "webpack-cli": "^4.9.2",
101
- "webpack-merge": "^5.8.0",
102
- "webpackbar": "^5.0.2"
108
+ "vite": "^4.1.4",
109
+ "vite-tsconfig-paths": "^4.0.5",
110
+ "wdio-chromedriver-service": "^8.1.1",
111
+ "wdio-geckodriver-service": "^4.1.0",
112
+ "webdriverio": "^8.3.10",
113
+ "yargs": "^17.7.1"
103
114
  },
104
115
  "engines": {
105
116
  "node": ">=16.0.0"
@@ -1 +0,0 @@
1
- export {};
@@ -1,8 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const lockdown_1 = require("../common/lockdown/lockdown");
4
- const IFrameSnapExecutor_1 = require("../iframe/IFrameSnapExecutor");
5
- // The testing iframe is run without lockdown-more due to JSDOM incompatibilities
6
- (0, lockdown_1.executeLockdown)();
7
- IFrameSnapExecutor_1.IFrameSnapExecutor.initialize();
8
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/iframe-test/index.ts"],"names":[],"mappings":";;AAAA,0DAA8D;AAC9D,qEAAkE;AAElE,iFAAiF;AACjF,IAAA,0BAAe,GAAE,CAAC;AAElB,uCAAkB,CAAC,UAAU,EAAE,CAAC","sourcesContent":["import { executeLockdown } from '../common/lockdown/lockdown';\nimport { IFrameSnapExecutor } from '../iframe/IFrameSnapExecutor';\n\n// The testing iframe is run without lockdown-more due to JSDOM incompatibilities\nexecuteLockdown();\n\nIFrameSnapExecutor.initialize();\n"]}