diff --git a/.eslintignore b/.eslintignore index 1e5cc6e0083..d372e0ba7c1 100644 --- a/.eslintignore +++ b/.eslintignore @@ -7,12 +7,8 @@ __snapshots__ .docusaurus build -packages/eslint-plugin-tslint/tests - -packages/website/**/*.js -packages/website/**/*.d.ts -packages/website-eslint/**/*.js -packages/website-eslint/**/*.d.ts - # Files copied as part of the build packages/types/src/generated/**/*.ts + +# Playground types downloaded from the web +packages/website/src/vendor diff --git a/.eslintrc.js b/.eslintrc.js index 7c186be418d..85357359d68 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -1,3 +1,5 @@ +// @ts-check +/** @type {import('@typescript-eslint/utils').TSESLint.Linter.Config} */ module.exports = { root: true, plugins: [ @@ -11,7 +13,7 @@ module.exports = { 'simple-import-sort', ], env: { - es6: true, + es2020: true, node: true, }, extends: [ @@ -25,7 +27,6 @@ module.exports = { project: [ './tsconfig.eslint.json', './packages/*/tsconfig.json', - './tests/integration/tsconfig.json', /** * We are currently in the process of transitioning to nx's out of the box structure and * so need to manually specify converted packages' tsconfig.build.json and tsconfig.spec.json @@ -156,6 +157,7 @@ module.exports = { 'eslint-disable-line', 'eslint-disable-next-line', 'eslint-enable', + 'global', ], }, ], @@ -202,6 +204,18 @@ module.exports = { 'one-var': ['error', 'never'], }, overrides: [ + { + files: ['*.js'], + extends: ['plugin:@typescript-eslint/disable-type-checked'], + rules: { + // turn off other type-aware rules + 'deprecation/deprecation': 'off', + '@typescript-eslint/internal/no-poorly-typed-ts-props': 'off', + + // turn off rules that don't apply to JS code + '@typescript-eslint/explicit-function-return-type': 'off', + }, + }, // all test files { files: [ @@ -210,9 +224,8 @@ module.exports = { './packages/*/tests/**/spec.ts', './packages/*/tests/**/test.ts', './packages/parser/tests/**/*.ts', - './tests/integration/**/*.test.ts', - './tests/integration/integration-test-base.ts', - './tests/integration/pack-packages.ts', + './packages/integration-tests/tools/integration-test-base.ts', + './packages/integration-tests/tools/pack-packages.ts', ], env: { 'jest/globals': true, @@ -312,7 +325,12 @@ module.exports = { }, // tools and tests { - files: ['**/tools/**/*.*t*', '**/tests/**/*.ts'], + files: [ + '**/tools/**/*.*t*', + '**/tests/**/*.ts', + './packages/repo-tools/**/*.*t*', + './packages/integration-tests/**/*.*t*', + ], rules: { // allow console logs in tools and tests 'no-console': 'off', @@ -346,7 +364,7 @@ module.exports = { }, }, { - files: ['./packages/website/'], + files: ['./packages/website/**/*.{ts,tsx,mts,cts,js,jsx}'], extends: [ 'plugin:jsx-a11y/recommended', 'plugin:react/recommended', @@ -354,9 +372,10 @@ module.exports = { ], plugins: ['jsx-a11y', 'react', 'react-hooks'], rules: { + '@typescript-eslint/internal/prefer-ast-types-enum': 'off', + 'import/no-default-export': 'off', 'react/jsx-no-target-blank': 'off', 'react/no-unescaped-entities': 'off', - '@typescript-eslint/internal/prefer-ast-types-enum': 'off', 'react-hooks/exhaustive-deps': 'off', // TODO: enable it later }, settings: { @@ -373,5 +392,12 @@ module.exports = { 'no-console': 'off', }, }, + { + files: ['./packages/website-eslint/src/mock/**/*.js'], + rules: { + // mocks have to mirror their original + 'import/no-default-export': 'off', + }, + }, ], }; diff --git a/.prettierignore b/.prettierignore index 5e3434855df..91b03d2f17b 100644 --- a/.prettierignore +++ b/.prettierignore @@ -1,22 +1,17 @@ -**/tests/fixtures/**/* -!packages/scope-manager/tests/fixtures/**/* -**/tests/fixture-project/**/* **/dist **/coverage **/.vscode **/.nyc_output **/.vs -packages/eslint-plugin-tslint/tests/test-tslint-rules-directory/alwaysFailRule.js -packages/eslint-plugin/src/configs/*.json CONTRIBUTORS.md packages/ast-spec/src/*/*/fixtures/_error_/*/fixture.ts +packages/eslint-plugin/tests/fixtures/indent/ -# prettier doesn't yet support auto-accessors -packages/ast-spec/src/element/AccessorProperty/fixtures +# prettier errors on this case because it's semantically valid +packages/ast-spec/src/element/AccessorProperty/fixtures/modifier-abstract-with-value/fixture.ts # Ignore CHANGELOG.md files to avoid issues with automated release job CHANGELOG.md packages/website/.docusaurus packages/website/build -packages/website/src/vendor diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md index 53748bda265..d82ddc553a7 100644 --- a/CONTRIBUTORS.md +++ b/CONTRIBUTORS.md @@ -1,3 +1,12 @@ + + # Contributors Thanks goes to these wonderful people: diff --git a/docs/maintenance/versioning/dependant-version-upgrades.mdx b/docs/maintenance/versioning/dependant-version-upgrades.mdx index bf1a17f2829..79feb5b138e 100644 --- a/docs/maintenance/versioning/dependant-version-upgrades.mdx +++ b/docs/maintenance/versioning/dependant-version-upgrades.mdx @@ -81,7 +81,7 @@ We generally start the process of supporting a new TypeScript version just after - Change the `SUPPORTED_TYPESCRIPT_VERSIONS` constant's `<` version to the next version of TypeScript - Change the `SUPPORTED_PRERELEASE_RANGES` constant to equal `['X.Y.2-rc']` - Rename and update `patches/typescript*` to the new TypeScript version - - Run `yarn generate:lib` to update `scope-manager` + - Run `yarn generate-lib` to update `scope-manager` 1. Once all PRs needed for the RC update PR are merged, merge the RC update PR 1. Once TypeScript releases the stable X.Y version, create and merge a PR with a title like `chore: bump TypeScript from X.YRC to X.Y` and the following changes: - In the root `package.json`, remove `|| X.Y.2-rc2` from the `dependency` on `typescript`, and bump its `<` version to the next version of TypeScript diff --git a/nx.json b/nx.json index 731dc56a3c7..83d97bd9b9d 100644 --- a/nx.json +++ b/nx.json @@ -27,6 +27,7 @@ "inputs": [ "default", "{workspaceRoot}/.eslintrc.js", + "{workspaceRoot}/yarn.lock", "{workspaceRoot}/.eslintignore" ] } diff --git a/package.json b/package.json index 3f75a6f4cab..398fc05ebb9 100644 --- a/package.json +++ b/package.json @@ -30,19 +30,21 @@ "check-spelling": "cspell --config=.cspell.json \"**/*.{md,mdx,ts,mts,cts,js,cjs,mjs,tsx,jsx}\" --no-progress --show-context --show-suggestions", "clean": "lerna clean -y && nx run-many --target=clean", "format": "prettier --write .", - "generate-contributors": "yarn tsx ./tools/generate-contributors.ts", - "generate-sponsors": "yarn tsx ./tools/generate-sponsors.ts", - "generate-website-dts": "yarn tsx ./tools/generate-website-dts.ts", - "generate-lib": "nx generate-lib @typescript-eslint/scope-manager", - "lint-fix": "eslint . --fix", + "generate-breaking-changes": "nx run eslint-plugin:generate-breaking-changes", + "generate-configs": "nx run eslint-plugin:generate-configs", + "generate-contributors": "nx run repo-tools:generate-contributors", + "generate-sponsors": "nx run repo-tools:generate-sponsors", + "generate-website-dts": "nx run website:generate-website-dts", + "generate-lib": "nx run scope-manager:generate-lib", + "lint-fix": "yarn lint --fix", "lint-markdown-fix": "yarn lint-markdown --fix", "lint-markdown": "markdownlint \"**/*.md\" --config=.markdownlint.json --ignore-path=.markdownlintignore", "lint": "nx run-many --target=lint --parallel", - "postinstall": "yarn tsx ./tools/postinstall.ts", + "postinstall": "nx run repo-tools:postinstall-script", "pre-commit": "yarn lint-staged", "start": "nx run website:start", - "test": "nx run-many --target=test --parallel", - "test-integration": "yarn jest -c ./tests/integration/jest.config.js", + "test": "nx run-many --target=test --parallel --exclude integration-tests", + "test-integration": "nx run integration-tests:test", "typecheck": "nx run-many --target=typecheck --parallel" }, "engines": { @@ -68,7 +70,6 @@ "@types/jest-specific-snapshot": "^0.5.5", "@types/lodash": "^4.14.182", "@types/marked": "^4.0.3", - "@types/ncp": "^2.0.5", "@types/node": "^18.11.9", "@types/prettier": "^2.6.0", "@types/rimraf": "^3.0.2", @@ -79,14 +80,16 @@ "cross-fetch": "^3.1.5", "cspell": "^6.0.0", "downlevel-dts": "^0.11.0", - "eslint": "^8.15.0", - "eslint-plugin-deprecation": "^1.3.2", + "eslint": "^8.34.0", + "eslint-plugin-deprecation": "^1.3.3", "eslint-plugin-eslint-comments": "^3.2.0", - "eslint-plugin-eslint-plugin": "^5.0.1", - "eslint-plugin-import": "^2.26.0", - "eslint-plugin-jest": "^27.0.0", + "eslint-plugin-eslint-plugin": "^5.0.8", + "eslint-plugin-import": "^2.27.5", + "eslint-plugin-jest": "^27.2.1", + "eslint-plugin-jsx-a11y": "^6.7.1", + "eslint-plugin-react": "^7.32.2", + "eslint-plugin-react-hooks": "^4.6.0", "eslint-plugin-simple-import-sort": "^10.0.0", - "execa": "5.1.1", "glob": "^8.0.1", "husky": "^8.0.1", "jest": "^29.0.3", @@ -97,10 +100,9 @@ "lint-staged": "^13.0.0", "make-dir": "^3.1.0", "markdownlint-cli": "^0.33.0", - "ncp": "^2.0.0", "nx": "15.6.3", "patch-package": "^6.4.7", - "prettier": "2.8.1", + "prettier": "^2.8.4", "pretty-format": "^29.0.3", "rimraf": "^4.0.0", "tmp": "^0.2.1", @@ -110,17 +112,12 @@ "typescript": ">=4.2.4 <5.0.0" }, "resolutions": { - "typescript": "~4.9.3", + "typescript": "~4.9.5", "@types/node": "^18.11.9", - "@jest/create-cache-key-function": "^29", "@jest/reporters": "^29", "@jest/test-result": "^29", "jest-config": "^29", - "jest-diff": "^29", - "jest-get-type": "^29", - "jest-matcher-utils": "^29", "jest-resolve": "^29", - "jest-snapshot": "^29", "jest-util": "^29", "pretty-format": "^29", "@swc/core-android-arm-eabi": "npm:dummypkg-a@1.0.0", diff --git a/packages/ast-spec/project.json b/packages/ast-spec/project.json index 41721d18d71..ed7967af21d 100644 --- a/packages/ast-spec/project.json +++ b/packages/ast-spec/project.json @@ -16,7 +16,8 @@ "executor": "@nrwl/linter:eslint", "outputs": ["{options.outputFile}"], "options": { - "lintFilePatterns": ["packages/ast-spec/**/*.ts"] + "lintFilePatterns": ["packages/ast-spec/**/*.{mts,cts,ts,tsx}"], + "ignorePath": ".eslintignore" } } } diff --git a/packages/ast-spec/src/element/AccessorProperty/fixtures/key-computed-complex/fixture.ts b/packages/ast-spec/src/element/AccessorProperty/fixtures/key-computed-complex/fixture.ts index 5dc28758b4e..673c8d7991f 100644 --- a/packages/ast-spec/src/element/AccessorProperty/fixtures/key-computed-complex/fixture.ts +++ b/packages/ast-spec/src/element/AccessorProperty/fixtures/key-computed-complex/fixture.ts @@ -1,3 +1,3 @@ class Foo { - accessor 1 = 2; + accessor [1 + 1] = 2; } diff --git a/packages/ast-spec/src/element/AccessorProperty/fixtures/key-computed-complex/snapshots/1-TSESTree-AST.shot b/packages/ast-spec/src/element/AccessorProperty/fixtures/key-computed-complex/snapshots/1-TSESTree-AST.shot index 00745c8a8d3..d7ddd69cf47 100644 --- a/packages/ast-spec/src/element/AccessorProperty/fixtures/key-computed-complex/snapshots/1-TSESTree-AST.shot +++ b/packages/ast-spec/src/element/AccessorProperty/fixtures/key-computed-complex/snapshots/1-TSESTree-AST.shot @@ -11,17 +11,38 @@ Program { body: Array [ AccessorProperty { type: "AccessorProperty", - computed: false, + computed: true, declare: false, - key: Literal { - type: "Literal", - raw: "1", - value: 1, + key: BinaryExpression { + type: "BinaryExpression", + left: Literal { + type: "Literal", + raw: "1", + value: 1, + + range: [24, 25], + loc: { + start: { column: 12, line: 2 }, + end: { column: 13, line: 2 }, + }, + }, + operator: "+", + right: Literal { + type: "Literal", + raw: "1", + value: 1, + + range: [28, 29], + loc: { + start: { column: 16, line: 2 }, + end: { column: 17, line: 2 }, + }, + }, - range: [23, 24], + range: [24, 29], loc: { - start: { column: 11, line: 2 }, - end: { column: 12, line: 2 }, + start: { column: 12, line: 2 }, + end: { column: 17, line: 2 }, }, }, override: false, @@ -31,22 +52,22 @@ Program { raw: "2", value: 2, - range: [27, 28], + range: [33, 34], loc: { - start: { column: 15, line: 2 }, - end: { column: 16, line: 2 }, + start: { column: 21, line: 2 }, + end: { column: 22, line: 2 }, }, }, - range: [14, 29], + range: [14, 35], loc: { start: { column: 2, line: 2 }, - end: { column: 17, line: 2 }, + end: { column: 23, line: 2 }, }, }, ], - range: [10, 31], + range: [10, 37], loc: { start: { column: 10, line: 1 }, end: { column: 1, line: 3 }, @@ -64,7 +85,7 @@ Program { }, superClass: null, - range: [0, 31], + range: [0, 37], loc: { start: { column: 0, line: 1 }, end: { column: 1, line: 3 }, @@ -73,7 +94,7 @@ Program { ], sourceType: "script", - range: [0, 32], + range: [0, 38], loc: { start: { column: 0, line: 1 }, end: { column: 0, line: 4 }, diff --git a/packages/ast-spec/src/element/AccessorProperty/fixtures/key-computed-complex/snapshots/2-TSESTree-Tokens.shot b/packages/ast-spec/src/element/AccessorProperty/fixtures/key-computed-complex/snapshots/2-TSESTree-Tokens.shot index 97c056640e7..a09f14a0848 100644 --- a/packages/ast-spec/src/element/AccessorProperty/fixtures/key-computed-complex/snapshots/2-TSESTree-Tokens.shot +++ b/packages/ast-spec/src/element/AccessorProperty/fixtures/key-computed-complex/snapshots/2-TSESTree-Tokens.shot @@ -42,9 +42,9 @@ Array [ end: { column: 10, line: 2 }, }, }, - Numeric { - type: "Numeric", - value: "1", + Punctuator { + type: "Punctuator", + value: "[", range: [23, 24], loc: { @@ -52,41 +52,81 @@ Array [ end: { column: 12, line: 2 }, }, }, + Numeric { + type: "Numeric", + value: "1", + + range: [24, 25], + loc: { + start: { column: 12, line: 2 }, + end: { column: 13, line: 2 }, + }, + }, + Punctuator { + type: "Punctuator", + value: "+", + + range: [26, 27], + loc: { + start: { column: 14, line: 2 }, + end: { column: 15, line: 2 }, + }, + }, + Numeric { + type: "Numeric", + value: "1", + + range: [28, 29], + loc: { + start: { column: 16, line: 2 }, + end: { column: 17, line: 2 }, + }, + }, + Punctuator { + type: "Punctuator", + value: "]", + + range: [29, 30], + loc: { + start: { column: 17, line: 2 }, + end: { column: 18, line: 2 }, + }, + }, Punctuator { type: "Punctuator", value: "=", - range: [25, 26], + range: [31, 32], loc: { - start: { column: 13, line: 2 }, - end: { column: 14, line: 2 }, + start: { column: 19, line: 2 }, + end: { column: 20, line: 2 }, }, }, Numeric { type: "Numeric", value: "2", - range: [27, 28], + range: [33, 34], loc: { - start: { column: 15, line: 2 }, - end: { column: 16, line: 2 }, + start: { column: 21, line: 2 }, + end: { column: 22, line: 2 }, }, }, Punctuator { type: "Punctuator", value: ";", - range: [28, 29], + range: [34, 35], loc: { - start: { column: 16, line: 2 }, - end: { column: 17, line: 2 }, + start: { column: 22, line: 2 }, + end: { column: 23, line: 2 }, }, }, Punctuator { type: "Punctuator", value: "}", - range: [30, 31], + range: [36, 37], loc: { start: { column: 0, line: 3 }, end: { column: 1, line: 3 }, diff --git a/packages/ast-spec/src/element/AccessorProperty/fixtures/key-computed-complex/snapshots/3-Babel-AST.shot b/packages/ast-spec/src/element/AccessorProperty/fixtures/key-computed-complex/snapshots/3-Babel-AST.shot index e52653f4094..609e0c95c7d 100644 --- a/packages/ast-spec/src/element/AccessorProperty/fixtures/key-computed-complex/snapshots/3-Babel-AST.shot +++ b/packages/ast-spec/src/element/AccessorProperty/fixtures/key-computed-complex/snapshots/3-Babel-AST.shot @@ -11,16 +11,37 @@ Program { body: Array [ ClassAccessorProperty { type: "ClassAccessorProperty", - computed: false, - key: Literal { - type: "Literal", - raw: "1", - value: 1, + computed: true, + key: BinaryExpression { + type: "BinaryExpression", + left: Literal { + type: "Literal", + raw: "1", + value: 1, + + range: [24, 25], + loc: { + start: { column: 12, line: 2 }, + end: { column: 13, line: 2 }, + }, + }, + operator: "+", + right: Literal { + type: "Literal", + raw: "1", + value: 1, + + range: [28, 29], + loc: { + start: { column: 16, line: 2 }, + end: { column: 17, line: 2 }, + }, + }, - range: [23, 24], + range: [24, 29], loc: { - start: { column: 11, line: 2 }, - end: { column: 12, line: 2 }, + start: { column: 12, line: 2 }, + end: { column: 17, line: 2 }, }, }, static: false, @@ -29,22 +50,22 @@ Program { raw: "2", value: 2, - range: [27, 28], + range: [33, 34], loc: { - start: { column: 15, line: 2 }, - end: { column: 16, line: 2 }, + start: { column: 21, line: 2 }, + end: { column: 22, line: 2 }, }, }, - range: [14, 29], + range: [14, 35], loc: { start: { column: 2, line: 2 }, - end: { column: 17, line: 2 }, + end: { column: 23, line: 2 }, }, }, ], - range: [10, 31], + range: [10, 37], loc: { start: { column: 10, line: 1 }, end: { column: 1, line: 3 }, @@ -62,7 +83,7 @@ Program { }, superClass: null, - range: [0, 31], + range: [0, 37], loc: { start: { column: 0, line: 1 }, end: { column: 1, line: 3 }, @@ -71,7 +92,7 @@ Program { ], sourceType: "script", - range: [0, 32], + range: [0, 38], loc: { start: { column: 0, line: 1 }, end: { column: 0, line: 4 }, diff --git a/packages/ast-spec/src/element/AccessorProperty/fixtures/key-computed-complex/snapshots/4-Babel-Tokens.shot b/packages/ast-spec/src/element/AccessorProperty/fixtures/key-computed-complex/snapshots/4-Babel-Tokens.shot index 651eb331471..f18484c0586 100644 --- a/packages/ast-spec/src/element/AccessorProperty/fixtures/key-computed-complex/snapshots/4-Babel-Tokens.shot +++ b/packages/ast-spec/src/element/AccessorProperty/fixtures/key-computed-complex/snapshots/4-Babel-Tokens.shot @@ -42,9 +42,9 @@ Array [ end: { column: 10, line: 2 }, }, }, - Numeric { - type: "Numeric", - value: "1", + Punctuator { + type: "Punctuator", + value: "[", range: [23, 24], loc: { @@ -52,41 +52,81 @@ Array [ end: { column: 12, line: 2 }, }, }, + Numeric { + type: "Numeric", + value: "1", + + range: [24, 25], + loc: { + start: { column: 12, line: 2 }, + end: { column: 13, line: 2 }, + }, + }, + Punctuator { + type: "Punctuator", + value: "+", + + range: [26, 27], + loc: { + start: { column: 14, line: 2 }, + end: { column: 15, line: 2 }, + }, + }, + Numeric { + type: "Numeric", + value: "1", + + range: [28, 29], + loc: { + start: { column: 16, line: 2 }, + end: { column: 17, line: 2 }, + }, + }, + Punctuator { + type: "Punctuator", + value: "]", + + range: [29, 30], + loc: { + start: { column: 17, line: 2 }, + end: { column: 18, line: 2 }, + }, + }, Punctuator { type: "Punctuator", value: "=", - range: [25, 26], + range: [31, 32], loc: { - start: { column: 13, line: 2 }, - end: { column: 14, line: 2 }, + start: { column: 19, line: 2 }, + end: { column: 20, line: 2 }, }, }, Numeric { type: "Numeric", value: "2", - range: [27, 28], + range: [33, 34], loc: { - start: { column: 15, line: 2 }, - end: { column: 16, line: 2 }, + start: { column: 21, line: 2 }, + end: { column: 22, line: 2 }, }, }, Punctuator { type: "Punctuator", value: ";", - range: [28, 29], + range: [34, 35], loc: { - start: { column: 16, line: 2 }, - end: { column: 17, line: 2 }, + start: { column: 22, line: 2 }, + end: { column: 23, line: 2 }, }, }, Punctuator { type: "Punctuator", value: "}", - range: [30, 31], + range: [36, 37], loc: { start: { column: 0, line: 3 }, end: { column: 1, line: 3 }, diff --git a/packages/ast-spec/src/element/AccessorProperty/fixtures/key-computed-complex/snapshots/5-AST-Alignment-AST.shot b/packages/ast-spec/src/element/AccessorProperty/fixtures/key-computed-complex/snapshots/5-AST-Alignment-AST.shot index b6b30dd18c6..029a00e6415 100644 --- a/packages/ast-spec/src/element/AccessorProperty/fixtures/key-computed-complex/snapshots/5-AST-Alignment-AST.shot +++ b/packages/ast-spec/src/element/AccessorProperty/fixtures/key-computed-complex/snapshots/5-AST-Alignment-AST.shot @@ -17,17 +17,38 @@ exports[`AST Fixtures element AccessorProperty key-computed-complex AST Alignmen - type: 'AccessorProperty', + ClassAccessorProperty { + type: 'ClassAccessorProperty', - computed: false, + computed: true, - declare: false, - key: Literal { - type: 'Literal', - raw: '1', - value: 1, + key: BinaryExpression { + type: 'BinaryExpression', + left: Literal { + type: 'Literal', + raw: '1', + value: 1, + + range: [24, 25], + loc: { + start: { column: 12, line: 2 }, + end: { column: 13, line: 2 }, + }, + }, + operator: '+', + right: Literal { + type: 'Literal', + raw: '1', + value: 1, + + range: [28, 29], + loc: { + start: { column: 16, line: 2 }, + end: { column: 17, line: 2 }, + }, + }, - range: [23, 24], + range: [24, 29], loc: { - start: { column: 11, line: 2 }, - end: { column: 12, line: 2 }, + start: { column: 12, line: 2 }, + end: { column: 17, line: 2 }, }, }, - override: false, @@ -37,22 +58,22 @@ exports[`AST Fixtures element AccessorProperty key-computed-complex AST Alignmen raw: '2', value: 2, - range: [27, 28], + range: [33, 34], loc: { - start: { column: 15, line: 2 }, - end: { column: 16, line: 2 }, + start: { column: 21, line: 2 }, + end: { column: 22, line: 2 }, }, }, - range: [14, 29], + range: [14, 35], loc: { start: { column: 2, line: 2 }, - end: { column: 17, line: 2 }, + end: { column: 23, line: 2 }, }, }, ], - range: [10, 31], + range: [10, 37], loc: { start: { column: 10, line: 1 }, end: { column: 1, line: 3 }, @@ -70,7 +91,7 @@ exports[`AST Fixtures element AccessorProperty key-computed-complex AST Alignmen }, superClass: null, - range: [0, 31], + range: [0, 37], loc: { start: { column: 0, line: 1 }, end: { column: 1, line: 3 }, @@ -79,7 +100,7 @@ exports[`AST Fixtures element AccessorProperty key-computed-complex AST Alignmen ], sourceType: 'script', - range: [0, 32], + range: [0, 38], loc: { start: { column: 0, line: 1 }, end: { column: 0, line: 4 }, diff --git a/packages/ast-spec/src/element/AccessorProperty/fixtures/key-number/fixture.ts b/packages/ast-spec/src/element/AccessorProperty/fixtures/key-number/fixture.ts index e69de29bb2d..5dc28758b4e 100644 --- a/packages/ast-spec/src/element/AccessorProperty/fixtures/key-number/fixture.ts +++ b/packages/ast-spec/src/element/AccessorProperty/fixtures/key-number/fixture.ts @@ -0,0 +1,3 @@ +class Foo { + accessor 1 = 2; +} diff --git a/packages/ast-spec/src/element/AccessorProperty/fixtures/key-number/snapshots/1-TSESTree-AST.shot b/packages/ast-spec/src/element/AccessorProperty/fixtures/key-number/snapshots/1-TSESTree-AST.shot index 40d09186f6d..fc451e55245 100644 --- a/packages/ast-spec/src/element/AccessorProperty/fixtures/key-number/snapshots/1-TSESTree-AST.shot +++ b/packages/ast-spec/src/element/AccessorProperty/fixtures/key-number/snapshots/1-TSESTree-AST.shot @@ -3,13 +3,80 @@ exports[`AST Fixtures element AccessorProperty key-number TSESTree - AST 1`] = ` Program { type: "Program", - body: Array [], + body: Array [ + ClassDeclaration { + type: "ClassDeclaration", + body: ClassBody { + type: "ClassBody", + body: Array [ + AccessorProperty { + type: "AccessorProperty", + computed: false, + declare: false, + key: Literal { + type: "Literal", + raw: "1", + value: 1, + + range: [23, 24], + loc: { + start: { column: 11, line: 2 }, + end: { column: 12, line: 2 }, + }, + }, + override: false, + static: false, + value: Literal { + type: "Literal", + raw: "2", + value: 2, + + range: [27, 28], + loc: { + start: { column: 15, line: 2 }, + end: { column: 16, line: 2 }, + }, + }, + + range: [14, 29], + loc: { + start: { column: 2, line: 2 }, + end: { column: 17, line: 2 }, + }, + }, + ], + + range: [10, 31], + loc: { + start: { column: 10, line: 1 }, + end: { column: 1, line: 3 }, + }, + }, + id: Identifier { + type: "Identifier", + name: "Foo", + + range: [6, 9], + loc: { + start: { column: 6, line: 1 }, + end: { column: 9, line: 1 }, + }, + }, + superClass: null, + + range: [0, 31], + loc: { + start: { column: 0, line: 1 }, + end: { column: 1, line: 3 }, + }, + }, + ], sourceType: "script", - range: [0, 0], + range: [0, 32], loc: { start: { column: 0, line: 1 }, - end: { column: 0, line: 1 }, + end: { column: 0, line: 4 }, }, } `; diff --git a/packages/ast-spec/src/element/AccessorProperty/fixtures/key-number/snapshots/2-TSESTree-Tokens.shot b/packages/ast-spec/src/element/AccessorProperty/fixtures/key-number/snapshots/2-TSESTree-Tokens.shot index ea5732d8dee..5510db76c3b 100644 --- a/packages/ast-spec/src/element/AccessorProperty/fixtures/key-number/snapshots/2-TSESTree-Tokens.shot +++ b/packages/ast-spec/src/element/AccessorProperty/fixtures/key-number/snapshots/2-TSESTree-Tokens.shot @@ -1,3 +1,96 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP -exports[`AST Fixtures element AccessorProperty key-number TSESTree - Tokens 1`] = `Array []`; +exports[`AST Fixtures element AccessorProperty key-number TSESTree - Tokens 1`] = ` +Array [ + Keyword { + type: "Keyword", + value: "class", + + range: [0, 5], + loc: { + start: { column: 0, line: 1 }, + end: { column: 5, line: 1 }, + }, + }, + Identifier { + type: "Identifier", + value: "Foo", + + range: [6, 9], + loc: { + start: { column: 6, line: 1 }, + end: { column: 9, line: 1 }, + }, + }, + Punctuator { + type: "Punctuator", + value: "{", + + range: [10, 11], + loc: { + start: { column: 10, line: 1 }, + end: { column: 11, line: 1 }, + }, + }, + Identifier { + type: "Identifier", + value: "accessor", + + range: [14, 22], + loc: { + start: { column: 2, line: 2 }, + end: { column: 10, line: 2 }, + }, + }, + Numeric { + type: "Numeric", + value: "1", + + range: [23, 24], + loc: { + start: { column: 11, line: 2 }, + end: { column: 12, line: 2 }, + }, + }, + Punctuator { + type: "Punctuator", + value: "=", + + range: [25, 26], + loc: { + start: { column: 13, line: 2 }, + end: { column: 14, line: 2 }, + }, + }, + Numeric { + type: "Numeric", + value: "2", + + range: [27, 28], + loc: { + start: { column: 15, line: 2 }, + end: { column: 16, line: 2 }, + }, + }, + Punctuator { + type: "Punctuator", + value: ";", + + range: [28, 29], + loc: { + start: { column: 16, line: 2 }, + end: { column: 17, line: 2 }, + }, + }, + Punctuator { + type: "Punctuator", + value: "}", + + range: [30, 31], + loc: { + start: { column: 0, line: 3 }, + end: { column: 1, line: 3 }, + }, + }, +] +`; diff --git a/packages/ast-spec/src/element/AccessorProperty/fixtures/key-number/snapshots/3-Babel-AST.shot b/packages/ast-spec/src/element/AccessorProperty/fixtures/key-number/snapshots/3-Babel-AST.shot index c3c65ccd7f8..457575cf46b 100644 --- a/packages/ast-spec/src/element/AccessorProperty/fixtures/key-number/snapshots/3-Babel-AST.shot +++ b/packages/ast-spec/src/element/AccessorProperty/fixtures/key-number/snapshots/3-Babel-AST.shot @@ -3,13 +3,78 @@ exports[`AST Fixtures element AccessorProperty key-number Babel - AST 1`] = ` Program { type: "Program", - body: Array [], + body: Array [ + ClassDeclaration { + type: "ClassDeclaration", + body: ClassBody { + type: "ClassBody", + body: Array [ + ClassAccessorProperty { + type: "ClassAccessorProperty", + computed: false, + key: Literal { + type: "Literal", + raw: "1", + value: 1, + + range: [23, 24], + loc: { + start: { column: 11, line: 2 }, + end: { column: 12, line: 2 }, + }, + }, + static: false, + value: Literal { + type: "Literal", + raw: "2", + value: 2, + + range: [27, 28], + loc: { + start: { column: 15, line: 2 }, + end: { column: 16, line: 2 }, + }, + }, + + range: [14, 29], + loc: { + start: { column: 2, line: 2 }, + end: { column: 17, line: 2 }, + }, + }, + ], + + range: [10, 31], + loc: { + start: { column: 10, line: 1 }, + end: { column: 1, line: 3 }, + }, + }, + id: Identifier { + type: "Identifier", + name: "Foo", + + range: [6, 9], + loc: { + start: { column: 6, line: 1 }, + end: { column: 9, line: 1 }, + }, + }, + superClass: null, + + range: [0, 31], + loc: { + start: { column: 0, line: 1 }, + end: { column: 1, line: 3 }, + }, + }, + ], sourceType: "script", - range: [0, 0], + range: [0, 32], loc: { start: { column: 0, line: 1 }, - end: { column: 0, line: 1 }, + end: { column: 0, line: 4 }, }, } `; diff --git a/packages/ast-spec/src/element/AccessorProperty/fixtures/key-number/snapshots/4-Babel-Tokens.shot b/packages/ast-spec/src/element/AccessorProperty/fixtures/key-number/snapshots/4-Babel-Tokens.shot index 75ca02a990c..a443b3bfea2 100644 --- a/packages/ast-spec/src/element/AccessorProperty/fixtures/key-number/snapshots/4-Babel-Tokens.shot +++ b/packages/ast-spec/src/element/AccessorProperty/fixtures/key-number/snapshots/4-Babel-Tokens.shot @@ -1,3 +1,96 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP -exports[`AST Fixtures element AccessorProperty key-number Babel - Tokens 1`] = `Array []`; +exports[`AST Fixtures element AccessorProperty key-number Babel - Tokens 1`] = ` +Array [ + Keyword { + type: "Keyword", + value: "class", + + range: [0, 5], + loc: { + start: { column: 0, line: 1 }, + end: { column: 5, line: 1 }, + }, + }, + Identifier { + type: "Identifier", + value: "Foo", + + range: [6, 9], + loc: { + start: { column: 6, line: 1 }, + end: { column: 9, line: 1 }, + }, + }, + Punctuator { + type: "Punctuator", + value: "{", + + range: [10, 11], + loc: { + start: { column: 10, line: 1 }, + end: { column: 11, line: 1 }, + }, + }, + Identifier { + type: "Identifier", + value: "accessor", + + range: [14, 22], + loc: { + start: { column: 2, line: 2 }, + end: { column: 10, line: 2 }, + }, + }, + Numeric { + type: "Numeric", + value: "1", + + range: [23, 24], + loc: { + start: { column: 11, line: 2 }, + end: { column: 12, line: 2 }, + }, + }, + Punctuator { + type: "Punctuator", + value: "=", + + range: [25, 26], + loc: { + start: { column: 13, line: 2 }, + end: { column: 14, line: 2 }, + }, + }, + Numeric { + type: "Numeric", + value: "2", + + range: [27, 28], + loc: { + start: { column: 15, line: 2 }, + end: { column: 16, line: 2 }, + }, + }, + Punctuator { + type: "Punctuator", + value: ";", + + range: [28, 29], + loc: { + start: { column: 16, line: 2 }, + end: { column: 17, line: 2 }, + }, + }, + Punctuator { + type: "Punctuator", + value: "}", + + range: [30, 31], + loc: { + start: { column: 0, line: 3 }, + end: { column: 1, line: 3 }, + }, + }, +] +`; diff --git a/packages/ast-spec/src/element/AccessorProperty/fixtures/key-number/snapshots/5-AST-Alignment-AST.shot b/packages/ast-spec/src/element/AccessorProperty/fixtures/key-number/snapshots/5-AST-Alignment-AST.shot index 55fd7a3d475..77c1ef054cf 100644 --- a/packages/ast-spec/src/element/AccessorProperty/fixtures/key-number/snapshots/5-AST-Alignment-AST.shot +++ b/packages/ast-spec/src/element/AccessorProperty/fixtures/key-number/snapshots/5-AST-Alignment-AST.shot @@ -2,5 +2,87 @@ exports[`AST Fixtures element AccessorProperty key-number AST Alignment - AST 1`] = ` "Snapshot Diff: -Compared values have no visual difference." +- TSESTree ++ Babel + + Program { + type: 'Program', + body: Array [ + ClassDeclaration { + type: 'ClassDeclaration', + body: ClassBody { + type: 'ClassBody', + body: Array [ +- AccessorProperty { +- type: 'AccessorProperty', ++ ClassAccessorProperty { ++ type: 'ClassAccessorProperty', + computed: false, +- declare: false, + key: Literal { + type: 'Literal', + raw: '1', + value: 1, + + range: [23, 24], + loc: { + start: { column: 11, line: 2 }, + end: { column: 12, line: 2 }, + }, + }, +- override: false, + static: false, + value: Literal { + type: 'Literal', + raw: '2', + value: 2, + + range: [27, 28], + loc: { + start: { column: 15, line: 2 }, + end: { column: 16, line: 2 }, + }, + }, + + range: [14, 29], + loc: { + start: { column: 2, line: 2 }, + end: { column: 17, line: 2 }, + }, + }, + ], + + range: [10, 31], + loc: { + start: { column: 10, line: 1 }, + end: { column: 1, line: 3 }, + }, + }, + id: Identifier { + type: 'Identifier', + name: 'Foo', + + range: [6, 9], + loc: { + start: { column: 6, line: 1 }, + end: { column: 9, line: 1 }, + }, + }, + superClass: null, + + range: [0, 31], + loc: { + start: { column: 0, line: 1 }, + end: { column: 1, line: 3 }, + }, + }, + ], + sourceType: 'script', + + range: [0, 32], + loc: { + start: { column: 0, line: 1 }, + end: { column: 0, line: 4 }, + }, + }" `; diff --git a/packages/ast-spec/src/element/AccessorProperty/fixtures/key-string/fixture.ts b/packages/ast-spec/src/element/AccessorProperty/fixtures/key-string/fixture.ts index 808470d5b6a..1a96d899ee8 100644 --- a/packages/ast-spec/src/element/AccessorProperty/fixtures/key-string/fixture.ts +++ b/packages/ast-spec/src/element/AccessorProperty/fixtures/key-string/fixture.ts @@ -1,3 +1,3 @@ class Foo { - accessor 'prop' = 'value'; + accessor 'quoted-prop' = 'value'; } diff --git a/packages/ast-spec/src/element/AccessorProperty/fixtures/key-string/snapshots/1-TSESTree-AST.shot b/packages/ast-spec/src/element/AccessorProperty/fixtures/key-string/snapshots/1-TSESTree-AST.shot index 06a3b3705ed..1f043b389f8 100644 --- a/packages/ast-spec/src/element/AccessorProperty/fixtures/key-string/snapshots/1-TSESTree-AST.shot +++ b/packages/ast-spec/src/element/AccessorProperty/fixtures/key-string/snapshots/1-TSESTree-AST.shot @@ -15,13 +15,13 @@ Program { declare: false, key: Literal { type: "Literal", - raw: "'prop'", - value: "prop", + raw: "'quoted-prop'", + value: "quoted-prop", - range: [23, 29], + range: [23, 36], loc: { start: { column: 11, line: 2 }, - end: { column: 17, line: 2 }, + end: { column: 24, line: 2 }, }, }, override: false, @@ -31,22 +31,22 @@ Program { raw: "'value'", value: "value", - range: [32, 39], + range: [39, 46], loc: { - start: { column: 20, line: 2 }, - end: { column: 27, line: 2 }, + start: { column: 27, line: 2 }, + end: { column: 34, line: 2 }, }, }, - range: [14, 40], + range: [14, 47], loc: { start: { column: 2, line: 2 }, - end: { column: 28, line: 2 }, + end: { column: 35, line: 2 }, }, }, ], - range: [10, 42], + range: [10, 49], loc: { start: { column: 10, line: 1 }, end: { column: 1, line: 3 }, @@ -64,7 +64,7 @@ Program { }, superClass: null, - range: [0, 42], + range: [0, 49], loc: { start: { column: 0, line: 1 }, end: { column: 1, line: 3 }, @@ -73,7 +73,7 @@ Program { ], sourceType: "script", - range: [0, 43], + range: [0, 50], loc: { start: { column: 0, line: 1 }, end: { column: 0, line: 4 }, diff --git a/packages/ast-spec/src/element/AccessorProperty/fixtures/key-string/snapshots/2-TSESTree-Tokens.shot b/packages/ast-spec/src/element/AccessorProperty/fixtures/key-string/snapshots/2-TSESTree-Tokens.shot index 0fe6262dd93..a63dd20aff7 100644 --- a/packages/ast-spec/src/element/AccessorProperty/fixtures/key-string/snapshots/2-TSESTree-Tokens.shot +++ b/packages/ast-spec/src/element/AccessorProperty/fixtures/key-string/snapshots/2-TSESTree-Tokens.shot @@ -44,49 +44,49 @@ Array [ }, String { type: "String", - value: "'prop'", + value: "'quoted-prop'", - range: [23, 29], + range: [23, 36], loc: { start: { column: 11, line: 2 }, - end: { column: 17, line: 2 }, + end: { column: 24, line: 2 }, }, }, Punctuator { type: "Punctuator", value: "=", - range: [30, 31], + range: [37, 38], loc: { - start: { column: 18, line: 2 }, - end: { column: 19, line: 2 }, + start: { column: 25, line: 2 }, + end: { column: 26, line: 2 }, }, }, String { type: "String", value: "'value'", - range: [32, 39], + range: [39, 46], loc: { - start: { column: 20, line: 2 }, - end: { column: 27, line: 2 }, + start: { column: 27, line: 2 }, + end: { column: 34, line: 2 }, }, }, Punctuator { type: "Punctuator", value: ";", - range: [39, 40], + range: [46, 47], loc: { - start: { column: 27, line: 2 }, - end: { column: 28, line: 2 }, + start: { column: 34, line: 2 }, + end: { column: 35, line: 2 }, }, }, Punctuator { type: "Punctuator", value: "}", - range: [41, 42], + range: [48, 49], loc: { start: { column: 0, line: 3 }, end: { column: 1, line: 3 }, diff --git a/packages/ast-spec/src/element/AccessorProperty/fixtures/key-string/snapshots/3-Babel-AST.shot b/packages/ast-spec/src/element/AccessorProperty/fixtures/key-string/snapshots/3-Babel-AST.shot index 9af9236878c..d60e7717b0e 100644 --- a/packages/ast-spec/src/element/AccessorProperty/fixtures/key-string/snapshots/3-Babel-AST.shot +++ b/packages/ast-spec/src/element/AccessorProperty/fixtures/key-string/snapshots/3-Babel-AST.shot @@ -14,13 +14,13 @@ Program { computed: false, key: Literal { type: "Literal", - raw: "'prop'", - value: "prop", + raw: "'quoted-prop'", + value: "quoted-prop", - range: [23, 29], + range: [23, 36], loc: { start: { column: 11, line: 2 }, - end: { column: 17, line: 2 }, + end: { column: 24, line: 2 }, }, }, static: false, @@ -29,22 +29,22 @@ Program { raw: "'value'", value: "value", - range: [32, 39], + range: [39, 46], loc: { - start: { column: 20, line: 2 }, - end: { column: 27, line: 2 }, + start: { column: 27, line: 2 }, + end: { column: 34, line: 2 }, }, }, - range: [14, 40], + range: [14, 47], loc: { start: { column: 2, line: 2 }, - end: { column: 28, line: 2 }, + end: { column: 35, line: 2 }, }, }, ], - range: [10, 42], + range: [10, 49], loc: { start: { column: 10, line: 1 }, end: { column: 1, line: 3 }, @@ -62,7 +62,7 @@ Program { }, superClass: null, - range: [0, 42], + range: [0, 49], loc: { start: { column: 0, line: 1 }, end: { column: 1, line: 3 }, @@ -71,7 +71,7 @@ Program { ], sourceType: "script", - range: [0, 43], + range: [0, 50], loc: { start: { column: 0, line: 1 }, end: { column: 0, line: 4 }, diff --git a/packages/ast-spec/src/element/AccessorProperty/fixtures/key-string/snapshots/4-Babel-Tokens.shot b/packages/ast-spec/src/element/AccessorProperty/fixtures/key-string/snapshots/4-Babel-Tokens.shot index 110b7cb9949..531ae6036a4 100644 --- a/packages/ast-spec/src/element/AccessorProperty/fixtures/key-string/snapshots/4-Babel-Tokens.shot +++ b/packages/ast-spec/src/element/AccessorProperty/fixtures/key-string/snapshots/4-Babel-Tokens.shot @@ -44,49 +44,49 @@ Array [ }, String { type: "String", - value: "'prop'", + value: "'quoted-prop'", - range: [23, 29], + range: [23, 36], loc: { start: { column: 11, line: 2 }, - end: { column: 17, line: 2 }, + end: { column: 24, line: 2 }, }, }, Punctuator { type: "Punctuator", value: "=", - range: [30, 31], + range: [37, 38], loc: { - start: { column: 18, line: 2 }, - end: { column: 19, line: 2 }, + start: { column: 25, line: 2 }, + end: { column: 26, line: 2 }, }, }, String { type: "String", value: "'value'", - range: [32, 39], + range: [39, 46], loc: { - start: { column: 20, line: 2 }, - end: { column: 27, line: 2 }, + start: { column: 27, line: 2 }, + end: { column: 34, line: 2 }, }, }, Punctuator { type: "Punctuator", value: ";", - range: [39, 40], + range: [46, 47], loc: { - start: { column: 27, line: 2 }, - end: { column: 28, line: 2 }, + start: { column: 34, line: 2 }, + end: { column: 35, line: 2 }, }, }, Punctuator { type: "Punctuator", value: "}", - range: [41, 42], + range: [48, 49], loc: { start: { column: 0, line: 3 }, end: { column: 1, line: 3 }, diff --git a/packages/ast-spec/src/element/AccessorProperty/fixtures/key-string/snapshots/5-AST-Alignment-AST.shot b/packages/ast-spec/src/element/AccessorProperty/fixtures/key-string/snapshots/5-AST-Alignment-AST.shot index f831283bcb4..20d0e8069fc 100644 --- a/packages/ast-spec/src/element/AccessorProperty/fixtures/key-string/snapshots/5-AST-Alignment-AST.shot +++ b/packages/ast-spec/src/element/AccessorProperty/fixtures/key-string/snapshots/5-AST-Alignment-AST.shot @@ -21,13 +21,13 @@ exports[`AST Fixtures element AccessorProperty key-string AST Alignment - AST 1` - declare: false, key: Literal { type: 'Literal', - raw: '\\\\'prop\\\\'', - value: 'prop', + raw: '\\\\'quoted-prop\\\\'', + value: 'quoted-prop', - range: [23, 29], + range: [23, 36], loc: { start: { column: 11, line: 2 }, - end: { column: 17, line: 2 }, + end: { column: 24, line: 2 }, }, }, - override: false, @@ -37,22 +37,22 @@ exports[`AST Fixtures element AccessorProperty key-string AST Alignment - AST 1` raw: '\\\\'value\\\\'', value: 'value', - range: [32, 39], + range: [39, 46], loc: { - start: { column: 20, line: 2 }, - end: { column: 27, line: 2 }, + start: { column: 27, line: 2 }, + end: { column: 34, line: 2 }, }, }, - range: [14, 40], + range: [14, 47], loc: { start: { column: 2, line: 2 }, - end: { column: 28, line: 2 }, + end: { column: 35, line: 2 }, }, }, ], - range: [10, 42], + range: [10, 49], loc: { start: { column: 10, line: 1 }, end: { column: 1, line: 3 }, @@ -70,7 +70,7 @@ exports[`AST Fixtures element AccessorProperty key-string AST Alignment - AST 1` }, superClass: null, - range: [0, 42], + range: [0, 49], loc: { start: { column: 0, line: 1 }, end: { column: 1, line: 3 }, @@ -79,7 +79,7 @@ exports[`AST Fixtures element AccessorProperty key-string AST Alignment - AST 1` ], sourceType: 'script', - range: [0, 43], + range: [0, 50], loc: { start: { column: 0, line: 1 }, end: { column: 0, line: 4 }, diff --git a/packages/ast-spec/src/expression/TSSatisfiesExpression/fixtures/object-object-inner-parentheses/fixture.ts b/packages/ast-spec/src/expression/TSSatisfiesExpression/fixtures/object-object-inner-parentheses/fixture.ts index b7726f7f140..ec7b71c8e2b 100644 --- a/packages/ast-spec/src/expression/TSSatisfiesExpression/fixtures/object-object-inner-parentheses/fixture.ts +++ b/packages/ast-spec/src/expression/TSSatisfiesExpression/fixtures/object-object-inner-parentheses/fixture.ts @@ -1 +1 @@ -({ prop: 'string' } satisfies { prop: string }); +({ prop: 'string' }) satisfies { prop: string }; diff --git a/packages/ast-spec/src/expression/TSSatisfiesExpression/fixtures/object-object-inner-parentheses/snapshots/1-TSESTree-AST.shot b/packages/ast-spec/src/expression/TSSatisfiesExpression/fixtures/object-object-inner-parentheses/snapshots/1-TSESTree-AST.shot index c39ffc049d1..1ed0e662a99 100644 --- a/packages/ast-spec/src/expression/TSSatisfiesExpression/fixtures/object-object-inner-parentheses/snapshots/1-TSESTree-AST.shot +++ b/packages/ast-spec/src/expression/TSSatisfiesExpression/fixtures/object-object-inner-parentheses/snapshots/1-TSESTree-AST.shot @@ -63,10 +63,10 @@ Program { type: "Identifier", name: "prop", - range: [32, 36], + range: [33, 37], loc: { - start: { column: 32, line: 1 }, - end: { column: 36, line: 1 }, + start: { column: 33, line: 1 }, + end: { column: 37, line: 1 }, }, }, typeAnnotation: TSTypeAnnotation { @@ -74,39 +74,39 @@ Program { typeAnnotation: TSStringKeyword { type: "TSStringKeyword", - range: [38, 44], + range: [39, 45], loc: { - start: { column: 38, line: 1 }, - end: { column: 44, line: 1 }, + start: { column: 39, line: 1 }, + end: { column: 45, line: 1 }, }, }, - range: [36, 44], + range: [37, 45], loc: { - start: { column: 36, line: 1 }, - end: { column: 44, line: 1 }, + start: { column: 37, line: 1 }, + end: { column: 45, line: 1 }, }, }, - range: [32, 44], + range: [33, 45], loc: { - start: { column: 32, line: 1 }, - end: { column: 44, line: 1 }, + start: { column: 33, line: 1 }, + end: { column: 45, line: 1 }, }, }, ], - range: [30, 46], + range: [31, 47], loc: { - start: { column: 30, line: 1 }, - end: { column: 46, line: 1 }, + start: { column: 31, line: 1 }, + end: { column: 47, line: 1 }, }, }, - range: [1, 46], + range: [0, 47], loc: { - start: { column: 1, line: 1 }, - end: { column: 46, line: 1 }, + start: { column: 0, line: 1 }, + end: { column: 47, line: 1 }, }, }, diff --git a/packages/ast-spec/src/expression/TSSatisfiesExpression/fixtures/object-object-inner-parentheses/snapshots/2-TSESTree-Tokens.shot b/packages/ast-spec/src/expression/TSSatisfiesExpression/fixtures/object-object-inner-parentheses/snapshots/2-TSESTree-Tokens.shot index be50e77f271..99f068a424b 100644 --- a/packages/ast-spec/src/expression/TSSatisfiesExpression/fixtures/object-object-inner-parentheses/snapshots/2-TSESTree-Tokens.shot +++ b/packages/ast-spec/src/expression/TSSatisfiesExpression/fixtures/object-object-inner-parentheses/snapshots/2-TSESTree-Tokens.shot @@ -62,70 +62,70 @@ Array [ end: { column: 19, line: 1 }, }, }, + Punctuator { + type: "Punctuator", + value: ")", + + range: [19, 20], + loc: { + start: { column: 19, line: 1 }, + end: { column: 20, line: 1 }, + }, + }, Identifier { type: "Identifier", value: "satisfies", - range: [20, 29], + range: [21, 30], loc: { - start: { column: 20, line: 1 }, - end: { column: 29, line: 1 }, + start: { column: 21, line: 1 }, + end: { column: 30, line: 1 }, }, }, Punctuator { type: "Punctuator", value: "{", - range: [30, 31], + range: [31, 32], loc: { - start: { column: 30, line: 1 }, - end: { column: 31, line: 1 }, + start: { column: 31, line: 1 }, + end: { column: 32, line: 1 }, }, }, Identifier { type: "Identifier", value: "prop", - range: [32, 36], + range: [33, 37], loc: { - start: { column: 32, line: 1 }, - end: { column: 36, line: 1 }, + start: { column: 33, line: 1 }, + end: { column: 37, line: 1 }, }, }, Punctuator { type: "Punctuator", value: ":", - range: [36, 37], + range: [37, 38], loc: { - start: { column: 36, line: 1 }, - end: { column: 37, line: 1 }, + start: { column: 37, line: 1 }, + end: { column: 38, line: 1 }, }, }, Identifier { type: "Identifier", value: "string", - range: [38, 44], + range: [39, 45], loc: { - start: { column: 38, line: 1 }, - end: { column: 44, line: 1 }, + start: { column: 39, line: 1 }, + end: { column: 45, line: 1 }, }, }, Punctuator { type: "Punctuator", value: "}", - range: [45, 46], - loc: { - start: { column: 45, line: 1 }, - end: { column: 46, line: 1 }, - }, - }, - Punctuator { - type: "Punctuator", - value: ")", - range: [46, 47], loc: { start: { column: 46, line: 1 }, diff --git a/packages/ast-spec/src/expression/TSSatisfiesExpression/fixtures/object-object-inner-parentheses/snapshots/3-Babel-AST.shot b/packages/ast-spec/src/expression/TSSatisfiesExpression/fixtures/object-object-inner-parentheses/snapshots/3-Babel-AST.shot index 90c569abf82..c5868aaf0d1 100644 --- a/packages/ast-spec/src/expression/TSSatisfiesExpression/fixtures/object-object-inner-parentheses/snapshots/3-Babel-AST.shot +++ b/packages/ast-spec/src/expression/TSSatisfiesExpression/fixtures/object-object-inner-parentheses/snapshots/3-Babel-AST.shot @@ -63,10 +63,10 @@ Program { type: "Identifier", name: "prop", - range: [32, 36], + range: [33, 37], loc: { - start: { column: 32, line: 1 }, - end: { column: 36, line: 1 }, + start: { column: 33, line: 1 }, + end: { column: 37, line: 1 }, }, }, typeAnnotation: TSTypeAnnotation { @@ -74,39 +74,39 @@ Program { typeAnnotation: TSStringKeyword { type: "TSStringKeyword", - range: [38, 44], + range: [39, 45], loc: { - start: { column: 38, line: 1 }, - end: { column: 44, line: 1 }, + start: { column: 39, line: 1 }, + end: { column: 45, line: 1 }, }, }, - range: [36, 44], + range: [37, 45], loc: { - start: { column: 36, line: 1 }, - end: { column: 44, line: 1 }, + start: { column: 37, line: 1 }, + end: { column: 45, line: 1 }, }, }, - range: [32, 44], + range: [33, 45], loc: { - start: { column: 32, line: 1 }, - end: { column: 44, line: 1 }, + start: { column: 33, line: 1 }, + end: { column: 45, line: 1 }, }, }, ], - range: [30, 46], + range: [31, 47], loc: { - start: { column: 30, line: 1 }, - end: { column: 46, line: 1 }, + start: { column: 31, line: 1 }, + end: { column: 47, line: 1 }, }, }, - range: [1, 46], + range: [0, 47], loc: { - start: { column: 1, line: 1 }, - end: { column: 46, line: 1 }, + start: { column: 0, line: 1 }, + end: { column: 47, line: 1 }, }, }, diff --git a/packages/ast-spec/src/expression/TSSatisfiesExpression/fixtures/object-object-inner-parentheses/snapshots/4-Babel-Tokens.shot b/packages/ast-spec/src/expression/TSSatisfiesExpression/fixtures/object-object-inner-parentheses/snapshots/4-Babel-Tokens.shot index 45fc90349da..128fc9c6128 100644 --- a/packages/ast-spec/src/expression/TSSatisfiesExpression/fixtures/object-object-inner-parentheses/snapshots/4-Babel-Tokens.shot +++ b/packages/ast-spec/src/expression/TSSatisfiesExpression/fixtures/object-object-inner-parentheses/snapshots/4-Babel-Tokens.shot @@ -62,70 +62,70 @@ Array [ end: { column: 19, line: 1 }, }, }, + Punctuator { + type: "Punctuator", + value: ")", + + range: [19, 20], + loc: { + start: { column: 19, line: 1 }, + end: { column: 20, line: 1 }, + }, + }, Identifier { type: "Identifier", value: "satisfies", - range: [20, 29], + range: [21, 30], loc: { - start: { column: 20, line: 1 }, - end: { column: 29, line: 1 }, + start: { column: 21, line: 1 }, + end: { column: 30, line: 1 }, }, }, Punctuator { type: "Punctuator", value: "{", - range: [30, 31], + range: [31, 32], loc: { - start: { column: 30, line: 1 }, - end: { column: 31, line: 1 }, + start: { column: 31, line: 1 }, + end: { column: 32, line: 1 }, }, }, Identifier { type: "Identifier", value: "prop", - range: [32, 36], + range: [33, 37], loc: { - start: { column: 32, line: 1 }, - end: { column: 36, line: 1 }, + start: { column: 33, line: 1 }, + end: { column: 37, line: 1 }, }, }, Punctuator { type: "Punctuator", value: ":", - range: [36, 37], + range: [37, 38], loc: { - start: { column: 36, line: 1 }, - end: { column: 37, line: 1 }, + start: { column: 37, line: 1 }, + end: { column: 38, line: 1 }, }, }, Identifier { type: "Identifier", value: "string", - range: [38, 44], + range: [39, 45], loc: { - start: { column: 38, line: 1 }, - end: { column: 44, line: 1 }, + start: { column: 39, line: 1 }, + end: { column: 45, line: 1 }, }, }, Punctuator { type: "Punctuator", value: "}", - range: [45, 46], - loc: { - start: { column: 45, line: 1 }, - end: { column: 46, line: 1 }, - }, - }, - Punctuator { - type: "Punctuator", - value: ")", - range: [46, 47], loc: { start: { column: 46, line: 1 }, diff --git a/packages/ast-spec/src/expression/TSSatisfiesExpression/fixtures/object-object-outer-parentheses/fixture.ts b/packages/ast-spec/src/expression/TSSatisfiesExpression/fixtures/object-object-outer-parentheses/fixture.ts index b7726f7f140..ec7b71c8e2b 100644 --- a/packages/ast-spec/src/expression/TSSatisfiesExpression/fixtures/object-object-outer-parentheses/fixture.ts +++ b/packages/ast-spec/src/expression/TSSatisfiesExpression/fixtures/object-object-outer-parentheses/fixture.ts @@ -1 +1 @@ -({ prop: 'string' } satisfies { prop: string }); +({ prop: 'string' }) satisfies { prop: string }; diff --git a/packages/ast-spec/src/expression/TSSatisfiesExpression/fixtures/object-object-outer-parentheses/snapshots/1-TSESTree-AST.shot b/packages/ast-spec/src/expression/TSSatisfiesExpression/fixtures/object-object-outer-parentheses/snapshots/1-TSESTree-AST.shot index 9100755681a..49630c4840f 100644 --- a/packages/ast-spec/src/expression/TSSatisfiesExpression/fixtures/object-object-outer-parentheses/snapshots/1-TSESTree-AST.shot +++ b/packages/ast-spec/src/expression/TSSatisfiesExpression/fixtures/object-object-outer-parentheses/snapshots/1-TSESTree-AST.shot @@ -63,10 +63,10 @@ Program { type: "Identifier", name: "prop", - range: [32, 36], + range: [33, 37], loc: { - start: { column: 32, line: 1 }, - end: { column: 36, line: 1 }, + start: { column: 33, line: 1 }, + end: { column: 37, line: 1 }, }, }, typeAnnotation: TSTypeAnnotation { @@ -74,39 +74,39 @@ Program { typeAnnotation: TSStringKeyword { type: "TSStringKeyword", - range: [38, 44], + range: [39, 45], loc: { - start: { column: 38, line: 1 }, - end: { column: 44, line: 1 }, + start: { column: 39, line: 1 }, + end: { column: 45, line: 1 }, }, }, - range: [36, 44], + range: [37, 45], loc: { - start: { column: 36, line: 1 }, - end: { column: 44, line: 1 }, + start: { column: 37, line: 1 }, + end: { column: 45, line: 1 }, }, }, - range: [32, 44], + range: [33, 45], loc: { - start: { column: 32, line: 1 }, - end: { column: 44, line: 1 }, + start: { column: 33, line: 1 }, + end: { column: 45, line: 1 }, }, }, ], - range: [30, 46], + range: [31, 47], loc: { - start: { column: 30, line: 1 }, - end: { column: 46, line: 1 }, + start: { column: 31, line: 1 }, + end: { column: 47, line: 1 }, }, }, - range: [1, 46], + range: [0, 47], loc: { - start: { column: 1, line: 1 }, - end: { column: 46, line: 1 }, + start: { column: 0, line: 1 }, + end: { column: 47, line: 1 }, }, }, diff --git a/packages/ast-spec/src/expression/TSSatisfiesExpression/fixtures/object-object-outer-parentheses/snapshots/2-TSESTree-Tokens.shot b/packages/ast-spec/src/expression/TSSatisfiesExpression/fixtures/object-object-outer-parentheses/snapshots/2-TSESTree-Tokens.shot index 388f2790bb0..57b96540371 100644 --- a/packages/ast-spec/src/expression/TSSatisfiesExpression/fixtures/object-object-outer-parentheses/snapshots/2-TSESTree-Tokens.shot +++ b/packages/ast-spec/src/expression/TSSatisfiesExpression/fixtures/object-object-outer-parentheses/snapshots/2-TSESTree-Tokens.shot @@ -62,70 +62,70 @@ Array [ end: { column: 19, line: 1 }, }, }, + Punctuator { + type: "Punctuator", + value: ")", + + range: [19, 20], + loc: { + start: { column: 19, line: 1 }, + end: { column: 20, line: 1 }, + }, + }, Identifier { type: "Identifier", value: "satisfies", - range: [20, 29], + range: [21, 30], loc: { - start: { column: 20, line: 1 }, - end: { column: 29, line: 1 }, + start: { column: 21, line: 1 }, + end: { column: 30, line: 1 }, }, }, Punctuator { type: "Punctuator", value: "{", - range: [30, 31], + range: [31, 32], loc: { - start: { column: 30, line: 1 }, - end: { column: 31, line: 1 }, + start: { column: 31, line: 1 }, + end: { column: 32, line: 1 }, }, }, Identifier { type: "Identifier", value: "prop", - range: [32, 36], + range: [33, 37], loc: { - start: { column: 32, line: 1 }, - end: { column: 36, line: 1 }, + start: { column: 33, line: 1 }, + end: { column: 37, line: 1 }, }, }, Punctuator { type: "Punctuator", value: ":", - range: [36, 37], + range: [37, 38], loc: { - start: { column: 36, line: 1 }, - end: { column: 37, line: 1 }, + start: { column: 37, line: 1 }, + end: { column: 38, line: 1 }, }, }, Identifier { type: "Identifier", value: "string", - range: [38, 44], + range: [39, 45], loc: { - start: { column: 38, line: 1 }, - end: { column: 44, line: 1 }, + start: { column: 39, line: 1 }, + end: { column: 45, line: 1 }, }, }, Punctuator { type: "Punctuator", value: "}", - range: [45, 46], - loc: { - start: { column: 45, line: 1 }, - end: { column: 46, line: 1 }, - }, - }, - Punctuator { - type: "Punctuator", - value: ")", - range: [46, 47], loc: { start: { column: 46, line: 1 }, diff --git a/packages/ast-spec/src/expression/TSSatisfiesExpression/fixtures/object-object-outer-parentheses/snapshots/3-Babel-AST.shot b/packages/ast-spec/src/expression/TSSatisfiesExpression/fixtures/object-object-outer-parentheses/snapshots/3-Babel-AST.shot index 16adf4fa64a..251a70be98b 100644 --- a/packages/ast-spec/src/expression/TSSatisfiesExpression/fixtures/object-object-outer-parentheses/snapshots/3-Babel-AST.shot +++ b/packages/ast-spec/src/expression/TSSatisfiesExpression/fixtures/object-object-outer-parentheses/snapshots/3-Babel-AST.shot @@ -63,10 +63,10 @@ Program { type: "Identifier", name: "prop", - range: [32, 36], + range: [33, 37], loc: { - start: { column: 32, line: 1 }, - end: { column: 36, line: 1 }, + start: { column: 33, line: 1 }, + end: { column: 37, line: 1 }, }, }, typeAnnotation: TSTypeAnnotation { @@ -74,39 +74,39 @@ Program { typeAnnotation: TSStringKeyword { type: "TSStringKeyword", - range: [38, 44], + range: [39, 45], loc: { - start: { column: 38, line: 1 }, - end: { column: 44, line: 1 }, + start: { column: 39, line: 1 }, + end: { column: 45, line: 1 }, }, }, - range: [36, 44], + range: [37, 45], loc: { - start: { column: 36, line: 1 }, - end: { column: 44, line: 1 }, + start: { column: 37, line: 1 }, + end: { column: 45, line: 1 }, }, }, - range: [32, 44], + range: [33, 45], loc: { - start: { column: 32, line: 1 }, - end: { column: 44, line: 1 }, + start: { column: 33, line: 1 }, + end: { column: 45, line: 1 }, }, }, ], - range: [30, 46], + range: [31, 47], loc: { - start: { column: 30, line: 1 }, - end: { column: 46, line: 1 }, + start: { column: 31, line: 1 }, + end: { column: 47, line: 1 }, }, }, - range: [1, 46], + range: [0, 47], loc: { - start: { column: 1, line: 1 }, - end: { column: 46, line: 1 }, + start: { column: 0, line: 1 }, + end: { column: 47, line: 1 }, }, }, diff --git a/packages/ast-spec/src/expression/TSSatisfiesExpression/fixtures/object-object-outer-parentheses/snapshots/4-Babel-Tokens.shot b/packages/ast-spec/src/expression/TSSatisfiesExpression/fixtures/object-object-outer-parentheses/snapshots/4-Babel-Tokens.shot index bdca107f453..08a76b8dea2 100644 --- a/packages/ast-spec/src/expression/TSSatisfiesExpression/fixtures/object-object-outer-parentheses/snapshots/4-Babel-Tokens.shot +++ b/packages/ast-spec/src/expression/TSSatisfiesExpression/fixtures/object-object-outer-parentheses/snapshots/4-Babel-Tokens.shot @@ -62,70 +62,70 @@ Array [ end: { column: 19, line: 1 }, }, }, + Punctuator { + type: "Punctuator", + value: ")", + + range: [19, 20], + loc: { + start: { column: 19, line: 1 }, + end: { column: 20, line: 1 }, + }, + }, Identifier { type: "Identifier", value: "satisfies", - range: [20, 29], + range: [21, 30], loc: { - start: { column: 20, line: 1 }, - end: { column: 29, line: 1 }, + start: { column: 21, line: 1 }, + end: { column: 30, line: 1 }, }, }, Punctuator { type: "Punctuator", value: "{", - range: [30, 31], + range: [31, 32], loc: { - start: { column: 30, line: 1 }, - end: { column: 31, line: 1 }, + start: { column: 31, line: 1 }, + end: { column: 32, line: 1 }, }, }, Identifier { type: "Identifier", value: "prop", - range: [32, 36], + range: [33, 37], loc: { - start: { column: 32, line: 1 }, - end: { column: 36, line: 1 }, + start: { column: 33, line: 1 }, + end: { column: 37, line: 1 }, }, }, Punctuator { type: "Punctuator", value: ":", - range: [36, 37], + range: [37, 38], loc: { - start: { column: 36, line: 1 }, - end: { column: 37, line: 1 }, + start: { column: 37, line: 1 }, + end: { column: 38, line: 1 }, }, }, Identifier { type: "Identifier", value: "string", - range: [38, 44], + range: [39, 45], loc: { - start: { column: 38, line: 1 }, - end: { column: 44, line: 1 }, + start: { column: 39, line: 1 }, + end: { column: 45, line: 1 }, }, }, Punctuator { type: "Punctuator", value: "}", - range: [45, 46], - loc: { - start: { column: 45, line: 1 }, - end: { column: 46, line: 1 }, - }, - }, - Punctuator { - type: "Punctuator", - value: ")", - range: [46, 47], loc: { start: { column: 46, line: 1 }, diff --git a/packages/ast-spec/tests/fixtures-with-differences-ast.shot b/packages/ast-spec/tests/fixtures-with-differences-ast.shot index 3c6feaa46ef..85be5819680 100644 --- a/packages/ast-spec/tests/fixtures-with-differences-ast.shot +++ b/packages/ast-spec/tests/fixtures-with-differences-ast.shot @@ -39,6 +39,7 @@ Set { "element/AccessorProperty/fixtures/key-computed-complex/fixture.ts", "element/AccessorProperty/fixtures/key-computed-number/fixture.ts", "element/AccessorProperty/fixtures/key-computed-string/fixture.ts", + "element/AccessorProperty/fixtures/key-number/fixture.ts", "element/AccessorProperty/fixtures/key-private/fixture.ts", "element/AccessorProperty/fixtures/key-string/fixture.ts", "element/AccessorProperty/fixtures/modifier-abstract-with-value/fixture.ts", diff --git a/packages/eslint-plugin-internal/project.json b/packages/eslint-plugin-internal/project.json index e7ac6302d69..1fba96c841c 100644 --- a/packages/eslint-plugin-internal/project.json +++ b/packages/eslint-plugin-internal/project.json @@ -8,7 +8,10 @@ "executor": "@nrwl/linter:eslint", "outputs": ["{options.outputFile}"], "options": { - "lintFilePatterns": ["packages/eslint-plugin-internal/**/*.ts"] + "lintFilePatterns": [ + "packages/eslint-plugin-internal/**/*.{mts,cts,ts,tsx}" + ], + "ignorePath": ".eslintignore" } } } diff --git a/packages/eslint-plugin-tslint/project.json b/packages/eslint-plugin-tslint/project.json index 29bcb865041..1e09b959b6e 100644 --- a/packages/eslint-plugin-tslint/project.json +++ b/packages/eslint-plugin-tslint/project.json @@ -8,7 +8,10 @@ "executor": "@nrwl/linter:eslint", "outputs": ["{options.outputFile}"], "options": { - "lintFilePatterns": ["packages/eslint-plugin-tslint/**/*.ts"] + "lintFilePatterns": [ + "packages/eslint-plugin-tslint/**/*.{mts,cts,ts,tsx}" + ], + "ignorePath": ".eslintignore" } } } diff --git a/packages/eslint-plugin-tslint/tests/fixture-project/4.ts b/packages/eslint-plugin-tslint/tests/fixture-project/4.ts deleted file mode 100644 index 1ca8bbace36..00000000000 --- a/packages/eslint-plugin-tslint/tests/fixture-project/4.ts +++ /dev/null @@ -1 +0,0 @@ -var foo = true // semicolon diff --git a/packages/eslint-plugin-tslint/tests/fixture-project/1.ts b/packages/eslint-plugin-tslint/tests/fixtures/fixture-project/1.ts similarity index 100% rename from packages/eslint-plugin-tslint/tests/fixture-project/1.ts rename to packages/eslint-plugin-tslint/tests/fixtures/fixture-project/1.ts diff --git a/packages/eslint-plugin-tslint/tests/fixture-project/2.ts b/packages/eslint-plugin-tslint/tests/fixtures/fixture-project/2.ts similarity index 100% rename from packages/eslint-plugin-tslint/tests/fixture-project/2.ts rename to packages/eslint-plugin-tslint/tests/fixtures/fixture-project/2.ts diff --git a/packages/eslint-plugin-tslint/tests/fixture-project/3.ts b/packages/eslint-plugin-tslint/tests/fixtures/fixture-project/3.ts similarity index 100% rename from packages/eslint-plugin-tslint/tests/fixture-project/3.ts rename to packages/eslint-plugin-tslint/tests/fixtures/fixture-project/3.ts diff --git a/packages/eslint-plugin-tslint/tests/fixtures/fixture-project/4.ts b/packages/eslint-plugin-tslint/tests/fixtures/fixture-project/4.ts new file mode 100644 index 00000000000..e1173e87a22 --- /dev/null +++ b/packages/eslint-plugin-tslint/tests/fixtures/fixture-project/4.ts @@ -0,0 +1 @@ +var foo = true; // semicolon diff --git a/packages/eslint-plugin-tslint/tests/fixture-project/5.ts b/packages/eslint-plugin-tslint/tests/fixtures/fixture-project/5.ts similarity index 100% rename from packages/eslint-plugin-tslint/tests/fixture-project/5.ts rename to packages/eslint-plugin-tslint/tests/fixtures/fixture-project/5.ts diff --git a/packages/eslint-plugin-tslint/tests/fixture-project/6.ts b/packages/eslint-plugin-tslint/tests/fixtures/fixture-project/6.ts similarity index 100% rename from packages/eslint-plugin-tslint/tests/fixture-project/6.ts rename to packages/eslint-plugin-tslint/tests/fixtures/fixture-project/6.ts diff --git a/packages/eslint-plugin-tslint/tests/fixture-project/tsconfig.json b/packages/eslint-plugin-tslint/tests/fixtures/fixture-project/tsconfig.json similarity index 100% rename from packages/eslint-plugin-tslint/tests/fixture-project/tsconfig.json rename to packages/eslint-plugin-tslint/tests/fixtures/fixture-project/tsconfig.json diff --git a/packages/eslint-plugin-tslint/tests/test-project/extra.ts b/packages/eslint-plugin-tslint/tests/fixtures/test-project/extra.ts similarity index 100% rename from packages/eslint-plugin-tslint/tests/test-project/extra.ts rename to packages/eslint-plugin-tslint/tests/fixtures/test-project/extra.ts diff --git a/packages/eslint-plugin-tslint/tests/test-project/file-spec.ts b/packages/eslint-plugin-tslint/tests/fixtures/test-project/file-spec.ts similarity index 100% rename from packages/eslint-plugin-tslint/tests/test-project/file-spec.ts rename to packages/eslint-plugin-tslint/tests/fixtures/test-project/file-spec.ts diff --git a/packages/eslint-plugin-tslint/tests/test-project/file.ts b/packages/eslint-plugin-tslint/tests/fixtures/test-project/file.ts similarity index 100% rename from packages/eslint-plugin-tslint/tests/test-project/file.ts rename to packages/eslint-plugin-tslint/tests/fixtures/test-project/file.ts diff --git a/packages/eslint-plugin-tslint/tests/test-project/source.ts b/packages/eslint-plugin-tslint/tests/fixtures/test-project/source.ts similarity index 100% rename from packages/eslint-plugin-tslint/tests/test-project/source.ts rename to packages/eslint-plugin-tslint/tests/fixtures/test-project/source.ts diff --git a/packages/eslint-plugin-tslint/tests/test-project/tsconfig-files.json b/packages/eslint-plugin-tslint/tests/fixtures/test-project/tsconfig-files.json similarity index 100% rename from packages/eslint-plugin-tslint/tests/test-project/tsconfig-files.json rename to packages/eslint-plugin-tslint/tests/fixtures/test-project/tsconfig-files.json diff --git a/packages/eslint-plugin-tslint/tests/test-project/tsconfig.json b/packages/eslint-plugin-tslint/tests/fixtures/test-project/tsconfig.json similarity index 100% rename from packages/eslint-plugin-tslint/tests/test-project/tsconfig.json rename to packages/eslint-plugin-tslint/tests/fixtures/test-project/tsconfig.json diff --git a/packages/eslint-plugin-tslint/tests/test-project/tslint.json b/packages/eslint-plugin-tslint/tests/fixtures/test-project/tslint.json similarity index 100% rename from packages/eslint-plugin-tslint/tests/test-project/tslint.json rename to packages/eslint-plugin-tslint/tests/fixtures/test-project/tslint.json diff --git a/packages/eslint-plugin-tslint/tests/test-tslint-rules-directory/alwaysFailRule.js b/packages/eslint-plugin-tslint/tests/fixtures/test-tslint-rules-directory/alwaysFailRule.js similarity index 83% rename from packages/eslint-plugin-tslint/tests/test-tslint-rules-directory/alwaysFailRule.js rename to packages/eslint-plugin-tslint/tests/fixtures/test-tslint-rules-directory/alwaysFailRule.js index 2d923f2e41f..76537897f03 100644 --- a/packages/eslint-plugin-tslint/tests/test-tslint-rules-directory/alwaysFailRule.js +++ b/packages/eslint-plugin-tslint/tests/fixtures/test-tslint-rules-directory/alwaysFailRule.js @@ -1,10 +1,9 @@ - const Lint = require('tslint'); class Rule extends Lint.Rules.AbstractRule { apply(sourceFile) { return this.applyWithWalker( - new AlwaysFailWalker(sourceFile, this.getOptions()) + new AlwaysFailWalker(sourceFile, this.getOptions()), ); } } @@ -12,7 +11,7 @@ class Rule extends Lint.Rules.AbstractRule { class AlwaysFailWalker extends Lint.RuleWalker { visitSourceFile(node) { this.addFailure( - this.createFailure(node.getStart(), node.getWidth(), 'failure') + this.createFailure(node.getStart(), node.getWidth(), 'failure'), ); } } diff --git a/packages/eslint-plugin-tslint/tests/index.spec.ts b/packages/eslint-plugin-tslint/tests/index.spec.ts index 6c0d8cdf994..238cc318506 100644 --- a/packages/eslint-plugin-tslint/tests/index.spec.ts +++ b/packages/eslint-plugin-tslint/tests/index.spec.ts @@ -1,7 +1,10 @@ -import { TSESLint } from '@typescript-eslint/utils'; import * as parser from '@typescript-eslint/parser'; +import { TSESLint } from '@typescript-eslint/utils'; import { readFileSync } from 'fs'; -import rule, { Options } from '../src/rules/config'; +import path = require('path'); + +import type { Options } from '../src/rules/config'; +import rule from '../src/rules/config'; const ruleTester = new TSESLint.RuleTester({ parserOptions: { @@ -12,7 +15,7 @@ const ruleTester = new TSESLint.RuleTester({ * Project is needed to generate the parserServices * within @typescript-eslint/parser */ - project: './tests/fixture-project/tsconfig.json', + project: './tests/fixtures/fixture-project/tsconfig.json', warnOnUnsupportedTypeScriptVersion: false, }, parser: require.resolve('@typescript-eslint/parser'), @@ -34,7 +37,7 @@ const tslintRulesConfig: Options = [ */ const tslintRulesDirectoryConfig: Options = [ { - rulesDirectory: ['./tests/test-tslint-rules-directory'], + rulesDirectory: ['./tests/fixtures/test-tslint-rules-directory'], rules: { 'always-fail': { severity: 'error', @@ -43,37 +46,44 @@ const tslintRulesDirectoryConfig: Options = [ }, ]; +const TEST_PROJECT_PATH = path.resolve( + __dirname, + 'fixtures', + 'test-project', + 'tsconfig.json', +); + ruleTester.run('tslint/config', rule, { valid: [ { code: 'var foo = true;', options: tslintRulesConfig, - filename: './tests/fixture-project/1.ts', + filename: './tests/fixtures/fixture-project/1.ts', }, { - filename: './tests/test-project/file-spec.ts', - code: readFileSync('./tests/test-project/file-spec.ts', 'utf8').replace( - /\n/g, - ' ', - ), + filename: './tests/fixtures/test-project/file-spec.ts', + code: readFileSync( + './tests/fixtures/test-project/file-spec.ts', + 'utf8', + ).replace(/\n/g, ' '), parserOptions: { - project: `${__dirname}/test-project/tsconfig.json`, + project: TEST_PROJECT_PATH, }, options: tslintRulesConfig, }, { code: 'throw "should be ok because rule is not loaded";', options: tslintRulesConfig, - filename: './tests/fixture-project/2.ts', + filename: './tests/fixtures/fixture-project/2.ts', }, ], invalid: [ { - options: [{ lintFile: './tests/test-project/tslint.json' }], + options: [{ lintFile: './tests/fixtures/test-project/tslint.json' }], code: 'throw "err" // no-string-throw', output: 'throw new Error("err") // no-string-throw', - filename: './tests/fixture-project/3.ts', + filename: './tests/fixtures/fixture-project/3.ts', errors: [ { messageId: 'failure', @@ -89,7 +99,7 @@ ruleTester.run('tslint/config', rule, { code: 'var foo = true // semicolon', options: tslintRulesConfig, output: 'var foo = true; // semicolon', - filename: './tests/fixture-project/4.ts', + filename: './tests/fixtures/fixture-project/4.ts', errors: [ { messageId: 'failure', @@ -105,8 +115,8 @@ ruleTester.run('tslint/config', rule, { { code: 'var foo = true // fail', options: tslintRulesDirectoryConfig, - output: 'var foo = true // fail', - filename: './tests/fixture-project/5.ts', + output: null, + filename: './tests/fixtures/fixture-project/5.ts', errors: [ { messageId: 'failure', @@ -120,18 +130,22 @@ ruleTester.run('tslint/config', rule, { ], }, { - filename: './tests/test-project/source.ts', - code: readFileSync('./tests/test-project/source.ts', 'utf8').replace( - /\n/g, - ' ', - ), + filename: './tests/fixtures/test-project/source.ts', + code: readFileSync( + './tests/fixtures/test-project/source.ts', + 'utf8', + ).replace(/\n/g, ' '), parserOptions: { - project: `${__dirname}/test-project/tsconfig.json`, + project: TEST_PROJECT_PATH, }, options: [ { rulesDirectory: [ - `${__dirname}/../../../node_modules/tslint/lib/rules`, + path.join( + path.dirname(require.resolve('tslint/package.json')), + 'lib', + 'rules', + ), ], rules: { 'restrict-plus-operands': true }, }, @@ -173,7 +187,7 @@ describe('tslint/error', () => { it('should error on default parser', () => { testOutput('foo;', { parserOptions: { - project: `${__dirname}/test-project/tsconfig.json`, + project: TEST_PROJECT_PATH, }, rules: { 'tslint/config': [2, tslintRulesConfig], @@ -186,25 +200,33 @@ describe('tslint/error', () => { jest.spyOn(console, 'warn').mockImplementation(); linter.defineRule('tslint/config', rule); linter.defineParser('@typescript-eslint/parser', parser); + + const filePath = path.resolve( + __dirname, + 'fixtures', + 'test-project', + 'extra.ts', + ); + expect(() => linter.verify( 'foo;', { parserOptions: { - project: `${__dirname}/test-project/tsconfig.json`, + project: TEST_PROJECT_PATH, }, rules: { 'tslint/config': [2, {}], }, parser: '@typescript-eslint/parser', }, - `${__dirname}/test-project/extra.ts`, + filePath, ), ).not.toThrow(); expect(console.warn).toHaveBeenCalledWith( expect.stringContaining( - `Tried to lint ${__dirname}/test-project/extra.ts but found no valid, enabled rules for this file type and file path in the resolved configuration.`, + `Tried to lint ${filePath} but found no valid, enabled rules for this file type and file path in the resolved configuration.`, ), ); jest.resetAllMocks(); diff --git a/packages/eslint-plugin-tslint/tsconfig.json b/packages/eslint-plugin-tslint/tsconfig.json index b2f22d5b95d..4ba17c6d60a 100644 --- a/packages/eslint-plugin-tslint/tsconfig.json +++ b/packages/eslint-plugin-tslint/tsconfig.json @@ -5,6 +5,6 @@ "rootDir": "." }, "include": ["src", "tests"], - "exclude": ["tests/test-project", "tests/test-tslint-rules-directory"], + "exclude": ["tests/fixtures"], "references": [{ "path": "../utils/tsconfig.build.json" }] } diff --git a/packages/eslint-plugin/docs/rules/no-base-to-string.md b/packages/eslint-plugin/docs/rules/no-base-to-string.md index 7409f5e134e..a5493c7e50f 100644 --- a/packages/eslint-plugin/docs/rules/no-base-to-string.md +++ b/packages/eslint-plugin/docs/rules/no-base-to-string.md @@ -29,7 +29,7 @@ value + ''; // Interpolation and manual .toString() calls too: `Value: ${value}`; -({}.toString()); +({}).toString(); ``` ### ✅ Correct diff --git a/packages/eslint-plugin/package.json b/packages/eslint-plugin/package.json index 071ba924afe..e6961cef2d8 100644 --- a/packages/eslint-plugin/package.json +++ b/packages/eslint-plugin/package.json @@ -62,7 +62,7 @@ "@types/natural-compare-lite": "^1.4.0", "@types/prettier": "*", "chalk": "^5.0.1", - "cross-fetch": "^3.1.5", + "cross-fetch": "*", "grapheme-splitter": "^1.0.4", "json-schema": "*", "markdown-table": "^3.0.2", diff --git a/packages/eslint-plugin/project.json b/packages/eslint-plugin/project.json index 72ca4c7a9d0..b9c1dce76c2 100644 --- a/packages/eslint-plugin/project.json +++ b/packages/eslint-plugin/project.json @@ -8,7 +8,8 @@ "executor": "@nrwl/linter:eslint", "outputs": ["{options.outputFile}"], "options": { - "lintFilePatterns": ["packages/eslint-plugin/**/*.ts"] + "lintFilePatterns": ["packages/eslint-plugin/**/*.{mts,cts,ts,tsx}"], + "ignorePath": ".eslintignore" } } } diff --git a/packages/eslint-plugin/src/index.ts b/packages/eslint-plugin/src/index.ts index 95fafdecdc3..57ee2008bda 100644 --- a/packages/eslint-plugin/src/index.ts +++ b/packages/eslint-plugin/src/index.ts @@ -1,5 +1,6 @@ import all from './configs/all'; import base from './configs/base'; +import disableTypeChecked from './configs/disable-type-checked'; import eslintRecommended from './configs/eslint-recommended'; import recommended from './configs/recommended'; import recommendedTypeChecked from './configs/recommended-type-checked'; @@ -13,6 +14,7 @@ export = { configs: { all, base, + 'disable-type-checked': disableTypeChecked, 'eslint-recommended': eslintRecommended, recommended, 'recommended-requiring-type-checking': recommendedTypeChecked, diff --git a/packages/eslint-plugin/src/rules/no-redundant-type-constituents.ts b/packages/eslint-plugin/src/rules/no-redundant-type-constituents.ts index d5a7f957269..825e4640540 100644 --- a/packages/eslint-plugin/src/rules/no-redundant-type-constituents.ts +++ b/packages/eslint-plugin/src/rules/no-redundant-type-constituents.ts @@ -51,7 +51,7 @@ const keywordNodeTypesToTsTypes = new Map([ [TSESTree.AST_NODE_TYPES.TSStringKeyword, ts.TypeFlags.String], ]); -type PrimitiveTypeFlag = typeof primitiveTypeFlags[number]; +type PrimitiveTypeFlag = (typeof primitiveTypeFlags)[number]; interface TypeFlagsWithName { typeFlags: ts.TypeFlags; diff --git a/packages/eslint-plugin/src/rules/padding-line-between-statements.ts b/packages/eslint-plugin/src/rules/padding-line-between-statements.ts index 7cadfac4613..d92eb197ad1 100644 --- a/packages/eslint-plugin/src/rules/padding-line-between-statements.ts +++ b/packages/eslint-plugin/src/rules/padding-line-between-statements.ts @@ -698,7 +698,7 @@ export default util.createRule({ function getPaddingType( prevNode: TSESTree.Node, nextNode: TSESTree.Node, - ): typeof PaddingTypes[keyof typeof PaddingTypes] { + ): (typeof PaddingTypes)[keyof typeof PaddingTypes] { for (let i = configureList.length - 1; i >= 0; --i) { const configure = configureList[i]; if ( diff --git a/packages/eslint-plugin/tests/fixtures/tsconfig-withmeta.json b/packages/eslint-plugin/tests/fixtures/tsconfig-withmeta.json index 4987fc7e174..a68de758522 100644 --- a/packages/eslint-plugin/tests/fixtures/tsconfig-withmeta.json +++ b/packages/eslint-plugin/tests/fixtures/tsconfig-withmeta.json @@ -1,6 +1,6 @@ { - "extends": "./tsconfig.json", - "compilerOptions": { - "emitDecoratorMetadata": true, - } -} \ No newline at end of file + "extends": "./tsconfig.json", + "compilerOptions": { + "emitDecoratorMetadata": true + } +} diff --git a/packages/eslint-plugin/tests/fixtures/tsconfig.json b/packages/eslint-plugin/tests/fixtures/tsconfig.json index 7ff53268e42..07d1352d839 100644 --- a/packages/eslint-plugin/tests/fixtures/tsconfig.json +++ b/packages/eslint-plugin/tests/fixtures/tsconfig.json @@ -8,8 +8,5 @@ "lib": ["es2015", "es2017", "esnext"], "experimentalDecorators": true }, - "include": [ - "file.ts", - "react.tsx" - ] + "include": ["file.ts", "react.tsx"] } diff --git a/packages/eslint-plugin/tests/fixtures/unstrict/tsconfig.json b/packages/eslint-plugin/tests/fixtures/unstrict/tsconfig.json index 751747ef2f4..0c68dfe1f04 100644 --- a/packages/eslint-plugin/tests/fixtures/unstrict/tsconfig.json +++ b/packages/eslint-plugin/tests/fixtures/unstrict/tsconfig.json @@ -8,8 +8,5 @@ "lib": ["es2015", "es2017", "esnext"], "experimentalDecorators": true }, - "include": [ - "file.ts", - "react.tsx" - ] + "include": ["file.ts", "react.tsx"] } diff --git a/packages/eslint-plugin/tests/rules/consistent-type-imports.test.ts b/packages/eslint-plugin/tests/rules/consistent-type-imports.test.ts index 2d41b0c3f98..4d480066467 100644 --- a/packages/eslint-plugin/tests/rules/consistent-type-imports.test.ts +++ b/packages/eslint-plugin/tests/rules/consistent-type-imports.test.ts @@ -681,11 +681,11 @@ export type Y = { { code: ` import foo from 'foo'; - type Baz = typeof foo.bar['Baz']; // TSQualifiedName & TSTypeQuery + type Baz = (typeof foo.bar)['Baz']; // TSQualifiedName & TSTypeQuery `, output: ` import type foo from 'foo'; - type Baz = typeof foo.bar['Baz']; // TSQualifiedName & TSTypeQuery + type Baz = (typeof foo.bar)['Baz']; // TSQualifiedName & TSTypeQuery `, errors: [ { diff --git a/packages/eslint-plugin/tests/rules/no-base-to-string.test.ts b/packages/eslint-plugin/tests/rules/no-base-to-string.test.ts index c8af0c48ad8..9e2f1fde608 100644 --- a/packages/eslint-plugin/tests/rules/no-base-to-string.test.ts +++ b/packages/eslint-plugin/tests/rules/no-base-to-string.test.ts @@ -131,7 +131,7 @@ tag\`\${{}}\`; ], }, { - code: '({}.toString());', + code: '({}).toString();', errors: [ { data: { diff --git a/packages/eslint-plugin/tests/rules/no-invalid-this.test.ts b/packages/eslint-plugin/tests/rules/no-invalid-this.test.ts index b2c774166a1..a50c01e743d 100644 --- a/packages/eslint-plugin/tests/rules/no-invalid-this.test.ts +++ b/packages/eslint-plugin/tests/rules/no-invalid-this.test.ts @@ -76,7 +76,6 @@ function Foo() { z(x => console.log(x, this)); } `, - options: [{}], // test the default value in schema }, { @@ -86,7 +85,6 @@ function Foo() { z(x => console.log(x, this)); } `, - options: [{ capIsConstructor: true }], // test explicitly set option to the default value }, { @@ -242,7 +240,7 @@ obj.foo = (() => (function () { console.log(this); z(x => console.log(x, this)); -}.call(obj)); +}).call(obj); `, ` var foo = function () { @@ -264,7 +262,7 @@ Reflect.apply( (function () { console.log(this); z(x => console.log(x, this)); -}.apply(obj)); +}).apply(obj); `, // Class Instance Methods. @@ -445,7 +443,6 @@ function foo() { console.log(this); z(x => console.log(x, this)); `, - errors, }, { @@ -467,7 +464,6 @@ z(x => console.log(x, this)); z(x => console.log(x, this)); })(); `, - errors, }, @@ -479,7 +475,6 @@ function foo() { z(x => console.log(x, this)); } `, - errors, }, { @@ -489,7 +484,6 @@ function foo() { z(x => console.log(x, this)); } `, - options: [{ capIsConstructor: false }], // test that the option doesn't reverse the logic and mistakenly allows lowercase functions errors, }, @@ -500,7 +494,6 @@ function Foo() { z(x => console.log(x, this)); } `, - options: [{ capIsConstructor: false }], errors, }, @@ -512,7 +505,6 @@ function foo() { z(x => console.log(x, this)); } `, - errors, }, { @@ -523,7 +515,6 @@ function Foo() { z(x => console.log(x, this)); } `, - options: [{ capIsConstructor: false }], errors, }, @@ -546,7 +537,6 @@ var foo = function () { z(x => console.log(x, this)); }.bar(obj); `, - errors, }, @@ -563,7 +553,6 @@ var obj = { }, }; `, - errors, }, { @@ -578,7 +567,6 @@ var obj = { }, }; `, - errors, }, { @@ -592,7 +580,6 @@ var obj = { }, }; `, - errors, }, { @@ -607,7 +594,6 @@ var obj = { }, }; `, - errors, }, { @@ -619,7 +605,6 @@ obj.foo = function () { }; }; `, - errors, }, { @@ -632,7 +617,6 @@ obj.foo = function () { }; }; `, - errors, }, @@ -649,7 +633,6 @@ class A { } } `, - errors, }, @@ -664,7 +647,6 @@ class A { }); } `, - errors, }, @@ -679,7 +661,6 @@ class A { }; } `, - errors, }, @@ -694,7 +675,6 @@ obj.foo = (function () { }; })(); `, - errors, }, { @@ -704,7 +684,6 @@ obj.foo = (() => () => { z(x => console.log(x, this)); })(); `, - errors, }, // Bind/Call/Apply @@ -716,7 +695,6 @@ var foo = function () { z(x => console.log(x, this)); }.bind(null); `, - errors, }, @@ -725,9 +703,8 @@ var foo = function () { (function () { console.log(this); z(x => console.log(x, this)); -}.call(undefined)); +}).call(undefined); `, - errors, }, @@ -736,9 +713,8 @@ var foo = function () { (function () { console.log(this); z(x => console.log(x, this)); -}.apply(void 0)); +}).apply(void 0); `, - errors, }, @@ -750,7 +726,6 @@ Array.from([], function () { z(x => console.log(x, this)); }); `, - errors, }, { @@ -760,7 +735,6 @@ foo.every(function () { z(x => console.log(x, this)); }); `, - errors, }, { @@ -770,7 +744,6 @@ foo.filter(function () { z(x => console.log(x, this)); }); `, - errors, }, { @@ -780,7 +753,6 @@ foo.find(function () { z(x => console.log(x, this)); }); `, - errors, }, { @@ -790,7 +762,6 @@ foo.findIndex(function () { z(x => console.log(x, this)); }); `, - errors, }, { @@ -800,7 +771,6 @@ foo.forEach(function () { z(x => console.log(x, this)); }); `, - errors, }, { @@ -810,7 +780,6 @@ foo.map(function () { z(x => console.log(x, this)); }); `, - errors, }, { @@ -820,7 +789,6 @@ foo.some(function () { z(x => console.log(x, this)); }); `, - errors, }, @@ -831,7 +799,6 @@ foo.forEach(function () { z(x => console.log(x, this)); }, null); `, - errors, }, @@ -844,7 +811,6 @@ foo.forEach(function () { z(x => console.log(x, this)); } `, - errors, }, { @@ -854,7 +820,6 @@ foo.forEach(function () { z(x => console.log(x, this)); }); `, - errors, }, @@ -865,7 +830,6 @@ var Ctor = function () { z(x => console.log(x, this)); }; `, - options: [{ capIsConstructor: false }], errors, }, @@ -876,7 +840,6 @@ var func = function () { z(x => console.log(x, this)); }; `, - errors, }, { @@ -886,7 +849,6 @@ var func = function () { z(x => console.log(x, this)); }; `, - options: [{ capIsConstructor: false }], errors, }, @@ -898,7 +860,6 @@ Ctor = function () { z(x => console.log(x, this)); }; `, - options: [{ capIsConstructor: false }], errors, }, @@ -909,7 +870,6 @@ func = function () { z(x => console.log(x, this)); }; `, - errors, }, { @@ -919,7 +879,6 @@ func = function () { z(x => console.log(x, this)); }; `, - options: [{ capIsConstructor: false }], errors, }, @@ -933,7 +892,6 @@ function foo( }, ) {} `, - errors, }, @@ -946,7 +904,6 @@ function foo( }, ] = a; `, - errors, }, ], diff --git a/tests/integration/README.md b/packages/integration-tests/README.md similarity index 86% rename from tests/integration/README.md rename to packages/integration-tests/README.md index 689dca29211..1c3d4745c83 100644 --- a/tests/integration/README.md +++ b/packages/integration-tests/README.md @@ -6,7 +6,7 @@ These tests are setup to run within temporary folders to ensure that each test i ## Adding a new integration test -1. Add a new folder in `/tests/integration/fixtures` +1. Add a new folder in `/fixtures/` 1. Add a `package.json` to your folder. 1. List the required dependencies under `devDependencies`. - Use `latest` for the dependency to ensure we are testing against the newest versions of the package. @@ -15,11 +15,11 @@ These tests are setup to run within temporary folders to ensure that each test i 1. Create the necessary files to test the integration. - Your test should have a lint error in it in an appropriate location. This is so that we can be certain the setup actually works correctly. -1. Add a test to `/tests/integration/tests` named the same as your folder. +1. Add a test to `/tests/` named the same as your folder. 1. Paste the following content into your test: ```ts - import { integrationTest } from '../integration-test-base'; + import { integrationTest } from '../tools/integration-test-base'; integrationTest( __filename, diff --git a/tests/integration/fixtures/eslint-v7/.eslintrc.js b/packages/integration-tests/fixtures/eslint-v7/.eslintrc.js similarity index 100% rename from tests/integration/fixtures/eslint-v7/.eslintrc.js rename to packages/integration-tests/fixtures/eslint-v7/.eslintrc.js diff --git a/tests/integration/fixtures/eslint-v7/index.ts b/packages/integration-tests/fixtures/eslint-v7/index.ts similarity index 100% rename from tests/integration/fixtures/eslint-v7/index.ts rename to packages/integration-tests/fixtures/eslint-v7/index.ts diff --git a/tests/integration/fixtures/eslint-v7/package.json b/packages/integration-tests/fixtures/eslint-v7/package.json similarity index 100% rename from tests/integration/fixtures/eslint-v7/package.json rename to packages/integration-tests/fixtures/eslint-v7/package.json diff --git a/tests/integration/fixtures/eslint-v7/tsconfig.json b/packages/integration-tests/fixtures/eslint-v7/tsconfig.json similarity index 100% rename from tests/integration/fixtures/eslint-v7/tsconfig.json rename to packages/integration-tests/fixtures/eslint-v7/tsconfig.json diff --git a/tests/integration/fixtures/markdown/.eslintrc.js b/packages/integration-tests/fixtures/markdown/.eslintrc.js similarity index 100% rename from tests/integration/fixtures/markdown/.eslintrc.js rename to packages/integration-tests/fixtures/markdown/.eslintrc.js diff --git a/tests/integration/fixtures/markdown/Doc.md b/packages/integration-tests/fixtures/markdown/Doc.md similarity index 100% rename from tests/integration/fixtures/markdown/Doc.md rename to packages/integration-tests/fixtures/markdown/Doc.md diff --git a/tests/integration/fixtures/markdown/package.json b/packages/integration-tests/fixtures/markdown/package.json similarity index 100% rename from tests/integration/fixtures/markdown/package.json rename to packages/integration-tests/fixtures/markdown/package.json diff --git a/tests/integration/fixtures/markdown/tsconfig.json b/packages/integration-tests/fixtures/markdown/tsconfig.json similarity index 100% rename from tests/integration/fixtures/markdown/tsconfig.json rename to packages/integration-tests/fixtures/markdown/tsconfig.json diff --git a/tests/integration/fixtures/recommended-does-not-require-program/.eslintrc.js b/packages/integration-tests/fixtures/recommended-does-not-require-program/.eslintrc.js similarity index 100% rename from tests/integration/fixtures/recommended-does-not-require-program/.eslintrc.js rename to packages/integration-tests/fixtures/recommended-does-not-require-program/.eslintrc.js diff --git a/tests/integration/fixtures/recommended-does-not-require-program/index.ts b/packages/integration-tests/fixtures/recommended-does-not-require-program/index.ts similarity index 100% rename from tests/integration/fixtures/recommended-does-not-require-program/index.ts rename to packages/integration-tests/fixtures/recommended-does-not-require-program/index.ts diff --git a/tests/integration/fixtures/recommended-does-not-require-program/package.json b/packages/integration-tests/fixtures/recommended-does-not-require-program/package.json similarity index 100% rename from tests/integration/fixtures/recommended-does-not-require-program/package.json rename to packages/integration-tests/fixtures/recommended-does-not-require-program/package.json diff --git a/tests/integration/fixtures/typescript-and-tslint-plugins-together/.eslintrc.js b/packages/integration-tests/fixtures/typescript-and-tslint-plugins-together/.eslintrc.js similarity index 100% rename from tests/integration/fixtures/typescript-and-tslint-plugins-together/.eslintrc.js rename to packages/integration-tests/fixtures/typescript-and-tslint-plugins-together/.eslintrc.js diff --git a/tests/integration/fixtures/typescript-and-tslint-plugins-together/index.ts b/packages/integration-tests/fixtures/typescript-and-tslint-plugins-together/index.ts similarity index 100% rename from tests/integration/fixtures/typescript-and-tslint-plugins-together/index.ts rename to packages/integration-tests/fixtures/typescript-and-tslint-plugins-together/index.ts diff --git a/tests/integration/fixtures/typescript-and-tslint-plugins-together/package.json b/packages/integration-tests/fixtures/typescript-and-tslint-plugins-together/package.json similarity index 100% rename from tests/integration/fixtures/typescript-and-tslint-plugins-together/package.json rename to packages/integration-tests/fixtures/typescript-and-tslint-plugins-together/package.json diff --git a/tests/integration/fixtures/typescript-and-tslint-plugins-together/tsconfig.json b/packages/integration-tests/fixtures/typescript-and-tslint-plugins-together/tsconfig.json similarity index 100% rename from tests/integration/fixtures/typescript-and-tslint-plugins-together/tsconfig.json rename to packages/integration-tests/fixtures/typescript-and-tslint-plugins-together/tsconfig.json diff --git a/tests/integration/fixtures/vue-jsx/.eslintrc.js b/packages/integration-tests/fixtures/vue-jsx/.eslintrc.js similarity index 100% rename from tests/integration/fixtures/vue-jsx/.eslintrc.js rename to packages/integration-tests/fixtures/vue-jsx/.eslintrc.js diff --git a/tests/integration/fixtures/vue-jsx/Jsx.vue b/packages/integration-tests/fixtures/vue-jsx/Jsx.vue similarity index 100% rename from tests/integration/fixtures/vue-jsx/Jsx.vue rename to packages/integration-tests/fixtures/vue-jsx/Jsx.vue diff --git a/tests/integration/fixtures/vue-jsx/package.json b/packages/integration-tests/fixtures/vue-jsx/package.json similarity index 100% rename from tests/integration/fixtures/vue-jsx/package.json rename to packages/integration-tests/fixtures/vue-jsx/package.json diff --git a/tests/integration/fixtures/vue-jsx/tsconfig.json b/packages/integration-tests/fixtures/vue-jsx/tsconfig.json similarity index 100% rename from tests/integration/fixtures/vue-jsx/tsconfig.json rename to packages/integration-tests/fixtures/vue-jsx/tsconfig.json diff --git a/tests/integration/fixtures/vue-sfc/.eslintrc.js b/packages/integration-tests/fixtures/vue-sfc/.eslintrc.js similarity index 100% rename from tests/integration/fixtures/vue-sfc/.eslintrc.js rename to packages/integration-tests/fixtures/vue-sfc/.eslintrc.js diff --git a/tests/integration/fixtures/vue-sfc/Hello.vue b/packages/integration-tests/fixtures/vue-sfc/Hello.vue similarity index 100% rename from tests/integration/fixtures/vue-sfc/Hello.vue rename to packages/integration-tests/fixtures/vue-sfc/Hello.vue diff --git a/tests/integration/fixtures/vue-sfc/Utility.vue b/packages/integration-tests/fixtures/vue-sfc/Utility.vue similarity index 100% rename from tests/integration/fixtures/vue-sfc/Utility.vue rename to packages/integration-tests/fixtures/vue-sfc/Utility.vue diff --git a/tests/integration/fixtures/vue-sfc/World.vue b/packages/integration-tests/fixtures/vue-sfc/World.vue similarity index 100% rename from tests/integration/fixtures/vue-sfc/World.vue rename to packages/integration-tests/fixtures/vue-sfc/World.vue diff --git a/tests/integration/fixtures/vue-sfc/package.json b/packages/integration-tests/fixtures/vue-sfc/package.json similarity index 100% rename from tests/integration/fixtures/vue-sfc/package.json rename to packages/integration-tests/fixtures/vue-sfc/package.json diff --git a/tests/integration/fixtures/vue-sfc/tsconfig.json b/packages/integration-tests/fixtures/vue-sfc/tsconfig.json similarity index 100% rename from tests/integration/fixtures/vue-sfc/tsconfig.json rename to packages/integration-tests/fixtures/vue-sfc/tsconfig.json diff --git a/tests/integration/jest.config.js b/packages/integration-tests/jest.config.js similarity index 77% rename from tests/integration/jest.config.js rename to packages/integration-tests/jest.config.js index b12a54583fd..cc3649ab275 100644 --- a/tests/integration/jest.config.js +++ b/packages/integration-tests/jest.config.js @@ -5,10 +5,13 @@ require('ts-node').register({ transpileOnly: true, files: ['./pack-packages.ts'], }); -const { tseslintPackages } = require('./pack-packages'); +const { tseslintPackages } = require('./tools/pack-packages'); +// @ts-check +/** @type {import('@jest/types').Config.InitialOptions} */ module.exports = { ...require('../../jest.config.base.js'), + collectCoverage: false, globals: { tseslintPackages, }, diff --git a/packages/integration-tests/package.json b/packages/integration-tests/package.json new file mode 100644 index 00000000000..14d3c59c7f2 --- /dev/null +++ b/packages/integration-tests/package.json @@ -0,0 +1,16 @@ +{ + "name": "@typescript-eslint/integration-tests", + "version": "5.52.0", + "private": true, + "scripts": { + "format": "prettier --write \"./**/*.{ts,mts,cts,tsx,js,mjs,cjs,jsx,json,md,css}\" --ignore-path ../../.prettierignore", + "lint": "nx lint", + "test": "jest --no-coverage", + "typecheck": "tsc -p tsconfig.json --noEmit" + }, + "devDependencies": { + "@types/ncp": "^2.0.5", + "ncp": "^2.0.0", + "tmp": "*" + } +} diff --git a/packages/integration-tests/project.json b/packages/integration-tests/project.json new file mode 100644 index 00000000000..8905ec90f41 --- /dev/null +++ b/packages/integration-tests/project.json @@ -0,0 +1,18 @@ +{ + "name": "integration-tests", + "$schema": "../../node_modules/nx/schemas/project-schema.json", + "type": "library", + "implicitDependencies": [], + "targets": { + "lint": { + "executor": "@nrwl/linter:eslint", + "outputs": ["{options.outputFile}"], + "options": { + "lintFilePatterns": [ + "packages/integration-tests/**/*.{mts,cts,ts,tsx}" + ], + "ignorePath": ".eslintignore" + } + } + } +} diff --git a/tests/integration/tests/__snapshots__/eslint-v7.test.ts.snap b/packages/integration-tests/tests/__snapshots__/eslint-v7.test.ts.snap similarity index 100% rename from tests/integration/tests/__snapshots__/eslint-v7.test.ts.snap rename to packages/integration-tests/tests/__snapshots__/eslint-v7.test.ts.snap diff --git a/tests/integration/tests/__snapshots__/markdown.test.ts.snap b/packages/integration-tests/tests/__snapshots__/markdown.test.ts.snap similarity index 100% rename from tests/integration/tests/__snapshots__/markdown.test.ts.snap rename to packages/integration-tests/tests/__snapshots__/markdown.test.ts.snap diff --git a/tests/integration/tests/__snapshots__/recommended-does-not-require-program.test.ts.snap b/packages/integration-tests/tests/__snapshots__/recommended-does-not-require-program.test.ts.snap similarity index 100% rename from tests/integration/tests/__snapshots__/recommended-does-not-require-program.test.ts.snap rename to packages/integration-tests/tests/__snapshots__/recommended-does-not-require-program.test.ts.snap diff --git a/tests/integration/tests/__snapshots__/typescript-and-tslint-plugins-together.test.ts.snap b/packages/integration-tests/tests/__snapshots__/typescript-and-tslint-plugins-together.test.ts.snap similarity index 100% rename from tests/integration/tests/__snapshots__/typescript-and-tslint-plugins-together.test.ts.snap rename to packages/integration-tests/tests/__snapshots__/typescript-and-tslint-plugins-together.test.ts.snap diff --git a/tests/integration/tests/__snapshots__/vue-jsx.test.ts.snap b/packages/integration-tests/tests/__snapshots__/vue-jsx.test.ts.snap similarity index 100% rename from tests/integration/tests/__snapshots__/vue-jsx.test.ts.snap rename to packages/integration-tests/tests/__snapshots__/vue-jsx.test.ts.snap diff --git a/tests/integration/tests/__snapshots__/vue-sfc.test.ts.snap b/packages/integration-tests/tests/__snapshots__/vue-sfc.test.ts.snap similarity index 100% rename from tests/integration/tests/__snapshots__/vue-sfc.test.ts.snap rename to packages/integration-tests/tests/__snapshots__/vue-sfc.test.ts.snap diff --git a/packages/integration-tests/tests/eslint-v7.test.ts b/packages/integration-tests/tests/eslint-v7.test.ts new file mode 100644 index 00000000000..8f0d81b8926 --- /dev/null +++ b/packages/integration-tests/tests/eslint-v7.test.ts @@ -0,0 +1,3 @@ +import { integrationTest } from '../tools/integration-test-base'; + +integrationTest(__filename, '*.ts'); diff --git a/packages/integration-tests/tests/markdown.test.ts b/packages/integration-tests/tests/markdown.test.ts new file mode 100644 index 00000000000..8c006309eff --- /dev/null +++ b/packages/integration-tests/tests/markdown.test.ts @@ -0,0 +1,3 @@ +import { integrationTest } from '../tools/integration-test-base'; + +integrationTest(__filename, '*.md'); diff --git a/packages/integration-tests/tests/recommended-does-not-require-program.test.ts b/packages/integration-tests/tests/recommended-does-not-require-program.test.ts new file mode 100644 index 00000000000..8f0d81b8926 --- /dev/null +++ b/packages/integration-tests/tests/recommended-does-not-require-program.test.ts @@ -0,0 +1,3 @@ +import { integrationTest } from '../tools/integration-test-base'; + +integrationTest(__filename, '*.ts'); diff --git a/packages/integration-tests/tests/typescript-and-tslint-plugins-together.test.ts b/packages/integration-tests/tests/typescript-and-tslint-plugins-together.test.ts new file mode 100644 index 00000000000..8f0d81b8926 --- /dev/null +++ b/packages/integration-tests/tests/typescript-and-tslint-plugins-together.test.ts @@ -0,0 +1,3 @@ +import { integrationTest } from '../tools/integration-test-base'; + +integrationTest(__filename, '*.ts'); diff --git a/packages/integration-tests/tests/vue-jsx.test.ts b/packages/integration-tests/tests/vue-jsx.test.ts new file mode 100644 index 00000000000..20e6b09b797 --- /dev/null +++ b/packages/integration-tests/tests/vue-jsx.test.ts @@ -0,0 +1,3 @@ +import { integrationTest } from '../tools/integration-test-base'; + +integrationTest(__filename, '*.vue'); diff --git a/packages/integration-tests/tests/vue-sfc.test.ts b/packages/integration-tests/tests/vue-sfc.test.ts new file mode 100644 index 00000000000..20e6b09b797 --- /dev/null +++ b/packages/integration-tests/tests/vue-sfc.test.ts @@ -0,0 +1,3 @@ +import { integrationTest } from '../tools/integration-test-base'; + +integrationTest(__filename, '*.vue'); diff --git a/tests/integration/integration-test-base.ts b/packages/integration-tests/tools/integration-test-base.ts similarity index 94% rename from tests/integration/integration-test-base.ts rename to packages/integration-tests/tools/integration-test-base.ts index f49a4e90a23..6cd59d1856d 100644 --- a/tests/integration/integration-test-base.ts +++ b/packages/integration-tests/tools/integration-test-base.ts @@ -11,7 +11,7 @@ interface PackageJSON { devDependencies: Record; } -const rootPackageJson: PackageJSON = require('../../package.json'); +const rootPackageJson: PackageJSON = require('../../../package.json'); tmp.setGracefulCleanup(); @@ -23,14 +23,13 @@ const tmpFile = promisify(tmp.file); const writeFile = promisify(fs.writeFile); const BASE_DEPENDENCIES: PackageJSON['devDependencies'] = { - // @ts-expect-error -- this is in `./pack-packages.ts` ...global.tseslintPackages, eslint: rootPackageJson.devDependencies.eslint, typescript: rootPackageJson.devDependencies.typescript, jest: rootPackageJson.devDependencies.jest, }; -const FIXTURES_DIR = path.join(__dirname, 'fixtures'); +const FIXTURES_DIR = path.join(__dirname, '..', 'fixtures'); // make sure that jest doesn't timeout the test jest.setTimeout(60000); @@ -64,7 +63,6 @@ export function integrationTest(testFilename: string, filesGlob: string): void { }, // ensure everything uses the locally packed versions instead of the NPM versions resolutions: { - // @ts-expect-error -- this is in `./pack-packages.ts` ...global.tseslintPackages, }, }), diff --git a/tests/integration/pack-packages.ts b/packages/integration-tests/tools/pack-packages.ts similarity index 95% rename from tests/integration/pack-packages.ts rename to packages/integration-tests/tools/pack-packages.ts index 7674f70a173..5755476cf3c 100644 --- a/tests/integration/pack-packages.ts +++ b/packages/integration-tests/tools/pack-packages.ts @@ -18,7 +18,7 @@ interface PackageJSON { devDependencies: Record; } -const PACKAGES_DIR = path.resolve(__dirname, '..', '..', 'packages'); +const PACKAGES_DIR = path.resolve(__dirname, '..', '..'); const PACKAGES = fs.readdirSync(PACKAGES_DIR); const tarFolder = tmp.dirSync({ diff --git a/packages/integration-tests/tsconfig.build.json b/packages/integration-tests/tsconfig.build.json new file mode 100644 index 00000000000..e7d657f8c5b --- /dev/null +++ b/packages/integration-tests/tsconfig.build.json @@ -0,0 +1,13 @@ +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { + // specifically disable declarations for the plugin + "declaration": false, + "declarationMap": false, + "outDir": "./dist", + "rootDir": "./src", + "resolveJsonModule": true + }, + "include": ["src", "typings"], + "references": [] +} diff --git a/packages/integration-tests/tsconfig.json b/packages/integration-tests/tsconfig.json new file mode 100644 index 00000000000..23640f1c418 --- /dev/null +++ b/packages/integration-tests/tsconfig.json @@ -0,0 +1,9 @@ +{ + "extends": "./tsconfig.build.json", + "compilerOptions": { + "composite": false, + "rootDir": "." + }, + "include": ["src", "typings", "tests", "jest.config.js", "tools"], + "references": [] +} diff --git a/packages/integration-tests/typings/global.d.ts b/packages/integration-tests/typings/global.d.ts new file mode 100644 index 00000000000..1a4c2599eae --- /dev/null +++ b/packages/integration-tests/typings/global.d.ts @@ -0,0 +1,2 @@ +// eslint-disable-next-line no-var +declare var tseslintPackages: Record; diff --git a/packages/parser/project.json b/packages/parser/project.json index 39cc9637919..569dceb5988 100644 --- a/packages/parser/project.json +++ b/packages/parser/project.json @@ -8,7 +8,8 @@ "executor": "@nrwl/linter:eslint", "outputs": ["{options.outputFile}"], "options": { - "lintFilePatterns": ["packages/parser/**/*.ts"] + "lintFilePatterns": ["packages/parser/**/*.{mts,cts,ts,tsx}"], + "ignorePath": ".eslintignore" } } } diff --git a/packages/parser/tests/fixtures/basics/do-while-statements.src.js b/packages/parser/tests/fixtures/basics/do-while-statements.src.js index f2c72e8efc5..3ef00852dcb 100644 --- a/packages/parser/tests/fixtures/basics/do-while-statements.src.js +++ b/packages/parser/tests/fixtures/basics/do-while-statements.src.js @@ -1,6 +1,7 @@ -do; while(1); +do; +while (1); var i = 0; do { - i += 1; + i += 1; } while (i < 5); diff --git a/packages/parser/tests/fixtures/basics/identifiers-double-underscore.src.js b/packages/parser/tests/fixtures/basics/identifiers-double-underscore.src.js index b765d562e14..f15cb8edc5a 100644 --- a/packages/parser/tests/fixtures/basics/identifiers-double-underscore.src.js +++ b/packages/parser/tests/fixtures/basics/identifiers-double-underscore.src.js @@ -1,9 +1,5 @@ var __test = 'ff'; -class __Foo { +class __Foo {} -} - -function __Bar() { - -} +function __Bar() {} diff --git a/packages/parser/tests/fixtures/basics/instanceof.src.js b/packages/parser/tests/fixtures/basics/instanceof.src.js index 909f769f83d..501323cfc91 100644 --- a/packages/parser/tests/fixtures/basics/instanceof.src.js +++ b/packages/parser/tests/fixtures/basics/instanceof.src.js @@ -1 +1 @@ -'' instanceof Set \ No newline at end of file +'' instanceof Set; diff --git a/packages/parser/tests/fixtures/basics/new-without-parens.src.js b/packages/parser/tests/fixtures/basics/new-without-parens.src.js index fd30dda06ab..24719857448 100644 --- a/packages/parser/tests/fixtures/basics/new-without-parens.src.js +++ b/packages/parser/tests/fixtures/basics/new-without-parens.src.js @@ -1,2 +1,2 @@ -function X () {} -new X; \ No newline at end of file +function X() {} +new X(); diff --git a/packages/parser/tests/fixtures/basics/typeof-expression.src.js b/packages/parser/tests/fixtures/basics/typeof-expression.src.js index 43d0ea77840..86cf9741979 100644 --- a/packages/parser/tests/fixtures/basics/typeof-expression.src.js +++ b/packages/parser/tests/fixtures/basics/typeof-expression.src.js @@ -1 +1 @@ -typeof 'str' +typeof 'str'; diff --git a/packages/parser/tests/fixtures/basics/update-expression.src.js b/packages/parser/tests/fixtures/basics/update-expression.src.js index 1c94b625bd2..9d77c1d8bda 100644 --- a/packages/parser/tests/fixtures/basics/update-expression.src.js +++ b/packages/parser/tests/fixtures/basics/update-expression.src.js @@ -2,4 +2,4 @@ var i = 0; function f() { i++; } -f(); \ No newline at end of file +f(); diff --git a/packages/parser/tests/fixtures/basics/void-expression.src.js b/packages/parser/tests/fixtures/basics/void-expression.src.js index 7da947c9a45..0ff5f668a4b 100644 --- a/packages/parser/tests/fixtures/basics/void-expression.src.js +++ b/packages/parser/tests/fixtures/basics/void-expression.src.js @@ -1,2 +1,2 @@ void 4; -void(3); +void 3; diff --git a/packages/parser/tests/fixtures/scope-analysis/535.ts b/packages/parser/tests/fixtures/scope-analysis/535.ts index 07dfa609258..a670cd761c2 100644 --- a/packages/parser/tests/fixtures/scope-analysis/535.ts +++ b/packages/parser/tests/fixtures/scope-analysis/535.ts @@ -1,3 +1,3 @@ function foo({ bar }: { bar: string }) { - bar; + bar; } diff --git a/packages/parser/tests/fixtures/scope-analysis/abstract-class.ts b/packages/parser/tests/fixtures/scope-analysis/abstract-class.ts index b71fd3e40cf..2bfac2c4006 100644 --- a/packages/parser/tests/fixtures/scope-analysis/abstract-class.ts +++ b/packages/parser/tests/fixtures/scope-analysis/abstract-class.ts @@ -1,4 +1,4 @@ abstract class A { - abstract a: string - abstract f(): number + abstract a: string; + abstract f(): number; } diff --git a/packages/parser/tests/fixtures/scope-analysis/class-implements.ts b/packages/parser/tests/fixtures/scope-analysis/class-implements.ts index 8da64a02531..5341664a965 100644 --- a/packages/parser/tests/fixtures/scope-analysis/class-implements.ts +++ b/packages/parser/tests/fixtures/scope-analysis/class-implements.ts @@ -1,3 +1 @@ -class Foo implements Component, {}>, Component2 { - -} +class Foo implements Component, {}>, Component2 {} diff --git a/packages/parser/tests/fixtures/scope-analysis/class-properties.ts b/packages/parser/tests/fixtures/scope-analysis/class-properties.ts index c44605051d9..74eb0583183 100644 --- a/packages/parser/tests/fixtures/scope-analysis/class-properties.ts +++ b/packages/parser/tests/fixtures/scope-analysis/class-properties.ts @@ -1,5 +1,5 @@ -const s = Symbol() +const s = Symbol(); class A { - a: typeof s - [s]: number + a: typeof s; + [s]: number; } diff --git a/packages/parser/tests/fixtures/scope-analysis/class-supper-type.ts b/packages/parser/tests/fixtures/scope-analysis/class-supper-type.ts index 14ad843ebe6..6d1280e6a33 100644 --- a/packages/parser/tests/fixtures/scope-analysis/class-supper-type.ts +++ b/packages/parser/tests/fixtures/scope-analysis/class-supper-type.ts @@ -1,11 +1,5 @@ -abstract class Foo extends Bar { +abstract class Foo extends Bar {} -} +declare class Foo2 extends Bar {} -declare class Foo2 extends Bar { - -} - -class Foo3 extends Bar { - -} +class Foo3 extends Bar {} diff --git a/packages/parser/tests/fixtures/scope-analysis/computed-properties-in-interface.ts b/packages/parser/tests/fixtures/scope-analysis/computed-properties-in-interface.ts index b821bc7f535..54e86d99c90 100644 --- a/packages/parser/tests/fixtures/scope-analysis/computed-properties-in-interface.ts +++ b/packages/parser/tests/fixtures/scope-analysis/computed-properties-in-interface.ts @@ -1,5 +1,6 @@ -const s1 = Symbol(), s2 = Symbol() +const s1 = Symbol(), + s2 = Symbol(); interface A { - [s1]: number - [s2](s1: number, s2: number): number; + [s1]: number; + [s2](s1: number, s2: number): number; } diff --git a/packages/parser/tests/fixtures/scope-analysis/computed-properties-in-type.ts b/packages/parser/tests/fixtures/scope-analysis/computed-properties-in-type.ts index 46f729479dc..bb869c3b1be 100644 --- a/packages/parser/tests/fixtures/scope-analysis/computed-properties-in-type.ts +++ b/packages/parser/tests/fixtures/scope-analysis/computed-properties-in-type.ts @@ -1,5 +1,6 @@ -const s1 = Symbol(), s2 = Symbol() +const s1 = Symbol(), + s2 = Symbol(); type A = { - [s1]: number - [s2](s1: number, s2: number): number; -} + [s1]: number; + [s2](s1: number, s2: number): number; +}; diff --git a/packages/parser/tests/fixtures/scope-analysis/declare-function.ts b/packages/parser/tests/fixtures/scope-analysis/declare-function.ts index ea6c15bb9c9..fda662f6bea 100644 --- a/packages/parser/tests/fixtures/scope-analysis/declare-function.ts +++ b/packages/parser/tests/fixtures/scope-analysis/declare-function.ts @@ -1,2 +1,2 @@ -declare function f(a: number): number -f +declare function f(a: number): number; +f; diff --git a/packages/parser/tests/fixtures/scope-analysis/declare-global.ts b/packages/parser/tests/fixtures/scope-analysis/declare-global.ts index 76c4bef203b..4ab135294f5 100644 --- a/packages/parser/tests/fixtures/scope-analysis/declare-global.ts +++ b/packages/parser/tests/fixtures/scope-analysis/declare-global.ts @@ -1,7 +1,7 @@ declare global { - let C: number + let C: number; } -C = 1 +C = 1; -export {} +export {}; diff --git a/packages/parser/tests/fixtures/scope-analysis/declare-module.ts b/packages/parser/tests/fixtures/scope-analysis/declare-module.ts index 9459128702d..b5ba72616b8 100644 --- a/packages/parser/tests/fixtures/scope-analysis/declare-module.ts +++ b/packages/parser/tests/fixtures/scope-analysis/declare-module.ts @@ -1,6 +1,6 @@ -const a = 1 -declare module "foo" { - export const a: number - export const b: typeof a +const a = 1; +declare module 'foo' { + export const a: number; + export const b: typeof a; } -a +a; diff --git a/packages/parser/tests/fixtures/scope-analysis/decorators.ts b/packages/parser/tests/fixtures/scope-analysis/decorators.ts index 34da4b56766..4d3363ea1c1 100644 --- a/packages/parser/tests/fixtures/scope-analysis/decorators.ts +++ b/packages/parser/tests/fixtures/scope-analysis/decorators.ts @@ -1,13 +1,12 @@ -function dec(target: any) { -} +function dec(target: any) {} function gec() { - return (target: any, propertyKey: string) => {} + return (target: any, propertyKey: string) => {}; } @dec class C { - @gec() field: string - @gec() method(): string { - return "" - } + @gec() field: string; + @gec() method(): string { + return ''; + } } diff --git a/packages/parser/tests/fixtures/scope-analysis/enum-string.ts b/packages/parser/tests/fixtures/scope-analysis/enum-string.ts index 754e3263772..da0816a0f5a 100644 --- a/packages/parser/tests/fixtures/scope-analysis/enum-string.ts +++ b/packages/parser/tests/fixtures/scope-analysis/enum-string.ts @@ -1,3 +1,3 @@ enum Foo { - BAR = 'bar' + BAR = 'bar', } diff --git a/packages/parser/tests/fixtures/scope-analysis/enum.ts b/packages/parser/tests/fixtures/scope-analysis/enum.ts index 98464d4e9bb..2865a0ca3dd 100644 --- a/packages/parser/tests/fixtures/scope-analysis/enum.ts +++ b/packages/parser/tests/fixtures/scope-analysis/enum.ts @@ -1,6 +1,6 @@ -const a: number = 1 +const a: number = 1; enum E { - A = a, - B = a + 1, - C = A + B + A = a, + B = a + 1, + C = A + B, } diff --git a/packages/parser/tests/fixtures/scope-analysis/expression-type-parameters.ts b/packages/parser/tests/fixtures/scope-analysis/expression-type-parameters.ts index f6f14f66592..04c7bfdcbc9 100644 --- a/packages/parser/tests/fixtures/scope-analysis/expression-type-parameters.ts +++ b/packages/parser/tests/fixtures/scope-analysis/expression-type-parameters.ts @@ -1,4 +1,4 @@ -const a, b, c, d, e, f +const a, b, c, d, e, f; new foo(a, b, c); diff --git a/packages/parser/tests/fixtures/scope-analysis/function-overload-2.ts b/packages/parser/tests/fixtures/scope-analysis/function-overload-2.ts index 548267aeb2e..ba1a1a463fa 100644 --- a/packages/parser/tests/fixtures/scope-analysis/function-overload-2.ts +++ b/packages/parser/tests/fixtures/scope-analysis/function-overload-2.ts @@ -1,2 +1,2 @@ -function f(): void -function f(a: number): void +function f(): void; +function f(a: number): void; diff --git a/packages/parser/tests/fixtures/scope-analysis/function-overload.ts b/packages/parser/tests/fixtures/scope-analysis/function-overload.ts index 7d23f50f4b3..836c5f1ed34 100644 --- a/packages/parser/tests/fixtures/scope-analysis/function-overload.ts +++ b/packages/parser/tests/fixtures/scope-analysis/function-overload.ts @@ -1,5 +1,5 @@ -function f(): void -function f(a: number): void +function f(): void; +function f(a: number): void; function f(a?: number): void { - // do something. + // do something. } diff --git a/packages/parser/tests/fixtures/scope-analysis/identifier-decorators.ts b/packages/parser/tests/fixtures/scope-analysis/identifier-decorators.ts index 00d04632efb..74514e89ee9 100644 --- a/packages/parser/tests/fixtures/scope-analysis/identifier-decorators.ts +++ b/packages/parser/tests/fixtures/scope-analysis/identifier-decorators.ts @@ -1,4 +1,3 @@ export class Test { - constructor(@Decorator config) { - } + constructor(@Decorator config) {} } diff --git a/packages/parser/tests/fixtures/scope-analysis/ignore-type-only-stuff.ts b/packages/parser/tests/fixtures/scope-analysis/ignore-type-only-stuff.ts index 45cabe3919d..f2f18b88bd0 100644 --- a/packages/parser/tests/fixtures/scope-analysis/ignore-type-only-stuff.ts +++ b/packages/parser/tests/fixtures/scope-analysis/ignore-type-only-stuff.ts @@ -1,9 +1,9 @@ -type A = number +type A = number; interface B { - prop1: A + prop1: A; } interface C extends B { - method(a: { b: A }): { c: A } + method(a: { b: A }): { c: A }; } -var a: C +var a: C; diff --git a/packages/parser/tests/fixtures/scope-analysis/import-equals.ts b/packages/parser/tests/fixtures/scope-analysis/import-equals.ts index be7ce518477..8cb59408d93 100644 --- a/packages/parser/tests/fixtures/scope-analysis/import-equals.ts +++ b/packages/parser/tests/fixtures/scope-analysis/import-equals.ts @@ -1 +1 @@ -import foo = require('bar') +import foo = require('bar'); diff --git a/packages/parser/tests/fixtures/scope-analysis/interface-type.ts b/packages/parser/tests/fixtures/scope-analysis/interface-type.ts index 2590bf7a913..f272c4ca8ae 100644 --- a/packages/parser/tests/fixtures/scope-analysis/interface-type.ts +++ b/packages/parser/tests/fixtures/scope-analysis/interface-type.ts @@ -1,7 +1,5 @@ -interface C { - -} +interface C {} interface R { - foo: C + foo: C; } diff --git a/packages/parser/tests/fixtures/scope-analysis/method-overload.ts b/packages/parser/tests/fixtures/scope-analysis/method-overload.ts index fd8cbbdfd27..e304dbf4c0b 100644 --- a/packages/parser/tests/fixtures/scope-analysis/method-overload.ts +++ b/packages/parser/tests/fixtures/scope-analysis/method-overload.ts @@ -1,8 +1,8 @@ -const s = Symbol() +const s = Symbol(); class A { - f(): void - f(a: typeof s): void - f(a?: any): void { - // do something. - } + f(): void; + f(a: typeof s): void; + f(a?: any): void { + // do something. + } } diff --git a/packages/parser/tests/fixtures/scope-analysis/namespace.ts b/packages/parser/tests/fixtures/scope-analysis/namespace.ts index 216c093e580..18fc72d420d 100644 --- a/packages/parser/tests/fixtures/scope-analysis/namespace.ts +++ b/packages/parser/tests/fixtures/scope-analysis/namespace.ts @@ -1,7 +1,7 @@ -const a = 1 +const a = 1; namespace N { - export const a = 2 - a + export const a = 2; + a; } -a -N.a +a; +N.a; diff --git a/packages/parser/tests/fixtures/scope-analysis/type-alias.ts b/packages/parser/tests/fixtures/scope-analysis/type-alias.ts index 188a66b64f4..e3a533b01df 100644 --- a/packages/parser/tests/fixtures/scope-analysis/type-alias.ts +++ b/packages/parser/tests/fixtures/scope-analysis/type-alias.ts @@ -1 +1 @@ -type foo = string +type foo = string; diff --git a/packages/parser/tests/fixtures/scope-analysis/type-annotations.ts b/packages/parser/tests/fixtures/scope-analysis/type-annotations.ts index f5d4e63b7d5..c98d419b512 100644 --- a/packages/parser/tests/fixtures/scope-analysis/type-annotations.ts +++ b/packages/parser/tests/fixtures/scope-analysis/type-annotations.ts @@ -1,7 +1,7 @@ -type A = number -var a: { b: A } +type A = number; +var a: { b: A }; class C { - f(a: { b: A }): { b: A } { - return {b: 1} - } + f(a: { b: A }): { b: A } { + return { b: 1 }; + } } diff --git a/packages/parser/tests/fixtures/scope-analysis/type-assertions.ts b/packages/parser/tests/fixtures/scope-analysis/type-assertions.ts index 0a4caa7f0b7..28e52fe0a44 100644 --- a/packages/parser/tests/fixtures/scope-analysis/type-assertions.ts +++ b/packages/parser/tests/fixtures/scope-analysis/type-assertions.ts @@ -1,3 +1,3 @@ type A = number; -a = b; +a = b; a = b as A; diff --git a/packages/parser/tests/fixtures/scope-analysis/typeof-in-assertions.ts b/packages/parser/tests/fixtures/scope-analysis/typeof-in-assertions.ts index 023291c4e99..cf979859d0b 100644 --- a/packages/parser/tests/fixtures/scope-analysis/typeof-in-assertions.ts +++ b/packages/parser/tests/fixtures/scope-analysis/typeof-in-assertions.ts @@ -1,3 +1,3 @@ -var obj = { value: 1 } +var obj = { value: 1 }; a = b; a = b as typeof obj; diff --git a/packages/parser/tests/fixtures/scope-analysis/typeof-in-call-signature.ts b/packages/parser/tests/fixtures/scope-analysis/typeof-in-call-signature.ts index e3e90ce0838..c93ce5ab465 100644 --- a/packages/parser/tests/fixtures/scope-analysis/typeof-in-call-signature.ts +++ b/packages/parser/tests/fixtures/scope-analysis/typeof-in-call-signature.ts @@ -1,5 +1,5 @@ -const obj = { value: 1 } +const obj = { value: 1 }; interface A { - (a: typeof obj, b: T): typeof obj - new (a: typeof obj, b: T): typeof obj + (a: typeof obj, b: T): typeof obj; + new (a: typeof obj, b: T): typeof obj; } diff --git a/packages/parser/tests/fixtures/scope-analysis/typeof-in-return-type.ts b/packages/parser/tests/fixtures/scope-analysis/typeof-in-return-type.ts index 15f6b7c33f2..65cebe657d5 100644 --- a/packages/parser/tests/fixtures/scope-analysis/typeof-in-return-type.ts +++ b/packages/parser/tests/fixtures/scope-analysis/typeof-in-return-type.ts @@ -1,3 +1,4 @@ -function f(a: number): typeof a { // this `a` is the parameter `a`. - return 1 +function f(a: number): typeof a { + // this `a` is the parameter `a`. + return 1; } diff --git a/packages/parser/tests/fixtures/scope-analysis/typeof-in-type-parameters.ts b/packages/parser/tests/fixtures/scope-analysis/typeof-in-type-parameters.ts index 2bf99cbfb58..e737a09494a 100644 --- a/packages/parser/tests/fixtures/scope-analysis/typeof-in-type-parameters.ts +++ b/packages/parser/tests/fixtures/scope-analysis/typeof-in-type-parameters.ts @@ -1,3 +1,3 @@ function g(g: T): number { - return 1 + return 1; } diff --git a/packages/parser/tests/fixtures/scope-analysis/typeof-in-var.ts b/packages/parser/tests/fixtures/scope-analysis/typeof-in-var.ts index c970514ecb6..8d34de61d71 100644 --- a/packages/parser/tests/fixtures/scope-analysis/typeof-in-var.ts +++ b/packages/parser/tests/fixtures/scope-analysis/typeof-in-var.ts @@ -1,4 +1,4 @@ -var obj = { value: 1 } -var obj2: typeof obj = { value: 2 } -var { value }: typeof obj = { value: 2 } -var [element]: (typeof obj)[] = [{ value: 2 }] +var obj = { value: 1 }; +var obj2: typeof obj = { value: 2 }; +var { value }: typeof obj = { value: 2 }; +var [element]: (typeof obj)[] = [{ value: 2 }]; diff --git a/packages/parser/tests/fixtures/scope-analysis/typeof.ts b/packages/parser/tests/fixtures/scope-analysis/typeof.ts index 10e4143a731..f7971d1e59e 100644 --- a/packages/parser/tests/fixtures/scope-analysis/typeof.ts +++ b/packages/parser/tests/fixtures/scope-analysis/typeof.ts @@ -1,2 +1,2 @@ -var obj = { value: 1 } -type B = typeof obj +var obj = { value: 1 }; +type B = typeof obj; diff --git a/packages/parser/tests/fixtures/scope-analysis/types-array-type.src.ts b/packages/parser/tests/fixtures/scope-analysis/types-array-type.src.ts index 5d038fc71d9..78e59bf182a 100644 --- a/packages/parser/tests/fixtures/scope-analysis/types-array-type.src.ts +++ b/packages/parser/tests/fixtures/scope-analysis/types-array-type.src.ts @@ -1 +1 @@ -type Foo = string[] +type Foo = string[]; diff --git a/packages/parser/tests/fixtures/scope-analysis/types-infer.ts b/packages/parser/tests/fixtures/scope-analysis/types-infer.ts index 45ab5c0f905..599aaa275dd 100644 --- a/packages/parser/tests/fixtures/scope-analysis/types-infer.ts +++ b/packages/parser/tests/fixtures/scope-analysis/types-infer.ts @@ -1,5 +1,7 @@ -type Unpacked = - T extends (infer U)[] ? U : - T extends infer U ? U : - T extends Promise ? U : - T; +type Unpacked = T extends (infer U)[] + ? U + : T extends infer U + ? U + : T extends Promise + ? U + : T; diff --git a/packages/parser/tests/fixtures/scope-analysis/types-mapped-readonly-plus.src.ts b/packages/parser/tests/fixtures/scope-analysis/types-mapped-readonly-plus.src.ts index 854fb5dbb2a..5003d88ba6a 100644 --- a/packages/parser/tests/fixtures/scope-analysis/types-mapped-readonly-plus.src.ts +++ b/packages/parser/tests/fixtures/scope-analysis/types-mapped-readonly-plus.src.ts @@ -1 +1 @@ -let map: { +readonly [P in string]+?: number; }; +let map: { +readonly [P in string]+?: number }; diff --git a/packages/parser/tests/fixtures/scope-analysis/types-mapped-readonly.src.ts b/packages/parser/tests/fixtures/scope-analysis/types-mapped-readonly.src.ts index ef13a053bf2..7594f4d2b2f 100644 --- a/packages/parser/tests/fixtures/scope-analysis/types-mapped-readonly.src.ts +++ b/packages/parser/tests/fixtures/scope-analysis/types-mapped-readonly.src.ts @@ -1 +1 @@ -let map: { readonly [P in string]?: number; }; +let map: { readonly [P in string]?: number }; diff --git a/packages/parser/tests/fixtures/scope-analysis/types-mapped.src.ts b/packages/parser/tests/fixtures/scope-analysis/types-mapped.src.ts index aca2ba15b93..0482553071a 100644 --- a/packages/parser/tests/fixtures/scope-analysis/types-mapped.src.ts +++ b/packages/parser/tests/fixtures/scope-analysis/types-mapped.src.ts @@ -1 +1 @@ -let map: { [P in string]: number; }; +let map: { [P in string]: number }; diff --git a/packages/parser/tests/fixtures/scope-analysis/types-nested-types.src.ts b/packages/parser/tests/fixtures/scope-analysis/types-nested-types.src.ts index adaf9a3cf30..0a55975787b 100644 --- a/packages/parser/tests/fixtures/scope-analysis/types-nested-types.src.ts +++ b/packages/parser/tests/fixtures/scope-analysis/types-nested-types.src.ts @@ -1 +1,3 @@ -type Foo = [number, string?, boolean?] | [{}, [number?] | null & boolean[]] & {} +type Foo = + | [number, string?, boolean?] + | ([{}, [number?] | (null & boolean[])] & {}); diff --git a/packages/parser/tests/fixtures/scope-analysis/types-parenthesized-type.src.ts b/packages/parser/tests/fixtures/scope-analysis/types-parenthesized-type.src.ts index 5a03e27ee67..8533ed3c8ab 100644 --- a/packages/parser/tests/fixtures/scope-analysis/types-parenthesized-type.src.ts +++ b/packages/parser/tests/fixtures/scope-analysis/types-parenthesized-type.src.ts @@ -1 +1 @@ -type Foo = (string | number) +type Foo = string | number; diff --git a/packages/parser/tests/fixtures/scope-analysis/types-tuple-optional.src.ts b/packages/parser/tests/fixtures/scope-analysis/types-tuple-optional.src.ts index 3b8d21ba958..c32cf4f129a 100644 --- a/packages/parser/tests/fixtures/scope-analysis/types-tuple-optional.src.ts +++ b/packages/parser/tests/fixtures/scope-analysis/types-tuple-optional.src.ts @@ -1 +1 @@ -let x: [string, number?, (string | number)?] +let x: [string, number?, (string | number)?]; diff --git a/packages/parser/tests/fixtures/scope-analysis/types-tuple-rest.src.ts b/packages/parser/tests/fixtures/scope-analysis/types-tuple-rest.src.ts index d7719b2cb4e..5989494fba4 100644 --- a/packages/parser/tests/fixtures/scope-analysis/types-tuple-rest.src.ts +++ b/packages/parser/tests/fixtures/scope-analysis/types-tuple-rest.src.ts @@ -1 +1 @@ -let x: [string, ...number[]] +let x: [string, ...number[]]; diff --git a/packages/parser/tests/fixtures/scope-analysis/types-tuple-type.src.ts b/packages/parser/tests/fixtures/scope-analysis/types-tuple-type.src.ts index 75a6d8e39f3..192fa76d491 100644 --- a/packages/parser/tests/fixtures/scope-analysis/types-tuple-type.src.ts +++ b/packages/parser/tests/fixtures/scope-analysis/types-tuple-type.src.ts @@ -1 +1 @@ -type Foo = [string, string?] +type Foo = [string, string?]; diff --git a/packages/parser/tests/fixtures/scope-analysis/types-union-intersection.src.ts b/packages/parser/tests/fixtures/scope-analysis/types-union-intersection.src.ts index 93f391fdc41..b7e93dbb2ed 100644 --- a/packages/parser/tests/fixtures/scope-analysis/types-union-intersection.src.ts +++ b/packages/parser/tests/fixtures/scope-analysis/types-union-intersection.src.ts @@ -1,4 +1,4 @@ let union: number | null | undefined; let intersection: number & string; -let precedence1: number | string & boolean; -let precedence2: number & string | boolean; +let precedence1: number | (string & boolean); +let precedence2: (number & string) | boolean; diff --git a/packages/parser/tests/fixtures/scope-analysis/types-union-type.src.ts b/packages/parser/tests/fixtures/scope-analysis/types-union-type.src.ts index a2cfaf9af40..75533833b76 100644 --- a/packages/parser/tests/fixtures/scope-analysis/types-union-type.src.ts +++ b/packages/parser/tests/fixtures/scope-analysis/types-union-type.src.ts @@ -1 +1 @@ -type Foo = string & number +type Foo = string & number; diff --git a/packages/repo-tools/README.md b/packages/repo-tools/README.md new file mode 100644 index 00000000000..9d1b671c9e5 --- /dev/null +++ b/packages/repo-tools/README.md @@ -0,0 +1,9 @@ +# `@typescript-eslint/eslint-plugin-internal` + +> Generic repo tools for the typescript-eslint project + +## ✋ Internal Package + +This is an _internal package_ to the [typescript-eslint monorepo](https://github.com/typescript-eslint/typescript-eslint). + +👉 See **https://typescript-eslint.io** for docs on typescript-eslint. diff --git a/packages/repo-tools/jest.config.js b/packages/repo-tools/jest.config.js new file mode 100644 index 00000000000..72e29aa600b --- /dev/null +++ b/packages/repo-tools/jest.config.js @@ -0,0 +1,8 @@ +'use strict'; + +// @ts-check +/** @type {import('@jest/types').Config.InitialOptions} */ +module.exports = { + ...require('../../jest.config.base.js'), + coveragePathIgnorePatterns: ['src/index.ts$', 'src/configs/.*.ts$'], +}; diff --git a/packages/repo-tools/package.json b/packages/repo-tools/package.json new file mode 100644 index 00000000000..26fee2659a4 --- /dev/null +++ b/packages/repo-tools/package.json @@ -0,0 +1,20 @@ +{ + "name": "@typescript-eslint/repo-tools", + "version": "5.52.0", + "private": true, + "scripts": { + "format": "prettier --write \"./**/*.{ts,mts,cts,tsx,js,mjs,cjs,jsx,json,md,css}\" --ignore-path ../../.prettierignore", + "generate-contributors": "tsx ./src/generate-contributors.ts", + "generate-sponsors": "tsx ./src/generate-sponsors.ts", + "lint": "nx lint", + "postinstall-script": "tsx ./src/postinstall.ts", + "test": "jest --coverage", + "typecheck": "tsc -p tsconfig.json --noEmit" + }, + "devDependencies": { + "cross-fetch": "*", + "execa": "5.1.1", + "prettier": "*", + "tmp": "*" + } +} diff --git a/packages/repo-tools/project.json b/packages/repo-tools/project.json new file mode 100644 index 00000000000..97a8d2b2854 --- /dev/null +++ b/packages/repo-tools/project.json @@ -0,0 +1,16 @@ +{ + "name": "repo-tools", + "$schema": "../../node_modules/nx/schemas/project-schema.json", + "type": "library", + "implicitDependencies": [], + "targets": { + "lint": { + "executor": "@nrwl/linter:eslint", + "outputs": ["{options.outputFile}"], + "options": { + "lintFilePatterns": ["packages/repo-tools/**/*.{mts,cts,ts,tsx}"], + "ignorePath": ".eslintignore" + } + } + } +} diff --git a/tools/generate-contributors.ts b/packages/repo-tools/src/generate-contributors.ts similarity index 81% rename from tools/generate-contributors.ts rename to packages/repo-tools/src/generate-contributors.ts index 10304672121..abf8f36ab25 100644 --- a/tools/generate-contributors.ts +++ b/packages/repo-tools/src/generate-contributors.ts @@ -32,7 +32,11 @@ interface User { html_url: string; } -async function getData(url: string): Promise { +async function getData(url: string | undefined): Promise { + if (url == null) { + return null; + } + const response = await fetch(url, { method: 'GET', headers: { @@ -52,7 +56,7 @@ async function* fetchUsers(page = 1): AsyncIterableIterator { ); if (!Array.isArray(contributors)) { - throw new Error(contributors.message); + throw new Error(contributors?.message ?? 'An error occurred'); } const thresholdedContributors = contributors.filter( @@ -77,6 +81,15 @@ function writeTable(contributors: User[], perLine = 5): void { const columns = contributors.length > perLine ? perLine : contributors.length; const lines = [ + '', + '', '# Contributors', '', 'Thanks goes to these wonderful people:', @@ -132,7 +145,7 @@ async function main(): Promise { } // fetch the user info - const users = await Promise.all( + const users = await Promise.allSettled( githubContributors // remove ignored users and bots .filter( @@ -143,7 +156,14 @@ async function main(): Promise { ); writeTable( - users.filter(c => c.login), + users + .map(result => { + if (result.status === 'fulfilled') { + return result.value; + } + return null; + }) + .filter((c): c is User => c?.login != null), 5, ); } diff --git a/tools/generate-sponsors.ts b/packages/repo-tools/src/generate-sponsors.ts similarity index 100% rename from tools/generate-sponsors.ts rename to packages/repo-tools/src/generate-sponsors.ts diff --git a/tools/postinstall.ts b/packages/repo-tools/src/postinstall.ts similarity index 72% rename from tools/postinstall.ts rename to packages/repo-tools/src/postinstall.ts index badd3f0137a..7e3d966a08f 100644 --- a/tools/postinstall.ts +++ b/packages/repo-tools/src/postinstall.ts @@ -1,4 +1,5 @@ import * as execa from 'execa'; +import path from 'path'; /** * In certain circumstances we want to skip the below the steps and it may not always @@ -14,18 +15,25 @@ if (process.env.SKIP_POSTINSTALL) { process.exit(0); } +const REPO_ROOT = path.resolve(__dirname, '..', '..'); + void (async function (): Promise { + // make sure we're running from the root + process.chdir(REPO_ROOT); + // Apply patches to installed node_modules await $`yarn patch-package`; // Install git hooks await $`yarn husky install`; - // Clean any caches that may be invalid now - await $`yarn clean`; + if (!process.env.SKIP_POSTINSTALL_BUILD) { + // Clean any caches that may be invalid now + await $`yarn clean`; - // Build all the packages ready for use - await $`yarn build`; + // Build all the packages ready for use + await $`yarn build`; + } })(); async function $(cmd: TemplateStringsArray): Promise { diff --git a/packages/repo-tools/tsconfig.build.json b/packages/repo-tools/tsconfig.build.json new file mode 100644 index 00000000000..2f504b292b0 --- /dev/null +++ b/packages/repo-tools/tsconfig.build.json @@ -0,0 +1,13 @@ +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { + // specifically disable declarations for the plugin + "declaration": false, + "declarationMap": false, + "outDir": "./dist", + "rootDir": "./src", + "resolveJsonModule": true + }, + "include": ["src", "tests", "typings"], + "references": [] +} diff --git a/packages/repo-tools/tsconfig.json b/packages/repo-tools/tsconfig.json new file mode 100644 index 00000000000..736e7fb6dc1 --- /dev/null +++ b/packages/repo-tools/tsconfig.json @@ -0,0 +1,9 @@ +{ + "extends": "./tsconfig.build.json", + "compilerOptions": { + "composite": false, + "rootDir": "." + }, + "include": ["src", "typings"], + "references": [] +} diff --git a/packages/scope-manager/package.json b/packages/scope-manager/package.json index 2df915c8160..8feadf2198f 100644 --- a/packages/scope-manager/package.json +++ b/packages/scope-manager/package.json @@ -32,7 +32,7 @@ "clean": "nx clean", "clean-fixtures": "nx clean-fixtures", "format": "prettier --write \"./**/*.{ts,mts,cts,tsx,js,mjs,cjs,jsx,json,md,css}\" --ignore-path ../../.prettierignore", - "generate:lib": "nx generate-lib", + "generate-lib": "nx generate-lib", "lint": "nx lint", "test": "nx test --code-coverage", "typecheck": "nx typecheck" diff --git a/packages/scope-manager/project.json b/packages/scope-manager/project.json index 5d29f8634f4..3fd3a9e3aa8 100644 --- a/packages/scope-manager/project.json +++ b/packages/scope-manager/project.json @@ -54,7 +54,8 @@ "executor": "@nrwl/linter:eslint", "outputs": ["{options.outputFile}"], "options": { - "lintFilePatterns": ["packages/scope-manager/**/*.ts"] + "lintFilePatterns": ["packages/scope-manager/**/*.{mts,cts,ts,tsx}"], + "ignorePath": ".eslintignore" } }, "test": { diff --git a/packages/scope-manager/tests/fixtures.test.ts b/packages/scope-manager/tests/fixtures.test.ts index ac6b39c860e..06af753bc52 100644 --- a/packages/scope-manager/tests/fixtures.test.ts +++ b/packages/scope-manager/tests/fixtures.test.ts @@ -51,7 +51,7 @@ const ALLOWED_OPTIONS: Map = new Map< ]); function nestDescribe( - fixture: typeof fixtures[number], + fixture: (typeof fixtures)[number], segments = fixture.segments, ): void { if (segments.length > 0) { diff --git a/packages/type-utils/project.json b/packages/type-utils/project.json index 77fdd9b5fce..4980649b450 100644 --- a/packages/type-utils/project.json +++ b/packages/type-utils/project.json @@ -8,7 +8,8 @@ "executor": "@nrwl/linter:eslint", "outputs": ["{options.outputFile}"], "options": { - "lintFilePatterns": ["packages/type-utils/**/*.ts"] + "lintFilePatterns": ["packages/type-utils/**/*.{mts,cts,ts,tsx}"], + "ignorePath": ".eslintignore" } } } diff --git a/packages/type-utils/tests/fixtures/tsconfig.json b/packages/type-utils/tests/fixtures/tsconfig.json index 65b63294fc1..7e9126b848c 100644 --- a/packages/type-utils/tests/fixtures/tsconfig.json +++ b/packages/type-utils/tests/fixtures/tsconfig.json @@ -8,7 +8,5 @@ "lib": ["es2015", "es2017", "esnext"], "experimentalDecorators": true }, - "include": [ - "file.ts" - ] + "include": ["file.ts"] } diff --git a/packages/types/package.json b/packages/types/package.json index 99ead60b6fc..e550dcd285a 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -29,13 +29,13 @@ "main": "dist/index.js", "types": "dist/index.d.ts", "scripts": { - "prebuild": "yarn tsx ./tools/copy-ast-spec.ts", + "prebuild": "tsx ./tools/copy-ast-spec.ts", "build": "tsc -b tsconfig.build.json", "postbuild": "downlevel-dts dist _ts4.2/dist --to=4.2", "clean": "tsc -b tsconfig.build.json --clean", "postclean": "rimraf dist && rimraf src/generated && rimraf _ts3.4 && rimraf _ts4.2 && rimraf coverage", "format": "prettier --write \"./**/*.{ts,mts,cts,tsx,js,mjs,cjs,jsx,json,md,css}\" --ignore-path ../../.prettierignore", - "generate:lib": "yarn tsx ../scope-manager/tools/generate-lib.ts", + "generate-lib": "nx run scope-manager:generate-lib", "lint": "nx lint", "typecheck": "tsc -p tsconfig.json --noEmit" }, diff --git a/packages/types/project.json b/packages/types/project.json index 74fee293f18..fd05eed9ad4 100644 --- a/packages/types/project.json +++ b/packages/types/project.json @@ -8,7 +8,8 @@ "executor": "@nrwl/linter:eslint", "outputs": ["{options.outputFile}"], "options": { - "lintFilePatterns": ["packages/types/**/*.ts"] + "lintFilePatterns": ["packages/types/**/*.{mts,cts,ts,tsx}"], + "ignorePath": ".eslintignore" } } } diff --git a/packages/typescript-estree/project.json b/packages/typescript-estree/project.json index 2856ffe4f07..fb823c1041e 100644 --- a/packages/typescript-estree/project.json +++ b/packages/typescript-estree/project.json @@ -8,7 +8,10 @@ "executor": "@nrwl/linter:eslint", "outputs": ["{options.outputFile}"], "options": { - "lintFilePatterns": ["packages/typescript-estree/**/*.ts"] + "lintFilePatterns": [ + "packages/typescript-estree/**/*.{mts,cts,ts,tsx}" + ], + "ignorePath": ".eslintignore" } } } diff --git a/packages/typescript-estree/tests/fixtures/moduleResolver/moduleResolver.js b/packages/typescript-estree/tests/fixtures/moduleResolver/moduleResolver.js index 112df1b4b5f..90765fc79ef 100644 --- a/packages/typescript-estree/tests/fixtures/moduleResolver/moduleResolver.js +++ b/packages/typescript-estree/tests/fixtures/moduleResolver/moduleResolver.js @@ -32,5 +32,5 @@ module.exports = { } return resolvedModules; - } -} + }, +}; diff --git a/packages/typescript-estree/tests/fixtures/semanticInfo/badTSConfig/tsconfig.json b/packages/typescript-estree/tests/fixtures/semanticInfo/badTSConfig/tsconfig.json index 134439a183c..3fa1bfc0e66 100644 --- a/packages/typescript-estree/tests/fixtures/semanticInfo/badTSConfig/tsconfig.json +++ b/packages/typescript-estree/tests/fixtures/semanticInfo/badTSConfig/tsconfig.json @@ -1,9 +1,9 @@ { - "compileOnSave": "hello", - "compilerOptions": { - "target": "es5", /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017','ES2018' or 'ESNEXT'. */ - "module": "commonjs", /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', or 'ESNext'. */ - "strict": true, /* Enable all strict type-checking options. */ - "esModuleInterop": true /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */ - } - } \ No newline at end of file + "compileOnSave": "hello", + "compilerOptions": { + "target": "es5" /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017','ES2018' or 'ESNEXT'. */, + "module": "commonjs" /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', or 'ESNext'. */, + "strict": true /* Enable all strict type-checking options. */, + "esModuleInterop": true /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */ + } +} diff --git a/packages/typescript-estree/tests/fixtures/semanticInfo/export-file.src.ts b/packages/typescript-estree/tests/fixtures/semanticInfo/export-file.src.ts index 8bb4cb89d7c..ae8c10ea728 100644 --- a/packages/typescript-estree/tests/fixtures/semanticInfo/export-file.src.ts +++ b/packages/typescript-estree/tests/fixtures/semanticInfo/export-file.src.ts @@ -1 +1 @@ -export default [3, 4, 5]; \ No newline at end of file +export default [3, 4, 5]; diff --git a/packages/typescript-estree/tests/fixtures/semanticInfo/extra-file-extension.vue b/packages/typescript-estree/tests/fixtures/semanticInfo/extra-file-extension.vue index ca04667e621..0f03f097306 100644 --- a/packages/typescript-estree/tests/fixtures/semanticInfo/extra-file-extension.vue +++ b/packages/typescript-estree/tests/fixtures/semanticInfo/extra-file-extension.vue @@ -1 +1 @@ -const x = [3, 4, 5]; \ No newline at end of file +const x = [3, 4, 5]; diff --git a/packages/typescript-estree/tests/fixtures/semanticInfo/import-file.src.ts b/packages/typescript-estree/tests/fixtures/semanticInfo/import-file.src.ts index da5d2023648..a038bf9c241 100644 --- a/packages/typescript-estree/tests/fixtures/semanticInfo/import-file.src.ts +++ b/packages/typescript-estree/tests/fixtures/semanticInfo/import-file.src.ts @@ -1,2 +1,2 @@ -import arr from "./export-file.src"; -arr.push(6, 7); \ No newline at end of file +import arr from './export-file.src'; +arr.push(6, 7); diff --git a/packages/typescript-estree/tests/fixtures/semanticInfo/isolated-file.src.ts b/packages/typescript-estree/tests/fixtures/semanticInfo/isolated-file.src.ts index ca04667e621..0f03f097306 100644 --- a/packages/typescript-estree/tests/fixtures/semanticInfo/isolated-file.src.ts +++ b/packages/typescript-estree/tests/fixtures/semanticInfo/isolated-file.src.ts @@ -1 +1 @@ -const x = [3, 4, 5]; \ No newline at end of file +const x = [3, 4, 5]; diff --git a/packages/typescript-estree/tests/fixtures/semanticInfo/non-existent-estree-nodes.src.ts b/packages/typescript-estree/tests/fixtures/semanticInfo/non-existent-estree-nodes.src.ts index 4eb9dba432b..d9dece5e0be 100644 --- a/packages/typescript-estree/tests/fixtures/semanticInfo/non-existent-estree-nodes.src.ts +++ b/packages/typescript-estree/tests/fixtures/semanticInfo/non-existent-estree-nodes.src.ts @@ -1,4 +1,4 @@ -const binExp = (3 + 5); +const binExp = 3 + 5; class Bar { ['test']: string; diff --git a/packages/typescript-estree/tests/fixtures/semanticInfo/tsconfig.json b/packages/typescript-estree/tests/fixtures/semanticInfo/tsconfig.json index 3caa8722332..914d17298c5 100644 --- a/packages/typescript-estree/tests/fixtures/semanticInfo/tsconfig.json +++ b/packages/typescript-estree/tests/fixtures/semanticInfo/tsconfig.json @@ -5,4 +5,4 @@ "strict": true, "esModuleInterop": true } -} \ No newline at end of file +} diff --git a/packages/typescript-estree/tests/lib/__snapshots__/semanticInfo.test.ts.snap b/packages/typescript-estree/tests/lib/__snapshots__/semanticInfo.test.ts.snap index e0b0c94ee05..5f103cf99f9 100644 --- a/packages/typescript-estree/tests/lib/__snapshots__/semanticInfo.test.ts.snap +++ b/packages/typescript-estree/tests/lib/__snapshots__/semanticInfo.test.ts.snap @@ -101,8 +101,8 @@ exports[`semanticInfo fixtures/export-file.src 1`] = ` "comments": [], "loc": { "end": { - "column": 25, - "line": 1, + "column": 0, + "line": 2, }, "start": { "column": 0, @@ -111,7 +111,7 @@ exports[`semanticInfo fixtures/export-file.src 1`] = ` }, "range": [ 0, - 25, + 26, ], "sourceType": "module", "tokens": [ @@ -335,7 +335,7 @@ exports[`semanticInfo fixtures/import-file.src 1`] = ` 16, 35, ], - "raw": ""./export-file.src"", + "raw": "'./export-file.src'", "type": "Literal", "value": "./export-file.src", }, @@ -512,8 +512,8 @@ exports[`semanticInfo fixtures/import-file.src 1`] = ` "comments": [], "loc": { "end": { - "column": 15, - "line": 2, + "column": 0, + "line": 3, }, "start": { "column": 0, @@ -522,7 +522,7 @@ exports[`semanticInfo fixtures/import-file.src 1`] = ` }, "range": [ 0, - 52, + 53, ], "sourceType": "module", "tokens": [ @@ -596,7 +596,7 @@ exports[`semanticInfo fixtures/import-file.src 1`] = ` 35, ], "type": "String", - "value": ""./export-file.src"", + "value": "'./export-file.src'", }, { "loc": { @@ -921,8 +921,8 @@ exports[`semanticInfo fixtures/isolated-file.src 1`] = ` "comments": [], "loc": { "end": { - "column": 20, - "line": 1, + "column": 0, + "line": 2, }, "start": { "column": 0, @@ -931,7 +931,7 @@ exports[`semanticInfo fixtures/isolated-file.src 1`] = ` }, "range": [ 0, - 20, + 21, ], "sourceType": "script", "tokens": [ @@ -1166,17 +1166,17 @@ exports[`semanticInfo fixtures/non-existent-estree-nodes.src 1`] = ` "left": { "loc": { "end": { - "column": 17, + "column": 16, "line": 1, }, "start": { - "column": 16, + "column": 15, "line": 1, }, }, "range": [ + 15, 16, - 17, ], "raw": "3", "type": "Literal", @@ -1184,33 +1184,33 @@ exports[`semanticInfo fixtures/non-existent-estree-nodes.src 1`] = ` }, "loc": { "end": { - "column": 21, + "column": 20, "line": 1, }, "start": { - "column": 16, + "column": 15, "line": 1, }, }, "operator": "+", "range": [ - 16, - 21, + 15, + 20, ], "right": { "loc": { "end": { - "column": 21, + "column": 20, "line": 1, }, "start": { - "column": 20, + "column": 19, "line": 1, }, }, "range": [ + 19, 20, - 21, ], "raw": "5", "type": "Literal", @@ -1220,7 +1220,7 @@ exports[`semanticInfo fixtures/non-existent-estree-nodes.src 1`] = ` }, "loc": { "end": { - "column": 22, + "column": 20, "line": 1, }, "start": { @@ -1230,7 +1230,7 @@ exports[`semanticInfo fixtures/non-existent-estree-nodes.src 1`] = ` }, "range": [ 6, - 22, + 20, ], "type": "VariableDeclarator", }, @@ -1238,7 +1238,7 @@ exports[`semanticInfo fixtures/non-existent-estree-nodes.src 1`] = ` "kind": "const", "loc": { "end": { - "column": 23, + "column": 21, "line": 1, }, "start": { @@ -1248,7 +1248,7 @@ exports[`semanticInfo fixtures/non-existent-estree-nodes.src 1`] = ` }, "range": [ 0, - 23, + 21, ], "type": "VariableDeclaration", }, @@ -1270,8 +1270,8 @@ exports[`semanticInfo fixtures/non-existent-estree-nodes.src 1`] = ` }, }, "range": [ - 40, - 46, + 38, + 44, ], "raw": "'test'", "type": "Literal", @@ -1289,8 +1289,8 @@ exports[`semanticInfo fixtures/non-existent-estree-nodes.src 1`] = ` }, "override": false, "range": [ - 39, - 56, + 37, + 54, ], "static": false, "type": "PropertyDefinition", @@ -1306,8 +1306,8 @@ exports[`semanticInfo fixtures/non-existent-estree-nodes.src 1`] = ` }, }, "range": [ - 47, - 55, + 45, + 53, ], "type": "TSTypeAnnotation", "typeAnnotation": { @@ -1322,8 +1322,8 @@ exports[`semanticInfo fixtures/non-existent-estree-nodes.src 1`] = ` }, }, "range": [ - 49, - 55, + 47, + 53, ], "type": "TSStringKeyword", }, @@ -1342,8 +1342,8 @@ exports[`semanticInfo fixtures/non-existent-estree-nodes.src 1`] = ` }, }, "range": [ - 35, - 58, + 33, + 56, ], "type": "ClassBody", }, @@ -1360,8 +1360,8 @@ exports[`semanticInfo fixtures/non-existent-estree-nodes.src 1`] = ` }, "name": "Bar", "range": [ - 31, - 34, + 29, + 32, ], "type": "Identifier", }, @@ -1376,8 +1376,8 @@ exports[`semanticInfo fixtures/non-existent-estree-nodes.src 1`] = ` }, }, "range": [ - 25, - 58, + 23, + 56, ], "superClass": null, "type": "ClassDeclaration", @@ -1396,7 +1396,7 @@ exports[`semanticInfo fixtures/non-existent-estree-nodes.src 1`] = ` }, "range": [ 0, - 59, + 57, ], "sourceType": "script", "tokens": [ @@ -1469,41 +1469,23 @@ exports[`semanticInfo fixtures/non-existent-estree-nodes.src 1`] = ` 15, 16, ], - "type": "Punctuator", - "value": "(", - }, - { - "loc": { - "end": { - "column": 17, - "line": 1, - }, - "start": { - "column": 16, - "line": 1, - }, - }, - "range": [ - 16, - 17, - ], "type": "Numeric", "value": "3", }, { "loc": { "end": { - "column": 19, + "column": 18, "line": 1, }, "start": { - "column": 18, + "column": 17, "line": 1, }, }, "range": [ + 17, 18, - 19, ], "type": "Punctuator", "value": "+", @@ -1511,17 +1493,17 @@ exports[`semanticInfo fixtures/non-existent-estree-nodes.src 1`] = ` { "loc": { "end": { - "column": 21, + "column": 20, "line": 1, }, "start": { - "column": 20, + "column": 19, "line": 1, }, }, "range": [ + 19, 20, - 21, ], "type": "Numeric", "value": "5", @@ -1529,35 +1511,17 @@ exports[`semanticInfo fixtures/non-existent-estree-nodes.src 1`] = ` { "loc": { "end": { - "column": 22, - "line": 1, - }, - "start": { "column": 21, "line": 1, }, - }, - "range": [ - 21, - 22, - ], - "type": "Punctuator", - "value": ")", - }, - { - "loc": { - "end": { - "column": 23, - "line": 1, - }, "start": { - "column": 22, + "column": 20, "line": 1, }, }, "range": [ - 22, - 23, + 20, + 21, ], "type": "Punctuator", "value": ";", @@ -1574,8 +1538,8 @@ exports[`semanticInfo fixtures/non-existent-estree-nodes.src 1`] = ` }, }, "range": [ - 25, - 30, + 23, + 28, ], "type": "Keyword", "value": "class", @@ -1592,8 +1556,8 @@ exports[`semanticInfo fixtures/non-existent-estree-nodes.src 1`] = ` }, }, "range": [ - 31, - 34, + 29, + 32, ], "type": "Identifier", "value": "Bar", @@ -1610,8 +1574,8 @@ exports[`semanticInfo fixtures/non-existent-estree-nodes.src 1`] = ` }, }, "range": [ - 35, - 36, + 33, + 34, ], "type": "Punctuator", "value": "{", @@ -1628,8 +1592,8 @@ exports[`semanticInfo fixtures/non-existent-estree-nodes.src 1`] = ` }, }, "range": [ - 39, - 40, + 37, + 38, ], "type": "Punctuator", "value": "[", @@ -1646,8 +1610,8 @@ exports[`semanticInfo fixtures/non-existent-estree-nodes.src 1`] = ` }, }, "range": [ - 40, - 46, + 38, + 44, ], "type": "String", "value": "'test'", @@ -1664,8 +1628,8 @@ exports[`semanticInfo fixtures/non-existent-estree-nodes.src 1`] = ` }, }, "range": [ - 46, - 47, + 44, + 45, ], "type": "Punctuator", "value": "]", @@ -1682,8 +1646,8 @@ exports[`semanticInfo fixtures/non-existent-estree-nodes.src 1`] = ` }, }, "range": [ - 47, - 48, + 45, + 46, ], "type": "Punctuator", "value": ":", @@ -1700,8 +1664,8 @@ exports[`semanticInfo fixtures/non-existent-estree-nodes.src 1`] = ` }, }, "range": [ - 49, - 55, + 47, + 53, ], "type": "Identifier", "value": "string", @@ -1718,8 +1682,8 @@ exports[`semanticInfo fixtures/non-existent-estree-nodes.src 1`] = ` }, }, "range": [ - 55, - 56, + 53, + 54, ], "type": "Punctuator", "value": ";", @@ -1736,8 +1700,8 @@ exports[`semanticInfo fixtures/non-existent-estree-nodes.src 1`] = ` }, }, "range": [ - 57, - 58, + 55, + 56, ], "type": "Punctuator", "value": "}", diff --git a/packages/utils/project.json b/packages/utils/project.json index c38b32ab3a2..70583c395bd 100644 --- a/packages/utils/project.json +++ b/packages/utils/project.json @@ -8,7 +8,8 @@ "executor": "@nrwl/linter:eslint", "outputs": ["{options.outputFile}"], "options": { - "lintFilePatterns": ["packages/utils/**/*.ts"] + "lintFilePatterns": ["packages/utils/**/*.{mts,cts,ts,tsx}"], + "ignorePath": ".eslintignore" } } } diff --git a/packages/visitor-keys/project.json b/packages/visitor-keys/project.json index ab99ec943a6..5cdf469fda3 100644 --- a/packages/visitor-keys/project.json +++ b/packages/visitor-keys/project.json @@ -8,7 +8,8 @@ "executor": "@nrwl/linter:eslint", "outputs": ["{options.outputFile}"], "options": { - "lintFilePatterns": ["packages/visitor-keys/**/*.ts"] + "lintFilePatterns": ["packages/visitor-keys/**/*.{mts,cts,ts,tsx}"], + "ignorePath": ".eslintignore" } } } diff --git a/packages/visitor-keys/src/visitor-keys.ts b/packages/visitor-keys/src/visitor-keys.ts index b20b9c4396d..fedc412a361 100644 --- a/packages/visitor-keys/src/visitor-keys.ts +++ b/packages/visitor-keys/src/visitor-keys.ts @@ -101,14 +101,14 @@ type KeysDefinedInESLintVisitorKeysCore = // strictly type the arrays of keys provided to make sure we keep this config in sync with the type defs type AdditionalKeys = { - readonly // require keys for all nodes NOT defined in `eslint-visitor-keys` - [T in Exclude< + // require keys for all nodes NOT defined in `eslint-visitor-keys` + readonly [T in Exclude< AST_NODE_TYPES, KeysDefinedInESLintVisitorKeysCore >]: readonly GetNodeTypeKeys[]; } & { - readonly // optionally allow keys for all nodes defined in `eslint-visitor-keys` - [T in KeysDefinedInESLintVisitorKeysCore]?: readonly GetNodeTypeKeys[]; + // optionally allow keys for all nodes defined in `eslint-visitor-keys` + readonly [T in KeysDefinedInESLintVisitorKeysCore]?: readonly GetNodeTypeKeys[]; }; /** diff --git a/packages/website-eslint/CHANGELOG.md b/packages/website-eslint/CHANGELOG.md index b8a34c86b14..60a0ae3041f 100644 --- a/packages/website-eslint/CHANGELOG.md +++ b/packages/website-eslint/CHANGELOG.md @@ -7,50 +7,26 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline **Note:** Version bump only for package @typescript-eslint/website-eslint - - - - # [5.51.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.50.0...v5.51.0) (2023-02-06) **Note:** Version bump only for package @typescript-eslint/website-eslint - - - - # [5.50.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.49.0...v5.50.0) (2023-01-31) **Note:** Version bump only for package @typescript-eslint/website-eslint - - - - # [5.49.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.48.2...v5.49.0) (2023-01-23) **Note:** Version bump only for package @typescript-eslint/website-eslint - - - - ## [5.48.2](https://github.com/typescript-eslint/typescript-eslint/compare/v5.48.1...v5.48.2) (2023-01-16) **Note:** Version bump only for package @typescript-eslint/website-eslint - - - - ## [5.48.1](https://github.com/typescript-eslint/typescript-eslint/compare/v5.48.0...v5.48.1) (2023-01-09) **Note:** Version bump only for package @typescript-eslint/website-eslint - - - - # [5.48.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.47.1...v5.48.0) (2023-01-02) **Note:** Version bump only for package @typescript-eslint/website-eslint diff --git a/packages/website-eslint/package.json b/packages/website-eslint/package.json index 10a75c74af9..de2b3636d7e 100644 --- a/packages/website-eslint/package.json +++ b/packages/website-eslint/package.json @@ -13,7 +13,9 @@ ], "scripts": { "build": "rollup --config=rollup.config.js", - "format": "prettier --write \"./**/*.{ts,mts,cts,tsx,js,mjs,cjs,jsx,json,md,css}\" --ignore-path ../../.prettierignore" + "format": "prettier --write \"./**/*.{ts,mts,cts,tsx,js,mjs,cjs,jsx,json,md,css}\" --ignore-path ../../.prettierignore", + "lint": "nx lint", + "typecheck": "tsc --noEmit" }, "dependencies": { "@typescript-eslint/types": "5.52.0", @@ -30,6 +32,7 @@ "@typescript-eslint/typescript-estree": "5.52.0", "@typescript-eslint/visitor-keys": "5.52.0", "eslint": "*", + "magic-string": "^0.25.9", "rollup": "^2.75.4", "rollup-plugin-terser": "^7.0.2", "semver": "^7.3.7" diff --git a/packages/website-eslint/project.json b/packages/website-eslint/project.json index 862c5b948f1..a8bec5aedf9 100644 --- a/packages/website-eslint/project.json +++ b/packages/website-eslint/project.json @@ -2,5 +2,18 @@ "name": "website-eslint", "$schema": "../../node_modules/nx/schemas/project-schema.json", "type": "library", - "implicitDependencies": [] + "implicitDependencies": [], + "targets": { + "lint": { + "executor": "@nrwl/linter:eslint", + "outputs": ["{options.outputFile}"], + "options": { + "lintFilePatterns": [ + "packages/website-eslint/**/*.{mts,cts,ts,tsx}", + "packages/website-eslint/**/*.{mjs,cjs,js,jsx}" + ], + "ignorePath": ".eslintignore" + } + } + } } diff --git a/packages/website-eslint/rollup-plugin/replace.js b/packages/website-eslint/rollup-plugin/replace.js index b8f3143c905..559367c34a2 100644 --- a/packages/website-eslint/rollup-plugin/replace.js +++ b/packages/website-eslint/rollup-plugin/replace.js @@ -9,6 +9,7 @@ function toAbsolute(id) { function log(opts, message, type = 'info') { if (opts.verbose) { + // eslint-disable-next-line no-console console.log('rollup-plugin-replace > [' + type + ']', message); } } @@ -74,7 +75,8 @@ module.exports = (options = {}) => { } let match = item.test.exec(code); - let start, end; + let start; + let end; while (match) { hasReplacements = true; start = match.index; diff --git a/packages/website-eslint/src/linter/linter.js b/packages/website-eslint/src/linter/linter.js index fede1540f98..60051b675a7 100644 --- a/packages/website-eslint/src/linter/linter.js +++ b/packages/website-eslint/src/linter/linter.js @@ -1,6 +1,10 @@ +// @ts-check + import 'vs/language/typescript/tsWorker'; -import { Linter } from 'eslint'; + +// @ts-expect-error -- we don't do types for the plugins import rules from '@typescript-eslint/eslint-plugin/dist/rules'; +import { Linter } from 'eslint'; export function createLinter() { const linter = new Linter(); diff --git a/packages/website-eslint/src/mock/assert.js b/packages/website-eslint/src/mock/assert.js index 70cbf7a4fbc..223c1d75227 100644 --- a/packages/website-eslint/src/mock/assert.js +++ b/packages/website-eslint/src/mock/assert.js @@ -81,6 +81,7 @@ function assert(value, message) { } } assert.equal = function equal(actual, expected, message) { + // eslint-disable-next-line eqeqeq -- intentional inexact equality if (actual != expected) { fail(actual, expected, message, '==', equal); } @@ -96,6 +97,7 @@ assert.notStrictEqual = function notStrictEqual(actual, expected, message) { } }; assert.notEqual = function notEqual(actual, expected, message) { + // eslint-disable-next-line eqeqeq -- intentional inexact equality if (actual == expected) { fail(actual, expected, message, '!=', notEqual); } diff --git a/packages/website-eslint/src/mock/path.js b/packages/website-eslint/src/mock/path.js index a93a1a650d1..abf5e0f2466 100644 --- a/packages/website-eslint/src/mock/path.js +++ b/packages/website-eslint/src/mock/path.js @@ -52,7 +52,7 @@ function normalizeArray(parts, allowAboveRoot) { // Split a filename into [root, dir, basename, ext], unix version // 'root' is just a slash, or nothing. const splitPathRe = - /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/; + /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^/]+?|)(\.[^./]*|))(?:[/]*)$/; const splitPath = function (filename) { return splitPathRe.exec(filename).slice(1); }; @@ -60,8 +60,8 @@ const splitPath = function (filename) { // path.resolve([from ...], to) // posix version export function resolve() { - let resolvedPath = '', - resolvedAbsolute = false; + let resolvedPath = ''; + let resolvedAbsolute = false; for (let i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) { const path = i >= 0 ? arguments[i] : '/'; @@ -94,8 +94,8 @@ export function resolve() { // path.normalize(path) // posix version export function normalize(path) { - let isPathAbsolute = isAbsolute(path), - trailingSlash = path.endsWith('/'); + let isPathAbsolute = isAbsolute(path); + let trailingSlash = path.endsWith('/'); // Normalize the path path = normalizeArray( @@ -124,7 +124,7 @@ export function isAbsolute(path) { export function join() { const paths = Array.prototype.slice.call(arguments, 0); return normalize( - filter(paths, function (p, index) { + filter(paths, function (p) { if (typeof p !== 'string') { throw new TypeError('Arguments to path.join must be strings'); } @@ -142,15 +142,21 @@ export function relative(from, to) { function trim(arr) { let start = 0; for (; start < arr.length; start++) { - if (arr[start] !== '') break; + if (arr[start] !== '') { + break; + } } var end = arr.length - 1; for (; end >= 0; end--) { - if (arr[end] !== '') break; + if (arr[end] !== '') { + break; + } } - if (start > end) return []; + if (start > end) { + return []; + } return arr.slice(start, end - start + 1); } @@ -166,7 +172,7 @@ export function relative(from, to) { } } - const outputParts = []; + let outputParts = []; for (let i = samePartsLength; i < fromParts.length; i++) { outputParts.push('..'); } @@ -176,8 +182,8 @@ export function relative(from, to) { return outputParts.join('/'); } -export var sep = '/'; -export var delimiter = ':'; +export const sep = '/'; +export const delimiter = ':'; export function dirname(path) { const result = splitPath(path); @@ -224,10 +230,14 @@ export default { }; function filter(xs, f) { - if (xs.filter) return xs.filter(f); + if (xs.filter) { + return xs.filter(f); + } const res = []; for (let i = 0; i < xs.length; i++) { - if (f(xs[i], i, xs)) res.push(xs[i]); + if (f(xs[i], i, xs)) { + res.push(xs[i]); + } } return res; } diff --git a/packages/website-eslint/src/mock/semver.js b/packages/website-eslint/src/mock/semver.js index a7671aaaf06..ef1ba71db66 100644 --- a/packages/website-eslint/src/mock/semver.js +++ b/packages/website-eslint/src/mock/semver.js @@ -1,5 +1,5 @@ -import satisfies from 'semver/functions/satisfies'; import major from 'semver/functions/major'; +import satisfies from 'semver/functions/satisfies'; // just in case someone adds a import * as semver usage export { satisfies, major }; diff --git a/packages/website-eslint/src/mock/typescript.js b/packages/website-eslint/src/mock/typescript.js index 324b844294b..0bc92bb2adc 100644 --- a/packages/website-eslint/src/mock/typescript.js +++ b/packages/website-eslint/src/mock/typescript.js @@ -1 +1,3 @@ +/* global window */ + module.exports = window.ts; diff --git a/packages/website-eslint/tsconfig.json b/packages/website-eslint/tsconfig.json new file mode 100644 index 00000000000..fe93b0d695f --- /dev/null +++ b/packages/website-eslint/tsconfig.json @@ -0,0 +1,13 @@ +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "allowJs": true, + // opt-in files for checking + "checkJs": false, + // build is done via rollup + "noEmit": true, + "skipLibCheck": true + }, + "include": ["src", "types", "rollup-plugin"], + "references": [] +} diff --git a/packages/website-eslint/types/eslint.d.ts b/packages/website-eslint/types/eslint.d.ts new file mode 100644 index 00000000000..82c78be17ef --- /dev/null +++ b/packages/website-eslint/types/eslint.d.ts @@ -0,0 +1,15 @@ +/* +VSCode has a helpful feature where it'll automatically fetch types for you for your JS node module imports. +So it means that in the IDE you'll open the file and VSCode will tell TS it can look in its cache for module +types for the `@types/eslint` package. It finds it, uses it, then will show errors because our `RuleModule` +doesn't match the `@types/eslint` `RuleModule`. + +But this behavior only happens in the IDE, not the CLI - because the CLI can't use VSCode's cache, ofc, so +it just uses `any` for the import - marking it as an untyped export. So adding this type tells TS that it +cannot use VSCode's cache ever - stubbing it out permanently. +*/ +declare module 'eslint' { + export class Linter { + defineRule(name: string, rule: unknown): void; + } +} diff --git a/packages/website-eslint/types/index.d.ts b/packages/website-eslint/types/index.d.ts index 7673f6d10a2..2b2d4d6a0de 100644 --- a/packages/website-eslint/types/index.d.ts +++ b/packages/website-eslint/types/index.d.ts @@ -1,9 +1,8 @@ +import type { analyze } from '@typescript-eslint/scope-manager/dist/analyze'; +import type { astConverter } from '@typescript-eslint/typescript-estree/dist/ast-converter'; +import type { getScriptKind } from '@typescript-eslint/typescript-estree/dist/create-program/getScriptKind'; import type { TSESLint } from '@typescript-eslint/utils'; -import { analyze } from '@typescript-eslint/scope-manager/dist/analyze'; -import { astConverter } from '@typescript-eslint/typescript-estree/dist/ast-converter'; -import { getScriptKind } from '@typescript-eslint/typescript-estree/dist/create-program/getScriptKind'; - export interface LintUtils { createLinter: () => TSESLint.Linter; analyze: typeof analyze; diff --git a/packages/website/.eslintrc.js b/packages/website/.eslintrc.js deleted file mode 100644 index 323ce34a38d..00000000000 --- a/packages/website/.eslintrc.js +++ /dev/null @@ -1,33 +0,0 @@ -module.exports = { - extends: [ - '../../.eslintrc.js', - 'plugin:jsx-a11y/recommended', - 'plugin:react/recommended', - 'plugin:react-hooks/recommended', - ], - plugins: ['jsx-a11y', 'react', 'react-hooks'], - overrides: [ - { - files: [ - './*.config.*', - './src/pages/*.tsx', - './src/components/**/*.tsx', - './src/components/hooks/*.ts', - ], - rules: { - 'import/no-default-export': 'off', - }, - }, - ], - rules: { - 'react/jsx-no-target-blank': 'off', - 'react/no-unescaped-entities': 'off', - '@typescript-eslint/internal/prefer-ast-types-enum': 'off', - 'react/jsx-curly-brace-presence': 'error', - }, - settings: { - react: { - version: 'detect', - }, - }, -}; diff --git a/packages/website/package.json b/packages/website/package.json index c2a71694bcd..ce8d7219f00 100644 --- a/packages/website/package.json +++ b/packages/website/package.json @@ -6,12 +6,13 @@ "build": "docusaurus build", "clear": "docusaurus clear", "format": "prettier --write \"./**/*.{md,mdx,ts,js,tsx,jsx}\" --ignore-path ../../.prettierignore", + "generate-website-dts": "tsx ./tools/generate-website-dts.ts", "lint": "nx lint", "serve": "docusaurus serve", "start": "docusaurus start", "swizzle": "docusaurus swizzle", "test": "playwright test", - "typecheck": "tsc" + "typecheck": "tsc --noEmit" }, "dependencies": { "@babel/runtime": "^7.18.3", @@ -36,6 +37,7 @@ "react-dom": "^18.1.0", "react-split-pane": "^0.1.92", "remark-docusaurus-tabs": "^0.2.0", + "ts-node": "*", "typescript": "*" }, "resolutions": { @@ -50,11 +52,11 @@ "@types/react-router-dom": "^5.3.3", "@typescript-eslint/eslint-plugin": "5.52.0", "copy-webpack-plugin": "^11.0.0", - "eslint-plugin-jsx-a11y": "^6.5.1", - "eslint-plugin-react": "^7.29.4", - "eslint-plugin-react-hooks": "^4.5.0", + "cross-fetch": "*", "globby": "^11.1.0", + "make-dir": "*", "monaco-editor": "^0.33.0", + "rimraf": "*", "webpack": "^5.74.0" }, "browserslist": { diff --git a/packages/website/project.json b/packages/website/project.json index e7e7b0eabbf..89fd488ff21 100644 --- a/packages/website/project.json +++ b/packages/website/project.json @@ -8,7 +8,11 @@ "executor": "@nrwl/linter:eslint", "outputs": ["{options.outputFile}"], "options": { - "lintFilePatterns": ["packages/website/**/*.ts"] + "lintFilePatterns": [ + "packages/website/**/*.{mts,cts,ts,tsx}", + "packages/website/**/*.{mjs,cjs,js,jsx}" + ], + "ignorePath": ".eslintignore" } } } diff --git a/packages/website/src/components/RulesTable/index.tsx b/packages/website/src/components/RulesTable/index.tsx index 58e9eb6e55c..affe196cc60 100644 --- a/packages/website/src/components/RulesTable/index.tsx +++ b/packages/website/src/components/RulesTable/index.tsx @@ -64,7 +64,7 @@ function RuleRow({ rule }: { rule: RulesMeta[number] }): JSX.Element | null { } const filterModes = ['neutral', 'include', 'exclude'] as const; -type FilterMode = typeof filterModes[number]; +type FilterMode = (typeof filterModes)[number]; function RuleFilterCheckBox({ label, diff --git a/packages/website/src/components/config/utils.ts b/packages/website/src/components/config/utils.ts index 990811f1cca..5517ab88063 100644 --- a/packages/website/src/components/config/utils.ts +++ b/packages/website/src/components/config/utils.ts @@ -23,7 +23,6 @@ export function parseESLintRC(code?: string): EslintRC { return { ...parsed, rules: {} }; } } catch (e) { - // eslint-disable-next-line no-console console.error(e); } } @@ -38,14 +37,12 @@ export function parseTSConfig(code?: string): TSConfig { code, ); if (parsed.error) { - // eslint-disable-next-line no-console console.error(parsed.error); } if (isRecord(parsed.config)) { return parsed.config as TSConfig; } } catch (e) { - // eslint-disable-next-line no-console console.error(e); } } @@ -73,7 +70,6 @@ export function tryParseEslintModule(value: string): string { } } } catch (e) { - // eslint-disable-next-line no-console console.error(e); } return value; diff --git a/packages/website/src/components/editor/LoadedEditor.tsx b/packages/website/src/components/editor/LoadedEditor.tsx index e641d77baa5..783801667aa 100644 --- a/packages/website/src/components/editor/LoadedEditor.tsx +++ b/packages/website/src/components/editor/LoadedEditor.tsx @@ -126,7 +126,6 @@ export const LoadedEditor: React.FC = ({ useEffect(() => { const lintEditor = debounce(() => { - // eslint-disable-next-line no-console console.info('[Editor] linting triggered'); webLinter.updateParserOptions(jsx, sourceType); @@ -218,7 +217,6 @@ export const LoadedEditor: React.FC = ({ if (tabs.code.isAttachedToEditor()) { const position = sandboxInstance.editor.getPosition(); if (position) { - // eslint-disable-next-line no-console console.info('[Editor] updating cursor', position); onSelect(position); } diff --git a/packages/website/src/components/editor/useSandboxServices.ts b/packages/website/src/components/editor/useSandboxServices.ts index 73c336676b3..9aeaaec0715 100644 --- a/packages/website/src/components/editor/useSandboxServices.ts +++ b/packages/website/src/components/editor/useSandboxServices.ts @@ -81,12 +81,13 @@ export const useSandboxServices = ( let libEntries: Map | undefined; const worker = await sandboxInstance.getWorkerProcess(); - if (worker.getLibFiles) { + if ('getLibFiles' in worker && worker.getLibFiles) { libEntries = new Map( - Object.entries((await worker.getLibFiles()) ?? {}).map(item => [ - '/' + item[0], - item[1], - ]), + Object.entries( + (await ( + worker.getLibFiles as () => Promise> + )()) ?? {}, + ).map(item => ['/' + item[0], item[1]]), ); } else { // for some older version of playground we do not have definitions available diff --git a/packages/website/src/components/hooks/useHashState.ts b/packages/website/src/components/hooks/useHashState.ts index 21538642891..4143ec5b503 100644 --- a/packages/website/src/components/hooks/useHashState.ts +++ b/packages/website/src/components/hooks/useHashState.ts @@ -35,7 +35,6 @@ function readLegacyParam( try { return toJsonConfig(JSON.parse(readQueryParam(data, '{}')), prop); } catch (e) { - // eslint-disable-next-line no-console console.error(e, data, prop); } return undefined; @@ -84,7 +83,6 @@ const parseStateFromUrl = (hash: string): ConfigModel | undefined => { tsconfig: tsconfig ?? '', }; } catch (e) { - // eslint-disable-next-line no-console console.warn(e); } return undefined; @@ -109,7 +107,6 @@ const writeStateToUrl = (newState: ConfigModel): string => { .map(item => `${encodeURIComponent(item[0])}=${item[1]}`) .join('&'); } catch (e) { - // eslint-disable-next-line no-console console.warn(e); } return ''; @@ -151,7 +148,6 @@ const retrieveStateFromLocalStorage = (): Partial | undefined => { return state; } catch (e) { - // eslint-disable-next-line no-console console.warn(e); } return undefined; @@ -212,7 +208,6 @@ function useHashState( const onHashChange = (): void => { const newHash = window.location.hash; - // eslint-disable-next-line no-console console.info('[State] hash change detected', newHash); setHash(newHash); }; @@ -225,7 +220,6 @@ function useHashState( }, []); const _setState = useCallback((cfg: Partial) => { - // eslint-disable-next-line no-console console.info('[State] updating config diff', cfg); setTmpState(cfg); }, []); diff --git a/packages/website/src/components/linter/config.ts b/packages/website/src/components/linter/config.ts index 896cb25f30b..0c821575bec 100644 --- a/packages/website/src/components/linter/config.ts +++ b/packages/website/src/components/linter/config.ts @@ -12,7 +12,6 @@ export const parseSettings: ParseSettings = { filePath: '', jsx: false, loc: true, - // eslint-disable-next-line no-console log: console.log, preserveNodeMaps: true, projects: [], diff --git a/packages/website/src/pages/index.tsx b/packages/website/src/pages/index.tsx index e82e7e7495b..fc363e49eeb 100644 --- a/packages/website/src/pages/index.tsx +++ b/packages/website/src/pages/index.tsx @@ -161,7 +161,7 @@ function Home(): JSX.Element { key={idx} className={clsx( styles.features, - idx % 2 == 1 ? styles.lightBackground : '', + idx % 2 === 1 ? styles.lightBackground : '', )} >
diff --git a/packages/website/src/prism/language/jsonc.js b/packages/website/src/prism/language/jsonc.js index c42733fb7d6..6ca349dc45c 100644 --- a/packages/website/src/prism/language/jsonc.js +++ b/packages/website/src/prism/language/jsonc.js @@ -1,3 +1,5 @@ +/* global Prism */ + // https://www.json.org/json-en.html Prism.languages.cjson = { property: { diff --git a/packages/website/src/theme/CodeBlock/Content/String.tsx b/packages/website/src/theme/CodeBlock/Content/String.tsx index 9ea2df703b2..46ba5682c28 100644 --- a/packages/website/src/theme/CodeBlock/Content/String.tsx +++ b/packages/website/src/theme/CodeBlock/Content/String.tsx @@ -14,12 +14,11 @@ import CopyButton from '@theme/CodeBlock/CopyButton'; import Line from '@theme/CodeBlock/Line'; import WordWrapButton from '@theme/CodeBlock/WordWrapButton'; import clsx from 'clsx'; -import Highlight, { type Language, defaultProps } from 'prism-react-renderer'; +import Highlight, { defaultProps, type Language } from 'prism-react-renderer'; import React from 'react'; import styles from './styles.module.css'; -// eslint-disable-next-line import/no-default-export export default function CodeBlockString({ children, className: blockClassName = '', diff --git a/packages/website/src/theme/MDXComponents/index.tsx b/packages/website/src/theme/MDXComponents/index.tsx index c810e8b7283..3d6f79de755 100644 --- a/packages/website/src/theme/MDXComponents/index.tsx +++ b/packages/website/src/theme/MDXComponents/index.tsx @@ -3,7 +3,6 @@ import MDXComponents from '@theme-original/MDXComponents'; import { RuleAttributes } from './RuleAttributes'; import { TryInPlayground } from './TryInPlayground'; -// eslint-disable-next-line import/no-default-export export default { ...MDXComponents, 'rule-attributes': RuleAttributes, diff --git a/packages/website/src/theme/prism-include-languages.js b/packages/website/src/theme/prism-include-languages.js index dd315925c22..660275a1af1 100644 --- a/packages/website/src/theme/prism-include-languages.js +++ b/packages/website/src/theme/prism-include-languages.js @@ -8,7 +8,7 @@ export default function prismIncludeLanguages(PrismObject) { globalThis.Prism = PrismObject; additionalLanguages.forEach(lang => { - require(`prismjs/components/prism-${lang}`); // eslint-disable-line + require(`prismjs/components/prism-${lang}`); }); require(`../prism/language/jsonc`); diff --git a/packages/website/src/vendor/ds/createDesignSystem.d.ts b/packages/website/src/vendor/ds/createDesignSystem.d.ts index 7a506961350..d2c46216ab3 100644 --- a/packages/website/src/vendor/ds/createDesignSystem.d.ts +++ b/packages/website/src/vendor/ds/createDesignSystem.d.ts @@ -1,7 +1,16 @@ -import type { Sandbox } from '../sandbox'; -import type { DiagnosticRelatedInformation, Node } from 'typescript'; +/********************************************** + * DO NOT MODIFY THIS FILE MANUALLY * + * * + * THIS FILE HAS BEEN FETCHED FROM THE * + * TYPESCRIPT PLAYGROUND SOURCE CODE. * + * * + * YOU CAN REGENERATE THESE FILES USING * + * yarn generate-website-dts * + **********************************************/ -export declare interface LocalStorageOption { +import type { Sandbox } from '@typescript/sandbox'; +import type { DiagnosticRelatedInformation, Node } from 'typescript'; +export declare type LocalStorageOption = { blurb: string; flag: string; display: string; @@ -9,11 +18,11 @@ export declare interface LocalStorageOption { oneline?: true; requireRestart?: true; onchange?: (newValue: boolean) => void; -} -export declare interface OptionsListConfig { +}; +export declare type OptionsListConfig = { style: 'separated' | 'rows'; requireRestart?: true; -} +}; export declare type DesignSystem = ReturnType< ReturnType >; @@ -43,7 +52,7 @@ export declare const createDesignSystem: (sandbox: Sandbox) => ( diags: DiagnosticRelatedInformation[], ) => HTMLUListElement; /** Lets you remove the hovers from listDiags etc */ - clearDeltaDecorators: (force?: true | undefined) => void; + clearDeltaDecorators: (force?: true) => void; /** Shows a single option in local storage (adds an li to the container BTW) */ localStorageOption: (setting: LocalStorageOption) => HTMLLIElement; /** Uses localStorageOption to create a list of options */ @@ -64,11 +73,9 @@ export declare const createDesignSystem: (sandbox: Sandbox) => ( /** Renders an AST tree */ createASTTree: ( node: Node, - settings?: - | { - closedByDefault?: true | undefined; - } - | undefined, + settings?: { + closedByDefault?: true; + }, ) => HTMLDivElement; /** Creates an input button */ button: (settings: { diff --git a/packages/website/src/vendor/playground.d.ts b/packages/website/src/vendor/playground.d.ts index 8de9141b661..7280df246ea 100644 --- a/packages/website/src/vendor/playground.d.ts +++ b/packages/website/src/vendor/playground.d.ts @@ -1,16 +1,24 @@ -import { PluginUtils } from './pluginUtils'; -import type React from 'react'; +/********************************************** + * DO NOT MODIFY THIS FILE MANUALLY * + * * + * THIS FILE HAS BEEN FETCHED FROM THE * + * TYPESCRIPT PLAYGROUND SOURCE CODE. * + * * + * YOU CAN REGENERATE THESE FILES USING * + * yarn generate-website-dts * + **********************************************/ declare type Sandbox = import('./sandbox').Sandbox; declare type Monaco = typeof import('monaco-editor'); +import { PluginUtils } from './pluginUtils'; +import type React from 'react'; export { PluginUtils } from './pluginUtils'; -export declare interface PluginFactory { +export declare type PluginFactory = { ( i: (key: string, components?: any) => string, utils: PluginUtils, ): PlaygroundPlugin; -} - +}; /** The interface of all sidebar plugins */ export interface PlaygroundPlugin { /** Not public facing, but used by the playground to uniquely identify plugins */ diff --git a/packages/website/src/vendor/pluginUtils.d.ts b/packages/website/src/vendor/pluginUtils.d.ts index 3d69a7a5c66..9187f6a4a05 100644 --- a/packages/website/src/vendor/pluginUtils.d.ts +++ b/packages/website/src/vendor/pluginUtils.d.ts @@ -1,5 +1,14 @@ -import type React from 'react'; +/********************************************** + * DO NOT MODIFY THIS FILE MANUALLY * + * * + * THIS FILE HAS BEEN FETCHED FROM THE * + * TYPESCRIPT PLAYGROUND SOURCE CODE. * + * * + * YOU CAN REGENERATE THESE FILES USING * + * yarn generate-website-dts * + **********************************************/ +import type React from 'react'; /** Creates a set of util functions which is exposed to Plugins to make it easier to build consistent UIs */ export declare const createUtils: ( sb: any, diff --git a/packages/website/src/vendor/sandbox.d.ts b/packages/website/src/vendor/sandbox.d.ts index 0bd3ecc2d25..43a28ae81a4 100644 --- a/packages/website/src/vendor/sandbox.d.ts +++ b/packages/website/src/vendor/sandbox.d.ts @@ -1,7 +1,16 @@ +/********************************************** + * DO NOT MODIFY THIS FILE MANUALLY * + * * + * THIS FILE HAS BEEN FETCHED FROM THE * + * TYPESCRIPT PLAYGROUND SOURCE CODE. * + * * + * YOU CAN REGENERATE THESE FILES USING * + * yarn generate-website-dts * + **********************************************/ + import { TypeScriptWorker } from './tsWorker'; // import lzstring from "./vendor/lzstring.min"; import * as tsvfs from './typescript-vfs'; - declare type CompilerOptions = import('monaco-editor').languages.typescript.CompilerOptions; declare type Monaco = typeof import('monaco-editor'); @@ -105,7 +114,9 @@ export declare const createTypeScriptSandbox: ( }; /** A list of TypeScript versions you can use with the TypeScript sandbox */ supportedVersions: readonly [ - '4.7.3', + '4.9.5', + '4.8.4', + '4.7.4', '4.6.4', '4.5.5', '4.4.4', @@ -166,7 +177,7 @@ export declare const createTypeScriptSandbox: ( * TODO: It would be good to create an easy way to have a single program instance which is updated for you * when the monaco model changes. */ - setupTSVFS: (fsMapAdditions?: Map | undefined) => Promise<{ + setupTSVFS: (fsMapAdditions?: Map) => Promise<{ program: import('typescript').Program; system: import('typescript').System; host: { diff --git a/packages/website/src/vendor/tsWorker.d.ts b/packages/website/src/vendor/tsWorker.d.ts index 801ea3e43b4..a29f7a40dc3 100644 --- a/packages/website/src/vendor/tsWorker.d.ts +++ b/packages/website/src/vendor/tsWorker.d.ts @@ -1,5 +1,14 @@ -import * as ts from 'typescript'; +/********************************************** + * DO NOT MODIFY THIS FILE MANUALLY * + * * + * THIS FILE HAS BEEN FETCHED FROM THE * + * TYPESCRIPT PLAYGROUND SOURCE CODE. * + * * + * YOU CAN REGENERATE THESE FILES USING * + * yarn generate-website-dts * + **********************************************/ +import ts from 'typescript'; export declare class TypeScriptWorker implements ts.LanguageServiceHost { private _ctx; private _extraLibs; @@ -89,10 +98,8 @@ export declare class TypeScriptWorker implements ts.LanguageServiceHost { formatOptions: ts.FormatCodeOptions, ): Promise>; updateExtraLibs(extraLibs: IExtraLibs): void; - /** - * https://github.com/microsoft/TypeScript-Website/blob/246798df5013036bd9b4389932b642c20ab35deb/packages/playground-worker/types.d.ts#L48 - */ - getLibFiles(): Promise>; + readFile(path: string, encoding?: string | undefined): string | undefined; + fileExists(path: string): boolean; } export interface IExtraLib { content: string; diff --git a/packages/website/src/vendor/typescript-vfs.d.ts b/packages/website/src/vendor/typescript-vfs.d.ts index 5a5db30651a..6dccca10696 100644 --- a/packages/website/src/vendor/typescript-vfs.d.ts +++ b/packages/website/src/vendor/typescript-vfs.d.ts @@ -1,3 +1,13 @@ +/********************************************** + * DO NOT MODIFY THIS FILE MANUALLY * + * * + * THIS FILE HAS BEEN FETCHED FROM THE * + * TYPESCRIPT PLAYGROUND SOURCE CODE. * + * * + * YOU CAN REGENERATE THESE FILES USING * + * yarn generate-website-dts * + **********************************************/ + declare type System = import('typescript').System; declare type CompilerOptions = import('typescript').CompilerOptions; declare type CustomTransformers = import('typescript').CustomTransformers; @@ -52,7 +62,8 @@ export declare const knownLibFilesForCompilerOptions: ( */ export declare const createDefaultMapFromNodeModules: ( compilerOptions: CompilerOptions, - ts?: typeof import('typescript') | undefined, + ts?: typeof import('typescript'), + tsLibDirectory?: string, ) => Map; /** * Adds recursively files from the FS into the map based on the folder @@ -82,9 +93,9 @@ export declare const createDefaultMapFromCDN: ( version: string, cache: boolean, ts: TS, - lzstring?: any | undefined, - fetcher?: typeof fetch | undefined, - storer?: Storage | undefined, + lzstring?: typeof import('lz-string'), + fetcher?: typeof fetch, + storer?: typeof localStorage, ) => Promise>; /** * Creates an in-memory System object which can be used in a TypeScript program, this @@ -100,6 +111,7 @@ export declare function createFSBackedSystem( files: Map, _projectRoot: string, ts: TS, + tsLibDirectory?: string, ): System; /** * Creates an in-memory CompilerHost -which is essentially an extra wrapper to System diff --git a/tools/generate-website-dts.ts b/packages/website/tools/generate-website-dts.ts similarity index 72% rename from tools/generate-website-dts.ts rename to packages/website/tools/generate-website-dts.ts index 134945cfc85..fa21b503374 100644 --- a/tools/generate-website-dts.ts +++ b/packages/website/tools/generate-website-dts.ts @@ -1,39 +1,49 @@ import fetch from 'cross-fetch'; import * as fs from 'fs'; +import makeDir from 'make-dir'; import * as path from 'path'; +import { rimraf } from 'rimraf'; -const baseHost = 'https://www.staging-typescript.org'; +const BASE_HOST = 'https://www.staging-typescript.org'; async function getFileAndStoreLocally( url: string, path: string, editFunc: (arg: string) => string = (text: string): string => text, ): Promise { - const response = await fetch(baseHost + url, { + console.log('Fetching', url); + const response = await fetch(BASE_HOST + url, { method: 'GET', headers: { 'Content-Type': 'application/json' }, }); const contents = await response.text(); - fs.writeFileSync(path, editFunc(contents), 'utf8'); + fs.writeFileSync( + path, + [ + '/**********************************************', + ' * DO NOT MODIFY THIS FILE MANUALLY *', + ' * *', + ' * THIS FILE HAS BEEN FETCHED FROM THE *', + ' * TYPESCRIPT PLAYGROUND SOURCE CODE. *', + ' * *', + ' * YOU CAN REGENERATE THESE FILES USING *', + ' * yarn generate-website-dts *', + ' **********************************************/', + '', + editFunc(contents), + ].join('\n'), + 'utf8', + ); } async function main(): Promise { - const vendor = path.join( - __dirname, - '..', - 'packages', - 'website', - 'src', - 'vendor', - ); + const vendor = path.join(__dirname, '..', 'src', 'vendor'); const ds = path.join(vendor, 'ds'); - if (!fs.existsSync(vendor)) { - fs.mkdirSync(vendor); - } - if (!fs.existsSync(ds)) { - fs.mkdirSync(ds); - } + console.log('Cleaning...'); + await rimraf(vendor); + await makeDir(vendor); + await makeDir(ds); // The API for the monaco typescript worker await getFileAndStoreLocally( diff --git a/packages/website/tsconfig.json b/packages/website/tsconfig.json index 82eff535cb8..67159f06c62 100644 --- a/packages/website/tsconfig.json +++ b/packages/website/tsconfig.json @@ -16,5 +16,5 @@ }, "types": ["@docusaurus/module-type-aliases", "@docusaurus/theme-classic"] }, - "include": ["src", "tests", "plugins", "typings", "./*.ts"] + "include": ["src", "tests", "tools", "plugins", "typings", "./*.ts"] } diff --git a/patches/eslint-plugin-deprecation+1.3.2.patch b/patches/eslint-plugin-deprecation+1.3.3.patch similarity index 96% rename from patches/eslint-plugin-deprecation+1.3.2.patch rename to patches/eslint-plugin-deprecation+1.3.3.patch index 03f09fece5f..c0990d48ea9 100644 --- a/patches/eslint-plugin-deprecation+1.3.2.patch +++ b/patches/eslint-plugin-deprecation+1.3.3.patch @@ -1,5 +1,5 @@ diff --git a/node_modules/eslint-plugin-deprecation/dist/rules/deprecation.js b/node_modules/eslint-plugin-deprecation/dist/rules/deprecation.js -index cbb334d..dcbfa5d 100644 +index b994be0..0ba7576 100644 --- a/node_modules/eslint-plugin-deprecation/dist/rules/deprecation.js +++ b/node_modules/eslint-plugin-deprecation/dist/rules/deprecation.js @@ -15,7 +15,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/patches/typescript+4.9.3.patch b/patches/typescript+4.9.5.patch similarity index 100% rename from patches/typescript+4.9.3.patch rename to patches/typescript+4.9.5.patch diff --git a/tests/integration/tests/eslint-v7.test.ts b/tests/integration/tests/eslint-v7.test.ts deleted file mode 100644 index afcf9da3bc2..00000000000 --- a/tests/integration/tests/eslint-v7.test.ts +++ /dev/null @@ -1,3 +0,0 @@ -import { integrationTest } from '../integration-test-base'; - -integrationTest(__filename, '*.ts'); diff --git a/tests/integration/tests/markdown.test.ts b/tests/integration/tests/markdown.test.ts deleted file mode 100644 index 8ac7befb646..00000000000 --- a/tests/integration/tests/markdown.test.ts +++ /dev/null @@ -1,3 +0,0 @@ -import { integrationTest } from '../integration-test-base'; - -integrationTest(__filename, '*.md'); diff --git a/tests/integration/tests/recommended-does-not-require-program.test.ts b/tests/integration/tests/recommended-does-not-require-program.test.ts deleted file mode 100644 index afcf9da3bc2..00000000000 --- a/tests/integration/tests/recommended-does-not-require-program.test.ts +++ /dev/null @@ -1,3 +0,0 @@ -import { integrationTest } from '../integration-test-base'; - -integrationTest(__filename, '*.ts'); diff --git a/tests/integration/tests/typescript-and-tslint-plugins-together.test.ts b/tests/integration/tests/typescript-and-tslint-plugins-together.test.ts deleted file mode 100644 index afcf9da3bc2..00000000000 --- a/tests/integration/tests/typescript-and-tslint-plugins-together.test.ts +++ /dev/null @@ -1,3 +0,0 @@ -import { integrationTest } from '../integration-test-base'; - -integrationTest(__filename, '*.ts'); diff --git a/tests/integration/tests/vue-jsx.test.ts b/tests/integration/tests/vue-jsx.test.ts deleted file mode 100644 index 18a482247ac..00000000000 --- a/tests/integration/tests/vue-jsx.test.ts +++ /dev/null @@ -1,3 +0,0 @@ -import { integrationTest } from '../integration-test-base'; - -integrationTest(__filename, '*.vue'); diff --git a/tests/integration/tests/vue-sfc.test.ts b/tests/integration/tests/vue-sfc.test.ts deleted file mode 100644 index 18a482247ac..00000000000 --- a/tests/integration/tests/vue-sfc.test.ts +++ /dev/null @@ -1,3 +0,0 @@ -import { integrationTest } from '../integration-test-base'; - -integrationTest(__filename, '*.vue'); diff --git a/tests/integration/tsconfig.json b/tests/integration/tsconfig.json deleted file mode 100644 index e6c02e537a6..00000000000 --- a/tests/integration/tsconfig.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "extends": "../../tsconfig.base.json", - "compilerOptions": { - "esModuleInterop": true, - "resolveJsonModule": true, - "rootDir": "." - }, - "include": ["./*.ts", "./tests/*.test.ts"], - "references": [] -} diff --git a/tests/performance/README.md b/tests/performance/README.md deleted file mode 100644 index ff1fd586482..00000000000 --- a/tests/performance/README.md +++ /dev/null @@ -1,28 +0,0 @@ -# Temp README (intended for maintainers only at this time) - -Run: - -```sh -docker-compose -f tests/performance/docker-compose.yml up --build -``` - -It will build the docker container, create volumes for the local files, and will clone the real world project repo ready for experimentation. - -The docker container is configured to run forever, so you just need to attach a shell to it, - -e.g. by running - -```sh -docker exec -it {{ RUNNING_CONTAINER_ID_HERE }} bash -``` - -Or by using the docker extension in VSCode and right clicking on the running container. - -Every time you make an update to the local built packages (e.g. `parser` or `eslint-plugin`), you need to rerun -the utility script _within_ the running container. - -For example, you will run something like the following (where `root@a91d93f9ffc3` refers to what's running in your container): - -```sh -root@a91d93f9ffc3:/usr/vega-lite# ../linked/install-local-packages.sh -``` diff --git a/tests/performance/docker-compose.yml b/tests/performance/docker-compose.yml deleted file mode 100644 index bf737b239a3..00000000000 --- a/tests/performance/docker-compose.yml +++ /dev/null @@ -1,21 +0,0 @@ -version: '3' - -services: - lint-real-repo: - build: ./fixtures/lint-real-repo - container_name: 'lint-real-repo' - volumes: - # Runtime link to the relevant built @typescript-eslint packages and test utils, - # but apply an empty volume for the package tests, we don't need those. - - ../../package.json/:/usr/root-package.json - - ./utils/:/usr/utils - - ../../packages/parser/:/usr/parser - - /usr/parser/tests - - ../../packages/typescript-estree/:/usr/typescript-estree - - /usr/typescript-estree/tests - - ../../packages/eslint-plugin/:/usr/eslint-plugin - - /usr/eslint-plugin/tests - - ../../packages/eslint-plugin-tslint/:/usr/eslint-plugin-tslint - - /usr/eslint-plugin-tslint/tests - # Runtime link to all the specific integration test files, so that most updates don't require a rebuild. - - ./fixtures/lint-real-repo:/usr/linked diff --git a/tests/performance/fixtures/lint-real-repo/Dockerfile b/tests/performance/fixtures/lint-real-repo/Dockerfile deleted file mode 100644 index f3002796ecb..00000000000 --- a/tests/performance/fixtures/lint-real-repo/Dockerfile +++ /dev/null @@ -1,15 +0,0 @@ -FROM node:carbon - -WORKDIR /usr - -# Clone the repo and checkout the relevant commit -RUN git clone https://github.com/typescript-eslint/vega-lite -WORKDIR /usr/vega-lite -RUN git checkout f1e4c1ebe50fdf3b9131ba5dde915e6efbe4bd87 - -# Run the equivalent of the project's travis build before linting starts -RUN yarn install --frozen-lockfile && yarn cache clean -RUN yarn build - -# Keep the container alive forever -CMD [ "tail", "-f", "/dev/null"] diff --git a/tests/performance/fixtures/lint-real-repo/install-local-packages.sh b/tests/performance/fixtures/lint-real-repo/install-local-packages.sh deleted file mode 100755 index 0807e303b89..00000000000 --- a/tests/performance/fixtures/lint-real-repo/install-local-packages.sh +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/bash -set -exuo pipefail - -# This script should be run by attaching a shell to the running docker -# container, and then running `../linked/install-local-packages.sh` from -# that shell. -# -# Use the local volumes for our own packages -# NOTE: You need to rerun this script every time the local packages change -# in order to apply the changes to the node_modules of the repo under test -yarn add @typescript-eslint/typescript-estree@file:///usr/typescript-estree -yarn add @typescript-eslint/parser@file:///usr/parser -yarn add @typescript-eslint/eslint-plugin@file:///usr/eslint-plugin diff --git a/yarn.lock b/yarn.lock index 013601dd9cc..fdb2951416f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1167,7 +1167,7 @@ "@babel/helper-validator-option" "^7.18.6" "@babel/plugin-transform-typescript" "^7.18.6" -"@babel/runtime-corejs3@^7.10.2", "@babel/runtime-corejs3@^7.18.6": +"@babel/runtime-corejs3@^7.18.6": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.18.9.tgz#7bacecd1cb2dd694eacd32a91fcf7021c20770ae" integrity sha512-qZEWeccZCrHA2Au4/X05QW5CMdm4VjUDCrGq5gf1ZDcM4hRqreKrtwAn7yci9zfgAS9apvnsFXiGBHBAxZdK9A== @@ -1175,12 +1175,12 @@ core-js-pure "^3.20.2" regenerator-runtime "^0.13.4" -"@babel/runtime@^7.1.2", "@babel/runtime@^7.10.2", "@babel/runtime@^7.10.3", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.1", "@babel/runtime@^7.12.13", "@babel/runtime@^7.12.5", "@babel/runtime@^7.18.3", "@babel/runtime@^7.18.6", "@babel/runtime@^7.18.9", "@babel/runtime@^7.8.4": - version "7.19.0" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.19.0.tgz#22b11c037b094d27a8a2504ea4dcff00f50e2259" - integrity sha512-eR8Lo9hnDS7tqkO7NsV+mKvCmv5boaXFSZ70DnfhcgiEne8hv9oCEd36Klw74EtizEqLsy4YnW8UWwpBVolHZA== +"@babel/runtime@^7.1.2", "@babel/runtime@^7.10.2", "@babel/runtime@^7.10.3", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.1", "@babel/runtime@^7.12.13", "@babel/runtime@^7.12.5", "@babel/runtime@^7.18.3", "@babel/runtime@^7.18.6", "@babel/runtime@^7.20.7", "@babel/runtime@^7.8.4": + version "7.20.13" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.20.13.tgz#7055ab8a7cff2b8f6058bf6ae45ff84ad2aded4b" + integrity sha512-gt3PKXs0DBoL9xCvOIIZ2NEqAGZqHjAnmVbfQtB620V0uReIQutpel14KcneZuer7UioY8ALKZ7iocavvzTNFA== dependencies: - regenerator-runtime "^0.13.4" + regenerator-runtime "^0.13.11" "@babel/template@^7.12.7", "@babel/template@^7.18.10", "@babel/template@^7.18.6", "@babel/template@^7.3.3": version "7.18.10" @@ -1521,6 +1521,13 @@ dependencies: "@cspotcode/source-map-consumer" "0.8.0" +"@cspotcode/source-map-support@^0.8.0": + version "0.8.1" + resolved "https://registry.yarnpkg.com/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz#00629c35a688e05a88b1cda684fb9d5e73f000a1" + integrity sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw== + dependencies: + "@jridgewell/trace-mapping" "0.3.9" + "@docsearch/css@3.1.1": version "3.1.1" resolved "https://registry.yarnpkg.com/@docsearch/css/-/css-3.1.1.tgz#e0976bf995e383f8ee8657306311b9cb95016330" @@ -2000,15 +2007,15 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.15.18.tgz#128b76ecb9be48b60cf5cfc1c63a4f00691a3239" integrity sha512-L4jVKS82XVhw2nvzLg/19ClLWg0y27ulRwuP7lcyL6AbUWB5aPglXY3M21mauDQMDfRLs8cQmeT03r/+X3cZYQ== -"@eslint/eslintrc@^1.2.3": - version "1.2.3" - resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.2.3.tgz#fcaa2bcef39e13d6e9e7f6271f4cc7cae1174886" - integrity sha512-uGo44hIwoLGNyduRpjdEpovcbMdd+Nv7amtmJxnKmI8xj6yd5LncmSwDa5NgX/41lIFJtkjD6YdVfgEzPfJ5UA== +"@eslint/eslintrc@^1.4.1": + version "1.4.1" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.4.1.tgz#af58772019a2d271b7e2d4c23ff4ddcba3ccfb3e" + integrity sha512-XXrH9Uarn0stsyldqDYq8r++mROmWRI1xKMXa640Bb//SY1+ECYX6VzT6Lcx5frD0V30XieqJ0oX9I2Xj5aoMA== dependencies: ajv "^6.12.4" debug "^4.3.2" - espree "^9.3.2" - globals "^13.9.0" + espree "^9.4.0" + globals "^13.19.0" ignore "^5.2.0" import-fresh "^3.2.1" js-yaml "^4.1.0" @@ -2032,14 +2039,19 @@ dependencies: "@hapi/hoek" "^9.0.0" -"@humanwhocodes/config-array@^0.9.2": - version "0.9.2" - resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.9.2.tgz#68be55c737023009dfc5fe245d51181bb6476914" - integrity sha512-UXOuFCGcwciWckOpmfKDq/GyhlTf9pN/BzG//x8p8zTOFEcGuA68ANXheFS0AGvy3qgZqLBUkMs7hqzqCKOVwA== +"@humanwhocodes/config-array@^0.11.8": + version "0.11.8" + resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.8.tgz#03595ac2075a4dc0f191cc2131de14fbd7d410b9" + integrity sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g== dependencies: "@humanwhocodes/object-schema" "^1.2.1" debug "^4.1.1" - minimatch "^3.0.4" + minimatch "^3.0.5" + +"@humanwhocodes/module-importer@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c" + integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== "@humanwhocodes/object-schema@^1.2.1": version "1.2.1" @@ -2072,16 +2084,16 @@ resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.3.tgz#e45e384e4b8ec16bce2fd903af78450f6bf7ec98" integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA== -"@jest/console@^29.1.2": - version "29.1.2" - resolved "https://registry.yarnpkg.com/@jest/console/-/console-29.1.2.tgz#0ae975a70004696f8320490fcaa1a4152f7b62e4" - integrity sha512-ujEBCcYs82BTmRxqfHMQggSlkUZP63AE5YEaTPj7eFyJOzukkTorstOUC7L6nE3w5SYadGVAnTsQ/ZjTGL0qYQ== +"@jest/console@^29.1.2", "@jest/console@^29.4.3": + version "29.4.3" + resolved "https://registry.yarnpkg.com/@jest/console/-/console-29.4.3.tgz#1f25a99f7f860e4c46423b5b1038262466fadde1" + integrity sha512-W/o/34+wQuXlgqlPYTansOSiBnuxrTv61dEVkA6HNmpcgHLUjfaUbdqt6oVvOzaawwo9IdW9QOtMgQ1ScSZC4A== dependencies: - "@jest/types" "^29.1.2" + "@jest/types" "^29.4.3" "@types/node" "*" chalk "^4.0.0" - jest-message-util "^29.1.2" - jest-util "^29.1.2" + jest-message-util "^29.4.3" + jest-util "^29.4.3" slash "^3.0.0" "@jest/core@^29.1.2": @@ -2118,70 +2130,70 @@ slash "^3.0.0" strip-ansi "^6.0.0" -"@jest/create-cache-key-function@^27.4.2", "@jest/create-cache-key-function@^29": - version "29.1.2" - resolved "https://registry.yarnpkg.com/@jest/create-cache-key-function/-/create-cache-key-function-29.1.2.tgz#ba72143479abccc5ce7705e00fcbe89e4d6e1873" - integrity sha512-s7yfOwnDZhqTzLWOwWjv/Lbg9CkJ7bItz5OVrMa0d+g2bP+rFwDs7FpsKuYpym5tpdbDaXHnF3cbl/e01ZeUcw== +"@jest/create-cache-key-function@^27.4.2": + version "27.5.1" + resolved "https://registry.yarnpkg.com/@jest/create-cache-key-function/-/create-cache-key-function-27.5.1.tgz#7448fae15602ea95c828f5eceed35c202a820b31" + integrity sha512-dmH1yW+makpTSURTy8VzdUwFnfQh1G8R+DxO2Ho2FFmBbKFEVm+3jWdvFhE2VqB/LATCTokkP0dotjyQyw5/AQ== dependencies: - "@jest/types" "^29.1.2" + "@jest/types" "^27.5.1" -"@jest/environment@^29.1.2": - version "29.1.2" - resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-29.1.2.tgz#bb51a43fce9f960ba9a48f0b5b556f30618ebc0a" - integrity sha512-rG7xZ2UeOfvOVzoLIJ0ZmvPl4tBEQ2n73CZJSlzUjPw4or1oSWC0s0Rk0ZX+pIBJ04aVr6hLWFn1DFtrnf8MhQ== +"@jest/environment@^29.4.3": + version "29.4.3" + resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-29.4.3.tgz#9fe2f3169c3b33815dc4bd3960a064a83eba6548" + integrity sha512-dq5S6408IxIa+lr54zeqce+QgI+CJT4nmmA+1yzFgtcsGK8c/EyiUb9XQOgz3BMKrRDfKseeOaxj2eO8LlD3lA== dependencies: - "@jest/fake-timers" "^29.1.2" - "@jest/types" "^29.1.2" + "@jest/fake-timers" "^29.4.3" + "@jest/types" "^29.4.3" "@types/node" "*" - jest-mock "^29.1.2" + jest-mock "^29.4.3" -"@jest/expect-utils@^29.1.2": - version "29.1.2" - resolved "https://registry.yarnpkg.com/@jest/expect-utils/-/expect-utils-29.1.2.tgz#66dbb514d38f7d21456bc774419c9ae5cca3f88d" - integrity sha512-4a48bhKfGj/KAH39u0ppzNTABXQ8QPccWAFUFobWBaEMSMp+sB31Z2fK/l47c4a/Mu1po2ffmfAIPxXbVTXdtg== +"@jest/expect-utils@^29.4.3": + version "29.4.3" + resolved "https://registry.yarnpkg.com/@jest/expect-utils/-/expect-utils-29.4.3.tgz#95ce4df62952f071bcd618225ac7c47eaa81431e" + integrity sha512-/6JWbkxHOP8EoS8jeeTd9dTfc9Uawi+43oLKHfp6zzux3U2hqOOVnV3ai4RpDYHOccL6g+5nrxpoc8DmJxtXVQ== dependencies: - jest-get-type "^29.0.0" + jest-get-type "^29.4.3" -"@jest/expect@^29.1.2": - version "29.1.2" - resolved "https://registry.yarnpkg.com/@jest/expect/-/expect-29.1.2.tgz#334a86395f621f1ab63ad95b06a588b9114d7b7a" - integrity sha512-FXw/UmaZsyfRyvZw3M6POgSNqwmuOXJuzdNiMWW9LCYo0GRoRDhg+R5iq5higmRTHQY7hx32+j7WHwinRmoILQ== +"@jest/expect@^29.4.3": + version "29.4.3" + resolved "https://registry.yarnpkg.com/@jest/expect/-/expect-29.4.3.tgz#d31a28492e45a6bcd0f204a81f783fe717045c6e" + integrity sha512-iktRU/YsxEtumI9zsPctYUk7ptpC+AVLLk1Ax3AsA4g1C+8OOnKDkIQBDHtD5hA/+VtgMd5AWI5gNlcAlt2vxQ== dependencies: - expect "^29.1.2" - jest-snapshot "^29.1.2" + expect "^29.4.3" + jest-snapshot "^29.4.3" -"@jest/fake-timers@^29.1.2": - version "29.1.2" - resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-29.1.2.tgz#f157cdf23b4da48ce46cb00fea28ed1b57fc271a" - integrity sha512-GppaEqS+QQYegedxVMpCe2xCXxxeYwQ7RsNx55zc8f+1q1qevkZGKequfTASI7ejmg9WwI+SJCrHe9X11bLL9Q== +"@jest/fake-timers@^29.4.3": + version "29.4.3" + resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-29.4.3.tgz#31e982638c60fa657d310d4b9d24e023064027b0" + integrity sha512-4Hote2MGcCTWSD2gwl0dwbCpBRHhE6olYEuTj8FMowdg3oQWNKr2YuxenPQYZ7+PfqPY1k98wKDU4Z+Hvd4Tiw== dependencies: - "@jest/types" "^29.1.2" - "@sinonjs/fake-timers" "^9.1.2" + "@jest/types" "^29.4.3" + "@sinonjs/fake-timers" "^10.0.2" "@types/node" "*" - jest-message-util "^29.1.2" - jest-mock "^29.1.2" - jest-util "^29.1.2" + jest-message-util "^29.4.3" + jest-mock "^29.4.3" + jest-util "^29.4.3" -"@jest/globals@^29.1.2": - version "29.1.2" - resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-29.1.2.tgz#826ede84bc280ae7f789cb72d325c48cd048b9d3" - integrity sha512-uMgfERpJYoQmykAd0ffyMq8wignN4SvLUG6orJQRe9WAlTRc9cdpCaE/29qurXixYJVZWUqIBXhSk8v5xN1V9g== +"@jest/globals@^29.4.3": + version "29.4.3" + resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-29.4.3.tgz#63a2c4200d11bc6d46f12bbe25b07f771fce9279" + integrity sha512-8BQ/5EzfOLG7AaMcDh7yFCbfRLtsc+09E1RQmRBI4D6QQk4m6NSK/MXo+3bJrBN0yU8A2/VIcqhvsOLFmziioA== dependencies: - "@jest/environment" "^29.1.2" - "@jest/expect" "^29.1.2" - "@jest/types" "^29.1.2" - jest-mock "^29.1.2" + "@jest/environment" "^29.4.3" + "@jest/expect" "^29.4.3" + "@jest/types" "^29.4.3" + jest-mock "^29.4.3" "@jest/reporters@28.1.1", "@jest/reporters@^29", "@jest/reporters@^29.1.2": - version "29.1.2" - resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-29.1.2.tgz#5520898ed0a4ecf69d8b671e1dc8465d0acdfa6e" - integrity sha512-X4fiwwyxy9mnfpxL0g9DD0KcTmEIqP0jUdnc2cfa9riHy+I6Gwwp5vOZiwyg0vZxfSDxrOlK9S4+340W4d+DAA== + version "29.4.3" + resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-29.4.3.tgz#0a68a0c0f20554760cc2e5443177a0018969e353" + integrity sha512-sr2I7BmOjJhyqj9ANC6CTLsL4emMoka7HkQpcoMRlhCbQJjz2zsRzw0BDPiPyEFDXAbxKgGFYuQZiSJ1Y6YoTg== dependencies: "@bcoe/v8-coverage" "^0.2.3" - "@jest/console" "^29.1.2" - "@jest/test-result" "^29.1.2" - "@jest/transform" "^29.1.2" - "@jest/types" "^29.1.2" + "@jest/console" "^29.4.3" + "@jest/test-result" "^29.4.3" + "@jest/transform" "^29.4.3" + "@jest/types" "^29.4.3" "@jridgewell/trace-mapping" "^0.3.15" "@types/node" "*" chalk "^4.0.0" @@ -2194,78 +2206,88 @@ istanbul-lib-report "^3.0.0" istanbul-lib-source-maps "^4.0.0" istanbul-reports "^3.1.3" - jest-message-util "^29.1.2" - jest-util "^29.1.2" - jest-worker "^29.1.2" + jest-message-util "^29.4.3" + jest-util "^29.4.3" + jest-worker "^29.4.3" slash "^3.0.0" string-length "^4.0.1" strip-ansi "^6.0.0" - terminal-link "^2.0.0" v8-to-istanbul "^9.0.1" -"@jest/schemas@^29.0.0": - version "29.0.0" - resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-29.0.0.tgz#5f47f5994dd4ef067fb7b4188ceac45f77fe952a" - integrity sha512-3Ab5HgYIIAnS0HjqJHQYZS+zXc4tUmTmBH3z83ajI6afXp8X3ZtdLX+nXx+I7LNkJD7uN9LAVhgnjDgZa2z0kA== +"@jest/schemas@^29.4.3": + version "29.4.3" + resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-29.4.3.tgz#39cf1b8469afc40b6f5a2baaa146e332c4151788" + integrity sha512-VLYKXQmtmuEz6IxJsrZwzG9NvtkQsWNnWMsKxqWNu3+CnfzJQhp0WDDKWLVV9hLKr0l3SLLFRqcYHjhtyuDVxg== dependencies: - "@sinclair/typebox" "^0.24.1" + "@sinclair/typebox" "^0.25.16" -"@jest/source-map@^29.0.0": - version "29.0.0" - resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-29.0.0.tgz#f8d1518298089f8ae624e442bbb6eb870ee7783c" - integrity sha512-nOr+0EM8GiHf34mq2GcJyz/gYFyLQ2INDhAylrZJ9mMWoW21mLBfZa0BUVPPMxVYrLjeiRe2Z7kWXOGnS0TFhQ== +"@jest/source-map@^29.4.3": + version "29.4.3" + resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-29.4.3.tgz#ff8d05cbfff875d4a791ab679b4333df47951d20" + integrity sha512-qyt/mb6rLyd9j1jUts4EQncvS6Yy3PM9HghnNv86QBlV+zdL2inCdK1tuVlL+J+lpiw2BI67qXOrX3UurBqQ1w== dependencies: "@jridgewell/trace-mapping" "^0.3.15" callsites "^3.0.0" graceful-fs "^4.2.9" -"@jest/test-result@28.1.1", "@jest/test-result@^29", "@jest/test-result@^29.1.2": - version "29.1.2" - resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-29.1.2.tgz#6a8d006eb2b31ce0287d1fc10d12b8ff8504f3c8" - integrity sha512-jjYYjjumCJjH9hHCoMhA8PCl1OxNeGgAoZ7yuGYILRJX9NjgzTN0pCT5qAoYR4jfOP8htIByvAlz9vfNSSBoVg== +"@jest/test-result@28.1.1", "@jest/test-result@^29", "@jest/test-result@^29.1.2", "@jest/test-result@^29.4.3": + version "29.4.3" + resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-29.4.3.tgz#e13d973d16c8c7cc0c597082d5f3b9e7f796ccb8" + integrity sha512-Oi4u9NfBolMq9MASPwuWTlC5WvmNRwI4S8YrQg5R5Gi47DYlBe3sh7ILTqi/LGrK1XUE4XY9KZcQJTH1WJCLLA== dependencies: - "@jest/console" "^29.1.2" - "@jest/types" "^29.1.2" + "@jest/console" "^29.4.3" + "@jest/types" "^29.4.3" "@types/istanbul-lib-coverage" "^2.0.0" collect-v8-coverage "^1.0.0" -"@jest/test-sequencer@^29.1.2": - version "29.1.2" - resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-29.1.2.tgz#10bfd89c08bfdba382eb05cc79c1d23a01238a93" - integrity sha512-fU6dsUqqm8sA+cd85BmeF7Gu9DsXVWFdGn9taxM6xN1cKdcP/ivSgXh5QucFRFz1oZxKv3/9DYYbq0ULly3P/Q== +"@jest/test-sequencer@^29.4.3": + version "29.4.3" + resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-29.4.3.tgz#0862e876a22993385a0f3e7ea1cc126f208a2898" + integrity sha512-yi/t2nES4GB4G0mjLc0RInCq/cNr9dNwJxcGg8sslajua5Kb4kmozAc+qPLzplhBgfw1vLItbjyHzUN92UXicw== dependencies: - "@jest/test-result" "^29.1.2" + "@jest/test-result" "^29.4.3" graceful-fs "^4.2.9" - jest-haste-map "^29.1.2" + jest-haste-map "^29.4.3" slash "^3.0.0" -"@jest/transform@^29.1.2": - version "29.1.2" - resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-29.1.2.tgz#20f814696e04f090421f6d505c14bbfe0157062a" - integrity sha512-2uaUuVHTitmkx1tHF+eBjb4p7UuzBG7SXIaA/hNIkaMP6K+gXYGxP38ZcrofzqN0HeZ7A90oqsOa97WU7WZkSw== +"@jest/transform@^29.1.2", "@jest/transform@^29.4.3": + version "29.4.3" + resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-29.4.3.tgz#f7d17eac9cb5bb2e1222ea199c7c7e0835e0c037" + integrity sha512-8u0+fBGWolDshsFgPQJESkDa72da/EVwvL+II0trN2DR66wMwiQ9/CihaGfHdlLGFzbBZwMykFtxuwFdZqlKwg== dependencies: "@babel/core" "^7.11.6" - "@jest/types" "^29.1.2" + "@jest/types" "^29.4.3" "@jridgewell/trace-mapping" "^0.3.15" babel-plugin-istanbul "^6.1.1" chalk "^4.0.0" - convert-source-map "^1.4.0" + convert-source-map "^2.0.0" fast-json-stable-stringify "^2.1.0" graceful-fs "^4.2.9" - jest-haste-map "^29.1.2" - jest-regex-util "^29.0.0" - jest-util "^29.1.2" + jest-haste-map "^29.4.3" + jest-regex-util "^29.4.3" + jest-util "^29.4.3" micromatch "^4.0.4" pirates "^4.0.4" slash "^3.0.0" - write-file-atomic "^4.0.1" + write-file-atomic "^4.0.2" -"@jest/types@^29.1.2": - version "29.1.2" - resolved "https://registry.yarnpkg.com/@jest/types/-/types-29.1.2.tgz#7442d32b16bcd7592d9614173078b8c334ec730a" - integrity sha512-DcXGtoTykQB5jiwCmVr8H4vdg2OJhQex3qPkG+ISyDO7xQXbt/4R6dowcRyPemRnkH7JoHvZuxPBdlq+9JxFCg== +"@jest/types@^27.5.1": + version "27.5.1" + resolved "https://registry.yarnpkg.com/@jest/types/-/types-27.5.1.tgz#3c79ec4a8ba61c170bf937bcf9e98a9df175ec80" + integrity sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw== + dependencies: + "@types/istanbul-lib-coverage" "^2.0.0" + "@types/istanbul-reports" "^3.0.0" + "@types/node" "*" + "@types/yargs" "^16.0.0" + chalk "^4.0.0" + +"@jest/types@^29.1.2", "@jest/types@^29.4.3": + version "29.4.3" + resolved "https://registry.yarnpkg.com/@jest/types/-/types-29.4.3.tgz#9069145f4ef09adf10cec1b2901b2d390031431f" + integrity sha512-bPYfw8V65v17m2Od1cv44FH+SiKW7w2Xu7trhcdTLUmSv85rfKsP+qXSjO4KGJr4dtPSzl/gvslZBXctf1qGEA== dependencies: - "@jest/schemas" "^29.0.0" + "@jest/schemas" "^29.4.3" "@types/istanbul-lib-coverage" "^2.0.0" "@types/istanbul-reports" "^3.0.0" "@types/node" "*" @@ -2304,6 +2326,14 @@ resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz#add4c98d341472a289190b424efbdb096991bb24" integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw== +"@jridgewell/trace-mapping@0.3.9": + version "0.3.9" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz#6534fd5933a53ba7cbf3a17615e273a0d1273ff9" + integrity sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ== + dependencies: + "@jridgewell/resolve-uri" "^3.0.3" + "@jridgewell/sourcemap-codec" "^1.4.10" + "@jridgewell/trace-mapping@^0.3.0", "@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.15", "@jridgewell/trace-mapping@^0.3.7", "@jridgewell/trace-mapping@^0.3.9": version "0.3.15" resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.15.tgz#aba35c48a38d3fd84b37e66c9c0423f9744f9774" @@ -3104,7 +3134,7 @@ resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== -"@nodelib/fs.walk@^1.2.3": +"@nodelib/fs.walk@^1.2.3", "@nodelib/fs.walk@^1.2.8": version "1.2.8" resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== @@ -3246,13 +3276,6 @@ read-package-json-fast "^2.0.3" which "^2.0.2" -"@nrwl/cli@15.5.3": - version "15.5.3" - resolved "https://registry.yarnpkg.com/@nrwl/cli/-/cli-15.5.3.tgz#13277e5a0e8ba713850bcf13fa76717ea747a2bb" - integrity sha512-NWf9CWswvdYM6YzXuweaZPAZ2erMtQrrHZdgFbUGeojZBZ+b4TCGzLWNodZj4yQOa/eTwlyPMYO2LEw9CoapDQ== - dependencies: - nx "15.5.3" - "@nrwl/cli@15.6.3": version "15.6.3" resolved "https://registry.npmjs.org/@nrwl/cli/-/cli-15.6.3.tgz#999531d6efb30afc39373bdcbd7e78254a3a3fd3" @@ -3260,7 +3283,7 @@ dependencies: nx "15.6.3" -"@nrwl/devkit@15.6.3": +"@nrwl/devkit@15.6.3", "@nrwl/devkit@>=15.4.2 < 16": version "15.6.3" resolved "https://registry.npmjs.org/@nrwl/devkit/-/devkit-15.6.3.tgz#e4e96c53ba3304786a49034286c8511534b2b194" integrity sha512-/JDvdzNxUM+C1PCZPCrvmFx+OfywqZdOq1GS9QR8C0VctTLG4D/SGSFD88O1SAdcbH/f1mMiBGfEYZYd23fghQ== @@ -3271,17 +3294,6 @@ semver "7.3.4" tslib "^2.3.0" -"@nrwl/devkit@>=15.4.2 < 16": - version "15.5.3" - resolved "https://registry.npmjs.org/@nrwl/devkit/-/devkit-15.5.3.tgz#16fac0147c2ab6ebba7b5357b2b959ad46b6eb26" - integrity sha512-GGNLLGXDGWflrpaLimnE6hChfZfq3+XWZ0LJWL0IuCnchngPbNzuyh8S8KPgNKKgq4Nv0hglWefIwMg2UhHysA== - dependencies: - "@phenomnomnominal/tsquery" "4.1.1" - ejs "^3.1.7" - ignore "^5.0.4" - semver "7.3.4" - tslib "^2.3.0" - "@nrwl/jest@15.6.3": version "15.6.3" resolved "https://registry.npmjs.org/@nrwl/jest/-/jest-15.6.3.tgz#66b1c387352cbbf666959fd7fe921d4980c6084a" @@ -3324,13 +3336,6 @@ tar "6.1.11" yargs-parser ">=21.0.1" -"@nrwl/tao@15.5.3": - version "15.5.3" - resolved "https://registry.yarnpkg.com/@nrwl/tao/-/tao-15.5.3.tgz#08c05715d2ecb108ed8b2c5381b9017cf1448b4a" - integrity sha512-vgPLIW9IoBfQ4IkHRT5RC4LqNwFBK5jmHYmFIRgbIeFRudFBbnpmOaKRME0OwN7qJ6964PVVbzahAPvYVD02xw== - dependencies: - nx "15.5.3" - "@nrwl/tao@15.6.3": version "15.6.3" resolved "https://registry.npmjs.org/@nrwl/tao/-/tao-15.6.3.tgz#b24e11345375dea96bc386c60b9b1102a7584932" @@ -3637,29 +3642,29 @@ resolved "https://registry.yarnpkg.com/@sideway/pinpoint/-/pinpoint-2.0.0.tgz#cff8ffadc372ad29fd3f78277aeb29e632cc70df" integrity sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ== -"@sinclair/typebox@^0.24.1": - version "0.24.20" - resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.24.20.tgz#11a657875de6008622d53f56e063a6347c51a6dd" - integrity sha512-kVaO5aEFZb33nPMTZBxiPEkY+slxiPtqC7QX8f9B3eGOMBvEfuMfxp9DSTTCsRJPumPKjrge4yagyssO4q6qzQ== +"@sinclair/typebox@^0.25.16": + version "0.25.22" + resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.25.22.tgz#2808d895e9c2722b20a622a9c8cb332f6720eb4a" + integrity sha512-6U6r2L7rnM7EG8G1tWzIjdB3QlsHF4slgcqXNN/SF0xJOAr0nDmT2GedlkyO3mrv8mDTJ24UuOMWR3diBrCvQQ== "@sindresorhus/is@^0.14.0": version "0.14.0" resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-0.14.0.tgz#9fb3a3cf3132328151f353de4632e01e52102bea" integrity sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ== -"@sinonjs/commons@^1.7.0": - version "1.8.3" - resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.3.tgz#3802ddd21a50a949b6721ddd72da36e67e7f1b2d" - integrity sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ== +"@sinonjs/commons@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-2.0.0.tgz#fd4ca5b063554307e8327b4564bd56d3b73924a3" + integrity sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg== dependencies: type-detect "4.0.8" -"@sinonjs/fake-timers@^9.1.2": - version "9.1.2" - resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-9.1.2.tgz#4eaab737fab77332ab132d396a3c0d364bd0ea8c" - integrity sha512-BPS4ynJW/o92PUR4wgriz2Ud5gpST5vz6GQfMixEDK0Z8ZCUv2M7SkBLykH56T++Xs+8ln9zTGbOvNGIe02/jw== +"@sinonjs/fake-timers@^10.0.2": + version "10.0.2" + resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-10.0.2.tgz#d10549ed1f423d80639c528b6c7f5a1017747d0c" + integrity sha512-SwUDyjWnah1AaNl7kxsa7cfLhlTYoiyhDAIgyh+El30YvXs/o7OLXpYH88Zdhyx9JExKrmHDJ+10bwIcY80Jmw== dependencies: - "@sinonjs/commons" "^1.7.0" + "@sinonjs/commons" "^2.0.0" "@slorber/static-site-generator-webpack-plugin@^4.0.7": version "4.0.7" @@ -4336,6 +4341,13 @@ resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-20.2.1.tgz#3b9ce2489919d9e4fea439b76916abc34b2df129" integrity sha512-7tFImggNeNBVMsn0vLrpn1H1uPrUBdnARPTpZoitY37ZrdJREzf7I16tMrlK3hen349gr1NYh8CmZQa7CTG6Aw== +"@types/yargs@^16.0.0": + version "16.0.5" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-16.0.5.tgz#12cc86393985735a283e387936398c2f9e5f88e3" + integrity sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ== + dependencies: + "@types/yargs-parser" "*" + "@types/yargs@^17.0.8": version "17.0.10" resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.10.tgz#591522fce85d8739bca7b8bb90d048e4478d186a" @@ -4350,54 +4362,6 @@ dependencies: "@typescript-eslint/utils" "5.52.0" -"@typescript-eslint/scope-manager@5.52.0": - version "5.52.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.52.0.tgz#a993d89a0556ea16811db48eabd7c5b72dcb83d1" - integrity sha512-AR7sxxfBKiNV0FWBSARxM8DmNxrwgnYMPwmpkC1Pl1n+eT8/I2NAUPuwDy/FmDcC6F8pBfmOcaxcxRHspgOBMw== - dependencies: - "@typescript-eslint/types" "5.52.0" - "@typescript-eslint/visitor-keys" "5.52.0" - -"@typescript-eslint/types@5.52.0": - version "5.52.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.52.0.tgz#19e9abc6afb5bd37a1a9bea877a1a836c0b3241b" - integrity sha512-oV7XU4CHYfBhk78fS7tkum+/Dpgsfi91IIDy7fjCyq2k6KB63M6gMC0YIvy+iABzmXThCRI6xpCEyVObBdWSDQ== - -"@typescript-eslint/typescript-estree@5.52.0": - version "5.52.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.52.0.tgz#6408cb3c2ccc01c03c278cb201cf07e73347dfca" - integrity sha512-WeWnjanyEwt6+fVrSR0MYgEpUAuROxuAH516WPjUblIrClzYJj0kBbjdnbQXLpgAN8qbEuGywiQsXUVDiAoEuQ== - dependencies: - "@typescript-eslint/types" "5.52.0" - "@typescript-eslint/visitor-keys" "5.52.0" - debug "^4.3.4" - globby "^11.1.0" - is-glob "^4.0.3" - semver "^7.3.7" - tsutils "^3.21.0" - -"@typescript-eslint/utils@5.52.0": - version "5.52.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.52.0.tgz#b260bb5a8f6b00a0ed51db66bdba4ed5e4845a72" - integrity sha512-As3lChhrbwWQLNk2HC8Ree96hldKIqk98EYvypd3It8Q1f8d5zWyIoaZEp2va5667M4ZyE7X8UUR+azXrFl+NA== - dependencies: - "@types/json-schema" "^7.0.9" - "@types/semver" "^7.3.12" - "@typescript-eslint/scope-manager" "5.52.0" - "@typescript-eslint/types" "5.52.0" - "@typescript-eslint/typescript-estree" "5.52.0" - eslint-scope "^5.1.1" - eslint-utils "^3.0.0" - semver "^7.3.7" - -"@typescript-eslint/visitor-keys@5.52.0": - version "5.52.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.52.0.tgz#e38c971259f44f80cfe49d97dbffa38e3e75030f" - integrity sha512-qMwpw6SU5VHCPr99y274xhbm+PRViK/NATY6qzt+Et7+mThGuFSl/ompj2/hrBlRP/kq+BFdgagnOSgw9TB0eA== - dependencies: - "@typescript-eslint/types" "5.52.0" - eslint-visitor-keys "^3.3.0" - "@webassemblyjs/ast@1.11.1": version "1.11.1" resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.11.1.tgz#2bfd767eae1a6996f432ff7e8d7fc75679c0b6a7" @@ -4585,10 +4549,10 @@ acorn-walk@^8.0.0, acorn-walk@^8.1.1: resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.2.0.tgz#741210f2e2426454508853a2f44d0ab83b7f69c1" integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA== -acorn@^8.0.4, acorn@^8.4.1, acorn@^8.5.0, acorn@^8.7.1: - version "8.8.0" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.0.tgz#88c0187620435c7f6015803f5539dae05a9dbea8" - integrity sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w== +acorn@^8.0.4, acorn@^8.4.1, acorn@^8.5.0, acorn@^8.7.1, acorn@^8.8.0: + version "8.8.2" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.2.tgz#1b2f25db02af965399b9776b0c2c391276d37c4a" + integrity sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw== add-stream@^1.0.0: version "1.0.0" @@ -4796,13 +4760,12 @@ argparse@^2.0.1: resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== -aria-query@^4.2.2: - version "4.2.2" - resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-4.2.2.tgz#0d2ca6c9aceb56b8977e9fed6aed7e15bbd2f83b" - integrity sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA== +aria-query@^5.1.3: + version "5.1.3" + resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-5.1.3.tgz#19db27cd101152773631396f7a95a3b58c22c35e" + integrity sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ== dependencies: - "@babel/runtime" "^7.10.2" - "@babel/runtime-corejs3" "^7.10.2" + deep-equal "^2.0.5" array-differ@^3.0.0: version "3.0.0" @@ -4824,15 +4787,15 @@ array-ify@^1.0.0: resolved "https://registry.yarnpkg.com/array-ify/-/array-ify-1.0.0.tgz#9e528762b4a9066ad163a6962a364418e9626ece" integrity sha1-nlKHYrSpBmrRY6aWKjZEGOlibs4= -array-includes@^3.1.4, array-includes@^3.1.5: - version "3.1.5" - resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.5.tgz#2c320010db8d31031fd2a5f6b3bbd4b1aad31bdb" - integrity sha512-iSDYZMMyTPkiFasVqfuAQnWAYcvO/SeBSCGKePoEthjp4LEMTe4uLc7b025o4jAZpHhihh8xPo99TNWUWWkGDQ== +array-includes@^3.1.5, array-includes@^3.1.6: + version "3.1.6" + resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.6.tgz#9e9e720e194f198266ba9e18c29e6a9b0e4b225f" + integrity sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw== dependencies: call-bind "^1.0.2" define-properties "^1.1.4" - es-abstract "^1.19.5" - get-intrinsic "^1.1.1" + es-abstract "^1.20.4" + get-intrinsic "^1.1.3" is-string "^1.0.7" array-timsort@^1.0.3: @@ -4845,24 +4808,36 @@ array-union@^2.1.0: resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== -array.prototype.flat@^1.2.5: - version "1.2.5" - resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.2.5.tgz#07e0975d84bbc7c48cd1879d609e682598d33e13" - integrity sha512-KaYU+S+ndVqyUnignHftkwc58o3uVU1jzczILJ1tN2YaIZpFIKBiP/x/j97E5MVPsaCloPbqWLB/8qCTVvT2qg== +array.prototype.flat@^1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz#ffc6576a7ca3efc2f46a143b9d1dda9b4b3cf5e2" + integrity sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA== dependencies: call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.19.0" + define-properties "^1.1.4" + es-abstract "^1.20.4" + es-shim-unscopables "^1.0.0" -array.prototype.flatmap@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.3.0.tgz#a7e8ed4225f4788a70cd910abcf0791e76a5534f" - integrity sha512-PZC9/8TKAIxcWKdyeb77EzULHPrIX/tIZebLJUQOMR1OwYosT8yggdfWScfTBCDj5utONvOuPQQumYsU2ULbkg== +array.prototype.flatmap@^1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz#1aae7903c2100433cb8261cd4ed310aab5c4a183" + integrity sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ== dependencies: call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.19.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + es-shim-unscopables "^1.0.0" + +array.prototype.tosorted@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/array.prototype.tosorted/-/array.prototype.tosorted-1.1.1.tgz#ccf44738aa2b5ac56578ffda97c03fd3e23dd532" + integrity sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" es-shim-unscopables "^1.0.0" + get-intrinsic "^1.1.3" arrify@^1.0.1: version "1.0.1" @@ -4916,10 +4891,15 @@ autoprefixer@^10.3.7, autoprefixer@^10.4.7: picocolors "^1.0.0" postcss-value-parser "^4.2.0" -axe-core@^4.4.3: - version "4.4.3" - resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.4.3.tgz#11c74d23d5013c0fa5d183796729bc3482bd2f6f" - integrity sha512-32+ub6kkdhhWick/UjvEwRchgoetXqTK14INLqbGm5U2TzBkBNF3nQtLYm8ovxSkQWArjEQvftCKryjZaATu3w== +available-typed-arrays@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz#92f95616501069d07d10edb2fc37d3e1c65123b7" + integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw== + +axe-core@^4.4.3, axe-core@^4.6.2: + version "4.6.3" + resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.6.3.tgz#fc0db6fdb65cc7a80ccf85286d91d64ababa3ece" + integrity sha512-/BQzOX780JhsxDnPpH4ZiyrJAzcd8AfzFPkv+89veFSr1rcMjuq2JDCwypKaPeB6ljHp9KjXhPpjgCvQlWYuqg== axios@^0.21.2: version "0.21.4" @@ -4944,20 +4924,22 @@ axios@^1.0.0: form-data "^4.0.0" proxy-from-env "^1.1.0" -axobject-query@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-2.2.0.tgz#943d47e10c0b704aa42275e20edf3722648989be" - integrity sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA== +axobject-query@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-3.1.1.tgz#3b6e5c6d4e43ca7ba51c5babf99d22a9c68485e1" + integrity sha512-goKlv8DZrK9hUh975fnHzhNIO4jUnFCfv/dszV5VwUGDFjI6vQ2VwoyjYjYNEbBE8AH87TduWP5uyDR1D+Iteg== + dependencies: + deep-equal "^2.0.5" -babel-jest@^29.1.2: - version "29.1.2" - resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-29.1.2.tgz#540d3241925c55240fb0c742e3ffc5f33a501978" - integrity sha512-IuG+F3HTHryJb7gacC7SQ59A9kO56BctUsT67uJHp1mMCHUOMXpDwOHWGifWqdWVknN2WNkCVQELPjXx0aLJ9Q== +babel-jest@^29.4.3: + version "29.4.3" + resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-29.4.3.tgz#478b84d430972b277ad67dd631be94abea676792" + integrity sha512-o45Wyn32svZE+LnMVWv/Z4x0SwtLbh4FyGcYtR20kIWd+rdrDZ9Fzq8Ml3MYLD+mZvEdzCjZsCnYZ2jpJyQ+Nw== dependencies: - "@jest/transform" "^29.1.2" + "@jest/transform" "^29.4.3" "@types/babel__core" "^7.1.14" babel-plugin-istanbul "^6.1.1" - babel-preset-jest "^29.0.2" + babel-preset-jest "^29.4.3" chalk "^4.0.0" graceful-fs "^4.2.9" slash "^3.0.0" @@ -5005,10 +4987,10 @@ babel-plugin-istanbul@^6.1.1: istanbul-lib-instrument "^5.0.4" test-exclude "^6.0.0" -babel-plugin-jest-hoist@^29.0.2: - version "29.0.2" - resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.0.2.tgz#ae61483a829a021b146c016c6ad39b8bcc37c2c8" - integrity sha512-eBr2ynAEFjcebVvu8Ktx580BD1QKCrBG1XwEUTXJe285p9HA/4hOhfWCFRQhTKSyBV0VzjhG7H91Eifz9s29hg== +babel-plugin-jest-hoist@^29.4.3: + version "29.4.3" + resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.4.3.tgz#ad1dfb5d31940957e00410ef7d9b2aa94b216101" + integrity sha512-mB6q2q3oahKphy5V7CpnNqZOCkxxZ9aokf1eh82Dy3jQmg4xvM1tGrh5y6BQUJh4a3Pj9+eLfwvAZ7VNKg7H8Q== dependencies: "@babel/template" "^7.3.3" "@babel/types" "^7.3.3" @@ -5072,12 +5054,12 @@ babel-preset-current-node-syntax@^1.0.0: "@babel/plugin-syntax-optional-chaining" "^7.8.3" "@babel/plugin-syntax-top-level-await" "^7.8.3" -babel-preset-jest@^29.0.2: - version "29.0.2" - resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-29.0.2.tgz#e14a7124e22b161551818d89e5bdcfb3b2b0eac7" - integrity sha512-BeVXp7rH5TK96ofyEnHjznjLMQ2nAeDJ+QzxKnHAAMs0RgrQsCywjAN8m4mOm5Di0pxU//3AoEeJJrerMH5UeA== +babel-preset-jest@^29.4.3: + version "29.4.3" + resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-29.4.3.tgz#bb926b66ae253b69c6e3ef87511b8bb5c53c5b52" + integrity sha512-gWx6COtSuma6n9bw+8/F+2PCXrIgxV/D1TJFnp6OyBK2cxPWg0K9p/sriNYeifKjpUkMViWQ09DSWtzJQRETsw== dependencies: - babel-plugin-jest-hoist "^29.0.2" + babel-plugin-jest-hoist "^29.4.3" babel-preset-current-node-syntax "^1.0.0" bail@^1.0.0: @@ -5974,13 +5956,18 @@ conventional-recommended-bump@^6.1.0: meow "^8.0.0" q "^1.5.1" -convert-source-map@^1.4.0, convert-source-map@^1.6.0, convert-source-map@^1.7.0: +convert-source-map@^1.6.0, convert-source-map@^1.7.0: version "1.8.0" resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.8.0.tgz#f3373c32d21b4d780dd8004514684fb791ca4369" integrity sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA== dependencies: safe-buffer "~5.1.1" +convert-source-map@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-2.0.0.tgz#4b560f649fc4e918dd0ab75cf4961e8bc882d82a" + integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== + cookie-signature@1.0.6: version "1.0.6" resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" @@ -6064,7 +6051,7 @@ cross-env@^7.0.3: dependencies: cross-spawn "^7.0.1" -cross-fetch@^3.0.4, cross-fetch@^3.1.5: +cross-fetch@*, cross-fetch@^3.0.4, cross-fetch@^3.1.5: version "3.1.5" resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-3.1.5.tgz#e1389f44d9e7ba767907f7af8454787952ab534f" integrity sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw== @@ -6368,7 +6355,7 @@ dateformat@^3.0.0: resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-3.0.3.tgz#a6e37499a4d9a9cf85ef5872044d62901c9889ae" integrity sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q== -debug@2.6.9, debug@^2.6.0, debug@^2.6.9: +debug@2.6.9, debug@^2.6.0: version "2.6.9" resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== @@ -6419,6 +6406,29 @@ dedent@^0.7.0: resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c" integrity sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw= +deep-equal@^2.0.5: + version "2.2.0" + resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-2.2.0.tgz#5caeace9c781028b9ff459f33b779346637c43e6" + integrity sha512-RdpzE0Hv4lhowpIUKKMJfeH6C1pXdtT1/it80ubgWqwI3qpuxUBpC1S4hnHg+zjnuOoDkzUtUCEEkG+XG5l3Mw== + dependencies: + call-bind "^1.0.2" + es-get-iterator "^1.1.2" + get-intrinsic "^1.1.3" + is-arguments "^1.1.1" + is-array-buffer "^3.0.1" + is-date-object "^1.0.5" + is-regex "^1.1.4" + is-shared-array-buffer "^1.0.2" + isarray "^2.0.5" + object-is "^1.1.5" + object-keys "^1.1.1" + object.assign "^4.1.4" + regexp.prototype.flags "^1.4.3" + side-channel "^1.0.4" + which-boxed-primitive "^1.0.2" + which-collection "^1.0.1" + which-typed-array "^1.1.9" + deep-extend@^0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" @@ -6561,10 +6571,10 @@ dezalgo@^1.0.0: asap "^2.0.0" wrappy "1" -diff-sequences@^29.0.0: - version "29.0.0" - resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-29.0.0.tgz#bae49972ef3933556bcb0800b72e8579d19d9e4f" - integrity sha512-7Qe/zd1wxSDL4D/X/FPjOMB+ZMDt71W94KYaq05I2l0oQqgXgs7s4ftYYmV38gBSrPz2vcygxfs1xn0FT+rKNA== +diff-sequences@^29.4.3: + version "29.4.3" + resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-29.4.3.tgz#9314bc1fabe09267ffeca9cbafc457d8499a13f2" + integrity sha512-ofrBgwpPhCD85kMKtE9RYFFq6OC1A89oW2vvgWZNCwxrUpRUILopY7lsYyMDSjc8g6U6aiO0Qubg6r4Wgt5ZnA== diff@^4.0.1: version "4.0.2" @@ -6734,10 +6744,10 @@ electron-to-chromium@^1.4.251: resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.270.tgz#2c6ea409b45cdb5c3e0cb2c08cf6c0ba7e0f2c26" integrity sha512-KNhIzgLiJmDDC444dj9vEOpZEgsV96ult9Iff98Vanumn+ShJHd5se8aX6KeVxdc0YQeqdrezBZv89rleDbvSg== -emittery@^0.10.2: - version "0.10.2" - resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.10.2.tgz#902eec8aedb8c41938c46e9385e9db7e03182933" - integrity sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw== +emittery@^0.13.1: + version "0.13.1" + resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.13.1.tgz#c04b8c3457490e0847ae51fced3af52d338e3dad" + integrity sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ== emoji-regex@^8.0.0: version "8.0.0" @@ -6835,40 +6845,74 @@ error-ex@^1.3.1: dependencies: is-arrayish "^0.2.1" -es-abstract@^1.19.0, es-abstract@^1.19.1, es-abstract@^1.19.2, es-abstract@^1.19.5: - version "1.20.1" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.20.1.tgz#027292cd6ef44bd12b1913b828116f54787d1814" - integrity sha512-WEm2oBhfoI2sImeM4OF2zE2V3BYdSF+KnSi9Sidz51fQHd7+JuF8Xgcj9/0o+OWeIeIS/MiuNnlruQrJf16GQA== +es-abstract@^1.19.0, es-abstract@^1.20.4: + version "1.21.1" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.21.1.tgz#e6105a099967c08377830a0c9cb589d570dd86c6" + integrity sha512-QudMsPOz86xYz/1dG1OuGBKOELjCh99IIWHLzy5znUB6j8xG2yMA7bfTV86VSqKF+Y/H08vQPR+9jyXpuC6hfg== dependencies: + available-typed-arrays "^1.0.5" call-bind "^1.0.2" + es-set-tostringtag "^2.0.1" es-to-primitive "^1.2.1" function-bind "^1.1.1" function.prototype.name "^1.1.5" - get-intrinsic "^1.1.1" + get-intrinsic "^1.1.3" get-symbol-description "^1.0.0" + globalthis "^1.0.3" + gopd "^1.0.1" has "^1.0.3" has-property-descriptors "^1.0.0" + has-proto "^1.0.1" has-symbols "^1.0.3" - internal-slot "^1.0.3" - is-callable "^1.2.4" + internal-slot "^1.0.4" + is-array-buffer "^3.0.1" + is-callable "^1.2.7" is-negative-zero "^2.0.2" is-regex "^1.1.4" is-shared-array-buffer "^1.0.2" is-string "^1.0.7" + is-typed-array "^1.1.10" is-weakref "^1.0.2" - object-inspect "^1.12.0" + object-inspect "^1.12.2" object-keys "^1.1.1" - object.assign "^4.1.2" + object.assign "^4.1.4" regexp.prototype.flags "^1.4.3" - string.prototype.trimend "^1.0.5" - string.prototype.trimstart "^1.0.5" + safe-regex-test "^1.0.0" + string.prototype.trimend "^1.0.6" + string.prototype.trimstart "^1.0.6" + typed-array-length "^1.0.4" unbox-primitive "^1.0.2" + which-typed-array "^1.1.9" + +es-get-iterator@^1.1.2: + version "1.1.3" + resolved "https://registry.yarnpkg.com/es-get-iterator/-/es-get-iterator-1.1.3.tgz#3ef87523c5d464d41084b2c3c9c214f1199763d6" + integrity sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.1.3" + has-symbols "^1.0.3" + is-arguments "^1.1.1" + is-map "^2.0.2" + is-set "^2.0.2" + is-string "^1.0.7" + isarray "^2.0.5" + stop-iteration-iterator "^1.0.0" es-module-lexer@^0.9.0: version "0.9.3" resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-0.9.3.tgz#6f13db00cc38417137daf74366f535c8eb438f19" integrity sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ== +es-set-tostringtag@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz#338d502f6f674301d710b80c8592de8a15f09cd8" + integrity sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg== + dependencies: + get-intrinsic "^1.1.3" + has "^1.0.3" + has-tostringtag "^1.0.0" + es-shim-unscopables@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz#702e632193201e3edf8713635d083d378e510241" @@ -7079,26 +7123,26 @@ escape-string-regexp@^4.0.0: resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== -eslint-import-resolver-node@^0.3.6: - version "0.3.6" - resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz#4048b958395da89668252001dbd9eca6b83bacbd" - integrity sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw== +eslint-import-resolver-node@^0.3.7: + version "0.3.7" + resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.7.tgz#83b375187d412324a1963d84fa664377a23eb4d7" + integrity sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA== dependencies: debug "^3.2.7" - resolve "^1.20.0" + is-core-module "^2.11.0" + resolve "^1.22.1" -eslint-module-utils@^2.7.3: - version "2.7.3" - resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.7.3.tgz#ad7e3a10552fdd0642e1e55292781bd6e34876ee" - integrity sha512-088JEC7O3lDZM9xGe0RerkOMd0EjFl+Yvd1jPWIkMT5u3H9+HC34mWWPnqPrN13gieT9pBOO+Qt07Nb/6TresQ== +eslint-module-utils@^2.7.4: + version "2.7.4" + resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.7.4.tgz#4f3e41116aaf13a20792261e61d3a2e7e0583974" + integrity sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA== dependencies: debug "^3.2.7" - find-up "^2.1.0" -eslint-plugin-deprecation@^1.3.2: - version "1.3.2" - resolved "https://registry.yarnpkg.com/eslint-plugin-deprecation/-/eslint-plugin-deprecation-1.3.2.tgz#a8125d28c56158cdfa1a685197e6be8ed86f189e" - integrity sha512-z93wbx9w7H/E3ogPw6AZMkkNJ6m51fTZRNZPNQqxQLmx+KKt7aLkMU9wN67s71i+VVHN4tLOZ3zT3QLbnlC0Mg== +eslint-plugin-deprecation@^1.3.3: + version "1.3.3" + resolved "https://registry.yarnpkg.com/eslint-plugin-deprecation/-/eslint-plugin-deprecation-1.3.3.tgz#065b5d36ff220afe139f2b19af57454a13464731" + integrity sha512-Bbkv6ZN2cCthVXz/oZKPwsSY5S/CbgTLRG4Q2s2gpPpgNsT0uJ0dB5oLNiWzFYY8AgKX4ULxXFG1l/rDav9QFA== dependencies: "@typescript-eslint/experimental-utils" "^5.0.0" tslib "^2.3.1" @@ -7112,83 +7156,89 @@ eslint-plugin-eslint-comments@^3.2.0: escape-string-regexp "^1.0.5" ignore "^5.0.5" -eslint-plugin-eslint-plugin@^5.0.1: - version "5.0.6" - resolved "https://registry.yarnpkg.com/eslint-plugin-eslint-plugin/-/eslint-plugin-eslint-plugin-5.0.6.tgz#76a32444b90525f5e58b1b7bdf0295110f6573a8" - integrity sha512-q1/sXPSMEAINj9jmYQDp0f7zu0PeU6Wy5Cn/l7OsjSGkq8NLCckFXZxhVIlGJcmAI+OeFSGfRSZ6Iku3eRv8QQ== +eslint-plugin-eslint-plugin@^5.0.8: + version "5.0.8" + resolved "https://registry.yarnpkg.com/eslint-plugin-eslint-plugin/-/eslint-plugin-eslint-plugin-5.0.8.tgz#b0a04e874a52176f129270b8773a4635ce5be14f" + integrity sha512-bxPMZ3L/+5YypErWQMKUI9XdkLpgqOOO0CgbtHjk5Zxzcg4EVsWYPy8duvGSLxSyR60LBIoXNzVMueEZ3/j0AQ== dependencies: eslint-utils "^3.0.0" - estraverse "^5.2.0" + estraverse "^5.3.0" -eslint-plugin-import@^2.26.0: - version "2.26.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.26.0.tgz#f812dc47be4f2b72b478a021605a59fc6fe8b88b" - integrity sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA== +eslint-plugin-import@^2.27.5: + version "2.27.5" + resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.27.5.tgz#876a6d03f52608a3e5bb439c2550588e51dd6c65" + integrity sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow== dependencies: - array-includes "^3.1.4" - array.prototype.flat "^1.2.5" - debug "^2.6.9" + array-includes "^3.1.6" + array.prototype.flat "^1.3.1" + array.prototype.flatmap "^1.3.1" + debug "^3.2.7" doctrine "^2.1.0" - eslint-import-resolver-node "^0.3.6" - eslint-module-utils "^2.7.3" + eslint-import-resolver-node "^0.3.7" + eslint-module-utils "^2.7.4" has "^1.0.3" - is-core-module "^2.8.1" + is-core-module "^2.11.0" is-glob "^4.0.3" minimatch "^3.1.2" - object.values "^1.1.5" - resolve "^1.22.0" + object.values "^1.1.6" + resolve "^1.22.1" + semver "^6.3.0" tsconfig-paths "^3.14.1" -eslint-plugin-jest@^27.0.0: - version "27.1.7" - resolved "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-27.1.7.tgz#0351e904afb8d66b7f70452929556dfdc8daba0d" - integrity sha512-0QVzf+og4YI1Qr3UoprkqqhezAZjFffdi62b0IurkCXMqPtRW84/UT4CKsYT80h/D82LA9avjO/80Ou1LdgbaQ== +eslint-plugin-jest@^27.2.1: + version "27.2.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-27.2.1.tgz#b85b4adf41c682ea29f1f01c8b11ccc39b5c672c" + integrity sha512-l067Uxx7ZT8cO9NJuf+eJHvt6bqJyz2Z29wykyEdz/OtmcELQl2MQGQLX8J94O1cSJWAwUSEvCjwjA7KEK3Hmg== dependencies: "@typescript-eslint/utils" "^5.10.0" -eslint-plugin-jsx-a11y@^6.5.1: - version "6.6.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.6.1.tgz#93736fc91b83fdc38cc8d115deedfc3091aef1ff" - integrity sha512-sXgFVNHiWffBq23uiS/JaP6eVR622DqwB4yTzKvGZGcPq6/yZ3WmOZfuBks/vHWo9GaFOqC2ZK4i6+C35knx7Q== +eslint-plugin-jsx-a11y@^6.7.1: + version "6.7.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.7.1.tgz#fca5e02d115f48c9a597a6894d5bcec2f7a76976" + integrity sha512-63Bog4iIethyo8smBklORknVjB0T2dwB8Mr/hIC+fBS0uyHdYYpzM/Ed+YC8VxTjlXHEWFOdmgwcDn1U2L9VCA== dependencies: - "@babel/runtime" "^7.18.9" - aria-query "^4.2.2" - array-includes "^3.1.5" + "@babel/runtime" "^7.20.7" + aria-query "^5.1.3" + array-includes "^3.1.6" + array.prototype.flatmap "^1.3.1" ast-types-flow "^0.0.7" - axe-core "^4.4.3" - axobject-query "^2.2.0" + axe-core "^4.6.2" + axobject-query "^3.1.1" damerau-levenshtein "^1.0.8" emoji-regex "^9.2.2" has "^1.0.3" - jsx-ast-utils "^3.3.2" - language-tags "^1.0.5" + jsx-ast-utils "^3.3.3" + language-tags "=1.0.5" minimatch "^3.1.2" + object.entries "^1.1.6" + object.fromentries "^2.0.6" semver "^6.3.0" -eslint-plugin-react-hooks@^4.5.0: +eslint-plugin-react-hooks@^4.6.0: version "4.6.0" resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz#4c3e697ad95b77e93f8646aaa1630c1ba607edd3" integrity sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g== -eslint-plugin-react@^7.29.4: - version "7.31.8" - resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.31.8.tgz#3a4f80c10be1bcbc8197be9e8b641b2a3ef219bf" - integrity sha512-5lBTZmgQmARLLSYiwI71tiGVTLUuqXantZM6vlSY39OaDSV0M7+32K5DnLkmFrwTe+Ksz0ffuLUC91RUviVZfw== +eslint-plugin-react@^7.32.2: + version "7.32.2" + resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.32.2.tgz#e71f21c7c265ebce01bcbc9d0955170c55571f10" + integrity sha512-t2fBMa+XzonrrNkyVirzKlvn5RXzzPwRHtMvLAtVZrt8oxgnTQaYbU6SXTOO1mwQgp1y5+toMSKInnzGr0Knqg== dependencies: - array-includes "^3.1.5" - array.prototype.flatmap "^1.3.0" + array-includes "^3.1.6" + array.prototype.flatmap "^1.3.1" + array.prototype.tosorted "^1.1.1" doctrine "^2.1.0" estraverse "^5.3.0" jsx-ast-utils "^2.4.1 || ^3.0.0" minimatch "^3.1.2" - object.entries "^1.1.5" - object.fromentries "^2.0.5" - object.hasown "^1.1.1" - object.values "^1.1.5" + object.entries "^1.1.6" + object.fromentries "^2.0.6" + object.hasown "^1.1.2" + object.values "^1.1.6" prop-types "^15.8.1" - resolve "^2.0.0-next.3" + resolve "^2.0.0-next.4" semver "^6.3.0" - string.prototype.matchall "^4.0.7" + string.prototype.matchall "^4.0.8" eslint-plugin-simple-import-sort@^10.0.0: version "10.0.0" @@ -7228,13 +7278,15 @@ eslint-visitor-keys@^3.3.0: resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz#f6480fa6b1f30efe2d1968aa8ac745b862469826" integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA== -eslint@*, eslint@^8.15.0: - version "8.15.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.15.0.tgz#fea1d55a7062da48d82600d2e0974c55612a11e9" - integrity sha512-GG5USZ1jhCu8HJkzGgeK8/+RGnHaNYZGrGDzUtigK3BsGESW/rs2az23XqE0WVwDxy1VRvvjSSGu5nB0Bu+6SA== +eslint@*, eslint@^8.34.0: + version "8.34.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.34.0.tgz#fe0ab0ef478104c1f9ebc5537e303d25a8fb22d6" + integrity sha512-1Z8iFsucw+7kSqXNZVslXS8Ioa4u2KM7GPwuKtkTFAqZ/cHMcEaR+1+Br0wLlot49cNxIiZk5wp8EAbPcYZxTg== dependencies: - "@eslint/eslintrc" "^1.2.3" - "@humanwhocodes/config-array" "^0.9.2" + "@eslint/eslintrc" "^1.4.1" + "@humanwhocodes/config-array" "^0.11.8" + "@humanwhocodes/module-importer" "^1.0.1" + "@nodelib/fs.walk" "^1.2.8" ajv "^6.10.0" chalk "^4.0.0" cross-spawn "^7.0.2" @@ -7244,18 +7296,21 @@ eslint@*, eslint@^8.15.0: eslint-scope "^7.1.1" eslint-utils "^3.0.0" eslint-visitor-keys "^3.3.0" - espree "^9.3.2" + espree "^9.4.0" esquery "^1.4.0" esutils "^2.0.2" fast-deep-equal "^3.1.3" file-entry-cache "^6.0.1" - functional-red-black-tree "^1.0.1" - glob-parent "^6.0.1" - globals "^13.6.0" + find-up "^5.0.0" + glob-parent "^6.0.2" + globals "^13.19.0" + grapheme-splitter "^1.0.4" ignore "^5.2.0" import-fresh "^3.0.0" imurmurhash "^0.1.4" is-glob "^4.0.0" + is-path-inside "^3.0.3" + js-sdsl "^4.1.4" js-yaml "^4.1.0" json-stable-stringify-without-jsonify "^1.0.1" levn "^0.4.1" @@ -7267,14 +7322,13 @@ eslint@*, eslint@^8.15.0: strip-ansi "^6.0.1" strip-json-comments "^3.1.0" text-table "^0.2.0" - v8-compile-cache "^2.0.3" -espree@^9.3.2: - version "9.3.2" - resolved "https://registry.yarnpkg.com/espree/-/espree-9.3.2.tgz#f58f77bd334731182801ced3380a8cc859091596" - integrity sha512-D211tC7ZwouTIuY5x9XnS0E9sWNChB7IYKX/Xp5eQj3nFXhqmiUDB9q27y76oFl8jTg3pXcQx/bpxMfs3CIZbA== +espree@^9.4.0: + version "9.4.1" + resolved "https://registry.yarnpkg.com/espree/-/espree-9.4.1.tgz#51d6092615567a2c2cff7833445e37c28c0065bd" + integrity sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg== dependencies: - acorn "^8.7.1" + acorn "^8.8.0" acorn-jsx "^5.3.2" eslint-visitor-keys "^3.3.0" @@ -7393,16 +7447,16 @@ exit@^0.1.2: resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" integrity sha1-BjJjj42HfMghB9MKD/8aF8uhzQw= -expect@^29.0.0, expect@^29.1.2: - version "29.1.2" - resolved "https://registry.yarnpkg.com/expect/-/expect-29.1.2.tgz#82f8f28d7d408c7c68da3a386a490ee683e1eced" - integrity sha512-AuAGn1uxva5YBbBlXb+2JPxJRuemZsmlGcapPXWNSBNsQtAULfjioREGBWuI0EOvYUKjDnrCy8PW5Zlr1md5mw== +expect@^29.0.0, expect@^29.4.3: + version "29.4.3" + resolved "https://registry.yarnpkg.com/expect/-/expect-29.4.3.tgz#5e47757316df744fe3b8926c3ae8a3ebdafff7fe" + integrity sha512-uC05+Q7eXECFpgDrHdXA4k2rpMyStAYPItEDLyQDo5Ta7fVkJnNA/4zh/OIVkVVNZ1oOK1PipQoyNjuZ6sz6Dg== dependencies: - "@jest/expect-utils" "^29.1.2" - jest-get-type "^29.0.0" - jest-matcher-utils "^29.1.2" - jest-message-util "^29.1.2" - jest-util "^29.1.2" + "@jest/expect-utils" "^29.4.3" + jest-get-type "^29.4.3" + jest-matcher-utils "^29.4.3" + jest-message-util "^29.4.3" + jest-util "^29.4.3" express@^4.17.3: version "4.18.1" @@ -7634,7 +7688,7 @@ find-cache-dir@^3.3.1: make-dir "^3.0.2" pkg-dir "^4.1.0" -find-up@^2.0.0, find-up@^2.1.0: +find-up@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" integrity sha1-RdG35QbHF93UgndaK3eSCjwMV6c= @@ -7702,6 +7756,13 @@ follow-redirects@^1.0.0, follow-redirects@^1.14.0, follow-redirects@^1.14.7, fol resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.2.tgz#b460864144ba63f2681096f274c4e57026da2c13" integrity sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA== +for-each@^0.3.3: + version "0.3.3" + resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e" + integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw== + dependencies: + is-callable "^1.1.3" + fork-ts-checker-webpack-plugin@^6.5.0: version "6.5.0" resolved "https://registry.yarnpkg.com/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.5.0.tgz#0282b335fa495a97e167f69018f566ea7d2a2b5e" @@ -7824,11 +7885,6 @@ function.prototype.name@^1.1.5: es-abstract "^1.19.0" functions-have-names "^1.2.2" -functional-red-black-tree@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" - integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= - functions-have-names@^1.2.2: version "1.2.3" resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834" @@ -7863,10 +7919,10 @@ get-caller-file@^2.0.5: resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== -get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.2.tgz#336975123e05ad0b7ba41f152ee4aadbea6cf598" - integrity sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA== +get-intrinsic@^1.0.2, get-intrinsic@^1.1.1, get-intrinsic@^1.1.3, get-intrinsic@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.0.tgz#7ad1dc0535f3a2904bba075772763e5051f6d05f" + integrity sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q== dependencies: function-bind "^1.1.1" has "^1.0.3" @@ -8000,7 +8056,7 @@ glob-parent@^5.1.1, glob-parent@^5.1.2, glob-parent@~5.1.2: dependencies: is-glob "^4.0.1" -glob-parent@^6.0.1: +glob-parent@^6.0.1, glob-parent@^6.0.2: version "6.0.2" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== @@ -8089,13 +8145,20 @@ globals@^11.1.0: resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== -globals@^13.6.0, globals@^13.9.0: - version "13.11.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-13.11.0.tgz#40ef678da117fe7bd2e28f1fab24951bd0255be7" - integrity sha512-08/xrJ7wQjK9kkkRoI3OFUBbLx4f+6x3SGwcPvQ0QH6goFDrOU2oyAWrmh3dJezu65buo+HBMzAMQy6rovVC3g== +globals@^13.19.0: + version "13.20.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-13.20.0.tgz#ea276a1e508ffd4f1612888f9d1bad1e2717bf82" + integrity sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ== dependencies: type-fest "^0.20.2" +globalthis@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.3.tgz#5852882a52b80dc301b0660273e1ed082f0b6ccf" + integrity sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA== + dependencies: + define-properties "^1.1.3" + globby@^11.0.1, globby@^11.0.2, globby@^11.0.4, globby@^11.1.0: version "11.1.0" resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" @@ -8119,6 +8182,13 @@ globby@^13.1.1: merge2 "^1.4.1" slash "^4.0.0" +gopd@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.0.1.tgz#29ff76de69dac7489b7c0918a5788e56477c332c" + integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA== + dependencies: + get-intrinsic "^1.1.3" + got@^9.6.0: version "9.6.0" resolved "https://registry.yarnpkg.com/got/-/got-9.6.0.tgz#edf45e7d67f99545705de1f7bbeeeb121765ed85" @@ -8217,7 +8287,12 @@ has-property-descriptors@^1.0.0: dependencies: get-intrinsic "^1.1.1" -has-symbols@^1.0.1, has-symbols@^1.0.2, has-symbols@^1.0.3: +has-proto@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.1.tgz#1885c1305538958aff469fef37937c22795408e0" + integrity sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg== + +has-symbols@^1.0.2, has-symbols@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== @@ -8711,12 +8786,12 @@ inquirer@^8.2.4: through "^2.3.6" wrap-ansi "^7.0.0" -internal-slot@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.3.tgz#7347e307deeea2faac2ac6205d4bc7d34967f59c" - integrity sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA== +internal-slot@^1.0.3, internal-slot@^1.0.4: + version "1.0.5" + resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.5.tgz#f2a2ee21f668f8627a4667f309dc0f4fb6674986" + integrity sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ== dependencies: - get-intrinsic "^1.1.0" + get-intrinsic "^1.2.0" has "^1.0.3" side-channel "^1.0.4" @@ -8760,6 +8835,23 @@ is-alphanumerical@^1.0.0: is-alphabetical "^1.0.0" is-decimal "^1.0.0" +is-arguments@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.1.1.tgz#15b3f88fda01f2a97fec84ca761a560f123efa9b" + integrity sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + +is-array-buffer@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/is-array-buffer/-/is-array-buffer-3.0.1.tgz#deb1db4fcae48308d54ef2442706c0393997052a" + integrity sha512-ASfLknmY8Xa2XtB4wmbz13Wu202baeA18cJBCeCy0wXUHZF0IPyVEXqKEcd+t2fNSLLL1vC6k7lxZEojNbISXQ== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.1.3" + is-typed-array "^1.1.10" + is-arrayish@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" @@ -8799,10 +8891,10 @@ is-builtin-module@^3.2.0: dependencies: builtin-modules "^3.3.0" -is-callable@^1.1.4, is-callable@^1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.4.tgz#47301d58dd0259407865547853df6d61fe471945" - integrity sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w== +is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.7: + version "1.2.7" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" + integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== is-ci@^2.0.0: version "2.0.0" @@ -8811,14 +8903,14 @@ is-ci@^2.0.0: dependencies: ci-info "^2.0.0" -is-core-module@^2.1.0, is-core-module@^2.2.0, is-core-module@^2.5.0, is-core-module@^2.8.1, is-core-module@^2.9.0: - version "2.10.0" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.10.0.tgz#9012ede0a91c69587e647514e1d5277019e728ed" - integrity sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg== +is-core-module@^2.1.0, is-core-module@^2.11.0, is-core-module@^2.5.0, is-core-module@^2.8.1, is-core-module@^2.9.0: + version "2.11.0" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.11.0.tgz#ad4cb3e3863e814523c96f3f58d26cc570ff0144" + integrity sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw== dependencies: has "^1.0.3" -is-date-object@^1.0.1: +is-date-object@^1.0.1, is-date-object@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f" integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== @@ -8890,6 +8982,11 @@ is-lambda@^1.0.1: resolved "https://registry.yarnpkg.com/is-lambda/-/is-lambda-1.0.1.tgz#3d9877899e6a53efc0160504cde15f82e6f061d5" integrity sha1-PZh3iZ5qU+/AFgUEzeFfgubwYdU= +is-map@^2.0.1, is-map@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/is-map/-/is-map-2.0.2.tgz#00922db8c9bf73e81b7a335827bc2a43f2b91127" + integrity sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg== + is-module@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-module/-/is-module-1.0.0.tgz#3258fb69f78c14d5b815d664336b4cffb6441591" @@ -8932,7 +9029,7 @@ is-path-cwd@^2.2.0: resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-2.2.0.tgz#67d43b82664a7b5191fd9119127eb300048a9fdb" integrity sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ== -is-path-inside@^3.0.2: +is-path-inside@^3.0.2, is-path-inside@^3.0.3: version "3.0.3" resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== @@ -8994,6 +9091,11 @@ is-root@^2.1.0: resolved "https://registry.yarnpkg.com/is-root/-/is-root-2.1.0.tgz#809e18129cf1129644302a4f8544035d51984a9c" integrity sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg== +is-set@^2.0.1, is-set@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/is-set/-/is-set-2.0.2.tgz#90755fa4c2562dc1c5d4024760d6119b94ca18ec" + integrity sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g== + is-shared-array-buffer@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz#8f259c573b60b6a32d4058a1a07430c0a7344c79" @@ -9039,6 +9141,17 @@ is-text-path@^1.0.1: dependencies: text-extensions "^1.0.0" +is-typed-array@^1.1.10, is-typed-array@^1.1.9: + version "1.1.10" + resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.10.tgz#36a5b5cb4189b575d1a3e4b08536bfb485801e3f" + integrity sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A== + dependencies: + available-typed-arrays "^1.0.5" + call-bind "^1.0.2" + for-each "^0.3.3" + gopd "^1.0.1" + has-tostringtag "^1.0.0" + is-typedarray@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" @@ -9049,6 +9162,11 @@ is-unicode-supported@^0.1.0: resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7" integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw== +is-weakmap@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-weakmap/-/is-weakmap-2.0.1.tgz#5008b59bdc43b698201d18f62b37b2ca243e8cf2" + integrity sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA== + is-weakref@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2" @@ -9056,6 +9174,14 @@ is-weakref@^1.0.2: dependencies: call-bind "^1.0.2" +is-weakset@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/is-weakset/-/is-weakset-2.0.2.tgz#4569d67a747a1ce5a994dfd4ef6dcea76e7c0a1d" + integrity sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.1.1" + is-whitespace-character@^1.0.0: version "1.0.4" resolved "https://registry.yarnpkg.com/is-whitespace-character/-/is-whitespace-character-1.0.4.tgz#0858edd94a95594c7c9dd0b5c174ec6e45ee4aa7" @@ -9083,6 +9209,11 @@ isarray@0.0.1: resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" integrity sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8= +isarray@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723" + integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== + isarray@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" @@ -9158,28 +9289,28 @@ jest-changed-files@^29.0.0: execa "^5.0.0" p-limit "^3.1.0" -jest-circus@^29.1.2: - version "29.1.2" - resolved "https://registry.yarnpkg.com/jest-circus/-/jest-circus-29.1.2.tgz#4551068e432f169a53167fe1aef420cf51c8a735" - integrity sha512-ajQOdxY6mT9GtnfJRZBRYS7toNIJayiiyjDyoZcnvPRUPwJ58JX0ci0PKAKUo2C1RyzlHw0jabjLGKksO42JGA== +jest-circus@^29.4.3: + version "29.4.3" + resolved "https://registry.yarnpkg.com/jest-circus/-/jest-circus-29.4.3.tgz#fff7be1cf5f06224dd36a857d52a9efeb005ba04" + integrity sha512-Vw/bVvcexmdJ7MLmgdT3ZjkJ3LKu8IlpefYokxiqoZy6OCQ2VAm6Vk3t/qHiAGUXbdbJKJWnc8gH3ypTbB/OBw== dependencies: - "@jest/environment" "^29.1.2" - "@jest/expect" "^29.1.2" - "@jest/test-result" "^29.1.2" - "@jest/types" "^29.1.2" + "@jest/environment" "^29.4.3" + "@jest/expect" "^29.4.3" + "@jest/test-result" "^29.4.3" + "@jest/types" "^29.4.3" "@types/node" "*" chalk "^4.0.0" co "^4.6.0" dedent "^0.7.0" is-generator-fn "^2.0.0" - jest-each "^29.1.2" - jest-matcher-utils "^29.1.2" - jest-message-util "^29.1.2" - jest-runtime "^29.1.2" - jest-snapshot "^29.1.2" - jest-util "^29.1.2" + jest-each "^29.4.3" + jest-matcher-utils "^29.4.3" + jest-message-util "^29.4.3" + jest-runtime "^29.4.3" + jest-snapshot "^29.4.3" + jest-util "^29.4.3" p-limit "^3.1.0" - pretty-format "^29.1.2" + pretty-format "^29.4.3" slash "^3.0.0" stack-utils "^2.0.3" @@ -9202,148 +9333,148 @@ jest-cli@^29.1.2: yargs "^17.3.1" jest-config@28.1.1, jest-config@^29, jest-config@^29.1.2: - version "29.1.2" - resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-29.1.2.tgz#7d004345ca4c09f5d8f802355f54494e90842f4d" - integrity sha512-EC3Zi86HJUOz+2YWQcJYQXlf0zuBhJoeyxLM6vb6qJsVmpP7KcCP1JnyF0iaqTaXdBP8Rlwsvs7hnKWQWWLwwA== + version "29.4.3" + resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-29.4.3.tgz#fca9cdfe6298ae6d04beef1624064d455347c978" + integrity sha512-eCIpqhGnIjdUCXGtLhz4gdDoxKSWXKjzNcc5r+0S1GKOp2fwOipx5mRcwa9GB/ArsxJ1jlj2lmlD9bZAsBxaWQ== dependencies: "@babel/core" "^7.11.6" - "@jest/test-sequencer" "^29.1.2" - "@jest/types" "^29.1.2" - babel-jest "^29.1.2" + "@jest/test-sequencer" "^29.4.3" + "@jest/types" "^29.4.3" + babel-jest "^29.4.3" chalk "^4.0.0" ci-info "^3.2.0" deepmerge "^4.2.2" glob "^7.1.3" graceful-fs "^4.2.9" - jest-circus "^29.1.2" - jest-environment-node "^29.1.2" - jest-get-type "^29.0.0" - jest-regex-util "^29.0.0" - jest-resolve "^29.1.2" - jest-runner "^29.1.2" - jest-util "^29.1.2" - jest-validate "^29.1.2" + jest-circus "^29.4.3" + jest-environment-node "^29.4.3" + jest-get-type "^29.4.3" + jest-regex-util "^29.4.3" + jest-resolve "^29.4.3" + jest-runner "^29.4.3" + jest-util "^29.4.3" + jest-validate "^29.4.3" micromatch "^4.0.4" parse-json "^5.2.0" - pretty-format "^29.1.2" + pretty-format "^29.4.3" slash "^3.0.0" strip-json-comments "^3.1.1" -jest-diff@*, jest-diff@^29, jest-diff@^29.0.3, jest-diff@^29.1.2: - version "29.1.2" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-29.1.2.tgz#bb7aaf5353227d6f4f96c5e7e8713ce576a607dc" - integrity sha512-4GQts0aUopVvecIT4IwD/7xsBaMhKTYoM4/njE/aVw9wpw+pIUVp8Vab/KnSzSilr84GnLBkaP3JLDnQYCKqVQ== +jest-diff@*, jest-diff@^29.0.3, jest-diff@^29.4.3: + version "29.4.3" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-29.4.3.tgz#42f4eb34d0bf8c0fb08b0501069b87e8e84df347" + integrity sha512-YB+ocenx7FZ3T5O9lMVMeLYV4265socJKtkwgk/6YUz/VsEzYDkiMuMhWzZmxm3wDRQvayJu/PjkjjSkjoHsCA== dependencies: chalk "^4.0.0" - diff-sequences "^29.0.0" - jest-get-type "^29.0.0" - pretty-format "^29.1.2" + diff-sequences "^29.4.3" + jest-get-type "^29.4.3" + pretty-format "^29.4.3" -jest-docblock@^29.0.0: - version "29.0.0" - resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-29.0.0.tgz#3151bcc45ed7f5a8af4884dcc049aee699b4ceae" - integrity sha512-s5Kpra/kLzbqu9dEjov30kj1n4tfu3e7Pl8v+f8jOkeWNqM6Ds8jRaJfZow3ducoQUrf2Z4rs2N5S3zXnb83gw== +jest-docblock@^29.4.3: + version "29.4.3" + resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-29.4.3.tgz#90505aa89514a1c7dceeac1123df79e414636ea8" + integrity sha512-fzdTftThczeSD9nZ3fzA/4KkHtnmllawWrXO69vtI+L9WjEIuXWs4AmyME7lN5hU7dB0sHhuPfcKofRsUb/2Fg== dependencies: detect-newline "^3.0.0" -jest-each@^29.1.2: - version "29.1.2" - resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-29.1.2.tgz#d4c8532c07a846e79f194f7007ce7cb1987d1cd0" - integrity sha512-AmTQp9b2etNeEwMyr4jc0Ql/LIX/dhbgP21gHAizya2X6rUspHn2gysMXaj6iwWuOJ2sYRgP8c1P4cXswgvS1A== +jest-each@^29.4.3: + version "29.4.3" + resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-29.4.3.tgz#a434c199a2f6151c5e3dc80b2d54586bdaa72819" + integrity sha512-1ElHNAnKcbJb/b+L+7j0/w7bDvljw4gTv1wL9fYOczeJrbTbkMGQ5iQPFJ3eFQH19VPTx1IyfePdqSpePKss7Q== dependencies: - "@jest/types" "^29.1.2" + "@jest/types" "^29.4.3" chalk "^4.0.0" - jest-get-type "^29.0.0" - jest-util "^29.1.2" - pretty-format "^29.1.2" - -jest-environment-node@^29.1.2: - version "29.1.2" - resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-29.1.2.tgz#005e05cc6ea4b9b5ba55906ab1ce53c82f6907a7" - integrity sha512-C59yVbdpY8682u6k/lh8SUMDJPbOyCHOTgLVVi1USWFxtNV+J8fyIwzkg+RJIVI30EKhKiAGNxYaFr3z6eyNhQ== - dependencies: - "@jest/environment" "^29.1.2" - "@jest/fake-timers" "^29.1.2" - "@jest/types" "^29.1.2" + jest-get-type "^29.4.3" + jest-util "^29.4.3" + pretty-format "^29.4.3" + +jest-environment-node@^29.4.3: + version "29.4.3" + resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-29.4.3.tgz#579c4132af478befc1889ddc43c2413a9cdbe014" + integrity sha512-gAiEnSKF104fsGDXNkwk49jD/0N0Bqu2K9+aMQXA6avzsA9H3Fiv1PW2D+gzbOSR705bWd2wJZRFEFpV0tXISg== + dependencies: + "@jest/environment" "^29.4.3" + "@jest/fake-timers" "^29.4.3" + "@jest/types" "^29.4.3" "@types/node" "*" - jest-mock "^29.1.2" - jest-util "^29.1.2" + jest-mock "^29.4.3" + jest-util "^29.4.3" -jest-get-type@^29, jest-get-type@^29.0.0: - version "29.0.0" - resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-29.0.0.tgz#843f6c50a1b778f7325df1129a0fd7aa713aef80" - integrity sha512-83X19z/HuLKYXYHskZlBAShO7UfLFXu/vWajw9ZNJASN32li8yHMaVGAQqxFW1RCFOkB7cubaL6FaJVQqqJLSw== +jest-get-type@^29.4.3: + version "29.4.3" + resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-29.4.3.tgz#1ab7a5207c995161100b5187159ca82dd48b3dd5" + integrity sha512-J5Xez4nRRMjk8emnTpWrlkyb9pfRQQanDrvWHhsR1+VUfbwxi30eVcZFlcdGInRibU4G5LwHXpI7IRHU0CY+gg== -jest-haste-map@^29.1.2: - version "29.1.2" - resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-29.1.2.tgz#93f3634aa921b6b654e7c94137b24e02e7ca6ac9" - integrity sha512-xSjbY8/BF11Jh3hGSPfYTa/qBFrm3TPM7WU8pU93m2gqzORVLkHFWvuZmFsTEBPRKndfewXhMOuzJNHyJIZGsw== +jest-haste-map@^29.1.2, jest-haste-map@^29.4.3: + version "29.4.3" + resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-29.4.3.tgz#085a44283269e7ace0645c63a57af0d2af6942e2" + integrity sha512-eZIgAS8tvm5IZMtKlR8Y+feEOMfo2pSQkmNbufdbMzMSn9nitgGxF1waM/+LbryO3OkMcKS98SUb+j/cQxp/vQ== dependencies: - "@jest/types" "^29.1.2" + "@jest/types" "^29.4.3" "@types/graceful-fs" "^4.1.3" "@types/node" "*" anymatch "^3.0.3" fb-watchman "^2.0.0" graceful-fs "^4.2.9" - jest-regex-util "^29.0.0" - jest-util "^29.1.2" - jest-worker "^29.1.2" + jest-regex-util "^29.4.3" + jest-util "^29.4.3" + jest-worker "^29.4.3" micromatch "^4.0.4" walker "^1.0.8" optionalDependencies: fsevents "^2.3.2" -jest-leak-detector@^29.1.2: - version "29.1.2" - resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-29.1.2.tgz#4c846db14c58219430ccbc4f01a1ec52ebee4fc2" - integrity sha512-TG5gAZJpgmZtjb6oWxBLf2N6CfQ73iwCe6cofu/Uqv9iiAm6g502CAnGtxQaTfpHECBdVEMRBhomSXeLnoKjiQ== +jest-leak-detector@^29.4.3: + version "29.4.3" + resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-29.4.3.tgz#2b35191d6b35aa0256e63a9b79b0f949249cf23a" + integrity sha512-9yw4VC1v2NspMMeV3daQ1yXPNxMgCzwq9BocCwYrRgXe4uaEJPAN0ZK37nFBhcy3cUwEVstFecFLaTHpF7NiGA== dependencies: - jest-get-type "^29.0.0" - pretty-format "^29.1.2" + jest-get-type "^29.4.3" + pretty-format "^29.4.3" -jest-matcher-utils@^29, jest-matcher-utils@^29.1.2: - version "29.1.2" - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-29.1.2.tgz#e68c4bcc0266e70aa1a5c13fb7b8cd4695e318a1" - integrity sha512-MV5XrD3qYSW2zZSHRRceFzqJ39B2z11Qv0KPyZYxnzDHFeYZGJlgGi0SW+IXSJfOewgJp/Km/7lpcFT+cgZypw== +jest-matcher-utils@^29.4.3: + version "29.4.3" + resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-29.4.3.tgz#ea68ebc0568aebea4c4213b99f169ff786df96a0" + integrity sha512-TTciiXEONycZ03h6R6pYiZlSkvYgT0l8aa49z/DLSGYjex4orMUcafuLXYyyEDWB1RKglq00jzwY00Ei7yFNVg== dependencies: chalk "^4.0.0" - jest-diff "^29.1.2" - jest-get-type "^29.0.0" - pretty-format "^29.1.2" + jest-diff "^29.4.3" + jest-get-type "^29.4.3" + pretty-format "^29.4.3" -jest-message-util@^29.1.2: - version "29.1.2" - resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-29.1.2.tgz#c21a33c25f9dc1ebfcd0f921d89438847a09a501" - integrity sha512-9oJ2Os+Qh6IlxLpmvshVbGUiSkZVc2FK+uGOm6tghafnB2RyjKAxMZhtxThRMxfX1J1SOMhTn9oK3/MutRWQJQ== +jest-message-util@^29.1.2, jest-message-util@^29.4.3: + version "29.4.3" + resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-29.4.3.tgz#65b5280c0fdc9419503b49d4f48d4999d481cb5b" + integrity sha512-1Y8Zd4ZCN7o/QnWdMmT76If8LuDv23Z1DRovBj/vcSFNlGCJGoO8D1nJDw1AdyAGUk0myDLFGN5RbNeJyCRGCw== dependencies: "@babel/code-frame" "^7.12.13" - "@jest/types" "^29.1.2" + "@jest/types" "^29.4.3" "@types/stack-utils" "^2.0.0" chalk "^4.0.0" graceful-fs "^4.2.9" micromatch "^4.0.4" - pretty-format "^29.1.2" + pretty-format "^29.4.3" slash "^3.0.0" stack-utils "^2.0.3" -jest-mock@^29.1.2: - version "29.1.2" - resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-29.1.2.tgz#de47807edbb9d4abf8423f1d8d308d670105678c" - integrity sha512-PFDAdjjWbjPUtQPkQufvniXIS3N9Tv7tbibePEjIIprzjgo0qQlyUiVMrT4vL8FaSJo1QXifQUOuPH3HQC/aMA== +jest-mock@^29.4.3: + version "29.4.3" + resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-29.4.3.tgz#23d84a20a74cdfff0510fdbeefb841ed57b0fe7e" + integrity sha512-LjFgMg+xed9BdkPMyIJh+r3KeHt1klXPJYBULXVVAkbTaaKjPX1o1uVCAZADMEp/kOxGTwy/Ot8XbvgItOrHEg== dependencies: - "@jest/types" "^29.1.2" + "@jest/types" "^29.4.3" "@types/node" "*" - jest-util "^29.1.2" + jest-util "^29.4.3" jest-pnp-resolver@^1.2.2: version "1.2.2" resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz#b704ac0ae028a89108a4d040b3f919dfddc8e33c" integrity sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w== -jest-regex-util@^29.0.0: - version "29.0.0" - resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-29.0.0.tgz#b442987f688289df8eb6c16fa8df488b4cd007de" - integrity sha512-BV7VW7Sy0fInHWN93MMPtlClweYv2qrSCwfeFWmpribGZtQPWNvRSq9XOVgOEjU1iBGRKXUZil0o2AH7Iy9Lug== +jest-regex-util@^29.0.0, jest-regex-util@^29.4.3: + version "29.4.3" + resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-29.4.3.tgz#a42616141e0cae052cfa32c169945d00c0aa0bb8" + integrity sha512-O4FglZaMmWXbGHSQInfXewIsd1LMn9p3ZXB/6r4FOkyhX2/iP/soMG98jGvk/A3HAN78+5VWcBGO0BJAPRh4kg== jest-resolve-dependencies@^29.1.2: version "29.1.2" @@ -9353,80 +9484,80 @@ jest-resolve-dependencies@^29.1.2: jest-regex-util "^29.0.0" jest-snapshot "^29.1.2" -jest-resolve@28.1.1, jest-resolve@^29, jest-resolve@^29.1.2: - version "29.1.2" - resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-29.1.2.tgz#9dd8c2fc83e59ee7d676b14bd45a5f89e877741d" - integrity sha512-7fcOr+k7UYSVRJYhSmJHIid3AnDBcLQX3VmT9OSbPWsWz1MfT7bcoerMhADKGvKCoMpOHUQaDHtQoNp/P9JMGg== +jest-resolve@28.1.1, jest-resolve@^29, jest-resolve@^29.1.2, jest-resolve@^29.4.3: + version "29.4.3" + resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-29.4.3.tgz#3c5b5c984fa8a763edf9b3639700e1c7900538e2" + integrity sha512-GPokE1tzguRyT7dkxBim4wSx6E45S3bOQ7ZdKEG+Qj0Oac9+6AwJPCk0TZh5Vu0xzeX4afpb+eDmgbmZFFwpOw== dependencies: chalk "^4.0.0" graceful-fs "^4.2.9" - jest-haste-map "^29.1.2" + jest-haste-map "^29.4.3" jest-pnp-resolver "^1.2.2" - jest-util "^29.1.2" - jest-validate "^29.1.2" + jest-util "^29.4.3" + jest-validate "^29.4.3" resolve "^1.20.0" - resolve.exports "^1.1.0" + resolve.exports "^2.0.0" slash "^3.0.0" -jest-runner@^29.1.2: - version "29.1.2" - resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-29.1.2.tgz#f18b2b86101341e047de8c2f51a5fdc4e97d053a" - integrity sha512-yy3LEWw8KuBCmg7sCGDIqKwJlULBuNIQa2eFSVgVASWdXbMYZ9H/X0tnXt70XFoGf92W2sOQDOIFAA6f2BG04Q== +jest-runner@^29.1.2, jest-runner@^29.4.3: + version "29.4.3" + resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-29.4.3.tgz#68dc82c68645eda12bea42b5beece6527d7c1e5e" + integrity sha512-GWPTEiGmtHZv1KKeWlTX9SIFuK19uLXlRQU43ceOQ2hIfA5yPEJC7AMkvFKpdCHx6pNEdOD+2+8zbniEi3v3gA== dependencies: - "@jest/console" "^29.1.2" - "@jest/environment" "^29.1.2" - "@jest/test-result" "^29.1.2" - "@jest/transform" "^29.1.2" - "@jest/types" "^29.1.2" + "@jest/console" "^29.4.3" + "@jest/environment" "^29.4.3" + "@jest/test-result" "^29.4.3" + "@jest/transform" "^29.4.3" + "@jest/types" "^29.4.3" "@types/node" "*" chalk "^4.0.0" - emittery "^0.10.2" + emittery "^0.13.1" graceful-fs "^4.2.9" - jest-docblock "^29.0.0" - jest-environment-node "^29.1.2" - jest-haste-map "^29.1.2" - jest-leak-detector "^29.1.2" - jest-message-util "^29.1.2" - jest-resolve "^29.1.2" - jest-runtime "^29.1.2" - jest-util "^29.1.2" - jest-watcher "^29.1.2" - jest-worker "^29.1.2" + jest-docblock "^29.4.3" + jest-environment-node "^29.4.3" + jest-haste-map "^29.4.3" + jest-leak-detector "^29.4.3" + jest-message-util "^29.4.3" + jest-resolve "^29.4.3" + jest-runtime "^29.4.3" + jest-util "^29.4.3" + jest-watcher "^29.4.3" + jest-worker "^29.4.3" p-limit "^3.1.0" source-map-support "0.5.13" -jest-runtime@^29.1.2: - version "29.1.2" - resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-29.1.2.tgz#dbcd57103d61115479108d5864bdcd661d9c6783" - integrity sha512-jr8VJLIf+cYc+8hbrpt412n5jX3tiXmpPSYTGnwcvNemY+EOuLNiYnHJ3Kp25rkaAcTWOEI4ZdOIQcwYcXIAZw== - dependencies: - "@jest/environment" "^29.1.2" - "@jest/fake-timers" "^29.1.2" - "@jest/globals" "^29.1.2" - "@jest/source-map" "^29.0.0" - "@jest/test-result" "^29.1.2" - "@jest/transform" "^29.1.2" - "@jest/types" "^29.1.2" +jest-runtime@^29.1.2, jest-runtime@^29.4.3: + version "29.4.3" + resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-29.4.3.tgz#f25db9874dcf35a3ab27fdaabca426666cc745bf" + integrity sha512-F5bHvxSH+LvLV24vVB3L8K467dt3y3dio6V3W89dUz9nzvTpqd/HcT9zfYKL2aZPvD63vQFgLvaUX/UpUhrP6Q== + dependencies: + "@jest/environment" "^29.4.3" + "@jest/fake-timers" "^29.4.3" + "@jest/globals" "^29.4.3" + "@jest/source-map" "^29.4.3" + "@jest/test-result" "^29.4.3" + "@jest/transform" "^29.4.3" + "@jest/types" "^29.4.3" "@types/node" "*" chalk "^4.0.0" cjs-module-lexer "^1.0.0" collect-v8-coverage "^1.0.0" glob "^7.1.3" graceful-fs "^4.2.9" - jest-haste-map "^29.1.2" - jest-message-util "^29.1.2" - jest-mock "^29.1.2" - jest-regex-util "^29.0.0" - jest-resolve "^29.1.2" - jest-snapshot "^29.1.2" - jest-util "^29.1.2" + jest-haste-map "^29.4.3" + jest-message-util "^29.4.3" + jest-mock "^29.4.3" + jest-regex-util "^29.4.3" + jest-resolve "^29.4.3" + jest-snapshot "^29.4.3" + jest-util "^29.4.3" slash "^3.0.0" strip-bom "^4.0.0" -jest-snapshot@*, jest-snapshot@^29, jest-snapshot@^29.0.0, jest-snapshot@^29.0.3, jest-snapshot@^29.1.2: - version "29.1.2" - resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-29.1.2.tgz#7dd277e88c45f2d2ff5888de1612e63c7ceb575b" - integrity sha512-rYFomGpVMdBlfwTYxkUp3sjD6usptvZcONFYNqVlaz4EpHPnDvlWjvmOQ9OCSNKqYZqLM2aS3wq01tWujLg7gg== +jest-snapshot@*, jest-snapshot@^29.0.0, jest-snapshot@^29.0.3, jest-snapshot@^29.1.2, jest-snapshot@^29.4.3: + version "29.4.3" + resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-29.4.3.tgz#183d309371450d9c4a3de7567ed2151eb0e91145" + integrity sha512-NGlsqL0jLPDW91dz304QTM/SNO99lpcSYYAjNiX0Ou+sSGgkanKBcSjCfp/pqmiiO1nQaOyLp6XQddAzRcx3Xw== dependencies: "@babel/core" "^7.11.6" "@babel/generator" "^7.7.2" @@ -9434,23 +9565,23 @@ jest-snapshot@*, jest-snapshot@^29, jest-snapshot@^29.0.0, jest-snapshot@^29.0.3 "@babel/plugin-syntax-typescript" "^7.7.2" "@babel/traverse" "^7.7.2" "@babel/types" "^7.3.3" - "@jest/expect-utils" "^29.1.2" - "@jest/transform" "^29.1.2" - "@jest/types" "^29.1.2" + "@jest/expect-utils" "^29.4.3" + "@jest/transform" "^29.4.3" + "@jest/types" "^29.4.3" "@types/babel__traverse" "^7.0.6" "@types/prettier" "^2.1.5" babel-preset-current-node-syntax "^1.0.0" chalk "^4.0.0" - expect "^29.1.2" + expect "^29.4.3" graceful-fs "^4.2.9" - jest-diff "^29.1.2" - jest-get-type "^29.0.0" - jest-haste-map "^29.1.2" - jest-matcher-utils "^29.1.2" - jest-message-util "^29.1.2" - jest-util "^29.1.2" + jest-diff "^29.4.3" + jest-get-type "^29.4.3" + jest-haste-map "^29.4.3" + jest-matcher-utils "^29.4.3" + jest-message-util "^29.4.3" + jest-util "^29.4.3" natural-compare "^1.4.0" - pretty-format "^29.1.2" + pretty-format "^29.4.3" semver "^7.3.5" jest-specific-snapshot@*, jest-specific-snapshot@^7.0.0: @@ -9460,42 +9591,42 @@ jest-specific-snapshot@*, jest-specific-snapshot@^7.0.0: dependencies: jest-snapshot "^29.0.0" -jest-util@28.1.1, jest-util@^29, jest-util@^29.1.2: - version "29.1.2" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-29.1.2.tgz#ac5798e93cb6a6703084e194cfa0898d66126df1" - integrity sha512-vPCk9F353i0Ymx3WQq3+a4lZ07NXu9Ca8wya6o4Fe4/aO1e1awMMprZ3woPFpKwghEOW+UXgd15vVotuNN9ONQ== +jest-util@28.1.1, jest-util@^29, jest-util@^29.1.2, jest-util@^29.4.3: + version "29.4.3" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-29.4.3.tgz#851a148e23fc2b633c55f6dad2e45d7f4579f496" + integrity sha512-ToSGORAz4SSSoqxDSylWX8JzkOQR7zoBtNRsA7e+1WUX5F8jrOwaNpuh1YfJHJKDHXLHmObv5eOjejUd+/Ws+Q== dependencies: - "@jest/types" "^29.1.2" + "@jest/types" "^29.4.3" "@types/node" "*" chalk "^4.0.0" ci-info "^3.2.0" graceful-fs "^4.2.9" picomatch "^2.2.3" -jest-validate@^29.1.2: - version "29.1.2" - resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-29.1.2.tgz#83a728b8f6354da2e52346878c8bc7383516ca51" - integrity sha512-k71pOslNlV8fVyI+mEySy2pq9KdXdgZtm7NHrBX8LghJayc3wWZH0Yr0mtYNGaCU4F1OLPXRkwZR0dBm/ClshA== +jest-validate@^29.1.2, jest-validate@^29.4.3: + version "29.4.3" + resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-29.4.3.tgz#a13849dec4f9e95446a7080ad5758f58fa88642f" + integrity sha512-J3u5v7aPQoXPzaar6GndAVhdQcZr/3osWSgTeKg5v574I9ybX/dTyH0AJFb5XgXIB7faVhf+rS7t4p3lL9qFaw== dependencies: - "@jest/types" "^29.1.2" + "@jest/types" "^29.4.3" camelcase "^6.2.0" chalk "^4.0.0" - jest-get-type "^29.0.0" + jest-get-type "^29.4.3" leven "^3.1.0" - pretty-format "^29.1.2" + pretty-format "^29.4.3" -jest-watcher@^29.1.2: - version "29.1.2" - resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-29.1.2.tgz#de21439b7d889e2fcf62cc2a4779ef1a3f1f3c62" - integrity sha512-6JUIUKVdAvcxC6bM8/dMgqY2N4lbT+jZVsxh0hCJRbwkIEnbr/aPjMQ28fNDI5lB51Klh00MWZZeVf27KBUj5w== +jest-watcher@^29.1.2, jest-watcher@^29.4.3: + version "29.4.3" + resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-29.4.3.tgz#e503baa774f0c2f8f3c8db98a22ebf885f19c384" + integrity sha512-zwlXH3DN3iksoIZNk73etl1HzKyi5FuQdYLnkQKm5BW4n8HpoG59xSwpVdFrnh60iRRaRBGw0gcymIxjJENPcA== dependencies: - "@jest/test-result" "^29.1.2" - "@jest/types" "^29.1.2" + "@jest/test-result" "^29.4.3" + "@jest/types" "^29.4.3" "@types/node" "*" ansi-escapes "^4.2.1" chalk "^4.0.0" - emittery "^0.10.2" - jest-util "^29.1.2" + emittery "^0.13.1" + jest-util "^29.4.3" string-length "^4.0.1" jest-worker@^26.2.1: @@ -9516,13 +9647,13 @@ jest-worker@^27.4.5, jest-worker@^27.5.1: merge-stream "^2.0.0" supports-color "^8.0.0" -jest-worker@^29.1.2: - version "29.1.2" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-29.1.2.tgz#a68302af61bce82b42a9a57285ca7499d29b2afc" - integrity sha512-AdTZJxKjTSPHbXT/AIOjQVmoFx0LHFcVabWu0sxI7PAy7rFf8c0upyvgBKgguVXdM4vY74JdwkyD4hSmpTW8jA== +jest-worker@^29.4.3: + version "29.4.3" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-29.4.3.tgz#9a4023e1ea1d306034237c7133d7da4240e8934e" + integrity sha512-GLHN/GTAAMEy5BFdvpUfzr9Dr80zQqBrh0fz1mtRMe05hqP45+HfQltu7oTBfduD0UeZs09d+maFtFYAXFWvAA== dependencies: "@types/node" "*" - jest-util "^29.1.2" + jest-util "^29.4.3" merge-stream "^2.0.0" supports-color "^8.0.0" @@ -9552,6 +9683,11 @@ joi@^17.6.0: "@sideway/formula" "^3.0.0" "@sideway/pinpoint" "^2.0.0" +js-sdsl@^4.1.4: + version "4.3.0" + resolved "https://registry.yarnpkg.com/js-sdsl/-/js-sdsl-4.3.0.tgz#aeefe32a451f7af88425b11fdb5f58c90ae1d711" + integrity sha512-mifzlm2+5nZ+lEcLJMoBK0/IH/bDg8XnJfd/Wq6IP+xoCjLZsTOnV2QpxlVbX9bMnkl5PdEjNtBJ9Cj1NjifhQ== + "js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" @@ -9690,13 +9826,13 @@ jsonpointer@^5.0.0: resolved "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-5.0.1.tgz#2110e0af0900fd37467b5907ecd13a7884a1b559" integrity sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ== -"jsx-ast-utils@^2.4.1 || ^3.0.0", jsx-ast-utils@^3.3.2: - version "3.3.2" - resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.3.2.tgz#afe5efe4332cd3515c065072bd4d6b0aa22152bd" - integrity sha512-4ZCADZHRkno244xlNnn4AOG6sRQ7iBZ5BbgZ4vW4y5IZw7cVUD1PPeblm1xx/nfmMxPdt/LHsXZW8z/j58+l9Q== +"jsx-ast-utils@^2.4.1 || ^3.0.0", jsx-ast-utils@^3.3.3: + version "3.3.3" + resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.3.3.tgz#76b3e6e6cece5c69d49a5792c3d01bd1a0cdc7ea" + integrity sha512-fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw== dependencies: array-includes "^3.1.5" - object.assign "^4.1.2" + object.assign "^4.1.3" just-diff-apply@^5.2.0: version "5.3.1" @@ -9755,7 +9891,7 @@ language-subtag-registry@~0.3.2: resolved "https://registry.yarnpkg.com/language-subtag-registry/-/language-subtag-registry-0.3.21.tgz#04ac218bea46f04cb039084602c6da9e788dd45a" integrity sha512-L0IqwlIXjilBVVYKFT37X9Ih11Um5NEl9cbJIuU/SwP/zEEAbBPOnEeeuxVMf45ydWQRDQN3Nqc96OgbH1K+Pg== -language-tags@^1.0.5: +language-tags@=1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/language-tags/-/language-tags-1.0.5.tgz#d321dbc4da30ba8bf3024e040fa5c14661f9193a" integrity sha1-0yHbxNowuovzAk4ED6XBRmH5GTo= @@ -10081,7 +10217,7 @@ lzstring.ts@^2.0.2: dependencies: tslib "^1.10.0" -magic-string@^0.25.0, magic-string@^0.25.7: +magic-string@^0.25.0, magic-string@^0.25.7, magic-string@^0.25.9: version "0.25.9" resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.25.9.tgz#de7f9faf91ef8a1c91d02c2e5314c8277dbcdd1c" integrity sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ== @@ -10404,7 +10540,7 @@ minimatch@3.0.5: dependencies: brace-expansion "^1.1.7" -minimatch@^3.0.4, minimatch@^3.1.1, minimatch@^3.1.2: +minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== @@ -10849,48 +10985,7 @@ nth-check@^2.0.0, nth-check@^2.0.1: dependencies: boolbase "^1.0.0" -nx@15.5.3, "nx@>=15.4.2 < 16": - version "15.5.3" - resolved "https://registry.npmjs.org/nx/-/nx-15.5.3.tgz#bf6252e7d9e17121dd82dec4f6fce319b9e005fa" - integrity sha512-PHB8VbiBLP108xb+yR8IGEsYWr7OcmDDOjHL+73oP4lVjyPgT8wdTMe6tI5LdBgv+KZ+0kiThK3ckvcPsfgvLQ== - dependencies: - "@nrwl/cli" "15.5.3" - "@nrwl/tao" "15.5.3" - "@parcel/watcher" "2.0.4" - "@yarnpkg/lockfile" "^1.1.0" - "@yarnpkg/parsers" "^3.0.0-rc.18" - "@zkochan/js-yaml" "0.0.6" - axios "^1.0.0" - chalk "^4.1.0" - cli-cursor "3.1.0" - cli-spinners "2.6.1" - cliui "^7.0.2" - dotenv "~10.0.0" - enquirer "~2.3.6" - fast-glob "3.2.7" - figures "3.2.0" - flat "^5.0.2" - fs-extra "^11.1.0" - glob "7.1.4" - ignore "^5.0.4" - js-yaml "4.1.0" - jsonc-parser "3.2.0" - lines-and-columns "~2.0.3" - minimatch "3.0.5" - npm-run-path "^4.0.1" - open "^8.4.0" - semver "7.3.4" - string-width "^4.2.3" - strong-log-transformer "^2.1.0" - tar-stream "~2.2.0" - tmp "~0.2.1" - tsconfig-paths "^4.1.2" - tslib "^2.3.0" - v8-compile-cache "2.3.0" - yargs "^17.6.2" - yargs-parser "21.1.1" - -nx@15.6.3: +nx@15.6.3, "nx@>=15.4.2 < 16": version "15.6.3" resolved "https://registry.npmjs.org/nx/-/nx-15.6.3.tgz#900087bce38c6e5975660c23ebd41ead1bf54f98" integrity sha512-3t0A0GPLNen1yPAyE+VGZ3nkAzZYb5nfXtAcx8SHBlKq4u42yBY3khBmP1y4Og3jhIwFIj7J7Npeh8ZKrthmYQ== @@ -10936,60 +11031,68 @@ object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= -object-inspect@^1.12.0, object-inspect@^1.12.2, object-inspect@^1.9.0: +object-inspect@^1.12.2, object-inspect@^1.9.0: version "1.12.2" resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.2.tgz#c0641f26394532f28ab8d796ab954e43c009a8ea" integrity sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ== +object-is@^1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.5.tgz#b9deeaa5fc7f1846a0faecdceec138e5778f53ac" + integrity sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + object-keys@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== -object.assign@^4.1.0, object.assign@^4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.2.tgz#0ed54a342eceb37b38ff76eb831a0e788cb63940" - integrity sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ== +object.assign@^4.1.0, object.assign@^4.1.3, object.assign@^4.1.4: + version "4.1.4" + resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.4.tgz#9673c7c7c351ab8c4d0b516f4343ebf4dfb7799f" + integrity sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ== dependencies: - call-bind "^1.0.0" - define-properties "^1.1.3" - has-symbols "^1.0.1" + call-bind "^1.0.2" + define-properties "^1.1.4" + has-symbols "^1.0.3" object-keys "^1.1.1" -object.entries@^1.1.5: - version "1.1.5" - resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.5.tgz#e1acdd17c4de2cd96d5a08487cfb9db84d881861" - integrity sha512-TyxmjUoZggd4OrrU1W66FMDG6CuqJxsFvymeyXI51+vQLN67zYfZseptRge703kKQdo4uccgAKebXFcRCzk4+g== +object.entries@^1.1.6: + version "1.1.6" + resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.6.tgz#9737d0e5b8291edd340a3e3264bb8a3b00d5fa23" + integrity sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w== dependencies: call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.19.1" + define-properties "^1.1.4" + es-abstract "^1.20.4" -object.fromentries@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.5.tgz#7b37b205109c21e741e605727fe8b0ad5fa08251" - integrity sha512-CAyG5mWQRRiBU57Re4FKoTBjXfDoNwdFVH2Y1tS9PqCsfUTymAohOkEMSG3aRNKmv4lV3O7p1et7c187q6bynw== +object.fromentries@^2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.6.tgz#cdb04da08c539cffa912dcd368b886e0904bfa73" + integrity sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg== dependencies: call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.19.1" + define-properties "^1.1.4" + es-abstract "^1.20.4" -object.hasown@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/object.hasown/-/object.hasown-1.1.1.tgz#ad1eecc60d03f49460600430d97f23882cf592a3" - integrity sha512-LYLe4tivNQzq4JdaWW6WO3HMZZJWzkkH8fnI6EebWl0VZth2wL2Lovm74ep2/gZzlaTdV62JZHEqHQ2yVn8Q/A== +object.hasown@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/object.hasown/-/object.hasown-1.1.2.tgz#f919e21fad4eb38a57bc6345b3afd496515c3f92" + integrity sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw== dependencies: define-properties "^1.1.4" - es-abstract "^1.19.5" + es-abstract "^1.20.4" -object.values@^1.1.5: - version "1.1.5" - resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.5.tgz#959f63e3ce9ef108720333082131e4a459b716ac" - integrity sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg== +object.values@^1.1.6: + version "1.1.6" + resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.6.tgz#4abbaa71eba47d63589d402856f908243eea9b1d" + integrity sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw== dependencies: call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.19.1" + define-properties "^1.1.4" + es-abstract "^1.20.4" obuf@^1.0.0, obuf@^1.1.2: version "1.1.2" @@ -11801,10 +11904,10 @@ prepend-http@^2.0.0: resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-2.0.0.tgz#e92434bfa5ea8c19f41cdfd401d741a3c819d897" integrity sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc= -prettier@*, prettier@2.8.1, prettier@^2.6.2: - version "2.8.1" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.1.tgz#4e1fd11c34e2421bc1da9aea9bd8127cd0a35efc" - integrity sha512-lqGoSJBQNJidqCHE80vqZJHWHRFoNYsSpP9AjFhlhi9ODCJA541svILes/+/1GM3VaL/abZi7cpFzOpdR9UPKg== +prettier@*, prettier@^2.6.2, prettier@^2.8.4: + version "2.8.4" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.4.tgz#34dd2595629bfbb79d344ac4a91ff948694463c3" + integrity sha512-vIS4Rlc2FNh0BySk3Wkd6xmwxB0FpOndW5fisM5H8hsZSxU2VWVB5CWIkIjWvrHjIhxk2g3bfMKM87zNTrZddw== pretty-bytes@^5.3.0: version "5.6.0" @@ -11819,12 +11922,12 @@ pretty-error@^4.0.0: lodash "^4.17.20" renderkid "^3.0.0" -pretty-format@*, pretty-format@^29, pretty-format@^29.0.0, pretty-format@^29.0.3, pretty-format@^29.1.2: - version "29.1.2" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-29.1.2.tgz#b1f6b75be7d699be1a051f5da36e8ae9e76a8e6a" - integrity sha512-CGJ6VVGXVRP2o2Dorl4mAwwvDWT25luIsYhkyVQW32E4nL+TgW939J7LlKT/npq5Cpq6j3s+sy+13yk7xYpBmg== +pretty-format@*, pretty-format@^29, pretty-format@^29.0.0, pretty-format@^29.0.3, pretty-format@^29.1.2, pretty-format@^29.4.3: + version "29.4.3" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-29.4.3.tgz#25500ada21a53c9e8423205cf0337056b201244c" + integrity sha512-cvpcHTc42lcsvOOAzd3XuNWTcvk1Jmnzqeu+WsOuiPmxUJTnkbAcFNsRKvEpBEUFVUgy/GTZLulZDcDEi+CIlA== dependencies: - "@jest/schemas" "^29.0.0" + "@jest/schemas" "^29.4.3" ansi-styles "^5.0.0" react-is "^18.0.0" @@ -12346,10 +12449,10 @@ regenerate@^1.4.2: resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a" integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== -regenerator-runtime@^0.13.4: - version "0.13.9" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz#8925742a98ffd90814988d7566ad30ca3b263b52" - integrity sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA== +regenerator-runtime@^0.13.11, regenerator-runtime@^0.13.4: + version "0.13.11" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz#f6dca3e7ceec20590d07ada785636a90cdca17f9" + integrity sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg== regenerator-transform@^0.15.0: version "0.15.0" @@ -12358,7 +12461,7 @@ regenerator-transform@^0.15.0: dependencies: "@babel/runtime" "^7.8.4" -regexp.prototype.flags@^1.4.1, regexp.prototype.flags@^1.4.3: +regexp.prototype.flags@^1.4.3: version "1.4.3" resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz#87cab30f80f66660181a3bb7bf5981a872b367ac" integrity sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA== @@ -12545,12 +12648,17 @@ resolve-pathname@^3.0.0: resolved "https://registry.yarnpkg.com/resolve-pathname/-/resolve-pathname-3.0.0.tgz#99d02224d3cf263689becbb393bc560313025dcd" integrity sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng== -resolve.exports@1.1.0, resolve.exports@^1.1.0: +resolve.exports@1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-1.1.0.tgz#5ce842b94b05146c0e03076985d1d0e7e48c90c9" integrity sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ== -resolve@^1.1.6, resolve@^1.10.0, resolve@^1.14.2, resolve@^1.19.0, resolve@^1.20.0, resolve@^1.22.0, resolve@^1.22.1, resolve@^1.3.2: +resolve.exports@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-2.0.0.tgz#c1a0028c2d166ec2fbf7d0644584927e76e7400e" + integrity sha512-6K/gDlqgQscOlg9fSRpWstA8sYe8rbELsSTNpx+3kTrsVCzvSl0zIvRErM7fdl9ERWDsKnrLnwB+Ne89918XOg== + +resolve@^1.1.6, resolve@^1.10.0, resolve@^1.14.2, resolve@^1.19.0, resolve@^1.20.0, resolve@^1.22.1, resolve@^1.3.2: version "1.22.1" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177" integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw== @@ -12559,13 +12667,14 @@ resolve@^1.1.6, resolve@^1.10.0, resolve@^1.14.2, resolve@^1.19.0, resolve@^1.20 path-parse "^1.0.7" supports-preserve-symlinks-flag "^1.0.0" -resolve@^2.0.0-next.3: - version "2.0.0-next.3" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-2.0.0-next.3.tgz#d41016293d4a8586a39ca5d9b5f15cbea1f55e46" - integrity sha512-W8LucSynKUIDu9ylraa7ueVZ7hc0uAgJBxVsQSKOXOyle8a93qXhcz+XAXZ8bIq2d6i4Ehddn6Evt+0/UwKk6Q== +resolve@^2.0.0-next.4: + version "2.0.0-next.4" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-2.0.0-next.4.tgz#3d37a113d6429f496ec4752d2a2e58efb1fd4660" + integrity sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ== dependencies: - is-core-module "^2.2.0" - path-parse "^1.0.6" + is-core-module "^2.9.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" resolve@~1.17.0: version "1.17.0" @@ -12714,6 +12823,15 @@ safe-buffer@5.2.1, safe-buffer@>=5.1.0, safe-buffer@^5.1.0, safe-buffer@~5.2.0: resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== +safe-regex-test@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/safe-regex-test/-/safe-regex-test-1.0.0.tgz#793b874d524eb3640d1873aad03596db2d4f2295" + integrity sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.1.3" + is-regex "^1.1.4" + "safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0": version "2.1.2" resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" @@ -13243,6 +13361,13 @@ std-env@^3.0.1: resolved "https://registry.yarnpkg.com/std-env/-/std-env-3.0.1.tgz#bc4cbc0e438610197e34c2d79c3df30b491f5182" integrity sha512-mC1Ps9l77/97qeOZc+HrOL7TIaOboHqMZ24dGVQrlxFcpPpfCHpH+qfUT7Dz+6mlG8+JPA1KfBQo19iC/+Ngcw== +stop-iteration-iterator@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz#6a60be0b4ee757d1ed5254858ec66b10c49285e4" + integrity sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ== + dependencies: + internal-slot "^1.0.4" + string-argv@^0.3.1, string-argv@~0.3.1: version "0.3.1" resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.1.tgz#95e2fbec0427ae19184935f816d74aaa4c5c19da" @@ -13274,37 +13399,37 @@ string-width@^5.0.0, string-width@^5.0.1: emoji-regex "^9.2.2" strip-ansi "^7.0.1" -string.prototype.matchall@^4.0.6, string.prototype.matchall@^4.0.7: - version "4.0.7" - resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.7.tgz#8e6ecb0d8a1fb1fda470d81acecb2dba057a481d" - integrity sha512-f48okCX7JiwVi1NXCVWcFnZgADDC/n2vePlQ/KUCNqCikLLilQvwjMO8+BHVKvgzH0JB0J9LEPgxOGT02RoETg== +string.prototype.matchall@^4.0.6, string.prototype.matchall@^4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.8.tgz#3bf85722021816dcd1bf38bb714915887ca79fd3" + integrity sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg== dependencies: call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.19.1" - get-intrinsic "^1.1.1" + define-properties "^1.1.4" + es-abstract "^1.20.4" + get-intrinsic "^1.1.3" has-symbols "^1.0.3" internal-slot "^1.0.3" - regexp.prototype.flags "^1.4.1" + regexp.prototype.flags "^1.4.3" side-channel "^1.0.4" -string.prototype.trimend@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.5.tgz#914a65baaab25fbdd4ee291ca7dde57e869cb8d0" - integrity sha512-I7RGvmjV4pJ7O3kdf+LXFpVfdNOxtCW/2C8f6jNiW4+PQchwxkCDzlk1/7p+Wl4bqFIZeF47qAHXLuHHWKAxog== +string.prototype.trimend@^1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz#c4a27fa026d979d79c04f17397f250a462944533" + integrity sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ== dependencies: call-bind "^1.0.2" define-properties "^1.1.4" - es-abstract "^1.19.5" + es-abstract "^1.20.4" -string.prototype.trimstart@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.5.tgz#5466d93ba58cfa2134839f81d7f42437e8c01fef" - integrity sha512-THx16TJCGlsN0o6dl2o6ncWUsdgnLRSA23rRE5pyGBw/mLr3Ej/R2LaqCtgP8VNMGZsvMWnf9ooZPyY2bHvUFg== +string.prototype.trimstart@^1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz#e90ab66aa8e4007d92ef591bbf3cd422c56bdcf4" + integrity sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA== dependencies: call-bind "^1.0.2" define-properties "^1.1.4" - es-abstract "^1.19.5" + es-abstract "^1.20.4" string_decoder@^1.1.1: version "1.3.0" @@ -13435,14 +13560,6 @@ supports-color@^8.0.0: dependencies: has-flag "^4.0.0" -supports-hyperlinks@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz#4f77b42488765891774b70c79babd87f9bd594bb" - integrity sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ== - dependencies: - has-flag "^4.0.0" - supports-color "^7.0.0" - supports-preserve-symlinks-flag@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" @@ -13519,14 +13636,6 @@ tempy@^0.6.0: type-fest "^0.16.0" unique-string "^2.0.0" -terminal-link@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/terminal-link/-/terminal-link-2.1.1.tgz#14a64a27ab3c0df933ea546fba55f2d078edc994" - integrity sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ== - dependencies: - ansi-escapes "^4.2.1" - supports-hyperlinks "^2.0.0" - terser-webpack-plugin@^5.1.3, terser-webpack-plugin@^5.3.3: version "5.3.3" resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.3.tgz#8033db876dd5875487213e87c627bca323e5ed90" @@ -13724,6 +13833,25 @@ ts-essentials@^2.0.3: resolved "https://registry.yarnpkg.com/ts-essentials/-/ts-essentials-2.0.12.tgz#c9303f3d74f75fa7528c3d49b80e089ab09d8745" integrity sha512-3IVX4nI6B5cc31/GFFE+i8ey/N2eA0CZDbo6n0yrz0zDX8ZJ8djmU1p+XRz7G3is0F3bB3pu2pAroFdAWQKU3w== +ts-node@*: + version "10.9.1" + resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.9.1.tgz#e73de9102958af9e1f0b168a6ff320e25adcff4b" + integrity sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw== + dependencies: + "@cspotcode/source-map-support" "^0.8.0" + "@tsconfig/node10" "^1.0.7" + "@tsconfig/node12" "^1.0.7" + "@tsconfig/node14" "^1.0.0" + "@tsconfig/node16" "^1.0.2" + acorn "^8.4.1" + acorn-walk "^8.1.1" + arg "^4.1.0" + create-require "^1.1.0" + diff "^4.0.1" + make-error "^1.1.1" + v8-compile-cache-lib "^3.0.1" + yn "3.1.1" + ts-node@10.7.0: version "10.7.0" resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.7.0.tgz#35d503d0fab3e2baa672a0e94f4b40653c2463f5" @@ -13886,6 +14014,15 @@ type@^2.5.0: resolved "https://registry.yarnpkg.com/type/-/type-2.6.0.tgz#3ca6099af5981d36ca86b78442973694278a219f" integrity sha512-eiDBDOmkih5pMbo9OqsqPRGMljLodLcwd5XD5JbtNB0o89xZAwynY9EdCDsJU7LtcVCClu9DvM7/0Ep1hYX3EQ== +typed-array-length@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/typed-array-length/-/typed-array-length-1.0.4.tgz#89d83785e5c4098bec72e08b319651f0eac9c1bb" + integrity sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng== + dependencies: + call-bind "^1.0.2" + for-each "^0.3.3" + is-typed-array "^1.1.9" + typedarray-to-buffer@^3.1.5: version "3.1.5" resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" @@ -13898,10 +14035,10 @@ typedarray@^0.0.6: resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= -typescript@*, "typescript@>=4.2.4 <5.0.0", "typescript@^3 || ^4", typescript@next, typescript@~4.8.4, typescript@~4.9.3: - version "4.9.3" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.3.tgz#3aea307c1746b8c384435d8ac36b8a2e580d85db" - integrity sha512-CIfGzTelbKNEnLpLdGFgdyKhG23CKdKgQPOBc+OUNrkJ2vr+KSzsSV5kq5iWhEQbok+quxgGzrAtGWCyU7tHnA== +typescript@*, "typescript@>=4.2.4 <5.0.0", "typescript@^3 || ^4", typescript@next, typescript@~4.8.4, typescript@~4.9.5: + version "4.9.5" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.5.tgz#095979f9bcc0d09da324d58d03ce8f8374cbe65a" + integrity sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g== ua-parser-js@^0.7.30: version "0.7.31" @@ -14187,12 +14324,12 @@ uuid@^8.3.2: resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== -v8-compile-cache-lib@^3.0.0: +v8-compile-cache-lib@^3.0.0, v8-compile-cache-lib@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz#6336e8d71965cb3d35a1bbb7868445a7c05264bf" integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg== -v8-compile-cache@2.3.0, v8-compile-cache@^2.0.3: +v8-compile-cache@2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee" integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA== @@ -14492,6 +14629,28 @@ which-boxed-primitive@^1.0.2: is-string "^1.0.5" is-symbol "^1.0.3" +which-collection@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/which-collection/-/which-collection-1.0.1.tgz#70eab71ebbbd2aefaf32f917082fc62cdcb70906" + integrity sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A== + dependencies: + is-map "^2.0.1" + is-set "^2.0.1" + is-weakmap "^2.0.1" + is-weakset "^2.0.1" + +which-typed-array@^1.1.9: + version "1.1.9" + resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.9.tgz#307cf898025848cf995e795e8423c7f337efbde6" + integrity sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA== + dependencies: + available-typed-arrays "^1.0.5" + call-bind "^1.0.2" + for-each "^0.3.3" + gopd "^1.0.1" + has-tostringtag "^1.0.0" + is-typed-array "^1.1.10" + which@^1.2.9, which@^1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" @@ -14751,10 +14910,10 @@ write-file-atomic@^3.0.0: signal-exit "^3.0.2" typedarray-to-buffer "^3.1.5" -write-file-atomic@^4.0.0, write-file-atomic@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-4.0.1.tgz#9faa33a964c1c85ff6f849b80b42a88c2c537c8f" - integrity sha512-nSKUxgAbyioruk6hU87QzVbY279oYT6uiwgDoujth2ju4mJ+TZau7SQBhtbTmUyuNYTuXnSyRn66FV0+eCgcrQ== +write-file-atomic@^4.0.0, write-file-atomic@^4.0.1, write-file-atomic@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-4.0.2.tgz#a9df01ae5b77858a027fd2e80768ee433555fcfd" + integrity sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg== dependencies: imurmurhash "^0.1.4" signal-exit "^3.0.7"