From ae0db45dd5e90d8b354d7e87d7225fd6f735bf2c Mon Sep 17 00:00:00 2001 From: Christopher Hiller Date: Fri, 21 Jul 2023 14:23:19 -0700 Subject: [PATCH] chore: consolidate eslint config This change: - Removes all `.eslintignore` , `.eslintrc` files or `package.json`-embedded config and replaces it with a single root `.eslintrc.js` - Removes all lint-related scripts from all workspaces (including `depcheck`) - Removes all dev deps on `eslint` and its ilk (and `ava`, since it will come from the workspace root) - Upgrades `@metamask/eslint-config-nodejs`, `eslint`, `eslint-plugin-ava`, as well as other plugins used by specific packages; moves them all to workspace root - Removes unused/deprecated `eslint-plugin-node` in lieu of `eslint-plugin-n`, which the new version of `@metamask/eslint-config-nodejs` needs - Adds a prettier config (in case someone wants to use it; I'd like to add it to our workflow later) I note that ESLint seemed to be misconfigured before this change; none of the rules specified in the root config were being checked. This means that there are a whole lot of lint fixes that need to be made. To lint, run `yarn lint` as before (which will also run `depcheck`) from the workspace root. Likewise, `lint:fix` runs a fix, and `lint:depcheck` will use lerna to run `lint:depcheck` wherever it is defined. --- .eslintrc.js | 116 ++++ .eslintrc.json | 54 -- package-lock.json | 494 +++++++----------- package.json | 21 +- packages/aa/.depcheckrc | 3 + packages/aa/.eslintignore | 5 - packages/aa/.eslintrc.json | 6 - packages/aa/package.json | 9 - packages/allow-scripts/.depcheckrc | 3 + packages/allow-scripts/.eslintignore | 5 - packages/allow-scripts/.eslintrc.json | 3 - packages/allow-scripts/package.json | 11 +- packages/browserify/.depcheckrc | 25 +- packages/browserify/.eslintignore | 5 - packages/browserify/.eslintrc.json | 3 - packages/browserify/package.json | 12 +- .../secureBundling/lavamoat/node/policy.json | 320 ++++++------ packages/core/.eslintignore | 5 - packages/core/.eslintrc.json | 3 - packages/core/package.json | 13 - packages/lavapack/.depcheckrc | 3 + packages/lavapack/.eslintignore | 8 - packages/lavapack/.eslintrc.json | 3 - packages/lavapack/package.json | 7 - packages/node/.eslintignore | 5 - packages/node/.eslintrc.json | 6 - packages/node/package.json | 16 +- packages/perf/.eslintignore | 5 - packages/perf/package.json | 1 - packages/preinstall-always-fail/.eslintignore | 5 - packages/preinstall-always-fail/package.json | 3 +- packages/survey/.eslintignore | 5 - packages/survey/package.json | 3 +- packages/tofu/.eslintignore | 7 - packages/tofu/.eslintrc.json | 3 - packages/tofu/package.json | 12 +- packages/viz/.eslintignore | 6 - packages/viz/.eslintrc.js | 36 -- packages/viz/package.json | 10 +- .../yarn-plugin-allow-scripts/.eslintignore | 5 - .../yarn-plugin-allow-scripts/package.json | 1 - 41 files changed, 513 insertions(+), 753 deletions(-) create mode 100644 .eslintrc.js delete mode 100644 .eslintrc.json create mode 100644 packages/aa/.depcheckrc delete mode 100644 packages/aa/.eslintignore delete mode 100644 packages/aa/.eslintrc.json create mode 100644 packages/allow-scripts/.depcheckrc delete mode 100644 packages/allow-scripts/.eslintignore delete mode 100644 packages/allow-scripts/.eslintrc.json delete mode 100644 packages/browserify/.eslintignore delete mode 100644 packages/browserify/.eslintrc.json delete mode 100644 packages/core/.eslintignore delete mode 100644 packages/core/.eslintrc.json create mode 100644 packages/lavapack/.depcheckrc delete mode 100644 packages/lavapack/.eslintignore delete mode 100644 packages/lavapack/.eslintrc.json delete mode 100644 packages/node/.eslintignore delete mode 100644 packages/node/.eslintrc.json delete mode 100644 packages/perf/.eslintignore delete mode 100644 packages/preinstall-always-fail/.eslintignore delete mode 100644 packages/survey/.eslintignore delete mode 100644 packages/tofu/.eslintignore delete mode 100644 packages/tofu/.eslintrc.json delete mode 100644 packages/viz/.eslintignore delete mode 100644 packages/viz/.eslintrc.js delete mode 100644 packages/yarn-plugin-allow-scripts/.eslintignore diff --git a/.eslintrc.js b/.eslintrc.js new file mode 100644 index 0000000000..e7e2c84a46 --- /dev/null +++ b/.eslintrc.js @@ -0,0 +1,116 @@ +module.exports = { + root: true, + // this is the same as an .eslintignore file + ignorePatterns: [ + '.yarn/**/*', + '**/*.umd.js', + '**/node_modules/**/*', + 'docs/**/*', + 'packages/*/examples/**/*', + 'packages/*/test/**/fixtures/**/*', + 'packages/*/test/projects/**/*', + 'packages/lavapack/bundle.js', + 'packages/lavapack/src/runtime-cjs.js', + 'packages/lavapack/src/runtime.js', + 'packages/perf/trials/**/*', + 'packages/survey/mitm/**/*', + 'packages/viz/dist/**/*', + 'packages/viz/src/example-policies/**/*', + ], + parserOptions: { + // this should be whatever the latest env version provides. some plugin is + // messing with this, so we need to set it manually. + // https://eslint.org/docs/latest/use/configure/language-options#specifying-environments + ecmaVersion: 12, + }, + env: { es2020: true }, // this should be synced with the version of V8 used by the min supported node version + extends: ['@metamask/eslint-config-nodejs'], + rules: { + // base rules. should probably use eslint/recommended instead. + 'arrow-spacing': ['error', { before: true, after: true }], + 'brace-style': ['error', '1tbs'], + 'comma-dangle': ['error', 'always-multiline'], + curly: ['error', 'all'], + 'eol-last': ['error', 'always'], + indent: ['error', 2, { SwitchCase: 1, ObjectExpression: 'first' }], + 'no-restricted-globals': 0, + 'no-unexpected-multiline': 'error', + quotes: ['error', 'single'], + semi: ['error', 'never'], + 'space-before-blocks': ['error', 'always'], + 'space-before-function-paren': [ + 'error', + { + anonymous: 'ignore', + named: 'ignore', + asyncArrow: 'always', + }, + ], + + // plugin rules + + // all of these override stuff set in @metamask/eslint-config-nodejs. + 'n/no-extraneous-require': 0, + 'n/global-require': 0, + 'n/exports-style': 0, + 'n/no-process-env': 0, + // this rule seems broken + 'n/no-unpublished-require': 0, + // we should probably actually fix these three and disable this override. + 'n/no-sync': 0, + 'n/no-process-exit': 0, + 'n/no-path-concat': 0, + }, + // these are plugin-specific settings. + settings: { + // note that this name is "node" while the plugin is named "n". + // probably for historical reasons, but this may eventually break. + node: { + version: '14.17.0', // should be set to minimum node version supported + allowModules: ['deep-equal'], // something weird about this dependency + }, + react: { + version: 'detect', + }, + }, + overrides: [ + { + files: ['packages/*/test/**/*.js', 'packages/*/src/**/*.test.js'], + extends: ['plugin:ava/recommended'], + rules: { + 'ava/no-import-test-files': 0, + }, + }, + { + files: ['packages/core/src/**/*.js'], + globals: { + Compartment: 'readonly', + templateRequire: 'readonly', + lockdown: 'readonly', + }, + }, + { + // for viz package. most of this copied out of its own eslint config + files: ['packages/viz/**/*.js'], + env: { + browser: true, + es2020: true, + }, + parserOptions: { + ecmaFeatures: { + jsx: true, + }, + sourceType: 'module', + }, + extends: ['plugin:react/recommended'], + plugins: ['react', 'import'], + rules: { + 'no-negated-condition': 0, + 'import/extensions': ['error', 'always', { ignorePackages: true }], + 'import/no-unassigned-import': 0, + 'import/unambiguous': 0, + 'react/prop-types': 0, + }, + }, + ], +} diff --git a/.eslintrc.json b/.eslintrc.json deleted file mode 100644 index b1980dd4fe..0000000000 --- a/.eslintrc.json +++ /dev/null @@ -1,54 +0,0 @@ -{ - "root": true, - "overrides": [ - { - "parserOptions": { - "ecmaVersion": 2020, - "sourceType": "module" - }, - "files": [ - "src/**/*.js" - ], - "extends": [ - "@metamask/eslint-config-nodejs" - ], - "rules": { - "jsdoc/require-jsdoc": 0, - "node/no-process-env": 0, - "node/no-process-exit": 0, - "node/no-sync": 0, - "arrow-spacing": ["error", {"before": true, "after": true}], - "brace-style": ["error", "1tbs"], - "comma-dangle": ["error", "always-multiline"], - "curly": ["error", "all"], - "eol-last": ["error", "always"], - "indent": ["error", 2, {"SwitchCase": 1, "ObjectExpression": "first"}], - "no-restricted-globals": 0, - "no-unexpected-multiline": "error", - "quotes": ["error", "single"], - "semi": ["error", "never"], - "space-before-blocks": ["error", "always"], - "space-before-function-paren": ["error", { - "anonymous": "ignore", - "named": "ignore", - "asyncArrow": "always" - }] - } - }, - { - "files": [ - "test/**/*.js", - "src/**/*.test.js" - ], - "extends": [ - "plugin:ava/recommended" - ], - "rules": { - "ava/no-import-test-files": "off" - } - } - ], - "env": { - "es6": true - } -} diff --git a/package-lock.json b/package-lock.json index 3d1110f8a9..4f42453784 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,14 +14,16 @@ "devDependencies": { "@commitlint/cli": "^17.6.7", "@commitlint/config-conventional": "^17.6.7", - "@metamask/eslint-config-nodejs": "^11.0.1", + "@metamask/eslint-config-nodejs": "^12.0.0", "ava": "^5.3.1", "conventional-changelog-conventionalcommits": "^6.1.0", "cross-env": "^7.0.3", "depcheck": "^1.4.0", - "eslint": "^8.40.0", - "eslint-plugin-ava": "^13.2.0", - "eslint-plugin-node": "^11.1.0", + "eslint": "^8.45.0", + "eslint-plugin-ava": "^14.0.0", + "eslint-plugin-import": "^2.27.5", + "eslint-plugin-n": "^15.7.0", + "eslint-plugin-react": "^7.33.0", "husky": "^8.0.3", "lerna": "^7.1.4", "lint-staged": "^13.2.3" @@ -1750,9 +1752,8 @@ }, "node_modules/@commitlint/cli": { "version": "17.6.7", - "resolved": "https://registry.npmjs.org/@commitlint/cli/-/cli-17.6.7.tgz", - "integrity": "sha512-nzZmfO5KIOupYppn1MsnYX/80I+KDlxiwkks3CJT0XT+t34UgqGi3eSyEuzgcIjPlORk5/GMaAEiys78iLfGMg==", "dev": true, + "license": "MIT", "dependencies": { "@commitlint/format": "^17.4.4", "@commitlint/lint": "^17.6.7", @@ -1774,9 +1775,8 @@ }, "node_modules/@commitlint/cli/node_modules/cliui": { "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", "dev": true, + "license": "ISC", "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.1", @@ -1788,9 +1788,8 @@ }, "node_modules/@commitlint/cli/node_modules/yargs": { "version": "17.7.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", - "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", "dev": true, + "license": "MIT", "dependencies": { "cliui": "^8.0.1", "escalade": "^3.1.1", @@ -1806,18 +1805,16 @@ }, "node_modules/@commitlint/cli/node_modules/yargs-parser": { "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", "dev": true, + "license": "ISC", "engines": { "node": ">=12" } }, "node_modules/@commitlint/config-conventional": { "version": "17.6.7", - "resolved": "https://registry.npmjs.org/@commitlint/config-conventional/-/config-conventional-17.6.7.tgz", - "integrity": "sha512-4oTpEUC0HRM54QRHBPMOJW1pETp7usxXn9RuNYNWHcmu8wi1mpws95hvS20u2n6HtIkTn0jfn7vHioCm4AGUTw==", "dev": true, + "license": "MIT", "dependencies": { "conventional-changelog-conventionalcommits": "^5.0.0" }, @@ -1827,9 +1824,8 @@ }, "node_modules/@commitlint/config-conventional/node_modules/conventional-changelog-conventionalcommits": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-5.0.0.tgz", - "integrity": "sha512-lCDbA+ZqVFQGUj7h9QBKoIpLhl8iihkO0nCTyRNzuXtcd7ubODpYB04IFy31JloiJgG0Uovu8ot8oxRzn7Nwtw==", "dev": true, + "license": "ISC", "dependencies": { "compare-func": "^2.0.0", "lodash": "^4.17.15", @@ -1841,9 +1837,8 @@ }, "node_modules/@commitlint/config-validator": { "version": "17.6.7", - "resolved": "https://registry.npmjs.org/@commitlint/config-validator/-/config-validator-17.6.7.tgz", - "integrity": "sha512-vJSncmnzwMvpr3lIcm0I8YVVDJTzyjy7NZAeXbTXy+MPUdAr9pKyyg7Tx/ebOQ9kqzE6O9WT6jg2164br5UdsQ==", "dev": true, + "license": "MIT", "dependencies": { "@commitlint/types": "^17.4.4", "ajv": "^8.11.0" @@ -1854,9 +1849,8 @@ }, "node_modules/@commitlint/config-validator/node_modules/ajv": { "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", "dev": true, + "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.1", "json-schema-traverse": "^1.0.0", @@ -1870,9 +1864,8 @@ }, "node_modules/@commitlint/ensure": { "version": "17.6.7", - "resolved": "https://registry.npmjs.org/@commitlint/ensure/-/ensure-17.6.7.tgz", - "integrity": "sha512-mfDJOd1/O/eIb/h4qwXzUxkmskXDL9vNPnZ4AKYKiZALz4vHzwMxBSYtyL2mUIDeU9DRSpEUins8SeKtFkYHSw==", "dev": true, + "license": "MIT", "dependencies": { "@commitlint/types": "^17.4.4", "lodash.camelcase": "^4.3.0", @@ -1887,18 +1880,16 @@ }, "node_modules/@commitlint/execute-rule": { "version": "17.4.0", - "resolved": "https://registry.npmjs.org/@commitlint/execute-rule/-/execute-rule-17.4.0.tgz", - "integrity": "sha512-LIgYXuCSO5Gvtc0t9bebAMSwd68ewzmqLypqI2Kke1rqOqqDbMpYcYfoPfFlv9eyLIh4jocHWwCK5FS7z9icUA==", "dev": true, + "license": "MIT", "engines": { "node": ">=v14" } }, "node_modules/@commitlint/format": { "version": "17.4.4", - "resolved": "https://registry.npmjs.org/@commitlint/format/-/format-17.4.4.tgz", - "integrity": "sha512-+IS7vpC4Gd/x+uyQPTAt3hXs5NxnkqAZ3aqrHd5Bx/R9skyCAWusNlNbw3InDbAK6j166D9asQM8fnmYIa+CXQ==", "dev": true, + "license": "MIT", "dependencies": { "@commitlint/types": "^17.4.4", "chalk": "^4.1.0" @@ -1909,9 +1900,8 @@ }, "node_modules/@commitlint/is-ignored": { "version": "17.6.7", - "resolved": "https://registry.npmjs.org/@commitlint/is-ignored/-/is-ignored-17.6.7.tgz", - "integrity": "sha512-vqyNRqtbq72P2JadaoWiuoLtXIs9SaAWDqdtef6G2zsoXqKFc7vqj1f+thzVgosXG3X/5K9jNp+iYijmvOfc/g==", "dev": true, + "license": "MIT", "dependencies": { "@commitlint/types": "^17.4.4", "semver": "7.5.2" @@ -1922,9 +1912,8 @@ }, "node_modules/@commitlint/is-ignored/node_modules/lru-cache": { "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dev": true, + "license": "ISC", "dependencies": { "yallist": "^4.0.0" }, @@ -1934,9 +1923,8 @@ }, "node_modules/@commitlint/is-ignored/node_modules/semver": { "version": "7.5.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.2.tgz", - "integrity": "sha512-SoftuTROv/cRjCze/scjGyiDtcUyxw1rgYQSZY7XTmtR5hX+dm76iDbTH8TkLPHCQmlbQVSSbNZCPM2hb0knnQ==", "dev": true, + "license": "ISC", "dependencies": { "lru-cache": "^6.0.0" }, @@ -1949,9 +1937,8 @@ }, "node_modules/@commitlint/lint": { "version": "17.6.7", - "resolved": "https://registry.npmjs.org/@commitlint/lint/-/lint-17.6.7.tgz", - "integrity": "sha512-TW+AozfuOFMrHn+jdwtz0IWu8REKFp0eryOvoBp2r8IXNc4KihKB1spAiUB6SFyHD6hVVeolz12aHnJ3Mb+xVQ==", "dev": true, + "license": "MIT", "dependencies": { "@commitlint/is-ignored": "^17.6.7", "@commitlint/parse": "^17.6.7", @@ -1964,9 +1951,8 @@ }, "node_modules/@commitlint/load": { "version": "17.6.7", - "resolved": "https://registry.npmjs.org/@commitlint/load/-/load-17.6.7.tgz", - "integrity": "sha512-QZ2rJTbX55BQdYrCm/p6+hh/pFBgC9nTJxfsrK6xRPe2thiQzHN0AQDBqBwAirn6gIkHrjIbCbtAE6kiDYLjrw==", "dev": true, + "license": "MIT", "dependencies": { "@commitlint/config-validator": "^17.6.7", "@commitlint/execute-rule": "^17.4.0", @@ -1989,18 +1975,16 @@ }, "node_modules/@commitlint/message": { "version": "17.4.2", - "resolved": "https://registry.npmjs.org/@commitlint/message/-/message-17.4.2.tgz", - "integrity": "sha512-3XMNbzB+3bhKA1hSAWPCQA3lNxR4zaeQAQcHj0Hx5sVdO6ryXtgUBGGv+1ZCLMgAPRixuc6en+iNAzZ4NzAa8Q==", "dev": true, + "license": "MIT", "engines": { "node": ">=v14" } }, "node_modules/@commitlint/parse": { "version": "17.6.7", - "resolved": "https://registry.npmjs.org/@commitlint/parse/-/parse-17.6.7.tgz", - "integrity": "sha512-ibO03BgEns+JJpohpBZYD49mCdSNMg6fTv7vA5yqzEFWkBQk5NWhEBw2yG+Z1UClStIRkMkAYyI2HzoQG9tCQQ==", "dev": true, + "license": "MIT", "dependencies": { "@commitlint/types": "^17.4.4", "conventional-changelog-angular": "^5.0.11", @@ -2012,9 +1996,8 @@ }, "node_modules/@commitlint/parse/node_modules/conventional-changelog-angular": { "version": "5.0.13", - "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-5.0.13.tgz", - "integrity": "sha512-i/gipMxs7s8L/QeuavPF2hLnJgH6pEZAttySB6aiQLWcX3puWDL3ACVmvBhJGxnAy52Qc15ua26BufY6KpmrVA==", "dev": true, + "license": "ISC", "dependencies": { "compare-func": "^2.0.0", "q": "^1.5.1" @@ -2025,9 +2008,8 @@ }, "node_modules/@commitlint/parse/node_modules/conventional-commits-parser": { "version": "3.2.4", - "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-3.2.4.tgz", - "integrity": "sha512-nK7sAtfi+QXbxHCYfhpZsfRtaitZLIA6889kFIouLvz6repszQDgxBu7wf2WbU+Dco7sAnNCJYERCwt54WPC2Q==", "dev": true, + "license": "MIT", "dependencies": { "is-text-path": "^1.0.1", "JSONStream": "^1.0.4", @@ -2045,18 +2027,16 @@ }, "node_modules/@commitlint/parse/node_modules/through2": { "version": "4.0.2", - "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", - "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", "dev": true, + "license": "MIT", "dependencies": { "readable-stream": "3" } }, "node_modules/@commitlint/read": { "version": "17.5.1", - "resolved": "https://registry.npmjs.org/@commitlint/read/-/read-17.5.1.tgz", - "integrity": "sha512-7IhfvEvB//p9aYW09YVclHbdf1u7g7QhxeYW9ZHSO8Huzp8Rz7m05aCO1mFG7G8M+7yfFnXB5xOmG18brqQIBg==", "dev": true, + "license": "MIT", "dependencies": { "@commitlint/top-level": "^17.4.0", "@commitlint/types": "^17.4.4", @@ -2070,9 +2050,8 @@ }, "node_modules/@commitlint/read/node_modules/git-raw-commits": { "version": "2.0.11", - "resolved": "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-2.0.11.tgz", - "integrity": "sha512-VnctFhw+xfj8Va1xtfEqCUD2XDrbAPSJx+hSrE5K7fGdjZruW7XV+QOrN7LF/RJyvspRiD2I0asWsxFp0ya26A==", "dev": true, + "license": "MIT", "dependencies": { "dargs": "^7.0.0", "lodash": "^4.17.15", @@ -2089,18 +2068,16 @@ }, "node_modules/@commitlint/read/node_modules/through2": { "version": "4.0.2", - "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", - "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", "dev": true, + "license": "MIT", "dependencies": { "readable-stream": "3" } }, "node_modules/@commitlint/resolve-extends": { "version": "17.6.7", - "resolved": "https://registry.npmjs.org/@commitlint/resolve-extends/-/resolve-extends-17.6.7.tgz", - "integrity": "sha512-PfeoAwLHtbOaC9bGn/FADN156CqkFz6ZKiVDMjuC2N5N0740Ke56rKU7Wxdwya8R8xzLK9vZzHgNbuGhaOVKIg==", "dev": true, + "license": "MIT", "dependencies": { "@commitlint/config-validator": "^17.6.7", "@commitlint/types": "^17.4.4", @@ -2115,9 +2092,8 @@ }, "node_modules/@commitlint/rules": { "version": "17.6.7", - "resolved": "https://registry.npmjs.org/@commitlint/rules/-/rules-17.6.7.tgz", - "integrity": "sha512-x/SDwDTN3w3Gr5xkhrIORu96rlKCc8ZLYEMXRqi9+MB33st2mKcGvKa5uJuigHlbl3xm75bAAubATrodVrjguQ==", "dev": true, + "license": "MIT", "dependencies": { "@commitlint/ensure": "^17.6.7", "@commitlint/message": "^17.4.2", @@ -2131,18 +2107,16 @@ }, "node_modules/@commitlint/to-lines": { "version": "17.4.0", - "resolved": "https://registry.npmjs.org/@commitlint/to-lines/-/to-lines-17.4.0.tgz", - "integrity": "sha512-LcIy/6ZZolsfwDUWfN1mJ+co09soSuNASfKEU5sCmgFCvX5iHwRYLiIuoqXzOVDYOy7E7IcHilr/KS0e5T+0Hg==", "dev": true, + "license": "MIT", "engines": { "node": ">=v14" } }, "node_modules/@commitlint/top-level": { "version": "17.4.0", - "resolved": "https://registry.npmjs.org/@commitlint/top-level/-/top-level-17.4.0.tgz", - "integrity": "sha512-/1loE/g+dTTQgHnjoCy0AexKAEFyHsR2zRB4NWrZ6lZSMIxAhBJnmCqwao7b4H8888PsfoTBCLBYIw8vGnej8g==", "dev": true, + "license": "MIT", "dependencies": { "find-up": "^5.0.0" }, @@ -2152,9 +2126,8 @@ }, "node_modules/@commitlint/types": { "version": "17.4.4", - "resolved": "https://registry.npmjs.org/@commitlint/types/-/types-17.4.4.tgz", - "integrity": "sha512-amRN8tRLYOsxRr6mTnGGGvB5EmW/4DDjLMgiwK3CCVEmN6Sr/6xePGEpWaspKkckILuUORCwe6VfDBw6uj4axQ==", "dev": true, + "license": "MIT", "dependencies": { "chalk": "^4.1.0" }, @@ -2164,9 +2137,8 @@ }, "node_modules/@cspotcode/source-map-support": { "version": "0.8.1", - "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", - "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", "dev": true, + "license": "MIT", "dependencies": { "@jridgewell/trace-mapping": "0.3.9" }, @@ -2176,9 +2148,8 @@ }, "node_modules/@cspotcode/source-map-support/node_modules/@jridgewell/trace-mapping": { "version": "0.3.9", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", - "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", "dev": true, + "license": "MIT", "dependencies": { "@jridgewell/resolve-uri": "^3.0.3", "@jridgewell/sourcemap-codec": "^1.4.10" @@ -2222,18 +2193,18 @@ "license": "Apache-2.0" }, "node_modules/@es-joy/jsdoccomment": { - "version": "0.36.1", - "resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.36.1.tgz", - "integrity": "sha512-922xqFsTpHs6D0BUiG4toiyPOMc8/jafnWKxz1KWgS4XzKPy2qXf1Pe6UFuNSCQqt6tOuhAWXBNuuyUhJmw9Vg==", + "version": "0.37.1", + "resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.37.1.tgz", + "integrity": "sha512-5vxWJ1gEkEF0yRd0O+uK6dHJf7adrxwQSX8PuRiPfFSAbNLnY0ZJfXaZucoz14Jj2N11xn2DnlEPwWRpYpvRjg==", "dev": true, "peer": true, "dependencies": { "comment-parser": "1.3.1", - "esquery": "^1.4.0", - "jsdoc-type-pratt-parser": "~3.1.0" + "esquery": "^1.5.0", + "jsdoc-type-pratt-parser": "~4.0.0" }, "engines": { - "node": "^14 || ^16 || ^17 || ^18 || ^19" + "node": "^14 || ^16 || ^17 || ^18 || ^19 || ^20" } }, "node_modules/@eslint-community/eslint-utils": { @@ -2579,9 +2550,9 @@ } }, "node_modules/@metamask/eslint-config": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/@metamask/eslint-config/-/eslint-config-11.1.0.tgz", - "integrity": "sha512-XBxkH9fWsir59uixPutzImX7inzauV98iW4KTdWeoakFOmBojaosV36MfwkRzw45wLz722W/IHljDklzemOoyw==", + "version": "12.1.0", + "resolved": "https://registry.npmjs.org/@metamask/eslint-config/-/eslint-config-12.1.0.tgz", + "integrity": "sha512-kNzuAgRu/L8nQi5bW7nfLS78ylmW9gcTH81+zGEq9KNiOgNfg8pxCNjatYRbnOoLA57/NYKLLxbTeBMjXRscfg==", "dev": true, "peer": true, "engines": { @@ -2590,24 +2561,25 @@ "peerDependencies": { "eslint": "^8.27.0", "eslint-config-prettier": "^8.5.0", - "eslint-plugin-import": "^2.26.0", - "eslint-plugin-jsdoc": "^39.6.2", + "eslint-plugin-import": "^2.27.5", + "eslint-plugin-jsdoc": "^39.6.2 || ^41", "eslint-plugin-prettier": "^4.2.1", + "eslint-plugin-promise": "^6.1.1", "prettier": "^2.7.1" } }, "node_modules/@metamask/eslint-config-nodejs": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/@metamask/eslint-config-nodejs/-/eslint-config-nodejs-11.1.0.tgz", - "integrity": "sha512-UEWPMuCkzI3GpmqT8s45ewekWfZJftswml+j9kDdoVHOpleAq5zSVvpJCpQP0wmaS+U9EI4iBMK0djmKm2dA8A==", + "version": "12.1.0", + "resolved": "https://registry.npmjs.org/@metamask/eslint-config-nodejs/-/eslint-config-nodejs-12.1.0.tgz", + "integrity": "sha512-qYg6TESACJokSD8pnbgJ6JtQDvx2jCM/hWEeHbGsNDDUvMl0f8MlHz1H5bDutiUgWDJMI3oMWm6OYMmUWZhXPw==", "dev": true, "engines": { "node": ">=14.0.0" }, "peerDependencies": { - "@metamask/eslint-config": "^11.0.0", + "@metamask/eslint-config": "^12.0.0", "eslint": "^8.27.0", - "eslint-plugin-node": "^11.1.0" + "eslint-plugin-n": "^15.7.0" } }, "node_modules/@nodelib/fs.scandir": { @@ -3163,27 +3135,23 @@ }, "node_modules/@tsconfig/node10": { "version": "1.0.9", - "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz", - "integrity": "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@tsconfig/node12": { "version": "1.0.11", - "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", - "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@tsconfig/node14": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", - "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@tsconfig/node16": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", - "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@tufjs/canonical-json": { "version": "1.0.0", @@ -4609,6 +4577,16 @@ ], "license": "MIT" }, + "node_modules/are-docs-informative": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/are-docs-informative/-/are-docs-informative-0.0.2.tgz", + "integrity": "sha512-ixiS0nLNNG5jNQzgZJNoUpBKdo9yTYZMGJ+QgT2jmjR7G7+QHRCc4v6LQ3NgE7EBJq+o0ams3waJwkrlBom8Ig==", + "dev": true, + "peer": true, + "engines": { + "node": ">=14" + } + }, "node_modules/are-we-there-yet": { "version": "3.0.1", "license": "ISC", @@ -4797,9 +4775,8 @@ }, "node_modules/astral-regex": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", - "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } @@ -7004,9 +6981,8 @@ }, "node_modules/cosmiconfig-typescript-loader": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-4.3.0.tgz", - "integrity": "sha512-NTxV1MFfZDLPiBMjxbHRwSh5LaLcPMwNdCutmnHJCKoVnlvldPWlllonKwrsRJ5pYZBIBGRWWU2tfvzxgeSW5Q==", "dev": true, + "license": "MIT", "engines": { "node": ">=12", "npm": ">=6" @@ -7062,9 +7038,8 @@ }, "node_modules/create-require": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", - "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/cross-env": { "version": "7.0.3", @@ -8667,9 +8642,9 @@ } }, "node_modules/eslint-plugin-ava": { - "version": "13.2.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-ava/-/eslint-plugin-ava-13.2.0.tgz", - "integrity": "sha512-i5B5izsEdERKQLruk1nIWzTTE7C26/ju8qQf7JeyRv32XT2lRMW0zMFZNhIrEf5/5VvpSz2rqrV7UcjClGbKsw==", + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-ava/-/eslint-plugin-ava-14.0.0.tgz", + "integrity": "sha512-XmKT6hppaipwwnLVwwvQliSU6AF1QMHiNoLD5JQfzhUhf0jY7CO0O624fQrE+Y/fTb9vbW8r77nKf7M/oHulxw==", "dev": true, "dependencies": { "enhance-visitors": "^1.0.0", @@ -8682,10 +8657,10 @@ "resolve-from": "^5.0.0" }, "engines": { - "node": ">=12.22 <13 || >=14.17 <15 || >=16.4" + "node": ">=14.17 <15 || >=16.4" }, "peerDependencies": { - "eslint": ">=7.22.0" + "eslint": ">=8.26.0" } }, "node_modules/eslint-plugin-ava/node_modules/pkg-dir": { @@ -8700,9 +8675,9 @@ } }, "node_modules/eslint-plugin-es": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-3.0.1.tgz", - "integrity": "sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-4.1.0.tgz", + "integrity": "sha512-GILhQTnjYE2WorX5Jyi5i4dz5ALWxBIdQECVQavL6s7cI76IZTDWleTHkxz/QT3kvcs2QlGHvKLYsSlPOlPXnQ==", "dev": true, "dependencies": { "eslint-utils": "^2.0.0", @@ -8787,17 +8762,18 @@ } }, "node_modules/eslint-plugin-jsdoc": { - "version": "39.9.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-39.9.1.tgz", - "integrity": "sha512-Rq2QY6BZP2meNIs48aZ3GlIlJgBqFCmR55+UBvaDkA3ZNQ0SvQXOs2QKkubakEijV8UbIVbVZKsOVN8G3MuqZw==", + "version": "41.1.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-41.1.2.tgz", + "integrity": "sha512-MePJXdGiPW7AG06CU5GbKzYtKpoHwTq1lKijjq+RwL/cQkZtBZ59Zbv5Ep0RVxSMnq6242249/n+w4XrTZ1Afg==", "dev": true, "peer": true, "dependencies": { - "@es-joy/jsdoccomment": "~0.36.1", + "@es-joy/jsdoccomment": "~0.37.0", + "are-docs-informative": "^0.0.2", "comment-parser": "1.3.1", "debug": "^4.3.4", "escape-string-regexp": "^4.0.0", - "esquery": "^1.4.0", + "esquery": "^1.5.0", "semver": "^7.3.8", "spdx-expression-parse": "^3.0.1" }, @@ -8821,57 +8797,29 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/eslint-plugin-node": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-11.1.0.tgz", - "integrity": "sha512-oUwtPJ1W0SKD0Tr+wqu92c5xuCeQqB3hSCHasn/ZgjFdA9iDGNkNf2Zi9ztY7X+hNuMib23LNGRm6+uN+KLE3g==", + "node_modules/eslint-plugin-n": { + "version": "15.7.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-15.7.0.tgz", + "integrity": "sha512-jDex9s7D/Qial8AGVIHq4W7NswpUD5DPDL2RH8Lzd9EloWUuvUkHfv4FRLMipH5q2UtyurorBkPeNi1wVWNh3Q==", "dev": true, "dependencies": { - "eslint-plugin-es": "^3.0.0", - "eslint-utils": "^2.0.0", + "builtins": "^5.0.1", + "eslint-plugin-es": "^4.1.0", + "eslint-utils": "^3.0.0", "ignore": "^5.1.1", - "minimatch": "^3.0.4", - "resolve": "^1.10.1", - "semver": "^6.1.0" - }, - "engines": { - "node": ">=8.10.0" - }, - "peerDependencies": { - "eslint": ">=5.16.0" - } - }, - "node_modules/eslint-plugin-node/node_modules/eslint-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", - "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", - "dev": true, - "dependencies": { - "eslint-visitor-keys": "^1.1.0" + "is-core-module": "^2.11.0", + "minimatch": "^3.1.2", + "resolve": "^1.22.1", + "semver": "^7.3.8" }, "engines": { - "node": ">=6" + "node": ">=12.22.0" }, "funding": { "url": "https://github.com/sponsors/mysticatea" - } - }, - "node_modules/eslint-plugin-node/node_modules/eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/eslint-plugin-node/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "bin": { - "semver": "bin/semver.js" + }, + "peerDependencies": { + "eslint": ">=7.0.0" } }, "node_modules/eslint-plugin-prettier": { @@ -8896,6 +8844,19 @@ } } }, + "node_modules/eslint-plugin-promise": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-6.1.1.tgz", + "integrity": "sha512-tjqWDwVZQo7UIPMeDReOpUgHCmCiH+ePnVT+5zVapL0uuHnegBUs2smM13CzOs2Xb5+MHMRFTs9v24yjba4Oig==", + "dev": true, + "peer": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0" + } + }, "node_modules/eslint-plugin-react": { "version": "7.33.1", "dev": true, @@ -10201,9 +10162,8 @@ }, "node_modules/global-dirs": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.1.tgz", - "integrity": "sha512-NknMLn7F2J7aflwFOlGdNIuCDpN3VGoSoB+aap3KABFWbHVn1TCgFC+np23J8W2BiZbjfEw3BFBycSMv1AFblg==", "dev": true, + "license": "MIT", "dependencies": { "ini": "^1.3.4" }, @@ -10768,9 +10728,8 @@ }, "node_modules/husky": { "version": "8.0.3", - "resolved": "https://registry.npmjs.org/husky/-/husky-8.0.3.tgz", - "integrity": "sha512-+dQSyqPh4x1hlO1swXBiNb2HzTDN1I2IGLQx1GrBuiqFJfoMrnZWwVmatvSiO+Iz8fBUnf+lekwNo4c2LlXItg==", "dev": true, + "license": "MIT", "bin": { "husky": "lib/bin.js" }, @@ -11703,9 +11662,9 @@ } }, "node_modules/jsdoc-type-pratt-parser": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-3.1.0.tgz", - "integrity": "sha512-MgtD0ZiCDk9B+eI73BextfRrVQl0oyzRG8B2BjORts6jbunj4ScKPcyXGTbB6eXL4y9TzxCm6hyeLq/2ASzNdw==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-4.0.0.tgz", + "integrity": "sha512-YtOli5Cmzy3q4dP26GraSOeAhqecewG04hoO8DY56CH4KJ9Fvv5qKWUCCo3HZob7esJQHCv6/+bnTy72xZZaVQ==", "dev": true, "peer": true, "engines": { @@ -12356,9 +12315,8 @@ }, "node_modules/lilconfig": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", - "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" } @@ -12370,9 +12328,8 @@ }, "node_modules/lint-staged": { "version": "13.2.3", - "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-13.2.3.tgz", - "integrity": "sha512-zVVEXLuQIhr1Y7R7YAWx4TZLdvuzk7DnmrsTNL0fax6Z3jrpFcas+vKbzxhhvp6TA55m1SQuWkpzI1qbfDZbAg==", "dev": true, + "license": "MIT", "dependencies": { "chalk": "5.2.0", "cli-truncate": "^3.1.0", @@ -12400,9 +12357,8 @@ }, "node_modules/lint-staged/node_modules/chalk": { "version": "5.2.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.2.0.tgz", - "integrity": "sha512-ree3Gqw/nazQAPuJJEy+avdl7QfZMcUvmHIKgEZkGL+xOBzRvup5Hxo6LHuMceSxOabuJLJm5Yp/92R9eMmMvA==", "dev": true, + "license": "MIT", "engines": { "node": "^12.17.0 || ^14.13 || >=16.0.0" }, @@ -12412,18 +12368,16 @@ }, "node_modules/lint-staged/node_modules/commander": { "version": "10.0.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", - "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", "dev": true, + "license": "MIT", "engines": { "node": ">=14" } }, "node_modules/lint-staged/node_modules/execa": { "version": "7.2.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-7.2.0.tgz", - "integrity": "sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA==", "dev": true, + "license": "MIT", "dependencies": { "cross-spawn": "^7.0.3", "get-stream": "^6.0.1", @@ -12444,9 +12398,8 @@ }, "node_modules/lint-staged/node_modules/get-stream": { "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" }, @@ -12456,18 +12409,16 @@ }, "node_modules/lint-staged/node_modules/human-signals": { "version": "4.3.1", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-4.3.1.tgz", - "integrity": "sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==", "dev": true, + "license": "Apache-2.0", "engines": { "node": ">=14.18.0" } }, "node_modules/lint-staged/node_modules/is-stream": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", - "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", "dev": true, + "license": "MIT", "engines": { "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, @@ -12477,9 +12428,8 @@ }, "node_modules/lint-staged/node_modules/mimic-fn": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", - "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", "dev": true, + "license": "MIT", "engines": { "node": ">=12" }, @@ -12489,9 +12439,8 @@ }, "node_modules/lint-staged/node_modules/npm-run-path": { "version": "5.1.0", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.1.0.tgz", - "integrity": "sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==", "dev": true, + "license": "MIT", "dependencies": { "path-key": "^4.0.0" }, @@ -12504,9 +12453,8 @@ }, "node_modules/lint-staged/node_modules/onetime": { "version": "6.0.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", - "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", "dev": true, + "license": "MIT", "dependencies": { "mimic-fn": "^4.0.0" }, @@ -12519,9 +12467,8 @@ }, "node_modules/lint-staged/node_modules/path-key": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", - "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=12" }, @@ -12531,9 +12478,8 @@ }, "node_modules/lint-staged/node_modules/strip-final-newline": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", - "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", "dev": true, + "license": "MIT", "engines": { "node": ">=12" }, @@ -12543,18 +12489,16 @@ }, "node_modules/lint-staged/node_modules/yaml": { "version": "2.3.1", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.1.tgz", - "integrity": "sha512-2eHWfjaoXgTBC2jNM1LRef62VQa0umtvRiDSk6HSzW7RvS5YtkabJrwYLLEKWBc8a5U2PTSCs+dJjUTJdlHsWQ==", "dev": true, + "license": "ISC", "engines": { "node": ">= 14" } }, "node_modules/listr2": { "version": "5.0.8", - "resolved": "https://registry.npmjs.org/listr2/-/listr2-5.0.8.tgz", - "integrity": "sha512-mC73LitKHj9w6v30nLNGPetZIlfpUniNSsxxrbaPcWOjDb92SHPzJPi/t+v1YC/lxKz/AJ9egOjww0qUuFxBpA==", "dev": true, + "license": "MIT", "dependencies": { "cli-truncate": "^2.1.0", "colorette": "^2.0.19", @@ -12579,9 +12523,8 @@ }, "node_modules/listr2/node_modules/cli-truncate": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz", - "integrity": "sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==", "dev": true, + "license": "MIT", "dependencies": { "slice-ansi": "^3.0.0", "string-width": "^4.2.0" @@ -12595,9 +12538,8 @@ }, "node_modules/listr2/node_modules/slice-ansi": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz", - "integrity": "sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^4.0.0", "astral-regex": "^2.0.0", @@ -12674,9 +12616,8 @@ }, "node_modules/lodash.camelcase": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", - "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/lodash.debounce": { "version": "4.0.8", @@ -12701,9 +12642,8 @@ }, "node_modules/lodash.isfunction": { "version": "3.0.9", - "resolved": "https://registry.npmjs.org/lodash.isfunction/-/lodash.isfunction-3.0.9.tgz", - "integrity": "sha512-AirXNj15uRIMMPihnkInB4i3NHeb4iBtNg9WRWuK2o31S+ePwwNmDPaTL3o7dTJ+VXNZim7rFs4rxN4YU1oUJw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/lodash.ismatch": { "version": "4.4.0", @@ -12712,15 +12652,13 @@ }, "node_modules/lodash.isplainobject": { "version": "4.0.6", - "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", - "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/lodash.kebabcase": { "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz", - "integrity": "sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/lodash.map": { "version": "4.6.0", @@ -12736,9 +12674,8 @@ }, "node_modules/lodash.mergewith": { "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.2.tgz", - "integrity": "sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/lodash.pick": { "version": "4.4.0", @@ -12754,9 +12691,8 @@ }, "node_modules/lodash.snakecase": { "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.snakecase/-/lodash.snakecase-4.1.1.tgz", - "integrity": "sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/lodash.some": { "version": "4.6.0", @@ -12764,9 +12700,8 @@ }, "node_modules/lodash.startcase": { "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.startcase/-/lodash.startcase-4.4.0.tgz", - "integrity": "sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/lodash.template": { "version": "4.5.0", @@ -12792,15 +12727,13 @@ }, "node_modules/lodash.uniq": { "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", - "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/lodash.upperfirst": { "version": "4.3.1", - "resolved": "https://registry.npmjs.org/lodash.upperfirst/-/lodash.upperfirst-4.3.1.tgz", - "integrity": "sha512-sReKOYJIJf74dhJONhU4e0/shzi1trVbSWDOhKYE5XV2O+H7Sb2Dihwuc7xWxVl+DgFPyTqIN3zMfT9cq5iWDg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/log-symbols": { "version": "4.1.0", @@ -12819,9 +12752,8 @@ }, "node_modules/log-update": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/log-update/-/log-update-4.0.0.tgz", - "integrity": "sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==", "dev": true, + "license": "MIT", "dependencies": { "ansi-escapes": "^4.3.0", "cli-cursor": "^3.1.0", @@ -12837,9 +12769,8 @@ }, "node_modules/log-update/node_modules/slice-ansi": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", - "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^4.0.0", "astral-regex": "^2.0.0", @@ -12854,9 +12785,8 @@ }, "node_modules/log-update/node_modules/wrap-ansi": { "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -12939,9 +12869,8 @@ }, "node_modules/make-error": { "version": "1.3.6", - "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", - "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/make-fetch-happen": { "version": "11.1.1", @@ -15452,9 +15381,8 @@ }, "node_modules/pidtree": { "version": "0.6.0", - "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.6.0.tgz", - "integrity": "sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==", "dev": true, + "license": "MIT", "bin": { "pidtree": "bin/pidtree.js" }, @@ -16104,9 +16032,8 @@ }, "node_modules/q": { "version": "1.5.1", - "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", - "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.6.0", "teleport": ">=0.2.0" @@ -17041,9 +16968,8 @@ }, "node_modules/resolve-global": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/resolve-global/-/resolve-global-1.0.0.tgz", - "integrity": "sha512-zFa12V4OLtT5XUX/Q4VLvTfBf+Ok0SPc1FNGM/z9ctUdiU618qwKpWnd0CHs3+RqROfyEg/DhuHbMWYqcgljEw==", "dev": true, + "license": "MIT", "dependencies": { "global-dirs": "^0.1.1" }, @@ -17096,9 +17022,8 @@ }, "node_modules/rfdc": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz", - "integrity": "sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/rimraf": { "version": "3.0.2", @@ -18185,9 +18110,8 @@ }, "node_modules/string-argv": { "version": "0.3.2", - "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.2.tgz", - "integrity": "sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.6.19" } @@ -18837,9 +18761,8 @@ }, "node_modules/ts-node": { "version": "10.9.1", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz", - "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==", "dev": true, + "license": "MIT", "dependencies": { "@cspotcode/source-map-support": "^0.8.0", "@tsconfig/node10": "^1.0.7", @@ -18880,15 +18803,13 @@ }, "node_modules/ts-node/node_modules/arg": { "version": "4.1.3", - "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", - "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/ts-node/node_modules/diff": { "version": "4.0.2", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", "dev": true, + "license": "BSD-3-Clause", "engines": { "node": ">=0.3.1" } @@ -19271,9 +19192,8 @@ }, "node_modules/v8-compile-cache-lib": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", - "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/validate-npm-package-license": { "version": "3.0.4", @@ -20088,9 +20008,8 @@ }, "node_modules/yn": { "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", - "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } @@ -20131,12 +20050,6 @@ "bin": { "lavamoat-ls": "src/cli.js" }, - "devDependencies": { - "@metamask/eslint-config-nodejs": "^11.0.1", - "ava": "^5.2.0", - "eslint-plugin-ava": "^13.2.0", - "eslint-plugin-node": "^11.0.1" - }, "engines": { "node": ">=14.0.0" } @@ -20155,12 +20068,6 @@ "bin": { "allow-scripts": "src/cli.js" }, - "devDependencies": { - "@metamask/eslint-config-nodejs": "^11.0.1", - "ava": "^5.2.0", - "eslint-plugin-ava": "^13.2.0", - "eslint-plugin-node": "^11.1.0" - }, "engines": { "node": ">=14.0.0" } @@ -20202,17 +20109,17 @@ }, "packages/browserify": { "name": "lavamoat-browserify", - "version": "15.7.0", + "version": "15.7.1", "license": "MIT", "dependencies": { "@lavamoat/aa": "^3.1.0", - "@lavamoat/lavapack": "^5.2.0", + "@lavamoat/lavapack": "^5.2.1", "browser-resolve": "^2.0.0", "concat-stream": "^2.0.0", "convert-source-map": "^1.9.0", "duplexify": "^4.1.1", "json-stable-stringify": "^1.0.1", - "lavamoat-core": "^14.2.0", + "lavamoat-core": "^14.2.1", "pify": "^4.0.1", "readable-stream": "^3.6.0", "source-map": "^0.7.4", @@ -20220,12 +20127,8 @@ }, "devDependencies": { "@babel/code-frame": "^7.21.4", - "@metamask/eslint-config-nodejs": "^11.0.1", "bify-package-factor": "^1.0.7", "browserify": "^17.0.0", - "depcheck": "^1.4.0", - "eslint-plugin-ava": "^13.2.0", - "eslint-plugin-node": "^11.1.0", "keccak": "^3.0.2", "source-map-explorer": "^2.5.3", "sourcemap-validator": "^2.1.0", @@ -20268,7 +20171,7 @@ }, "packages/core": { "name": "lavamoat-core", - "version": "14.2.0", + "version": "14.2.1", "license": "MIT", "dependencies": { "json-stable-stringify": "^1.0.2", @@ -20276,9 +20179,6 @@ "merge-deep": "^3.0.3" }, "devDependencies": { - "@metamask/eslint-config-nodejs": "^11.0.1", - "eslint-plugin-ava": "^13.2.0", - "eslint-plugin-node": "^11.1.0", "ses": "^0.18.4", "tmp-promise": "^3.0.3" }, @@ -20288,23 +20188,19 @@ }, "packages/lavapack": { "name": "@lavamoat/lavapack", - "version": "5.2.0", + "version": "5.2.1", "license": "MIT", "dependencies": { "combine-source-map": "^0.8.0", "convert-source-map": "^2.0.0", "json-stable-stringify": "^1.0.2", "JSONStream": "^1.3.5", - "lavamoat-core": "^14.2.0", + "lavamoat-core": "^14.2.1", "readable-stream": "^3.6.0", "through2": "^4.0.2", "umd": "^3.0.3" }, "devDependencies": { - "@metamask/eslint-config-nodejs": "^11.0.1", - "ava": "^5.2.0", - "eslint-plugin-ava": "^13.2.0", - "eslint-plugin-node": "^11.1.0", "espree": "^9.5.2", "mississippi": "^4.0.0", "source-map": "^0.7.4" @@ -20343,7 +20239,7 @@ "bindings": "^1.5.0", "htmlescape": "^1.1.1", "json-stable-stringify": "^1.0.2", - "lavamoat-core": "^14.2.0", + "lavamoat-core": "^14.2.1", "lavamoat-tofu": "^6.0.2", "node-gyp-build": "^4.6.0", "resolve": "^1.22.3", @@ -20353,11 +20249,6 @@ "lavamoat": "src/cli.js", "lavamoat-run-command": "src/run-command.js" }, - "devDependencies": { - "@metamask/eslint-config-nodejs": "^11.0.1", - "eslint-plugin-ava": "^13.2.0", - "eslint-plugin-node": "^11.1.0" - }, "engines": { "node": ">=14.0.0 <19.0.0" } @@ -20404,7 +20295,7 @@ "@endo/compartment-mapper": "^0.8.4", "browserify": "^17.0.0", "lavamoat": "^7.0.0", - "lavamoat-browserify": "^15.7.0", + "lavamoat-browserify": "^15.7.1", "readable-stream": "^3.6.0", "ses": "^0.18.4" }, @@ -20462,10 +20353,7 @@ "@babel/traverse": "^7.21.5" }, "devDependencies": { - "@metamask/eslint-config-nodejs": "^11.0.1", - "deep-equal": "^2.2.1", - "eslint-plugin-ava": "^13.2.0", - "eslint-plugin-node": "^11.1.0" + "deep-equal": "^2.2.1" }, "engines": { "node": ">=14.0.0" @@ -20476,7 +20364,7 @@ "version": "6.0.9", "license": "MIT", "dependencies": { - "lavamoat-core": "^14.2.0", + "lavamoat-core": "^14.2.1", "ncp": "^2.0.0", "open": "^7.0.3", "pify": "^4.0.1", @@ -20490,7 +20378,6 @@ "@babel/core": "7.21.8", "@babel/preset-env": "^7.21.5", "@babel/preset-react": "^7.18.6", - "@metamask/eslint-config": "2", "arr-union": "^3.1.0", "babel-loader": "^9.1.2", "clone-deep": "^4.0.1", @@ -20498,9 +20385,6 @@ "copy-webpack-plugin": "^10.2.4", "css-loader": "^6.7.3", "d3": "^5.12.0", - "eslint": "^8.40.0", - "eslint-plugin-import": "^2.27.5", - "eslint-plugin-react": "^7.32.2", "esm": "^3.2.25", "gh-pages": "^2.2.0", "html-webpack-plugin": "^5.5.1", @@ -20525,12 +20409,6 @@ "node": ">=14.0.0 <19.0.0" } }, - "packages/viz/node_modules/@metamask/eslint-config": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@metamask/eslint-config/-/eslint-config-2.2.0.tgz", - "integrity": "sha512-8iOvryX4n1r+LKcpmCr9c05myBd+PmNRzkZNIukhmR7GzNhUFCozj5e6mqLFKWTPs1RBaJcovsZl0VTbZnbxuw==", - "dev": true - }, "packages/viz/node_modules/glob": { "version": "10.3.3", "dev": true, diff --git a/package.json b/package.json index 5c237315e0..64fbf42081 100644 --- a/package.json +++ b/package.json @@ -8,14 +8,16 @@ "devDependencies": { "@commitlint/cli": "^17.6.7", "@commitlint/config-conventional": "^17.6.7", - "@metamask/eslint-config-nodejs": "^11.0.1", + "@metamask/eslint-config-nodejs": "^12.0.0", "ava": "^5.3.1", "conventional-changelog-conventionalcommits": "^6.1.0", "cross-env": "^7.0.3", "depcheck": "^1.4.0", - "eslint": "^8.40.0", - "eslint-plugin-ava": "^13.2.0", - "eslint-plugin-node": "^11.1.0", + "eslint": "^8.45.0", + "eslint-plugin-ava": "^14.0.0", + "eslint-plugin-import": "^2.27.5", + "eslint-plugin-n": "^15.7.0", + "eslint-plugin-react": "^7.33.0", "husky": "^8.0.3", "lerna": "^7.1.4", "lint-staged": "^13.2.3" @@ -26,8 +28,10 @@ "scripts": { "test": "npm --workspaces test", "test:prep": "lerna run test:prep", - "lint": "npm --workspaces run lint", - "lint:fix": "npm --workspaces run lint:fix", + "lint": "npm run lint:eslint && npm run lint:deps", + "lint:eslint": "eslint .", + "lint:fix": "eslint . --fix", + "lint:deps": "lerna run lint:deps", "build": "npm -w @lavamoat/lavapack -w @lavamoat/viz -w @lavamoat/yarn-plugin-allow-scripts run build", "rebuild": "npm -w @lavamoat/lavapack -w @lavamoat/viz -w @lavamoat/yarn-plugin-allow-scripts run rebuild", "lint:staged": "lint-staged", @@ -53,6 +57,11 @@ "$root$": true } }, + "prettier": { + "singleQuote": true, + "semi": false, + "trailingComma": "all" + }, "ava": { "files": [ "packages/*/test/*.spec.js" diff --git a/packages/aa/.depcheckrc b/packages/aa/.depcheckrc new file mode 100644 index 0000000000..cfbbd2ca32 --- /dev/null +++ b/packages/aa/.depcheckrc @@ -0,0 +1,3 @@ +ignores: + # monorepo deps + - 'ava' diff --git a/packages/aa/.eslintignore b/packages/aa/.eslintignore deleted file mode 100644 index f8d5f3be83..0000000000 --- a/packages/aa/.eslintignore +++ /dev/null @@ -1,5 +0,0 @@ -!src -!test -**/*.js -!src/**/*.js -!test/**/*.js diff --git a/packages/aa/.eslintrc.json b/packages/aa/.eslintrc.json deleted file mode 100644 index c414df3d9c..0000000000 --- a/packages/aa/.eslintrc.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "extends": "../../.eslintrc.json", - "rules": { - "node/no-process-exit": 0 - } -} diff --git a/packages/aa/package.json b/packages/aa/package.json index ec646257cc..25d33db940 100644 --- a/packages/aa/package.json +++ b/packages/aa/package.json @@ -12,17 +12,8 @@ "scripts": { "test": "npm run test:run", "test:run": "ava", - "lint": "npm run lint:eslint && npm run lint:deps", - "lint:eslint": "eslint .", - "lint:fix": "eslint . --fix", "lint:deps": "depcheck" }, - "devDependencies": { - "@metamask/eslint-config-nodejs": "^11.0.1", - "ava": "^5.2.0", - "eslint-plugin-ava": "^13.2.0", - "eslint-plugin-node": "^11.0.1" - }, "dependencies": { "resolve": "^1.22.3" }, diff --git a/packages/allow-scripts/.depcheckrc b/packages/allow-scripts/.depcheckrc new file mode 100644 index 0000000000..cfbbd2ca32 --- /dev/null +++ b/packages/allow-scripts/.depcheckrc @@ -0,0 +1,3 @@ +ignores: + # monorepo deps + - 'ava' diff --git a/packages/allow-scripts/.eslintignore b/packages/allow-scripts/.eslintignore deleted file mode 100644 index f8d5f3be83..0000000000 --- a/packages/allow-scripts/.eslintignore +++ /dev/null @@ -1,5 +0,0 @@ -!src -!test -**/*.js -!src/**/*.js -!test/**/*.js diff --git a/packages/allow-scripts/.eslintrc.json b/packages/allow-scripts/.eslintrc.json deleted file mode 100644 index be97c53fbb..0000000000 --- a/packages/allow-scripts/.eslintrc.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "extends": "../../.eslintrc.json" -} diff --git a/packages/allow-scripts/package.json b/packages/allow-scripts/package.json index d985ad51bf..5f3782e28e 100644 --- a/packages/allow-scripts/package.json +++ b/packages/allow-scripts/package.json @@ -29,19 +29,10 @@ "directories": { "test": "test" }, - "devDependencies": { - "@metamask/eslint-config-nodejs": "^11.0.1", - "ava": "^5.2.0", - "eslint-plugin-ava": "^13.2.0", - "eslint-plugin-node": "^11.1.0" - }, "scripts": { - "test": "npm run test:run", + "test": "npm run test:prep && test:run", "test:run": "ava", "test:prep": "for d in ./test/projects/*/ ; do (cd \"$d\" && ../../../src/cli.js auto --experimental-bins); done", - "lint": "npm run lint:eslint && npm run lint:deps", - "lint:eslint": "eslint .", - "lint:fix": "eslint . --fix", "lint:deps": "depcheck" }, "author": "", diff --git a/packages/browserify/.depcheckrc b/packages/browserify/.depcheckrc index 07c15ad7a4..dfa5d9be4b 100644 --- a/packages/browserify/.depcheckrc +++ b/packages/browserify/.depcheckrc @@ -1,17 +1,16 @@ ignores: # monorepo deps - - "ava" - - "eslint" + - 'ava' # tests - used in tests - - "lavamoat-browserify" - - "keccak" + - 'lavamoat-browserify' + - 'keccak' # tests - fake packages - - "banana" - - "two" - - "one" - - "victim" - - "attacker" - - "three" - - "a" - - "b" - - "c" + - 'banana' + - 'two' + - 'one' + - 'victim' + - 'attacker' + - 'three' + - 'a' + - 'b' + - 'c' diff --git a/packages/browserify/.eslintignore b/packages/browserify/.eslintignore deleted file mode 100644 index f8d5f3be83..0000000000 --- a/packages/browserify/.eslintignore +++ /dev/null @@ -1,5 +0,0 @@ -!src -!test -**/*.js -!src/**/*.js -!test/**/*.js diff --git a/packages/browserify/.eslintrc.json b/packages/browserify/.eslintrc.json deleted file mode 100644 index be97c53fbb..0000000000 --- a/packages/browserify/.eslintrc.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "extends": "../../.eslintrc.json" -} diff --git a/packages/browserify/package.json b/packages/browserify/package.json index 0d1f7b99de..1cb38b6f4a 100644 --- a/packages/browserify/package.json +++ b/packages/browserify/package.json @@ -26,12 +26,8 @@ }, "devDependencies": { "@babel/code-frame": "^7.21.4", - "@metamask/eslint-config-nodejs": "^11.0.1", "bify-package-factor": "^1.0.7", "browserify": "^17.0.0", - "depcheck": "^1.4.0", - "eslint-plugin-ava": "^13.2.0", - "eslint-plugin-node": "^11.1.0", "keccak": "^3.0.2", "source-map-explorer": "^2.5.3", "sourcemap-validator": "^2.1.0", @@ -41,12 +37,10 @@ "watchify": "^4.0.0" }, "scripts": { - "test": "ava", - "test:prep": "WRITE_AUTO_POLICY=1 ./test/fixtures/secureBundling/run.sh", - "lint": "npm run lint:eslint && npm run lint:deps", - "lint:eslint": "eslint .", - "lint:fix": "eslint . --fix", "lint:deps": "depcheck", + "test": "npm run test:prep && npm run test:ava", + "test:prep": "WRITE_AUTO_POLICY=1 ./test/fixtures/secureBundling/run.sh", + "test:ava": "ava", "build:ses": "(cd ./node_modules/ses && npm install && npm run build && cp ./dist/ses.umd.js ../../lib/)" }, "author": "kumavis", diff --git a/packages/browserify/test/fixtures/secureBundling/lavamoat/node/policy.json b/packages/browserify/test/fixtures/secureBundling/lavamoat/node/policy.json index c5898cd2c4..604cc37ace 100644 --- a/packages/browserify/test/fixtures/secureBundling/lavamoat/node/policy.json +++ b/packages/browserify/test/fixtures/secureBundling/lavamoat/node/policy.json @@ -69,7 +69,7 @@ "performantResolve": true }, "packages": { - "depcheck>resolve": true + "browserify>resolve": true } }, "@lavamoat/lavapack": { @@ -156,7 +156,7 @@ "process.platform": true }, "packages": { - "depcheck>resolve": true + "browserify>resolve": true } }, "browserify": { @@ -187,10 +187,10 @@ "browserify>labeled-stream-splicer": true, "browserify>module-deps": true, "browserify>read-only-stream": true, + "browserify>resolve": true, "browserify>shasum-object": true, "browserify>syntax-error": true, "browserify>through2": true, - "depcheck>resolve": true, "through2>inherits": true, "watchify>defined": true, "watchify>xtend": true @@ -465,8 +465,8 @@ "browserify>module-deps>readable-stream": true, "browserify>module-deps>stream-combiner2": true, "browserify>parents": true, + "browserify>resolve": true, "browserify>through2": true, - "depcheck>resolve": true, "through2>inherits": true, "watchify>defined": true, "watchify>xtend": true @@ -622,6 +622,52 @@ "process": true } }, + "browserify>resolve": { + "builtin": { + "fs.readFile": true, + "fs.readFileSync": true, + "fs.realpath": true, + "fs.realpathSync": true, + "fs.stat": true, + "fs.statSync": true, + "os.homedir": true, + "path.dirname": true, + "path.join": true, + "path.parse": true, + "path.relative": true, + "path.resolve": true + }, + "globals": { + "process.env.HOME": true, + "process.env.HOMEDRIVE": true, + "process.env.HOMEPATH": true, + "process.env.LNAME": true, + "process.env.LOGNAME": true, + "process.env.USER": true, + "process.env.USERNAME": true, + "process.env.USERPROFILE": true, + "process.getuid": true, + "process.nextTick": true, + "process.platform": true + }, + "packages": { + "browserify>resolve>is-core-module": true, + "browserify>resolve>path-parse": true + } + }, + "browserify>resolve>is-core-module": { + "globals": { + "process.versions": true + }, + "packages": { + "browserify>has": true + } + }, + "browserify>resolve>path-parse": { + "globals": { + "process.platform": true + } + }, "browserify>shasum-object": { "builtin": { "crypto.createHash": true @@ -723,117 +769,177 @@ "Buffer": true } }, - "depcheck>@babel/traverse": { + "duplexify": { + "globals": { + "Buffer": true, + "process.nextTick": true + }, + "packages": { + "duplexify>end-of-stream": true, + "duplexify>stream-shift": true, + "readable-stream": true, + "through2>inherits": true + } + }, + "duplexify>end-of-stream": { + "globals": { + "process.nextTick": true + }, + "packages": { + "duplexify>end-of-stream>once": true + } + }, + "duplexify>end-of-stream>once": { + "packages": { + "duplexify>end-of-stream>once>wrappy": true + } + }, + "json-stable-stringify": { + "packages": { + "json-stable-stringify>jsonify": true + } + }, + "lavamoat-core": { + "builtin": { + "events": true, + "fs.existsSync": true, + "fs.readFileSync": true, + "fs.writeFileSync": true, + "path.extname": true, + "path.join": true + }, + "globals": { + "__dirname": true, + "console.error": true, + "console.warn": true, + "define": true + }, + "packages": { + "json-stable-stringify": true, + "lavamoat-core>lavamoat-tofu": true, + "lavamoat-core>merge-deep": true + } + }, + "lavamoat-core>lavamoat-tofu": { + "globals": { + "console.log": true + }, + "packages": { + "lavamoat-core>lavamoat-tofu>@babel/parser": true, + "lavamoat-core>lavamoat-tofu>@babel/traverse": true + } + }, + "lavamoat-core>lavamoat-tofu>@babel/traverse": { "globals": { "console.log": true }, "packages": { "@babel/code-frame": true, - "depcheck>@babel/traverse>@babel/generator": true, - "depcheck>@babel/traverse>@babel/helper-environment-visitor": true, - "depcheck>@babel/traverse>@babel/helper-function-name": true, - "depcheck>@babel/traverse>@babel/helper-hoist-variables": true, - "depcheck>@babel/traverse>@babel/helper-split-export-declaration": true, - "depcheck>@babel/traverse>@babel/parser": true, - "depcheck>@babel/traverse>@babel/types": true, - "depcheck>@babel/traverse>globals": true, - "depcheck>debug": true - } - }, - "depcheck>@babel/traverse>@babel/generator": { + "lavamoat-core>lavamoat-tofu>@babel/parser": true, + "lavamoat-core>lavamoat-tofu>@babel/traverse>@babel/generator": true, + "lavamoat-core>lavamoat-tofu>@babel/traverse>@babel/helper-environment-visitor": true, + "lavamoat-core>lavamoat-tofu>@babel/traverse>@babel/helper-function-name": true, + "lavamoat-core>lavamoat-tofu>@babel/traverse>@babel/helper-hoist-variables": true, + "lavamoat-core>lavamoat-tofu>@babel/traverse>@babel/helper-split-export-declaration": true, + "lavamoat-core>lavamoat-tofu>@babel/traverse>@babel/types": true, + "lavamoat-core>lavamoat-tofu>@babel/traverse>debug": true, + "lavamoat-core>lavamoat-tofu>@babel/traverse>globals": true + } + }, + "lavamoat-core>lavamoat-tofu>@babel/traverse>@babel/generator": { "globals": { "console.error": true }, "packages": { - "depcheck>@babel/traverse>@babel/generator>@jridgewell/gen-mapping": true, - "depcheck>@babel/traverse>@babel/generator>@jridgewell/trace-mapping": true, - "depcheck>@babel/traverse>@babel/generator>jsesc": true, - "depcheck>@babel/traverse>@babel/types": true + "lavamoat-core>lavamoat-tofu>@babel/traverse>@babel/generator>@jridgewell/gen-mapping": true, + "lavamoat-core>lavamoat-tofu>@babel/traverse>@babel/generator>@jridgewell/trace-mapping": true, + "lavamoat-core>lavamoat-tofu>@babel/traverse>@babel/generator>jsesc": true, + "lavamoat-core>lavamoat-tofu>@babel/traverse>@babel/types": true } }, - "depcheck>@babel/traverse>@babel/generator>@jridgewell/gen-mapping": { + "lavamoat-core>lavamoat-tofu>@babel/traverse>@babel/generator>@jridgewell/gen-mapping": { "globals": { "define": true }, "packages": { - "depcheck>@babel/traverse>@babel/generator>@jridgewell/gen-mapping>@jridgewell/set-array": true, - "depcheck>@babel/traverse>@babel/generator>@jridgewell/trace-mapping": true, - "depcheck>@vue/compiler-sfc>magic-string>@jridgewell/sourcemap-codec": true + "lavamoat-core>lavamoat-tofu>@babel/traverse>@babel/generator>@jridgewell/gen-mapping>@jridgewell/set-array": true, + "lavamoat-core>lavamoat-tofu>@babel/traverse>@babel/generator>@jridgewell/gen-mapping>@jridgewell/sourcemap-codec": true, + "lavamoat-core>lavamoat-tofu>@babel/traverse>@babel/generator>@jridgewell/trace-mapping": true } }, - "depcheck>@babel/traverse>@babel/generator>@jridgewell/gen-mapping>@jridgewell/set-array": { + "lavamoat-core>lavamoat-tofu>@babel/traverse>@babel/generator>@jridgewell/gen-mapping>@jridgewell/set-array": { "globals": { "define": true } }, - "depcheck>@babel/traverse>@babel/generator>@jridgewell/trace-mapping": { + "lavamoat-core>lavamoat-tofu>@babel/traverse>@babel/generator>@jridgewell/gen-mapping>@jridgewell/sourcemap-codec": { + "globals": { + "Buffer": true, + "TextDecoder": true, + "define": true + } + }, + "lavamoat-core>lavamoat-tofu>@babel/traverse>@babel/generator>@jridgewell/trace-mapping": { "globals": { "define": true }, "packages": { - "depcheck>@babel/traverse>@babel/generator>@jridgewell/trace-mapping>@jridgewell/resolve-uri": true, - "depcheck>@babel/traverse>@babel/generator>@jridgewell/trace-mapping>@jridgewell/sourcemap-codec": true + "lavamoat-core>lavamoat-tofu>@babel/traverse>@babel/generator>@jridgewell/trace-mapping>@jridgewell/resolve-uri": true, + "lavamoat-core>lavamoat-tofu>@babel/traverse>@babel/generator>@jridgewell/trace-mapping>@jridgewell/sourcemap-codec": true } }, - "depcheck>@babel/traverse>@babel/generator>@jridgewell/trace-mapping>@jridgewell/resolve-uri": { + "lavamoat-core>lavamoat-tofu>@babel/traverse>@babel/generator>@jridgewell/trace-mapping>@jridgewell/resolve-uri": { "globals": { "define": true } }, - "depcheck>@babel/traverse>@babel/generator>@jridgewell/trace-mapping>@jridgewell/sourcemap-codec": { + "lavamoat-core>lavamoat-tofu>@babel/traverse>@babel/generator>@jridgewell/trace-mapping>@jridgewell/sourcemap-codec": { "globals": { "Buffer": true, "TextDecoder": true, "define": true } }, - "depcheck>@babel/traverse>@babel/generator>jsesc": { + "lavamoat-core>lavamoat-tofu>@babel/traverse>@babel/generator>jsesc": { "globals": { "Buffer.isBuffer": true } }, - "depcheck>@babel/traverse>@babel/helper-function-name": { + "lavamoat-core>lavamoat-tofu>@babel/traverse>@babel/helper-function-name": { "packages": { - "depcheck>@babel/traverse>@babel/helper-function-name>@babel/template": true, - "depcheck>@babel/traverse>@babel/types": true + "lavamoat-core>lavamoat-tofu>@babel/traverse>@babel/helper-function-name>@babel/template": true, + "lavamoat-core>lavamoat-tofu>@babel/traverse>@babel/types": true } }, - "depcheck>@babel/traverse>@babel/helper-function-name>@babel/template": { + "lavamoat-core>lavamoat-tofu>@babel/traverse>@babel/helper-function-name>@babel/template": { "packages": { "@babel/code-frame": true, - "depcheck>@babel/traverse>@babel/parser": true, - "depcheck>@babel/traverse>@babel/types": true + "lavamoat-core>lavamoat-tofu>@babel/parser": true, + "lavamoat-core>lavamoat-tofu>@babel/traverse>@babel/types": true } }, - "depcheck>@babel/traverse>@babel/helper-hoist-variables": { + "lavamoat-core>lavamoat-tofu>@babel/traverse>@babel/helper-hoist-variables": { "packages": { - "depcheck>@babel/traverse>@babel/types": true + "lavamoat-core>lavamoat-tofu>@babel/traverse>@babel/types": true } }, - "depcheck>@babel/traverse>@babel/helper-split-export-declaration": { + "lavamoat-core>lavamoat-tofu>@babel/traverse>@babel/helper-split-export-declaration": { "packages": { - "depcheck>@babel/traverse>@babel/types": true + "lavamoat-core>lavamoat-tofu>@babel/traverse>@babel/types": true } }, - "depcheck>@babel/traverse>@babel/types": { + "lavamoat-core>lavamoat-tofu>@babel/traverse>@babel/types": { "globals": { "console.warn": true, "process.env.BABEL_TYPES_8_BREAKING": true }, "packages": { "@babel/code-frame>@babel/highlight>@babel/helper-validator-identifier": true, - "depcheck>@babel/traverse>@babel/types>@babel/helper-string-parser": true, - "depcheck>@babel/traverse>@babel/types>to-fast-properties": true + "lavamoat-core>lavamoat-tofu>@babel/traverse>@babel/types>@babel/helper-string-parser": true, + "lavamoat-core>lavamoat-tofu>@babel/traverse>@babel/types>to-fast-properties": true } }, - "depcheck>@vue/compiler-sfc>magic-string>@jridgewell/sourcemap-codec": { - "globals": { - "Buffer": true, - "TextDecoder": true, - "define": true - } - }, - "depcheck>debug": { + "lavamoat-core>lavamoat-tofu>@babel/traverse>debug": { "builtin": { "tty.isatty": true, "util.deprecate": true, @@ -848,116 +954,10 @@ "process": true }, "packages": { - "depcheck>debug>ms": true, + "lavamoat-core>lavamoat-tofu>@babel/traverse>debug>ms": true, "source-map-explorer>chalk>supports-color": true } }, - "depcheck>is-core-module": { - "globals": { - "process.versions": true - }, - "packages": { - "browserify>has": true - } - }, - "depcheck>resolve": { - "builtin": { - "fs.readFile": true, - "fs.readFileSync": true, - "fs.realpath": true, - "fs.realpathSync": true, - "fs.stat": true, - "fs.statSync": true, - "os.homedir": true, - "path.dirname": true, - "path.join": true, - "path.parse": true, - "path.relative": true, - "path.resolve": true - }, - "globals": { - "process.env.HOME": true, - "process.env.HOMEDRIVE": true, - "process.env.HOMEPATH": true, - "process.env.LNAME": true, - "process.env.LOGNAME": true, - "process.env.USER": true, - "process.env.USERNAME": true, - "process.env.USERPROFILE": true, - "process.getuid": true, - "process.nextTick": true, - "process.platform": true - }, - "packages": { - "depcheck>is-core-module": true, - "depcheck>resolve>path-parse": true - } - }, - "depcheck>resolve>path-parse": { - "globals": { - "process.platform": true - } - }, - "duplexify": { - "globals": { - "Buffer": true, - "process.nextTick": true - }, - "packages": { - "duplexify>end-of-stream": true, - "duplexify>stream-shift": true, - "readable-stream": true, - "through2>inherits": true - } - }, - "duplexify>end-of-stream": { - "globals": { - "process.nextTick": true - }, - "packages": { - "duplexify>end-of-stream>once": true - } - }, - "duplexify>end-of-stream>once": { - "packages": { - "duplexify>end-of-stream>once>wrappy": true - } - }, - "json-stable-stringify": { - "packages": { - "json-stable-stringify>jsonify": true - } - }, - "lavamoat-core": { - "builtin": { - "events": true, - "fs.existsSync": true, - "fs.readFileSync": true, - "fs.writeFileSync": true, - "path.extname": true, - "path.join": true - }, - "globals": { - "__dirname": true, - "console.error": true, - "console.warn": true, - "define": true - }, - "packages": { - "json-stable-stringify": true, - "lavamoat-core>lavamoat-tofu": true, - "lavamoat-core>merge-deep": true - } - }, - "lavamoat-core>lavamoat-tofu": { - "globals": { - "console.log": true - }, - "packages": { - "depcheck>@babel/traverse": true, - "depcheck>@babel/traverse>@babel/parser": true - } - }, "lavamoat-core>merge-deep": { "packages": { "lavamoat-core>merge-deep>arr-union": true, diff --git a/packages/core/.eslintignore b/packages/core/.eslintignore deleted file mode 100644 index f8d5f3be83..0000000000 --- a/packages/core/.eslintignore +++ /dev/null @@ -1,5 +0,0 @@ -!src -!test -**/*.js -!src/**/*.js -!test/**/*.js diff --git a/packages/core/.eslintrc.json b/packages/core/.eslintrc.json deleted file mode 100644 index be97c53fbb..0000000000 --- a/packages/core/.eslintrc.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "extends": "../../.eslintrc.json" -} diff --git a/packages/core/package.json b/packages/core/package.json index 5c031d2edf..081cc921ea 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -15,16 +15,10 @@ "merge-deep": "^3.0.3" }, "devDependencies": { - "@metamask/eslint-config-nodejs": "^11.0.1", - "eslint-plugin-ava": "^13.2.0", - "eslint-plugin-node": "^11.1.0", "ses": "^0.18.4", "tmp-promise": "^3.0.3" }, "scripts": { - "lint": "npm run lint:eslint && npm run lint:deps", - "lint:eslint": "eslint .", - "lint:fix": "eslint --fix .", "lint:deps": "depcheck", "test": "ava", "lib:ses": "echo 'disabled SES overwrite in this branch'; exit 1 #cp ../../node_modules/ses/dist/lockdown.umd.js ./lib/lockdown.umd.js" @@ -36,13 +30,6 @@ "url": "https://github.com/LavaMoat/lavamoat/issues" }, "homepage": "https://github.com/LavaMoat/lavamoat#readme", - "eslintConfig": { - "globals": { - "Compartment": "readonly", - "templateRequire": "readonly", - "lockdown": "readonly" - } - }, "ava": { "files": [ "test/*.spec.js" diff --git a/packages/lavapack/.depcheckrc b/packages/lavapack/.depcheckrc new file mode 100644 index 0000000000..9ace6dea3f --- /dev/null +++ b/packages/lavapack/.depcheckrc @@ -0,0 +1,3 @@ +ignores: + # monorepo deps + - "ava" diff --git a/packages/lavapack/.eslintignore b/packages/lavapack/.eslintignore deleted file mode 100644 index ae96617332..0000000000 --- a/packages/lavapack/.eslintignore +++ /dev/null @@ -1,8 +0,0 @@ -!src -!test -**/*.js -!src/**/*.js -!test/**/*.js - -src/runtime.js -src/runtime-cjs.js diff --git a/packages/lavapack/.eslintrc.json b/packages/lavapack/.eslintrc.json deleted file mode 100644 index be97c53fbb..0000000000 --- a/packages/lavapack/.eslintrc.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "extends": "../../.eslintrc.json" -} diff --git a/packages/lavapack/package.json b/packages/lavapack/package.json index a2214955d4..5abf378587 100644 --- a/packages/lavapack/package.json +++ b/packages/lavapack/package.json @@ -20,18 +20,11 @@ "umd": "^3.0.3" }, "devDependencies": { - "@metamask/eslint-config-nodejs": "^11.0.1", - "ava": "^5.2.0", - "eslint-plugin-ava": "^13.2.0", - "eslint-plugin-node": "^11.1.0", "espree": "^9.5.2", "mississippi": "^4.0.0", "source-map": "^0.7.4" }, "scripts": { - "lint": "npm run lint:eslint && npm run lint:deps", - "lint:eslint": "eslint .", - "lint:fix": "eslint . --fix", "lint:deps": "depcheck", "test": "ava", "rebuild": "npm run build", diff --git a/packages/node/.eslintignore b/packages/node/.eslintignore deleted file mode 100644 index f8d5f3be83..0000000000 --- a/packages/node/.eslintignore +++ /dev/null @@ -1,5 +0,0 @@ -!src -!test -**/*.js -!src/**/*.js -!test/**/*.js diff --git a/packages/node/.eslintrc.json b/packages/node/.eslintrc.json deleted file mode 100644 index 74b674f4d4..0000000000 --- a/packages/node/.eslintrc.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "extends": "../../.eslintrc.json", - "rules": { - "node/global-require": 0 - } -} diff --git a/packages/node/package.json b/packages/node/package.json index 8ee9c1bf7e..a3c2d0cc82 100644 --- a/packages/node/package.json +++ b/packages/node/package.json @@ -8,13 +8,10 @@ "main": "src/index.js", "license": "MIT", "scripts": { - "test": "npm run test:prep && npm run test:run", - "test:prep": "for d in ./test/projects/*/ ; do (cd \"$d\" && NODE_ENV=development npm run setup && ../../../src/cli.js -a index.js); done", - "test:run": "ava", - "lint": "npm run lint:eslint && npm run lint:deps", - "lint:eslint": "eslint .", - "lint:fix": "eslint . --fix", - "lint:deps": "depcheck" + "lint:deps": "depcheck", + "test": "npm run test:prep && npm run test:ava", + "test:prep": "for d in ./test/projects/*/ ; do (cd \"$d\" && NODE_ENV=development yarn setup && ../../../src/cli.js -a index.js); done", + "test:ava": "ava" }, "dependencies": { "@babel/code-frame": "^7.21.4", @@ -29,11 +26,6 @@ "resolve": "^1.22.3", "yargs": "^17.7.2" }, - "devDependencies": { - "@metamask/eslint-config-nodejs": "^11.0.1", - "eslint-plugin-ava": "^13.2.0", - "eslint-plugin-node": "^11.1.0" - }, "directories": { "example": "examples", "test": "test" diff --git a/packages/perf/.eslintignore b/packages/perf/.eslintignore deleted file mode 100644 index f8d5f3be83..0000000000 --- a/packages/perf/.eslintignore +++ /dev/null @@ -1,5 +0,0 @@ -!src -!test -**/*.js -!src/**/*.js -!test/**/*.js diff --git a/packages/perf/package.json b/packages/perf/package.json index 03e7cad952..52d92615cf 100644 --- a/packages/perf/package.json +++ b/packages/perf/package.json @@ -12,7 +12,6 @@ "run:bify-simple": "(cd trials/bify-simple && npm install && npm start)", "run:pull-stream": "(cd trials/pull-stream && npm install && npm start)", "run:terser": "(cd trials/terser && npm install && npm start)", - "lint": "exit 0", "test": "exit 0" }, "repository": { diff --git a/packages/preinstall-always-fail/.eslintignore b/packages/preinstall-always-fail/.eslintignore deleted file mode 100644 index f8d5f3be83..0000000000 --- a/packages/preinstall-always-fail/.eslintignore +++ /dev/null @@ -1,5 +0,0 @@ -!src -!test -**/*.js -!src/**/*.js -!test/**/*.js diff --git a/packages/preinstall-always-fail/package.json b/packages/preinstall-always-fail/package.json index 70eb8dfa49..a805ef4e38 100644 --- a/packages/preinstall-always-fail/package.json +++ b/packages/preinstall-always-fail/package.json @@ -5,8 +5,7 @@ "main": "index.js", "scripts": { "test": "exit 0", - "preinstall": "echo \"Don't run npm lifecycle scripts by default! Create a .yarnrc or .npmrc and set enableScripts: false. Then, whitelist them with @lavamoat/allow-scripts\" && exit 1", - "lint": "exit 0" + "preinstall": "echo \"Don't run npm lifecycle scripts by default! Create a .yarnrc or .npmrc and set enableScripts: false. Then, whitelist them with @lavamoat/allow-scripts\" && exit 1" }, "repository": { "type": "git", diff --git a/packages/survey/.eslintignore b/packages/survey/.eslintignore deleted file mode 100644 index f8d5f3be83..0000000000 --- a/packages/survey/.eslintignore +++ /dev/null @@ -1,5 +0,0 @@ -!src -!test -**/*.js -!src/**/*.js -!test/**/*.js diff --git a/packages/survey/package.json b/packages/survey/package.json index 0ad41a0870..f07c51a8fd 100644 --- a/packages/survey/package.json +++ b/packages/survey/package.json @@ -15,8 +15,7 @@ "start": "node src/index.js", "postinstall": "node src/prepareHook.js", "zzz": "node zzz.js", - "test": "exit 0", - "lint": "exit 0" + "test": "exit 0" }, "devDependencies": {}, "engines": { diff --git a/packages/tofu/.eslintignore b/packages/tofu/.eslintignore deleted file mode 100644 index 187c746332..0000000000 --- a/packages/tofu/.eslintignore +++ /dev/null @@ -1,7 +0,0 @@ -!src -!test -**/*.js -!src/**/*.js -!test/**/*.js - -test/fixtures/* diff --git a/packages/tofu/.eslintrc.json b/packages/tofu/.eslintrc.json deleted file mode 100644 index be97c53fbb..0000000000 --- a/packages/tofu/.eslintrc.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "extends": "../../.eslintrc.json" -} diff --git a/packages/tofu/package.json b/packages/tofu/package.json index 4c8617ebe4..9dd1de1a1b 100644 --- a/packages/tofu/package.json +++ b/packages/tofu/package.json @@ -8,17 +8,11 @@ "@babel/traverse": "^7.21.5" }, "devDependencies": { - "@metamask/eslint-config-nodejs": "^11.0.1", - "deep-equal": "^2.2.1", - "eslint-plugin-ava": "^13.2.0", - "eslint-plugin-node": "^11.1.0" + "deep-equal": "^2.2.1" }, "scripts": { - "test": "ava", - "lint": "npm run lint:eslint && npm run lint:deps", - "lint:eslint": "eslint .", - "lint:fix": "eslint . --fix", - "lint:deps": "depcheck" + "lint:deps": "depcheck", + "test": "ava" }, "description": "This is the TOFU (trust-on-first-use) static analysis tool used by LavaMoat to automatically generate useable config", "directories": { diff --git a/packages/viz/.eslintignore b/packages/viz/.eslintignore deleted file mode 100644 index 59ed2d036a..0000000000 --- a/packages/viz/.eslintignore +++ /dev/null @@ -1,6 +0,0 @@ -src/example-policies/ -!src -!test -**/*.js -!src/**/*.js -!test/**/*.js diff --git a/packages/viz/.eslintrc.js b/packages/viz/.eslintrc.js deleted file mode 100644 index 478cba7513..0000000000 --- a/packages/viz/.eslintrc.js +++ /dev/null @@ -1,36 +0,0 @@ -/* eslint-disable import/unambiguous */ -module.exports = { - env: { - browser: true, - es2020: true, - commonjs: true, - mocha: true - }, - extends: [ - 'plugin:react/recommended', - '../../.eslintrc.json' - ], - parserOptions: { - ecmaFeatures: { - jsx: true - }, - ecmaVersion: 11, - sourceType: 'module' - }, - plugins: [ - 'import', - 'react' - ], - rules: { - 'no-negated-condition': 0, - 'import/extensions': ['error', 'always', { ignorePackages: true }], - 'import/no-unassigned-import': 0, - 'import/unambiguous': 0, - 'react/prop-types': 0 - }, - settings: { - react: { - version: 'detect' - } - } -} diff --git a/packages/viz/package.json b/packages/viz/package.json index 3d31722664..27ba0077bb 100644 --- a/packages/viz/package.json +++ b/packages/viz/package.json @@ -15,7 +15,6 @@ "@babel/core": "7.21.8", "@babel/preset-env": "^7.21.5", "@babel/preset-react": "^7.18.6", - "@metamask/eslint-config": "2", "arr-union": "^3.1.0", "babel-loader": "^9.1.2", "clone-deep": "^4.0.1", @@ -23,9 +22,6 @@ "copy-webpack-plugin": "^10.2.4", "css-loader": "^6.7.3", "d3": "^5.12.0", - "eslint": "^8.40.0", - "eslint-plugin-import": "^2.27.5", - "eslint-plugin-react": "^7.32.2", "esm": "^3.2.25", "gh-pages": "^2.2.0", "html-webpack-plugin": "^5.5.1", @@ -50,11 +46,9 @@ "analyze": "source-map-explorer 'build/static/js/*.js'", "start": "webpack-dev-server --config ./src/webpack.config.js", "test": "npm run build", - "lint": "eslint .", - "lint:fix": "npm run lint --fix .", "build": "webpack --config ./src/webpack.config.js", - "deploy": "yarn run build && gh-pages -d dist", - "prepublishOnly": "yarn run deploy", + "deploy": "npm run build && gh-pages -d dist", + "prepublishOnly": "npm run deploy", "rebuild": "npm run clean && npm run build", "clean": "rimraf ./dist" }, diff --git a/packages/yarn-plugin-allow-scripts/.eslintignore b/packages/yarn-plugin-allow-scripts/.eslintignore deleted file mode 100644 index f8d5f3be83..0000000000 --- a/packages/yarn-plugin-allow-scripts/.eslintignore +++ /dev/null @@ -1,5 +0,0 @@ -!src -!test -**/*.js -!src/**/*.js -!test/**/*.js diff --git a/packages/yarn-plugin-allow-scripts/package.json b/packages/yarn-plugin-allow-scripts/package.json index 2b3a2dd206..23e3496fe0 100644 --- a/packages/yarn-plugin-allow-scripts/package.json +++ b/packages/yarn-plugin-allow-scripts/package.json @@ -23,7 +23,6 @@ "scripts": { "build": "builder build plugin", "rebuild": "npm run build", - "lint": "exit 0", "test": "exit 0" }, "packageManager": "yarn@3.1.1",