diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 924efa875645..1e3c54674c48 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -114,7 +114,7 @@ jobs: strategy: matrix: # just run on the oldest and latest supported versions and assume the intermediate versions are good - node-version: [12, 18] + node-version: [14, 18] package: [ 'ast-spec', @@ -188,7 +188,9 @@ jobs: - name: Install Cypress run: yarn cypress install - - name: Cypress run + - env: + DEBUG: '@cypress/github-action' + name: Cypress run uses: cypress-io/github-action@v2 with: project: ./packages/website diff --git a/.prettierignore b/.prettierignore index abc364840aa8..637f32f77bfc 100644 --- a/.prettierignore +++ b/.prettierignore @@ -12,12 +12,6 @@ packages/eslint-plugin/src/configs/*.json CONTRIBUTORS.md packages/ast-spec/src/*/*/fixtures/_error_/*/fixture.ts -# Syntax not yet supported -packages/scope-manager/tests/fixtures/type-declaration/type-query-with-parameters.ts -packages/scope-manager/tests/fixtures/type-declaration/infer-type-constraint.ts -packages/scope-manager/tests/fixtures/instantiation-expressions/type-arguments1.ts -packages/scope-manager/tests/fixtures/instantiation-expressions/type-arguments2.ts - # Ignore CHANGELOG.md files to avoid issues with automated release job CHANGELOG.md diff --git a/CHANGELOG.md b/CHANGELOG.md index 73b6a7f4ed6d..f6816d2a5715 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,47 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [5.35.1](https://github.com/typescript-eslint/typescript-eslint/compare/v5.35.0...v5.35.1) (2022-08-24) + + +### Bug Fixes + +* **eslint-plugin:** correct rule schemas to pass ajv validation ([#5531](https://github.com/typescript-eslint/typescript-eslint/issues/5531)) ([dbf8b56](https://github.com/typescript-eslint/typescript-eslint/commit/dbf8b569dbada29e4a295d6c265976e55de1b2aa)) + + + + + +# [5.35.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.34.0...v5.35.0) (2022-08-24) + + +### Features + +* **eslint-plugin:** [explicit-member-accessibility] suggest adding explicit accessibility specifiers ([#5492](https://github.com/typescript-eslint/typescript-eslint/issues/5492)) ([0edb94a](https://github.com/typescript-eslint/typescript-eslint/commit/0edb94aee55e1ec6afa7f46f99a9b308bbb66301)) + + + + + +# [5.34.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.33.1...v5.34.0) (2022-08-22) + + +### Bug Fixes + +* **ast-spec:** NewExpression argument can be SpreadElement now ([#5422](https://github.com/typescript-eslint/typescript-eslint/issues/5422)) ([3ced62f](https://github.com/typescript-eslint/typescript-eslint/commit/3ced62fb8474ed377c1336ac3e855f0270ce9beb)) +* **eslint-plugin:** [no-useless-constructor] handle parameter decorator ([#5450](https://github.com/typescript-eslint/typescript-eslint/issues/5450)) ([864dbcf](https://github.com/typescript-eslint/typescript-eslint/commit/864dbcfccba274fe1b26eac8aeeaf2a2355b5969)) +* **scope-manager:** visit static blocks ([#5489](https://github.com/typescript-eslint/typescript-eslint/issues/5489)) ([78745c2](https://github.com/typescript-eslint/typescript-eslint/commit/78745c2092064446837b5683892001030a8bb4e2)) + + +### Features + +* **eslint-plugin:** [prefer-optional-chain] support suggesting `!foo || !foo.bar` as a valid match for the rule ([#5266](https://github.com/typescript-eslint/typescript-eslint/issues/5266)) ([aca935c](https://github.com/typescript-eslint/typescript-eslint/commit/aca935c9696712d4aff18144c4690db4d6ba9bf9)) +* **types:** add unbound property in parser options ([#5419](https://github.com/typescript-eslint/typescript-eslint/issues/5419)) ([e08a9dd](https://github.com/typescript-eslint/typescript-eslint/commit/e08a9dd79365c1b1f5d0145ab69377f7d45f8a4f)) + + + + + ## [5.33.1](https://github.com/typescript-eslint/typescript-eslint/compare/v5.33.0...v5.33.1) (2022-08-15) diff --git a/README.md b/README.md index 3c9cbc2a68d5..10c836bcfdfe 100644 --- a/README.md +++ b/README.md @@ -111,25 +111,6 @@ This project exists thanks to every one of the awesome people who contribute cod In addition to submitting code and documentation updates, you can help us sustain our community by becoming a financial contributor [[Click here to contribute - every little bit helps!](https://opencollective.com/typescript-eslint/contribute)] -### Individuals - -Gallery of all individual financial contributors' profile photos - -### Organizations - -Support this project with your organization. Your logo will show up here with a link to your website. [[Click here to contribute - every little bit helps!](https://opencollective.com/typescript-eslint/contribute)] - - - - - - - - - - - - Deploys by Netlify diff --git a/docs/linting/TYPED_LINTING.md b/docs/linting/TYPED_LINTING.md index 7a037e9a178b..fcf6f4b185d1 100644 --- a/docs/linting/TYPED_LINTING.md +++ b/docs/linting/TYPED_LINTING.md @@ -3,7 +3,7 @@ id: typed-linting title: Linting with Type Information --- -Some typescript-eslint rules tap utilize the awesome power of TypeScript's type checking APIs to provide much deeper insights into your code. +Some typescript-eslint rules utilize the awesome power of TypeScript's type checking APIs to provide much deeper insights into your code. To tap into TypeScript's additional powers, there are two small changes you need to make to your config file: ```js title=".eslintrc.js" diff --git a/lerna.json b/lerna.json index f3b9f4a699b3..5d5331a95ffa 100644 --- a/lerna.json +++ b/lerna.json @@ -1,5 +1,5 @@ { - "version": "5.33.1", + "version": "5.35.1", "npmClient": "yarn", "useWorkspaces": true, "stream": true diff --git a/package.json b/package.json index 3cba3f391376..0cb1d2997455 100644 --- a/package.json +++ b/package.json @@ -90,12 +90,12 @@ "jest-diff": "^28.1.0", "jest-snapshot": "^28.1.0", "jest-specific-snapshot": "^5.0.0", - "lerna": "5.4.2", + "lerna": "5.4.3", "lint-staged": "^13.0.0", "make-dir": "^3.1.0", "markdownlint-cli": "^0.31.1", "ncp": "^2.0.0", - "prettier": "2.5.1", + "prettier": "2.7.1", "pretty-format": "^28.1.0", "rimraf": "^3.0.2", "tmp": "^0.2.1", @@ -104,7 +104,7 @@ "typescript": ">=3.3.1 <4.8.0" }, "resolutions": { - "typescript": "4.7.2", + "typescript": "4.7.4", "@types/node": "^17.0.31", "pretty-format": "^28.1.0", "//": "Pin jest to v28 across the repo", diff --git a/packages/ast-spec/CHANGELOG.md b/packages/ast-spec/CHANGELOG.md index 8b73864a184c..32b9c1d41d39 100644 --- a/packages/ast-spec/CHANGELOG.md +++ b/packages/ast-spec/CHANGELOG.md @@ -3,6 +3,33 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [5.35.1](https://github.com/typescript-eslint/typescript-eslint/compare/v5.35.0...v5.35.1) (2022-08-24) + +**Note:** Version bump only for package @typescript-eslint/ast-spec + + + + + +# [5.35.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.34.0...v5.35.0) (2022-08-24) + +**Note:** Version bump only for package @typescript-eslint/ast-spec + + + + + +# [5.34.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.33.1...v5.34.0) (2022-08-22) + + +### Bug Fixes + +* **ast-spec:** NewExpression argument can be SpreadElement now ([#5422](https://github.com/typescript-eslint/typescript-eslint/issues/5422)) ([3ced62f](https://github.com/typescript-eslint/typescript-eslint/commit/3ced62fb8474ed377c1336ac3e855f0270ce9beb)) + + + + + ## [5.33.1](https://github.com/typescript-eslint/typescript-eslint/compare/v5.33.0...v5.33.1) (2022-08-15) **Note:** Version bump only for package @typescript-eslint/ast-spec diff --git a/packages/ast-spec/package.json b/packages/ast-spec/package.json index 313fe6436395..c2c7af07a01e 100644 --- a/packages/ast-spec/package.json +++ b/packages/ast-spec/package.json @@ -1,6 +1,6 @@ { "name": "@typescript-eslint/ast-spec", - "version": "5.33.1", + "version": "5.35.1", "description": "TypeScript-ESTree AST spec", "private": true, "keywords": [ diff --git a/packages/ast-spec/src/declaration/ExportNamedDeclaration/fixtures/assertion/fixture.ts b/packages/ast-spec/src/declaration/ExportNamedDeclaration/fixtures/_error_/assertion/fixture.ts similarity index 100% rename from packages/ast-spec/src/declaration/ExportNamedDeclaration/fixtures/assertion/fixture.ts rename to packages/ast-spec/src/declaration/ExportNamedDeclaration/fixtures/_error_/assertion/fixture.ts diff --git a/packages/ast-spec/src/declaration/ExportNamedDeclaration/fixtures/assertion/snapshots/1-TSESTree-AST.shot b/packages/ast-spec/src/declaration/ExportNamedDeclaration/fixtures/_error_/assertion/snapshots/1-TSESTree-AST.shot similarity index 100% rename from packages/ast-spec/src/declaration/ExportNamedDeclaration/fixtures/assertion/snapshots/1-TSESTree-AST.shot rename to packages/ast-spec/src/declaration/ExportNamedDeclaration/fixtures/_error_/assertion/snapshots/1-TSESTree-AST.shot diff --git a/packages/ast-spec/src/declaration/ExportNamedDeclaration/fixtures/_error_/assertion/snapshots/1-TSESTree-Error.shot b/packages/ast-spec/src/declaration/ExportNamedDeclaration/fixtures/_error_/assertion/snapshots/1-TSESTree-Error.shot new file mode 100644 index 000000000000..eac30154d3de --- /dev/null +++ b/packages/ast-spec/src/declaration/ExportNamedDeclaration/fixtures/_error_/assertion/snapshots/1-TSESTree-Error.shot @@ -0,0 +1,3 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`AST Fixtures declaration ExportNamedDeclaration _error_ assertion TSESTree - Error 1`] = `"NO ERROR"`; diff --git a/packages/ast-spec/src/declaration/ExportNamedDeclaration/fixtures/_error_/assertion/snapshots/2-Babel-Error.shot b/packages/ast-spec/src/declaration/ExportNamedDeclaration/fixtures/_error_/assertion/snapshots/2-Babel-Error.shot new file mode 100644 index 000000000000..873ef0496aac --- /dev/null +++ b/packages/ast-spec/src/declaration/ExportNamedDeclaration/fixtures/_error_/assertion/snapshots/2-Babel-Error.shot @@ -0,0 +1,3 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`AST Fixtures declaration ExportNamedDeclaration _error_ assertion Babel - Error 1`] = `[SyntaxError: A JSON module can only be imported with \`default\`. (1:9)]`; diff --git a/packages/ast-spec/src/declaration/ExportNamedDeclaration/fixtures/assertion/snapshots/2-TSESTree-Tokens.shot b/packages/ast-spec/src/declaration/ExportNamedDeclaration/fixtures/_error_/assertion/snapshots/2-TSESTree-Tokens.shot similarity index 100% rename from packages/ast-spec/src/declaration/ExportNamedDeclaration/fixtures/assertion/snapshots/2-TSESTree-Tokens.shot rename to packages/ast-spec/src/declaration/ExportNamedDeclaration/fixtures/_error_/assertion/snapshots/2-TSESTree-Tokens.shot diff --git a/packages/ast-spec/src/declaration/ExportNamedDeclaration/fixtures/_error_/assertion/snapshots/3-Alignment-Error.shot b/packages/ast-spec/src/declaration/ExportNamedDeclaration/fixtures/_error_/assertion/snapshots/3-Alignment-Error.shot new file mode 100644 index 000000000000..b75c9eb03cbc --- /dev/null +++ b/packages/ast-spec/src/declaration/ExportNamedDeclaration/fixtures/_error_/assertion/snapshots/3-Alignment-Error.shot @@ -0,0 +1,3 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`AST Fixtures declaration ExportNamedDeclaration _error_ assertion Error Alignment 1`] = `"Babel errored but TSESTree didn't"`; diff --git a/packages/ast-spec/src/declaration/ExportNamedDeclaration/fixtures/assertion/snapshots/3-Babel-AST.shot b/packages/ast-spec/src/declaration/ExportNamedDeclaration/fixtures/_error_/assertion/snapshots/3-Babel-AST.shot similarity index 100% rename from packages/ast-spec/src/declaration/ExportNamedDeclaration/fixtures/assertion/snapshots/3-Babel-AST.shot rename to packages/ast-spec/src/declaration/ExportNamedDeclaration/fixtures/_error_/assertion/snapshots/3-Babel-AST.shot diff --git a/packages/ast-spec/src/declaration/ExportNamedDeclaration/fixtures/assertion/snapshots/4-Babel-Tokens.shot b/packages/ast-spec/src/declaration/ExportNamedDeclaration/fixtures/_error_/assertion/snapshots/4-Babel-Tokens.shot similarity index 100% rename from packages/ast-spec/src/declaration/ExportNamedDeclaration/fixtures/assertion/snapshots/4-Babel-Tokens.shot rename to packages/ast-spec/src/declaration/ExportNamedDeclaration/fixtures/_error_/assertion/snapshots/4-Babel-Tokens.shot diff --git a/packages/ast-spec/src/declaration/ExportNamedDeclaration/fixtures/assertion/snapshots/5-AST-Alignment-AST.shot b/packages/ast-spec/src/declaration/ExportNamedDeclaration/fixtures/_error_/assertion/snapshots/5-AST-Alignment-AST.shot similarity index 100% rename from packages/ast-spec/src/declaration/ExportNamedDeclaration/fixtures/assertion/snapshots/5-AST-Alignment-AST.shot rename to packages/ast-spec/src/declaration/ExportNamedDeclaration/fixtures/_error_/assertion/snapshots/5-AST-Alignment-AST.shot diff --git a/packages/ast-spec/src/declaration/ExportNamedDeclaration/fixtures/assertion/snapshots/6-AST-Alignment-Tokens.shot b/packages/ast-spec/src/declaration/ExportNamedDeclaration/fixtures/_error_/assertion/snapshots/6-AST-Alignment-Tokens.shot similarity index 100% rename from packages/ast-spec/src/declaration/ExportNamedDeclaration/fixtures/assertion/snapshots/6-AST-Alignment-Tokens.shot rename to packages/ast-spec/src/declaration/ExportNamedDeclaration/fixtures/_error_/assertion/snapshots/6-AST-Alignment-Tokens.shot diff --git a/packages/ast-spec/src/expression/NewExpression/spec.ts b/packages/ast-spec/src/expression/NewExpression/spec.ts index bb75ae3f4b8f..1ee93ef507dd 100644 --- a/packages/ast-spec/src/expression/NewExpression/spec.ts +++ b/packages/ast-spec/src/expression/NewExpression/spec.ts @@ -1,12 +1,12 @@ import type { AST_NODE_TYPES } from '../../ast-node-types'; import type { BaseNode } from '../../base/BaseNode'; import type { TSTypeParameterInstantiation } from '../../special/TSTypeParameterInstantiation/spec'; -import type { Expression } from '../../unions/Expression'; +import type { CallExpressionArgument } from '../../unions/CallExpressionArgument'; import type { LeftHandSideExpression } from '../../unions/LeftHandSideExpression'; export interface NewExpression extends BaseNode { type: AST_NODE_TYPES.NewExpression; callee: LeftHandSideExpression; - arguments: Expression[]; + arguments: CallExpressionArgument[]; typeParameters?: TSTypeParameterInstantiation; } diff --git a/packages/ast-spec/tests/fixtures-with-differences-errors.shot b/packages/ast-spec/tests/fixtures-with-differences-errors.shot index f9c7ef6147dd..7946dc0daabc 100644 --- a/packages/ast-spec/tests/fixtures-with-differences-errors.shot +++ b/packages/ast-spec/tests/fixtures-with-differences-errors.shot @@ -9,6 +9,7 @@ Object { "declaration/ExportAllDeclaration/fixtures/_error_/kind-type/fixture.ts", "declaration/ExportAllDeclaration/fixtures/_error_/type-kind/fixture.ts", "declaration/ExportNamedDeclaration/fixtures/_error_/anonymous-class/fixture.ts", + "declaration/ExportNamedDeclaration/fixtures/_error_/assertion/fixture.ts", "declaration/FunctionDeclaration/fixtures/_error_/missing-type-param/fixture.ts", "declaration/TSDeclareFunction/fixtures/_error_/async/fixture.ts", "declaration/TSDeclareFunction/fixtures/_error_/declare-with-body/fixture.ts", diff --git a/packages/eslint-plugin-internal/CHANGELOG.md b/packages/eslint-plugin-internal/CHANGELOG.md index 0024f61659ef..51a81effec39 100644 --- a/packages/eslint-plugin-internal/CHANGELOG.md +++ b/packages/eslint-plugin-internal/CHANGELOG.md @@ -3,6 +3,30 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [5.35.1](https://github.com/typescript-eslint/typescript-eslint/compare/v5.35.0...v5.35.1) (2022-08-24) + +**Note:** Version bump only for package @typescript-eslint/eslint-plugin-internal + + + + + +# [5.35.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.34.0...v5.35.0) (2022-08-24) + +**Note:** Version bump only for package @typescript-eslint/eslint-plugin-internal + + + + + +# [5.34.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.33.1...v5.34.0) (2022-08-22) + +**Note:** Version bump only for package @typescript-eslint/eslint-plugin-internal + + + + + ## [5.33.1](https://github.com/typescript-eslint/typescript-eslint/compare/v5.33.0...v5.33.1) (2022-08-15) diff --git a/packages/eslint-plugin-internal/package.json b/packages/eslint-plugin-internal/package.json index b6fe9bf4681d..ed70ad916d99 100644 --- a/packages/eslint-plugin-internal/package.json +++ b/packages/eslint-plugin-internal/package.json @@ -1,6 +1,6 @@ { "name": "@typescript-eslint/eslint-plugin-internal", - "version": "5.33.1", + "version": "5.35.1", "private": true, "main": "dist/index.js", "scripts": { @@ -14,8 +14,8 @@ }, "dependencies": { "@types/prettier": "*", - "@typescript-eslint/scope-manager": "5.33.1", - "@typescript-eslint/utils": "5.33.1", + "@typescript-eslint/scope-manager": "5.35.1", + "@typescript-eslint/utils": "5.35.1", "prettier": "*" } } diff --git a/packages/eslint-plugin-internal/src/rules/plugin-test-formatting.ts b/packages/eslint-plugin-internal/src/rules/plugin-test-formatting.ts index 8b3ec8ffdb82..2ee9b80302e0 100644 --- a/packages/eslint-plugin-internal/src/rules/plugin-test-formatting.ts +++ b/packages/eslint-plugin-internal/src/rules/plugin-test-formatting.ts @@ -455,7 +455,7 @@ export default createRule({ continue; } - if (prop.key.name === 'code' || prop.key.name === 'output') { + if (prop.key.name === 'code') { checkExpression(prop.value, isErrorTest); } } diff --git a/packages/eslint-plugin-internal/tests/rules/no-poorly-typed-ts-props.test.ts b/packages/eslint-plugin-internal/tests/rules/no-poorly-typed-ts-props.test.ts index 4c9751489bd9..b0b80f56cc35 100644 --- a/packages/eslint-plugin-internal/tests/rules/no-poorly-typed-ts-props.test.ts +++ b/packages/eslint-plugin-internal/tests/rules/no-poorly-typed-ts-props.test.ts @@ -32,7 +32,7 @@ baz.symbol.name; import ts from 'typescript'; declare const thing: ts.Symbol; thing.declarations.map(decl => {}); - `.trimRight(), + `, errors: [ { messageId: 'doNotUseWithFixer', @@ -53,7 +53,7 @@ thing.declarations.map(decl => {}); import ts from 'typescript'; declare const thing: ts.Symbol; thing.getDeclarations().map(decl => {}); - `.trimRight(), + `, }, ], }, @@ -64,7 +64,7 @@ thing.getDeclarations().map(decl => {}); import ts from 'typescript'; declare const thing: ts.Type; thing.symbol; - `.trimRight(), + `, errors: [ { messageId: 'doNotUseWithFixer', @@ -85,7 +85,7 @@ thing.symbol; import ts from 'typescript'; declare const thing: ts.Type; thing.getSymbol(); - `.trimRight(), + `, }, ], }, @@ -96,7 +96,7 @@ thing.getSymbol(); import ts from 'typescript'; declare const thing: ts.Type; thing?.symbol; - `.trimRight(), + `, errors: [ { messageId: 'doNotUseWithFixer', @@ -117,7 +117,7 @@ thing?.symbol; import ts from 'typescript'; declare const thing: ts.Type; thing?.getSymbol(); - `.trimRight(), + `, }, ], }, diff --git a/packages/eslint-plugin-internal/tests/rules/plugin-test-formatting.test.ts b/packages/eslint-plugin-internal/tests/rules/plugin-test-formatting.test.ts index 3b8bb47dafd8..81be2118f6c5 100644 --- a/packages/eslint-plugin-internal/tests/rules/plugin-test-formatting.test.ts +++ b/packages/eslint-plugin-internal/tests/rules/plugin-test-formatting.test.ts @@ -25,26 +25,6 @@ ruleTester.run({ }); `; } -function wrapWithOutput( - strings: TemplateStringsArray, - ...keys: string[] -): string { - const lastIndex = strings.length - 1; - const code = - strings.slice(0, lastIndex).reduce((p, s, i) => p + s + keys[i], '') + - strings[lastIndex]; - return ` -ruleTester.run({ - invalid: [ - { - code: ${code}, - output: ${code}, - }, - ], -}); - `; -} - ruleTester.run('plugin-test-formatting', rule, { valid: [ // sanity check for valid tests non-object style @@ -365,7 +345,6 @@ ${PARENT_INDENT}\``, code: wrap`\` ${CODE_INDENT}const a=\\\`\\\${a}\\\`; ${PARENT_INDENT}\``, - // make sure it escapes backticks output: wrap`\` ${CODE_INDENT}const a = \\\`\\\${a}\\\`; ${PARENT_INDENT}\``, @@ -376,26 +355,6 @@ ${PARENT_INDENT}\``, ], }, - // sanity check that it runs on both output and code properties - { - code: wrapWithOutput`\` -${CODE_INDENT}const a="1"; -${CODE_INDENT} const b = "2"; -${PARENT_INDENT}\``, - output: wrapWithOutput`\` -${CODE_INDENT}const a = '1'; -${CODE_INDENT}const b = '2'; -${PARENT_INDENT}\``, - errors: [ - { - messageId: 'invalidFormattingErrorTest', - }, - { - messageId: 'invalidFormattingErrorTest', - }, - ], - }, - // sanity check that it handles suggestion output { code: ` @@ -431,7 +390,7 @@ ruleTester.run({ suggestions: [ { messageId: 'bar', - output: 'const x = 1;', + output: 'const x=1;', }, ], }, @@ -444,9 +403,6 @@ ruleTester.run({ { messageId: 'invalidFormattingErrorTest', }, - { - messageId: 'invalidFormattingErrorTest', - }, ], }, @@ -550,28 +506,5 @@ foo }, ], }, - - // checks tests with .trimRight calls - { - code: wrap`'const a=1;'.trimRight()`, - output: wrap`'const a = 1;'.trimRight()`, - errors: [ - { - messageId: 'invalidFormatting', - }, - ], - }, - { - code: wrap`\`const a = "1"; -${CODE_INDENT}\`.trimRight()`, - output: wrap`\` -const a = "1"; -${CODE_INDENT}\`.trimRight()`, - errors: [ - { - messageId: 'templateLiteralEmptyEnds', - }, - ], - }, ], }); diff --git a/packages/eslint-plugin-tslint/CHANGELOG.md b/packages/eslint-plugin-tslint/CHANGELOG.md index 16ecd0712d88..63165478ef89 100644 --- a/packages/eslint-plugin-tslint/CHANGELOG.md +++ b/packages/eslint-plugin-tslint/CHANGELOG.md @@ -3,6 +3,30 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [5.35.1](https://github.com/typescript-eslint/typescript-eslint/compare/v5.35.0...v5.35.1) (2022-08-24) + +**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint + + + + + +# [5.35.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.34.0...v5.35.0) (2022-08-24) + +**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint + + + + + +# [5.34.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.33.1...v5.34.0) (2022-08-22) + +**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint + + + + + ## [5.33.1](https://github.com/typescript-eslint/typescript-eslint/compare/v5.33.0...v5.33.1) (2022-08-15) **Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint diff --git a/packages/eslint-plugin-tslint/package.json b/packages/eslint-plugin-tslint/package.json index 36e4a8d79899..25f33f2b6046 100644 --- a/packages/eslint-plugin-tslint/package.json +++ b/packages/eslint-plugin-tslint/package.json @@ -1,6 +1,6 @@ { "name": "@typescript-eslint/eslint-plugin-tslint", - "version": "5.33.1", + "version": "5.35.1", "main": "dist/index.js", "typings": "src/index.ts", "description": "TSLint wrapper plugin for ESLint", @@ -38,7 +38,7 @@ "typecheck": "tsc -p tsconfig.json --noEmit" }, "dependencies": { - "@typescript-eslint/utils": "5.33.1", + "@typescript-eslint/utils": "5.35.1", "lodash": "^4.17.21" }, "peerDependencies": { @@ -48,6 +48,6 @@ }, "devDependencies": { "@types/lodash": "*", - "@typescript-eslint/parser": "5.33.1" + "@typescript-eslint/parser": "5.35.1" } } diff --git a/packages/eslint-plugin/CHANGELOG.md b/packages/eslint-plugin/CHANGELOG.md index 4ddd503f3357..572b02012b2e 100644 --- a/packages/eslint-plugin/CHANGELOG.md +++ b/packages/eslint-plugin/CHANGELOG.md @@ -3,6 +3,44 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [5.35.1](https://github.com/typescript-eslint/typescript-eslint/compare/v5.35.0...v5.35.1) (2022-08-24) + + +### Bug Fixes + +* **eslint-plugin:** correct rule schemas to pass ajv validation ([#5531](https://github.com/typescript-eslint/typescript-eslint/issues/5531)) ([dbf8b56](https://github.com/typescript-eslint/typescript-eslint/commit/dbf8b569dbada29e4a295d6c265976e55de1b2aa)) + + + + + +# [5.35.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.34.0...v5.35.0) (2022-08-24) + + +### Features + +* **eslint-plugin:** [explicit-member-accessibility] suggest adding explicit accessibility specifiers ([#5492](https://github.com/typescript-eslint/typescript-eslint/issues/5492)) ([0edb94a](https://github.com/typescript-eslint/typescript-eslint/commit/0edb94aee55e1ec6afa7f46f99a9b308bbb66301)) + + + + + +# [5.34.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.33.1...v5.34.0) (2022-08-22) + + +### Bug Fixes + +* **eslint-plugin:** [no-useless-constructor] handle parameter decorator ([#5450](https://github.com/typescript-eslint/typescript-eslint/issues/5450)) ([864dbcf](https://github.com/typescript-eslint/typescript-eslint/commit/864dbcfccba274fe1b26eac8aeeaf2a2355b5969)) + + +### Features + +* **eslint-plugin:** [prefer-optional-chain] support suggesting `!foo || !foo.bar` as a valid match for the rule ([#5266](https://github.com/typescript-eslint/typescript-eslint/issues/5266)) ([aca935c](https://github.com/typescript-eslint/typescript-eslint/commit/aca935c9696712d4aff18144c4690db4d6ba9bf9)) + + + + + ## [5.33.1](https://github.com/typescript-eslint/typescript-eslint/compare/v5.33.0...v5.33.1) (2022-08-15) diff --git a/packages/eslint-plugin/docs/rules/TEMPLATE.md b/packages/eslint-plugin/docs/rules/TEMPLATE.md index a49ed54ac02a..20ca5d8bdbe6 100644 --- a/packages/eslint-plugin/docs/rules/TEMPLATE.md +++ b/packages/eslint-plugin/docs/rules/TEMPLATE.md @@ -20,33 +20,6 @@ To fill out: tell us more about this rule. // To fill out: correct code ``` -## Options - -This rule is not configurable. - -```jsonc -// .eslintrc.json -{ - "rules": { - "@typescript-eslint/your-rule-name": "error" - } -} -``` - -If not configurable: This rule is not configurable. - -If configurable... - -```ts -type Options = { - someOption?: boolean; -}; - -const defaultOptions: Options = { - someOption: false, -}; -``` - ## When Not To Use It To fill out: why wouldn't you want to use this rule? diff --git a/packages/eslint-plugin/docs/rules/adjacent-overload-signatures.md b/packages/eslint-plugin/docs/rules/adjacent-overload-signatures.md index 27fc807e555f..422824d7f3e9 100644 --- a/packages/eslint-plugin/docs/rules/adjacent-overload-signatures.md +++ b/packages/eslint-plugin/docs/rules/adjacent-overload-signatures.md @@ -88,19 +88,6 @@ export function foo(n: number): void; export function foo(sn: string | number): void; ``` -## Options - -```jsonc -// .eslintrc.json -{ - "rules": { - "@typescript-eslint/adjacent-overload-signatures": "error" - } -} -``` - -This rule is not configurable. - ## When Not To Use It If you don't care about the general structure of the code, then you will not need this rule. diff --git a/packages/eslint-plugin/docs/rules/array-type.md b/packages/eslint-plugin/docs/rules/array-type.md index e72266ff31ce..08b9ddfb3861 100644 --- a/packages/eslint-plugin/docs/rules/array-type.md +++ b/packages/eslint-plugin/docs/rules/array-type.md @@ -14,25 +14,6 @@ This rule aims to standardize usage of array types within your codebase. ## Options -```ts -type ArrayOption = 'array' | 'generic' | 'array-simple'; -type Options = { - default: ArrayOption; - readonly?: ArrayOption; -}; - -const defaultOptions: Options = { - default: 'array', -}; -``` - -The rule accepts an options object with the following properties: - -- `default` - sets the array type expected for mutable cases. -- `readonly` - sets the array type expected for readonly arrays. If this is omitted, then the value for `default` will be used. - -Each property can be set to one of three strings: `'array' | 'generic' | 'array-simple'`. - The default config will enforce that all mutable and readonly arrays use the `'array'` syntax. ### `"array"` diff --git a/packages/eslint-plugin/docs/rules/await-thenable.md b/packages/eslint-plugin/docs/rules/await-thenable.md index b47107e48dfd..dda209099712 100644 --- a/packages/eslint-plugin/docs/rules/await-thenable.md +++ b/packages/eslint-plugin/docs/rules/await-thenable.md @@ -33,19 +33,6 @@ const createValue = async () => 'value'; await createValue(); ``` -## Options - -```jsonc -// .eslintrc.json -{ - "rules": { - "@typescript-eslint/await-thenable": "error" - } -} -``` - -This rule is not configurable. - ## When Not To Use It If you want to allow code to `await` non-Promise values. diff --git a/packages/eslint-plugin/docs/rules/ban-ts-comment.md b/packages/eslint-plugin/docs/rules/ban-ts-comment.md index d658b599a003..efadc961e104 100644 --- a/packages/eslint-plugin/docs/rules/ban-ts-comment.md +++ b/packages/eslint-plugin/docs/rules/ban-ts-comment.md @@ -21,32 +21,10 @@ The directive comments supported by TypeScript are: ## Rule Details This rule lets you set which directive comments you want to allow in your codebase. -By default, only `@ts-check` is allowed, as it enables rather than suppresses errors. - -The configuration looks like this: -```ts -type DirectiveConfig = - | boolean - | 'allow-with-description' - | { descriptionFormat: string }; - -interface Options { - 'ts-expect-error'?: DirectiveConfig; - 'ts-ignore'?: DirectiveConfig; - 'ts-nocheck'?: DirectiveConfig; - 'ts-check'?: DirectiveConfig; - minimumDescriptionLength?: number; -} +## Options -const defaultOptions: Options = { - 'ts-expect-error': 'allow-with-description', - 'ts-ignore': true, - 'ts-nocheck': true, - 'ts-check': false, - minimumDescriptionLength: 3, -}; -``` +By default, only `@ts-check` is allowed, as it enables rather than suppresses errors. ### `ts-expect-error`, `ts-ignore`, `ts-nocheck`, `ts-check` directives diff --git a/packages/eslint-plugin/docs/rules/ban-tslint-comment.md b/packages/eslint-plugin/docs/rules/ban-tslint-comment.md index 9b37077d74ba..fc9fe81af6bc 100644 --- a/packages/eslint-plugin/docs/rules/ban-tslint-comment.md +++ b/packages/eslint-plugin/docs/rules/ban-tslint-comment.md @@ -34,19 +34,6 @@ someCode(); // tslint:disable-line someCode(); // This is a comment that just happens to mention tslint ``` -## Options - -```jsonc -// .eslintrc.json -{ - "rules": { - "@typescript-eslint/ban-tslint-comment": "warn" - } -} -``` - -This rule is not configurable. - ## When Not To Use It If you are still using TSLint. diff --git a/packages/eslint-plugin/docs/rules/ban-types.md b/packages/eslint-plugin/docs/rules/ban-types.md index ca557b88dab1..2d0b345cda80 100644 --- a/packages/eslint-plugin/docs/rules/ban-types.md +++ b/packages/eslint-plugin/docs/rules/ban-types.md @@ -6,7 +6,7 @@ description: 'Disallow certain types.' > > See **https://typescript-eslint.io/rules/ban-types** for documentation. -Some builtin types have aliases, some types are considered dangerous or harmful. +Some built-in types have aliases, while some types are considered dangerous or harmful. It's often a good idea to ban certain types to help with consistency and safety. ## Rule Details @@ -14,72 +14,53 @@ It's often a good idea to ban certain types to help with consistency and safety. This rule bans specific types and can suggest alternatives. Note that it does not ban the corresponding runtime objects from being used. -## Options - -```ts -type Options = { - types?: { - [typeName: string]: - | false - | string - | { - message: string; - fixWith?: string; - }; - }; - extendDefaults?: boolean; -}; -``` - -The rule accepts a single object as options. - -### `types` +Examples of code with the default options: -An object whose keys are the types you want to ban, and the values are error messages. + -The type can either be a type name literal (`Foo`), a type name with generic parameter instantiation(s) (`Foo`), the empty object literal (`{}`), or the empty tuple type (`[]`). +### ❌ Incorrect -The values can be: +```ts +// use lower-case primitives for consistency +const str: String = 'foo'; +const bool: Boolean = true; +const num: Number = 1; +const symb: Symbol = Symbol('foo'); +const bigInt: BigInt = 1n; -- A string, which is the error message to be reported; or -- `false` to specifically un-ban this type (useful when you are using `extendDefaults`); or -- An object with the following properties: - - `message: string` - the message to display when the type is matched. - - `fixWith?: string` - a string to replace the banned type with when the fixer is run. If this is omitted, no fix will be done. +// use a proper function type +const func: Function = () => 1; -### `extendDefaults` +// use safer object types +const lowerObj: Object = {}; +const capitalObj: Object = { a: 'string' }; -If you're specifying custom `types`, you can set this to `true` to extend the default `types` configuration. This is a convenience option to save you copying across the defaults when adding another type. +const curly1: {} = 1; +const curly2: {} = { a: 'string' }; +``` -If this is `false`, the rule will _only_ use the types defined in your configuration. +### ✅ Correct -Example configuration: +```ts +// use lower-case primitives for consistency +const str: string = 'foo'; +const bool: boolean = true; +const num: number = 1; +const symb: symbol = Symbol('foo'); +const bigInt: bigint = 1n; -```jsonc -{ - "@typescript-eslint/ban-types": [ - "error", - { - "types": { - // add a custom message to help explain why not to use it - "Foo": "Don't use Foo because it is unsafe", +// use a proper function type +const func: () => number = () => 1; - // add a custom message, AND tell the plugin how to fix it - "OldAPI": { - "message": "Use NewAPI instead", - "fixWith": "NewAPI" - }, +// use safer object types +const lowerObj: object = {}; +const capitalObj: { a: string } = { a: 'string' }; - // un-ban a type that's banned by default - "{}": false - }, - "extendDefaults": true - } - ] -} +const curly1: number = 1; +const curly2: Record<'a', string> = { a: 'string' }; ``` -### Default Options +## Options The default options provide a set of "best practices", intended to provide safety and standardization in your codebase: @@ -122,7 +103,6 @@ const defaultTypes = { message: 'Use bigint instead', fixWith: 'bigint', }, - Function: { message: [ 'The `Function` type accepts any function-like value.', @@ -131,7 +111,6 @@ const defaultTypes = { 'If you are expecting the function to accept certain arguments, you should explicitly define the function shape.', ].join('\n'), }, - // object typing Object: { message: [ @@ -152,52 +131,48 @@ const defaultTypes = { -### Examples - -Examples of code with the default options: - - +### `types` -#### ❌ Incorrect +An object whose keys are the types you want to ban, and the values are error messages. -```ts -// use lower-case primitives for consistency -const str: String = 'foo'; -const bool: Boolean = true; -const num: Number = 1; -const symb: Symbol = Symbol('foo'); -const bigInt: BigInt = 1n; +The type can either be a type name literal (`Foo`), a type name with generic parameter instantiation(s) (`Foo`), the empty object literal (`{}`), or the empty tuple type (`[]`). -// use a proper function type -const func: Function = () => 1; +The values can be: -// use safer object types -const capitalObj1: Object = 1; -const capitalObj2: Object = { a: 'string' }; +- A string, which is the error message to be reported; or +- `false` to specifically un-ban this type (useful when you are using `extendDefaults`); or +- An object with the following properties: + - `message: string` - the message to display when the type is matched. + - `fixWith?: string` - a string to replace the banned type with when the fixer is run. If this is omitted, no fix will be done. -const curly1: {} = 1; -const curly2: {} = { a: 'string' }; -``` +### `extendDefaults` -#### ✅ Correct +If you're specifying custom `types`, you can set this to `true` to extend the default `types` configuration. This is a convenience option to save you copying across the defaults when adding another type. -```ts -// use lower-case primitives for consistency -const str: string = 'foo'; -const bool: boolean = true; -const num: number = 1; -const symb: symbol = Symbol('foo'); -const bigInt: bigint = 1n; +If this is `false`, the rule will _only_ use the types defined in your configuration. -// use a proper function type -const func: () => number = () => 1; +Example configuration: -// use safer object types -const lowerObj: object = {}; +```jsonc +{ + "@typescript-eslint/ban-types": [ + "error", + { + "types": { + // add a custom message to help explain why not to use it + "Foo": "Don't use Foo because it is unsafe", -const capitalObj1: number = 1; -const capitalObj2: { a: string } = { a: 'string' }; + // add a custom message, AND tell the plugin how to fix it + "OldAPI": { + "message": "Use NewAPI instead", + "fixWith": "NewAPI" + }, -const curly1: number = 1; -const curly2: Record<'a', string> = { a: 'string' }; + // un-ban a type that's banned by default + "{}": false + }, + "extendDefaults": true + } + ] +} ``` diff --git a/packages/eslint-plugin/docs/rules/brace-style.md b/packages/eslint-plugin/docs/rules/brace-style.md index 3487df67fb31..18f93c48a5ed 100644 --- a/packages/eslint-plugin/docs/rules/brace-style.md +++ b/packages/eslint-plugin/docs/rules/brace-style.md @@ -10,23 +10,3 @@ description: 'Enforce consistent brace style for blocks.' This rule extends the base [`eslint/brace-style`](https://eslint.org/docs/rules/brace-style) rule. It adds support for `enum`, `interface`, `namespace` and `module` declarations. - -## How to Use - -```jsonc -{ - // note you must disable the base rule as it can report incorrect errors - "brace-style": "off", - "@typescript-eslint/brace-style": ["error"] -} -``` - -## Options - -See [`eslint/brace-style` options](https://eslint.org/docs/rules/brace-style#options). - - - -Taken with ❤️ [from ESLint core](https://github.com/eslint/eslint/blob/main/docs/rules/brace-style.md) - - diff --git a/packages/eslint-plugin/docs/rules/camelcase.md b/packages/eslint-plugin/docs/rules/camelcase.md index cea28224965f..1b3c0e893183 100644 --- a/packages/eslint-plugin/docs/rules/camelcase.md +++ b/packages/eslint-plugin/docs/rules/camelcase.md @@ -1,7 +1,9 @@ -## DEPRECATED +:::danger Deprecated This rule has been deprecated in favour of the [`naming-convention`](./naming-convention.md) rule. +::: + diff --git a/packages/eslint-plugin/docs/rules/consistent-indexed-object-style.md b/packages/eslint-plugin/docs/rules/consistent-indexed-object-style.md index 474d7352632f..918c27fef618 100644 --- a/packages/eslint-plugin/docs/rules/consistent-indexed-object-style.md +++ b/packages/eslint-plugin/docs/rules/consistent-indexed-object-style.md @@ -20,34 +20,24 @@ type Foo = { type Foo = Record; ``` -## Options - -- `"record"`: Set to `"record"` to only allow the `Record` type. Set to `"index-signature"` to only allow index signatures. (Defaults to `"record"`) - -For example: - -```json -{ - "@typescript-eslint/consistent-indexed-object-style": [ - "error", - "index-signature" - ] -} -``` - ## Rule Details This rule enforces a consistent way to define records. -### `record` +## Options + +- `"record"` _(default)_: only allow the `Record` type. +- `"index-signature"`: only allow index signatures. -Examples of code with `record` option. +### `record` #### ❌ Incorrect ```ts +/* eslint @typescript-eslint/consistent-indexed-object-style: ["error", "record"] */ + interface Foo { [key: string]: unknown; } @@ -60,24 +50,28 @@ type Foo = { #### ✅ Correct ```ts +/* eslint @typescript-eslint/consistent-indexed-object-style: ["error", "record"] */ + type Foo = Record; ``` ### `index-signature` -Examples of code with `index-signature` option. - #### ❌ Incorrect ```ts +/* eslint @typescript-eslint/consistent-indexed-object-style: ["error", "index-signature"] */ + type Foo = Record; ``` #### ✅ Correct ```ts +/* eslint @typescript-eslint/consistent-indexed-object-style: ["error", "index-signature"] */ + interface Foo { [key: string]: unknown; } diff --git a/packages/eslint-plugin/docs/rules/consistent-type-assertions.md b/packages/eslint-plugin/docs/rules/consistent-type-assertions.md index c8c192259174..f6d439613cba 100644 --- a/packages/eslint-plugin/docs/rules/consistent-type-assertions.md +++ b/packages/eslint-plugin/docs/rules/consistent-type-assertions.md @@ -14,26 +14,10 @@ Type assertions are also commonly referred as "type casting" in TypeScript (even In addition to ensuring that type assertions are written in a consistent way, this rule also helps make your codebase more type-safe. -`const` assertions, [introduced in TypeScript 3.4](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-4.html#const-assertions), is always allowed by this rule. Examples of it include `let x = "hello" as const;` and `let x = "hello";`. +[`const` assertions](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-4.html#const-assertions) are always allowed by this rule. Examples of them include `let x = "hello" as const;` and `let x = "hello";`. ## Options -```ts -type Options = - | { - assertionStyle: 'as' | 'angle-bracket'; - objectLiteralTypeAssertions: 'allow' | 'allow-as-parameter' | 'never'; - } - | { - assertionStyle: 'never'; - }; - -const defaultOptions: Options = { - assertionStyle: 'as', - objectLiteralTypeAssertions: 'allow', -}; -``` - ### `assertionStyle` This option defines the expected assertion style. Valid values for `assertionStyle` are: @@ -56,7 +40,7 @@ The const assertion `const x = { foo: 1 } as const`, introduced in TypeScript 3. Assertions to `any` are also ignored by this option. -Examples of code for `{ assertionStyle: 'as', objectLiteralTypeAssertions: 'never' }` +Examples of code for `{ assertionStyle: 'as', objectLiteralTypeAssertions: 'never' }`: @@ -84,7 +68,7 @@ function foo(): T { -Examples of code for `{ assertionStyle: 'as', objectLiteralTypeAssertions: 'allow-as-parameter' }` +Examples of code for `{ assertionStyle: 'as', objectLiteralTypeAssertions: 'allow-as-parameter' }`: diff --git a/packages/eslint-plugin/docs/rules/consistent-type-definitions.md b/packages/eslint-plugin/docs/rules/consistent-type-definitions.md index f662841bfd58..5d400a28a1c2 100644 --- a/packages/eslint-plugin/docs/rules/consistent-type-definitions.md +++ b/packages/eslint-plugin/docs/rules/consistent-type-definitions.md @@ -24,35 +24,26 @@ interface T2 { ## Options -This rule accepts one string option: - -- `"interface"`: enforce using `interface`s for object type definitions. +- `"interface"` _(default)_: enforce using `interface`s for object type definitions. - `"type"`: enforce using `type`s for object type definitions. -For example: - -```jsonc -{ - // Use type for object definitions - "@typescript-eslint/consistent-type-definitions": ["error", "type"] -} -``` - ### `interface` -Examples of code with `interface` option. - #### ❌ Incorrect ```ts +/* eslint @typescript-eslint/consistent-type-definitions: ["error", "interface"] */ + type T = { x: number }; ``` #### ✅ Correct ```ts +/* eslint @typescript-eslint/consistent-type-definitions: ["error", "interface"] */ + type T = string; type Foo = string | {}; @@ -63,13 +54,13 @@ interface T { ### `type` -Examples of code with `type` option. - #### ❌ Incorrect ```ts +/* eslint @typescript-eslint/consistent-type-definitions: ["error", "type"] */ + interface T { x: number; } @@ -78,6 +69,8 @@ interface T { #### ✅ Correct ```ts +/* eslint @typescript-eslint/consistent-type-definitions: ["error", "type"] */ + type T = { x: number }; ``` diff --git a/packages/eslint-plugin/docs/rules/consistent-type-exports.md b/packages/eslint-plugin/docs/rules/consistent-type-exports.md index 2f5f72802512..97a11e65a28f 100644 --- a/packages/eslint-plugin/docs/rules/consistent-type-exports.md +++ b/packages/eslint-plugin/docs/rules/consistent-type-exports.md @@ -6,14 +6,12 @@ description: 'Enforce consistent usage of type exports.' > > See **https://typescript-eslint.io/rules/consistent-type-exports** for documentation. -TypeScript 3.8 added support for type-only exports. - Type-only exports allow you to specify that 1 or more named exports are exported as type-only. This allows transpilers to drop exports without knowing the types of the dependencies. ## Rule Details -This rule aims to standardize the use of type exports style across a codebase. +This rule aims to standardize the use of type exports style. Given a class `Button`, and an interface `ButtonProps`, examples of code: @@ -25,11 +23,13 @@ Given a class `Button`, and an interface `ButtonProps`, examples of code: interface ButtonProps { onClick: () => void; } + class Button implements ButtonProps { onClick() { console.log('button!'); } } + export { Button, ButtonProps }; ``` @@ -50,16 +50,6 @@ export type { ButtonProps }; ## Options -```ts -interface Options { - fixMixedExportsWithInlineTypeSpecifier?: boolean; -} - -const defaultOptions: Options = { - fixMixedExportsWithInlineTypeSpecifier: false, -}; -``` - ### `fixMixedExportsWithInlineTypeSpecifier` When this is set to true, the rule will autofix "mixed" export cases using TS 4.5's "inline type specifier". @@ -110,6 +100,5 @@ export { Button, type ButtonProps } from 'some-library'; ## When Not To Use It -- If you are using a TypeScript version less than 3.8, then you will not be able to use this rule as type exports are not supported. - If you specifically want to use both export kinds for stylistic reasons, you can disable this rule. - If you use `--isolatedModules` the compiler would error if a type is not re-exported using `export type`. If you also don't wish to enforce one style over the other, you can disable this rule. diff --git a/packages/eslint-plugin/docs/rules/consistent-type-imports.md b/packages/eslint-plugin/docs/rules/consistent-type-imports.md index 192454f13e7b..9293fca42c6a 100644 --- a/packages/eslint-plugin/docs/rules/consistent-type-imports.md +++ b/packages/eslint-plugin/docs/rules/consistent-type-imports.md @@ -6,27 +6,14 @@ description: 'Enforce consistent usage of type imports.' > > See **https://typescript-eslint.io/rules/consistent-type-imports** for documentation. -TypeScript 3.8 added support for type-only imports. Type-only imports allow you to specify that an import can only be used in a type location, allowing certain optimizations within compilers. ## Rule Details -This rule aims to standardize the use of type imports style across the codebase. +This rule aims to standardize the use of type imports style. ## Options -```ts -type Options = { - prefer: 'type-imports' | 'no-type-imports'; - disallowTypeAnnotations: boolean; -}; - -const defaultOptions: Options = { - prefer: 'type-imports', - disallowTypeAnnotations: true, -}; -``` - ### `prefer` This option defines the expected import kind for type-only imports. Valid values for `prefer` are: @@ -54,10 +41,10 @@ const x: Bar = 1; ### `disallowTypeAnnotations` -If `true`, type imports in type annotations (`import()`) is not allowed. +If `true`, type imports in type annotations (`import()`) are not allowed. Default is `true`. -Examples of **incorrect** code with `{disallowTypeAnnotations: true}`. +Examples of **incorrect** code with `{disallowTypeAnnotations: true}`: ```ts type T = import('Foo').Foo; @@ -66,5 +53,4 @@ const x: import('Bar') = 1; ## When Not To Use It -- If you are not using TypeScript 3.8 (or greater), then you will not be able to use this rule, as type-only imports are not allowed. - If you specifically want to use both import kinds for stylistic reasons, you can disable this rule. diff --git a/packages/eslint-plugin/docs/rules/default-param-last.md b/packages/eslint-plugin/docs/rules/default-param-last.md index ff5ad9facc3f..9a0624fca227 100644 --- a/packages/eslint-plugin/docs/rules/default-param-last.md +++ b/packages/eslint-plugin/docs/rules/default-param-last.md @@ -16,7 +16,7 @@ It adds support for optional parameters. ### ❌ Incorrect ```ts -/* eslint @typescript-eslint/default-param-last: ["error"] */ +/* eslint @typescript-eslint/default-param-last: "error" */ function f(a = 0, b: number) {} function f(a: number, b = 0, c: number) {} @@ -32,7 +32,7 @@ class Foo { ### ✅ Correct ```ts -/* eslint @typescript-eslint/default-param-last: ["error"] */ +/* eslint @typescript-eslint/default-param-last: "error" */ function f(a = 0) {} function f(a: number, b = 0) {} @@ -46,23 +46,3 @@ class Foo { constructor(public a, private b?: number) {} } ``` - -## How to Use - -```jsonc -{ - // note you must disable the base rule as it can report incorrect errors - "default-param-last": "off", - "@typescript-eslint/default-param-last": ["error"] -} -``` - -## Options - -See [`eslint/default-param-last` options](https://eslint.org/docs/rules/default-param-last#options). - - - -Taken with ❤️ [from ESLint core](https://github.com/eslint/eslint/blob/main/docs/rules/default-param-last.md) - - diff --git a/packages/eslint-plugin/docs/rules/dot-notation.md b/packages/eslint-plugin/docs/rules/dot-notation.md index 6051e369c791..741de5ee5e71 100644 --- a/packages/eslint-plugin/docs/rules/dot-notation.md +++ b/packages/eslint-plugin/docs/rules/dot-notation.md @@ -14,19 +14,8 @@ It adds: - Support for optionally ignoring computed `private` and/or `protected` member access. - Compatibility with TypeScript's `noPropertyAccessFromIndexSignature` option. -## How to Use - -```jsonc -{ - // note you must disable the base rule as it can report incorrect errors - "dot-notation": "off", - "@typescript-eslint/dot-notation": ["error"] -} -``` - ## Options -See [`eslint/dot-notation`](https://eslint.org/docs/rules/dot-notation#options) options. This rule adds the following options: ```ts @@ -35,6 +24,7 @@ interface Options extends BaseDotNotationOptions { allowProtectedClassPropertyAccess?: boolean; allowIndexSignaturePropertyAccess?: boolean; } + const defaultOptions: Options = { ...baseDotNotationDefaultOptions, allowPrivateClassPropertyAccess: false, @@ -47,7 +37,7 @@ If the TypeScript compiler option `noPropertyAccessFromIndexSignature` is set to ### `allowPrivateClassPropertyAccess` -Example of a correct code when `allowPrivateClassPropertyAccess` is set to `true` +Example of a correct code when `allowPrivateClassPropertyAccess` is set to `true`: ```ts class X { @@ -60,7 +50,7 @@ x['priv_prop'] = 123; ### `allowProtectedClassPropertyAccess` -Example of a correct code when `allowProtectedClassPropertyAccess` is set to `true` +Example of a correct code when `allowProtectedClassPropertyAccess` is set to `true`: ```ts class X { @@ -73,7 +63,7 @@ x['protected_prop'] = 123; ### `allowIndexSignaturePropertyAccess` -Example of correct code when `allowIndexSignaturePropertyAccess` is set to `true` +Example of correct code when `allowIndexSignaturePropertyAccess` is set to `true`: ```ts class X { @@ -85,9 +75,3 @@ x['hello'] = 123; ``` If the TypeScript compiler option `noPropertyAccessFromIndexSignature` is set to `true`, then the above code is always allowed, even if `allowIndexSignaturePropertyAccess` is `false`. - - - -Taken with ❤️ [from ESLint core](https://github.com/eslint/eslint/blob/main/docs/rules/dot-notation.md) - - diff --git a/packages/eslint-plugin/docs/rules/explicit-function-return-type.md b/packages/eslint-plugin/docs/rules/explicit-function-return-type.md index e0b96592eda3..5697be355b57 100644 --- a/packages/eslint-plugin/docs/rules/explicit-function-return-type.md +++ b/packages/eslint-plugin/docs/rules/explicit-function-return-type.md @@ -67,36 +67,6 @@ class Test { ## Options -The rule accepts an options object with the following properties: - -```ts -type Options = { - // if true, only functions which are part of a declaration will be checked - allowExpressions?: boolean; - // if true, type annotations are also allowed on the variable of a function expression rather than on the function directly - allowTypedFunctionExpressions?: boolean; - // if true, functions immediately returning another function expression will not be checked - allowHigherOrderFunctions?: boolean; - // if true, arrow functions immediately returning a `as const` value will not be checked - allowDirectConstAssertionInArrowFunctions?: boolean; - // if true, concise arrow functions that start with the void keyword will not be checked - allowConciseArrowFunctionExpressionsStartingWithVoid?: boolean; - /** - * An array of function/method names that will not have their arguments or their return values checked. - */ - allowedNames?: string[]; -}; - -const defaults = { - allowExpressions: false, - allowTypedFunctionExpressions: true, - allowHigherOrderFunctions: true, - allowDirectConstAssertionInArrowFunctions: true, - allowConciseArrowFunctionExpressionsStartingWithVoid: false, - allowedNames: [], -}; -``` - ### Configuring in a mixed JS/TS codebase If you are working on a codebase within which you lint non-TypeScript code (i.e. `.js`/`.mjs`/`.cjs`/`.jsx`), you should ensure that you should use [ESLint `overrides`](https://eslint.org/docs/user-guide/configuring#disabling-rules-only-for-a-group-of-files) to only enable the rule on `.ts`/`.mts`/`.cts`/`.tsx` files. If you don't, then you will get unfixable lint errors reported within `.js`/`.mjs`/`.cjs`/`.jsx` files. @@ -112,7 +82,7 @@ If you are working on a codebase within which you lint non-TypeScript code (i.e. // enable the rule specifically for TypeScript files "files": ["*.ts", "*.mts", "*.cts", "*.tsx"], "rules": { - "@typescript-eslint/explicit-function-return-type": ["error"] + "@typescript-eslint/explicit-function-return-type": "error" } } ] diff --git a/packages/eslint-plugin/docs/rules/explicit-member-accessibility.md b/packages/eslint-plugin/docs/rules/explicit-member-accessibility.md index d32100f534e7..6cb6068a8874 100644 --- a/packages/eslint-plugin/docs/rules/explicit-member-accessibility.md +++ b/packages/eslint-plugin/docs/rules/explicit-member-accessibility.md @@ -18,29 +18,6 @@ which properties. ## Options -```ts -type AccessibilityLevel = - | 'explicit' // require an accessor (including public) - | 'no-public' // don't require public - | 'off'; // don't check - -type Options = { - accessibility?: AccessibilityLevel; - ignoredMethodNames?: string[]; - overrides?: { - accessors?: AccessibilityLevel; - constructors?: AccessibilityLevel; - methods?: AccessibilityLevel; - properties?: AccessibilityLevel; - parameterProperties?: AccessibilityLevel; - }; -}; - -const defaultOptions: Options = { - accessibility: 'explicit', -}; -``` - ### Configuring in a mixed JS/TS codebase If you are working on a codebase within which you lint non-TypeScript code (i.e. `.js`/`.mjs`/`.cjs`/`.jsx`), you should ensure that you should use [ESLint `overrides`](https://eslint.org/docs/user-guide/configuring#disabling-rules-only-for-a-group-of-files) to only enable the rule on `.ts`/`.mts`/`.cts`/`.tsx` files. If you don't, then you will get unfixable lint errors reported within `.js`/`.mjs`/`.cjs`/`.jsx` files. @@ -56,7 +33,7 @@ If you are working on a codebase within which you lint non-TypeScript code (i.e. // enable the rule specifically for TypeScript files "files": ["*.ts", "*.mts", "*.cts", "*.tsx"], "rules": { - "@typescript-eslint/explicit-member-accessibility": ["error"] + "@typescript-eslint/explicit-member-accessibility": "error" } } ] diff --git a/packages/eslint-plugin/docs/rules/explicit-module-boundary-types.md b/packages/eslint-plugin/docs/rules/explicit-module-boundary-types.md index 6c0525688c07..48626a34b08f 100644 --- a/packages/eslint-plugin/docs/rules/explicit-module-boundary-types.md +++ b/packages/eslint-plugin/docs/rules/explicit-module-boundary-types.md @@ -72,46 +72,6 @@ class Test { ## Options -The rule accepts an options object with the following properties: - -```ts -type Options = { - /** - * If true, the rule will not report for arguments that are explicitly typed as `any` - */ - allowArgumentsExplicitlyTypedAsAny?: boolean; - /** - * If true, body-less arrow functions that return an `as const` type assertion will not - * require an explicit return value annotation. - * You must still type the parameters of the function. - */ - allowDirectConstAssertionInArrowFunctions?: boolean; - /** - * An array of function/method names that will not have their arguments or their return values checked. - */ - allowedNames?: string[]; - /** - * If true, functions immediately returning another function expression will not - * require an explicit return value annotation. - * You must still type the parameters of the function. - */ - allowHigherOrderFunctions?: boolean; - /** - * If true, type annotations are also allowed on the variable of a function expression - * rather than on the function arguments/return value directly. - */ - allowTypedFunctionExpressions?: boolean; -}; - -const defaults = { - allowArgumentsExplicitlyTypedAsAny: false, - allowDirectConstAssertionInArrowFunctions: true, - allowedNames: [], - allowHigherOrderFunctions: true, - allowTypedFunctionExpressions: true, -}; -``` - ### Configuring in a mixed JS/TS codebase If you are working on a codebase within which you lint non-TypeScript code (i.e. `.js`/`.mjs`/`.cjs`/`.jsx`), you should ensure that you should use [ESLint `overrides`](https://eslint.org/docs/user-guide/configuring#disabling-rules-only-for-a-group-of-files) to only enable the rule on `.ts`/`.mts`/`.cts`/`.tsx` files. If you don't, then you will get unfixable lint errors reported within `.js`/`.mjs`/`.cjs`/`.jsx` files. @@ -127,7 +87,7 @@ If you are working on a codebase within which you lint non-TypeScript code (i.e. // enable the rule specifically for TypeScript files "files": ["*.ts", "*.mts", "*.cts", "*.tsx"], "rules": { - "@typescript-eslint/explicit-module-boundary-types": ["error"] + "@typescript-eslint/explicit-module-boundary-types": "error" } } ] diff --git a/packages/eslint-plugin/docs/rules/func-call-spacing.md b/packages/eslint-plugin/docs/rules/func-call-spacing.md index 772c86e7c709..74de5955e9b7 100644 --- a/packages/eslint-plugin/docs/rules/func-call-spacing.md +++ b/packages/eslint-plugin/docs/rules/func-call-spacing.md @@ -10,23 +10,3 @@ description: 'Require or disallow spacing between function identifiers and their This rule extends the base [`eslint/func-call-spacing`](https://eslint.org/docs/rules/func-call-spacing) rule. It adds support for generic type parameters on function calls. - -## How to Use - -```jsonc -{ - // note you must disable the base rule as it can report incorrect errors - "func-call-spacing": "off", - "@typescript-eslint/func-call-spacing": ["error"] -} -``` - -## Options - -See [`eslint/func-call-spacing` options](https://eslint.org/docs/rules/func-call-spacing#options). - - - -Taken with ❤️ [from ESLint core](https://github.com/eslint/eslint/blob/main/docs/rules/func-call-spacing.md) - - diff --git a/packages/eslint-plugin/docs/rules/indent.md b/packages/eslint-plugin/docs/rules/indent.md index 7f937d3747cd..6c16f6f0c21d 100644 --- a/packages/eslint-plugin/docs/rules/indent.md +++ b/packages/eslint-plugin/docs/rules/indent.md @@ -8,29 +8,13 @@ description: 'Enforce consistent indentation.' ## Warning -PLEASE READ THIS ISSUE BEFORE USING THIS RULE [#1824](https://github.com/typescript-eslint/typescript-eslint/issues/1824) +:::warning + +Please read [Issue #1824: Problems with the indent rule](https://github.com/typescript-eslint/typescript-eslint/issues/1824) before using this rule! + +::: ## Rule Details This rule extends the base [`eslint/indent`](https://eslint.org/docs/rules/indent) rule. It adds support for TypeScript nodes. - -## How to Use - -```jsonc -{ - // note you must disable the base rule as it can report incorrect errors - "indent": "off", - "@typescript-eslint/indent": ["error"] -} -``` - -## Options - -See [`eslint/indent` options](https://eslint.org/docs/rules/indent#options). - - - -Taken with ❤️ [from ESLint core](https://github.com/eslint/eslint/blob/main/docs/rules/indent.md) - - diff --git a/packages/eslint-plugin/docs/rules/init-declarations.md b/packages/eslint-plugin/docs/rules/init-declarations.md index b03db42de89c..97fc51bc5c32 100644 --- a/packages/eslint-plugin/docs/rules/init-declarations.md +++ b/packages/eslint-plugin/docs/rules/init-declarations.md @@ -10,23 +10,3 @@ description: 'Require or disallow initialization in variable declarations.' This rule extends the base [`eslint/init-declarations`](https://eslint.org/docs/rules/init-declarations) rule. It adds support for TypeScript's `declare` variables. - -## How to Use - -```jsonc -{ - // note you must disable the base rule as it can report incorrect errors - "init-declarations": "off", - "@typescript-eslint/init-declarations": ["error"] -} -``` - -## Options - -See [`eslint/init-declarations` options](https://eslint.org/docs/rules/init-declarations#options). - - - -Taken with ❤️ [from ESLint core](https://github.com/eslint/eslint/blob/main/docs/rules/init-declarations.md) - - diff --git a/packages/eslint-plugin/docs/rules/keyword-spacing.md b/packages/eslint-plugin/docs/rules/keyword-spacing.md index 062da3253072..17f731cfc948 100644 --- a/packages/eslint-plugin/docs/rules/keyword-spacing.md +++ b/packages/eslint-plugin/docs/rules/keyword-spacing.md @@ -10,23 +10,3 @@ description: 'Enforce consistent spacing before and after keywords.' This rule extends the base [`eslint/keyword-spacing`](https://eslint.org/docs/rules/keyword-spacing) rule. This version adds support for generic type parameters on function calls. - -## How to Use - -```jsonc -{ - // note you must disable the base rule as it can report incorrect errors - "keyword-spacing": "off", - "@typescript-eslint/keyword-spacing": ["error"] -} -``` - -## Options - -See [`eslint/keyword-spacing` options](https://eslint.org/docs/rules/keyword-spacing#options). - - - -Taken with ❤️ [from ESLint core](https://github.com/eslint/eslint/blob/main/docs/rules/keyword-spacing.md) - - diff --git a/packages/eslint-plugin/docs/rules/lines-between-class-members.md b/packages/eslint-plugin/docs/rules/lines-between-class-members.md index c1e3f7734556..f8d40de40899 100644 --- a/packages/eslint-plugin/docs/rules/lines-between-class-members.md +++ b/packages/eslint-plugin/docs/rules/lines-between-class-members.md @@ -6,30 +6,16 @@ description: 'Require or disallow an empty line between class members.' > > See **https://typescript-eslint.io/rules/lines-between-class-members** for documentation. -This rule improves readability by enforcing lines between class members. It will not check empty lines before the first member and after the last member. This rule require or disallow an empty line between class members. +This rule improves readability by enforcing lines between class members. It will not check empty lines before the first member and after the last member. This rule will require or disallow an empty line between class members. ## Rule Details This rule extends the base [`eslint/lines-between-class-members`](https://eslint.org/docs/rules/lines-between-class-members) rule. It adds support for ignoring overload methods in a class. -See the [ESLint documentation](https://eslint.org/docs/rules/lines-between-class-members) for more details on the `lines-between-class-members` rule. - -## Rule Changes - -```jsonc -{ - // note you must disable the base rule as it can report incorrect errors - "lines-between-class-members": "off", - "@typescript-eslint/lines-between-class-members": ["error"] -} -``` - -In addition to the options supported by the `lines-between-class-members` rule in ESLint core, the rule adds the following options: - ## Options -This rule has a string option and an object option. +In addition to the options supported by the `lines-between-class-members` rule in ESLint core, the rule adds the following options: - Object option: @@ -75,9 +61,3 @@ class foo { qux() {} } ``` - - - -Taken with ❤️ [from ESLint core](https://github.com/eslint/eslint/blob/main/docs/rules/lines-between-class-members.md) - - diff --git a/packages/eslint-plugin/docs/rules/no-array-constructor.md b/packages/eslint-plugin/docs/rules/no-array-constructor.md index 6d301cca2bd7..54b69eb91ba1 100644 --- a/packages/eslint-plugin/docs/rules/no-array-constructor.md +++ b/packages/eslint-plugin/docs/rules/no-array-constructor.md @@ -33,23 +33,3 @@ new Array(x, y, z); Array(500); new Array(someOtherArray.length); ``` - -## How to Use - -```jsonc -{ - // note you must disable the base rule as it can report incorrect errors - "no-array-constructor": "off", - "@typescript-eslint/no-array-constructor": ["error"] -} -``` - -## Options - -See [`eslint/no-array-constructor` options](https://eslint.org/docs/rules/no-array-constructor#options). - - - -Taken with ❤️ [from ESLint core](https://github.com/eslint/eslint/blob/main/docs/rules/no-array-constructor.md) - - 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 cfc9007ca12b..857c82091f6a 100644 --- a/packages/eslint-plugin/docs/rules/no-base-to-string.md +++ b/packages/eslint-plugin/docs/rules/no-base-to-string.md @@ -64,16 +64,6 @@ const literalWithToString = { ## Options -```ts -type Options = { - ignoredTypeNames?: string[]; -}; - -const defaultOptions: Options = { - ignoredTypeNames: ['RegExp'], -}; -``` - ### `ignoredTypeNames` A string array of type names to ignore, this is useful for types missing `toString()` (but actually has `toString()`). diff --git a/packages/eslint-plugin/docs/rules/no-confusing-non-null-assertion.md b/packages/eslint-plugin/docs/rules/no-confusing-non-null-assertion.md index 43f2a34558e5..1b67f558af50 100644 --- a/packages/eslint-plugin/docs/rules/no-confusing-non-null-assertion.md +++ b/packages/eslint-plugin/docs/rules/no-confusing-non-null-assertion.md @@ -45,19 +45,6 @@ const isEqualsBar = foo.bar == 'hello'; const isEqualsNum = (1 + foo.num!) == 2; ``` -## Options - -```jsonc -// .eslintrc.json -{ - "rules": { - "@typescript-eslint/no-confusing-non-null-assertion": "warn" - } -} -``` - -This rule is not configurable. - ## When Not To Use It If you don't care about this confusion, then you will not need this rule. diff --git a/packages/eslint-plugin/docs/rules/no-confusing-void-expression.md b/packages/eslint-plugin/docs/rules/no-confusing-void-expression.md index 7e5d84584683..4c4f6b1fa216 100644 --- a/packages/eslint-plugin/docs/rules/no-confusing-void-expression.md +++ b/packages/eslint-plugin/docs/rules/no-confusing-void-expression.md @@ -70,33 +70,8 @@ cond ? console.log('true') : console.error('false'); ## Options -An object option can be specified. Each boolean flag makes the rule less strict. - -```ts -type Options = { - ignoreArrowShorthand?: boolean; - ignoreVoidOperator?: boolean; -}; - -const defaults: Options = { - ignoreArrowShorthand: false, - ignoreVoidOperator: false, -}; -``` - ### `ignoreArrowShorthand` -`false` by default. - -```json -{ - "@typescript-eslint/no-confusing-void-expression": [ - "error", - { "ignoreArrowShorthand": true } - ] -} -``` - It might be undesirable to wrap every arrow function shorthand expression with braces. Especially when using Prettier formatter, which spreads such code across 3 lines instead of 1. @@ -108,17 +83,6 @@ promise.then(value => window.postMessage(value)); ### `ignoreVoidOperator` -`false` by default. - -```json -{ - "@typescript-eslint/no-confusing-void-expression": [ - "error", - { "ignoreVoidOperator": true } - ] -} -``` - It might be preferable to only use some distinct syntax to explicitly mark the confusing but valid usage of void expressions. This option allows void expressions which are explicitly wrapped in the `void` operator. diff --git a/packages/eslint-plugin/docs/rules/no-dupe-class-members.md b/packages/eslint-plugin/docs/rules/no-dupe-class-members.md index 0e099a252cf7..2bfc1864f7e2 100644 --- a/packages/eslint-plugin/docs/rules/no-dupe-class-members.md +++ b/packages/eslint-plugin/docs/rules/no-dupe-class-members.md @@ -10,23 +10,3 @@ description: 'Disallow duplicate class members.' This rule extends the base [`eslint/no-dupe-class-members`](https://eslint.org/docs/rules/no-dupe-class-members) rule. It adds support for TypeScript's method overload definitions. - -## How to Use - -```jsonc -{ - // note you must disable the base rule as it can report incorrect errors - "no-dupe-class-members": "off", - "@typescript-eslint/no-dupe-class-members": ["error"] -} -``` - -## Options - -See [`eslint/no-dupe-class-members` options](https://eslint.org/docs/rules/no-dupe-class-members#options). - - - -Taken with ❤️ [from ESLint core](https://github.com/eslint/eslint/blob/main/docs/rules/no-dupe-class-members.md) - - diff --git a/packages/eslint-plugin/docs/rules/no-duplicate-enum-values.md b/packages/eslint-plugin/docs/rules/no-duplicate-enum-values.md index 31f8928b8cbc..e65884f821f4 100644 --- a/packages/eslint-plugin/docs/rules/no-duplicate-enum-values.md +++ b/packages/eslint-plugin/docs/rules/no-duplicate-enum-values.md @@ -45,16 +45,3 @@ enum E { B = 'B', } ``` - -## Options - -```jsonc -// .eslintrc.json -{ - "rules": { - "@typescript-eslint/no-duplicate-enum-values": "warn" - } -} -``` - -This rule is not configurable. diff --git a/packages/eslint-plugin/docs/rules/no-duplicate-imports.md b/packages/eslint-plugin/docs/rules/no-duplicate-imports.md index d6ac06cac786..5f523a7b0f4c 100644 --- a/packages/eslint-plugin/docs/rules/no-duplicate-imports.md +++ b/packages/eslint-plugin/docs/rules/no-duplicate-imports.md @@ -6,31 +6,7 @@ description: 'Disallow duplicate imports.' > > See **https://typescript-eslint.io/rules/no-duplicate-imports** for documentation. -## DEPRECATED +:::danger Deprecated This rule has been deprecated in favour of the [`import/no-duplicates`](https://github.com/import-js/eslint-plugin-import/blob/HEAD/docs/rules/no-duplicates.md) rule. - -## Rule Details - -This rule extends the base [`eslint/no-duplicate-imports`](https://eslint.org/docs/rules/no-duplicate-imports) rule. -This version adds support for type-only import and export. - -## How to Use - -```jsonc -{ - // note you must disable the base rule as it can report incorrect errors - "no-duplicate-imports": "off", - "@typescript-eslint/no-duplicate-imports": ["error"] -} -``` - -## Options - -See [`eslint/no-duplicate-imports` options](https://eslint.org/docs/rules/no-duplicate-imports#options). - - - -Taken with ❤️ [from ESLint core](https://github.com/eslint/eslint/blob/main/docs/rules/no-duplicate-imports.md) - - +::: diff --git a/packages/eslint-plugin/docs/rules/no-dynamic-delete.md b/packages/eslint-plugin/docs/rules/no-dynamic-delete.md index 2ba81ffd88a7..78b1a1453bd1 100644 --- a/packages/eslint-plugin/docs/rules/no-dynamic-delete.md +++ b/packages/eslint-plugin/docs/rules/no-dynamic-delete.md @@ -44,19 +44,6 @@ delete container[7]; delete container['-Infinity']; ``` -## Options - -```jsonc -// .eslintrc.json -{ - "rules": { - "@typescript-eslint/no-dynamic-delete": "warn" - } -} -``` - -This rule is not configurable. - ## When Not To Use It When you know your keys are safe to delete, this rule can be unnecessary. diff --git a/packages/eslint-plugin/docs/rules/no-empty-function.md b/packages/eslint-plugin/docs/rules/no-empty-function.md index 91335c1cb87d..b889968c0718 100644 --- a/packages/eslint-plugin/docs/rules/no-empty-function.md +++ b/packages/eslint-plugin/docs/rules/no-empty-function.md @@ -13,19 +13,8 @@ It adds support for handling TypeScript specific code that would otherwise trigg One example of valid TypeScript specific code that would otherwise trigger the `no-empty-function` rule is the use of [parameter properties](https://www.typescriptlang.org/docs/handbook/classes.html#parameter-properties) in constructor functions. -## How to Use - -```jsonc -{ - // note you must disable the base rule as it can report incorrect errors - "no-empty-function": "off", - "@typescript-eslint/no-empty-function": ["error"] -} -``` - ## Options -See [`eslint/no-empty-function` options](https://eslint.org/docs/rules/no-empty-function#options). This rule adds the following options: ```ts @@ -97,19 +86,3 @@ class Foo extends Base { protected override greet(): void {} } ``` - -## How to Use - -```jsonc -{ - // note you must disable the base rule as it can report incorrect errors - "no-empty-function": "off", - "@typescript-eslint/no-empty-function": ["error"] -} -``` - - - -Taken with ❤️ [from ESLint core](https://github.com/eslint/eslint/blob/main/docs/rules/no-empty-function.md) - - diff --git a/packages/eslint-plugin/docs/rules/no-explicit-any.md b/packages/eslint-plugin/docs/rules/no-explicit-any.md index 1f9723aedbac..b32acb43902d 100644 --- a/packages/eslint-plugin/docs/rules/no-explicit-any.md +++ b/packages/eslint-plugin/docs/rules/no-explicit-any.md @@ -97,22 +97,6 @@ function greet(param: Array): Array {} ## Options -The rule accepts an options object with the following properties: - -```ts -type Options = { - // if true, auto-fixing will be made available in which the "any" type is converted to an "unknown" type - fixToUnknown: boolean; - // specify if arrays from the rest operator are considered okay - ignoreRestArgs: boolean; -}; - -const defaults = { - fixToUnknown: false, - ignoreRestArgs: false, -}; -``` - ### `ignoreRestArgs` A boolean to specify if arrays from the rest operator are considered okay. `false` by default. diff --git a/packages/eslint-plugin/docs/rules/no-extra-non-null-assertion.md b/packages/eslint-plugin/docs/rules/no-extra-non-null-assertion.md index 1a54ecc8c8d6..28b47a745319 100644 --- a/packages/eslint-plugin/docs/rules/no-extra-non-null-assertion.md +++ b/packages/eslint-plugin/docs/rules/no-extra-non-null-assertion.md @@ -49,16 +49,3 @@ function foo(bar?: { n: number }) { return bar?.n; } ``` - -## Options - -```jsonc -// .eslintrc.json -{ - "rules": { - "@typescript-eslint/no-extra-non-null-assertion": "error" - } -} -``` - -This rule is not configurable. diff --git a/packages/eslint-plugin/docs/rules/no-extra-parens.md b/packages/eslint-plugin/docs/rules/no-extra-parens.md index 8707c381047d..4bd89ac91b9c 100644 --- a/packages/eslint-plugin/docs/rules/no-extra-parens.md +++ b/packages/eslint-plugin/docs/rules/no-extra-parens.md @@ -10,23 +10,3 @@ description: 'Disallow unnecessary parentheses.' This rule extends the base [`eslint/no-extra-parens`](https://eslint.org/docs/rules/no-extra-parens) rule. It adds support for TypeScript type assertions. - -## How to Use - -```jsonc -{ - // note you must disable the base rule as it can report incorrect errors - "no-extra-parens": "off", - "@typescript-eslint/no-extra-parens": ["error"] -} -``` - -## Options - -See [`eslint/no-extra-parens` options](https://eslint.org/docs/rules/no-extra-parens#options). - - - -Taken with ❤️ [from ESLint core](https://github.com/eslint/eslint/blob/main/docs/rules/no-extra-parens.md) - - diff --git a/packages/eslint-plugin/docs/rules/no-extra-semi.md b/packages/eslint-plugin/docs/rules/no-extra-semi.md index 4cf29eaaee3c..a8f3cdca1b2e 100644 --- a/packages/eslint-plugin/docs/rules/no-extra-semi.md +++ b/packages/eslint-plugin/docs/rules/no-extra-semi.md @@ -10,23 +10,3 @@ description: 'Disallow unnecessary semicolons.' This rule extends the base [`eslint/no-extra-semi`](https://eslint.org/docs/rules/no-extra-semi) rule. It adds support for class properties. - -## How to Use - -```jsonc -{ - // note you must disable the base rule as it can report incorrect errors - "no-extra-semi": "off", - "@typescript-eslint/no-extra-semi": ["error"] -} -``` - -## Options - -See [`eslint/no-extra-semi` options](https://eslint.org/docs/rules/no-extra-semi#options). - - - -Taken with ❤️ [from ESLint core](https://github.com/eslint/eslint/blob/main/docs/rules/no-extra-semi.md) - - diff --git a/packages/eslint-plugin/docs/rules/no-extraneous-class.md b/packages/eslint-plugin/docs/rules/no-extraneous-class.md index ecc01b9db501..2efb49e95564 100644 --- a/packages/eslint-plugin/docs/rules/no-extraneous-class.md +++ b/packages/eslint-plugin/docs/rules/no-extraneous-class.md @@ -196,28 +196,6 @@ export function incrementCount() { ## Options -This rule accepts a single object option. - -```ts -type Options = { - // allow extraneous classes if they only contain a constructor - allowConstructorOnly?: boolean; - // allow extraneous classes if they have no body (i.e. are empty) - allowEmpty?: boolean; - // allow extraneous classes if they only contain static members - allowStaticOnly?: boolean; - // allow extraneous classes if they have a decorator - allowWithDecorator?: boolean; -}; - -const defaultOptions: Options = { - allowConstructorOnly: false, - allowEmpty: false, - allowStaticOnly: false, - allowWithDecorator: false, -}; -``` - This rule normally bans classes that are empty (have no constructor or fields). The rule's options each add an exemption for a specific type of class. diff --git a/packages/eslint-plugin/docs/rules/no-floating-promises.md b/packages/eslint-plugin/docs/rules/no-floating-promises.md index 597ebcd7b505..09e86b853086 100644 --- a/packages/eslint-plugin/docs/rules/no-floating-promises.md +++ b/packages/eslint-plugin/docs/rules/no-floating-promises.md @@ -65,22 +65,6 @@ Promise.reject('value').finally(() => {}); ## Options -The rule accepts an options object with the following properties: - -```ts -type Options = { - // if true, checking void expressions will be skipped - ignoreVoid?: boolean; - // if true, checking for async iife will be skipped - ignoreIIFE?: boolean; -}; - -const defaults = { - ignoreVoid: true, - ignoreIIFE: false, -}; -``` - ### `ignoreVoid` This allows you to stop the rule reporting promises consumed with void operator. diff --git a/packages/eslint-plugin/docs/rules/no-for-in-array.md b/packages/eslint-plugin/docs/rules/no-for-in-array.md index 2f4a5c699cce..f046ff8ddd6b 100644 --- a/packages/eslint-plugin/docs/rules/no-for-in-array.md +++ b/packages/eslint-plugin/docs/rules/no-for-in-array.md @@ -43,19 +43,6 @@ for (const x in { a: 3, b: 4, c: 5 }) { } ``` -## Options - -```jsonc -// .eslintrc.json -{ - "rules": { - "@typescript-eslint/no-for-in-array": "error" - } -} -``` - -This rule is not configurable. - ## When Not To Use It If you want to iterate through a loop using the indices in an array as strings, you can turn off this rule. diff --git a/packages/eslint-plugin/docs/rules/no-implicit-any-catch.md b/packages/eslint-plugin/docs/rules/no-implicit-any-catch.md index 6b3d00db3ce4..943e2c75b21b 100644 --- a/packages/eslint-plugin/docs/rules/no-implicit-any-catch.md +++ b/packages/eslint-plugin/docs/rules/no-implicit-any-catch.md @@ -6,6 +6,11 @@ description: 'Disallow usage of the implicit `any` type in catch clauses.' > > See **https://typescript-eslint.io/rules/no-implicit-any-catch** for documentation. +:::danger Deprecated + +This rule has been deprecated as TypeScript versions >=4 includes a `useUnknownInCatchVariables` compiler option with the same check. +::: + TypeScript 4.0 added support for adding an explicit `any` or `unknown` type annotation on a catch clause variable. By default, TypeScript will type a catch clause variable as `any`, so explicitly annotating it as `unknown` can add a lot of safety to your codebase. @@ -49,26 +54,10 @@ try { ## Options -The rule accepts an options object with the following properties: - -```ts -type Options = { - // if false, disallow specifying `: any` as the error type as well. See also `no-explicit-any` - allowExplicitAny: boolean; -}; - -const defaults = { - allowExplicitAny: false, -}; -``` - ### `allowExplicitAny` The follow is is **_not_** considered a warning with `{ allowExplicitAny: true }` - - - ```ts try { // ... @@ -77,8 +66,6 @@ try { } ``` - - ## When Not To Use It If you are not using TypeScript 4.0 (or greater), then you will not be able to use this rule, annotations on catch clauses is not supported. diff --git a/packages/eslint-plugin/docs/rules/no-implied-eval.md b/packages/eslint-plugin/docs/rules/no-implied-eval.md index 4bc269775c0d..9f3ad17180f7 100644 --- a/packages/eslint-plugin/docs/rules/no-implied-eval.md +++ b/packages/eslint-plugin/docs/rules/no-implied-eval.md @@ -98,22 +98,6 @@ class Foo { setTimeout(Foo.fn, 100); ``` -## How to Use - -```jsonc -{ - // note you must disable the base rule as it can report incorrect errors - "no-implied-eval": "off", - "@typescript-eslint/no-implied-eval": ["error"] -} -``` - ## When Not To Use It If you want to allow `new Function()` or `setTimeout()`, `setInterval()`, `setImmediate()` and `execScript()` with string arguments, then you can safely disable this rule. - - - -Taken with ❤️ [from ESLint core](https://github.com/eslint/eslint/blob/main/docs/rules/no-implied-eval.md) - - diff --git a/packages/eslint-plugin/docs/rules/no-inferrable-types.md b/packages/eslint-plugin/docs/rules/no-inferrable-types.md index 743efe035156..a29427a33cfb 100644 --- a/packages/eslint-plugin/docs/rules/no-inferrable-types.md +++ b/packages/eslint-plugin/docs/rules/no-inferrable-types.md @@ -13,33 +13,11 @@ Explicit types where they can be easily inferred may add unnecessary verbosity. This rule disallows explicit type declarations on parameters, variables and properties where the type can be easily inferred from its value. -## Options - -This rule accepts the following options: - -```ts -interface Options { - ignoreParameters?: boolean; - ignoreProperties?: boolean; -} -``` - -### Default - -The default options are: - -```json -{ - "ignoreParameters": false, - "ignoreProperties": false -} -``` - -With these options, the following patterns are: +Examples of code with the default options: -#### ❌ Incorrect +### ❌ Incorrect ```ts const a: bigint = 10n; @@ -80,7 +58,7 @@ class Foo { function fn(a: number = 5, b: boolean = true) {} ``` -#### ✅ Correct +### ✅ Correct ```ts const a = 10n; @@ -125,6 +103,8 @@ function fn(a: number, b: boolean, c: string) {} +## Options + ### `ignoreParameters` When set to true, the following pattern is considered valid: diff --git a/packages/eslint-plugin/docs/rules/no-invalid-this.md b/packages/eslint-plugin/docs/rules/no-invalid-this.md index 17cff6a0af4d..53e0f68fa9f0 100644 --- a/packages/eslint-plugin/docs/rules/no-invalid-this.md +++ b/packages/eslint-plugin/docs/rules/no-invalid-this.md @@ -10,27 +10,3 @@ description: 'Disallow `this` keywords outside of classes or class-like objects. This rule extends the base [`eslint/no-invalid-this`](https://eslint.org/docs/rules/no-invalid-this) rule. It adds support for TypeScript's `this` parameters. - -## How to Use - -```jsonc -{ - // note you must disable the base rule as it can report incorrect errors - "no-invalid-this": "off", - "@typescript-eslint/no-invalid-this": ["error"] -} -``` - -## Options - -See [`eslint/no-invalid-this` options](https://eslint.org/docs/rules/no-invalid-this#options). - -## When Not To Use It - -When you are indifferent as to how your variables are initialized. - - - -Taken with ❤️ [from ESLint core](https://github.com/eslint/eslint/blob/main/docs/rules/no-invalid-this.md) - - diff --git a/packages/eslint-plugin/docs/rules/no-invalid-void-type.md b/packages/eslint-plugin/docs/rules/no-invalid-void-type.md index c39e932a7787..a36919363715 100644 --- a/packages/eslint-plugin/docs/rules/no-invalid-void-type.md +++ b/packages/eslint-plugin/docs/rules/no-invalid-void-type.md @@ -61,18 +61,6 @@ type stillVoid = void | never; ## Options -```ts -interface Options { - allowInGenericTypeArguments?: boolean | string[]; - allowAsThisParameter?: boolean; -} - -const defaultOptions: Options = { - allowInGenericTypeArguments: true, - allowAsThisParameter: false, -}; -``` - ### `allowInGenericTypeArguments` This option lets you control if `void` can be used as a valid value for generic type parameters. diff --git a/packages/eslint-plugin/docs/rules/no-loop-func.md b/packages/eslint-plugin/docs/rules/no-loop-func.md index 7a63fd52c7cf..753eb115cfbb 100644 --- a/packages/eslint-plugin/docs/rules/no-loop-func.md +++ b/packages/eslint-plugin/docs/rules/no-loop-func.md @@ -10,23 +10,3 @@ description: 'Disallow function declarations that contain unsafe references insi This rule extends the base [`eslint/no-loop-func`](https://eslint.org/docs/rules/no-loop-func) rule. It adds support for TypeScript types. - -## How to Use - -```jsonc -{ - // note you must disable the base rule as it can report incorrect errors - "no-loop-func": "off", - "@typescript-eslint/no-loop-func": ["error"] -} -``` - -## Options - -See [`eslint/no-loop-func` options](https://eslint.org/docs/rules/no-loop-func#options). - - - -Taken with ❤️ [from ESLint core](https://github.com/eslint/eslint/blob/main/docs/rules/no-loop-func.md) - - diff --git a/packages/eslint-plugin/docs/rules/no-loss-of-precision.md b/packages/eslint-plugin/docs/rules/no-loss-of-precision.md index 21ac3c6abb52..62e263219e85 100644 --- a/packages/eslint-plugin/docs/rules/no-loss-of-precision.md +++ b/packages/eslint-plugin/docs/rules/no-loss-of-precision.md @@ -10,20 +10,3 @@ description: 'Disallow literal numbers that lose precision.' This rule extends the base [`eslint/no-loss-of-precision`](https://eslint.org/docs/rules/no-loss-of-precision) rule. It adds support for [numeric separators](https://github.com/tc39/proposal-numeric-separator). -Note that this rule requires ESLint v7. - -## How to Use - -```jsonc -{ - // note you must disable the base rule as it can report incorrect errors - "no-loss-of-precision": "off", - "@typescript-eslint/no-loss-of-precision": ["error"] -} -``` - - - -Taken with ❤️ [from ESLint core](https://github.com/eslint/eslint/blob/main/docs/rules/no-loss-of-precision.md) - - diff --git a/packages/eslint-plugin/docs/rules/no-magic-numbers.md b/packages/eslint-plugin/docs/rules/no-magic-numbers.md index 1690ea371a71..7af0e561536a 100644 --- a/packages/eslint-plugin/docs/rules/no-magic-numbers.md +++ b/packages/eslint-plugin/docs/rules/no-magic-numbers.md @@ -15,24 +15,8 @@ It adds support for: - `enum` members (`enum Foo { bar = 1 }`), - `readonly` class properties (`class Foo { readonly bar = 1 }`). -## How to Use - -```jsonc -{ - // note you must disable the base rule as it can report incorrect errors - "no-magic-numbers": "off", - "@typescript-eslint/no-magic-numbers": [ - "error", - { - /* options */ - } - ] -} -``` - ## Options -See [`eslint/no-magic-numbers` options](https://eslint.org/docs/rules/no-magic-numbers#options). This rule adds the following options: ```ts @@ -145,9 +129,3 @@ Examples of **correct** code for the `{ "ignoreTypeIndexes": true }` option: type Foo = Bar[0]; type Baz = Parameters[2]; ``` - - - -Taken with ❤️ [from ESLint core](https://github.com/eslint/eslint/blob/main/docs/rules/no-magic-numbers.md) - - diff --git a/packages/eslint-plugin/docs/rules/no-misused-new.md b/packages/eslint-plugin/docs/rules/no-misused-new.md index bc602bcc6e82..08459fba7962 100644 --- a/packages/eslint-plugin/docs/rules/no-misused-new.md +++ b/packages/eslint-plugin/docs/rules/no-misused-new.md @@ -37,16 +37,3 @@ interface I { new (): C; } ``` - -## Options - -```jsonc -// .eslintrc.json -{ - "rules": { - "@typescript-eslint/no-misused-new": "error" - } -} -``` - -This rule is not configurable. diff --git a/packages/eslint-plugin/docs/rules/no-namespace.md b/packages/eslint-plugin/docs/rules/no-namespace.md index 665bf273d26e..6e4bda690bef 100644 --- a/packages/eslint-plugin/docs/rules/no-namespace.md +++ b/packages/eslint-plugin/docs/rules/no-namespace.md @@ -15,16 +15,7 @@ This rule still allows the use of TypeScript module declarations to describe ext This rule aims to standardize the way modules are declared. -## Options - -This rule, in its default state, does not require any argument. If you would like to enable one -or more of the following you may pass an object with the options set as follows: - -- `allowDeclarations` set to `true` will allow you to `declare` custom TypeScript modules and namespaces (Default: `false`). -- `allowDefinitionFiles` set to `true` will allow you to `declare` and use custom TypeScript modules and namespaces - inside definition files (Default: `true`). - -Examples of code for the default `{ "allowDeclarations": false, "allowDefinitionFiles": true }` options: +Examples of code with the default options: @@ -48,9 +39,11 @@ declare module 'foo' {} +## Options + ### `allowDeclarations` -Examples of code for the `{ "allowDeclarations": true }` option: +Examples of code with the `{ "allowDeclarations": true }` option: diff --git a/packages/eslint-plugin/docs/rules/no-non-null-asserted-nullish-coalescing.md b/packages/eslint-plugin/docs/rules/no-non-null-asserted-nullish-coalescing.md index 68a334042637..19fd65779f8f 100644 --- a/packages/eslint-plugin/docs/rules/no-non-null-asserted-nullish-coalescing.md +++ b/packages/eslint-plugin/docs/rules/no-non-null-asserted-nullish-coalescing.md @@ -49,19 +49,6 @@ let x: string; x! ?? ''; ``` -## Options - -```jsonc -// .eslintrc.json -{ - "rules": { - "@typescript-eslint/no-non-null-asserted-nullish-coalescing": "warn" - } -} -``` - -This rule is not configurable. - ## When Not To Use It If you are not using TypeScript 3.7 (or greater), then you will not need to use this rule, as the nullish coalescing operator is not supported. diff --git a/packages/eslint-plugin/docs/rules/no-non-null-asserted-optional-chain.md b/packages/eslint-plugin/docs/rules/no-non-null-asserted-optional-chain.md index b68e55a8256f..89f9a3c87b76 100644 --- a/packages/eslint-plugin/docs/rules/no-non-null-asserted-optional-chain.md +++ b/packages/eslint-plugin/docs/rules/no-non-null-asserted-optional-chain.md @@ -48,19 +48,6 @@ foo?.bar!(); foo?.bar!().baz; ``` -## Options - -```jsonc -// .eslintrc.json -{ - "rules": { - "@typescript-eslint/no-non-null-asserted-optional-chain": "error" - } -} -``` - -This rule is not configurable. - ## When Not To Use It If you are not using TypeScript 3.7 (or greater), then you will not need to use this rule, as the operator is not supported. diff --git a/packages/eslint-plugin/docs/rules/no-non-null-assertion.md b/packages/eslint-plugin/docs/rules/no-non-null-assertion.md index 3b23982fd285..6e60483bc54d 100644 --- a/packages/eslint-plugin/docs/rules/no-non-null-assertion.md +++ b/packages/eslint-plugin/docs/rules/no-non-null-assertion.md @@ -36,19 +36,6 @@ const foo: Foo = getFoo(); const includesBaz: boolean = foo.bar?.includes('baz') ?? false; ``` -## Options - -```jsonc -// .eslintrc.json -{ - "rules": { - "@typescript-eslint/no-non-null-assertion": "warn" - } -} -``` - -This rule is not configurable. - ## When Not To Use It If you don't care about strict null-checking, then you will not need this rule. diff --git a/packages/eslint-plugin/docs/rules/no-parameter-properties.md b/packages/eslint-plugin/docs/rules/no-parameter-properties.md index 329ecbb732ed..18b9829a5eee 100644 --- a/packages/eslint-plugin/docs/rules/no-parameter-properties.md +++ b/packages/eslint-plugin/docs/rules/no-parameter-properties.md @@ -6,6 +6,11 @@ description: 'Disallow the use of parameter properties in class constructors.' > > See **https://typescript-eslint.io/rules/no-parameter-properties** for documentation. +:::danger Deprecated + +This rule has been deprecated in favour of the equivalent, better named [`parameter-properties`](./parameter-properties) rule. +::: + Parameter properties can be confusing to those new to TypeScript as they are less explicit than other ways of declaring and initializing class members. diff --git a/packages/eslint-plugin/docs/rules/no-redeclare.md b/packages/eslint-plugin/docs/rules/no-redeclare.md index 1ba99ea379c7..b51ba369ce51 100644 --- a/packages/eslint-plugin/docs/rules/no-redeclare.md +++ b/packages/eslint-plugin/docs/rules/no-redeclare.md @@ -11,19 +11,8 @@ description: 'Disallow variable redeclaration.' This rule extends the base [`eslint/no-redeclare`](https://eslint.org/docs/rules/no-redeclare) rule. It adds support for TypeScript function overloads, and declaration merging. -## How to Use - -```jsonc -{ - // note you must disable the base rule as it can report incorrect errors - "no-redeclare": "off", - "@typescript-eslint/no-redeclare": ["error"] -} -``` - ## Options -See [`eslint/no-redeclare` options](https://eslint.org/docs/rules/no-redeclare#options). This rule adds the following options: ```ts @@ -82,9 +71,3 @@ type something = string; // eslint-disable-next-line @typescript-eslint/no-redeclare -- intentionally naming the variable the same as the type const something = 2; ``` - - - -Taken with ❤️ [from ESLint core](https://github.com/eslint/eslint/blob/main/docs/rules/no-redeclare.md) - - diff --git a/packages/eslint-plugin/docs/rules/no-redundant-type-constituents.md b/packages/eslint-plugin/docs/rules/no-redundant-type-constituents.md index be06806c681a..3cf63d4df491 100644 --- a/packages/eslint-plugin/docs/rules/no-redundant-type-constituents.md +++ b/packages/eslint-plugin/docs/rules/no-redundant-type-constituents.md @@ -70,19 +70,6 @@ type IntersectionStringLiteral = 'foo'; type ReturnUnionNever = () => string | never; ``` -## Options - -```jsonc -// .eslintrc.json -{ - "rules": { - "@typescript-eslint/no-redundant-type-constituents": "warn" - } -} -``` - -This rule is not configurable. - ## Limitations This rule plays it safe and only works with bottom types, top types, and comparing literal types to primitive types. diff --git a/packages/eslint-plugin/docs/rules/no-require-imports.md b/packages/eslint-plugin/docs/rules/no-require-imports.md index b5bd6f136c45..b38486837e18 100644 --- a/packages/eslint-plugin/docs/rules/no-require-imports.md +++ b/packages/eslint-plugin/docs/rules/no-require-imports.md @@ -35,19 +35,6 @@ import lib9 = lib2.anotherSubImport; import lib10 from 'lib10'; ``` -## Options - -```jsonc -// .eslintrc.json -{ - "rules": { - "@typescript-eslint/no-require-imports": "warn" - } -} -``` - -This rule is not configurable. - ## When Not To Use It If you don't care about TypeScript module syntax, then you will not need this rule. diff --git a/packages/eslint-plugin/docs/rules/no-restricted-imports.md b/packages/eslint-plugin/docs/rules/no-restricted-imports.md index 3329ca588420..202143581f22 100644 --- a/packages/eslint-plugin/docs/rules/no-restricted-imports.md +++ b/packages/eslint-plugin/docs/rules/no-restricted-imports.md @@ -10,19 +10,8 @@ description: 'Disallow specified modules when loaded by `import`.' This rule extends the base [`eslint/no-restricted-imports`](https://eslint.org/docs/rules/no-restricted-imports) rule. -## How to Use - -```jsonc -{ - // note you must disable the base rule as it can report incorrect errors - "no-restricted-imports": "off", - "@typescript-eslint/no-restricted-imports": ["error"] -} -``` - ## Options -See [`eslint/no-restricted-imports` options](https://eslint.org/docs/rules/no-restricted-imports#options). This rule adds the following options: ### `allowTypeImports` diff --git a/packages/eslint-plugin/docs/rules/no-shadow.md b/packages/eslint-plugin/docs/rules/no-shadow.md index 4487ecccc0af..c990ff97230e 100644 --- a/packages/eslint-plugin/docs/rules/no-shadow.md +++ b/packages/eslint-plugin/docs/rules/no-shadow.md @@ -11,19 +11,8 @@ description: 'Disallow variable declarations from shadowing variables declared i This rule extends the base [`eslint/no-shadow`](https://eslint.org/docs/rules/no-shadow) rule. It adds support for TypeScript's `this` parameters and global augmentation, and adds options for TypeScript features. -## How to Use - -```jsonc -{ - // note you must disable the base rule as it can report incorrect errors - "no-shadow": "off", - "@typescript-eslint/no-shadow": ["error"] -} -``` - ## Options -See [`eslint/no-shadow` options](https://eslint.org/docs/rules/no-shadow#options). This rule adds the following options: ```ts @@ -89,9 +78,3 @@ Examples of **correct** code with `{ ignoreFunctionTypeParameterNameValueShadow: const test = 1; type Func = (test: string) => typeof test; ``` - - - -Taken with ❤️ [from ESLint core](https://github.com/eslint/eslint/blob/main/docs/rules/no-shadow.md) - - diff --git a/packages/eslint-plugin/docs/rules/no-this-alias.md b/packages/eslint-plugin/docs/rules/no-this-alias.md index 5cd741ac3ac3..8ba520d7af68 100644 --- a/packages/eslint-plugin/docs/rules/no-this-alias.md +++ b/packages/eslint-plugin/docs/rules/no-this-alias.md @@ -39,22 +39,6 @@ Examples of **correct** code for this rule: (see the rationale above) -## Options - -You can pass an object option: - -```jsonc -{ - "@typescript-eslint/no-this-alias": [ - "error", - { - "allowDestructuring": false, // Disallow `const { props, state } = this`; true by default - "allowedNames": ["self"] // Allow `const self = this`; `[]` by default - } - ] -} -``` - ## When Not To Use It If you need to assign `this` to variables, you shouldn’t use this rule. diff --git a/packages/eslint-plugin/docs/rules/no-throw-literal.md b/packages/eslint-plugin/docs/rules/no-throw-literal.md index 9cefca0cee9b..6a017d5ac4be 100644 --- a/packages/eslint-plugin/docs/rules/no-throw-literal.md +++ b/packages/eslint-plugin/docs/rules/no-throw-literal.md @@ -89,34 +89,26 @@ class CustomError extends Error { throw new CustomError(); ``` -## How to Use +## Options -```jsonc -{ - // note you must disable the base rule as it can report incorrect errors - "no-throw-literal": "off", - "@typescript-eslint/no-throw-literal": ["error"] -} -``` +This rule adds the following options: -### Options - -```jsonc -{ - "@typescript-eslint/no-throw-literal": [ - "error", - { - "allowThrowingAny": true, // Default is to allow throwing values of type any - "allowThrowingUnknown": true // Default is to allow throwing values of type unknown - } - ] +```ts +interface Options extends BaseNoShadowOptions { + /** + * Whether to always allow throwing values typed as `any`. + */ + allowThrowingAny?: boolean; + + /** + * Whether to always allow throwing values typed as `unknown`. + */ + allowThrowingUnknown?: boolean; } -``` - ---- - - - -Taken with ❤️ [from ESLint core](https://github.com/eslint/eslint/blob/main/docs/rules/no-throw-literal.md) - +const defaultOptions: Options = { + ...baseNoShadowDefaultOptions, + allowThrowingAny: false, + allowThrowingUnknown: false, +}; +``` diff --git a/packages/eslint-plugin/docs/rules/no-type-alias.md b/packages/eslint-plugin/docs/rules/no-type-alias.md index cb6c76ee9ec1..4117d6133451 100644 --- a/packages/eslint-plugin/docs/rules/no-type-alias.md +++ b/packages/eslint-plugin/docs/rules/no-type-alias.md @@ -85,18 +85,6 @@ and simplified types (primitives, tuples, unions, intersections, etc). ## Options -This rule, in its default state, does not require any argument. If you would like to enable one -or more of the following you may pass an object with the options set as follows: - -- `allowAliases` set to `"always"` will allow you to do aliasing (Defaults to `"never"`). -- `allowCallbacks` set to `"always"` will allow you to use type aliases with callbacks (Defaults to `"never"`) -- `allowConditionalTypes` set to `"always"` will allow you to use type aliases with conditional types (Defaults to `"never"`) -- `allowConstructors` set to `"always"` will allow you to use type aliases with constructors (Defaults to `"never"`) -- `allowLiterals` set to `"always"` will allow you to use type aliases with literal objects (Defaults to `"never"`) -- `allowMappedTypes` set to `"always"` will allow you to use type aliases as mapping tools (Defaults to `"never"`) -- `allowTupleTypes` set to `"always"` will allow you to use type aliases with tuples (Defaults to `"never"`) -- `allowGenerics` set to `"always"` will allow you to use type aliases with generics (Defaults to `"never"`) - ### `allowAliases` This applies to primitive types and reference types. diff --git a/packages/eslint-plugin/docs/rules/no-unnecessary-boolean-literal-compare.md b/packages/eslint-plugin/docs/rules/no-unnecessary-boolean-literal-compare.md index 84843a245fe1..8e148460a42b 100644 --- a/packages/eslint-plugin/docs/rules/no-unnecessary-boolean-literal-compare.md +++ b/packages/eslint-plugin/docs/rules/no-unnecessary-boolean-literal-compare.md @@ -54,30 +54,10 @@ if (someStringBoolean === true) { ## Options -The rule accepts an options object with the following properties. - -```ts -type Options = { - // if false, comparisons between a nullable boolean variable to `true` will be checked and fixed - allowComparingNullableBooleansToTrue?: boolean; - // if false, comparisons between a nullable boolean variable to `false` will be checked and fixed - allowComparingNullableBooleansToFalse?: boolean; -}; -``` - -### Defaults - This rule always checks comparisons between a boolean variable and a boolean literal. Comparisons between nullable boolean variables and boolean literals are **not** checked by default. -```ts -const defaults = { - allowComparingNullableBooleansToTrue: true, - allowComparingNullableBooleansToFalse: true, -}; -``` - ### `allowComparingNullableBooleansToTrue` Examples of code for this rule with `{ allowComparingNullableBooleansToTrue: false }`: diff --git a/packages/eslint-plugin/docs/rules/no-unnecessary-condition.md b/packages/eslint-plugin/docs/rules/no-unnecessary-condition.md index 9ae1eb01107d..ac50dc295f3a 100644 --- a/packages/eslint-plugin/docs/rules/no-unnecessary-condition.md +++ b/packages/eslint-plugin/docs/rules/no-unnecessary-condition.md @@ -74,20 +74,6 @@ function bar(arg?: string | null) { ## Options -```ts -type Options = { - // if true, the rule will ignore constant loop conditions - allowConstantLoopConditions?: boolean; - // if true, the rule will not error when running with a tsconfig that has strictNullChecks turned **off** - allowRuleToRunWithoutStrictNullChecksIKnowWhatIAmDoing?: boolean; -}; - -const defaultOptions: Options = { - allowConstantLoopConditions: false, - allowRuleToRunWithoutStrictNullChecksIKnowWhatIAmDoing: false, -}; -``` - ### `allowConstantLoopConditions` Example of correct code for `{ allowConstantLoopConditions: true }`: diff --git a/packages/eslint-plugin/docs/rules/no-unnecessary-qualifier.md b/packages/eslint-plugin/docs/rules/no-unnecessary-qualifier.md index e0a627050478..58a2b80bf5d8 100644 --- a/packages/eslint-plugin/docs/rules/no-unnecessary-qualifier.md +++ b/packages/eslint-plugin/docs/rules/no-unnecessary-qualifier.md @@ -80,19 +80,6 @@ namespace X { } ``` -## Options - -```jsonc -// .eslintrc.json -{ - "rules": { - "@typescript-eslint/no-unnecessary-qualifier": "warn" - } -} -``` - -This rule is not configurable. - ## When Not To Use It If you don't care about having unneeded namespace or enum qualifiers, then you don't need to use this rule. diff --git a/packages/eslint-plugin/docs/rules/no-unnecessary-type-arguments.md b/packages/eslint-plugin/docs/rules/no-unnecessary-type-arguments.md index 63364396c55b..976cf23e372a 100644 --- a/packages/eslint-plugin/docs/rules/no-unnecessary-type-arguments.md +++ b/packages/eslint-plugin/docs/rules/no-unnecessary-type-arguments.md @@ -57,16 +57,3 @@ class D extends C {} interface I {} class Impl implements I {} ``` - -## Options - -```jsonc -// .eslintrc.json -{ - "rules": { - "@typescript-eslint/no-unnecessary-type-arguments": "warn" - } -} -``` - -This rule is not configurable. diff --git a/packages/eslint-plugin/docs/rules/no-unnecessary-type-assertion.md b/packages/eslint-plugin/docs/rules/no-unnecessary-type-assertion.md index 5479988a502d..30e81b4c9b69 100644 --- a/packages/eslint-plugin/docs/rules/no-unnecessary-type-assertion.md +++ b/packages/eslint-plugin/docs/rules/no-unnecessary-type-assertion.md @@ -65,9 +65,9 @@ function foo(x: number | undefined): number { ## Options -This rule optionally takes an object with a single property `typesToIgnore`, which can be set to a list of type names to ignore. +### `typesToIgnore` -For example, with `@typescript-eslint/no-unnecessary-type-assertion: ["error", { typesToIgnore: ['Foo'] }]`, the following is **correct** code": +With `@typescript-eslint/no-unnecessary-type-assertion: ["error", { typesToIgnore: ['Foo'] }]`, the following is **correct** code": ```ts type Foo = 3; diff --git a/packages/eslint-plugin/docs/rules/no-unnecessary-type-constraint.md b/packages/eslint-plugin/docs/rules/no-unnecessary-type-constraint.md index 02a1df88dda9..c5b078810fa4 100644 --- a/packages/eslint-plugin/docs/rules/no-unnecessary-type-constraint.md +++ b/packages/eslint-plugin/docs/rules/no-unnecessary-type-constraint.md @@ -60,19 +60,6 @@ const Quux = () => {}; function Quuz() {} ``` -## Options - -```jsonc -// .eslintrc.json -{ - "rules": { - "@typescript-eslint/no-unnecessary-type-constraint": "error" - } -} -``` - -This rule is not configurable. - ## When Not To Use It If you don't care about the specific styles of your type constraints, or never use them in the first place, then you will not need this rule. diff --git a/packages/eslint-plugin/docs/rules/no-unsafe-argument.md b/packages/eslint-plugin/docs/rules/no-unsafe-argument.md index db1612f5a4fc..63068ce497c6 100644 --- a/packages/eslint-plugin/docs/rules/no-unsafe-argument.md +++ b/packages/eslint-plugin/docs/rules/no-unsafe-argument.md @@ -75,19 +75,6 @@ declare function foo(arg1: unknown, arg2: Set, arg3: unknown[]): void; foo(1 as any, new Set(), [] as any[]); ``` -## Options - -```jsonc -// .eslintrc.json -{ - "rules": { - "@typescript-eslint/no-unsafe-argument": "error" - } -} -``` - -This rule is not configurable. - ## Related To - [`no-explicit-any`](./no-explicit-any.md) diff --git a/packages/eslint-plugin/docs/rules/no-unsafe-assignment.md b/packages/eslint-plugin/docs/rules/no-unsafe-assignment.md index e0b7c5ec9e22..9e797f4319f5 100644 --- a/packages/eslint-plugin/docs/rules/no-unsafe-assignment.md +++ b/packages/eslint-plugin/docs/rules/no-unsafe-assignment.md @@ -78,19 +78,6 @@ const x: unknown[] = y as any[]; const x: Set = y as Set; ``` -## Options - -```jsonc -// .eslintrc.json -{ - "rules": { - "@typescript-eslint/no-unsafe-assignment": "error" - } -} -``` - -This rule is not configurable. - ## Related To - [`no-explicit-any`](./no-explicit-any.md) diff --git a/packages/eslint-plugin/docs/rules/no-unsafe-call.md b/packages/eslint-plugin/docs/rules/no-unsafe-call.md index d4f21f6cc4dc..9191dca9ae86 100644 --- a/packages/eslint-plugin/docs/rules/no-unsafe-call.md +++ b/packages/eslint-plugin/docs/rules/no-unsafe-call.md @@ -52,19 +52,6 @@ new Map(); String.raw`foo`; ``` -## Options - -```jsonc -// .eslintrc.json -{ - "rules": { - "@typescript-eslint/no-unsafe-call": "error" - } -} -``` - -This rule is not configurable. - ## Related To - [`no-explicit-any`](./no-explicit-any.md) diff --git a/packages/eslint-plugin/docs/rules/no-unsafe-member-access.md b/packages/eslint-plugin/docs/rules/no-unsafe-member-access.md index 3c3416e3dd66..393a4bb46cdd 100644 --- a/packages/eslint-plugin/docs/rules/no-unsafe-member-access.md +++ b/packages/eslint-plugin/docs/rules/no-unsafe-member-access.md @@ -58,19 +58,6 @@ arr[idx]; arr[idx++]; ``` -## Options - -```jsonc -// .eslintrc.json -{ - "rules": { - "@typescript-eslint/no-unsafe-member-access": "error" - } -} -``` - -This rule is not configurable. - ## Related To - [`no-explicit-any`](./no-explicit-any.md) diff --git a/packages/eslint-plugin/docs/rules/no-unsafe-return.md b/packages/eslint-plugin/docs/rules/no-unsafe-return.md index 430b4be2ca34..9c5537229590 100644 --- a/packages/eslint-plugin/docs/rules/no-unsafe-return.md +++ b/packages/eslint-plugin/docs/rules/no-unsafe-return.md @@ -95,19 +95,6 @@ function foo2(): unknown[] { } ``` -## Options - -```jsonc -// .eslintrc.json -{ - "rules": { - "@typescript-eslint/no-unsafe-return": "error" - } -} -``` - -This rule is not configurable. - ## Related To - [`no-explicit-any`](./no-explicit-any.md) diff --git a/packages/eslint-plugin/docs/rules/no-unused-expressions.md b/packages/eslint-plugin/docs/rules/no-unused-expressions.md index a851db4d4731..db3120db3e25 100644 --- a/packages/eslint-plugin/docs/rules/no-unused-expressions.md +++ b/packages/eslint-plugin/docs/rules/no-unused-expressions.md @@ -10,23 +10,3 @@ description: 'Disallow unused expressions.' This rule extends the base [`eslint/no-unused-expressions`](https://eslint.org/docs/rules/no-unused-expressions) rule. It adds support for optional call expressions `x?.()`, and directive in module declarations. - -## How to Use - -```jsonc -{ - // note you must disable the base rule as it can report incorrect errors - "no-unused-expressions": "off", - "@typescript-eslint/no-unused-expressions": ["error"] -} -``` - -## Options - -See [`eslint/no-unused-expressions` options](https://eslint.org/docs/rules/no-unused-expressions#options). - - - -Taken with ❤️ [from ESLint core](https://github.com/eslint/eslint/blob/main/docs/rules/no-unused-expressions.md) - - diff --git a/packages/eslint-plugin/docs/rules/no-unused-vars.md b/packages/eslint-plugin/docs/rules/no-unused-vars.md index 4ad1f19d7efe..ffd1ceb0f6a5 100644 --- a/packages/eslint-plugin/docs/rules/no-unused-vars.md +++ b/packages/eslint-plugin/docs/rules/no-unused-vars.md @@ -10,23 +10,3 @@ description: 'Disallow unused variables.' This rule extends the base [`eslint/no-unused-vars`](https://eslint.org/docs/rules/no-unused-vars) rule. It adds support for TypeScript features, such as types. - -## How to Use - -```jsonc -{ - // note you must disable the base rule as it can report incorrect errors - "no-unused-vars": "off", - "@typescript-eslint/no-unused-vars": ["error"] -} -``` - -## Options - -See [`eslint/no-unused-vars` options](https://eslint.org/docs/rules/no-unused-vars#options). - - - -Taken with ❤️ [from ESLint core](https://github.com/eslint/eslint/blob/main/docs/rules/no-unused-vars.md) - - diff --git a/packages/eslint-plugin/docs/rules/no-use-before-define.md b/packages/eslint-plugin/docs/rules/no-use-before-define.md index fec9e8dbf764..e17a8b873e37 100644 --- a/packages/eslint-plugin/docs/rules/no-use-before-define.md +++ b/packages/eslint-plugin/docs/rules/no-use-before-define.md @@ -11,19 +11,8 @@ description: 'Disallow the use of variables before they are defined.' This rule extends the base [`eslint/no-use-before-define`](https://eslint.org/docs/rules/no-use-before-define) rule. It adds support for `type`, `interface` and `enum` declarations. -## How to Use - -```jsonc -{ - // note you must disable the base rule as it can report incorrect errors - "no-use-before-define": "off", - "@typescript-eslint/no-use-before-define": ["error"] -} -``` - ## Options -See [`eslint/no-use-before-define` options](https://eslint.org/docs/rules/no-use-before-define#options). This rule adds the following options: ```ts @@ -106,13 +95,3 @@ type StringOrNumber = string | number; let var2: Enum; enum Enum {} ``` - -### Other Options - -See [`eslint/no-use-before-define` options](https://eslint.org/docs/rules/no-use-before-define#options). - - - -Taken with ❤️ [from ESLint core](https://github.com/eslint/eslint/blob/main/docs/rules/no-use-before-define.md) - - diff --git a/packages/eslint-plugin/docs/rules/no-useless-constructor.md b/packages/eslint-plugin/docs/rules/no-useless-constructor.md index a5acf42b7b90..e1a8297fefe7 100644 --- a/packages/eslint-plugin/docs/rules/no-useless-constructor.md +++ b/packages/eslint-plugin/docs/rules/no-useless-constructor.md @@ -15,27 +15,7 @@ It adds support for: - `public` constructors when there is no superclass, - constructors with only parameter properties. -## How to Use - -```jsonc -{ - // note you must disable the base rule as it can report incorrect errors - "no-useless-constructor": "off", - "@typescript-eslint/no-useless-constructor": ["error"] -} -``` - -## Options - -See [`eslint/no-useless-constructor` options](https://eslint.org/docs/rules/no-useless-constructor#options). - - - -Taken with ❤️ [from ESLint core](https://github.com/eslint/eslint/blob/main/docs/rules/no-useless-constructor.md) - - - -## Caveat +### Caveat This lint rule will report on constructors whose sole purpose is to change visibility of a parent constructor. See [discussion on this rule's lack of type information](https://github.com/typescript-eslint/typescript-eslint/issues/3820#issuecomment-917821240) for context. diff --git a/packages/eslint-plugin/docs/rules/no-useless-empty-export.md b/packages/eslint-plugin/docs/rules/no-useless-empty-export.md index ca02d12c8cdd..bf0f2b94ff2d 100644 --- a/packages/eslint-plugin/docs/rules/no-useless-empty-export.md +++ b/packages/eslint-plugin/docs/rules/no-useless-empty-export.md @@ -41,16 +41,3 @@ export const value = 'Hello, world!'; ```ts import 'some-other-module'; ``` - -## Options - -```jsonc -// .eslintrc.json -{ - "rules": { - "@typescript-eslint/no-useless-empty-export": "warn" - } -} -``` - -This rule is not configurable. diff --git a/packages/eslint-plugin/docs/rules/no-var-requires.md b/packages/eslint-plugin/docs/rules/no-var-requires.md index 0b6a7a2454bc..f7c0f8b8fb50 100644 --- a/packages/eslint-plugin/docs/rules/no-var-requires.md +++ b/packages/eslint-plugin/docs/rules/no-var-requires.md @@ -30,19 +30,6 @@ require('foo'); import foo from 'foo'; ``` -## Options - -```jsonc -// .eslintrc.json -{ - "rules": { - "@typescript-eslint/no-var-requires": "error" - } -} -``` - -This rule is not configurable. - ## When Not To Use It If you don't care about TypeScript module syntax, then you will not need this rule. diff --git a/packages/eslint-plugin/docs/rules/non-nullable-type-assertion-style.md b/packages/eslint-plugin/docs/rules/non-nullable-type-assertion-style.md index dbd38cdb8668..c6aaa0913248 100644 --- a/packages/eslint-plugin/docs/rules/non-nullable-type-assertion-style.md +++ b/packages/eslint-plugin/docs/rules/non-nullable-type-assertion-style.md @@ -32,19 +32,6 @@ const definitely = maybe!; const alsoDefinitely = maybe!; ``` -## Options - -```jsonc -// .eslintrc.json -{ - "rules": { - "@typescript-eslint/non-nullable-type-assertion-style": "warn" - } -} -``` - -This rule is not configurable. - ## When Not To Use It If you don't mind having unnecessarily verbose type casts, you can avoid this rule. diff --git a/packages/eslint-plugin/docs/rules/object-curly-spacing.md b/packages/eslint-plugin/docs/rules/object-curly-spacing.md index f6780dbef80c..9dcf431db32c 100644 --- a/packages/eslint-plugin/docs/rules/object-curly-spacing.md +++ b/packages/eslint-plugin/docs/rules/object-curly-spacing.md @@ -10,23 +10,3 @@ description: 'Enforce consistent spacing inside braces.' This rule extends the base [`eslint/object-curly-spacing`](https://eslint.org/docs/rules/object-curly-spacing) rule. It adds support for TypeScript's object types. - -## How to Use - -```jsonc -{ - // note you must disable the base rule as it can report incorrect errors - "object-curly-spacing": "off", - "@typescript-eslint/object-curly-spacing": ["error"] -} -``` - -## Options - -See [`eslint/object-curly-spacing` options](https://eslint.org/docs/rules/object-curly-spacing#options). - - - -Taken with ❤️ [from ESLint core](https://github.com/eslint/eslint/blob/main/docs/rules/object-curly-spacing.md) - - diff --git a/packages/eslint-plugin/docs/rules/padding-line-between-statements.md b/packages/eslint-plugin/docs/rules/padding-line-between-statements.md index 2849230d3412..d3687c11a22d 100644 --- a/packages/eslint-plugin/docs/rules/padding-line-between-statements.md +++ b/packages/eslint-plugin/docs/rules/padding-line-between-statements.md @@ -9,30 +9,17 @@ description: 'Require or disallow padding lines between statements.' ## Rule Details This rule extends the base [`eslint/padding-line-between-statements`](https://eslint.org/docs/rules/padding-line-between-statements) rule. +It adds support for TypeScript constructs such as `interface` and `type`. -**It adds support for TypeScript constructs such as `interface` and `type`.** +## Options -## How to Use +In addition to options provided by ESLint, `interface` and `type` can be used as statement types. -```jsonc -{ - // note you must disable the base rule as it can report incorrect errors - "padding-line-between-statements": "off", - "@typescript-eslint/padding-line-between-statements": [ - "error", - { - "blankLine": "always", - "prev": "var", - "next": "return" - } - ] -} -``` +For example, to add blank lines before interfaces and type definitions: ```jsonc { // Example - Add blank lines before interface and type definitions. - // note you must disable the base rule as it can report incorrect errors "padding-line-between-statements": "off", "@typescript-eslint/padding-line-between-statements": [ "error", @@ -45,16 +32,4 @@ This rule extends the base [`eslint/padding-line-between-statements`](https://es } ``` -## Options - -See [`eslint/padding-line-between-statements` options](https://eslint.org/docs/rules/padding-line-between-statements#options). - -In addition to options provided by ESLint, `interface` and `type` can be used as statement types. - **Note:** ESLint `cjs-export` and `cjs-import` statement types are renamed to `exports` and `require` respectively. - - - -Taken with ❤️ [from ESLint core](https://github.com/eslint/eslint/blob/main/docs/rules/padding-line-between-statements.md) - - diff --git a/packages/eslint-plugin/docs/rules/prefer-as-const.md b/packages/eslint-plugin/docs/rules/prefer-as-const.md index 0670268bfaba..ce930aa3390a 100644 --- a/packages/eslint-plugin/docs/rules/prefer-as-const.md +++ b/packages/eslint-plugin/docs/rules/prefer-as-const.md @@ -35,19 +35,6 @@ let foo = { bar: 'baz' }; -## Options - -```jsonc -// .eslintrc.json -{ - "rules": { - "@typescript-eslint/prefer-as-const": "error" - } -} -``` - -This rule is not configurable. - ## When Not To Use It If you are using TypeScript < 3.4 diff --git a/packages/eslint-plugin/docs/rules/prefer-enum-initializers.md b/packages/eslint-plugin/docs/rules/prefer-enum-initializers.md index 8e2c05125204..08e19754b2b6 100644 --- a/packages/eslint-plugin/docs/rules/prefer-enum-initializers.md +++ b/packages/eslint-plugin/docs/rules/prefer-enum-initializers.md @@ -75,19 +75,6 @@ enum Color { } ``` -## Options - -```jsonc -// .eslintrc.json -{ - "rules": { - "@typescript-eslint/prefer-enum-initializers": "warn" - } -} -``` - -This rule is not configurable. - ## When Not To Use It If you don't care about `enum`s having implicit values you can safely disable this rule. diff --git a/packages/eslint-plugin/docs/rules/prefer-for-of.md b/packages/eslint-plugin/docs/rules/prefer-for-of.md index fed26d5af269..815059bcc9a5 100644 --- a/packages/eslint-plugin/docs/rules/prefer-for-of.md +++ b/packages/eslint-plugin/docs/rules/prefer-for-of.md @@ -42,19 +42,6 @@ for (let i = 0; i < arr.length; i++) { } ``` -## Options - -```jsonc -// .eslintrc.json -{ - "rules": { - "@typescript-eslint/prefer-for-of": "warn" - } -} -``` - -This rule is not configurable. - ## When Not To Use It If you transpile for browsers that do not support for-of loops, you may wish to use traditional for loops that produce more compact code. diff --git a/packages/eslint-plugin/docs/rules/prefer-function-type.md b/packages/eslint-plugin/docs/rules/prefer-function-type.md index 7e8c1f73817c..1ba1cf22a2cc 100644 --- a/packages/eslint-plugin/docs/rules/prefer-function-type.md +++ b/packages/eslint-plugin/docs/rules/prefer-function-type.md @@ -82,19 +82,6 @@ interface Overloaded { type Intersection = ((data: string) => number) & ((id: number) => string); ``` -## Options - -```jsonc -// .eslintrc.json -{ - "rules": { - "@typescript-eslint/prefer-function-type": "warn" - } -} -``` - -This rule is not configurable. - ## When Not To Use It If you specifically want to use an interface or type literal with a single call signature for stylistic reasons, you can disable this rule. diff --git a/packages/eslint-plugin/docs/rules/prefer-includes.md b/packages/eslint-plugin/docs/rules/prefer-includes.md index e0d05b6662f5..c06a82d8d642 100644 --- a/packages/eslint-plugin/docs/rules/prefer-includes.md +++ b/packages/eslint-plugin/docs/rules/prefer-includes.md @@ -74,19 +74,6 @@ userDefined.includes(value); mismatchExample.indexOf(value) >= 0; ``` -## Options - -```jsonc -// .eslintrc.json -{ - "rules": { - "@typescript-eslint/prefer-includes": "warn" - } -} -``` - -This rule is not configurable. - ## When Not To Use It If you don't want to suggest `includes`, you can safely turn this rule off. diff --git a/packages/eslint-plugin/docs/rules/prefer-namespace-keyword.md b/packages/eslint-plugin/docs/rules/prefer-namespace-keyword.md index b7320e728513..ccb97abbec81 100644 --- a/packages/eslint-plugin/docs/rules/prefer-namespace-keyword.md +++ b/packages/eslint-plugin/docs/rules/prefer-namespace-keyword.md @@ -17,19 +17,6 @@ This rule aims to standardize the way modules are declared. If you are using the ES2015 module syntax, then you will not need this rule. -## Options - -```jsonc -// .eslintrc.json -{ - "rules": { - "@typescript-eslint/prefer-namespace-keyword": "error" - } -} -``` - -This rule is not configurable. - ## Further Reading - [Modules](https://www.typescriptlang.org/docs/handbook/modules.html) diff --git a/packages/eslint-plugin/docs/rules/prefer-optional-chain.md b/packages/eslint-plugin/docs/rules/prefer-optional-chain.md index d2f252bb878e..16b6d31883fa 100644 --- a/packages/eslint-plugin/docs/rules/prefer-optional-chain.md +++ b/packages/eslint-plugin/docs/rules/prefer-optional-chain.md @@ -1,5 +1,5 @@ --- -description: 'Enforce using concise optional chain expressions instead of chained logical ands.' +description: 'Enforce using concise optional chain expressions instead of chained logical ands, negated logical ors, or empty objects.' --- > 🛑 This file is source code, not the primary documentation location! 🛑 @@ -65,9 +65,15 @@ foo && foo.a && foo.a.b && foo.a.b.c; foo && foo['a'] && foo['a'].b && foo['a'].b.c; foo && foo.a && foo.a.b && foo.a.b.method && foo.a.b.method(); +// With empty objects (((foo || {}).a || {}).b || {}).c; (((foo || {})['a'] || {}).b || {}).c; +// With negated `or`s +!foo || !foo.bar; +!foo || !foo[bar]; +!foo || !foo.bar || !foo.bar.baz || !foo.bar.baz(); + // this rule also supports converting chained strict nullish checks: foo && foo.a != null && @@ -85,22 +91,13 @@ foo?.['a']?.b?.c; foo?.a?.b?.method?.(); foo?.a?.b?.c?.d?.e; -``` - -**Note:** there are a few edge cases where this rule will false positive. Use your best judgement when evaluating reported errors. -## Options - -```jsonc -// .eslintrc.json -{ - "rules": { - "@typescript-eslint/prefer-optional-chain": "warn" - } -} +!foo?.bar; +!foo?.[bar]; +!foo?.bar?.baz?.(); ``` -This rule is not configurable. +**Note:** there are a few edge cases where this rule will false positive. Use your best judgement when evaluating reported errors. ## When Not To Use It diff --git a/packages/eslint-plugin/docs/rules/prefer-readonly-parameter-types.md b/packages/eslint-plugin/docs/rules/prefer-readonly-parameter-types.md index 3a1f34d9413e..8a281aa38685 100644 --- a/packages/eslint-plugin/docs/rules/prefer-readonly-parameter-types.md +++ b/packages/eslint-plugin/docs/rules/prefer-readonly-parameter-types.md @@ -131,19 +131,6 @@ interface Foo { ## Options -```ts -interface Options { - checkParameterProperties?: boolean; - ignoreInferredTypes?: boolean; -} - -const defaultOptions: Options = { - checkParameterProperties: true, - ignoreInferredTypes: false, - treatMethodsAsReadonly: false, -}; -``` - ### `checkParameterProperties` This option allows you to enable or disable the checking of parameter properties. diff --git a/packages/eslint-plugin/docs/rules/prefer-readonly.md b/packages/eslint-plugin/docs/rules/prefer-readonly.md index 16d7d2f4f67f..c4384e266c3a 100644 --- a/packages/eslint-plugin/docs/rules/prefer-readonly.md +++ b/packages/eslint-plugin/docs/rules/prefer-readonly.md @@ -56,8 +56,6 @@ class Container { ## Options -This rule, in its default state, does not require any argument. - ### `onlyInlineLambdas` You may pass `"onlyInlineLambdas": true` as a rule option within an object to restrict checking only to members immediately assigned a lambda value. diff --git a/packages/eslint-plugin/docs/rules/prefer-reduce-type-parameter.md b/packages/eslint-plugin/docs/rules/prefer-reduce-type-parameter.md index 4e8cdde8527a..d66c91ba9438 100644 --- a/packages/eslint-plugin/docs/rules/prefer-reduce-type-parameter.md +++ b/packages/eslint-plugin/docs/rules/prefer-reduce-type-parameter.md @@ -55,19 +55,6 @@ Examples of code for this rule: ); ``` -## Options - -```jsonc -// .eslintrc.json -{ - "rules": { - "@typescript-eslint/prefer-reduce-type-parameter": "warn" - } -} -``` - -This rule is not configurable. - ## When Not To Use It If you don't want to use typechecking in your linting, you can't use this rule. diff --git a/packages/eslint-plugin/docs/rules/prefer-regexp-exec.md b/packages/eslint-plugin/docs/rules/prefer-regexp-exec.md index 74a3649de76a..38cae500fa03 100644 --- a/packages/eslint-plugin/docs/rules/prefer-regexp-exec.md +++ b/packages/eslint-plugin/docs/rules/prefer-regexp-exec.md @@ -46,19 +46,6 @@ const search = /thing/; search.exec(text); ``` -## Options - -```jsonc -// .eslintrc.json -{ - "rules": { - "@typescript-eslint/prefer-regexp-exec": "warn" - } -} -``` - -This rule is not configurable. - ## When Not To Use It If you prefer consistent use of `String#match` for both, with `g` flag and without it, you can turn this rule off. diff --git a/packages/eslint-plugin/docs/rules/prefer-return-this-type.md b/packages/eslint-plugin/docs/rules/prefer-return-this-type.md index 535ec053e236..836938ee8921 100644 --- a/packages/eslint-plugin/docs/rules/prefer-return-this-type.md +++ b/packages/eslint-plugin/docs/rules/prefer-return-this-type.md @@ -97,19 +97,6 @@ class Derived extends Base { } ``` -## Options - -```jsonc -// .eslintrc.json -{ - "rules": { - "@typescript-eslint/prefer-return-this-type": "warn" - } -} -``` - -This rule is not configurable. - ## When Not To Use It If you don't use method chaining or explicit return values, you can safely turn this rule off. diff --git a/packages/eslint-plugin/docs/rules/prefer-string-starts-ends-with.md b/packages/eslint-plugin/docs/rules/prefer-string-starts-ends-with.md index de5233ec0b80..99ead1d79344 100644 --- a/packages/eslint-plugin/docs/rules/prefer-string-starts-ends-with.md +++ b/packages/eslint-plugin/docs/rules/prefer-string-starts-ends-with.md @@ -48,19 +48,6 @@ foo.startsWith('bar'); foo.endsWith('bar'); ``` -## Options - -```jsonc -// .eslintrc.json -{ - "rules": { - "@typescript-eslint/prefer-string-starts-ends-with": "warn" - } -} -``` - -This rule is not configurable. - ## When Not To Use It If you don't mind that style, you can turn this rule off safely. diff --git a/packages/eslint-plugin/docs/rules/prefer-ts-expect-error.md b/packages/eslint-plugin/docs/rules/prefer-ts-expect-error.md index 255e30e7ea5a..85308e4786fb 100644 --- a/packages/eslint-plugin/docs/rules/prefer-ts-expect-error.md +++ b/packages/eslint-plugin/docs/rules/prefer-ts-expect-error.md @@ -66,19 +66,6 @@ const isOptionEnabled = (key: string): boolean => { }; ``` -## Options - -```jsonc -// .eslintrc.json -{ - "rules": { - "@typescript-eslint/prefer-ts-expect-error": "warn" - } -} -``` - -This rule is not configurable. - ## When Not To Use It If you are **NOT** using TypeScript 3.9 (or greater), then you will not be able to use this rule, as the directive is not supported diff --git a/packages/eslint-plugin/docs/rules/promise-function-async.md b/packages/eslint-plugin/docs/rules/promise-function-async.md index 137dd051ab53..3c6b1922cd58 100644 --- a/packages/eslint-plugin/docs/rules/promise-function-async.md +++ b/packages/eslint-plugin/docs/rules/promise-function-async.md @@ -40,32 +40,3 @@ async function functionReturnsPromise() { return Promise.resolve('value'); } ``` - -## Options - -Options may be provided as an object with: - -- `allowAny` to indicate that `any` or `unknown` shouldn't be considered Promises (`true` by default). -- `allowedPromiseNames` to indicate any extra names of classes or interfaces to be considered Promises when returned. - -In addition, each of the following properties may be provided, and default to `true`: - -- `checkArrowFunctions` -- `checkFunctionDeclarations` -- `checkFunctionExpressions` -- `checkMethodDeclarations` - -```json -{ - "@typescript-eslint/promise-function-async": [ - "error", - { - "allowedPromiseNames": ["Thenable"], - "checkArrowFunctions": true, - "checkFunctionDeclarations": true, - "checkFunctionExpressions": true, - "checkMethodDeclarations": true - } - ] -} -``` diff --git a/packages/eslint-plugin/docs/rules/quotes.md b/packages/eslint-plugin/docs/rules/quotes.md index 8cbf3e58b7ff..64a5704454cd 100644 --- a/packages/eslint-plugin/docs/rules/quotes.md +++ b/packages/eslint-plugin/docs/rules/quotes.md @@ -10,23 +10,3 @@ description: 'Enforce the consistent use of either backticks, double, or single This rule extends the base [`eslint/quotes`](https://eslint.org/docs/rules/quotes) rule. It adds support for TypeScript features which allow quoted names, but not backtick quoted names. - -## How to Use - -```jsonc -{ - // note you must disable the base rule as it can report incorrect errors - "quotes": "off", - "@typescript-eslint/quotes": ["error"] -} -``` - -## Options - -See [`eslint/quotes` options](https://eslint.org/docs/rules/quotes#options). - - - -Taken with ❤️ [from ESLint core](https://github.com/eslint/eslint/blob/main/docs/rules/quotes.md) - - diff --git a/packages/eslint-plugin/docs/rules/require-array-sort-compare.md b/packages/eslint-plugin/docs/rules/require-array-sort-compare.md index 7b44dfa38dd4..e2e43c811435 100644 --- a/packages/eslint-plugin/docs/rules/require-array-sort-compare.md +++ b/packages/eslint-plugin/docs/rules/require-array-sort-compare.md @@ -58,21 +58,6 @@ userDefinedType.sort(); ## Options -The rule accepts an options object with the following properties: - -```ts -type Options = { - /** - * If true, an array which all elements are string is ignored. - */ - ignoreStringArrays?: boolean; -}; - -const defaults = { - ignoreStringArrays: false, -}; -``` - ### `ignoreStringArrays` Examples of code for this rule with `{ ignoreStringArrays: true }`: diff --git a/packages/eslint-plugin/docs/rules/require-await.md b/packages/eslint-plugin/docs/rules/require-await.md index 58936c414790..a578f0c4b42c 100644 --- a/packages/eslint-plugin/docs/rules/require-await.md +++ b/packages/eslint-plugin/docs/rules/require-await.md @@ -22,21 +22,3 @@ const returnsPromise2 = () => returnsPromise1(); ``` ## How to Use - -```jsonc -{ - // note you must disable the base rule as it can report incorrect errors - "require-await": "off", - "@typescript-eslint/require-await": "error" -} -``` - -## Options - -See [`eslint/require-await` options](https://eslint.org/docs/rules/require-await#options). - - - -Taken with ❤️ [from ESLint core](https://github.com/eslint/eslint/blob/main/docs/rules/require-await.md) - - diff --git a/packages/eslint-plugin/docs/rules/restrict-plus-operands.md b/packages/eslint-plugin/docs/rules/restrict-plus-operands.md index 32b19602ccbe..cf08200be7f5 100644 --- a/packages/eslint-plugin/docs/rules/restrict-plus-operands.md +++ b/packages/eslint-plugin/docs/rules/restrict-plus-operands.md @@ -28,22 +28,6 @@ var foo = 1n + 1n; ## Options -The rule accepts an options object with the following properties: - -```ts -type Options = { - // if true, check compound assignments (`+=`) - checkCompoundAssignments?: boolean; - // if true, 'any' itself and `string`,`bigint`, `number` is allowed. - allowAny?: boolean; -}; - -const defaults = { - checkCompoundAssignments: false, - allowAny: false, -}; -``` - ### `checkCompoundAssignments` Examples of code for this rule with `{ checkCompoundAssignments: true }`: @@ -98,9 +82,3 @@ var fn = (a: any, b: number) => a + b; ``` ## How to Use - -```json -{ - "@typescript-eslint/restrict-plus-operands": "error" -} -``` diff --git a/packages/eslint-plugin/docs/rules/restrict-template-expressions.md b/packages/eslint-plugin/docs/rules/restrict-template-expressions.md index 88bac9de873f..d22b66dac1de 100644 --- a/packages/eslint-plugin/docs/rules/restrict-template-expressions.md +++ b/packages/eslint-plugin/docs/rules/restrict-template-expressions.md @@ -35,31 +35,6 @@ const msg3 = `stringWithKindProp = ${stringWithKindProp}`; ## Options -The rule accepts an options object with the following properties: - -```ts -type Options = { - // if true, also allow number type in template expressions - allowNumber?: boolean; - // if true, also allow boolean type in template expressions - allowBoolean?: boolean; - // if true, also allow any in template expressions - allowAny?: boolean; - // if true, also allow null and undefined in template expressions - allowNullish?: boolean; - // if true, also allow RegExp in template expressions - allowRegExp?: boolean; -}; - -const defaults = { - allowNumber: true, - allowBoolean: false, - allowAny: false, - allowNullish: false, - allowRegExp: false, -}; -``` - ### `allowNumber` Examples of additional **correct** code for this rule with `{ allowNumber: true }`: diff --git a/packages/eslint-plugin/docs/rules/return-await.md b/packages/eslint-plugin/docs/rules/return-await.md index 89f8e6276d81..13d04d014eb9 100644 --- a/packages/eslint-plugin/docs/rules/return-await.md +++ b/packages/eslint-plugin/docs/rules/return-await.md @@ -13,16 +13,6 @@ Returning an awaited promise can make sense for better stack trace information a This rule builds on top of the [`eslint/no-return-await`](https://eslint.org/docs/rules/no-return-await) rule. It expands upon the base rule to add support for optionally requiring `return await` in certain cases. -## How to Use - -```jsonc -{ - // note you must disable the base rule as it can report incorrect errors - "no-return-await": "off", - "@typescript-eslint/return-await": "error" -} -``` - ## Options ```ts diff --git a/packages/eslint-plugin/docs/rules/semi.md b/packages/eslint-plugin/docs/rules/semi.md index 23b9852dc71d..ee33eca92236 100644 --- a/packages/eslint-plugin/docs/rules/semi.md +++ b/packages/eslint-plugin/docs/rules/semi.md @@ -14,23 +14,3 @@ This rule extends the base [`eslint/semi`](https://eslint.org/docs/rules/semi) r It adds support for TypeScript features that require semicolons. See also the [`@typescript-eslint/member-delimiter-style`](member-delimiter-style.md) rule, which allows you to specify the delimiter for `type` and `interface` members. - -## How to Use - -```jsonc -{ - // note you must disable the base rule as it can report incorrect errors - "semi": "off", - "@typescript-eslint/semi": ["error"] -} -``` - -## Options - -See [`eslint/semi` options](https://eslint.org/docs/rules/semi#options). - - - -Taken with ❤️ [from ESLint core](https://github.com/eslint/eslint/blob/main/docs/rules/semi.md) - - diff --git a/packages/eslint-plugin/docs/rules/sort-type-union-intersection-members.md b/packages/eslint-plugin/docs/rules/sort-type-union-intersection-members.md index 2ddfd8a88dec..68b5fce8aca2 100644 --- a/packages/eslint-plugin/docs/rules/sort-type-union-intersection-members.md +++ b/packages/eslint-plugin/docs/rules/sort-type-union-intersection-members.md @@ -95,49 +95,6 @@ type T4 = ## Options -```ts -type Options = { - // true to check intersection types, false otherwise - checkIntersections?: boolean; - // true to check union types, false otherwise - checkUnions?: boolean; - // the ordering of the groups - groupOrder?: ( - | 'conditional' - | 'function' - | 'import' - | 'intersection' - | 'keyword' - | 'literal' - | 'named' - | 'object' - | 'operator' - | 'tuple' - | 'union' - | 'nullish' - )[]; -}; - -const defaultOptions: Options = { - checkIntersections: true, - checkUnions: true, - groupOrder: [ - 'named', - 'keyword', - 'operator', - 'literal', - 'function', - 'import', - 'conditional', - 'object', - 'tuple', - 'intersection', - 'union', - 'nullish', - ], -}; -``` - ### `groupOrder` Each member of the type is placed into a group, and then the rule sorts alphabetically within each group. diff --git a/packages/eslint-plugin/docs/rules/space-before-blocks.md b/packages/eslint-plugin/docs/rules/space-before-blocks.md index b6dbb740962e..daba57a2ec21 100644 --- a/packages/eslint-plugin/docs/rules/space-before-blocks.md +++ b/packages/eslint-plugin/docs/rules/space-before-blocks.md @@ -9,7 +9,9 @@ description: 'Enforce consistent spacing before blocks.' ## Rule Details This rule extends the base [`eslint/space-before-blocks`](https://eslint.org/docs/rules/space-before-blocks) rule. -It adds support for interfaces and enums: +It adds support for interfaces and enums. + + ### ❌ Incorrect @@ -35,24 +37,6 @@ interface State { } ``` -In case a more specific options object is passed these blocks will follow `classes` configuration option. - -## How to Use - -```jsonc -{ - // note you must disable the base rule as it can report incorrect errors - "space-before-blocks": "off", - "@typescript-eslint/space-before-blocks": ["error"] -} -``` - ## Options -See [`eslint/space-before-blocks` options](https://eslint.org/docs/rules/space-before-blocks#options). - - - -Taken with ❤️ [from ESLint core](https://github.com/eslint/eslint/blob/master/docs/rules/space-before-blocks.md) - - +In case a more specific options object is passed these blocks will follow `classes` configuration option. diff --git a/packages/eslint-plugin/docs/rules/space-before-function-paren.md b/packages/eslint-plugin/docs/rules/space-before-function-paren.md index 962f8f674de3..5760b5128d10 100644 --- a/packages/eslint-plugin/docs/rules/space-before-function-paren.md +++ b/packages/eslint-plugin/docs/rules/space-before-function-paren.md @@ -10,23 +10,3 @@ description: 'Enforce consistent spacing before function parenthesis.' This rule extends the base [`eslint/space-before-function-paren`](https://eslint.org/docs/rules/space-before-function-paren) rule. It adds support for generic type parameters on function calls. - -## How to Use - -```jsonc -{ - // note you must disable the base rule as it can report incorrect errors - "space-before-function-paren": "off", - "@typescript-eslint/space-before-function-paren": ["error"] -} -``` - -## Options - -See [`eslint/space-before-function-paren` options](https://eslint.org/docs/rules/space-before-function-paren#options). - - - -Taken with ❤️ [from ESLint core](https://github.com/eslint/eslint/blob/main/docs/rules/space-before-function-paren.md) - - diff --git a/packages/eslint-plugin/docs/rules/space-infix-ops.md b/packages/eslint-plugin/docs/rules/space-infix-ops.md index 4e322bb9837d..b6b0ecda788c 100644 --- a/packages/eslint-plugin/docs/rules/space-infix-ops.md +++ b/packages/eslint-plugin/docs/rules/space-infix-ops.md @@ -7,30 +7,10 @@ description: 'Require spacing around infix operators.' > See **https://typescript-eslint.io/rules/space-infix-ops** for documentation. This rule extends the base [`eslint/space-infix-ops`](https://eslint.org/docs/rules/space-infix-ops) rule. - -It also add support for enum members +It adds support for enum members. ```ts enum MyEnum { KEY = 'value', } ``` - -## How to Use - -```jsonc -{ - "space-infix-ops": "off", - "@typescript-eslint/space-infix-ops": ["error", { "int32Hint": false }] -} -``` - -## Options - -See [`eslint/space-infix-ops` options](https://eslint.org/docs/rules/space-infix-ops#options). - - - -Taken with ❤️ [from ESLint core](https://github.com/eslint/eslint/blob/main/docs/rules/space-infix-ops.md) - - diff --git a/packages/eslint-plugin/docs/rules/strict-boolean-expressions.md b/packages/eslint-plugin/docs/rules/strict-boolean-expressions.md index a1bead76670d..f25aa3efc1d3 100644 --- a/packages/eslint-plugin/docs/rules/strict-boolean-expressions.md +++ b/packages/eslint-plugin/docs/rules/strict-boolean-expressions.md @@ -89,29 +89,6 @@ const foo = (arg: any) => (Boolean(arg) ? 1 : 0); ## Options -```ts -type Options = { - allowString?: boolean; - allowNumber?: boolean; - allowNullableObject?: boolean; - allowNullableBoolean?: boolean; - allowNullableString?: boolean; - allowNullableNumber?: boolean; - allowAny?: boolean; -}; - -const defaultOptions: Options = { - allowString: true, - allowNumber: true, - allowNullableObject: true, - allowNullableBoolean: false, - allowNullableString: false, - allowNullableNumber: false, - allowAny: false, - allowRuleToRunWithoutStrictNullChecksIKnowWhatIAmDoing: false, -}; -``` - ### `allowString` Allows `string` in a boolean context. diff --git a/packages/eslint-plugin/docs/rules/switch-exhaustiveness-check.md b/packages/eslint-plugin/docs/rules/switch-exhaustiveness-check.md index 5a726f738445..4cc7e152e7ad 100644 --- a/packages/eslint-plugin/docs/rules/switch-exhaustiveness-check.md +++ b/packages/eslint-plugin/docs/rules/switch-exhaustiveness-check.md @@ -110,19 +110,6 @@ switch (day) { } ``` -## Options - -```jsonc -// .eslintrc.json -{ - "rules": { - "@typescript-eslint/switch-exhaustiveness-check": "warn" - } -} -``` - -This rule is not configurable. - ## When Not To Use It If program doesn't have union types with many parts. Downside of this rule is the need for type information, so it's slower than regular rules. diff --git a/packages/eslint-plugin/docs/rules/triple-slash-reference.md b/packages/eslint-plugin/docs/rules/triple-slash-reference.md index df7b0901e6ce..75edec3261a2 100644 --- a/packages/eslint-plugin/docs/rules/triple-slash-reference.md +++ b/packages/eslint-plugin/docs/rules/triple-slash-reference.md @@ -6,9 +6,11 @@ description: 'Disallow certain triple slash directives in favor of ES6-style imp > > See **https://typescript-eslint.io/rules/triple-slash-reference** for documentation. +## Rule Details + Use of triple-slash reference type directives is discouraged in favor of the newer `import` style. This rule allows you to ban use of `/// `, `/// `, or `/// ` directives. -## Rule Details +## Options With `{ "path": "never", "types": "never", "lib": "never" }` options set, the following will all be **incorrect** usage: @@ -48,22 +50,6 @@ import * as foo from 'foo'; import foo = require('foo'); ``` -## Options - -```ts -type Options = { - lib?: 'always' | 'never'; - path?: 'always' | 'never'; - types?: 'always' | 'never' | 'prefer-import'; -}; - -const defaultOptions: Options = { - lib: 'always', - path: 'never', - types: 'prefer-import', -}; -``` - ## When To Use It If you want to ban use of one or all of the triple slash reference directives, or any time you might use triple-slash type reference directives and ES6 import declarations in the same file. diff --git a/packages/eslint-plugin/docs/rules/type-annotation-spacing.md b/packages/eslint-plugin/docs/rules/type-annotation-spacing.md index 78f16a927138..d3a97920072f 100644 --- a/packages/eslint-plugin/docs/rules/type-annotation-spacing.md +++ b/packages/eslint-plugin/docs/rules/type-annotation-spacing.md @@ -41,21 +41,11 @@ This rule aims to enforce specific spacing patterns around type annotations and ## Options -This rule has an object option: - -- `"before": false`, (default for colon) disallows spaces before the colon/arrow. -- `"before": true`, (default for arrow) requires a space before the colon/arrow. -- `"after": true`, (default) requires a space after the colon/arrow. -- `"after": false`, disallows spaces after the colon/arrow. -- `"overrides"`, overrides the default options for type annotations with `colon` (e.g. `const foo: string`) and function types with `arrow` (e.g. `type Foo = () => {}`). Additionally allows granular overrides for `variable` (`const foo: string`),`parameter` (`function foo(bar: string) {...}`),`property` (`interface Foo { bar: string }`) and `returnType` (`function foo(): string {...}`) annotations. - -### defaults - Examples of code for this rule with no options at all: -#### ❌ Incorrect +### ❌ Incorrect ```ts @@ -84,7 +74,7 @@ type Foo = () =>{}; type Foo = ()=> {}; ``` -#### ✅ Correct +### ✅ Correct ```ts diff --git a/packages/eslint-plugin/docs/rules/typedef.md b/packages/eslint-plugin/docs/rules/typedef.md index 74152a49f87b..317f96879578 100644 --- a/packages/eslint-plugin/docs/rules/typedef.md +++ b/packages/eslint-plugin/docs/rules/typedef.md @@ -22,11 +22,15 @@ class ContainsText { } ``` -**_Note:_** requiring type annotations unnecessarily can be cumbersome to maintain and generally reduces code readability. +:::caution + +Requiring type annotations unnecessarily can be cumbersome to maintain and generally reduces code readability. TypeScript is often better at inferring types than easily written type annotations would allow. **Instead of enabling `typedef`, it is generally recommended to use the `--noImplicitAny` and `--strictPropertyInitialization` compiler options to enforce type annotations only when useful.** +::: + ## Rule Details This rule can enforce type annotations in locations regardless of whether they're required. @@ -36,30 +40,6 @@ This is typically used to maintain consistency for element types that sometimes ## Options -```ts -type Options = { - arrayDestructuring?: boolean; - arrowParameter?: boolean; - memberVariableDeclaration?: boolean; - objectDestructuring?: boolean; - parameter?: boolean; - propertyDeclaration?: boolean; - variableDeclaration?: boolean; - variableDeclarationIgnoreFunction?: boolean; -}; - -const defaultOptions: Options = { - arrayDestructuring: false, - arrowParameter: false, - memberVariableDeclaration: false, - objectDestructuring: false, - parameter: false, - propertyDeclaration: false, - variableDeclaration: false, - variableDeclarationIgnoreFunction: false, -}; -``` - For example, with the following configuration: ```json diff --git a/packages/eslint-plugin/docs/rules/unbound-method.md b/packages/eslint-plugin/docs/rules/unbound-method.md index 6a74e898a9b4..fe030ad5facc 100644 --- a/packages/eslint-plugin/docs/rules/unbound-method.md +++ b/packages/eslint-plugin/docs/rules/unbound-method.md @@ -13,7 +13,7 @@ If you're working with `jest`, you can use [`eslint-plugin-jest`'s version of th ## Rule Details -Examples of code for this rule +Examples of code for this rule with the default options: @@ -76,10 +76,6 @@ const { double } = arith; ## Options -The rule accepts an options object with the following property: - -- `ignoreStatic` to not check whether `static` methods are correctly bound - ### `ignoreStatic` Examples of **correct** code for this rule with `{ ignoreStatic: true }`: @@ -97,19 +93,6 @@ const { log } = OtherClass; log(); ``` -## Example - -```json -{ - "@typescript-eslint/unbound-method": [ - "error", - { - "ignoreStatic": true - } - ] -} -``` - ## When Not To Use It If your code intentionally waits to bind methods after use, such as by passing a `scope: this` along with the method, you can disable this rule. diff --git a/packages/eslint-plugin/docs/rules/unified-signatures.md b/packages/eslint-plugin/docs/rules/unified-signatures.md index cb03bc45b737..ad6bbb917aa3 100644 --- a/packages/eslint-plugin/docs/rules/unified-signatures.md +++ b/packages/eslint-plugin/docs/rules/unified-signatures.md @@ -10,22 +10,6 @@ description: 'Disallow two overloads that could be unified into one with a union This rule aims to keep the source code as maintainable as possible by reducing the amount of overloads. -## Options - -```ts -type Options = { - ignoreDifferentlyNamedParameters?: boolean; -}; - -const defaultOptions: Options = { - ignoreDifferentlyNamedParameters: false, -}; -``` - -The rule accepts an options object with the following property: - -- `ignoreDifferentlyNamedParameters`: whether two parameters with different names at the same index should be considered different even if their types are the same. - Examples of code for this rule with the default options: @@ -52,6 +36,10 @@ function x(x: number | string): void; function y(...x: number[]): void; ``` +## Options + +### `ignoreDifferentlyNamedParameters` + Examples of code for this rule with `ignoreDifferentlyNamedParameters`: @@ -79,3 +67,5 @@ function f(b: string): void; function f(...a: number[]): void; function f(...a: string[]): void; ``` + +## Options diff --git a/packages/eslint-plugin/package.json b/packages/eslint-plugin/package.json index 2e378ef4a2f5..654d71a529f6 100644 --- a/packages/eslint-plugin/package.json +++ b/packages/eslint-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@typescript-eslint/eslint-plugin", - "version": "5.33.1", + "version": "5.35.1", "description": "TypeScript plugin for ESLint", "keywords": [ "eslint", @@ -44,9 +44,9 @@ "typecheck": "tsc -p tsconfig.json --noEmit" }, "dependencies": { - "@typescript-eslint/scope-manager": "5.33.1", - "@typescript-eslint/type-utils": "5.33.1", - "@typescript-eslint/utils": "5.33.1", + "@typescript-eslint/scope-manager": "5.35.1", + "@typescript-eslint/type-utils": "5.35.1", + "@typescript-eslint/utils": "5.35.1", "debug": "^4.3.4", "functional-red-black-tree": "^1.0.1", "ignore": "^5.2.0", diff --git a/packages/eslint-plugin/src/rules/array-type.ts b/packages/eslint-plugin/src/rules/array-type.ts index c84afee195f6..8af13f38ed40 100644 --- a/packages/eslint-plugin/src/rules/array-type.ts +++ b/packages/eslint-plugin/src/rules/array-type.ts @@ -83,8 +83,6 @@ type MessageIds = | 'errorStringArraySimple' | 'errorStringGenericSimple'; -const arrayOption = { enum: ['array', 'generic', 'array-simple'] }; - export default util.createRule({ name: 'array-type', meta: { @@ -104,15 +102,30 @@ export default util.createRule({ errorStringGenericSimple: "Array type using '{{readonlyPrefix}}{{type}}[]' is forbidden for non-simple types. Use '{{className}}<{{type}}>' instead.", }, - schema: [ - { - type: 'object', - properties: { - default: arrayOption, - readonly: arrayOption, + schema: { + $defs: { + arrayOption: { + enum: ['array', 'generic', 'array-simple'], }, }, - ], + prefixItems: [ + { + properties: { + default: { + $ref: '#/$defs/arrayOption', + description: 'The array type expected for mutable cases...', + }, + readonly: { + $ref: '#/$defs/arrayOption', + description: + 'The array type expected for readonly cases. If omitted, the value for `default` will be used.', + }, + }, + type: 'object', + }, + ], + type: 'array', + }, }, defaultOptions: [ { diff --git a/packages/eslint-plugin/src/rules/ban-ts-comment.ts b/packages/eslint-plugin/src/rules/ban-ts-comment.ts index e5cb60876ea3..f50a9e8e2696 100644 --- a/packages/eslint-plugin/src/rules/ban-ts-comment.ts +++ b/packages/eslint-plugin/src/rules/ban-ts-comment.ts @@ -14,24 +14,6 @@ interface Options { minimumDescriptionLength?: number; } -const directiveConfigSchema = { - oneOf: [ - { - type: 'boolean', - default: true, - }, - { - enum: ['allow-with-description'], - }, - { - type: 'object', - properties: { - descriptionFormat: { type: 'string' }, - }, - }, - ], -}; - export const defaultMinimumDescriptionLength = 3; type MessageIds = @@ -56,22 +38,45 @@ export default util.createRule<[Options], MessageIds>({ tsDirectiveCommentDescriptionNotMatchPattern: 'The description for the "@ts-{{directive}}" directive must match the {{format}} format.', }, - schema: [ - { - type: 'object', - properties: { - 'ts-expect-error': directiveConfigSchema, - 'ts-ignore': directiveConfigSchema, - 'ts-nocheck': directiveConfigSchema, - 'ts-check': directiveConfigSchema, - minimumDescriptionLength: { - type: 'number', - default: defaultMinimumDescriptionLength, - }, + schema: { + $defs: { + directiveConfigSchema: { + oneOf: [ + { + type: 'boolean', + default: true, + }, + { + enum: ['allow-with-description'], + }, + { + type: 'object', + properties: { + descriptionFormat: { type: 'string' }, + }, + }, + ], }, - additionalProperties: false, }, - ], + prefixItems: [ + { + properties: { + 'ts-expect-error': { + $ref: '#/$defs/directiveConfigSchema', + }, + 'ts-ignore': { $ref: '#/$defs/directiveConfigSchema' }, + 'ts-nocheck': { $ref: '#/$defs/directiveConfigSchema' }, + 'ts-check': { $ref: '#/$defs/directiveConfigSchema' }, + minimumDescriptionLength: { + type: 'number', + default: defaultMinimumDescriptionLength, + }, + }, + additionalProperties: false, + }, + ], + type: 'array', + }, }, defaultOptions: [ { diff --git a/packages/eslint-plugin/src/rules/comma-dangle.ts b/packages/eslint-plugin/src/rules/comma-dangle.ts index f3986151489f..545775785edd 100644 --- a/packages/eslint-plugin/src/rules/comma-dangle.ts +++ b/packages/eslint-plugin/src/rules/comma-dangle.ts @@ -46,7 +46,7 @@ export default util.createRule({ extendsBaseRule: true, }, schema: { - definitions: { + $defs: { value: { enum: OPTION_VALUE_SCHEME, }, @@ -59,19 +59,19 @@ export default util.createRule({ { oneOf: [ { - $ref: '#/definitions/value', + $ref: '#/$defs/value', }, { type: 'object', properties: { - arrays: { $ref: '#/definitions/valueWithIgnore' }, - objects: { $ref: '#/definitions/valueWithIgnore' }, - imports: { $ref: '#/definitions/valueWithIgnore' }, - exports: { $ref: '#/definitions/valueWithIgnore' }, - functions: { $ref: '#/definitions/valueWithIgnore' }, - enums: { $ref: '#/definitions/valueWithIgnore' }, - generics: { $ref: '#/definitions/valueWithIgnore' }, - tuples: { $ref: '#/definitions/valueWithIgnore' }, + arrays: { $ref: '#/$defs/valueWithIgnore' }, + objects: { $ref: '#/$defs/valueWithIgnore' }, + imports: { $ref: '#/$defs/valueWithIgnore' }, + exports: { $ref: '#/$defs/valueWithIgnore' }, + functions: { $ref: '#/$defs/valueWithIgnore' }, + enums: { $ref: '#/$defs/valueWithIgnore' }, + generics: { $ref: '#/$defs/valueWithIgnore' }, + tuples: { $ref: '#/$defs/valueWithIgnore' }, }, additionalProperties: false, }, diff --git a/packages/eslint-plugin/src/rules/explicit-function-return-type.ts b/packages/eslint-plugin/src/rules/explicit-function-return-type.ts index 1f69834d4784..4b18307281c3 100644 --- a/packages/eslint-plugin/src/rules/explicit-function-return-type.ts +++ b/packages/eslint-plugin/src/rules/explicit-function-return-type.ts @@ -34,26 +34,38 @@ export default util.createRule({ { type: 'object', properties: { - allowExpressions: { + allowConciseArrowFunctionExpressionsStartingWithVoid: { + description: + 'Whether to allow arrow functions that start with the `void` keyword.', type: 'boolean', }, - allowTypedFunctionExpressions: { + allowExpressions: { + description: + 'Whether to ignore function expressions (functions which are not part of a declaration).', type: 'boolean', }, allowHigherOrderFunctions: { + description: + 'Whether to ignore functions immediately returning another function expression.', type: 'boolean', }, - allowDirectConstAssertionInArrowFunctions: { + allowTypedFunctionExpressions: { + description: + 'Whether to ignore type annotations on the variable of function expressions.', type: 'boolean', }, - allowConciseArrowFunctionExpressionsStartingWithVoid: { + allowDirectConstAssertionInArrowFunctions: { + description: + 'Whether to ignore arrow functions immediately returning a `as const` value.', type: 'boolean', }, allowedNames: { - type: 'array', + description: + 'An array of function/method names that will not have their arguments or return values checked.', items: { type: 'string', }, + type: 'array', }, }, additionalProperties: false, @@ -78,7 +90,7 @@ export default util.createRule({ | TSESTree.FunctionExpression | TSESTree.FunctionDeclaration, ): boolean { - if (!options.allowedNames || !options.allowedNames.length) { + if (!options.allowedNames?.length) { return false; } diff --git a/packages/eslint-plugin/src/rules/explicit-member-accessibility.ts b/packages/eslint-plugin/src/rules/explicit-member-accessibility.ts index b67221aee54f..6087568abe9a 100644 --- a/packages/eslint-plugin/src/rules/explicit-member-accessibility.ts +++ b/packages/eslint-plugin/src/rules/explicit-member-accessibility.ts @@ -25,13 +25,32 @@ interface Config { type Options = [Config]; -type MessageIds = 'unwantedPublicAccessibility' | 'missingAccessibility'; +type MessageIds = + | 'unwantedPublicAccessibility' + | 'missingAccessibility' + | 'addExplicitAccessibility'; -const accessibilityLevel = { enum: ['explicit', 'no-public', 'off'] }; +const accessibilityLevel = { + oneOf: [ + { + const: 'explicit', + description: 'Always require an accessor.', + }, + { + const: 'no-public', + description: 'Require an accessor except when public.', + }, + { + const: 'off', + description: 'Never check whether there is an accessor.', + }, + ], +}; export default util.createRule({ name: 'explicit-member-accessibility', meta: { + hasSuggestions: true, type: 'problem', docs: { description: @@ -45,34 +64,43 @@ export default util.createRule({ 'Missing accessibility modifier on {{type}} {{name}}.', unwantedPublicAccessibility: 'Public accessibility modifier on {{type}} {{name}}.', + addExplicitAccessibility: "Add '{{ type }}' accessibility modifier", }, - schema: [ - { - type: 'object', - properties: { - accessibility: accessibilityLevel, - overrides: { - type: 'object', - properties: { - accessors: accessibilityLevel, - constructors: accessibilityLevel, - methods: accessibilityLevel, - properties: accessibilityLevel, - parameterProperties: accessibilityLevel, - }, + schema: { + $defs: { + accessibilityLevel, + }, + prefixItems: [ + { + type: 'object', + properties: { + accessibility: { $ref: '#/$defs/accessibilityLevel' }, + overrides: { + type: 'object', + properties: { + accessors: { $ref: '#/$defs/accessibilityLevel' }, + constructors: { $ref: '#/$defs/accessibilityLevel' }, + methods: { $ref: '#/$defs/accessibilityLevel' }, + properties: { $ref: '#/$defs/accessibilityLevel' }, + parameterProperties: { + $ref: '#/$defs/accessibilityLevel', + }, + }, - additionalProperties: false, - }, - ignoredMethodNames: { - type: 'array', - items: { - type: 'string', + additionalProperties: false, + }, + ignoredMethodNames: { + type: 'array', + items: { + type: 'string', + }, }, }, + additionalProperties: false, }, - additionalProperties: false, - }, - ], + ], + type: 'array', + }, }, defaultOptions: [{ accessibility: 'explicit' }], create(context, [option]) { @@ -85,26 +113,6 @@ export default util.createRule({ const propCheck = overrides.properties ?? baseCheck; const paramPropCheck = overrides.parameterProperties ?? baseCheck; const ignoredMethodNames = new Set(option.ignoredMethodNames ?? []); - /** - * Generates the report for rule violations - */ - function reportIssue( - messageId: MessageIds, - nodeType: string, - node: TSESTree.Node, - nodeName: string, - fix: TSESLint.ReportFixFunction | null = null, - ): void { - context.report({ - node, - messageId, - data: { - type: nodeType, - name: nodeName, - }, - fix, - }); - } /** * Checks if a method declaration has an accessibility modifier. @@ -146,20 +154,25 @@ export default util.createRule({ check === 'no-public' && methodDefinition.accessibility === 'public' ) { - reportIssue( - 'unwantedPublicAccessibility', - nodeType, - methodDefinition, - methodName, - getUnwantedPublicAccessibilityFixer(methodDefinition), - ); + context.report({ + node: methodDefinition, + messageId: 'unwantedPublicAccessibility', + data: { + type: nodeType, + name: methodName, + }, + fix: getUnwantedPublicAccessibilityFixer(methodDefinition), + }); } else if (check === 'explicit' && !methodDefinition.accessibility) { - reportIssue( - 'missingAccessibility', - nodeType, - methodDefinition, - methodName, - ); + context.report({ + node: methodDefinition, + messageId: 'missingAccessibility', + data: { + type: nodeType, + name: methodName, + }, + suggest: getMissingAccessibilitySuggestions(methodDefinition), + }); } } @@ -205,6 +218,48 @@ export default util.createRule({ }; } + /** + * Creates a fixer that adds a "public" keyword with following spaces + */ + function getMissingAccessibilitySuggestions( + node: + | TSESTree.MethodDefinition + | TSESTree.PropertyDefinition + | TSESTree.TSAbstractMethodDefinition + | TSESTree.TSAbstractPropertyDefinition + | TSESTree.TSParameterProperty, + ): TSESLint.ReportSuggestionArray { + function fix( + accessibility: TSESTree.Accessibility, + fixer: TSESLint.RuleFixer, + ): TSESLint.RuleFix | null { + if (node?.decorators?.length) { + const lastDecorator = node.decorators[node.decorators.length - 1]; + const nextToken = sourceCode.getTokenAfter(lastDecorator)!; + return fixer.insertTextBefore(nextToken, `${accessibility} `); + } + return fixer.insertTextBefore(node, `${accessibility} `); + } + + return [ + { + messageId: 'addExplicitAccessibility', + data: { type: 'public' }, + fix: fixer => fix('public', fixer), + }, + { + messageId: 'addExplicitAccessibility', + data: { type: 'private' }, + fix: fixer => fix('private', fixer), + }, + { + messageId: 'addExplicitAccessibility', + data: { type: 'protected' }, + fix: fixer => fix('protected', fixer), + }, + ]; + } + /** * Checks if property has an accessibility modifier. * @param propertyDefinition The node representing a PropertyDefinition. @@ -228,23 +283,28 @@ export default util.createRule({ propCheck === 'no-public' && propertyDefinition.accessibility === 'public' ) { - reportIssue( - 'unwantedPublicAccessibility', - nodeType, - propertyDefinition, - propertyName, - getUnwantedPublicAccessibilityFixer(propertyDefinition), - ); + context.report({ + node: propertyDefinition, + messageId: 'unwantedPublicAccessibility', + data: { + type: nodeType, + name: propertyName, + }, + fix: getUnwantedPublicAccessibilityFixer(propertyDefinition), + }); } else if ( propCheck === 'explicit' && !propertyDefinition.accessibility ) { - reportIssue( - 'missingAccessibility', - nodeType, - propertyDefinition, - propertyName, - ); + context.report({ + node: propertyDefinition, + messageId: 'missingAccessibility', + data: { + type: nodeType, + name: propertyName, + }, + suggest: getMissingAccessibilitySuggestions(propertyDefinition), + }); } } @@ -273,19 +333,29 @@ export default util.createRule({ switch (paramPropCheck) { case 'explicit': { if (!node.accessibility) { - reportIssue('missingAccessibility', nodeType, node, nodeName); + context.report({ + node, + messageId: 'missingAccessibility', + data: { + type: nodeType, + name: nodeName, + }, + suggest: getMissingAccessibilitySuggestions(node), + }); } break; } case 'no-public': { if (node.accessibility === 'public' && node.readonly) { - reportIssue( - 'unwantedPublicAccessibility', - nodeType, + context.report({ node, - nodeName, - getUnwantedPublicAccessibilityFixer(node), - ); + messageId: 'unwantedPublicAccessibility', + data: { + type: nodeType, + name: nodeName, + }, + fix: getUnwantedPublicAccessibilityFixer(node), + }); } break; } diff --git a/packages/eslint-plugin/src/rules/explicit-module-boundary-types.ts b/packages/eslint-plugin/src/rules/explicit-module-boundary-types.ts index 3f9f50086ccf..a3c414203544 100644 --- a/packages/eslint-plugin/src/rules/explicit-module-boundary-types.ts +++ b/packages/eslint-plugin/src/rules/explicit-module-boundary-types.ts @@ -50,21 +50,35 @@ export default util.createRule({ type: 'object', properties: { allowArgumentsExplicitlyTypedAsAny: { + description: + 'Whether to ignore arguments that are explicitly typed as `any`.', type: 'boolean', }, allowDirectConstAssertionInArrowFunctions: { + description: [ + 'Whether to ignore return type annotations on body-less arrow functions that return an `as const` type assertion.', + 'You must still type the parameters of the function.', + ].join('\n'), type: 'boolean', }, allowedNames: { - type: 'array', + description: + 'An array of function/method names that will not have their arguments or return values checked.', items: { type: 'string', }, + type: 'array', }, allowHigherOrderFunctions: { + description: [ + 'Whether to ignore return type annotations on functions immediately returning another function expression.', + 'You must still type the parameters of the function.', + ].join('\n'), type: 'boolean', }, allowTypedFunctionExpressions: { + description: + 'Whether to ignore type annotations on the variable of a function expresion.', type: 'boolean', }, // DEPRECATED - To be removed in next major diff --git a/packages/eslint-plugin/src/rules/naming-convention.ts b/packages/eslint-plugin/src/rules/naming-convention.ts index 9738922e6e90..a27d9b09df0f 100644 --- a/packages/eslint-plugin/src/rules/naming-convention.ts +++ b/packages/eslint-plugin/src/rules/naming-convention.ts @@ -1,7 +1,3 @@ -/* eslint-disable eslint-comments/no-use */ -/* eslint eslint-plugin/no-unused-message-ids:"off" -- https://github.com/not-an-aardvark/eslint-plugin-eslint-plugin/issues/283 */ -/* eslint-enable eslint-comments/no-use */ - import { AST_NODE_TYPES, TSESLint, TSESTree } from '@typescript-eslint/utils'; import { PatternVisitor } from '@typescript-eslint/scope-manager'; import type { ScriptTarget } from 'typescript'; diff --git a/packages/eslint-plugin/src/rules/no-empty-interface.ts b/packages/eslint-plugin/src/rules/no-empty-interface.ts index efe403bd0dd3..a16d9cdb6df9 100644 --- a/packages/eslint-plugin/src/rules/no-empty-interface.ts +++ b/packages/eslint-plugin/src/rules/no-empty-interface.ts @@ -17,7 +17,7 @@ export default util.createRule({ recommended: 'error', }, fixable: 'code', - hasSuggestions: true, // eslint-disable-line eslint-plugin/require-meta-has-suggestions -- https://github.com/not-an-aardvark/eslint-plugin-eslint-plugin/issues/272 + hasSuggestions: true, messages: { noEmpty: 'An empty interface is equivalent to `{}`.', noEmptyWithSuper: diff --git a/packages/eslint-plugin/src/rules/no-explicit-any.ts b/packages/eslint-plugin/src/rules/no-explicit-any.ts index cdc9b3b2afeb..e32d00bcd706 100644 --- a/packages/eslint-plugin/src/rules/no-explicit-any.ts +++ b/packages/eslint-plugin/src/rules/no-explicit-any.ts @@ -18,7 +18,7 @@ export default util.createRule({ recommended: 'warn', }, fixable: 'code', - hasSuggestions: true, // eslint-disable-line eslint-plugin/require-meta-has-suggestions -- https://github.com/not-an-aardvark/eslint-plugin-eslint-plugin/issues/281 + hasSuggestions: true, messages: { unexpectedAny: 'Unexpected any. Specify a different type.', suggestUnknown: @@ -32,9 +32,12 @@ export default util.createRule({ additionalProperties: false, properties: { fixToUnknown: { + description: + 'Whether to enable auto-fixing in which the `any` type is converted to the `unknown` type.', type: 'boolean', }, ignoreRestArgs: { + description: 'Whether to ignore rest parameter arrays.', type: 'boolean', }, }, diff --git a/packages/eslint-plugin/src/rules/no-extraneous-class.ts b/packages/eslint-plugin/src/rules/no-extraneous-class.ts index f280780ef89c..6bd2ba910377 100644 --- a/packages/eslint-plugin/src/rules/no-extraneous-class.ts +++ b/packages/eslint-plugin/src/rules/no-extraneous-class.ts @@ -25,15 +25,23 @@ export default util.createRule({ additionalProperties: false, properties: { allowConstructorOnly: { + description: + 'Whether to allow extraneous classes that contain only a constructor.', type: 'boolean', }, allowEmpty: { + description: + 'Whether to allow extraneous classes that have no body (i.e. are empty).', type: 'boolean', }, allowStaticOnly: { + description: + 'Whether to allow extraneous classes that only contain static members.', type: 'boolean', }, allowWithDecorator: { + description: + 'Whether to allow extraneous classes that include a decorator.', type: 'boolean', }, }, diff --git a/packages/eslint-plugin/src/rules/no-floating-promises.ts b/packages/eslint-plugin/src/rules/no-floating-promises.ts index 168cd3c55231..06b02fb297ab 100644 --- a/packages/eslint-plugin/src/rules/no-floating-promises.ts +++ b/packages/eslint-plugin/src/rules/no-floating-promises.ts @@ -35,8 +35,15 @@ export default util.createRule({ { type: 'object', properties: { - ignoreVoid: { type: 'boolean' }, - ignoreIIFE: { type: 'boolean' }, + ignoreVoid: { + description: 'Whether to ignore `void` expressions.', + type: 'boolean', + }, + ignoreIIFE: { + description: + 'Whether to ignore async IIFEs (Immediately Invocated Function Expressions).', + type: 'boolean', + }, }, additionalProperties: false, }, diff --git a/packages/eslint-plugin/src/rules/no-implicit-any-catch.ts b/packages/eslint-plugin/src/rules/no-implicit-any-catch.ts index d020e81522f3..439378070d69 100644 --- a/packages/eslint-plugin/src/rules/no-implicit-any-catch.ts +++ b/packages/eslint-plugin/src/rules/no-implicit-any-catch.ts @@ -34,6 +34,8 @@ export default util.createRule({ additionalProperties: false, properties: { allowExplicitAny: { + description: + 'Whether to disallow specifying `: any` as the error type as well. See also `no-explicit-any`.', type: 'boolean', }, }, diff --git a/packages/eslint-plugin/src/rules/no-namespace.ts b/packages/eslint-plugin/src/rules/no-namespace.ts index 2a840fda3143..ac306e6b299c 100644 --- a/packages/eslint-plugin/src/rules/no-namespace.ts +++ b/packages/eslint-plugin/src/rules/no-namespace.ts @@ -26,9 +26,13 @@ export default util.createRule({ type: 'object', properties: { allowDeclarations: { + description: + 'Whether to allow `declare` with custom TypeScript namespaces.', type: 'boolean', }, allowDefinitionFiles: { + description: + 'Whether to allow `declare` with custom TypeScript namespaces inside definition files.', type: 'boolean', }, }, diff --git a/packages/eslint-plugin/src/rules/no-this-alias.ts b/packages/eslint-plugin/src/rules/no-this-alias.ts index 5750b8209b11..9df6f8d0a01f 100644 --- a/packages/eslint-plugin/src/rules/no-this-alias.ts +++ b/packages/eslint-plugin/src/rules/no-this-alias.ts @@ -23,9 +23,13 @@ export default util.createRule({ additionalProperties: false, properties: { allowDestructuring: { + description: + 'Whether to ignore destructurings, such as `const { props, state } = this`.', type: 'boolean', }, allowedNames: { + description: + 'Names to ignore, such as ["self"] for `const self = this;`.', type: 'array', items: { type: 'string', diff --git a/packages/eslint-plugin/src/rules/no-type-alias.ts b/packages/eslint-plugin/src/rules/no-type-alias.ts index ba656ea4124a..69742eb61032 100644 --- a/packages/eslint-plugin/src/rules/no-type-alias.ts +++ b/packages/eslint-plugin/src/rules/no-type-alias.ts @@ -60,27 +60,36 @@ export default util.createRule({ type: 'object', properties: { allowAliases: { + description: 'Whether to allow direct one-to-one type aliases.', enum: enumValues, }, allowCallbacks: { + description: 'Whether to allow type aliases for callbacks.', enum: ['always', 'never'], }, allowConditionalTypes: { + description: 'Whether to allow type aliases for conditional types.', enum: ['always', 'never'], }, allowConstructors: { + description: 'Whether to allow type aliases with constructors.', enum: ['always', 'never'], }, allowLiterals: { + description: + 'Whether to allow type aliases with object literal types.', enum: enumValues, }, allowMappedTypes: { + description: 'Whether to allow type aliases with mapped types.', enum: enumValues, }, allowTupleTypes: { + description: 'Whether to allow type aliases with tuple types.', enum: enumValues, }, allowGenerics: { + description: 'Whether to allow type aliases with generic types.', enum: ['always', 'never'], }, }, diff --git a/packages/eslint-plugin/src/rules/no-unnecessary-boolean-literal-compare.ts b/packages/eslint-plugin/src/rules/no-unnecessary-boolean-literal-compare.ts index d135b3dd18a9..592f2d03c024 100644 --- a/packages/eslint-plugin/src/rules/no-unnecessary-boolean-literal-compare.ts +++ b/packages/eslint-plugin/src/rules/no-unnecessary-boolean-literal-compare.ts @@ -56,9 +56,13 @@ export default util.createRule({ type: 'object', properties: { allowComparingNullableBooleansToTrue: { + description: + 'Whether to allow comparisons between nullable boolean variables and `true`.', type: 'boolean', }, allowComparingNullableBooleansToFalse: { + description: + 'Whether to allow comparisons between nullable boolean variables and `false`.', type: 'boolean', }, }, diff --git a/packages/eslint-plugin/src/rules/no-unnecessary-condition.ts b/packages/eslint-plugin/src/rules/no-unnecessary-condition.ts index df6580be86a6..865fc959743c 100644 --- a/packages/eslint-plugin/src/rules/no-unnecessary-condition.ts +++ b/packages/eslint-plugin/src/rules/no-unnecessary-condition.ts @@ -98,9 +98,13 @@ export default createRule({ type: 'object', properties: { allowConstantLoopConditions: { + description: + 'Whether to ignore constant loop conditions, such as `while (true)`.', type: 'boolean', }, allowRuleToRunWithoutStrictNullChecksIKnowWhatIAmDoing: { + description: + 'Whether to not error when running with a tsconfig that has strictNullChecks turned.', type: 'boolean', }, }, diff --git a/packages/eslint-plugin/src/rules/no-unnecessary-type-assertion.ts b/packages/eslint-plugin/src/rules/no-unnecessary-type-assertion.ts index d9ef180abd5f..59e257b9e0bf 100644 --- a/packages/eslint-plugin/src/rules/no-unnecessary-type-assertion.ts +++ b/packages/eslint-plugin/src/rules/no-unnecessary-type-assertion.ts @@ -37,6 +37,7 @@ export default util.createRule({ type: 'object', properties: { typesToIgnore: { + description: 'A list of type names to ignore.', type: 'array', items: { type: 'string', diff --git a/packages/eslint-plugin/src/rules/no-unsafe-call.ts b/packages/eslint-plugin/src/rules/no-unsafe-call.ts index dd209b27675c..799bba94295d 100644 --- a/packages/eslint-plugin/src/rules/no-unsafe-call.ts +++ b/packages/eslint-plugin/src/rules/no-unsafe-call.ts @@ -1,7 +1,3 @@ -/* eslint-disable eslint-comments/no-use */ -/* eslint eslint-plugin/no-unused-message-ids:"off" -- https://github.com/not-an-aardvark/eslint-plugin-eslint-plugin/issues/282 */ -/* eslint-enable eslint-comments/no-use */ - import { TSESTree } from '@typescript-eslint/utils'; import * as tsutils from 'tsutils'; import * as util from '../util'; diff --git a/packages/eslint-plugin/src/rules/no-useless-constructor.ts b/packages/eslint-plugin/src/rules/no-useless-constructor.ts index 10e55cfbe0eb..07bbc672d656 100644 --- a/packages/eslint-plugin/src/rules/no-useless-constructor.ts +++ b/packages/eslint-plugin/src/rules/no-useless-constructor.ts @@ -31,14 +31,13 @@ function checkAccessibility(node: TSESTree.MethodDefinition): boolean { } /** - * Check if method is not unless due to typescript parameter properties + * Check if method is not useless due to typescript parameter properties and decorators */ function checkParams(node: TSESTree.MethodDefinition): boolean { - return ( - !node.value.params || - !node.value.params.some( - param => param.type === AST_NODE_TYPES.TSParameterProperty, - ) + return !node.value.params.some( + param => + param.type === AST_NODE_TYPES.TSParameterProperty || + param.decorators?.length, ); } 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 938ba9524aa3..567855734953 100644 --- a/packages/eslint-plugin/src/rules/padding-line-between-statements.ts +++ b/packages/eslint-plugin/src/rules/padding-line-between-statements.ts @@ -594,7 +594,7 @@ export default util.createRule({ fixable: 'whitespace', hasSuggestions: false, schema: { - definitions: { + $defs: { paddingType: { enum: Object.keys(PaddingTypes), }, @@ -615,9 +615,9 @@ export default util.createRule({ items: { type: 'object', properties: { - blankLine: { $ref: '#/definitions/paddingType' }, - prev: { $ref: '#/definitions/statementType' }, - next: { $ref: '#/definitions/statementType' }, + blankLine: { $ref: '#/$defs/paddingType' }, + prev: { $ref: '#/$defs/statementType' }, + next: { $ref: '#/$defs/statementType' }, }, additionalProperties: false, required: ['blankLine', 'prev', 'next'], diff --git a/packages/eslint-plugin/src/rules/parameter-properties.ts b/packages/eslint-plugin/src/rules/parameter-properties.ts index 58d834088977..78bae4d30ea9 100644 --- a/packages/eslint-plugin/src/rules/parameter-properties.ts +++ b/packages/eslint-plugin/src/rules/parameter-properties.ts @@ -36,32 +36,40 @@ export default util.createRule({ preferParameterProperty: 'Property {{parameter}} should be declared as a parameter property.', }, - schema: [ - { - type: 'object', - properties: { - allow: { - type: 'array', - items: { - enum: [ - 'readonly', - 'private', - 'protected', - 'public', - 'private readonly', - 'protected readonly', - 'public readonly', - ], + schema: { + $defs: { + modifier: { + enum: [ + 'readonly', + 'private', + 'protected', + 'public', + 'private readonly', + 'protected readonly', + 'public readonly', + ], + }, + }, + prefixItems: [ + { + type: 'object', + properties: { + allow: { + type: 'array', + items: { + $ref: '#/$defs/modifier', + }, + minItems: 1, + }, + prefer: { + enum: ['class-property', 'parameter-property'], }, - minItems: 1, - }, - prefer: { - enum: ['class-property', 'parameter-property'], }, + additionalProperties: false, }, - additionalProperties: false, - }, - ], + ], + type: 'array', + }, }, defaultOptions: [ { diff --git a/packages/eslint-plugin/src/rules/prefer-optional-chain.ts b/packages/eslint-plugin/src/rules/prefer-optional-chain.ts index 654624faaf79..aeb4ff9146d8 100644 --- a/packages/eslint-plugin/src/rules/prefer-optional-chain.ts +++ b/packages/eslint-plugin/src/rules/prefer-optional-chain.ts @@ -34,7 +34,7 @@ export default util.createRule({ type: 'suggestion', docs: { description: - 'Enforce using concise optional chain expressions instead of chained logical ands', + 'Enforce using concise optional chain expressions instead of chained logical ands, negated logical ors, or empty objects', recommended: 'strict', }, hasSuggestions: true, @@ -110,6 +110,81 @@ export default util.createRule({ ], }); }, + [[ + 'LogicalExpression[operator="||"] > UnaryExpression[operator="!"] > Identifier', + 'LogicalExpression[operator="||"] > UnaryExpression[operator="!"] > MemberExpression', + 'LogicalExpression[operator="||"] > UnaryExpression[operator="!"] > ChainExpression > MemberExpression', + ].join(',')]( + initialIdentifierOrNotEqualsExpr: + | TSESTree.Identifier + | TSESTree.MemberExpression, + ): void { + // selector guarantees this cast + const initialExpression = ( + initialIdentifierOrNotEqualsExpr.parent!.type === + AST_NODE_TYPES.ChainExpression + ? initialIdentifierOrNotEqualsExpr.parent.parent + : initialIdentifierOrNotEqualsExpr.parent + )!.parent as TSESTree.LogicalExpression; + + if ( + initialExpression.left.type !== AST_NODE_TYPES.UnaryExpression || + initialExpression.left.argument !== initialIdentifierOrNotEqualsExpr + ) { + // the node(identifier or member expression) is not the deepest left node + return; + } + + // walk up the tree to figure out how many logical expressions we can include + let previous: TSESTree.LogicalExpression = initialExpression; + let current: TSESTree.Node = initialExpression; + let previousLeftText = getText(initialIdentifierOrNotEqualsExpr); + let optionallyChainedCode = previousLeftText; + let expressionCount = 1; + while (current.type === AST_NODE_TYPES.LogicalExpression) { + if ( + current.right.type !== AST_NODE_TYPES.UnaryExpression || + !isValidChainTarget( + current.right.argument, + // only allow unary '!' with identifiers for the first chain - !foo || !foo() + expressionCount === 1, + ) + ) { + break; + } + const { rightText, shouldBreak } = breakIfInvalid({ + rightNode: current.right.argument, + previousLeftText, + }); + if (shouldBreak) { + break; + } + + ({ + expressionCount, + previousLeftText, + optionallyChainedCode, + previous, + current, + } = normalizeRepeatingPatterns( + rightText, + expressionCount, + previousLeftText, + optionallyChainedCode, + previous, + current, + )); + } + + reportIfMoreThanOne({ + expressionCount, + previous, + optionallyChainedCode, + sourceCode, + context, + shouldHandleChainedAnds: false, + }); + }, [[ 'LogicalExpression[operator="&&"] > Identifier', 'LogicalExpression[operator="&&"] > MemberExpression', @@ -154,99 +229,76 @@ export default util.createRule({ ) { break; } - - const leftText = previousLeftText; - const rightText = getText(current.right); - // can't just use startsWith because of cases like foo && fooBar.baz; - const matchRegex = new RegExp( - `^${ - // escape regex characters - leftText.replace(/[.*+?^${}()|[\]\\]/g, '\\$&') - }[^a-zA-Z0-9_$]`, - ); - if ( - !matchRegex.test(rightText) && - // handle redundant cases like foo.bar && foo.bar - leftText !== rightText - ) { + const { rightText, shouldBreak } = breakIfInvalid({ + rightNode: current.right as ValidChainTarget, + previousLeftText, + }); + if (shouldBreak) { break; } - // omit weird doubled up expression that make no sense like foo.bar && foo.bar - if (rightText !== leftText) { - expressionCount += 1; - previousLeftText = rightText; - - /* - Diff the left and right text to construct the fix string - There are the following cases: - - 1) - rightText === 'foo.bar.baz.buzz' - leftText === 'foo.bar.baz' - diff === '.buzz' - - 2) - rightText === 'foo.bar.baz.buzz()' - leftText === 'foo.bar.baz' - diff === '.buzz()' - - 3) - rightText === 'foo.bar.baz.buzz()' - leftText === 'foo.bar.baz.buzz' - diff === '()' - - 4) - rightText === 'foo.bar.baz[buzz]' - leftText === 'foo.bar.baz' - diff === '[buzz]' - - 5) - rightText === 'foo.bar.baz?.buzz' - leftText === 'foo.bar.baz' - diff === '?.buzz' - */ - const diff = rightText.replace(leftText, ''); - if (diff.startsWith('?')) { - // item was "pre optional chained" - optionallyChainedCode += diff; - } else { - const needsDot = diff.startsWith('(') || diff.startsWith('['); - optionallyChainedCode += `?${needsDot ? '.' : ''}${diff}`; - } - } - - previous = current; - current = util.nullThrows( - current.parent, - util.NullThrowsReasons.MissingParent, - ); + ({ + expressionCount, + previousLeftText, + optionallyChainedCode, + previous, + current, + } = normalizeRepeatingPatterns( + rightText, + expressionCount, + previousLeftText, + optionallyChainedCode, + previous, + current, + )); } - if (expressionCount > 1) { - if (previous.right.type === AST_NODE_TYPES.BinaryExpression) { - // case like foo && foo.bar !== someValue - optionallyChainedCode += ` ${ - previous.right.operator - } ${sourceCode.getText(previous.right.right)}`; - } - - context.report({ - node: previous, - messageId: 'preferOptionalChain', - suggest: [ - { - messageId: 'optionalChainSuggest', - fix: (fixer): TSESLint.RuleFix[] => [ - fixer.replaceText(previous, optionallyChainedCode), - ], - }, - ], - }); - } + reportIfMoreThanOne({ + expressionCount, + previous, + optionallyChainedCode, + sourceCode, + context, + shouldHandleChainedAnds: true, + }); }, }; + interface BreakIfInvalidResult { + leftText: string; + rightText: string; + shouldBreak: boolean; + } + + interface BreakIfInvalidOptions { + previousLeftText: string; + rightNode: ValidChainTarget; + } + + function breakIfInvalid({ + previousLeftText, + rightNode, + }: BreakIfInvalidOptions): BreakIfInvalidResult { + let shouldBreak = false; + + const rightText = getText(rightNode); + // can't just use startsWith because of cases like foo && fooBar.baz; + const matchRegex = new RegExp( + `^${ + // escape regex characters + previousLeftText.replace(/[.*+?^${}()|[\]\\]/g, '\\$&') + }[^a-zA-Z0-9_$]`, + ); + if ( + !matchRegex.test(rightText) && + // handle redundant cases like foo.bar && foo.bar + previousLeftText !== rightText + ) { + shouldBreak = true; + } + return { shouldBreak, leftText: previousLeftText, rightText }; + } + function getText(node: ValidChainTarget): string { if (node.type === AST_NODE_TYPES.BinaryExpression) { return getText( @@ -393,6 +445,132 @@ const ALLOWED_NON_COMPUTED_PROP_TYPES: ReadonlySet = new Set([ AST_NODE_TYPES.Identifier, ]); +interface ReportIfMoreThanOneOptions { + expressionCount: number; + previous: TSESTree.LogicalExpression; + optionallyChainedCode: string; + sourceCode: Readonly; + context: Readonly< + TSESLint.RuleContext< + 'preferOptionalChain' | 'optionalChainSuggest', + never[] + > + >; + shouldHandleChainedAnds: boolean; +} + +function reportIfMoreThanOne({ + expressionCount, + previous, + optionallyChainedCode, + sourceCode, + context, + shouldHandleChainedAnds, +}: ReportIfMoreThanOneOptions): void { + if (expressionCount > 1) { + if ( + shouldHandleChainedAnds && + previous.right.type === AST_NODE_TYPES.BinaryExpression + ) { + // case like foo && foo.bar !== someValue + optionallyChainedCode += ` ${ + previous.right.operator + } ${sourceCode.getText(previous.right.right)}`; + } + + context.report({ + node: previous, + messageId: 'preferOptionalChain', + suggest: [ + { + messageId: 'optionalChainSuggest', + fix: (fixer): TSESLint.RuleFix[] => [ + fixer.replaceText( + previous, + `${shouldHandleChainedAnds ? '' : '!'}${optionallyChainedCode}`, + ), + ], + }, + ], + }); + } +} + +interface NormalizedPattern { + expressionCount: number; + previousLeftText: string; + optionallyChainedCode: string; + previous: TSESTree.LogicalExpression; + current: TSESTree.Node; +} + +function normalizeRepeatingPatterns( + rightText: string, + expressionCount: number, + previousLeftText: string, + optionallyChainedCode: string, + previous: TSESTree.Node, + current: TSESTree.Node, +): NormalizedPattern { + const leftText = previousLeftText; + // omit weird doubled up expression that make no sense like foo.bar && foo.bar + if (rightText !== previousLeftText) { + expressionCount += 1; + previousLeftText = rightText; + + /* + Diff the left and right text to construct the fix string + There are the following cases: + + 1) + rightText === 'foo.bar.baz.buzz' + leftText === 'foo.bar.baz' + diff === '.buzz' + + 2) + rightText === 'foo.bar.baz.buzz()' + leftText === 'foo.bar.baz' + diff === '.buzz()' + + 3) + rightText === 'foo.bar.baz.buzz()' + leftText === 'foo.bar.baz.buzz' + diff === '()' + + 4) + rightText === 'foo.bar.baz[buzz]' + leftText === 'foo.bar.baz' + diff === '[buzz]' + + 5) + rightText === 'foo.bar.baz?.buzz' + leftText === 'foo.bar.baz' + diff === '?.buzz' + */ + const diff = rightText.replace(leftText, ''); + if (diff.startsWith('?')) { + // item was "pre optional chained" + optionallyChainedCode += diff; + } else { + const needsDot = diff.startsWith('(') || diff.startsWith('['); + optionallyChainedCode += `?${needsDot ? '.' : ''}${diff}`; + } + } + + previous = current as TSESTree.LogicalExpression; + current = util.nullThrows( + current.parent, + util.NullThrowsReasons.MissingParent, + ); + return { + expressionCount, + previousLeftText, + optionallyChainedCode, + previous, + current, + }; +} + function isValidChainTarget( node: TSESTree.Node, allowIdentifier: boolean, diff --git a/packages/eslint-plugin/src/rules/promise-function-async.ts b/packages/eslint-plugin/src/rules/promise-function-async.ts index b1ade7bf01b7..8f81a0f8b2a2 100644 --- a/packages/eslint-plugin/src/rules/promise-function-async.ts +++ b/packages/eslint-plugin/src/rules/promise-function-async.ts @@ -37,9 +37,13 @@ export default util.createRule({ type: 'object', properties: { allowAny: { + description: + 'Whether to consider `any` and `unknown` to be Promises.', type: 'boolean', }, allowedPromiseNames: { + description: + 'Any extra names of classes or interfaces to be considered Promises.', type: 'array', items: { type: 'string', diff --git a/packages/eslint-plugin/src/rules/require-array-sort-compare.ts b/packages/eslint-plugin/src/rules/require-array-sort-compare.ts index 5354c87afa64..26cc035acfda 100644 --- a/packages/eslint-plugin/src/rules/require-array-sort-compare.ts +++ b/packages/eslint-plugin/src/rules/require-array-sort-compare.ts @@ -32,6 +32,8 @@ export default util.createRule({ type: 'object', properties: { ignoreStringArrays: { + description: + 'Whether to ignore arrays in which all elements are strings.', type: 'boolean', }, }, diff --git a/packages/eslint-plugin/src/rules/require-await.ts b/packages/eslint-plugin/src/rules/require-await.ts index 56067fe554a4..f01ece89afe0 100644 --- a/packages/eslint-plugin/src/rules/require-await.ts +++ b/packages/eslint-plugin/src/rules/require-await.ts @@ -104,7 +104,7 @@ export default util.createRule({ * function and the delegate is `true` */ function markAsHasDelegateGen(node: TSESTree.YieldExpression): void { - if (!scopeInfo || !scopeInfo.isGen || !node.argument) { + if (!scopeInfo?.isGen || !node.argument) { return; } diff --git a/packages/eslint-plugin/src/rules/restrict-plus-operands.ts b/packages/eslint-plugin/src/rules/restrict-plus-operands.ts index 3884dec24dd0..c72579b5fafd 100644 --- a/packages/eslint-plugin/src/rules/restrict-plus-operands.ts +++ b/packages/eslint-plugin/src/rules/restrict-plus-operands.ts @@ -42,9 +42,11 @@ export default util.createRule({ additionalProperties: false, properties: { checkCompoundAssignments: { + description: 'Whether to check compound assignments such as `+=`.', type: 'boolean', }, allowAny: { + description: 'Whether to allow `any` typed values.', type: 'boolean', }, }, diff --git a/packages/eslint-plugin/src/rules/restrict-template-expressions.ts b/packages/eslint-plugin/src/rules/restrict-template-expressions.ts index 0140c3dc0d47..fb4e7bb7bea7 100644 --- a/packages/eslint-plugin/src/rules/restrict-template-expressions.ts +++ b/packages/eslint-plugin/src/rules/restrict-template-expressions.ts @@ -31,11 +31,31 @@ export default util.createRule({ { type: 'object', properties: { - allowNumber: { type: 'boolean' }, - allowBoolean: { type: 'boolean' }, - allowAny: { type: 'boolean' }, - allowNullish: { type: 'boolean' }, - allowRegExp: { type: 'boolean' }, + allowNumber: { + description: + 'Whether to allow `number` typed values in template expressions.', + type: 'boolean', + }, + allowBoolean: { + description: + 'Whether to allow `boolean` typed values in template expressions.', + type: 'boolean', + }, + allowAny: { + description: + 'Whether to allow `any` typed values in template expressions.', + type: 'boolean', + }, + allowNullish: { + description: + 'Whether to allow `nullish` typed values in template expressions.', + type: 'boolean', + }, + allowRegExp: { + description: + 'Whether to allow `regexp` typed values in template expressions.', + type: 'boolean', + }, }, }, ], diff --git a/packages/eslint-plugin/src/rules/return-await.ts b/packages/eslint-plugin/src/rules/return-await.ts index e55f989cd14f..bd16a9e4f531 100644 --- a/packages/eslint-plugin/src/rules/return-await.ts +++ b/packages/eslint-plugin/src/rules/return-await.ts @@ -25,7 +25,7 @@ export default util.createRule({ extendsBaseRule: 'no-return-await', }, fixable: 'code', - hasSuggestions: true, // eslint-disable-line eslint-plugin/require-meta-has-suggestions -- https://github.com/not-an-aardvark/eslint-plugin-eslint-plugin/issues/272 + hasSuggestions: true, type: 'problem', messages: { nonPromiseAwait: @@ -306,7 +306,7 @@ export default util.createRule({ }, ReturnStatement(node): void { const scopeInfo = scopeInfoStack[scopeInfoStack.length - 1]; - if (!scopeInfo || !scopeInfo.hasAsync || !node.argument) { + if (!scopeInfo?.hasAsync || !node.argument) { return; } findPossiblyReturnedNodes(node.argument).forEach(node => { diff --git a/packages/eslint-plugin/src/rules/sort-type-union-intersection-members.ts b/packages/eslint-plugin/src/rules/sort-type-union-intersection-members.ts index de1bcf15790a..201c411afee8 100644 --- a/packages/eslint-plugin/src/rules/sort-type-union-intersection-members.ts +++ b/packages/eslint-plugin/src/rules/sort-type-union-intersection-members.ts @@ -110,7 +110,7 @@ export default util.createRule({ recommended: false, }, fixable: 'code', - hasSuggestions: true, // eslint-disable-line eslint-plugin/require-meta-has-suggestions -- https://github.com/not-an-aardvark/eslint-plugin-eslint-plugin/issues/272 + hasSuggestions: true, messages: { notSorted: '{{type}} type members must be sorted.', notSortedNamed: '{{type}} type {{name}} members must be sorted.', @@ -121,12 +121,15 @@ export default util.createRule({ type: 'object', properties: { checkIntersections: { + description: 'Whether to check intersection types.', type: 'boolean', }, checkUnions: { + description: 'Whether to check union types.', type: 'boolean', }, groupOrder: { + description: 'Ordering of the groups.', type: 'array', items: { type: 'string', diff --git a/packages/eslint-plugin/src/rules/unbound-method.ts b/packages/eslint-plugin/src/rules/unbound-method.ts index 2c62881e81b1..2151cd7b3e86 100644 --- a/packages/eslint-plugin/src/rules/unbound-method.ts +++ b/packages/eslint-plugin/src/rules/unbound-method.ts @@ -142,6 +142,8 @@ export default util.createRule({ type: 'object', properties: { ignoreStatic: { + description: + 'Whether to skip checking whether `static` methods are correctly bound.', type: 'boolean', }, }, diff --git a/packages/eslint-plugin/src/rules/unified-signatures.ts b/packages/eslint-plugin/src/rules/unified-signatures.ts index dc1f683ee35b..ec502b5661a1 100644 --- a/packages/eslint-plugin/src/rules/unified-signatures.ts +++ b/packages/eslint-plugin/src/rules/unified-signatures.ts @@ -81,6 +81,8 @@ export default util.createRule({ additionalProperties: false, properties: { ignoreDifferentlyNamedParameters: { + description: + 'Whether two parameters with different names at the same index should be considered different even if their types are the same.', type: 'boolean', }, }, diff --git a/packages/eslint-plugin/tests/docs.test.ts b/packages/eslint-plugin/tests/docs.test.ts index 7fc703255d89..dc30898d6311 100644 --- a/packages/eslint-plugin/tests/docs.test.ts +++ b/packages/eslint-plugin/tests/docs.test.ts @@ -1,5 +1,4 @@ import fs from 'fs'; -import { JSONSchema4 } from 'json-schema'; import path from 'path'; import { marked } from 'marked'; @@ -18,22 +17,8 @@ function parseMarkdownFile(filePath: string): marked.TokensList { }); } -function isEmptySchema(schema: JSONSchema4 | JSONSchema4[]): boolean { - return Array.isArray(schema) - ? schema.length === 0 - : Object.keys(schema).length === 0; -} - type TokenType = marked.Token['type']; -function tokenAs( - token: marked.Token, - type: Type, -): marked.Token & { type: Type } { - expect(token.type).toBe(type); - return token as marked.Token & { type: Type }; -} - function tokenIs( token: marked.Token, type: Type, @@ -108,46 +93,6 @@ describe('Validating rule docs', () => { expect(header.text).toBe(titleCase(header.text)), ); }); - - test(`options must match the rule meta`, () => { - // TODO(#4365): We don't yet enforce formatting for all rules. - if ( - !isEmptySchema(rule.meta.schema) || - !rule.meta.docs?.recommended || - rule.meta.docs.extendsBaseRule - ) { - return; - } - - const optionsIndex = tokens.findIndex( - token => tokenIsH2(token) && token.text === 'Options', - ); - expect(optionsIndex).toBeGreaterThan(0); - - const codeBlock = tokenAs(tokens[optionsIndex + 1], 'code'); - tokenAs(tokens[optionsIndex + 2], 'space'); - const descriptionBlock = tokenAs(tokens[optionsIndex + 3], 'paragraph'); - - expect(codeBlock).toMatchObject({ - lang: 'jsonc', - text: ` -// .eslintrc.json -{ - "rules": { - "@typescript-eslint/${ruleName}": "${ - rule.meta.docs.recommended === 'strict' - ? 'warn' - : rule.meta.docs.recommended - }" - } -} - `.trim(), - type: 'code', - }); - expect(descriptionBlock).toMatchObject({ - text: 'This rule is not configurable.', - }); - }); }); } }); diff --git a/packages/eslint-plugin/tests/rules/ban-types.test.ts b/packages/eslint-plugin/tests/rules/ban-types.test.ts index a200336e0aa1..0b05bfa23f03 100644 --- a/packages/eslint-plugin/tests/rules/ban-types.test.ts +++ b/packages/eslint-plugin/tests/rules/ban-types.test.ts @@ -469,7 +469,7 @@ let baz: object = {}; }, { code: noFormat`let a: Foo< F >;`, - output: noFormat`let a: Foo< T >;`, + output: `let a: Foo< T >;`, errors: [ { messageId: 'bannedTypeMessage', diff --git a/packages/eslint-plugin/tests/rules/class-literal-property-style.test.ts b/packages/eslint-plugin/tests/rules/class-literal-property-style.test.ts index 19d5fb183b54..af0aa203df7d 100644 --- a/packages/eslint-plugin/tests/rules/class-literal-property-style.test.ts +++ b/packages/eslint-plugin/tests/rules/class-literal-property-style.test.ts @@ -1,5 +1,5 @@ import rule from '../../src/rules/class-literal-property-style'; -import { RuleTester, noFormat } from '../RuleTester'; +import { RuleTester } from '../RuleTester'; const ruleTester = new RuleTester({ parser: '@typescript-eslint/parser', @@ -311,7 +311,7 @@ class Mx { public readonly [myValue] = 'a literal value'; } `, - output: noFormat` + output: ` class Mx { public get [myValue]() { return 'a literal value'; } } @@ -331,7 +331,7 @@ class Mx { readonly p1 = 'hello world'; } `, - output: noFormat` + output: ` class Mx { get p1() { return 'hello world'; } } @@ -351,7 +351,7 @@ class Mx { readonly p1 = \`hello world\`; } `, - output: noFormat` + output: ` class Mx { get p1() { return \`hello world\`; } } @@ -371,7 +371,7 @@ class Mx { static readonly p1 = 'hello world'; } `, - output: noFormat` + output: ` class Mx { static get p1() { return 'hello world'; } } @@ -413,7 +413,7 @@ class Mx { protected readonly p1 = 'hello world'; } `, - output: noFormat` + output: ` class Mx { protected get p1() { return 'hello world'; } } @@ -454,7 +454,7 @@ class Mx { public static readonly p1 = 'hello world'; } `, - output: noFormat` + output: ` class Mx { public static get p1() { return 'hello world'; } } @@ -483,7 +483,7 @@ class Mx { } } `, - output: noFormat` + output: ` class Mx { public readonly myValue = gql\` { @@ -516,7 +516,7 @@ class Mx { \`; } `, - output: noFormat` + output: ` class Mx { public get myValue() { return gql\` { diff --git a/packages/eslint-plugin/tests/rules/consistent-generic-constructors.test.ts b/packages/eslint-plugin/tests/rules/consistent-generic-constructors.test.ts index bdfb68e27889..67f9628dff6a 100644 --- a/packages/eslint-plugin/tests/rules/consistent-generic-constructors.test.ts +++ b/packages/eslint-plugin/tests/rules/consistent-generic-constructors.test.ts @@ -100,7 +100,7 @@ class Foo { messageId: 'preferConstructor', }, ], - output: noFormat`const a = new Map();`, + output: `const a = new Map();`, }, { code: noFormat`const a: Map< string, number > = new Map();`, @@ -109,7 +109,7 @@ class Foo { messageId: 'preferConstructor', }, ], - output: noFormat`const a = new Map< string, number >();`, + output: `const a = new Map< string, number >();`, }, { code: noFormat`const a: Map = new Map ();`, @@ -118,7 +118,7 @@ class Foo { messageId: 'preferConstructor', }, ], - output: noFormat`const a = new Map ();`, + output: `const a = new Map ();`, }, { code: noFormat`const a: Foo = new Foo;`, @@ -127,7 +127,7 @@ class Foo { messageId: 'preferConstructor', }, ], - output: noFormat`const a = new Foo();`, + output: `const a = new Foo();`, }, { code: 'const a: /* comment */ Foo/* another */ = new Foo();', @@ -136,7 +136,7 @@ class Foo { messageId: 'preferConstructor', }, ], - output: noFormat`const a = new Foo/* comment *//* another */();`, + output: `const a = new Foo/* comment *//* another */();`, }, { code: 'const a: Foo/* comment */ = new Foo /* another */();', @@ -145,7 +145,7 @@ class Foo { messageId: 'preferConstructor', }, ], - output: noFormat`const a = new Foo/* comment */ /* another */();`, + output: `const a = new Foo/* comment */ /* another */();`, }, { code: noFormat`const a: Foo = new \n Foo \n ();`, @@ -154,7 +154,7 @@ class Foo { messageId: 'preferConstructor', }, ], - output: noFormat`const a = new \n Foo \n ();`, + output: `const a = new \n Foo \n ();`, }, { code: ` @@ -218,7 +218,7 @@ class Foo { messageId: 'preferTypeAnnotation', }, ], - output: noFormat`const a: Map = new Map ();`, + output: `const a: Map = new Map ();`, }, { code: noFormat`const a = new Map< string, number >();`, @@ -228,7 +228,7 @@ class Foo { messageId: 'preferTypeAnnotation', }, ], - output: noFormat`const a: Map< string, number > = new Map();`, + output: `const a: Map< string, number > = new Map();`, }, { code: noFormat`const a = new \n Foo \n ();`, @@ -238,7 +238,7 @@ class Foo { messageId: 'preferTypeAnnotation', }, ], - output: noFormat`const a: Foo = new \n Foo \n ();`, + output: `const a: Foo = new \n Foo \n ();`, }, { code: 'const a = new Foo/* comment */ /* another */();', @@ -248,7 +248,7 @@ class Foo { messageId: 'preferTypeAnnotation', }, ], - output: noFormat`const a: Foo = new Foo/* comment */ /* another */();`, + output: `const a: Foo = new Foo/* comment */ /* another */();`, }, { code: 'const a = new Foo();', @@ -258,7 +258,7 @@ class Foo { messageId: 'preferTypeAnnotation', }, ], - output: noFormat`const a: Foo = new Foo();`, + output: `const a: Foo = new Foo();`, }, { code: ` diff --git a/packages/eslint-plugin/tests/rules/consistent-type-definitions.test.ts b/packages/eslint-plugin/tests/rules/consistent-type-definitions.test.ts index 9bcd9574986a..356162dcb6f6 100644 --- a/packages/eslint-plugin/tests/rules/consistent-type-definitions.test.ts +++ b/packages/eslint-plugin/tests/rules/consistent-type-definitions.test.ts @@ -63,7 +63,7 @@ export type W = { invalid: [ { code: noFormat`type T = { x: number; };`, - output: noFormat`interface T { x: number; }`, + output: `interface T { x: number; }`, options: ['interface'], errors: [ { @@ -75,7 +75,7 @@ export type W = { }, { code: noFormat`type T={ x: number; };`, - output: noFormat`interface T { x: number; }`, + output: `interface T { x: number; }`, options: ['interface'], errors: [ { @@ -87,7 +87,7 @@ export type W = { }, { code: noFormat`type T= { x: number; };`, - output: noFormat`interface T { x: number; }`, + output: `interface T { x: number; }`, options: ['interface'], errors: [ { @@ -119,7 +119,7 @@ export interface W { }, { code: noFormat`interface T { x: number; }`, - output: noFormat`type T = { x: number; }`, + output: `type T = { x: number; }`, options: ['type'], errors: [ { @@ -131,7 +131,7 @@ export interface W { }, { code: noFormat`interface T{ x: number; }`, - output: noFormat`type T = { x: number; }`, + output: `type T = { x: number; }`, options: ['type'], errors: [ { @@ -143,7 +143,7 @@ export interface W { }, { code: noFormat`interface T { x: number; }`, - output: noFormat`type T = { x: number; }`, + output: `type T = { x: number; }`, options: ['type'], errors: [ { @@ -155,7 +155,7 @@ export interface W { }, { code: noFormat`interface A extends B, C { x: number; };`, - output: noFormat`type A = { x: number; } & B & C;`, + output: `type A = { x: number; } & B & C;`, options: ['type'], errors: [ { @@ -167,7 +167,7 @@ export interface W { }, { code: noFormat`interface A extends B, C { x: number; };`, - output: noFormat`type A = { x: number; } & B & C;`, + output: `type A = { x: number; } & B & C;`, options: ['type'], errors: [ { @@ -183,7 +183,7 @@ export interface W { x: T; } `, - output: noFormat` + output: ` export type W = { x: T; } @@ -205,7 +205,7 @@ namespace JSX { } } `, - output: noFormat` + output: ` namespace JSX { type Array = { foo(x: (x: number) => T): T[]; @@ -229,7 +229,7 @@ global { } } `, - output: noFormat` + output: ` global { type Array = { foo(x: (x: number) => T): T[]; @@ -289,7 +289,7 @@ export default interface Test { foo(): number; } `, - output: noFormat` + output: ` type Test = { bar(): string; foo(): number; @@ -336,7 +336,7 @@ export declare interface Test { bar: string; } `, - output: noFormat` + output: ` export declare type Test = { foo: string; bar: string; diff --git a/packages/eslint-plugin/tests/rules/consistent-type-exports.test.ts b/packages/eslint-plugin/tests/rules/consistent-type-exports.test.ts index da5068753cab..b698406f9a42 100644 --- a/packages/eslint-plugin/tests/rules/consistent-type-exports.test.ts +++ b/packages/eslint-plugin/tests/rules/consistent-type-exports.test.ts @@ -106,7 +106,7 @@ export { CatchScope, } from '@typescript-eslint/scope-manager'; `, - output: noFormat` + output: ` export type { AnalyzeOptions, Definition } from '@typescript-eslint/scope-manager'; export { BlockScope, CatchScope } from '@typescript-eslint/scope-manager'; `, @@ -157,7 +157,7 @@ export { CatchScope as CScope, } from '@typescript-eslint/scope-manager'; `, - output: noFormat` + output: ` export type { Definition as Foo } from '@typescript-eslint/scope-manager'; export { BlockScope as BScope, CatchScope as CScope } from '@typescript-eslint/scope-manager'; `, @@ -279,7 +279,7 @@ export type { T, T }; type T = 1; export { type/* */T, type /* */T, T }; `, - output: noFormat` + output: ` type T = 1; export type { /* */T, /* */T, T }; `, @@ -358,7 +358,7 @@ export { CatchScope as CScope, } from '@typescript-eslint/scope-manager'; `, - output: noFormat` + output: ` export type { AnalyzeOptions, Definition as Foo, BlockScope as BScope } from '@typescript-eslint/scope-manager'; export { CatchScope as CScope } from '@typescript-eslint/scope-manager'; `, @@ -380,7 +380,7 @@ export { CatchScope as CScope, } from '@typescript-eslint/scope-manager'; `, - output: noFormat` + output: ` export { type AnalyzeOptions, type Definition as Foo, 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 ec78a1afd508..54138ef3e1a6 100644 --- a/packages/eslint-plugin/tests/rules/consistent-type-imports.test.ts +++ b/packages/eslint-plugin/tests/rules/consistent-type-imports.test.ts @@ -661,7 +661,7 @@ let bar: B; import { A, B } from 'foo'; const foo: A = B(); `, - output: noFormat` + output: ` import type { A} from 'foo'; import { B } from 'foo'; const foo: A = B(); @@ -769,7 +769,7 @@ type T = A; import type { Already2 } from 'bar'; type T = { b: B; c: C; d: D }; `, - output: noFormat` + output: ` import type Already1Def from 'foo'; import type { Already1 , B } from 'foo'; import A from 'foo'; @@ -817,7 +817,7 @@ import { A, B, C } from 'foo'; import { D, E, F, } from 'bar'; type T = A | D; `, - output: noFormat` + output: ` import type { A} from 'foo'; import { B, C } from 'foo'; import type { D} from 'bar'; @@ -845,7 +845,7 @@ import { A, B, C } from 'foo'; import { D, E, F, } from 'bar'; type T = B | E; `, - output: noFormat` + output: ` import type { B} from 'foo'; import { A, C } from 'foo'; import type { E} from 'bar'; @@ -873,7 +873,7 @@ import { A, B, C } from 'foo'; import { D, E, F, } from 'bar'; type T = C | F; `, - output: noFormat` + output: ` import type { C } from 'foo'; import { A, B } from 'foo'; import type { F} from 'bar'; @@ -944,7 +944,7 @@ import Value3, { Type3 } from 'default_import2'; import Type4, { Type5, Value4 } from 'default_and_named_import'; type T = Type1 | Type2 | Type3 | Type4 | Type5; `, - output: noFormat` + output: ` import type { Type1 } from 'named_import'; import { Value1 } from 'named_import'; import type Type2 from 'default_import'; @@ -1324,7 +1324,7 @@ import type /*comment*/ { Type } from 'foo'; type T = { a: AllType; b: DefType; c: Type }; `, options: [{ prefer: 'no-type-imports' }], - output: noFormat` + output: ` import /*comment*/ * as AllType from 'foo'; import // comment DefType from 'foo'; @@ -1437,7 +1437,7 @@ import Default /*comment1*/, /*comment2*/ { Data } from 'module'; const a: Default = ''; `, options: [{ prefer: 'type-imports' }], - output: noFormat` + output: ` import type Default /*comment1*/ from 'module'; import /*comment2*/ { Data } from 'module'; const a: Default = ''; @@ -1481,7 +1481,7 @@ const a: Default = ''; constructor(foo: Foo) {} } `, - output: noFormat` + output: ` import Foo from 'foo'; @deco class A { @@ -1506,7 +1506,7 @@ const a: Default = ''; constructor(foo: Foo) {} } `, - output: noFormat` + output: ` import { Foo } from 'foo'; @deco class A { @@ -1533,7 +1533,7 @@ const a: Default = ''; } type T = Bar; `, - output: noFormat` + output: ` import type { Type , Bar } from 'foo'; import { Foo } from 'foo'; @deco @@ -1562,7 +1562,7 @@ const a: Default = ''; foo(@deco bar: Bar) {} } `, - output: noFormat` + output: ` import { V , Foo, Bar} from 'foo'; import type { T } from 'foo'; @deco @@ -1590,7 +1590,7 @@ const a: Default = ''; constructor(foo: Foo) {} } `, - output: noFormat` + output: ` import type { T } from 'foo'; import { V , Foo} from 'foo'; @deco @@ -1616,7 +1616,7 @@ const a: Default = ''; constructor(foo: Type.Foo) {} } `, - output: noFormat` + output: ` import * as Type from 'foo'; @deco class A { @@ -1641,7 +1641,7 @@ const a: Default = ''; constructor(foo: Foo) {} } `, - output: noFormat` + output: ` import Foo from 'foo'; @deco class A { @@ -1666,7 +1666,7 @@ const a: Default = ''; constructor(foo: Foo) {} } `, - output: noFormat` + output: ` import { Foo } from 'foo'; @deco class A { @@ -1693,7 +1693,7 @@ const a: Default = ''; } type T = Bar; `, - output: noFormat` + output: ` import type { Type , Bar } from 'foo'; import { Foo } from 'foo'; @deco @@ -1722,7 +1722,7 @@ const a: Default = ''; foo(@deco bar: Bar) {} } `, - output: noFormat` + output: ` import { V , Foo, Bar} from 'foo'; import type { T } from 'foo'; @deco @@ -1750,7 +1750,7 @@ const a: Default = ''; constructor(foo: Foo) {} } `, - output: noFormat` + output: ` import type { T } from 'foo'; import { V , Foo} from 'foo'; @deco @@ -1776,7 +1776,7 @@ const a: Default = ''; constructor(foo: Type.Foo) {} } `, - output: noFormat` + output: ` import * as Type from 'foo'; @deco class A { @@ -1818,7 +1818,7 @@ import { A, B, type C } from 'foo'; type T = A | C; const b = B; `, - output: noFormat` + output: ` import type { A} from 'foo'; import { B, type C } from 'foo'; type T = A | C; diff --git a/packages/eslint-plugin/tests/rules/explicit-member-accessibility.test.ts b/packages/eslint-plugin/tests/rules/explicit-member-accessibility.test.ts index 829e2987ad16..04a6fa558425 100644 --- a/packages/eslint-plugin/tests/rules/explicit-member-accessibility.test.ts +++ b/packages/eslint-plugin/tests/rules/explicit-member-accessibility.test.ts @@ -366,9 +366,37 @@ export class XXXX { messageId: 'missingAccessibility', column: 22, line: 3, + suggestions: [ + { + messageId: 'addExplicitAccessibility', + data: { type: 'public' }, + output: ` +export class XXXX { + public constructor(public readonly value: string) {} +} + `, + }, + { + messageId: 'addExplicitAccessibility', + data: { type: 'private' }, + output: ` +export class XXXX { + public constructor(private readonly value: string) {} +} + `, + }, + { + messageId: 'addExplicitAccessibility', + data: { type: 'protected' }, + output: ` +export class XXXX { + public constructor(protected readonly value: string) {} +} + `, + }, + ], }, ], - output: null, }, { filename: 'test.ts', @@ -378,8 +406,40 @@ export class WithParameterProperty { } `, options: [{ accessibility: 'explicit' }], - errors: [{ messageId: 'missingAccessibility' }], - output: null, + errors: [ + { + messageId: 'missingAccessibility', + suggestions: [ + { + messageId: 'addExplicitAccessibility', + data: { type: 'public' }, + output: ` +export class WithParameterProperty { + public constructor(public readonly value: string) {} +} + `, + }, + { + messageId: 'addExplicitAccessibility', + data: { type: 'private' }, + output: ` +export class WithParameterProperty { + public constructor(private readonly value: string) {} +} + `, + }, + { + messageId: 'addExplicitAccessibility', + data: { type: 'protected' }, + output: ` +export class WithParameterProperty { + public constructor(protected readonly value: string) {} +} + `, + }, + ], + }, + ], }, { filename: 'test.ts', @@ -397,8 +457,40 @@ export class XXXX { }, }, ], - errors: [{ messageId: 'missingAccessibility' }], - output: null, + errors: [ + { + messageId: 'missingAccessibility', + suggestions: [ + { + messageId: 'addExplicitAccessibility', + data: { type: 'public' }, + output: ` +export class XXXX { + public constructor(public readonly samosa: string) {} +} + `, + }, + { + messageId: 'addExplicitAccessibility', + data: { type: 'private' }, + output: ` +export class XXXX { + public constructor(private readonly samosa: string) {} +} + `, + }, + { + messageId: 'addExplicitAccessibility', + data: { type: 'protected' }, + output: ` +export class XXXX { + public constructor(protected readonly samosa: string) {} +} + `, + }, + ], + }, + ], }, { filename: 'test.ts', @@ -413,8 +505,40 @@ class Test { overrides: { parameterProperties: 'explicit' }, }, ], - errors: [{ messageId: 'missingAccessibility' }], - output: null, + errors: [ + { + messageId: 'missingAccessibility', + suggestions: [ + { + messageId: 'addExplicitAccessibility', + data: { type: 'public' }, + output: ` +class Test { + public constructor(public readonly foo: string) {} +} + `, + }, + { + messageId: 'addExplicitAccessibility', + data: { type: 'private' }, + output: ` +class Test { + public constructor(private readonly foo: string) {} +} + `, + }, + { + messageId: 'addExplicitAccessibility', + data: { type: 'protected' }, + output: ` +class Test { + public constructor(protected readonly foo: string) {} +} + `, + }, + ], + }, + ], }, { filename: 'test.ts', @@ -435,9 +559,49 @@ class Test { }, line: 3, column: 3, + suggestions: [ + { + messageId: 'addExplicitAccessibility', + data: { type: 'public' }, + + output: ` +class Test { + public x: number; + public getX() { + return this.x; + } +} + `, + }, + { + messageId: 'addExplicitAccessibility', + data: { type: 'private' }, + + output: ` +class Test { + private x: number; + public getX() { + return this.x; + } +} + `, + }, + { + messageId: 'addExplicitAccessibility', + data: { type: 'protected' }, + + output: ` +class Test { + protected x: number; + public getX() { + return this.x; + } +} + `, + }, + ], }, ], - output: null, }, { filename: 'test.ts', @@ -458,9 +622,46 @@ class Test { }, line: 4, column: 3, + suggestions: [ + { + messageId: 'addExplicitAccessibility', + data: { type: 'public' }, + output: ` +class Test { + private x: number; + public getX() { + return this.x; + } +} + `, + }, + { + messageId: 'addExplicitAccessibility', + data: { type: 'private' }, + output: ` +class Test { + private x: number; + private getX() { + return this.x; + } +} + `, + }, + { + messageId: 'addExplicitAccessibility', + data: { type: 'protected' }, + output: ` +class Test { + private x: number; + protected getX() { + return this.x; + } +} + `, + }, + ], }, ], - output: null, }, { filename: 'test.ts', @@ -481,6 +682,44 @@ class Test { }, line: 3, column: 3, + suggestions: [ + { + messageId: 'addExplicitAccessibility', + data: { type: 'public' }, + output: ` +class Test { + public x?: number; + getX?() { + return this.x; + } +} + `, + }, + { + messageId: 'addExplicitAccessibility', + data: { type: 'private' }, + output: ` +class Test { + private x?: number; + getX?() { + return this.x; + } +} + `, + }, + { + messageId: 'addExplicitAccessibility', + data: { type: 'protected' }, + output: ` +class Test { + protected x?: number; + getX?() { + return this.x; + } +} + `, + }, + ], }, { messageId: 'missingAccessibility', @@ -490,9 +729,46 @@ class Test { }, line: 4, column: 3, + suggestions: [ + { + messageId: 'addExplicitAccessibility', + data: { type: 'public' }, + output: ` +class Test { + x?: number; + public getX?() { + return this.x; + } +} + `, + }, + { + messageId: 'addExplicitAccessibility', + data: { type: 'private' }, + output: ` +class Test { + x?: number; + private getX?() { + return this.x; + } +} + `, + }, + { + messageId: 'addExplicitAccessibility', + data: { type: 'protected' }, + output: ` +class Test { + x?: number; + protected getX?() { + return this.x; + } +} + `, + }, + ], }, ], - output: null, }, { filename: 'test.ts', @@ -613,15 +889,126 @@ class Test { messageId: 'missingAccessibility', line: 7, column: 3, + suggestions: [ + { + messageId: 'addExplicitAccessibility', + data: { type: 'public' }, + output: ` +class Test { + private x: number; + constructor(x: number) { + this.x = x; + } + public get internalValue() { + return this.x; + } + set internalValue(value: number) { + this.x = value; + } +} + `, + }, + { + messageId: 'addExplicitAccessibility', + data: { type: 'private' }, + output: ` +class Test { + private x: number; + constructor(x: number) { + this.x = x; + } + private get internalValue() { + return this.x; + } + set internalValue(value: number) { + this.x = value; + } +} + `, + }, + { + messageId: 'addExplicitAccessibility', + data: { type: 'protected' }, + output: ` +class Test { + private x: number; + constructor(x: number) { + this.x = x; + } + protected get internalValue() { + return this.x; + } + set internalValue(value: number) { + this.x = value; + } +} + `, + }, + ], }, { messageId: 'missingAccessibility', line: 10, column: 3, + suggestions: [ + { + messageId: 'addExplicitAccessibility', + data: { type: 'public' }, + output: ` +class Test { + private x: number; + constructor(x: number) { + this.x = x; + } + get internalValue() { + return this.x; + } + public set internalValue(value: number) { + this.x = value; + } +} + `, + }, + { + messageId: 'addExplicitAccessibility', + data: { type: 'private' }, + output: ` +class Test { + private x: number; + constructor(x: number) { + this.x = x; + } + get internalValue() { + return this.x; + } + private set internalValue(value: number) { + this.x = value; + } +} + `, + }, + { + messageId: 'addExplicitAccessibility', + data: { type: 'protected' }, + output: ` +class Test { + private x: number; + constructor(x: number) { + this.x = x; + } + get internalValue() { + return this.x; + } + protected set internalValue(value: number) { + this.x = value; + } +} + `, + }, + ], }, ], options: [{ overrides: { constructors: 'no-public' } }], - output: null, }, { filename: 'test.ts', @@ -644,19 +1031,186 @@ class Test { messageId: 'missingAccessibility', line: 4, column: 3, + suggestions: [ + { + messageId: 'addExplicitAccessibility', + data: { type: 'public' }, + output: ` +class Test { + private x: number; + public constructor(x: number) { + this.x = x; + } + get internalValue() { + return this.x; + } + set internalValue(value: number) { + this.x = value; + } +} + `, + }, + { + messageId: 'addExplicitAccessibility', + data: { type: 'private' }, + output: ` +class Test { + private x: number; + private constructor(x: number) { + this.x = x; + } + get internalValue() { + return this.x; + } + set internalValue(value: number) { + this.x = value; + } +} + `, + }, + { + messageId: 'addExplicitAccessibility', + data: { type: 'protected' }, + output: ` +class Test { + private x: number; + protected constructor(x: number) { + this.x = x; + } + get internalValue() { + return this.x; + } + set internalValue(value: number) { + this.x = value; + } +} + `, + }, + ], }, { messageId: 'missingAccessibility', line: 7, column: 3, + suggestions: [ + { + messageId: 'addExplicitAccessibility', + data: { type: 'public' }, + output: ` +class Test { + private x: number; + constructor(x: number) { + this.x = x; + } + public get internalValue() { + return this.x; + } + set internalValue(value: number) { + this.x = value; + } +} + `, + }, + { + messageId: 'addExplicitAccessibility', + data: { type: 'private' }, + output: ` +class Test { + private x: number; + constructor(x: number) { + this.x = x; + } + private get internalValue() { + return this.x; + } + set internalValue(value: number) { + this.x = value; + } +} + `, + }, + { + messageId: 'addExplicitAccessibility', + data: { type: 'protected' }, + output: ` +class Test { + private x: number; + constructor(x: number) { + this.x = x; + } + protected get internalValue() { + return this.x; + } + set internalValue(value: number) { + this.x = value; + } +} + `, + }, + ], }, { messageId: 'missingAccessibility', line: 10, column: 3, + suggestions: [ + { + messageId: 'addExplicitAccessibility', + data: { type: 'public' }, + output: ` +class Test { + private x: number; + constructor(x: number) { + this.x = x; + } + get internalValue() { + return this.x; + } + public set internalValue(value: number) { + this.x = value; + } +} + `, + }, + { + messageId: 'addExplicitAccessibility', + data: { type: 'private' }, + output: ` +class Test { + private x: number; + constructor(x: number) { + this.x = x; + } + get internalValue() { + return this.x; + } + private set internalValue(value: number) { + this.x = value; + } +} + `, + }, + { + messageId: 'addExplicitAccessibility', + data: { type: 'protected' }, + output: ` +class Test { + private x: number; + constructor(x: number) { + this.x = x; + } + get internalValue() { + return this.x; + } + protected set internalValue(value: number) { + this.x = value; + } +} + `, + }, + ], }, ], - output: null, }, { filename: 'test.ts', @@ -673,6 +1227,44 @@ class Test { messageId: 'missingAccessibility', line: 3, column: 3, + suggestions: [ + { + messageId: 'addExplicitAccessibility', + data: { type: 'public' }, + output: ` +class Test { + public constructor(public x: number) {} + public foo(): string { + return 'foo'; + } +} + `, + }, + { + messageId: 'addExplicitAccessibility', + data: { type: 'private' }, + output: ` +class Test { + private constructor(public x: number) {} + public foo(): string { + return 'foo'; + } +} + `, + }, + { + messageId: 'addExplicitAccessibility', + data: { type: 'protected' }, + output: ` +class Test { + protected constructor(public x: number) {} + public foo(): string { + return 'foo'; + } +} + `, + }, + ], }, ], options: [ @@ -680,7 +1272,6 @@ class Test { overrides: { parameterProperties: 'no-public' }, }, ], - output: null, }, { filename: 'test.ts', @@ -694,9 +1285,37 @@ class Test { messageId: 'missingAccessibility', line: 3, column: 3, + suggestions: [ + { + messageId: 'addExplicitAccessibility', + data: { type: 'public' }, + output: ` +class Test { + public constructor(public x: number) {} +} + `, + }, + { + messageId: 'addExplicitAccessibility', + data: { type: 'private' }, + output: ` +class Test { + private constructor(public x: number) {} +} + `, + }, + { + messageId: 'addExplicitAccessibility', + data: { type: 'protected' }, + output: ` +class Test { + protected constructor(public x: number) {} +} + `, + }, + ], }, ], - output: null, }, { filename: 'test.ts', @@ -742,9 +1361,37 @@ class Test { messageId: 'missingAccessibility', line: 3, column: 3, + suggestions: [ + { + messageId: 'addExplicitAccessibility', + data: { type: 'public' }, + output: ` +class Test { + public x = 2; +} + `, + }, + { + messageId: 'addExplicitAccessibility', + data: { type: 'private' }, + output: ` +class Test { + private x = 2; +} + `, + }, + { + messageId: 'addExplicitAccessibility', + data: { type: 'protected' }, + output: ` +class Test { + protected x = 2; +} + `, + }, + ], }, ], - output: null, }, { filename: 'test.ts', @@ -786,9 +1433,37 @@ class Test { messageId: 'missingAccessibility', line: 3, column: 3, + suggestions: [ + { + messageId: 'addExplicitAccessibility', + data: { type: 'public' }, + output: ` +class Test { + public constructor(public ...x: any[]) {} +} + `, + }, + { + messageId: 'addExplicitAccessibility', + data: { type: 'private' }, + output: ` +class Test { + private constructor(public ...x: any[]) {} +} + `, + }, + { + messageId: 'addExplicitAccessibility', + data: { type: 'protected' }, + output: ` +class Test { + protected constructor(public ...x: any[]) {} +} + `, + }, + ], }, ], - output: null, }, { filename: 'test.ts', @@ -810,7 +1485,7 @@ class Test { column: 3, }, ], - output: noFormat` + output: ` class Test { @public /*public*/constructor(private foo: string) {} @@ -1050,7 +1725,7 @@ class Test { column: 3, }, ], - output: noFormat` + output: ` class Test { 'foo' = 1; 'foo foo' = 2; @@ -1071,6 +1746,35 @@ abstract class SomeClass { messageId: 'missingAccessibility', line: 3, column: 3, + suggestions: [ + { + messageId: 'addExplicitAccessibility', + data: { type: 'public' }, + output: ` +abstract class SomeClass { + public abstract method(): string; +} + `, + }, + { + messageId: 'addExplicitAccessibility', + data: { type: 'private' }, + output: ` +abstract class SomeClass { + private abstract method(): string; +} + `, + }, + { + messageId: 'addExplicitAccessibility', + data: { type: 'protected' }, + output: ` +abstract class SomeClass { + protected abstract method(): string; +} + `, + }, + ], }, ], }, @@ -1112,6 +1816,35 @@ abstract class SomeClass { messageId: 'missingAccessibility', line: 3, column: 3, + suggestions: [ + { + messageId: 'addExplicitAccessibility', + data: { type: 'public' }, + output: ` +abstract class SomeClass { + public abstract x: string; +} + `, + }, + { + messageId: 'addExplicitAccessibility', + data: { type: 'private' }, + output: ` +abstract class SomeClass { + private abstract x: string; +} + `, + }, + { + messageId: 'addExplicitAccessibility', + data: { type: 'protected' }, + output: ` +abstract class SomeClass { + protected abstract x: string; +} + `, + }, + ], }, ], }, @@ -1140,5 +1873,446 @@ abstract class SomeClass { } `, }, + { + code: ` +class DecoratedClass { + constructor(@foo @bar() readonly arg: string) {} + @foo @bar() x: string; + @foo @bar() getX() { + return this.x; + } + @foo + @bar() + get y() { + return this.x; + } + @foo @bar() set y(@foo @bar() value: x) { + this.x = x; + } +} + `, + errors: [ + { + messageId: 'missingAccessibility', + line: 3, + column: 3, + suggestions: [ + { + messageId: 'addExplicitAccessibility', + data: { type: 'public' }, + output: ` +class DecoratedClass { + public constructor(@foo @bar() readonly arg: string) {} + @foo @bar() x: string; + @foo @bar() getX() { + return this.x; + } + @foo + @bar() + get y() { + return this.x; + } + @foo @bar() set y(@foo @bar() value: x) { + this.x = x; + } +} + `, + }, + { + messageId: 'addExplicitAccessibility', + data: { type: 'private' }, + output: ` +class DecoratedClass { + private constructor(@foo @bar() readonly arg: string) {} + @foo @bar() x: string; + @foo @bar() getX() { + return this.x; + } + @foo + @bar() + get y() { + return this.x; + } + @foo @bar() set y(@foo @bar() value: x) { + this.x = x; + } +} + `, + }, + { + messageId: 'addExplicitAccessibility', + data: { type: 'protected' }, + output: ` +class DecoratedClass { + protected constructor(@foo @bar() readonly arg: string) {} + @foo @bar() x: string; + @foo @bar() getX() { + return this.x; + } + @foo + @bar() + get y() { + return this.x; + } + @foo @bar() set y(@foo @bar() value: x) { + this.x = x; + } +} + `, + }, + ], + }, + { + messageId: 'missingAccessibility', + line: 3, + column: 15, + suggestions: [ + { + messageId: 'addExplicitAccessibility', + data: { type: 'public' }, + output: ` +class DecoratedClass { + constructor(@foo @bar() public readonly arg: string) {} + @foo @bar() x: string; + @foo @bar() getX() { + return this.x; + } + @foo + @bar() + get y() { + return this.x; + } + @foo @bar() set y(@foo @bar() value: x) { + this.x = x; + } +} + `, + }, + { + messageId: 'addExplicitAccessibility', + data: { type: 'private' }, + output: ` +class DecoratedClass { + constructor(@foo @bar() private readonly arg: string) {} + @foo @bar() x: string; + @foo @bar() getX() { + return this.x; + } + @foo + @bar() + get y() { + return this.x; + } + @foo @bar() set y(@foo @bar() value: x) { + this.x = x; + } +} + `, + }, + { + messageId: 'addExplicitAccessibility', + data: { type: 'protected' }, + output: ` +class DecoratedClass { + constructor(@foo @bar() protected readonly arg: string) {} + @foo @bar() x: string; + @foo @bar() getX() { + return this.x; + } + @foo + @bar() + get y() { + return this.x; + } + @foo @bar() set y(@foo @bar() value: x) { + this.x = x; + } +} + `, + }, + ], + }, + { + messageId: 'missingAccessibility', + line: 4, + column: 3, + suggestions: [ + { + messageId: 'addExplicitAccessibility', + data: { type: 'public' }, + output: ` +class DecoratedClass { + constructor(@foo @bar() readonly arg: string) {} + @foo @bar() public x: string; + @foo @bar() getX() { + return this.x; + } + @foo + @bar() + get y() { + return this.x; + } + @foo @bar() set y(@foo @bar() value: x) { + this.x = x; + } +} + `, + }, + { + messageId: 'addExplicitAccessibility', + data: { type: 'private' }, + output: ` +class DecoratedClass { + constructor(@foo @bar() readonly arg: string) {} + @foo @bar() private x: string; + @foo @bar() getX() { + return this.x; + } + @foo + @bar() + get y() { + return this.x; + } + @foo @bar() set y(@foo @bar() value: x) { + this.x = x; + } +} + `, + }, + { + messageId: 'addExplicitAccessibility', + data: { type: 'protected' }, + output: ` +class DecoratedClass { + constructor(@foo @bar() readonly arg: string) {} + @foo @bar() protected x: string; + @foo @bar() getX() { + return this.x; + } + @foo + @bar() + get y() { + return this.x; + } + @foo @bar() set y(@foo @bar() value: x) { + this.x = x; + } +} + `, + }, + ], + }, + { + messageId: 'missingAccessibility', + line: 5, + column: 3, + suggestions: [ + { + messageId: 'addExplicitAccessibility', + data: { type: 'public' }, + output: ` +class DecoratedClass { + constructor(@foo @bar() readonly arg: string) {} + @foo @bar() x: string; + @foo @bar() public getX() { + return this.x; + } + @foo + @bar() + get y() { + return this.x; + } + @foo @bar() set y(@foo @bar() value: x) { + this.x = x; + } +} + `, + }, + { + messageId: 'addExplicitAccessibility', + data: { type: 'private' }, + output: ` +class DecoratedClass { + constructor(@foo @bar() readonly arg: string) {} + @foo @bar() x: string; + @foo @bar() private getX() { + return this.x; + } + @foo + @bar() + get y() { + return this.x; + } + @foo @bar() set y(@foo @bar() value: x) { + this.x = x; + } +} + `, + }, + { + messageId: 'addExplicitAccessibility', + data: { type: 'protected' }, + output: ` +class DecoratedClass { + constructor(@foo @bar() readonly arg: string) {} + @foo @bar() x: string; + @foo @bar() protected getX() { + return this.x; + } + @foo + @bar() + get y() { + return this.x; + } + @foo @bar() set y(@foo @bar() value: x) { + this.x = x; + } +} + `, + }, + ], + }, + { + messageId: 'missingAccessibility', + line: 8, + column: 3, + suggestions: [ + { + messageId: 'addExplicitAccessibility', + data: { type: 'public' }, + output: ` +class DecoratedClass { + constructor(@foo @bar() readonly arg: string) {} + @foo @bar() x: string; + @foo @bar() getX() { + return this.x; + } + @foo + @bar() + public get y() { + return this.x; + } + @foo @bar() set y(@foo @bar() value: x) { + this.x = x; + } +} + `, + }, + { + messageId: 'addExplicitAccessibility', + data: { type: 'private' }, + output: ` +class DecoratedClass { + constructor(@foo @bar() readonly arg: string) {} + @foo @bar() x: string; + @foo @bar() getX() { + return this.x; + } + @foo + @bar() + private get y() { + return this.x; + } + @foo @bar() set y(@foo @bar() value: x) { + this.x = x; + } +} + `, + }, + { + messageId: 'addExplicitAccessibility', + data: { type: 'protected' }, + output: ` +class DecoratedClass { + constructor(@foo @bar() readonly arg: string) {} + @foo @bar() x: string; + @foo @bar() getX() { + return this.x; + } + @foo + @bar() + protected get y() { + return this.x; + } + @foo @bar() set y(@foo @bar() value: x) { + this.x = x; + } +} + `, + }, + ], + }, + { + messageId: 'missingAccessibility', + line: 13, + column: 3, + suggestions: [ + { + messageId: 'addExplicitAccessibility', + data: { type: 'public' }, + output: ` +class DecoratedClass { + constructor(@foo @bar() readonly arg: string) {} + @foo @bar() x: string; + @foo @bar() getX() { + return this.x; + } + @foo + @bar() + get y() { + return this.x; + } + @foo @bar() public set y(@foo @bar() value: x) { + this.x = x; + } +} + `, + }, + { + messageId: 'addExplicitAccessibility', + data: { type: 'private' }, + output: ` +class DecoratedClass { + constructor(@foo @bar() readonly arg: string) {} + @foo @bar() x: string; + @foo @bar() getX() { + return this.x; + } + @foo + @bar() + get y() { + return this.x; + } + @foo @bar() private set y(@foo @bar() value: x) { + this.x = x; + } +} + `, + }, + { + messageId: 'addExplicitAccessibility', + data: { type: 'protected' }, + output: ` +class DecoratedClass { + constructor(@foo @bar() readonly arg: string) {} + @foo @bar() x: string; + @foo @bar() getX() { + return this.x; + } + @foo + @bar() + get y() { + return this.x; + } + @foo @bar() protected set y(@foo @bar() value: x) { + this.x = x; + } +} + `, + }, + ], + }, + ], + }, ], }); diff --git a/packages/eslint-plugin/tests/rules/method-signature-style.test.ts b/packages/eslint-plugin/tests/rules/method-signature-style.test.ts index 065d15c61801..d2a88e9c02b2 100644 --- a/packages/eslint-plugin/tests/rules/method-signature-style.test.ts +++ b/packages/eslint-plugin/tests/rules/method-signature-style.test.ts @@ -91,7 +91,7 @@ interface Test { { messageId: 'errorMethod', line: 9 }, { messageId: 'errorMethod', line: 10 }, ], - output: noFormat` + output: ` interface Test { f: (a: string) => number } interface Test { ['f']: (a: boolean) => void } interface Test { f: (a: T) => T } @@ -127,7 +127,7 @@ interface Test { { messageId: 'errorProperty', line: 9 }, { messageId: 'errorProperty', line: 10 }, ], - output: noFormat` + output: ` interface Test { f(a: string): number } interface Test { ['f'](a: boolean): void } interface Test { f(a: T): T } @@ -147,7 +147,7 @@ interface Foo { none(arg: string): void } `, - output: noFormat` + output: ` interface Foo { semi: (arg: string) => void; comma: (arg: string) => void, @@ -177,7 +177,7 @@ interface Foo { none: (arg: string) => void } `, - output: noFormat` + output: ` interface Foo { semi(arg: string): void; comma(arg: string): void, @@ -216,7 +216,7 @@ interface Foo { ): void; } `, - output: noFormat` + output: ` interface Foo { x: ( args: Pick< @@ -249,7 +249,7 @@ interface Foo { foo(): three; } `, - output: noFormat` + output: ` interface Foo { foo: (() => one) & (() => two) & (() => three); } @@ -277,7 +277,7 @@ interface Foo { foo(): three; } `, - output: noFormat` + output: ` interface Foo { foo: ((bar: string) => one) & ((bar: number, baz: string) => two) & (() => three); } @@ -305,7 +305,7 @@ interface Foo { [foo](): three; } `, - output: noFormat` + output: ` interface Foo { [foo]: ((bar: string) => one) & ((bar: number, baz: string) => two) & (() => three); } @@ -335,7 +335,7 @@ interface Foo { bar(baz: number): Foo; } `, - output: noFormat` + output: ` interface Foo { [foo]: ((bar: string) => one) & ((bar: number, baz: string) => two) & (() => three); bar: ((arg: string) => void) & ((baz: number) => Foo); @@ -395,7 +395,7 @@ type Foo = { foo(): three; } `, - output: noFormat` + output: ` type Foo = { foo: (() => one) & (() => two) & (() => three); } @@ -423,7 +423,7 @@ declare const Foo: { foo(): three; } `, - output: noFormat` + output: ` declare const Foo: { foo: (() => one) & (() => two) & (() => three); } diff --git a/packages/eslint-plugin/tests/rules/no-confusing-void-expression.test.ts b/packages/eslint-plugin/tests/rules/no-confusing-void-expression.test.ts index e0bdd183a0ee..62578778fbf4 100644 --- a/packages/eslint-plugin/tests/rules/no-confusing-void-expression.test.ts +++ b/packages/eslint-plugin/tests/rules/no-confusing-void-expression.test.ts @@ -89,17 +89,17 @@ ruleTester.run('no-confusing-void-expression', rule, { { code: "() => console.log('foo');", errors: [{ line: 1, column: 7, messageId: 'invalidVoidExprArrow' }], - output: noFormat`() => { console.log('foo'); };`, + output: `() => { console.log('foo'); };`, }, { code: 'foo => foo && console.log(foo);', errors: [{ line: 1, column: 15, messageId: 'invalidVoidExprArrow' }], - output: noFormat`foo => { foo && console.log(foo); };`, + output: `foo => { foo && console.log(foo); };`, }, { code: 'foo => foo || console.log(foo);', errors: [{ line: 1, column: 15, messageId: 'invalidVoidExprArrow' }], - output: noFormat`foo => { foo || console.log(foo); };`, + output: `foo => { foo || console.log(foo); };`, }, { code: 'foo => (foo ? console.log(true) : console.log(false));', @@ -107,7 +107,7 @@ ruleTester.run('no-confusing-void-expression', rule, { { line: 1, column: 15, messageId: 'invalidVoidExprArrow' }, { line: 1, column: 35, messageId: 'invalidVoidExprArrow' }, ], - output: noFormat`foo => { foo ? console.log(true) : console.log(false); };`, + output: `foo => { foo ? console.log(true) : console.log(false); };`, }, { code: ` @@ -117,7 +117,7 @@ ruleTester.run('no-confusing-void-expression', rule, { } `, errors: [{ line: 3, column: 18, messageId: 'invalidVoidExprReturn' }], - output: noFormat` + output: ` function f() { console.log('foo'); return; console.log('bar'); @@ -133,7 +133,7 @@ ruleTester.run('no-confusing-void-expression', rule, { } `, errors: [{ line: 4, column: 18, messageId: 'invalidVoidExprReturn' }], - output: noFormat` + output: ` function f() { console.log('foo') ;['bar', 'baz'].forEach(console.log); return; @@ -164,7 +164,7 @@ ruleTester.run('no-confusing-void-expression', rule, { } `, errors: [{ line: 4, column: 18, messageId: 'invalidVoidExprReturnLast' }], - output: noFormat` + output: ` function f() { console.log('foo') ;['bar', 'baz'].forEach(console.log); @@ -181,7 +181,7 @@ ruleTester.run('no-confusing-void-expression', rule, { }; `, errors: [{ line: 4, column: 20, messageId: 'invalidVoidExprReturn' }], - output: noFormat` + output: ` const f = () => { if (cond) { console.error('foo'); return; @@ -198,7 +198,7 @@ ruleTester.run('no-confusing-void-expression', rule, { }; `, errors: [{ line: 3, column: 28, messageId: 'invalidVoidExprReturn' }], - output: noFormat` + output: ` const f = function () { if (cond) { console.error('foo'); return; } console.log('bar'); diff --git a/packages/eslint-plugin/tests/rules/no-empty-interface.test.ts b/packages/eslint-plugin/tests/rules/no-empty-interface.test.ts index dc4ea909ea73..c3c510e23ce7 100644 --- a/packages/eslint-plugin/tests/rules/no-empty-interface.test.ts +++ b/packages/eslint-plugin/tests/rules/no-empty-interface.test.ts @@ -64,7 +64,7 @@ interface Foo { interface Bar extends Foo {} `, - output: noFormat` + output: ` interface Foo { name: string; } @@ -82,7 +82,7 @@ type Bar = Foo }, { code: 'interface Foo extends Array {}', - output: noFormat`type Foo = Array`, + output: `type Foo = Array`, errors: [ { messageId: 'noEmptyWithSuper', @@ -93,7 +93,7 @@ type Bar = Foo }, { code: 'interface Foo extends Array {}', - output: noFormat`type Foo = Array`, + output: `type Foo = Array`, errors: [ { messageId: 'noEmptyWithSuper', @@ -109,7 +109,7 @@ interface Bar { } interface Foo extends Array {} `, - output: noFormat` + output: ` interface Bar { bar: string; } @@ -128,7 +128,7 @@ type Foo = Array type R = Record; interface Foo extends R {} `, - output: noFormat` + output: ` type R = Record; type Foo = R `, @@ -144,7 +144,7 @@ type Foo = R code: ` interface Foo extends Bar {} `, - output: noFormat` + output: ` type Foo = Bar `, errors: [ @@ -162,7 +162,7 @@ declare module FooBar { type Baz = typeof baz; export interface Bar extends Baz {} } - `.trimRight(), + `, errors: [ { messageId: 'noEmptyWithSuper', @@ -173,12 +173,12 @@ declare module FooBar { suggestions: [ { messageId: 'noEmptyWithSuper', - output: noFormat` + output: ` declare module FooBar { type Baz = typeof baz; export type Bar = Baz } - `.trimRight(), + `, }, ], }, diff --git a/packages/eslint-plugin/tests/rules/no-explicit-any.test.ts b/packages/eslint-plugin/tests/rules/no-explicit-any.test.ts index 37d6b99b29f1..479c3c63b533 100644 --- a/packages/eslint-plugin/tests/rules/no-explicit-any.test.ts +++ b/packages/eslint-plugin/tests/rules/no-explicit-any.test.ts @@ -1001,7 +1001,7 @@ type obj = { code: ` function test>() {} const test = >() => {}; - `.trimRight(), + `, errors: [ { messageId: 'unexpectedAny', @@ -1013,14 +1013,14 @@ const test = >() => {}; output: ` function test>() {} const test = >() => {}; - `.trimRight(), + `, }, { messageId: 'suggestNever', output: ` function test>() {} const test = >() => {}; - `.trimRight(), + `, }, ], }, @@ -1034,14 +1034,14 @@ const test = >() => {}; output: ` function test>() {} const test = >() => {}; - `.trimRight(), + `, }, { messageId: 'suggestNever', output: ` function test>() {} const test = >() => {}; - `.trimRight(), + `, }, ], }, diff --git a/packages/eslint-plugin/tests/rules/no-extra-non-null-assertion.test.ts b/packages/eslint-plugin/tests/rules/no-extra-non-null-assertion.test.ts index 39ad4da3ebf0..c657c7d99d70 100644 --- a/packages/eslint-plugin/tests/rules/no-extra-non-null-assertion.test.ts +++ b/packages/eslint-plugin/tests/rules/no-extra-non-null-assertion.test.ts @@ -128,7 +128,7 @@ function foo(bar?: { n: number }) { const foo: { bar: number } | null = null; const bar = (foo!)!.bar; `, - output: noFormat` + output: ` const foo: { bar: number } | null = null; const bar = (foo)!.bar; `, @@ -147,7 +147,7 @@ function foo(bar?: { n: number }) { return (bar!)?.n; } `, - output: noFormat` + output: ` function foo(bar?: { n: number }) { return (bar)?.n; } @@ -167,7 +167,7 @@ function foo(bar?: { n: number }) { return (bar)!?.n; } `, - output: noFormat` + output: ` function foo(bar?: { n: number }) { return (bar)?.n; } @@ -187,7 +187,7 @@ function foo(bar?: { n: number }) { return (bar!)?.(); } `, - output: noFormat` + output: ` function foo(bar?: { n: number }) { return (bar)?.(); } diff --git a/packages/eslint-plugin/tests/rules/no-floating-promises.test.ts b/packages/eslint-plugin/tests/rules/no-floating-promises.test.ts index e9a63df2b5d6..e69d4e6d7bd2 100644 --- a/packages/eslint-plugin/tests/rules/no-floating-promises.test.ts +++ b/packages/eslint-plugin/tests/rules/no-floating-promises.test.ts @@ -500,7 +500,7 @@ doSomething(); async function test() { Promise.resolve('value'); } - `.trimRight(), + `, errors: [ { line: 3, @@ -512,7 +512,7 @@ async function test() { async function test() { void Promise.resolve('value'); } - `.trimRight(), + `, }, ], }, diff --git a/packages/eslint-plugin/tests/rules/no-implicit-any-catch.test.ts b/packages/eslint-plugin/tests/rules/no-implicit-any-catch.test.ts index f8113555086e..e04b03889cae 100644 --- a/packages/eslint-plugin/tests/rules/no-implicit-any-catch.test.ts +++ b/packages/eslint-plugin/tests/rules/no-implicit-any-catch.test.ts @@ -29,13 +29,13 @@ try { code: ` try { } catch (e3) {} - `.trim(), + `, errors: [ { - line: 2, + line: 3, column: 3, messageId: 'implicitAnyInCatch', - endLine: 2, + endLine: 3, endColumn: 16, suggestions: [ { @@ -43,7 +43,7 @@ try { output: ` try { } catch (e3: unknown) {} - `.trim(), + `, }, ], }, @@ -53,14 +53,14 @@ try { code: ` try { } catch (e4: any) {} - `.trim(), + `, options: [{ allowExplicitAny: false }], errors: [ { - line: 2, + line: 3, column: 3, messageId: 'explicitAnyInCatch', - endLine: 2, + endLine: 3, endColumn: 21, suggestions: [ { @@ -68,7 +68,7 @@ try { output: ` try { } catch (e4: unknown) {} - `.trim(), + `, }, ], }, diff --git a/packages/eslint-plugin/tests/rules/no-meaningless-void-operator.test.ts b/packages/eslint-plugin/tests/rules/no-meaningless-void-operator.test.ts index 5e034f2904b0..c9ba59f93f97 100644 --- a/packages/eslint-plugin/tests/rules/no-meaningless-void-operator.test.ts +++ b/packages/eslint-plugin/tests/rules/no-meaningless-void-operator.test.ts @@ -67,7 +67,7 @@ foo(); function bar(x: never) { void x; } - `.trimRight(), + `, errors: [ { messageId: 'meaninglessVoidOperator', @@ -80,7 +80,7 @@ function bar(x: never) { function bar(x: never) { x; } - `.trimRight(), + `, }, ], }, diff --git a/packages/eslint-plugin/tests/rules/no-non-null-asserted-nullish-coalescing.test.ts b/packages/eslint-plugin/tests/rules/no-non-null-asserted-nullish-coalescing.test.ts index 3b47a3c2bf00..4671ee2641a8 100644 --- a/packages/eslint-plugin/tests/rules/no-non-null-asserted-nullish-coalescing.test.ts +++ b/packages/eslint-plugin/tests/rules/no-non-null-asserted-nullish-coalescing.test.ts @@ -178,7 +178,7 @@ ruleTester.run('no-non-null-asserted-nullish-coalescing', rule, { code: ` let x!: string; x! ?? ''; - `.trimRight(), + `, errors: [ { messageId: 'noNonNullAssertedNullishCoalescing', @@ -188,7 +188,7 @@ x! ?? ''; output: ` let x!: string; x ?? ''; - `.trimRight(), + `, }, ], }, @@ -199,7 +199,7 @@ x ?? ''; let x: string; x = foo(); x! ?? ''; - `.trimRight(), + `, errors: [ { messageId: 'noNonNullAssertedNullishCoalescing', @@ -210,7 +210,7 @@ x! ?? ''; let x: string; x = foo(); x ?? ''; - `.trimRight(), + `, }, ], }, @@ -222,7 +222,7 @@ let x: string; x = foo(); x! ?? ''; x = foo(); - `.trimRight(), + `, errors: [ { messageId: 'noNonNullAssertedNullishCoalescing', @@ -234,7 +234,7 @@ let x: string; x = foo(); x ?? ''; x = foo(); - `.trimRight(), + `, }, ], }, @@ -244,7 +244,7 @@ x = foo(); code: ` let x = foo(); x! ?? ''; - `.trimRight(), + `, errors: [ { messageId: 'noNonNullAssertedNullishCoalescing', @@ -254,7 +254,7 @@ x! ?? ''; output: ` let x = foo(); x ?? ''; - `.trimRight(), + `, }, ], }, @@ -266,7 +266,7 @@ function foo() { let x!: string; return x! ?? ''; } - `.trimRight(), + `, errors: [ { messageId: 'noNonNullAssertedNullishCoalescing', @@ -278,7 +278,7 @@ function foo() { let x!: string; return x ?? ''; } - `.trimRight(), + `, }, ], }, @@ -290,7 +290,7 @@ let x!: string; function foo() { return x! ?? ''; } - `.trimRight(), + `, errors: [ { messageId: 'noNonNullAssertedNullishCoalescing', @@ -302,7 +302,7 @@ let x!: string; function foo() { return x ?? ''; } - `.trimRight(), + `, }, ], }, @@ -312,17 +312,17 @@ function foo() { code: noFormat` let x = foo(); x ! ?? ''; - `.trimRight(), + `, errors: [ { messageId: 'noNonNullAssertedNullishCoalescing', suggestions: [ { messageId: 'suggestRemovingNonNull', - output: noFormat` + output: ` let x = foo(); x ?? ''; - `.trimRight(), + `, }, ], }, diff --git a/packages/eslint-plugin/tests/rules/no-non-null-asserted-optional-chain.test.ts b/packages/eslint-plugin/tests/rules/no-non-null-asserted-optional-chain.test.ts index 12406d1dc410..0df809c934e1 100644 --- a/packages/eslint-plugin/tests/rules/no-non-null-asserted-optional-chain.test.ts +++ b/packages/eslint-plugin/tests/rules/no-non-null-asserted-optional-chain.test.ts @@ -87,7 +87,7 @@ ruleTester.run('no-non-null-asserted-optional-chain', rule, { suggestions: [ { messageId: 'suggestRemovingNonNull', - output: noFormat`(foo?.bar).baz`, + output: `(foo?.bar).baz`, }, ], }, @@ -101,7 +101,7 @@ ruleTester.run('no-non-null-asserted-optional-chain', rule, { suggestions: [ { messageId: 'suggestRemovingNonNull', - output: noFormat`(foo?.bar)().baz`, + output: `(foo?.bar)().baz`, }, ], }, @@ -115,7 +115,7 @@ ruleTester.run('no-non-null-asserted-optional-chain', rule, { suggestions: [ { messageId: 'suggestRemovingNonNull', - output: noFormat`(foo?.bar)`, + output: `(foo?.bar)`, }, ], }, @@ -129,7 +129,7 @@ ruleTester.run('no-non-null-asserted-optional-chain', rule, { suggestions: [ { messageId: 'suggestRemovingNonNull', - output: noFormat`(foo?.bar)()`, + output: `(foo?.bar)()`, }, ], }, @@ -143,7 +143,7 @@ ruleTester.run('no-non-null-asserted-optional-chain', rule, { suggestions: [ { messageId: 'suggestRemovingNonNull', - output: noFormat`(foo?.bar)`, + output: `(foo?.bar)`, }, ], }, @@ -157,7 +157,7 @@ ruleTester.run('no-non-null-asserted-optional-chain', rule, { suggestions: [ { messageId: 'suggestRemovingNonNull', - output: noFormat`(foo?.bar)()`, + output: `(foo?.bar)()`, }, ], }, diff --git a/packages/eslint-plugin/tests/rules/no-unnecessary-condition.test.ts b/packages/eslint-plugin/tests/rules/no-unnecessary-condition.test.ts index 3e86749956c2..4ba9f861e355 100644 --- a/packages/eslint-plugin/tests/rules/no-unnecessary-condition.test.ts +++ b/packages/eslint-plugin/tests/rules/no-unnecessary-condition.test.ts @@ -914,7 +914,7 @@ foo ?. foo ?. bar; `, - output: noFormat` + output: ` let foo = { bar: true }; foo.bar; foo . bar; diff --git a/packages/eslint-plugin/tests/rules/no-unnecessary-type-assertion.test.ts b/packages/eslint-plugin/tests/rules/no-unnecessary-type-assertion.test.ts index 3b6c8168ce8e..9dfbce81bef7 100644 --- a/packages/eslint-plugin/tests/rules/no-unnecessary-type-assertion.test.ts +++ b/packages/eslint-plugin/tests/rules/no-unnecessary-type-assertion.test.ts @@ -1,6 +1,6 @@ import path from 'path'; import rule from '../../src/rules/no-unnecessary-type-assertion'; -import { RuleTester, noFormat } from '../RuleTester'; +import { RuleTester } from '../RuleTester'; const rootDir = path.resolve(__dirname, '../fixtures/'); const ruleTester = new RuleTester({ @@ -232,7 +232,7 @@ const bar = foo; code: ` const foo = (3 + 5) as number; `, - output: noFormat` + output: ` const foo = (3 + 5); `, errors: [ @@ -247,7 +247,7 @@ const foo = (3 + 5); code: ` const foo = (3 + 5); `, - output: noFormat` + output: ` const foo = (3 + 5); `, errors: [ @@ -263,7 +263,7 @@ const foo = (3 + 5); type Foo = number; const foo = (3 + 5) as Foo; `, - output: noFormat` + output: ` type Foo = number; const foo = (3 + 5); `, @@ -280,7 +280,7 @@ const foo = (3 + 5); type Foo = number; const foo = (3 + 5); `, - output: noFormat` + output: ` type Foo = number; const foo = (3 + 5); `, diff --git a/packages/eslint-plugin/tests/rules/no-unnecessary-type-constraint.test.ts b/packages/eslint-plugin/tests/rules/no-unnecessary-type-constraint.test.ts index 05465ee256cb..a48bf235a114 100644 --- a/packages/eslint-plugin/tests/rules/no-unnecessary-type-constraint.test.ts +++ b/packages/eslint-plugin/tests/rules/no-unnecessary-type-constraint.test.ts @@ -116,7 +116,7 @@ function data() {} { messageId: 'removeUnnecessaryConstraint', data: { constraint: 'any' }, - output: noFormat`const data = () => {};`, + output: `const data = () => {};`, }, ], }, @@ -136,7 +136,7 @@ function data() {} { messageId: 'removeUnnecessaryConstraint', data: { constraint: 'any' }, - output: noFormat`const data = () => {};`, + output: `const data = () => {};`, }, ], }, @@ -156,7 +156,7 @@ function data() {} { messageId: 'removeUnnecessaryConstraint', data: { constraint: 'any' }, - output: noFormat`const data = () => {};`, + output: `const data = () => {};`, }, ], }, @@ -176,7 +176,7 @@ function data() {} { messageId: 'removeUnnecessaryConstraint', data: { constraint: 'any' }, - output: noFormat`const data = () => {};`, + output: `const data = () => {};`, }, ], }, @@ -196,7 +196,7 @@ function data() {} { messageId: 'removeUnnecessaryConstraint', data: { constraint: 'any' }, - output: noFormat`const data = () => {};`, + output: `const data = () => {};`, }, ], }, @@ -236,7 +236,7 @@ function data() {} { messageId: 'removeUnnecessaryConstraint', data: { constraint: 'any' }, - output: noFormat`const data = () => {};`, + output: `const data = () => {};`, }, ], }, @@ -250,7 +250,7 @@ function data() {} { messageId: 'removeUnnecessaryConstraint', data: { constraint: 'any' }, - output: noFormat`const data = () => {};`, + output: `const data = () => {};`, }, ], }, @@ -357,7 +357,7 @@ function data() {} class Data { member() {} } - `.trimEnd(), + `, errors: [ { data: { constraint: 'unknown', name: 'T' }, @@ -373,7 +373,7 @@ class Data { class Data { member() {} } - `.trimEnd(), + `, }, ], }, @@ -384,7 +384,7 @@ class Data { const Data = class { member() {} }; - `.trimEnd(), + `, errors: [ { data: { constraint: 'unknown', name: 'T' }, @@ -400,7 +400,7 @@ const Data = class { const Data = class { member() {} }; - `.trimEnd(), + `, }, ], }, diff --git a/packages/eslint-plugin/tests/rules/no-unsafe-assignment.test.ts b/packages/eslint-plugin/tests/rules/no-unsafe-assignment.test.ts index 78ef7e78b38b..d28a2b4e5135 100644 --- a/packages/eslint-plugin/tests/rules/no-unsafe-assignment.test.ts +++ b/packages/eslint-plugin/tests/rules/no-unsafe-assignment.test.ts @@ -112,7 +112,7 @@ class Foo { 'const x = new Set();', 'const x = { y: 1 };', 'const x = { y = 1 };', - 'const x = { y(); };', + noFormat`const x = { y(); };`, 'const x: { y: number } = { y: 1 };', 'const x = [...[1, 2, 3]];', 'const [{ [`x${1}`]: x }] = [{ [`x`]: 1 }] as [{ [`x`]: any }];', diff --git a/packages/eslint-plugin/tests/rules/no-useless-constructor.test.ts b/packages/eslint-plugin/tests/rules/no-useless-constructor.test.ts index 7cedb9151e3e..ea27557d3db2 100644 --- a/packages/eslint-plugin/tests/rules/no-useless-constructor.test.ts +++ b/packages/eslint-plugin/tests/rules/no-useless-constructor.test.ts @@ -206,6 +206,20 @@ class A extends B { ` class A { constructor(foo); +} + `, + ` +class A extends Object { + constructor(@Foo foo: string) { + super(foo); + } +} + `, + ` +class A extends Object { + constructor(foo: string, @Bar() bar) { + super(foo, bar); + } } `, ], diff --git a/packages/eslint-plugin/tests/rules/non-nullable-type-assertion-style.test.ts b/packages/eslint-plugin/tests/rules/non-nullable-type-assertion-style.test.ts index 9bfa209168dd..2f89ae7efec0 100644 --- a/packages/eslint-plugin/tests/rules/non-nullable-type-assertion-style.test.ts +++ b/packages/eslint-plugin/tests/rules/non-nullable-type-assertion-style.test.ts @@ -241,8 +241,6 @@ function first(array: ArrayLike): T | null { messageId: 'preferNonNullAssertion', }, ], - // Output is not expected to match required formatting due to excess parentheses - // eslint-disable-next-line @typescript-eslint/internal/plugin-test-formatting output: ` function first(array: ArrayLike): T | null { return array.length > 0 ? (array[0]!) : null; diff --git a/packages/eslint-plugin/tests/rules/prefer-enum-initializers.test.ts b/packages/eslint-plugin/tests/rules/prefer-enum-initializers.test.ts index 0a49c52d945d..adfdd065bb80 100644 --- a/packages/eslint-plugin/tests/rules/prefer-enum-initializers.test.ts +++ b/packages/eslint-plugin/tests/rules/prefer-enum-initializers.test.ts @@ -36,7 +36,7 @@ enum Direction { enum Direction { Up, } - `.trimRight(), + `, errors: [ { messageId: 'defineInitializer', @@ -49,7 +49,7 @@ enum Direction { enum Direction { Up = 0, } - `.trimRight(), + `, }, { messageId: 'defineInitializerSuggestion', @@ -57,7 +57,7 @@ enum Direction { enum Direction { Up = 1, } - `.trimRight(), + `, }, { messageId: 'defineInitializerSuggestion', @@ -65,7 +65,7 @@ enum Direction { enum Direction { Up = 'Up', } - `.trimRight(), + `, }, ], }, @@ -77,7 +77,7 @@ enum Direction { Up, Down, } - `.trimRight(), + `, errors: [ { messageId: 'defineInitializer', @@ -91,7 +91,7 @@ enum Direction { Up = 0, Down, } - `.trimRight(), + `, }, { messageId: 'defineInitializerSuggestion', @@ -100,7 +100,7 @@ enum Direction { Up = 1, Down, } - `.trimRight(), + `, }, { messageId: 'defineInitializerSuggestion', @@ -109,7 +109,7 @@ enum Direction { Up = 'Up', Down, } - `.trimRight(), + `, }, ], }, @@ -125,7 +125,7 @@ enum Direction { Up, Down = 1, } - `.trimRight(), + `, }, { messageId: 'defineInitializerSuggestion', @@ -134,7 +134,7 @@ enum Direction { Up, Down = 2, } - `.trimRight(), + `, }, { messageId: 'defineInitializerSuggestion', @@ -143,7 +143,7 @@ enum Direction { Up, Down = 'Down', } - `.trimRight(), + `, }, ], }, @@ -155,7 +155,7 @@ enum Direction { Up = 'Up', Down, } - `.trimRight(), + `, errors: [ { messageId: 'defineInitializer', @@ -169,7 +169,7 @@ enum Direction { Up = 'Up', Down = 1, } - `.trimRight(), + `, }, { messageId: 'defineInitializerSuggestion', @@ -178,7 +178,7 @@ enum Direction { Up = 'Up', Down = 2, } - `.trimRight(), + `, }, { messageId: 'defineInitializerSuggestion', @@ -187,7 +187,7 @@ enum Direction { Up = 'Up', Down = 'Down', } - `.trimRight(), + `, }, ], }, @@ -199,7 +199,7 @@ enum Direction { Up, Down = 'Down', } - `.trimRight(), + `, errors: [ { messageId: 'defineInitializer', @@ -213,7 +213,7 @@ enum Direction { Up = 0, Down = 'Down', } - `.trimRight(), + `, }, { messageId: 'defineInitializerSuggestion', @@ -222,7 +222,7 @@ enum Direction { Up = 1, Down = 'Down', } - `.trimRight(), + `, }, { messageId: 'defineInitializerSuggestion', @@ -231,7 +231,7 @@ enum Direction { Up = 'Up', Down = 'Down', } - `.trimRight(), + `, }, ], }, diff --git a/packages/eslint-plugin/tests/rules/prefer-function-type.test.ts b/packages/eslint-plugin/tests/rules/prefer-function-type.test.ts index 452bcadffc89..f4a002b19472 100644 --- a/packages/eslint-plugin/tests/rules/prefer-function-type.test.ts +++ b/packages/eslint-plugin/tests/rules/prefer-function-type.test.ts @@ -359,7 +359,7 @@ interface Foo { }, }, ], - output: noFormat` + output: ` // isn't actually valid ts but want to not give message saying it refers to Foo. type Foo = () => { a: { @@ -385,7 +385,7 @@ type X = {} | { (): void; } }, }, ], - output: noFormat` + output: ` type X = {} | (() => void) `, }, @@ -402,7 +402,7 @@ type X = {} & { (): void; }; }, }, ], - output: noFormat` + output: ` type X = {} & (() => void); `, }, diff --git a/packages/eslint-plugin/tests/rules/prefer-nullish-coalescing.test.ts b/packages/eslint-plugin/tests/rules/prefer-nullish-coalescing.test.ts index 55fb4452973b..fd97aebdc79d 100644 --- a/packages/eslint-plugin/tests/rules/prefer-nullish-coalescing.test.ts +++ b/packages/eslint-plugin/tests/rules/prefer-nullish-coalescing.test.ts @@ -209,7 +209,7 @@ a && b || c || d; code: ` declare const x: ${type} | ${nullish}; x || 'foo'; - `.trimRight(), + `, output: null, errors: [ { @@ -224,7 +224,7 @@ x || 'foo'; output: ` declare const x: ${type} | ${nullish}; x ?? 'foo'; - `.trimRight(), + `, }, ], }, @@ -330,35 +330,35 @@ x ?? 'foo'; ` declare const x: string | undefined; x !== undefined ? x : y; - `.trim(), + `, ` declare const x: string | undefined; undefined !== x ? x : y; - `.trim(), + `, ` declare const x: string | undefined; undefined === x ? y : x; - `.trim(), + `, ` declare const x: string | undefined; undefined === x ? y : x; - `.trim(), + `, ` declare const x: string | null; x !== null ? x : y; - `.trim(), + `, ` declare const x: string | null; null !== x ? x : y; - `.trim(), + `, ` declare const x: string | null; null === x ? y : x; - `.trim(), + `, ` declare const x: string | null; null === x ? y : x; - `.trim(), + `, ].map(code => ({ code, output: null, @@ -366,17 +366,17 @@ null === x ? y : x; errors: [ { messageId: 'preferNullishOverTernary' as const, - line: 2, + line: 3, column: 1, - endLine: 2, - endColumn: code.split('\n')[1].length, + endLine: 3, + endColumn: code.split('\n')[2].length, suggestions: [ { messageId: 'suggestNullish' as const, output: ` -${code.split('\n')[0]} +${code.split('\n')[1]} x ?? y; - `.trim(), + `, }, ], }, @@ -388,7 +388,7 @@ x ?? y; code: ` declare const x: ${type} | ${nullish}; x || 'foo' ? null : null; - `.trimRight(), + `, output: null, options: [{ ignoreConditionalTests: false }], errors: [ @@ -404,7 +404,7 @@ x || 'foo' ? null : null; output: ` declare const x: ${type} | ${nullish}; x ?? 'foo' ? null : null; - `.trimRight(), + `, }, ], }, @@ -414,7 +414,7 @@ x ?? 'foo' ? null : null; code: ` declare const x: ${type} | ${nullish}; if (x || 'foo') {} - `.trimRight(), + `, output: null, options: [{ ignoreConditionalTests: false }], errors: [ @@ -430,7 +430,7 @@ if (x || 'foo') {} output: ` declare const x: ${type} | ${nullish}; if (x ?? 'foo') {} - `.trimRight(), + `, }, ], }, @@ -440,7 +440,7 @@ if (x ?? 'foo') {} code: ` declare const x: ${type} | ${nullish}; do {} while (x || 'foo') - `.trimRight(), + `, output: null, options: [{ ignoreConditionalTests: false }], errors: [ @@ -456,7 +456,7 @@ do {} while (x || 'foo') output: ` declare const x: ${type} | ${nullish}; do {} while (x ?? 'foo') - `.trimRight(), + `, }, ], }, @@ -466,7 +466,7 @@ do {} while (x ?? 'foo') code: ` declare const x: ${type} | ${nullish}; for (;x || 'foo';) {} - `.trimRight(), + `, output: null, options: [{ ignoreConditionalTests: false }], errors: [ @@ -482,7 +482,7 @@ for (;x || 'foo';) {} output: ` declare const x: ${type} | ${nullish}; for (;x ?? 'foo';) {} - `.trimRight(), + `, }, ], }, @@ -492,7 +492,7 @@ for (;x ?? 'foo';) {} code: ` declare const x: ${type} | ${nullish}; while (x || 'foo') {} - `.trimRight(), + `, output: null, options: [{ ignoreConditionalTests: false }], errors: [ @@ -508,7 +508,7 @@ while (x || 'foo') {} output: ` declare const x: ${type} | ${nullish}; while (x ?? 'foo') {} - `.trimRight(), + `, }, ], }, @@ -522,7 +522,7 @@ declare const a: ${type} | ${nullish}; declare const b: ${type} | ${nullish}; declare const c: ${type} | ${nullish}; a || b && c; - `.trimRight(), + `, options: [{ ignoreMixedLogicalExpressions: false }], errors: [ { @@ -539,7 +539,7 @@ declare const a: ${type} | ${nullish}; declare const b: ${type} | ${nullish}; declare const c: ${type} | ${nullish}; a ?? b && c; - `.trimRight(), + `, }, ], }, @@ -552,7 +552,7 @@ declare const b: ${type} | ${nullish}; declare const c: ${type} | ${nullish}; declare const d: ${type} | ${nullish}; a || b || c && d; - `.trimRight(), + `, options: [{ ignoreMixedLogicalExpressions: false }], errors: [ { @@ -570,7 +570,7 @@ declare const b: ${type} | ${nullish}; declare const c: ${type} | ${nullish}; declare const d: ${type} | ${nullish}; (a ?? b) || c && d; - `.trimRight(), + `, }, ], }, @@ -589,7 +589,7 @@ declare const b: ${type} | ${nullish}; declare const c: ${type} | ${nullish}; declare const d: ${type} | ${nullish}; a || b ?? c && d; - `.trimRight(), + `, }, ], }, @@ -602,7 +602,7 @@ declare const b: ${type} | ${nullish}; declare const c: ${type} | ${nullish}; declare const d: ${type} | ${nullish}; a && b || c || d; - `.trimRight(), + `, options: [{ ignoreMixedLogicalExpressions: false }], errors: [ { @@ -620,7 +620,7 @@ declare const b: ${type} | ${nullish}; declare const c: ${type} | ${nullish}; declare const d: ${type} | ${nullish}; a && (b ?? c) || d; - `.trimRight(), + `, }, ], }, @@ -639,7 +639,7 @@ declare const b: ${type} | ${nullish}; declare const c: ${type} | ${nullish}; declare const d: ${type} | ${nullish}; a && b || c ?? d; - `.trimRight(), + `, }, ], }, @@ -651,7 +651,7 @@ a && b || c ?? d; code: ` declare const x: ${type} | ${nullish}; if (() => x || 'foo') {} - `.trimRight(), + `, output: null, options: [{ ignoreConditionalTests: true }], errors: [ @@ -667,7 +667,7 @@ if (() => x || 'foo') {} output: ` declare const x: ${type} | ${nullish}; if (() => x ?? 'foo') {} - `.trimRight(), + `, }, ], }, @@ -677,7 +677,7 @@ if (() => x ?? 'foo') {} code: ` declare const x: ${type} | ${nullish}; if (function werid() { return x || 'foo' }) {} - `.trimRight(), + `, output: null, options: [{ ignoreConditionalTests: true }], errors: [ @@ -693,7 +693,7 @@ if (function werid() { return x || 'foo' }) {} output: ` declare const x: ${type} | ${nullish}; if (function werid() { return x ?? 'foo' }) {} - `.trimRight(), + `, }, ], }, @@ -706,7 +706,7 @@ declare const a: ${type} | ${nullish}; declare const b: ${type}; declare const c: ${type}; a || b || c; - `.trimRight(), + `, output: null, errors: [ { @@ -723,7 +723,7 @@ declare const a: ${type} | ${nullish}; declare const b: ${type}; declare const c: ${type}; (a ?? b) || c; - `.trimRight(), + `, }, ], }, diff --git a/packages/eslint-plugin/tests/rules/prefer-optional-chain.test.ts b/packages/eslint-plugin/tests/rules/prefer-optional-chain.test.ts index 2b004e9d7a9c..99c8803f3fdc 100644 --- a/packages/eslint-plugin/tests/rules/prefer-optional-chain.test.ts +++ b/packages/eslint-plugin/tests/rules/prefer-optional-chain.test.ts @@ -64,6 +64,16 @@ const baseCases = [ code: 'foo && foo[bar].baz && foo[bar].baz.buzz', output: 'foo?.[bar].baz?.buzz', }, + // case with a property access in computed property + { + code: 'foo && foo[bar.baz] && foo[bar.baz].buzz', + output: 'foo?.[bar.baz]?.buzz', + }, + // case with this keyword + { + code: 'foo[this.bar] && foo[this.bar].baz', + output: 'foo[this.bar]?.baz', + }, // chained calls { code: 'foo && foo.bar && foo.bar.baz && foo.bar.baz.buzz()', @@ -122,6 +132,11 @@ const baseCases = [ code: 'foo.bar && foo.bar?.() && foo.bar?.().baz', output: 'foo.bar?.()?.baz', }, + // TODO: deepest left node already pre-optional chained + // { + // code: 'foo?.bar && foo.bar?.() && foo.bar?.().baz', + // output: 'foo?.bar?.()?.baz', + // }, ].map( c => ({ @@ -146,6 +161,14 @@ const baseCases = [ ruleTester.run('prefer-optional-chain', rule, { valid: [ + '!a || !b;', + '!a || a.b;', + '!a && a.b;', + '!a && !a.b;', + '!a.b || a.b?.();', + '!a.b || a.b();', + '!foo() || !foo().bar;', + 'foo || {};', 'foo || ({} as any);', '(foo || {})?.bar;', @@ -162,6 +185,7 @@ ruleTester.run('prefer-optional-chain', rule, { 'foo ?? {};', '(foo ?? {})?.bar;', 'foo ||= bar ?? {};', + 'foo && bar;', 'foo && foo;', 'foo || bar;', @@ -179,6 +203,9 @@ ruleTester.run('prefer-optional-chain', rule, { 'foo && foo[bar as string] && foo[bar as string].baz;', 'foo && foo[1 + 2] && foo[1 + 2].baz;', 'foo && foo[typeof bar] && foo[typeof bar].baz;', + // currently do not handle 'this' as the first part of a chain + 'this && this.foo;', + '!this || !this.foo;', ], invalid: [ ...baseCases, @@ -249,7 +276,7 @@ ruleTester.run('prefer-optional-chain', rule, { suggestions: [ { messageId: 'optionalChainSuggest', - output: noFormat`foo?.bar?.baz || baz && baz.bar && baz.bar.foo`, + output: `foo?.bar?.baz || baz && baz.bar && baz.bar.foo`, }, ], }, @@ -258,7 +285,7 @@ ruleTester.run('prefer-optional-chain', rule, { suggestions: [ { messageId: 'optionalChainSuggest', - output: noFormat`foo && foo.bar && foo.bar.baz || baz?.bar?.foo`, + output: `foo && foo.bar && foo.bar.baz || baz?.bar?.foo`, }, ], }, @@ -340,7 +367,7 @@ ruleTester.run('prefer-optional-chain', rule, { suggestions: [ { messageId: 'optionalChainSuggest', - output: noFormat`foo?.["some long string"]?.baz`, + output: `foo?.["some long string"]?.baz`, }, ], }, @@ -355,7 +382,7 @@ ruleTester.run('prefer-optional-chain', rule, { suggestions: [ { messageId: 'optionalChainSuggest', - output: noFormat`foo?.[\`some long string\`]?.baz`, + output: `foo?.[\`some long string\`]?.baz`, }, ], }, @@ -382,7 +409,7 @@ ruleTester.run('prefer-optional-chain', rule, { foo && foo.bar(/* comment */a, // comment2 b, ); - `.trimRight(), + `, output: null, errors: [ { @@ -390,11 +417,11 @@ foo && foo.bar(/* comment */a, suggestions: [ { messageId: 'optionalChainSuggest', - output: noFormat` + output: ` foo?.bar(/* comment */a, // comment2 b, ); - `.trimRight(), + `, }, ], }, @@ -446,6 +473,22 @@ foo?.bar(/* comment */a, }, ], }, + // case with this keyword at the start of expression + { + code: 'this.bar && this.bar.baz;', + output: null, + errors: [ + { + messageId: 'preferOptionalChain', + suggestions: [ + { + messageId: 'optionalChainSuggest', + output: 'this.bar?.baz;', + }, + ], + }, + ], + }, // other weird cases { code: 'foo && foo?.();', @@ -712,7 +755,7 @@ foo?.bar(/* comment */a, suggestions: [ { messageId: 'optionalChainSuggest', - output: noFormat`if (foo) { foo?.bar; }`, + output: `if (foo) { foo?.bar; }`, }, ], }, @@ -728,7 +771,7 @@ foo?.bar(/* comment */a, suggestions: [ { messageId: 'optionalChainSuggest', - output: noFormat`if (foo?.bar) { foo.bar; }`, + output: `if (foo?.bar) { foo.bar; }`, }, ], }, @@ -945,7 +988,7 @@ foo?.bar(/* comment */a, suggestions: [ { messageId: 'optionalChainSuggest', - output: noFormat`if (foo) { foo?.bar; }`, + output: `if (foo) { foo?.bar; }`, }, ], }, @@ -961,7 +1004,7 @@ foo?.bar(/* comment */a, suggestions: [ { messageId: 'optionalChainSuggest', - output: noFormat`if (foo?.bar) { foo.bar; }`, + output: `if (foo?.bar) { foo.bar; }`, }, ], }, @@ -1009,7 +1052,7 @@ foo?.bar(/* comment */a, suggestions: [ { messageId: 'optionalChainSuggest', - output: noFormat`((typeof x) as string)?.bar;`, + output: `((typeof x) as string)?.bar;`, }, ], }, @@ -1143,5 +1186,151 @@ foo?.bar(/* comment */a, }, ], }, + { + code: '(this || {}).foo;', + errors: [ + { + messageId: 'optionalChainSuggest', + suggestions: [ + { + messageId: 'optionalChainSuggest', + output: 'this?.foo;', + }, + ], + }, + ], + }, + ...baseCases.map(c => ({ + ...c, + code: c.code.replace(/foo/g, '!foo').replace(/&&/g, '||'), + errors: [ + { + ...c.errors[0], + suggestions: [ + { + ...c.errors[0].suggestions![0], + output: `!${c.errors[0].suggestions![0].output}`, + }, + ], + }, + ], + })), + // case with this keyword at the start of expression + { + code: '!this.bar || !this.bar.baz;', + output: null, + errors: [ + { + messageId: 'preferOptionalChain', + suggestions: [ + { + messageId: 'optionalChainSuggest', + output: '!this.bar?.baz;', + }, + ], + }, + ], + }, + { + code: '!a.b || !a.b();', + output: null, + errors: [ + { + messageId: 'preferOptionalChain', + suggestions: [ + { + messageId: 'optionalChainSuggest', + output: '!a.b?.();', + }, + ], + }, + ], + }, + { + code: '!foo.bar || !foo.bar.baz;', + output: null, + errors: [ + { + messageId: 'preferOptionalChain', + suggestions: [ + { + messageId: 'optionalChainSuggest', + output: '!foo.bar?.baz;', + }, + ], + }, + ], + }, + { + code: '!foo[bar] || !foo[bar]?.[baz];', + output: null, + errors: [ + { + messageId: 'preferOptionalChain', + suggestions: [ + { + messageId: 'optionalChainSuggest', + output: '!foo[bar]?.[baz];', + }, + ], + }, + ], + }, + { + code: '!foo || !foo?.bar.baz;', + output: null, + errors: [ + { + messageId: 'preferOptionalChain', + suggestions: [ + { + messageId: 'optionalChainSuggest', + output: '!foo?.bar.baz;', + }, + ], + }, + ], + }, + // two errors + { + code: noFormat`(!foo || !foo.bar || !foo.bar.baz) && (!baz || !baz.bar || !baz.bar.foo);`, + output: null, + errors: [ + { + messageId: 'preferOptionalChain', + suggestions: [ + { + messageId: 'optionalChainSuggest', + output: noFormat`(!foo?.bar?.baz) && (!baz || !baz.bar || !baz.bar.foo);`, + }, + ], + }, + { + messageId: 'preferOptionalChain', + suggestions: [ + { + messageId: 'optionalChainSuggest', + output: noFormat`(!foo || !foo.bar || !foo.bar.baz) && (!baz?.bar?.foo);`, + }, + ], + }, + ], + }, + // TODO: deepest left node already pre-optional chained + // { + // code: '!foo?.bar || !foo?.bar.baz;', + // output: null, + // errors: [ + // { + // messageId: 'preferOptionalChain', + // suggestions: [ + // { + // messageId: 'optionalChainSuggest', + // output: '!foo?.bar?.baz;', + // }, + // ], + // }, + // ], + // }, ], }); diff --git a/packages/eslint-plugin/tests/rules/prefer-readonly-parameter-types.test.ts b/packages/eslint-plugin/tests/rules/prefer-readonly-parameter-types.test.ts index eadd526ca094..3f9b40b1eeb4 100644 --- a/packages/eslint-plugin/tests/rules/prefer-readonly-parameter-types.test.ts +++ b/packages/eslint-plugin/tests/rules/prefer-readonly-parameter-types.test.ts @@ -1,5 +1,5 @@ import { TSESLint } from '@typescript-eslint/utils'; -import { RuleTester, getFixturesRootDir } from '../RuleTester'; +import { RuleTester, getFixturesRootDir, noFormat } from '../RuleTester'; import rule from '../../src/rules/prefer-readonly-parameter-types'; import { InferMessageIdsTypeFromRule, @@ -288,7 +288,7 @@ ruleTester.run('prefer-readonly-parameter-types', rule, { new (arg: readonly string[]): void; } `, // TSConstructSignatureDeclaration - 'const x = { foo(arg: readonly string[]): void; };', // TSEmptyBodyFunctionExpression + noFormat`const x = { foo(arg: readonly string[]): void; };`, // TSEmptyBodyFunctionExpression 'function foo(arg: readonly string[]);', // TSDeclareFunction 'type Foo = (arg: readonly string[]) => void;', // TSFunctionType ` @@ -627,7 +627,7 @@ ruleTester.run('prefer-readonly-parameter-types', rule, { }, { // TSEmptyBodyFunctionExpression - code: 'const x = { foo(arg: string[]): void; };', + code: noFormat`const x = { foo(arg: string[]): void; };`, errors: [ { messageId: 'shouldBeReadonly', diff --git a/packages/eslint-plugin/tests/rules/promise-function-async.test.ts b/packages/eslint-plugin/tests/rules/promise-function-async.test.ts index 53ba5cb81a0b..e1e570ce6915 100644 --- a/packages/eslint-plugin/tests/rules/promise-function-async.test.ts +++ b/packages/eslint-plugin/tests/rules/promise-function-async.test.ts @@ -654,7 +654,7 @@ class Test { { line: 7, column: 3, messageId }, { line: 10, column: 3, messageId }, ], - output: noFormat` + output: ` class Test { @decorator(async () => {}) static protected async [(1)]() { diff --git a/packages/eslint-plugin/tests/rules/return-await.test.ts b/packages/eslint-plugin/tests/rules/return-await.test.ts index 43db87ef8195..6a19ba3c223a 100644 --- a/packages/eslint-plugin/tests/rules/return-await.test.ts +++ b/packages/eslint-plugin/tests/rules/return-await.test.ts @@ -15,6 +15,7 @@ const ruleTester = new RuleTester({ // default rule is in-try-catch ruleTester.run('return-await', rule, { valid: [ + 'return;', // No function in scope, so behave like return in a commonjs module ` function test() { return; @@ -333,7 +334,7 @@ const fn = (): any => null; async function test() { return await fn(); } - `.trimRight(), + `, errors: [ { line: 4, @@ -346,7 +347,7 @@ const fn = (): any => null; async function test() { return fn(); } - `.trimRight(), + `, }, ], }, @@ -358,7 +359,7 @@ const fn = (): unknown => null; async function test() { return await fn(); } - `.trimRight(), + `, errors: [ { line: 4, @@ -371,7 +372,7 @@ const fn = (): unknown => null; async function test() { return fn(); } - `.trimRight(), + `, }, ], }, @@ -702,7 +703,7 @@ async function buzz() { return (await foo()) ? bar() : baz(); } `, - output: noFormat` + output: ` async function foo() {} async function bar() {} async function baz() {} @@ -736,7 +737,7 @@ async function buzz() { ) : baz ? baz() : bar(); } `, - output: noFormat` + output: ` async function foo() {} async function bar() {} async function baz() {} diff --git a/packages/eslint-plugin/tests/rules/sort-type-union-intersection-members.test.ts b/packages/eslint-plugin/tests/rules/sort-type-union-intersection-members.test.ts index 1d29a45ce610..83b23880d5e3 100644 --- a/packages/eslint-plugin/tests/rules/sort-type-union-intersection-members.test.ts +++ b/packages/eslint-plugin/tests/rules/sort-type-union-intersection-members.test.ts @@ -127,7 +127,7 @@ const invalid = ( }, { code: noFormat`type T = (B) ${operator} (A);`, - output: noFormat`type T = A ${operator} B;`, + output: `type T = A ${operator} B;`, errors: [ { messageId: 'notSortedNamed', @@ -225,7 +225,7 @@ type T = ${operator} string ${operator} any; `, - output: noFormat` + output: ` type T = A ${operator} B ${operator} number[] ${operator} string[] ${operator} any ${operator} string ${operator} readonly number[] ${operator} readonly string[] ${operator} 'a' ${operator} 'b' ${operator} "a" ${operator} "b" ${operator} (() => string) ${operator} (() => void) ${operator} { a: string } ${operator} { b: string } ${operator} [1, 2, 3] ${operator} [1, 2, 4] ${operator} null ${operator} undefined; `, diff --git a/packages/eslint-plugin/tests/rules/strict-boolean-expressions.test.ts b/packages/eslint-plugin/tests/rules/strict-boolean-expressions.test.ts index 335c2c713461..b6da08b5965c 100644 --- a/packages/eslint-plugin/tests/rules/strict-boolean-expressions.test.ts +++ b/packages/eslint-plugin/tests/rules/strict-boolean-expressions.test.ts @@ -268,15 +268,15 @@ if (y) { suggestions: [ { messageId: 'conditionFixCompareStringLength', - output: noFormat`if (((''.length > 0) && {}) || (0 && void 0)) { }`, + output: `if (((''.length > 0) && {}) || (0 && void 0)) { }`, }, { messageId: 'conditionFixCompareEmptyString', - output: noFormat`if ((('' !== "") && {}) || (0 && void 0)) { }`, + output: `if ((('' !== "") && {}) || (0 && void 0)) { }`, }, { messageId: 'conditionFixCastBoolean', - output: noFormat`if (((Boolean('')) && {}) || (0 && void 0)) { }`, + output: `if (((Boolean('')) && {}) || (0 && void 0)) { }`, }, ], }, @@ -288,15 +288,15 @@ if (y) { suggestions: [ { messageId: 'conditionFixCompareZero', - output: noFormat`if (('' && {}) || ((0 !== 0) && void 0)) { }`, + output: `if (('' && {}) || ((0 !== 0) && void 0)) { }`, }, { messageId: 'conditionFixCompareNaN', - output: noFormat`if (('' && {}) || ((!Number.isNaN(0)) && void 0)) { }`, + output: `if (('' && {}) || ((!Number.isNaN(0)) && void 0)) { }`, }, { messageId: 'conditionFixCastBoolean', - output: noFormat`if (('' && {}) || ((Boolean(0)) && void 0)) { }`, + output: `if (('' && {}) || ((Boolean(0)) && void 0)) { }`, }, ], }, @@ -625,7 +625,7 @@ if (y) { { messageId: 'conditionErrorNumber', line: 3, column: 26 }, { messageId: 'conditionErrorNumber', line: 4, column: 43 }, ], - output: noFormat` + output: ` if ([].length === 0) {} (a: number[]) => (a.length > 0) && "..." (...a: T) => (a.length > 0) || "empty"; @@ -717,7 +717,7 @@ if (y) { { messageId: 'conditionErrorNullableObject', line: 3, column: 33 }, { messageId: 'conditionErrorNullableObject', line: 4, column: 52 }, ], - output: noFormat` + output: ` declare const x: object | null; if (x != null) {} (x?: { a: number }) => x == null; (x: T) => (x != null) ? 1 : 0; @@ -962,7 +962,7 @@ if (x) { { messageId: 'conditionErrorNullableObject', line: 5, column: 9 }, { messageId: 'conditionErrorNullableObject', line: 6, column: 9 }, ], - output: noFormat` + output: ` declare const obj: { x: number } | null; (obj == null) ? 1 : 0 obj == null diff --git a/packages/eslint-plugin/tests/rules/switch-exhaustiveness-check.test.ts b/packages/eslint-plugin/tests/rules/switch-exhaustiveness-check.test.ts index 415afc20fc1c..07a963716a04 100644 --- a/packages/eslint-plugin/tests/rules/switch-exhaustiveness-check.test.ts +++ b/packages/eslint-plugin/tests/rules/switch-exhaustiveness-check.test.ts @@ -1,6 +1,6 @@ import path from 'path'; import switchExhaustivenessCheck from '../../src/rules/switch-exhaustiveness-check'; -import { RuleTester, noFormat } from '../RuleTester'; +import { RuleTester } from '../RuleTester'; const rootPath = path.join(process.cwd(), 'tests/fixtures/'); @@ -436,14 +436,14 @@ function test(value: T): number { return 1; } } - `.trimRight(), + `, errors: [ { messageId: 'switchIsNotExhaustive', suggestions: [ { messageId: 'addMissingCases', - output: noFormat` + output: ` type T = 1 | 2; function test(value: T): number { @@ -453,7 +453,7 @@ function test(value: T): number { case 2: { throw new Error('Not implemented yet: 2 case') } } } - `.trimRight(), + `, }, ], }, @@ -468,14 +468,14 @@ function test(value: T): number { switch (value) { } } - `.trimRight(), + `, errors: [ { messageId: 'switchIsNotExhaustive', suggestions: [ { messageId: 'addMissingCases', - output: noFormat` + output: ` type T = 1 | 2; function test(value: T): number { @@ -484,7 +484,7 @@ function test(value: T): number { case 2: { throw new Error('Not implemented yet: 2 case') } } } - `.trimRight(), + `, }, ], }, @@ -502,14 +502,14 @@ function test(arg: Enum): string { switch (arg) { } } - `.trimRight(), + `, errors: [ { messageId: 'switchIsNotExhaustive', suggestions: [ { messageId: 'addMissingCases', - output: noFormat` + output: ` export enum Enum { 'test-test' = 'test-test', 'test' = 'test', @@ -521,7 +521,7 @@ function test(arg: Enum): string { case Enum.test: { throw new Error('Not implemented yet: Enum.test case') } } } - `.trimRight(), + `, }, ], }, @@ -539,14 +539,14 @@ function test(arg: Enum): string { switch (arg) { } } - `.trimRight(), + `, errors: [ { messageId: 'switchIsNotExhaustive', suggestions: [ { messageId: 'addMissingCases', - output: noFormat` + output: ` export enum Enum { '' = 'test-test', 'test' = 'test', @@ -558,7 +558,7 @@ function test(arg: Enum): string { case Enum.test: { throw new Error('Not implemented yet: Enum.test case') } } } - `.trimRight(), + `, }, ], }, @@ -576,14 +576,14 @@ function test(arg: Enum): string { switch (arg) { } } - `.trimRight(), + `, errors: [ { messageId: 'switchIsNotExhaustive', suggestions: [ { messageId: 'addMissingCases', - output: noFormat` + output: ` export enum Enum { '9test' = 'test-test', 'test' = 'test', @@ -595,7 +595,7 @@ function test(arg: Enum): string { case Enum.test: { throw new Error('Not implemented yet: Enum.test case') } } } - `.trimRight(), + `, }, ], }, diff --git a/packages/experimental-utils/CHANGELOG.md b/packages/experimental-utils/CHANGELOG.md index eaa51a7465b9..3cb1b6fb7e3c 100644 --- a/packages/experimental-utils/CHANGELOG.md +++ b/packages/experimental-utils/CHANGELOG.md @@ -3,6 +3,30 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [5.35.1](https://github.com/typescript-eslint/typescript-eslint/compare/v5.35.0...v5.35.1) (2022-08-24) + +**Note:** Version bump only for package @typescript-eslint/experimental-utils + + + + + +# [5.35.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.34.0...v5.35.0) (2022-08-24) + +**Note:** Version bump only for package @typescript-eslint/experimental-utils + + + + + +# [5.34.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.33.1...v5.34.0) (2022-08-22) + +**Note:** Version bump only for package @typescript-eslint/experimental-utils + + + + + ## [5.33.1](https://github.com/typescript-eslint/typescript-eslint/compare/v5.33.0...v5.33.1) (2022-08-15) **Note:** Version bump only for package @typescript-eslint/experimental-utils diff --git a/packages/experimental-utils/package.json b/packages/experimental-utils/package.json index 9f993c3e80c2..ddd97043d2d9 100644 --- a/packages/experimental-utils/package.json +++ b/packages/experimental-utils/package.json @@ -1,6 +1,6 @@ { "name": "@typescript-eslint/experimental-utils", - "version": "5.33.1", + "version": "5.35.1", "description": "(Experimental) Utilities for working with TypeScript + ESLint together", "keywords": [ "eslint", @@ -38,7 +38,7 @@ "typecheck": "tsc -p tsconfig.json --noEmit" }, "dependencies": { - "@typescript-eslint/utils": "5.33.1" + "@typescript-eslint/utils": "5.35.1" }, "peerDependencies": { "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" diff --git a/packages/parser/CHANGELOG.md b/packages/parser/CHANGELOG.md index fe2606d9a427..9d61c1feca03 100644 --- a/packages/parser/CHANGELOG.md +++ b/packages/parser/CHANGELOG.md @@ -3,6 +3,30 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [5.35.1](https://github.com/typescript-eslint/typescript-eslint/compare/v5.35.0...v5.35.1) (2022-08-24) + +**Note:** Version bump only for package @typescript-eslint/parser + + + + + +# [5.35.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.34.0...v5.35.0) (2022-08-24) + +**Note:** Version bump only for package @typescript-eslint/parser + + + + + +# [5.34.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.33.1...v5.34.0) (2022-08-22) + +**Note:** Version bump only for package @typescript-eslint/parser + + + + + ## [5.33.1](https://github.com/typescript-eslint/typescript-eslint/compare/v5.33.0...v5.33.1) (2022-08-15) **Note:** Version bump only for package @typescript-eslint/parser diff --git a/packages/parser/package.json b/packages/parser/package.json index 7e62fdf78ee3..191ddd30d9a1 100644 --- a/packages/parser/package.json +++ b/packages/parser/package.json @@ -1,6 +1,6 @@ { "name": "@typescript-eslint/parser", - "version": "5.33.1", + "version": "5.35.1", "description": "An ESLint custom parser which leverages TypeScript ESTree", "main": "dist/index.js", "types": "dist/index.d.ts", @@ -45,9 +45,9 @@ "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" }, "dependencies": { - "@typescript-eslint/scope-manager": "5.33.1", - "@typescript-eslint/types": "5.33.1", - "@typescript-eslint/typescript-estree": "5.33.1", + "@typescript-eslint/scope-manager": "5.35.1", + "@typescript-eslint/types": "5.35.1", + "@typescript-eslint/typescript-estree": "5.35.1", "debug": "^4.3.4" }, "devDependencies": { diff --git a/packages/scope-manager/CHANGELOG.md b/packages/scope-manager/CHANGELOG.md index 06fdd568c375..e1ab6fbd7408 100644 --- a/packages/scope-manager/CHANGELOG.md +++ b/packages/scope-manager/CHANGELOG.md @@ -3,6 +3,33 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [5.35.1](https://github.com/typescript-eslint/typescript-eslint/compare/v5.35.0...v5.35.1) (2022-08-24) + +**Note:** Version bump only for package @typescript-eslint/scope-manager + + + + + +# [5.35.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.34.0...v5.35.0) (2022-08-24) + +**Note:** Version bump only for package @typescript-eslint/scope-manager + + + + + +# [5.34.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.33.1...v5.34.0) (2022-08-22) + + +### Bug Fixes + +* **scope-manager:** visit static blocks ([#5489](https://github.com/typescript-eslint/typescript-eslint/issues/5489)) ([78745c2](https://github.com/typescript-eslint/typescript-eslint/commit/78745c2092064446837b5683892001030a8bb4e2)) + + + + + ## [5.33.1](https://github.com/typescript-eslint/typescript-eslint/compare/v5.33.0...v5.33.1) (2022-08-15) **Note:** Version bump only for package @typescript-eslint/scope-manager diff --git a/packages/scope-manager/package.json b/packages/scope-manager/package.json index daa9ed576abd..1e407c2cd61c 100644 --- a/packages/scope-manager/package.json +++ b/packages/scope-manager/package.json @@ -1,6 +1,6 @@ { "name": "@typescript-eslint/scope-manager", - "version": "5.33.1", + "version": "5.35.1", "description": "TypeScript scope analyser for ESLint", "keywords": [ "eslint", @@ -38,12 +38,12 @@ "typecheck": "cd ../../ && nx typecheck @typescript-eslint/scope-manager" }, "dependencies": { - "@typescript-eslint/types": "5.33.1", - "@typescript-eslint/visitor-keys": "5.33.1" + "@typescript-eslint/types": "5.35.1", + "@typescript-eslint/visitor-keys": "5.35.1" }, "devDependencies": { "@types/glob": "*", - "@typescript-eslint/typescript-estree": "5.33.1", + "@typescript-eslint/typescript-estree": "5.35.1", "glob": "*", "jest-specific-snapshot": "*", "make-dir": "*", diff --git a/packages/scope-manager/src/referencer/ClassVisitor.ts b/packages/scope-manager/src/referencer/ClassVisitor.ts index 92dab53ca90a..47e0bdef41cd 100644 --- a/packages/scope-manager/src/referencer/ClassVisitor.ts +++ b/packages/scope-manager/src/referencer/ClassVisitor.ts @@ -322,6 +322,10 @@ class ClassVisitor extends Visitor { this.visitType(node); } + protected visitStaticBlock(node: TSESTree.StaticBlock): void { + this.#referencer.scopeManager.nestClassStaticBlockScope(node); + } + ///////////////////// // Visit selectors // ///////////////////// @@ -359,6 +363,10 @@ class ClassVisitor extends Visitor { protected PrivateIdentifier(): void { // intentionally skip } + + protected StaticBlock(node: TSESTree.StaticBlock): void { + this.visitStaticBlock(node); + } } /** diff --git a/packages/scope-manager/src/scope/ClassStaticBlockScope.ts b/packages/scope-manager/src/scope/ClassStaticBlockScope.ts index 40a5d54b37cf..2bb3915e966c 100644 --- a/packages/scope-manager/src/scope/ClassStaticBlockScope.ts +++ b/packages/scope-manager/src/scope/ClassStaticBlockScope.ts @@ -6,7 +6,7 @@ import { ScopeManager } from '../ScopeManager'; class ClassStaticBlockScope extends ScopeBase< ScopeType.classStaticBlock, - TSESTree.Expression, + TSESTree.StaticBlock, Scope > { constructor( diff --git a/packages/scope-manager/tests/fixtures/class/declaration/static-block.ts b/packages/scope-manager/tests/fixtures/class/declaration/static-block.ts new file mode 100644 index 000000000000..93b92f6cf1f1 --- /dev/null +++ b/packages/scope-manager/tests/fixtures/class/declaration/static-block.ts @@ -0,0 +1,3 @@ +class A { + static {} +} diff --git a/packages/scope-manager/tests/fixtures/class/declaration/static-block.ts.shot b/packages/scope-manager/tests/fixtures/class/declaration/static-block.ts.shot new file mode 100644 index 000000000000..b49013a55755 --- /dev/null +++ b/packages/scope-manager/tests/fixtures/class/declaration/static-block.ts.shot @@ -0,0 +1,72 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`class declaration static-block 1`] = ` +ScopeManager { + variables: Array [ + ImplicitGlobalConstTypeVariable, + Variable$2 { + defs: Array [ + ClassNameDefinition$1 { + name: Identifier<"A">, + node: ClassDeclaration$1, + }, + ], + name: "A", + references: Array [], + isValueVariable: true, + isTypeVariable: true, + }, + Variable$3 { + defs: Array [ + ClassNameDefinition$2 { + name: Identifier<"A">, + node: ClassDeclaration$1, + }, + ], + name: "A", + references: Array [], + isValueVariable: true, + isTypeVariable: true, + }, + ], + scopes: Array [ + GlobalScope$1 { + block: Program$2, + isStrict: false, + references: Array [], + set: Map { + "const" => ImplicitGlobalConstTypeVariable, + "A" => Variable$2, + }, + type: "global", + upper: null, + variables: Array [ + ImplicitGlobalConstTypeVariable, + Variable$2, + ], + }, + ClassScope$2 { + block: ClassDeclaration$1, + isStrict: true, + references: Array [], + set: Map { + "A" => Variable$3, + }, + type: "class", + upper: GlobalScope$1, + variables: Array [ + Variable$3, + ], + }, + ClassStaticBlockScope$3 { + block: StaticBlock$3, + isStrict: true, + references: Array [], + set: Map {}, + type: "class-static-block", + upper: ClassScope$2, + variables: Array [], + }, + ], +} +`; diff --git a/packages/scope-manager/tests/fixtures/instantiation-expressions/type-arguments1.ts b/packages/scope-manager/tests/fixtures/instantiation-expressions/type-arguments1.ts index dc8e0419db77..243db1b4aa8e 100644 --- a/packages/scope-manager/tests/fixtures/instantiation-expressions/type-arguments1.ts +++ b/packages/scope-manager/tests/fixtures/instantiation-expressions/type-arguments1.ts @@ -1,9 +1,9 @@ class Foo { - value: T + value: T; } class Bar { - foo = Foo + foo = Foo; } -new Bar() +new Bar(); diff --git a/packages/shared-fixtures/CHANGELOG.md b/packages/shared-fixtures/CHANGELOG.md index afed76b2d5ae..5c91e771597e 100644 --- a/packages/shared-fixtures/CHANGELOG.md +++ b/packages/shared-fixtures/CHANGELOG.md @@ -3,6 +3,30 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [5.35.1](https://github.com/typescript-eslint/typescript-eslint/compare/v5.35.0...v5.35.1) (2022-08-24) + +**Note:** Version bump only for package @typescript-eslint/shared-fixtures + + + + + +# [5.35.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.34.0...v5.35.0) (2022-08-24) + +**Note:** Version bump only for package @typescript-eslint/shared-fixtures + + + + + +# [5.34.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.33.1...v5.34.0) (2022-08-22) + +**Note:** Version bump only for package @typescript-eslint/shared-fixtures + + + + + ## [5.33.1](https://github.com/typescript-eslint/typescript-eslint/compare/v5.33.0...v5.33.1) (2022-08-15) **Note:** Version bump only for package @typescript-eslint/shared-fixtures diff --git a/packages/shared-fixtures/package.json b/packages/shared-fixtures/package.json index 8e6076946188..0a667094d6a4 100644 --- a/packages/shared-fixtures/package.json +++ b/packages/shared-fixtures/package.json @@ -1,5 +1,5 @@ { "name": "@typescript-eslint/shared-fixtures", - "version": "5.33.1", + "version": "5.35.1", "private": true } diff --git a/packages/type-utils/CHANGELOG.md b/packages/type-utils/CHANGELOG.md index 8e8c18736e87..9d54bd642dfb 100644 --- a/packages/type-utils/CHANGELOG.md +++ b/packages/type-utils/CHANGELOG.md @@ -3,6 +3,30 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [5.35.1](https://github.com/typescript-eslint/typescript-eslint/compare/v5.35.0...v5.35.1) (2022-08-24) + +**Note:** Version bump only for package @typescript-eslint/type-utils + + + + + +# [5.35.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.34.0...v5.35.0) (2022-08-24) + +**Note:** Version bump only for package @typescript-eslint/type-utils + + + + + +# [5.34.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.33.1...v5.34.0) (2022-08-22) + +**Note:** Version bump only for package @typescript-eslint/type-utils + + + + + ## [5.33.1](https://github.com/typescript-eslint/typescript-eslint/compare/v5.33.0...v5.33.1) (2022-08-15) **Note:** Version bump only for package @typescript-eslint/type-utils diff --git a/packages/type-utils/package.json b/packages/type-utils/package.json index ea6dda64e27c..c9e153f70f59 100644 --- a/packages/type-utils/package.json +++ b/packages/type-utils/package.json @@ -1,6 +1,6 @@ { "name": "@typescript-eslint/type-utils", - "version": "5.33.1", + "version": "5.35.1", "description": "Type utilities for working with TypeScript + ESLint together", "keywords": [ "eslint", @@ -39,12 +39,12 @@ "typecheck": "tsc -p tsconfig.json --noEmit" }, "dependencies": { - "@typescript-eslint/utils": "5.33.1", + "@typescript-eslint/utils": "5.35.1", "debug": "^4.3.4", "tsutils": "^3.21.0" }, "devDependencies": { - "@typescript-eslint/parser": "5.33.1", + "@typescript-eslint/parser": "5.35.1", "typescript": "*" }, "peerDependencies": { diff --git a/packages/types/CHANGELOG.md b/packages/types/CHANGELOG.md index 0f3476fdcb90..3badcb7b850e 100644 --- a/packages/types/CHANGELOG.md +++ b/packages/types/CHANGELOG.md @@ -3,6 +3,33 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [5.35.1](https://github.com/typescript-eslint/typescript-eslint/compare/v5.35.0...v5.35.1) (2022-08-24) + +**Note:** Version bump only for package @typescript-eslint/types + + + + + +# [5.35.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.34.0...v5.35.0) (2022-08-24) + +**Note:** Version bump only for package @typescript-eslint/types + + + + + +# [5.34.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.33.1...v5.34.0) (2022-08-22) + + +### Features + +* **types:** add unbound property in parser options ([#5419](https://github.com/typescript-eslint/typescript-eslint/issues/5419)) ([e08a9dd](https://github.com/typescript-eslint/typescript-eslint/commit/e08a9dd79365c1b1f5d0145ab69377f7d45f8a4f)) + + + + + ## [5.33.1](https://github.com/typescript-eslint/typescript-eslint/compare/v5.33.0...v5.33.1) (2022-08-15) **Note:** Version bump only for package @typescript-eslint/types diff --git a/packages/types/package.json b/packages/types/package.json index 76221b810eae..0d04530ab315 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -1,6 +1,6 @@ { "name": "@typescript-eslint/types", - "version": "5.33.1", + "version": "5.35.1", "description": "Types for the TypeScript-ESTree AST spec", "keywords": [ "eslint", diff --git a/packages/types/src/parser-options.ts b/packages/types/src/parser-options.ts index bb5101768e03..968f1b3a0014 100644 --- a/packages/types/src/parser-options.ts +++ b/packages/types/src/parser-options.ts @@ -58,6 +58,7 @@ interface ParserOptions { tsconfigRootDir?: string; warnOnUnsupportedTypeScriptVersion?: boolean; moduleResolver?: string; + [additionalProperties: string]: unknown; } export { DebugLevel, EcmaVersion, ParserOptions, SourceType }; diff --git a/packages/typescript-estree/CHANGELOG.md b/packages/typescript-estree/CHANGELOG.md index e77f48f699d8..cc61cc729fef 100644 --- a/packages/typescript-estree/CHANGELOG.md +++ b/packages/typescript-estree/CHANGELOG.md @@ -3,6 +3,33 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [5.35.1](https://github.com/typescript-eslint/typescript-eslint/compare/v5.35.0...v5.35.1) (2022-08-24) + +**Note:** Version bump only for package @typescript-eslint/typescript-estree + + + + + +# [5.35.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.34.0...v5.35.0) (2022-08-24) + +**Note:** Version bump only for package @typescript-eslint/typescript-estree + + + + + +# [5.34.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.33.1...v5.34.0) (2022-08-22) + + +### Features + +* **eslint-plugin:** [prefer-optional-chain] support suggesting `!foo || !foo.bar` as a valid match for the rule ([#5266](https://github.com/typescript-eslint/typescript-eslint/issues/5266)) ([aca935c](https://github.com/typescript-eslint/typescript-eslint/commit/aca935c9696712d4aff18144c4690db4d6ba9bf9)) + + + + + ## [5.33.1](https://github.com/typescript-eslint/typescript-eslint/compare/v5.33.0...v5.33.1) (2022-08-15) **Note:** Version bump only for package @typescript-eslint/typescript-estree diff --git a/packages/typescript-estree/package.json b/packages/typescript-estree/package.json index d4d8ec9cbb39..750141adbe21 100644 --- a/packages/typescript-estree/package.json +++ b/packages/typescript-estree/package.json @@ -1,6 +1,6 @@ { "name": "@typescript-eslint/typescript-estree", - "version": "5.33.1", + "version": "5.35.1", "description": "A parser that converts TypeScript source code into an ESTree compatible form", "main": "dist/index.js", "types": "dist/index.d.ts", @@ -42,8 +42,8 @@ "typecheck": "tsc -p tsconfig.json --noEmit" }, "dependencies": { - "@typescript-eslint/types": "5.33.1", - "@typescript-eslint/visitor-keys": "5.33.1", + "@typescript-eslint/types": "5.35.1", + "@typescript-eslint/visitor-keys": "5.35.1", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -59,7 +59,7 @@ "@types/is-glob": "*", "@types/semver": "*", "@types/tmp": "*", - "@typescript-eslint/shared-fixtures": "5.33.1", + "@typescript-eslint/shared-fixtures": "5.35.1", "glob": "*", "jest-specific-snapshot": "*", "make-dir": "*", diff --git a/packages/typescript-estree/src/convert.ts b/packages/typescript-estree/src/convert.ts index be09a2b387db..81c17185743f 100644 --- a/packages/typescript-estree/src/convert.ts +++ b/packages/typescript-estree/src/convert.ts @@ -402,7 +402,7 @@ export class Converter { private convertParameters( parameters: ts.NodeArray, ): TSESTree.Parameter[] { - if (!parameters || !parameters.length) { + if (!parameters?.length) { return []; } return parameters.map(param => { @@ -688,7 +688,7 @@ export class Converter { result: TSESTree.TSEnumDeclaration | TSESTree.TSModuleDeclaration, modifiers?: ts.ModifiersArray, ): void { - if (!modifiers || !modifiers.length) { + if (!modifiers?.length) { return; } const remainingModifiers: TSESTree.Modifier[] = []; diff --git a/packages/typescript-estree/tests/ast-alignment/fixtures-to-test.ts b/packages/typescript-estree/tests/ast-alignment/fixtures-to-test.ts index 1d0b6ac64cad..850ac470fadb 100644 --- a/packages/typescript-estree/tests/ast-alignment/fixtures-to-test.ts +++ b/packages/typescript-estree/tests/ast-alignment/fixtures-to-test.ts @@ -397,6 +397,11 @@ tester.addFixturePatternConfig('typescript/basics', { * SyntaxError: Missing initializer in const declaration. */ 'var-with-definite-assignment', + /** + * [BABEL ERRORED, BUT TS-ESTREE DID NOT] + * SyntaxError: A JSON module can only be imported with `default`. + */ + 'export-with-import-assertions', ], ignoreSourceType: [ /** diff --git a/packages/utils/CHANGELOG.md b/packages/utils/CHANGELOG.md index d1d293a1d6b4..01cc49d591ff 100644 --- a/packages/utils/CHANGELOG.md +++ b/packages/utils/CHANGELOG.md @@ -3,6 +3,33 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [5.35.1](https://github.com/typescript-eslint/typescript-eslint/compare/v5.35.0...v5.35.1) (2022-08-24) + +**Note:** Version bump only for package @typescript-eslint/utils + + + + + +# [5.35.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.34.0...v5.35.0) (2022-08-24) + +**Note:** Version bump only for package @typescript-eslint/utils + + + + + +# [5.34.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.33.1...v5.34.0) (2022-08-22) + + +### Features + +* **eslint-plugin:** [prefer-optional-chain] support suggesting `!foo || !foo.bar` as a valid match for the rule ([#5266](https://github.com/typescript-eslint/typescript-eslint/issues/5266)) ([aca935c](https://github.com/typescript-eslint/typescript-eslint/commit/aca935c9696712d4aff18144c4690db4d6ba9bf9)) + + + + + ## [5.33.1](https://github.com/typescript-eslint/typescript-eslint/compare/v5.33.0...v5.33.1) (2022-08-15) **Note:** Version bump only for package @typescript-eslint/utils diff --git a/packages/utils/package.json b/packages/utils/package.json index ea37f5d9759c..947a84c82f0b 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -1,6 +1,6 @@ { "name": "@typescript-eslint/utils", - "version": "5.33.1", + "version": "5.35.1", "description": "Utilities for working with TypeScript + ESLint together", "keywords": [ "eslint", @@ -40,9 +40,9 @@ }, "dependencies": { "@types/json-schema": "^7.0.9", - "@typescript-eslint/scope-manager": "5.33.1", - "@typescript-eslint/types": "5.33.1", - "@typescript-eslint/typescript-estree": "5.33.1", + "@typescript-eslint/scope-manager": "5.35.1", + "@typescript-eslint/types": "5.35.1", + "@typescript-eslint/typescript-estree": "5.35.1", "eslint-scope": "^5.1.1", "eslint-utils": "^3.0.0" }, diff --git a/packages/utils/src/eslint-utils/RuleCreator.ts b/packages/utils/src/eslint-utils/RuleCreator.ts index 2bd24323e782..2e2646db3506 100644 --- a/packages/utils/src/eslint-utils/RuleCreator.ts +++ b/packages/utils/src/eslint-utils/RuleCreator.ts @@ -95,13 +95,14 @@ function createRule< TRuleListener > { return { - meta, create( context: Readonly>, ): TRuleListener { const optionsWithDefault = applyDefault(defaultOptions, context.options); return create(context, optionsWithDefault); }, + defaultOptions, + meta, }; } diff --git a/packages/utils/src/eslint-utils/getParserServices.ts b/packages/utils/src/eslint-utils/getParserServices.ts index 27ad579272b9..f385b64fecb1 100644 --- a/packages/utils/src/eslint-utils/getParserServices.ts +++ b/packages/utils/src/eslint-utils/getParserServices.ts @@ -17,8 +17,7 @@ function getParserServices< // backwards compatibility check // old versions of the parser would not return any parserServices unless parserOptions.project was set if ( - !context.parserServices || - !context.parserServices.program || + !context.parserServices?.program || !context.parserServices.esTreeNodeToTSNodeMap || !context.parserServices.tsNodeToESTreeNodeMap ) { diff --git a/packages/utils/src/ts-eslint/Rule.ts b/packages/utils/src/ts-eslint/Rule.ts index 25d29bddf115..ff3053863219 100644 --- a/packages/utils/src/ts-eslint/Rule.ts +++ b/packages/utils/src/ts-eslint/Rule.ts @@ -433,6 +433,11 @@ interface RuleModule< // for extending base rules TRuleListener extends RuleListener = RuleListener, > { + /** + * Default options the rule will be run with + */ + defaultOptions: TOptions; + /** * Metadata about the rule */ diff --git a/packages/visitor-keys/CHANGELOG.md b/packages/visitor-keys/CHANGELOG.md index 754368e0fdfb..de96d725e58b 100644 --- a/packages/visitor-keys/CHANGELOG.md +++ b/packages/visitor-keys/CHANGELOG.md @@ -3,6 +3,30 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [5.35.1](https://github.com/typescript-eslint/typescript-eslint/compare/v5.35.0...v5.35.1) (2022-08-24) + +**Note:** Version bump only for package @typescript-eslint/visitor-keys + + + + + +# [5.35.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.34.0...v5.35.0) (2022-08-24) + +**Note:** Version bump only for package @typescript-eslint/visitor-keys + + + + + +# [5.34.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.33.1...v5.34.0) (2022-08-22) + +**Note:** Version bump only for package @typescript-eslint/visitor-keys + + + + + ## [5.33.1](https://github.com/typescript-eslint/typescript-eslint/compare/v5.33.0...v5.33.1) (2022-08-15) **Note:** Version bump only for package @typescript-eslint/visitor-keys diff --git a/packages/visitor-keys/package.json b/packages/visitor-keys/package.json index a7037b897380..36fc7c25cc2d 100644 --- a/packages/visitor-keys/package.json +++ b/packages/visitor-keys/package.json @@ -1,6 +1,6 @@ { "name": "@typescript-eslint/visitor-keys", - "version": "5.33.1", + "version": "5.35.1", "description": "Visitor keys used to help traverse the TypeScript-ESTree AST", "keywords": [ "eslint", @@ -39,7 +39,7 @@ "typecheck": "tsc -p tsconfig.json --noEmit" }, "dependencies": { - "@typescript-eslint/types": "5.33.1", + "@typescript-eslint/types": "5.35.1", "eslint-visitor-keys": "^3.3.0" }, "devDependencies": { diff --git a/packages/website-eslint/CHANGELOG.md b/packages/website-eslint/CHANGELOG.md index 77e76ec083f3..b3ffa09c3e47 100644 --- a/packages/website-eslint/CHANGELOG.md +++ b/packages/website-eslint/CHANGELOG.md @@ -3,6 +3,30 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [5.35.1](https://github.com/typescript-eslint/typescript-eslint/compare/v5.35.0...v5.35.1) (2022-08-24) + +**Note:** Version bump only for package @typescript-eslint/website-eslint + + + + + +# [5.35.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.34.0...v5.35.0) (2022-08-24) + +**Note:** Version bump only for package @typescript-eslint/website-eslint + + + + + +# [5.34.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.33.1...v5.34.0) (2022-08-22) + +**Note:** Version bump only for package @typescript-eslint/website-eslint + + + + + ## [5.33.1](https://github.com/typescript-eslint/typescript-eslint/compare/v5.33.0...v5.33.1) (2022-08-15) **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 a20c8ac438fe..91cc7e5154d0 100644 --- a/packages/website-eslint/package.json +++ b/packages/website-eslint/package.json @@ -1,6 +1,6 @@ { "name": "@typescript-eslint/website-eslint", - "version": "5.33.1", + "version": "5.35.1", "private": true, "description": "ESLint which works in browsers.", "engines": { @@ -16,19 +16,19 @@ "format": "prettier --write \"./**/*.{ts,mts,cts,tsx,js,mjs,cjs,jsx,json,md,css}\" --ignore-path ../../.prettierignore" }, "dependencies": { - "@typescript-eslint/types": "5.33.1", - "@typescript-eslint/utils": "5.33.1" + "@typescript-eslint/types": "5.35.1", + "@typescript-eslint/utils": "5.35.1" }, "devDependencies": { "@rollup/plugin-commonjs": "^22.0.0", "@rollup/plugin-json": "^4.1.0", "@rollup/plugin-node-resolve": "^13.3.0", "@rollup/pluginutils": "^4.2.1", - "@typescript-eslint/eslint-plugin": "5.33.1", - "@typescript-eslint/parser": "5.33.1", - "@typescript-eslint/scope-manager": "5.33.1", - "@typescript-eslint/typescript-estree": "5.33.1", - "@typescript-eslint/visitor-keys": "5.33.1", + "@typescript-eslint/eslint-plugin": "5.35.1", + "@typescript-eslint/parser": "5.35.1", + "@typescript-eslint/scope-manager": "5.35.1", + "@typescript-eslint/typescript-estree": "5.35.1", + "@typescript-eslint/visitor-keys": "5.35.1", "eslint": "*", "rollup": "^2.75.4", "rollup-plugin-terser": "^7.0.2", diff --git a/packages/website/CHANGELOG.md b/packages/website/CHANGELOG.md index ca602456dff3..d10208f84ea6 100644 --- a/packages/website/CHANGELOG.md +++ b/packages/website/CHANGELOG.md @@ -3,6 +3,36 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [5.35.1](https://github.com/typescript-eslint/typescript-eslint/compare/v5.35.0...v5.35.1) (2022-08-24) + + +### Bug Fixes + +* **eslint-plugin:** correct rule schemas to pass ajv validation ([#5531](https://github.com/typescript-eslint/typescript-eslint/issues/5531)) ([dbf8b56](https://github.com/typescript-eslint/typescript-eslint/commit/dbf8b569dbada29e4a295d6c265976e55de1b2aa)) + + + + + +# [5.35.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.34.0...v5.35.0) (2022-08-24) + +**Note:** Version bump only for package website + + + + + +# [5.34.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.33.1...v5.34.0) (2022-08-22) + + +### Features + +* **eslint-plugin:** [prefer-optional-chain] support suggesting `!foo || !foo.bar` as a valid match for the rule ([#5266](https://github.com/typescript-eslint/typescript-eslint/issues/5266)) ([aca935c](https://github.com/typescript-eslint/typescript-eslint/commit/aca935c9696712d4aff18144c4690db4d6ba9bf9)) + + + + + ## [5.33.1](https://github.com/typescript-eslint/typescript-eslint/compare/v5.33.0...v5.33.1) (2022-08-15) **Note:** Version bump only for package website diff --git a/packages/website/data/sponsors.json b/packages/website/data/sponsors.json index 30bdac33d5d3..a416ca02959a 100644 --- a/packages/website/data/sponsors.json +++ b/packages/website/data/sponsors.json @@ -12,7 +12,7 @@ "image": "https://images.opencollective.com/nx/0efbe42/logo.png", "name": "Nx (by Nrwl)", "tier": "sponsor", - "totalDonations": 450000, + "totalDonations": 475000, "website": "https://nx.dev" }, { @@ -20,7 +20,7 @@ "image": "https://images.opencollective.com/eslint/96b09dc/logo.png", "name": "ESLint", "tier": "sponsor", - "totalDonations": 155000, + "totalDonations": 170000, "website": "https://eslint.org/" }, { @@ -28,7 +28,7 @@ "image": "https://images.opencollective.com/airbnb/d327d66/logo.png", "name": "Airbnb", "tier": "sponsor", - "totalDonations": 120800, + "totalDonations": 125800, "website": "https://www.airbnb.com/" }, { @@ -44,14 +44,14 @@ "image": "https://images.opencollective.com/n8n/dca2f0c/logo.png", "name": "n8n.io - n8n GmbH", "tier": "sponsor", - "totalDonations": 95000, + "totalDonations": 100000, "website": "https://n8n.io" }, { "id": "EY Doberman", "image": "https://images.opencollective.com/ey-doberman/b269462/logo.png", "name": "EY Doberman", - "tier": "sponsor", + "tier": "supporter", "totalDonations": 80400, "website": "https://doberman.co" }, @@ -59,24 +59,17 @@ "id": "GitBook", "image": "https://images.opencollective.com/gitbook/d35a8e7/logo.png", "name": "GitBook", - "tier": "sponsor", - "totalDonations": 70000, + "tier": "supporter", + "totalDonations": 80000, "website": "https://www.gitbook.com" }, { "id": "Codecademy", "image": "https://images.opencollective.com/codecademy/d56a48d/logo.png", "name": "Codecademy", - "tier": "sponsor", - "totalDonations": 60000, - "website": "https://codecademy.com" - }, - { - "id": "GitHub", - "image": "https://images.opencollective.com/guest-f9980024/avatar.png", - "name": "GitHub", "tier": "supporter", - "totalDonations": 56674 + "totalDonations": 70000, + "website": "https://codecademy.com" }, { "id": "Future Processing", @@ -98,7 +91,7 @@ "id": "Whitebox", "image": "https://images.opencollective.com/whiteboxinc/ef0d11d/logo.png", "name": "Whitebox", - "tier": "supporter", + "tier": "contributor", "totalDonations": 40000, "website": "https://whitebox.com" }, @@ -106,7 +99,7 @@ "id": "Monito", "image": "https://images.opencollective.com/monito/50fc878/logo.png", "name": "Monito", - "tier": "supporter", + "tier": "contributor", "totalDonations": 30000, "website": "https://www.monito.com" }, @@ -114,32 +107,33 @@ "id": "revo.js", "image": "https://images.opencollective.com/revojsro/82623a7/logo.png", "name": "revo.js", - "tier": "supporter", + "tier": "contributor", "totalDonations": 23000, "website": "https://revojs.ro" }, + { + "id": "STORIS", + "image": "https://images.opencollective.com/storis/dfb0e13/logo.png", + "name": "STORIS", + "tier": "contributor", + "totalDonations": 22500, + "website": "https://www.storis.com/" + }, { "id": "Ian MacLeod", "image": "https://images.opencollective.com/nevir/35c52ef/avatar.png", "name": "Ian MacLeod", - "tier": "supporter", + "tier": "contributor", "totalDonations": 22000, "website": "https://twitter.com/nevir" }, { - "id": "STORIS", - "image": "https://images.opencollective.com/storis/dfb0e13/logo.png", - "name": "STORIS", - "tier": "supporter", - "totalDonations": 21000, - "website": "https://www.storis.com/" - }, - { - "id": "Michael Ranciglio", - "image": "https://images.opencollective.com/michael-ranciglio/avatar.png", - "name": "Michael Ranciglio", - "tier": "supporter", - "totalDonations": 16500 + "id": "Sourcegraph", + "image": "https://images.opencollective.com/sourcegraph/8587b83/logo.png", + "name": "Sourcegraph", + "tier": "contributor", + "totalDonations": 20000, + "website": "https://about.sourcegraph.com" }, { "id": "Joe Alden", @@ -154,7 +148,7 @@ "image": "https://images.opencollective.com/blacksheepcode/976d69a/avatar.png", "name": "David Johnston", "tier": "contributor", - "totalDonations": 13000, + "totalDonations": 13500, "website": "https://blacksheepcode.com" }, { @@ -173,21 +167,6 @@ "totalDonations": 10000, "website": "https://www.theguardian.com/" }, - { - "id": "Yuta Fukazawa", - "image": "https://images.opencollective.com/yuta-fukazawa/a337601/avatar.png", - "name": "Yuta Fukazawa", - "tier": "contributor", - "totalDonations": 10000 - }, - { - "id": "Sourcegraph", - "image": "https://images.opencollective.com/sourcegraph/8587b83/logo.png", - "name": "Sourcegraph", - "tier": "sponsor", - "totalDonations": 10000, - "website": "https://about.sourcegraph.com" - }, { "id": "Laserhub", "image": "https://images.opencollective.com/laserhub/bae6275/logo.png", @@ -195,68 +174,5 @@ "tier": "contributor", "totalDonations": 10000, "website": "https://laserhub.com/" - }, - { - "id": "Tripwire, Inc.", - "image": "https://images.opencollective.com/tripwire/7599e30/logo.png", - "name": "Tripwire, Inc.", - "tier": "contributor", - "totalDonations": 8500, - "website": "https://tripwire.com" - }, - { - "id": "Evil Martians", - "image": "https://images.opencollective.com/evilmartians/707ab4d/logo.png", - "name": "Evil Martians", - "tier": "contributor", - "totalDonations": 8000, - "website": "https://evilmartians.com/" - }, - { - "id": "Balsa", - "image": "https://images.opencollective.com/balsa/77de498/logo.png", - "name": "Balsa", - "tier": "contributor", - "totalDonations": 8000, - "website": "https://balsa.com" - }, - { - "id": "Jeffrey Rennie", - "image": "https://images.opencollective.com/jeffrey-rennie/avatar.png", - "name": "Jeffrey Rennie", - "tier": "contributor", - "totalDonations": 7500 - }, - { - "id": "Pete Gonzalez", - "image": "https://images.opencollective.com/octogonz/513f01a/avatar.png", - "name": "Pete Gonzalez", - "tier": "contributor", - "totalDonations": 5000, - "website": "https://github.com/octogonz" - }, - { - "id": "Niklas Fiekas", - "image": "https://images.opencollective.com/niklas-fiekas/ffec4a8/avatar.png", - "name": "Niklas Fiekas", - "tier": "contributor", - "totalDonations": 5000, - "website": "https://backscattering.de" - }, - { - "id": "Corellium", - "image": "https://images.opencollective.com/corellium/aa8c228/logo.png", - "name": "Corellium", - "tier": "contributor", - "totalDonations": 4800, - "website": "https://www.corellium.com" - }, - { - "id": "Alexey Berezin", - "image": "https://images.opencollective.com/beraliv/034d971/avatar.png", - "name": "Alexey Berezin", - "tier": "contributor", - "totalDonations": 1500, - "website": "https://beraliv.dev" } ] diff --git a/packages/website/docusaurusConfig.ts b/packages/website/docusaurusConfig.ts index 89a97f1c81e7..41c4336559af 100644 --- a/packages/website/docusaurusConfig.ts +++ b/packages/website/docusaurusConfig.ts @@ -23,8 +23,11 @@ const presetClassicOptions: PresetClassicOptions = { sidebarPath: require.resolve('./sidebars/sidebar.rules.js'), routeBasePath: 'rules', editUrl: `${githubUrl}/edit/main/packages/website/`, - beforeDefaultRemarkPlugins, - remarkPlugins: [...remarkPlugins, [generatedRuleDocs, {}]], + beforeDefaultRemarkPlugins: [ + ...beforeDefaultRemarkPlugins, + [generatedRuleDocs, {}], + ], + remarkPlugins: remarkPlugins, exclude: ['TEMPLATE.md'], breadcrumbs: false, }, @@ -52,8 +55,8 @@ const pluginContentDocsOptions: PluginContentDocsOptions = { const themeConfig: ThemeCommonConfig & AlgoliaThemeConfig = { algolia: { - appId: 'BH4D9OD16A', - apiKey: '1ad6b47d4e742c4c0653877b5511c602', + appId: 'N1HUB2TU6A', + apiKey: '74d42ed10d0f7b327d74d774570035c7', indexName: 'typescript-eslint', }, metadata: [ diff --git a/packages/website/package.json b/packages/website/package.json index 1b7aa4f25b9f..2619fa327acc 100644 --- a/packages/website/package.json +++ b/packages/website/package.json @@ -1,6 +1,6 @@ { "name": "website", - "version": "5.33.1", + "version": "5.35.1", "private": true, "scripts": { "build": "docusaurus build", @@ -15,17 +15,21 @@ }, "dependencies": { "@babel/runtime": "^7.18.3", - "@docusaurus/core": "2.0.0-beta.21", - "@docusaurus/preset-classic": "2.0.0-beta.21", - "@docusaurus/remark-plugin-npm2yarn": "2.0.0-beta.21", - "@docusaurus/theme-common": "2.0.0-beta.21", + "@docusaurus/core": "~2.0.1", + "@docusaurus/preset-classic": "~2.0.1", + "@docusaurus/remark-plugin-npm2yarn": "~2.0.1", + "@docusaurus/theme-common": "~2.0.1", "@mdx-js/react": "1.6.22", - "@typescript-eslint/website-eslint": "5.33.1", + "@typescript-eslint/parser": "5.35.1", + "@typescript-eslint/website-eslint": "5.35.1", "clsx": "^1.1.1", "eslint": "*", + "json-schema": "^0.4.0", + "json-schema-to-typescript": "^11.0.1", "json5": "^2.2.1", "konamimojisplosion": "^0.5.1", "lzstring.ts": "^2.0.2", + "prettier": "*", "prism-react-renderer": "^1.3.3", "react": "^18.1.0", "react-dom": "^18.1.0", @@ -33,11 +37,11 @@ "typescript": "*" }, "devDependencies": { - "@docusaurus/module-type-aliases": "^2.0.0-beta.21", + "@docusaurus/module-type-aliases": "~2.0.1", "@types/react": "^18.0.9", "@types/react-helmet": "^6.1.5", "@types/react-router-dom": "^5.3.3", - "@typescript-eslint/eslint-plugin": "5.33.1", + "@typescript-eslint/eslint-plugin": "5.35.1", "copy-webpack-plugin": "^11.0.0", "cypress": "8.3.0", "cypress-axe": "^0.14.0", @@ -46,7 +50,7 @@ "eslint-plugin-react-hooks": "^4.5.0", "globby": "^11.1.0", "monaco-editor": "^0.33.0", - "webpack": "^5.72.1" + "webpack": "^5.74.0" }, "browserslist": { "production": [ diff --git a/packages/website/plugins/generated-rule-docs.ts b/packages/website/plugins/generated-rule-docs.ts index f074db043551..33014db3e3ea 100644 --- a/packages/website/plugins/generated-rule-docs.ts +++ b/packages/website/plugins/generated-rule-docs.ts @@ -1,17 +1,43 @@ +import * as fs from 'fs'; import type * as unist from 'unist'; -import type * as mdast from 'mdast'; +import * as mdast from 'mdast'; +import * as path from 'path'; +import { format } from 'prettier'; import type { Plugin } from 'unified'; +import { compile, JSONSchema } from 'json-schema-to-typescript'; +import * as tseslintParser from '@typescript-eslint/parser'; import * as eslintPlugin from '@typescript-eslint/eslint-plugin'; +import { EOL } from 'os'; +import { JSONSchema7 } from 'json-schema'; -const generatedRuleDocs: Plugin = () => { - return (root, file) => { +/** + * Rules whose options schema generate annoyingly complex schemas. + * + * @remarks These need to be typed in manually in their .md docs file. + * @todo Get these schemas printing nicely in their .md docs files! + */ +const COMPLICATED_RULE_OPTIONS = new Set([ + 'member-ordering', + 'naming-convention', +]); + +const sourceUrlPrefix = + 'https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/'; + +const eslintPluginDirectory = path.resolve( + path.join(__dirname, '../../eslint-plugin'), +); + +export const generatedRuleDocs: Plugin = () => { + return async (root, file) => { if (file.stem == null) { return; } - const docs = eslintPlugin.rules[file.stem]?.meta.docs; - if (!docs) { + const rule = eslintPlugin.rules[file.stem]; + const meta = rule?.meta; + if (!meta?.docs) { return; } @@ -27,7 +53,7 @@ const generatedRuleDocs: Plugin = () => { parent.children.unshift({ children: [ { - children: docs.description + children: meta.docs.description .split(/`(.+?)`/) .map((value, index, array) => ({ type: index % 2 === 0 ? 'text' : 'inlineCode', @@ -40,22 +66,336 @@ const generatedRuleDocs: Plugin = () => { } as mdast.Blockquote); // 3. Add a rule attributes list... - const h2Idx = + const attributesH2Index = // ...before the first h2, if it exists... parent.children.findIndex( - child => - child.type === 'heading' && (child as mdast.Heading).depth === 2, + child => nodeIsHeading(child) && child.depth === 2, ) ?? // ...or at the very end, if not. parent.children.length; // The actual content will be injected on client side. - const attrNode = { + const attributesNode = { type: 'jsx', value: ``, }; - parent.children.splice(h2Idx, 0, attrNode); + parent.children.splice(attributesH2Index, 0, attributesNode); + + // 4. Make sure the appropriate headers exist to place content under + const [howToUseH2Index, optionsH2Index] = ((): [number, number] => { + let howToUseH2Index = parent.children.findIndex( + createH2TextFilter('How to Use'), + ); + let optionsH2Index = parent.children.findIndex( + createH2TextFilter('Options'), + ); + const relatedToH2Index = parent.children.findIndex( + createH2TextFilter('Related To'), + ); + let whenNotToUseItH2Index = parent.children.findIndex( + createH2TextFilter('When Not To Use It'), + ); + + if (meta.docs.extendsBaseRule) { + if (howToUseH2Index === -1) { + if (optionsH2Index !== -1) { + howToUseH2Index = optionsH2Index; + optionsH2Index += 1; + + if (whenNotToUseItH2Index !== -1) { + whenNotToUseItH2Index += 1; + } + } else { + howToUseH2Index = + whenNotToUseItH2Index === -1 + ? parent.children.length + : ++whenNotToUseItH2Index; + } + + parent.children.splice(howToUseH2Index, 0, { + children: [ + { + type: 'text', + value: 'How to Use', + }, + ], + depth: 2, + type: 'heading', + } as mdast.Heading); + } + } + + if (optionsH2Index === -1) { + optionsH2Index = + whenNotToUseItH2Index === -1 + ? relatedToH2Index === -1 + ? parent.children.length + : relatedToH2Index + : whenNotToUseItH2Index; + parent.children.splice(optionsH2Index, 0, { + children: [ + { + type: 'text', + value: 'Options', + }, + ], + depth: 2, + type: 'heading', + } as mdast.Heading); + + optionsH2Index += 1; + } + + return [howToUseH2Index, optionsH2Index]; + })(); + + // 5. Add a description of how to use / options for the rule + const optionLevel = meta.docs.recommended === 'error' ? 'error' : 'warn'; + + if (meta.docs.extendsBaseRule) { + parent.children.splice(optionsH2Index + 1, 0, { + children: [ + { + value: 'See ', + type: 'text', + }, + { + children: [ + { + type: 'inlineCode', + value: `eslint/${file.stem}`, + }, + { + type: 'text', + value: ' options', + }, + ], + type: 'link', + url: `https://eslint.org/docs/rules/${file.stem}#options`, + }, + { + type: 'text', + value: '.', + }, + ], + type: 'paragraph', + } as mdast.Paragraph); + + parent.children.splice(howToUseH2Index + 1, 0, { + lang: 'js', + type: 'code', + meta: 'title=".eslintrc.cjs"', + value: `module.exports = { + // Note: you must disable the base rule as it can report incorrect errors + "${file.stem}": "off", + "@typescript-eslint/${file.stem}": "${optionLevel}" +};`, + } as mdast.Code); + } else { + parent.children.splice(optionsH2Index, 0, { + lang: 'js', + type: 'code', + meta: 'title=".eslintrc.cjs"', + value: `module.exports = { + "rules": { + "@typescript-eslint/${file.stem}": "${optionLevel}" + } +};`, + } as mdast.Code); + + if (meta.schema.length === 0) { + parent.children.splice(optionsH2Index + 1, 0, { + children: [ + { + type: 'text', + value: 'This rule is not configurable.', + }, + ], + type: 'paragraph', + } as mdast.Paragraph); + } else if (!COMPLICATED_RULE_OPTIONS.has(file.stem)) { + const optionsSchema: JSONSchema = + meta.schema instanceof Array + ? meta.schema[0] + : meta.schema.type === 'array' + ? { + ...(meta.schema.definitions + ? { definitions: meta.schema.definitions } + : {}), + ...(meta.schema.$defs + ? { $defs: (meta.schema as JSONSchema7).$defs } + : {}), + ...(meta.schema.prefixItems as [JSONSchema])[0], + } + : meta.schema; + + parent.children.splice( + optionsH2Index + 2, + 0, + { + children: [ + { + type: 'text', + value: `This rule accepts an options ${ + 'enum' in optionsSchema + ? 'string of the following possible values' + : 'object with the following properties' + }:`, + } as mdast.Text, + ], + type: 'paragraph', + } as mdast.Paragraph, + { + lang: 'ts', + type: 'code', + value: [ + ( + await compile( + { + title: `Options`, + ...optionsSchema, + }, + file.stem, + { + additionalProperties: false, + bannerComment: '', + declareExternallyReferenced: true, + }, + ) + ).replace(/^export /gm, ''), + format( + `const defaultOptions: Options = ${JSON.stringify( + rule.defaultOptions, + )};`, + { + parser: tseslintParser.parse, + }, + ), + ] + .join(EOL) + .trim(), + } as mdast.Code, + ); + } + } + + // 6. Add a notice about coming from ESLint core for extension rules + if (meta.docs.extendsBaseRule) { + parent.children.push({ + children: [ + { + type: 'jsx', + value: '', + }, + { + type: 'text', + value: 'Taken with ❤️ ', + }, + { + type: 'link', + title: null, + url: `https://github.com/eslint/eslint/blob/main/docs/rules/${file.stem}.md`, + children: [ + { + type: 'text', + value: 'from ESLint core', + }, + ], + }, + { + type: 'jsx', + value: '', + }, + ], + type: 'paragraph', + } as mdast.Paragraph); + } + + // 7. Also add a link to view the rule's source and test code + parent.children.push( + { + children: [ + { + type: 'text', + value: 'Resources', + }, + ], + depth: 2, + type: 'heading', + } as mdast.Heading, + { + children: [ + { + children: [ + { + children: [ + { + type: 'link', + url: `${sourceUrlPrefix}src/rules/${file.stem}.ts`, + children: [ + { + type: 'text', + value: 'Rule source', + }, + ], + }, + ], + type: 'paragraph', + }, + ], + type: 'listItem', + }, + { + children: [ + { + children: [ + { + type: 'link', + url: getUrlForRuleTest(file.stem), + children: [ + { + type: 'text', + value: 'Test source', + }, + ], + }, + ], + type: 'paragraph', + }, + ], + type: 'listItem', + }, + ], + type: 'list', + } as mdast.List, + ); }; }; -export { generatedRuleDocs }; +function nodeIsHeading(node: unist.Node): node is mdast.Heading { + return node.type === 'heading'; +} + +function createH2TextFilter( + text: string, +): (node: unist.Node) => node is mdast.Heading { + return (node: unist.Node): node is mdast.Heading => + nodeIsHeading(node) && + node.depth === 2 && + node.children.length === 1 && + node.children[0].type === 'text' && + node.children[0].value === text; +} + +function getUrlForRuleTest(ruleName: string): string { + for (const localPath of [ + `tests/rules/${ruleName}.test.ts`, + `tests/rules/${ruleName}/`, + ]) { + if (fs.existsSync(`${eslintPluginDirectory}/${localPath}`)) { + return `${sourceUrlPrefix}${localPath}`; + } + } + + throw new Error(`Could not find test file for ${ruleName}.`); +} diff --git a/packages/website/src/components/ErrorsViewer.tsx b/packages/website/src/components/ErrorsViewer.tsx index 10a19922fdb7..eb1b027ba77f 100644 --- a/packages/website/src/components/ErrorsViewer.tsx +++ b/packages/website/src/components/ErrorsViewer.tsx @@ -3,7 +3,7 @@ import type Monaco from 'monaco-editor'; import clsx from 'clsx'; import type { ErrorItem, ErrorGroup } from './types'; -import IconExternalLink from '@theme/IconExternalLink'; +import IconExternalLink from '@theme/Icon/ExternalLink'; import styles from './ErrorsViewer.module.css'; export interface ErrorsViewerProps { diff --git a/packages/website/src/components/FinancialContributors/Sponsor.tsx b/packages/website/src/components/FinancialContributors/Sponsor.tsx index f43b0d3d81ee..4872233a6c92 100644 --- a/packages/website/src/components/FinancialContributors/Sponsor.tsx +++ b/packages/website/src/components/FinancialContributors/Sponsor.tsx @@ -1,18 +1,14 @@ import React from 'react'; import { SponsorData, SponsorIncludeOptions } from './types'; +import styles from './styles.module.css'; interface SponsorProps { - className?: string; include?: SponsorIncludeOptions; sponsor: SponsorData; } -export function Sponsor({ - className, - include = {}, - sponsor, -}: SponsorProps): JSX.Element { +export function Sponsor({ include = {}, sponsor }: SponsorProps): JSX.Element { let children = {`${sponsor.name}; if (include.name) { @@ -27,7 +23,7 @@ export function Sponsor({ if (include.link) { children = (

{title}

-

{description}

    {sponsors .filter(sponsor => sponsor.tier === tier) diff --git a/packages/website/src/components/FinancialContributors/Sponsors/styles.module.css b/packages/website/src/components/FinancialContributors/Sponsors/styles.module.css index 9c337f1ead6d..e740c76f8bd1 100644 --- a/packages/website/src/components/FinancialContributors/Sponsors/styles.module.css +++ b/packages/website/src/components/FinancialContributors/Sponsors/styles.module.css @@ -9,7 +9,6 @@ justify-content: center; align-items: flex-end; max-width: 800px; - margin: 10px auto; padding: 0; } @@ -20,6 +19,7 @@ } .sponsorsTier img { + display: block; margin: auto; } @@ -30,29 +30,42 @@ } .tier-sponsor { - gap: 16px; + gap: 32px 16px; } .tier-sponsor img { display: inline-block; max-height: 120px; + max-width: 120px; width: 120px; } .tier-supporter, .tier-contributor { align-items: center; - gap: 4px 16px; +} + +.tier-supporter { + font-size: 0.95rem; + line-height: 1; + gap: 24px; + padding-top: 16px; } .tier-supporter img { - max-height: 60px; - width: 60px; + max-height: 75px; + max-width: 75px; + width: 75px; +} + +.tier-contributor { + gap: 4px 24px; } .tier-contributor img { - max-height: 30px; - width: 30px; + max-height: 45px; + max-width: 45px; + width: 45px; } @media screen and (min-width: 700px) { diff --git a/packages/website/src/components/FinancialContributors/index.tsx b/packages/website/src/components/FinancialContributors/index.tsx index 9665632df417..9942fac27bf7 100644 --- a/packages/website/src/components/FinancialContributors/index.tsx +++ b/packages/website/src/components/FinancialContributors/index.tsx @@ -15,32 +15,38 @@ export function FinancialContributors(): JSX.Element {
    - - Become a financial contributor - +
    + + Become a financial contributor + + + See all financial contributors + +
    ); } diff --git a/packages/website/src/components/FinancialContributors/styles.module.css b/packages/website/src/components/FinancialContributors/styles.module.css index b4de958b9021..b1c348155aa8 100644 --- a/packages/website/src/components/FinancialContributors/styles.module.css +++ b/packages/website/src/components/FinancialContributors/styles.module.css @@ -4,15 +4,22 @@ gap: 8px; } +.linksArea { + display: flex; + gap: 16px; + align-items: center; + flex-direction: column; + margin: 48px 24px 24px; +} + .become { - margin: 8px 0 24px; - font-size: 1rem; + font-size: 1.25rem; } @media screen and (min-width: 1150px) { .sponsorsContainer { display: grid; - grid-template-columns: 55% 45%; + grid-template-columns: 50% 50%; margin: auto; max-width: 100%; } @@ -34,4 +41,12 @@ .tierOtherArea { grid-area: 2 / 2 / 3 / 3; } + + .sponsorLink { + display: flex; + } + + .linksArea { + margin: 24px; + } } diff --git a/packages/website/src/components/RulesTable/index.tsx b/packages/website/src/components/RulesTable/index.tsx index 6629637a44b4..08a55cda2400 100644 --- a/packages/website/src/components/RulesTable/index.tsx +++ b/packages/website/src/components/RulesTable/index.tsx @@ -15,9 +15,11 @@ function interpolateCode(text: string): (JSX.Element | string)[] | string { } function RuleRow({ rule }: { rule: RulesMeta[number] }): JSX.Element | null { - if (!rule.docs || !rule.docs.url) { + if (!rule.docs?.url) { return null; } + const { fixable, hasSuggestions } = rule; + const { recommended, requiresTypeChecking } = rule.docs; return ( @@ -27,19 +29,38 @@ function RuleRow({ rule }: { rule: RulesMeta[number] }): JSX.Element | null {
    {interpolateCode(rule.docs.description)} - - {rule.docs.recommended === 'strict' - ? '🔒' - : rule.docs.recommended - ? '✅' - : ''} + + {recommended === 'strict' ? '🔒' : recommended ? '✅' : ''} - - {rule.fixable ? '🔧\n' : '\n'} - {rule.hasSuggestions ? '🛠' : ''} + + {fixable ? '🔧\n' : '\n'} + {hasSuggestions ? '💡' : ''} - - {rule.docs.requiresTypeChecking ? '💭' : ''} + + {requiresTypeChecking ? '💭' : ''} ); @@ -168,7 +189,7 @@ export default function RulesTable({ Rule - ✅{'\n'}🔒 - 🔧{'\n'}🛠 - 💭 + + ✅{'\n'}🔒 + + + 🔧{'\n'}💡 + + + 💭 + diff --git a/packages/website/src/components/RulesTable/styles.module.css b/packages/website/src/components/RulesTable/styles.module.css index 6e2cc5ac27e3..4b0d2cd6b630 100644 --- a/packages/website/src/components/RulesTable/styles.module.css +++ b/packages/website/src/components/RulesTable/styles.module.css @@ -111,9 +111,24 @@ .rulesTable, .ruleCol { width: 100%; + overflow: visible; + border-collapse: separate; + border-spacing: 0; +} + +.rulesTable thead { + background-color: #f7f7f7; + position: sticky; + top: var(--ifm-navbar-height); + box-shadow: 0 5px 5px var(--gray-border-shadow); +} + +[data-theme='dark'] .rulesTable th { + background-color: #2b2b2d; } .attrCol { min-width: 2.5em; text-align: center; + cursor: default; } diff --git a/packages/website/src/pages/play.tsx b/packages/website/src/pages/play.tsx index 7d6a3ef62df3..bdb172a6546a 100644 --- a/packages/website/src/pages/play.tsx +++ b/packages/website/src/pages/play.tsx @@ -8,7 +8,11 @@ function Play(): JSX.Element { }> {(): JSX.Element => { - const Playground = lazy(() => import('../components/Playground')); + const Playground = lazy( + () => + // @ts-expect-error: This does not follow Node resolution + import('../components/Playground') as Promise<() => JSX.Element>, + ); return ( }> diff --git a/packages/website/src/theme/CodeBlock/Content/String.tsx b/packages/website/src/theme/CodeBlock/Content/String.tsx index f26a6ec5b9c5..3398b9042082 100644 --- a/packages/website/src/theme/CodeBlock/Content/String.tsx +++ b/packages/website/src/theme/CodeBlock/Content/String.tsx @@ -2,15 +2,14 @@ import React from 'react'; import clsx from 'clsx'; +import { useThemeConfig, usePrismTheme } from '@docusaurus/theme-common'; import { - useThemeConfig, parseCodeBlockTitle, parseLanguage, parseLines, containsLineNumbers, - usePrismTheme, useCodeWordWrap, -} from '@docusaurus/theme-common'; +} from '@docusaurus/theme-common/internal'; import Highlight, { defaultProps, type Language } from 'prism-react-renderer'; import Line from '@theme/CodeBlock/Line'; import CopyButton from '@theme/CodeBlock/CopyButton'; diff --git a/packages/website/src/theme/MDXComponents/RuleAttributes.tsx b/packages/website/src/theme/MDXComponents/RuleAttributes.tsx index 74726a63fc37..f02fe0486485 100644 --- a/packages/website/src/theme/MDXComponents/RuleAttributes.tsx +++ b/packages/website/src/theme/MDXComponents/RuleAttributes.tsx @@ -55,7 +55,7 @@ export function RuleAttributes({ name }: { name: string }): JSX.Element | null {
  • - 🛠 Suggestion Fixer + 💡 Suggestion Fixer
diff --git a/packages/website/tsconfig.json b/packages/website/tsconfig.json index 13f1948404e4..429f1794b91d 100644 --- a/packages/website/tsconfig.json +++ b/packages/website/tsconfig.json @@ -1,8 +1,8 @@ { "extends": "../../tsconfig.base.json", "compilerOptions": { - "module": "commonjs", - "moduleResolution": "node", + "module": "CommonJS", + "moduleResolution": "NodeNext", "allowJs": true, "esModuleInterop": true, "jsx": "react", diff --git a/tests/integration/fixtures/vue-sfc/Hello.vue b/tests/integration/fixtures/vue-sfc/Hello.vue index 1ee0282919b5..7855ce535972 100644 --- a/tests/integration/fixtures/vue-sfc/Hello.vue +++ b/tests/integration/fixtures/vue-sfc/Hello.vue @@ -3,7 +3,7 @@
- Hello {{ (name as any) }}{{ exclamationMarks }} + Hello {{ name as any }}{{ exclamationMarks }}
diff --git a/tests/integration/tests/__snapshots__/vue-sfc.test.ts.snap b/tests/integration/tests/__snapshots__/vue-sfc.test.ts.snap index c019630df43b..513c225c023d 100644 --- a/tests/integration/tests/__snapshots__/vue-sfc.test.ts.snap +++ b/tests/integration/tests/__snapshots__/vue-sfc.test.ts.snap @@ -21,7 +21,7 @@ Array [
- Hello {{ (name as any) }}{{ exclamationMarks }} + Hello {{ name as any }}{{ exclamationMarks }}
diff --git a/tools/generate-sponsors.ts b/tools/generate-sponsors.ts index 4f05e353f123..eadeb1bb4501 100644 --- a/tools/generate-sponsors.ts +++ b/tools/generate-sponsors.ts @@ -99,19 +99,6 @@ interface MemberAccountAndTier extends MemberAccount { const excludedNames = new Set([ 'Guest', // Apparent anonymous donor equivalent without an avatar 'Josh Goldberg', // Team member 💖 - - // These names *seem* to be spam websites, but we're not sure. - // If your name is mistakenly on this list, we're sorry; please let us know! - '420HUBS.COM', - 'Deal Empire', - 'Florian Studio', - 'java', - 'Loyalty Leo', - 'Penalty.com', - - // These names are of organizations we cannot in good conscience link to. - // If you disagree with a name on this list, please email a maintainer. - 'Christian Healthcare Ministries', // #5440 ]); async function requestGraphql(key: keyof typeof queries): Promise { @@ -163,16 +150,16 @@ async function main(): Promise { ...accountsById[name], }; const totalDonations = totalDonationsById[name]; - const slug = fromAccount.tier?.slug ?? 'contributor'; + const website = fromAccount.website; return { id: name, image: fromAccount.imageUrl, name: fromAccount.name, - tier: getReportedTierSlug(slug, totalDonations), + tier: getReportedTierSlug(totalDonations, website), totalDonations, twitterHandle: fromAccount.twitterHandle, - website: fromAccount.website, + website, }; }) .filter(({ id, tier }) => { @@ -209,30 +196,22 @@ async function stringifyObject( }); } -function getReportedTierSlug(slug: string, totalDonations: number): string { - // Sponsors: Donors of $750 and/or a monthly amount of $100 or more - if ( - totalDonations >= 750_00 || - (slug === 'sponsor' && totalDonations >= 100_00) - ) { - return 'sponsor'; +function getReportedTierSlug( + totalDonations: number, + website: string, +): string | undefined { + if (!website) { + return undefined; } - // Gold Supporters: Donors of $150 and/or a monthly amount of $10 or more. - // We also only show gold supporters who have donated at least twice. - if ( - totalDonations >= 150_00 || - (slug === 'gold-supporter' && totalDonations >= 20_00) - ) { + if (totalDonations >= 1_000_00) { + return 'sponsor'; + } + if (totalDonations >= 500_00) { return 'supporter'; } - // Supporters: Donors of $50 and/or a monthly amount of $3 or more. - // We also only show supporters who have donated at least twice. - if ( - totalDonations >= 50_00 || - (slug === 'supporter' && totalDonations >= 6_00) - ) { + if (totalDonations >= 100_00) { return 'contributor'; } diff --git a/yarn.lock b/yarn.lock index 339a98d56d41..1a6959cc55a5 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,17 +2,24 @@ # yarn lockfile v1 -"@algolia/autocomplete-core@1.6.3": - version "1.6.3" - resolved "https://registry.yarnpkg.com/@algolia/autocomplete-core/-/autocomplete-core-1.6.3.tgz#76832fffb6405ac2c87bac5a040b8a31a1cdef80" - integrity sha512-dqQqRt01fX3YuVFrkceHsoCnzX0bLhrrg8itJI1NM68KjrPYQPYsE+kY8EZTCM4y8VDnhqJErR73xe/ZsV+qAA== +"@algolia/autocomplete-core@1.7.1": + version "1.7.1" + resolved "https://registry.yarnpkg.com/@algolia/autocomplete-core/-/autocomplete-core-1.7.1.tgz#025538b8a9564a9f3dd5bcf8a236d6951c76c7d1" + integrity sha512-eiZw+fxMzNQn01S8dA/hcCpoWCOCwcIIEUtHHdzN5TGB3IpzLbuhqFeTfh2OUhhgkE8Uo17+wH+QJ/wYyQmmzg== dependencies: - "@algolia/autocomplete-shared" "1.6.3" + "@algolia/autocomplete-shared" "1.7.1" -"@algolia/autocomplete-shared@1.6.3": - version "1.6.3" - resolved "https://registry.yarnpkg.com/@algolia/autocomplete-shared/-/autocomplete-shared-1.6.3.tgz#52085ce89a755977841ed0a463aa31ce8f1dea97" - integrity sha512-UV46bnkTztyADFaETfzFC5ryIdGVb2zpAoYgu0tfcuYWjhg1KbLXveFffZIrGVoboqmAk1b+jMrl6iCja1i3lg== +"@algolia/autocomplete-preset-algolia@1.7.1": + version "1.7.1" + resolved "https://registry.yarnpkg.com/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.7.1.tgz#7dadc5607097766478014ae2e9e1c9c4b3f957c8" + integrity sha512-pJwmIxeJCymU1M6cGujnaIYcY3QPOVYZOXhFkWVM7IxKzy272BwCvMFMyc5NpG/QmiObBxjo7myd060OeTNJXg== + dependencies: + "@algolia/autocomplete-shared" "1.7.1" + +"@algolia/autocomplete-shared@1.7.1": + version "1.7.1" + resolved "https://registry.yarnpkg.com/@algolia/autocomplete-shared/-/autocomplete-shared-1.7.1.tgz#95c3a0b4b78858fed730cf9c755b7d1cd0c82c74" + integrity sha512-eTmGVqY3GeyBTT8IWiB2K5EuURAqhnumfktAEoHxfDY2o7vg2rSnO16ZtIG0fMgt3py28Vwgq42/bVEuaQV7pg== "@algolia/cache-browser-local-storage@4.13.1": version "4.13.1" @@ -130,33 +137,33 @@ dependencies: "@jridgewell/trace-mapping" "^0.3.0" -"@babel/code-frame@*", "@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.16.0", "@babel/code-frame@^7.16.7", "@babel/code-frame@^7.8.3": +"@babel/code-frame@*", "@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.16.0", "@babel/code-frame@^7.16.7", "@babel/code-frame@^7.18.6", "@babel/code-frame@^7.8.3": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.18.6.tgz#3b25d38c89600baa2dcc219edfa88a74eb2c427a" integrity sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q== dependencies: "@babel/highlight" "^7.18.6" -"@babel/compat-data@^7.13.11", "@babel/compat-data@^7.17.10": - version "7.17.10" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.17.10.tgz#711dc726a492dfc8be8220028b1b92482362baab" - integrity sha512-GZt/TCsG70Ms19gfZO1tM4CVnXsPgEPBCpJu+Qz3L0LUDsY5nZqFZglIoPC1kIYOtNBZlrnFT+klg12vFGZXrw== +"@babel/compat-data@^7.17.7", "@babel/compat-data@^7.18.8": + version "7.18.8" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.18.8.tgz#2483f565faca607b8535590e84e7de323f27764d" + integrity sha512-HSmX4WZPPK3FUxYp7g2T6EyO8j96HlZJlxmKPSh6KAcqwyDrfx7hKjXpAW/0FhFfTJsR0Yt4lAjLI2coMptIHQ== -"@babel/core@*", "@babel/core@^7.11.6", "@babel/core@^7.12.3", "@babel/core@^7.15.5", "@babel/core@^7.18.2": - version "7.18.5" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.18.5.tgz#c597fa680e58d571c28dda9827669c78cdd7f000" - integrity sha512-MGY8vg3DxMnctw0LdvSEojOsumc70g0t18gNyUdAZqB1Rpd1Bqo/svHGvt+UJ6JcGX+DIekGFDxxIWofBxLCnQ== +"@babel/core@*", "@babel/core@^7.11.6", "@babel/core@^7.12.3", "@babel/core@^7.15.5", "@babel/core@^7.18.6": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.18.9.tgz#805461f967c77ff46c74ca0460ccf4fe933ddd59" + integrity sha512-1LIb1eL8APMy91/IMW+31ckrfBM4yCoLaVzoDhZUKSM4cu1L1nIidyxkCgzPAgrC5WEz36IPEr/eSeSF9pIn+g== dependencies: "@ampproject/remapping" "^2.1.0" - "@babel/code-frame" "^7.16.7" - "@babel/generator" "^7.18.2" - "@babel/helper-compilation-targets" "^7.18.2" - "@babel/helper-module-transforms" "^7.18.0" - "@babel/helpers" "^7.18.2" - "@babel/parser" "^7.18.5" - "@babel/template" "^7.16.7" - "@babel/traverse" "^7.18.5" - "@babel/types" "^7.18.4" + "@babel/code-frame" "^7.18.6" + "@babel/generator" "^7.18.9" + "@babel/helper-compilation-targets" "^7.18.9" + "@babel/helper-module-transforms" "^7.18.9" + "@babel/helpers" "^7.18.9" + "@babel/parser" "^7.18.9" + "@babel/template" "^7.18.6" + "@babel/traverse" "^7.18.9" + "@babel/types" "^7.18.9" convert-source-map "^1.7.0" debug "^4.1.0" gensync "^1.0.0-beta.2" @@ -194,221 +201,220 @@ eslint-visitor-keys "^2.1.0" semver "^6.3.0" -"@babel/generator@^7.12.5", "@babel/generator@^7.18.2", "@babel/generator@^7.7.2": - version "7.18.2" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.18.2.tgz#33873d6f89b21efe2da63fe554460f3df1c5880d" - integrity sha512-W1lG5vUwFvfMd8HVXqdfbuG7RuaSrTCCD8cl8fP8wOivdbtbIg2Db3IWUcgvfxKbbn6ZBGYRW/Zk1MIwK49mgw== +"@babel/generator@^7.12.5", "@babel/generator@^7.18.7", "@babel/generator@^7.18.9", "@babel/generator@^7.7.2": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.18.9.tgz#68337e9ea8044d6ddc690fb29acae39359cca0a5" + integrity sha512-wt5Naw6lJrL1/SGkipMiFxJjtyczUWTP38deiP1PO60HsBjDeKk08CGC3S8iVuvf0FmTdgKwU1KIXzSKL1G0Ug== dependencies: - "@babel/types" "^7.18.2" - "@jridgewell/gen-mapping" "^0.3.0" + "@babel/types" "^7.18.9" + "@jridgewell/gen-mapping" "^0.3.2" jsesc "^2.5.1" -"@babel/helper-annotate-as-pure@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz#bb2339a7534a9c128e3102024c60760a3a7f3862" - integrity sha512-s6t2w/IPQVTAET1HitoowRGXooX8mCgtuP5195wD/QJPV6wYjpujCGF7JuMODVX2ZAJOf1GT6DT9MHEZvLOFSw== +"@babel/helper-annotate-as-pure@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz#eaa49f6f80d5a33f9a5dd2276e6d6e451be0a6bb" + integrity sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA== dependencies: - "@babel/types" "^7.16.7" + "@babel/types" "^7.18.6" -"@babel/helper-builder-binary-assignment-operator-visitor@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.16.7.tgz#38d138561ea207f0f69eb1626a418e4f7e6a580b" - integrity sha512-C6FdbRaxYjwVu/geKW4ZeQ0Q31AftgRcdSnZ5/jsH6BzCJbtvXvhpfkbkThYSuutZA7nCXpPR6AD9zd1dprMkA== +"@babel/helper-builder-binary-assignment-operator-visitor@^7.18.6": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.18.9.tgz#acd4edfd7a566d1d51ea975dff38fd52906981bb" + integrity sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw== dependencies: - "@babel/helper-explode-assignable-expression" "^7.16.7" - "@babel/types" "^7.16.7" + "@babel/helper-explode-assignable-expression" "^7.18.6" + "@babel/types" "^7.18.9" -"@babel/helper-compilation-targets@^7.13.0", "@babel/helper-compilation-targets@^7.16.7", "@babel/helper-compilation-targets@^7.17.10", "@babel/helper-compilation-targets@^7.18.2": - version "7.18.2" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.18.2.tgz#67a85a10cbd5fc7f1457fec2e7f45441dc6c754b" - integrity sha512-s1jnPotJS9uQnzFtiZVBUxe67CuBa679oWFHpxYYnTpRL/1ffhyX44R9uYiXoa/pLXcY9H2moJta0iaanlk/rQ== +"@babel/helper-compilation-targets@^7.17.7", "@babel/helper-compilation-targets@^7.18.9": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.18.9.tgz#69e64f57b524cde3e5ff6cc5a9f4a387ee5563bf" + integrity sha512-tzLCyVmqUiFlcFoAPLA/gL9TeYrF61VLNtb+hvkuVaB5SUjW7jcfrglBIX1vUIoT7CLP3bBlIMeyEsIl2eFQNg== dependencies: - "@babel/compat-data" "^7.17.10" - "@babel/helper-validator-option" "^7.16.7" + "@babel/compat-data" "^7.18.8" + "@babel/helper-validator-option" "^7.18.6" browserslist "^4.20.2" semver "^6.3.0" -"@babel/helper-create-class-features-plugin@^7.17.12", "@babel/helper-create-class-features-plugin@^7.18.0": - version "7.18.0" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.18.0.tgz#fac430912606331cb075ea8d82f9a4c145a4da19" - integrity sha512-Kh8zTGR9de3J63e5nS0rQUdRs/kbtwoeQQ0sriS0lItjC96u8XXZN6lKpuyWd2coKSU13py/y+LTmThLuVX0Pg== - dependencies: - "@babel/helper-annotate-as-pure" "^7.16.7" - "@babel/helper-environment-visitor" "^7.16.7" - "@babel/helper-function-name" "^7.17.9" - "@babel/helper-member-expression-to-functions" "^7.17.7" - "@babel/helper-optimise-call-expression" "^7.16.7" - "@babel/helper-replace-supers" "^7.16.7" - "@babel/helper-split-export-declaration" "^7.16.7" - -"@babel/helper-create-regexp-features-plugin@^7.16.7", "@babel/helper-create-regexp-features-plugin@^7.17.12": - version "7.17.12" - resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.17.12.tgz#bb37ca467f9694bbe55b884ae7a5cc1e0084e4fd" - integrity sha512-b2aZrV4zvutr9AIa6/gA3wsZKRwTKYoDxYiFKcESS3Ug2GTXzwBEvMuuFLhCQpEnRXs1zng4ISAXSUxxKBIcxw== +"@babel/helper-create-class-features-plugin@^7.18.6": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.18.9.tgz#d802ee16a64a9e824fcbf0a2ffc92f19d58550ce" + integrity sha512-WvypNAYaVh23QcjpMR24CwZY2Nz6hqdOcFdPbNpV56hL5H6KiFheO7Xm1aPdlLQ7d5emYZX7VZwPp9x3z+2opw== + dependencies: + "@babel/helper-annotate-as-pure" "^7.18.6" + "@babel/helper-environment-visitor" "^7.18.9" + "@babel/helper-function-name" "^7.18.9" + "@babel/helper-member-expression-to-functions" "^7.18.9" + "@babel/helper-optimise-call-expression" "^7.18.6" + "@babel/helper-replace-supers" "^7.18.9" + "@babel/helper-split-export-declaration" "^7.18.6" + +"@babel/helper-create-regexp-features-plugin@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.18.6.tgz#3e35f4e04acbbf25f1b3534a657610a000543d3c" + integrity sha512-7LcpH1wnQLGrI+4v+nPp+zUvIkF9x0ddv1Hkdue10tg3gmRnLy97DXh4STiOf1qeIInyD69Qv5kKSZzKD8B/7A== dependencies: - "@babel/helper-annotate-as-pure" "^7.16.7" - regexpu-core "^5.0.1" + "@babel/helper-annotate-as-pure" "^7.18.6" + regexpu-core "^5.1.0" -"@babel/helper-define-polyfill-provider@^0.3.0", "@babel/helper-define-polyfill-provider@^0.3.1": - version "0.3.1" - resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.1.tgz#52411b445bdb2e676869e5a74960d2d3826d2665" - integrity sha512-J9hGMpJQmtWmj46B3kBHmL38UhJGhYX7eqkcq+2gsstyYt341HmPeWspihX43yVRA0mS+8GGk2Gckc7bY/HCmA== +"@babel/helper-define-polyfill-provider@^0.3.1", "@babel/helper-define-polyfill-provider@^0.3.2": + version "0.3.2" + resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.2.tgz#bd10d0aca18e8ce012755395b05a79f45eca5073" + integrity sha512-r9QJJ+uDWrd+94BSPcP6/de67ygLtvVy6cK4luE6MOuDsZIdoaPBnfSpbO/+LTifjPckbKXRuI9BB/Z2/y3iTg== dependencies: - "@babel/helper-compilation-targets" "^7.13.0" - "@babel/helper-module-imports" "^7.12.13" - "@babel/helper-plugin-utils" "^7.13.0" - "@babel/traverse" "^7.13.0" + "@babel/helper-compilation-targets" "^7.17.7" + "@babel/helper-plugin-utils" "^7.16.7" debug "^4.1.1" lodash.debounce "^4.0.8" resolve "^1.14.2" semver "^6.1.2" -"@babel/helper-environment-visitor@^7.16.7", "@babel/helper-environment-visitor@^7.18.2": - version "7.18.2" - resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.2.tgz#8a6d2dedb53f6bf248e31b4baf38739ee4a637bd" - integrity sha512-14GQKWkX9oJzPiQQ7/J36FTXcD4kSp8egKjO9nINlSKiHITRA9q/R74qu8S9xlc/b/yjsJItQUeeh3xnGN0voQ== +"@babel/helper-environment-visitor@^7.18.6", "@babel/helper-environment-visitor@^7.18.9": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz#0c0cee9b35d2ca190478756865bb3528422f51be" + integrity sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg== -"@babel/helper-explode-assignable-expression@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.16.7.tgz#12a6d8522fdd834f194e868af6354e8650242b7a" - integrity sha512-KyUenhWMC8VrxzkGP0Jizjo4/Zx+1nNZhgocs+gLzyZyB8SHidhoq9KK/8Ato4anhwsivfkBLftky7gvzbZMtQ== +"@babel/helper-explode-assignable-expression@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.18.6.tgz#41f8228ef0a6f1a036b8dfdfec7ce94f9a6bc096" + integrity sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg== dependencies: - "@babel/types" "^7.16.7" + "@babel/types" "^7.18.6" -"@babel/helper-function-name@^7.16.7", "@babel/helper-function-name@^7.17.9": - version "7.17.9" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.17.9.tgz#136fcd54bc1da82fcb47565cf16fd8e444b1ff12" - integrity sha512-7cRisGlVtiVqZ0MW0/yFB4atgpGLWEHUVYnb448hZK4x+vih0YO5UoS11XIYtZYqHd0dIPMdUSv8q5K4LdMnIg== +"@babel/helper-function-name@^7.18.9": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.18.9.tgz#940e6084a55dee867d33b4e487da2676365e86b0" + integrity sha512-fJgWlZt7nxGksJS9a0XdSaI4XvpExnNIgRP+rVefWh5U7BL8pPuir6SJUmFKRfjWQ51OtWSzwOxhaH/EBWWc0A== dependencies: - "@babel/template" "^7.16.7" - "@babel/types" "^7.17.0" + "@babel/template" "^7.18.6" + "@babel/types" "^7.18.9" -"@babel/helper-hoist-variables@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz#86bcb19a77a509c7b77d0e22323ef588fa58c246" - integrity sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg== +"@babel/helper-hoist-variables@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz#d4d2c8fb4baeaa5c68b99cc8245c56554f926678" + integrity sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q== dependencies: - "@babel/types" "^7.16.7" + "@babel/types" "^7.18.6" -"@babel/helper-member-expression-to-functions@^7.17.7": - version "7.17.7" - resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.17.7.tgz#a34013b57d8542a8c4ff8ba3f747c02452a4d8c4" - integrity sha512-thxXgnQ8qQ11W2wVUObIqDL4p148VMxkt5T/qpN5k2fboRyzFGFmKsTGViquyM5QHKUy48OZoca8kw4ajaDPyw== +"@babel/helper-member-expression-to-functions@^7.18.9": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.18.9.tgz#1531661e8375af843ad37ac692c132841e2fd815" + integrity sha512-RxifAh2ZoVU67PyKIO4AMi1wTenGfMR/O/ae0CCRqwgBAt5v7xjdtRw7UoSbsreKrQn5t7r89eruK/9JjYHuDg== dependencies: - "@babel/types" "^7.17.0" + "@babel/types" "^7.18.9" -"@babel/helper-module-imports@^7.12.13", "@babel/helper-module-imports@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz#25612a8091a999704461c8a222d0efec5d091437" - integrity sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg== +"@babel/helper-module-imports@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz#1e3ebdbbd08aad1437b428c50204db13c5a3ca6e" + integrity sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA== dependencies: - "@babel/types" "^7.16.7" + "@babel/types" "^7.18.6" -"@babel/helper-module-transforms@^7.12.1", "@babel/helper-module-transforms@^7.18.0": - version "7.18.0" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.18.0.tgz#baf05dec7a5875fb9235bd34ca18bad4e21221cd" - integrity sha512-kclUYSUBIjlvnzN2++K9f2qzYKFgjmnmjwL4zlmU5f8ZtzgWe8s0rUPSTGy2HmK4P8T52MQsS+HTQAgZd3dMEA== +"@babel/helper-module-transforms@^7.12.1", "@babel/helper-module-transforms@^7.18.6", "@babel/helper-module-transforms@^7.18.9": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.18.9.tgz#5a1079c005135ed627442df31a42887e80fcb712" + integrity sha512-KYNqY0ICwfv19b31XzvmI/mfcylOzbLtowkw+mfvGPAQ3kfCnMLYbED3YecL5tPd8nAYFQFAd6JHp2LxZk/J1g== dependencies: - "@babel/helper-environment-visitor" "^7.16.7" - "@babel/helper-module-imports" "^7.16.7" - "@babel/helper-simple-access" "^7.17.7" - "@babel/helper-split-export-declaration" "^7.16.7" - "@babel/helper-validator-identifier" "^7.16.7" - "@babel/template" "^7.16.7" - "@babel/traverse" "^7.18.0" - "@babel/types" "^7.18.0" + "@babel/helper-environment-visitor" "^7.18.9" + "@babel/helper-module-imports" "^7.18.6" + "@babel/helper-simple-access" "^7.18.6" + "@babel/helper-split-export-declaration" "^7.18.6" + "@babel/helper-validator-identifier" "^7.18.6" + "@babel/template" "^7.18.6" + "@babel/traverse" "^7.18.9" + "@babel/types" "^7.18.9" -"@babel/helper-optimise-call-expression@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.7.tgz#a34e3560605abbd31a18546bd2aad3e6d9a174f2" - integrity sha512-EtgBhg7rd/JcnpZFXpBy0ze1YRfdm7BnBX4uKMBd3ixa3RGAE002JZB66FJyNH7g0F38U05pXmA5P8cBh7z+1w== +"@babel/helper-optimise-call-expression@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz#9369aa943ee7da47edab2cb4e838acf09d290ffe" + integrity sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA== dependencies: - "@babel/types" "^7.16.7" + "@babel/types" "^7.18.6" "@babel/helper-plugin-utils@7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz#2f75a831269d4f677de49986dff59927533cf375" integrity sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg== -"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.13.0", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.16.7", "@babel/helper-plugin-utils@^7.17.12", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": - version "7.17.12" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.17.12.tgz#86c2347da5acbf5583ba0a10aed4c9bf9da9cf96" - integrity sha512-JDkf04mqtN3y4iAbO1hv9U2ARpPyPL1zqyWs/2WG1pgSq9llHFjStX5jdxb84himgJm+8Ng+x0oiWF/nw/XQKA== +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.16.7", "@babel/helper-plugin-utils@^7.17.12", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.18.9", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.18.9.tgz#4b8aea3b069d8cb8a72cdfe28ddf5ceca695ef2f" + integrity sha512-aBXPT3bmtLryXaoJLyYPXPlSD4p1ld9aYeR+sJNOZjJJGiOpb+fKfh3NkcCu7J54nUJwCERPBExCCpyCOHnu/w== -"@babel/helper-remap-async-to-generator@^7.16.8": - version "7.16.8" - resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.16.8.tgz#29ffaade68a367e2ed09c90901986918d25e57e3" - integrity sha512-fm0gH7Flb8H51LqJHy3HJ3wnE1+qtYR2A99K06ahwrawLdOFsCEWjZOrYricXJHoPSudNKxrMBUPEIPxiIIvBw== +"@babel/helper-remap-async-to-generator@^7.18.6": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz#997458a0e3357080e54e1d79ec347f8a8cd28519" + integrity sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA== dependencies: - "@babel/helper-annotate-as-pure" "^7.16.7" - "@babel/helper-wrap-function" "^7.16.8" - "@babel/types" "^7.16.8" + "@babel/helper-annotate-as-pure" "^7.18.6" + "@babel/helper-environment-visitor" "^7.18.9" + "@babel/helper-wrap-function" "^7.18.9" + "@babel/types" "^7.18.9" -"@babel/helper-replace-supers@^7.16.7": - version "7.18.2" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.18.2.tgz#41fdfcc9abaf900e18ba6e5931816d9062a7b2e0" - integrity sha512-XzAIyxx+vFnrOxiQrToSUOzUOn0e1J2Li40ntddek1Y69AXUTXoDJ40/D5RdjFu7s7qHiaeoTiempZcbuVXh2Q== +"@babel/helper-replace-supers@^7.18.6", "@babel/helper-replace-supers@^7.18.9": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.18.9.tgz#1092e002feca980fbbb0bd4d51b74a65c6a500e6" + integrity sha512-dNsWibVI4lNT6HiuOIBr1oyxo40HvIVmbwPUm3XZ7wMh4k2WxrxTqZwSqw/eEmXDS9np0ey5M2bz9tBmO9c+YQ== dependencies: - "@babel/helper-environment-visitor" "^7.18.2" - "@babel/helper-member-expression-to-functions" "^7.17.7" - "@babel/helper-optimise-call-expression" "^7.16.7" - "@babel/traverse" "^7.18.2" - "@babel/types" "^7.18.2" + "@babel/helper-environment-visitor" "^7.18.9" + "@babel/helper-member-expression-to-functions" "^7.18.9" + "@babel/helper-optimise-call-expression" "^7.18.6" + "@babel/traverse" "^7.18.9" + "@babel/types" "^7.18.9" -"@babel/helper-simple-access@^7.17.7", "@babel/helper-simple-access@^7.18.2": - version "7.18.2" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.18.2.tgz#4dc473c2169ac3a1c9f4a51cfcd091d1c36fcff9" - integrity sha512-7LIrjYzndorDY88MycupkpQLKS1AFfsVRm2k/9PtKScSy5tZq0McZTj+DiMRynboZfIqOKvo03pmhTaUgiD6fQ== +"@babel/helper-simple-access@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.18.6.tgz#d6d8f51f4ac2978068df934b569f08f29788c7ea" + integrity sha512-iNpIgTgyAvDQpDj76POqg+YEt8fPxx3yaNBg3S30dxNKm2SWfYhD0TGrK/Eu9wHpUW63VQU894TsTg+GLbUa1g== dependencies: - "@babel/types" "^7.18.2" + "@babel/types" "^7.18.6" -"@babel/helper-skip-transparent-expression-wrappers@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.16.0.tgz#0ee3388070147c3ae051e487eca3ebb0e2e8bb09" - integrity sha512-+il1gTy0oHwUsBQZyJvukbB4vPMdcYBrFHa0Uc4AizLxbq6BOYC51Rv4tWocX9BLBDLZ4kc6qUFpQ6HRgL+3zw== +"@babel/helper-skip-transparent-expression-wrappers@^7.18.9": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.18.9.tgz#778d87b3a758d90b471e7b9918f34a9a02eb5818" + integrity sha512-imytd2gHi3cJPsybLRbmFrF7u5BIEuI2cNheyKi3/iOBC63kNn3q8Crn2xVuESli0aM4KYsyEqKyS7lFL8YVtw== dependencies: - "@babel/types" "^7.16.0" + "@babel/types" "^7.18.9" -"@babel/helper-split-export-declaration@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz#0b648c0c42da9d3920d85ad585f2778620b8726b" - integrity sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw== +"@babel/helper-split-export-declaration@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz#7367949bc75b20c6d5a5d4a97bba2824ae8ef075" + integrity sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA== dependencies: - "@babel/types" "^7.16.7" + "@babel/types" "^7.18.6" "@babel/helper-string-parser@^7.18.10": version "7.18.10" resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.18.10.tgz#181f22d28ebe1b3857fa575f5c290b1aaf659b56" integrity sha512-XtIfWmeNY3i4t7t4D2t02q50HvqHybPqW2ki1kosnvWCwuCMeo81Jf0gwr85jy/neUdg5XDdeFE/80DXiO+njw== -"@babel/helper-validator-identifier@^7.16.7", "@babel/helper-validator-identifier@^7.18.6": +"@babel/helper-validator-identifier@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz#9c97e30d31b2b8c72a1d08984f2ca9b574d7a076" integrity sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g== -"@babel/helper-validator-option@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz#b203ce62ce5fe153899b617c08957de860de4d23" - integrity sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ== +"@babel/helper-validator-option@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz#bf0d2b5a509b1f336099e4ff36e1a63aa5db4db8" + integrity sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw== -"@babel/helper-wrap-function@^7.16.8": - version "7.16.8" - resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.16.8.tgz#58afda087c4cd235de92f7ceedebca2c41274200" - integrity sha512-8RpyRVIAW1RcDDGTA+GpPAwV22wXCfKOoM9bet6TLkGIFTkRQSkH1nMQ5Yet4MpoXe1ZwHPVtNasc2w0uZMqnw== +"@babel/helper-wrap-function@^7.18.9": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.18.9.tgz#ae1feddc6ebbaa2fd79346b77821c3bd73a39646" + integrity sha512-cG2ru3TRAL6a60tfQflpEfs4ldiPwF6YW3zfJiRgmoFVIaC1vGnBBgatfec+ZUziPHkHSaXAuEck3Cdkf3eRpQ== dependencies: - "@babel/helper-function-name" "^7.16.7" - "@babel/template" "^7.16.7" - "@babel/traverse" "^7.16.8" - "@babel/types" "^7.16.8" + "@babel/helper-function-name" "^7.18.9" + "@babel/template" "^7.18.6" + "@babel/traverse" "^7.18.9" + "@babel/types" "^7.18.9" -"@babel/helpers@^7.12.5", "@babel/helpers@^7.18.2": - version "7.18.2" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.18.2.tgz#970d74f0deadc3f5a938bfa250738eb4ac889384" - integrity sha512-j+d+u5xT5utcQSzrh9p+PaJX94h++KN+ng9b9WEJq7pkUPAd61FGqhjuUEdfknb3E/uDBb7ruwEeKkIxNJPIrg== +"@babel/helpers@^7.12.5", "@babel/helpers@^7.18.9": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.18.9.tgz#4bef3b893f253a1eced04516824ede94dcfe7ff9" + integrity sha512-Jf5a+rbrLoR4eNdUmnFu8cN5eNJT6qdTdOg5IHIzq87WwyRw9PwguLFOWYgktN/60IP4fgDUawJvs7PjQIzELQ== dependencies: - "@babel/template" "^7.16.7" - "@babel/traverse" "^7.18.2" - "@babel/types" "^7.18.2" + "@babel/template" "^7.18.6" + "@babel/traverse" "^7.18.9" + "@babel/types" "^7.18.9" "@babel/highlight@^7.18.6": version "7.18.6" @@ -419,99 +425,100 @@ chalk "^2.0.0" js-tokens "^4.0.0" -"@babel/parser@*", "@babel/parser@^7.1.0", "@babel/parser@^7.12.7", "@babel/parser@^7.14.7", "@babel/parser@^7.16.7", "@babel/parser@^7.18.0", "@babel/parser@^7.18.3", "@babel/parser@^7.18.5": - version "7.18.5" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.18.5.tgz#337062363436a893a2d22faa60be5bb37091c83c" - integrity sha512-YZWVaglMiplo7v8f1oMQ5ZPQr0vn7HPeZXxXWsxXJRjGVrzUFn9OxFQl1sb5wzfootjA/yChhW84BV+383FSOw== +"@babel/parser@*", "@babel/parser@^7.1.0", "@babel/parser@^7.12.7", "@babel/parser@^7.14.7", "@babel/parser@^7.18.0", "@babel/parser@^7.18.6", "@babel/parser@^7.18.8", "@babel/parser@^7.18.9": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.18.9.tgz#f2dde0c682ccc264a9a8595efd030a5cc8fd2539" + integrity sha512-9uJveS9eY9DJ0t64YbIBZICtJy8a5QrDEVdiLCG97fVLpDTpGX7t8mMSb6OWw6Lrnjqj4O8zwjELX3dhoMgiBg== -"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.17.12": - version "7.17.12" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.17.12.tgz#1dca338caaefca368639c9ffb095afbd4d420b1e" - integrity sha512-xCJQXl4EeQ3J9C4yOmpTrtVGmzpm2iSzyxbkZHw7UCnZBftHpF/hpII80uWVyVrc40ytIClHjgWGTG1g/yB+aw== +"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6.tgz#da5b8f9a580acdfbe53494dba45ea389fb09a4d2" + integrity sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ== dependencies: - "@babel/helper-plugin-utils" "^7.17.12" + "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.17.12": - version "7.17.12" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.17.12.tgz#0d498ec8f0374b1e2eb54b9cb2c4c78714c77753" - integrity sha512-/vt0hpIw0x4b6BLKUkwlvEoiGZYYLNZ96CzyHYPbtG2jZGz6LBe7/V+drYrc/d+ovrF9NBi0pmtvmNb/FsWtRQ== +"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.18.9": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.18.9.tgz#a11af19aa373d68d561f08e0a57242350ed0ec50" + integrity sha512-AHrP9jadvH7qlOj6PINbgSuphjQUAK7AOT7DPjBo9EHoLhQTnnK5u45e1Hd4DbSQEO9nqPWtQ89r+XEOWFScKg== dependencies: - "@babel/helper-plugin-utils" "^7.17.12" - "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0" - "@babel/plugin-proposal-optional-chaining" "^7.17.12" + "@babel/helper-plugin-utils" "^7.18.9" + "@babel/helper-skip-transparent-expression-wrappers" "^7.18.9" + "@babel/plugin-proposal-optional-chaining" "^7.18.9" -"@babel/plugin-proposal-async-generator-functions@^7.17.12": - version "7.17.12" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.17.12.tgz#094a417e31ce7e692d84bab06c8e2a607cbeef03" - integrity sha512-RWVvqD1ooLKP6IqWTA5GyFVX2isGEgC5iFxKzfYOIy/QEFdxYyCybBDtIGjipHpb9bDWHzcqGqFakf+mVmBTdQ== +"@babel/plugin-proposal-async-generator-functions@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.18.6.tgz#aedac81e6fc12bb643374656dd5f2605bf743d17" + integrity sha512-WAz4R9bvozx4qwf74M+sfqPMKfSqwM0phxPTR6iJIi8robgzXwkEgmeJG1gEKhm6sDqT/U9aV3lfcqybIpev8w== dependencies: - "@babel/helper-plugin-utils" "^7.17.12" - "@babel/helper-remap-async-to-generator" "^7.16.8" + "@babel/helper-environment-visitor" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-remap-async-to-generator" "^7.18.6" "@babel/plugin-syntax-async-generators" "^7.8.4" -"@babel/plugin-proposal-class-properties@^7.17.12": - version "7.17.12" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.17.12.tgz#84f65c0cc247d46f40a6da99aadd6438315d80a4" - integrity sha512-U0mI9q8pW5Q9EaTHFPwSVusPMV/DV9Mm8p7csqROFLtIE9rBF5piLqyrBGigftALrBcsBGu4m38JneAe7ZDLXw== +"@babel/plugin-proposal-class-properties@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz#b110f59741895f7ec21a6fff696ec46265c446a3" + integrity sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ== dependencies: - "@babel/helper-create-class-features-plugin" "^7.17.12" - "@babel/helper-plugin-utils" "^7.17.12" + "@babel/helper-create-class-features-plugin" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-proposal-class-static-block@^7.18.0": - version "7.18.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.18.0.tgz#7d02253156e3c3793bdb9f2faac3a1c05f0ba710" - integrity sha512-t+8LsRMMDE74c6sV7KShIw13sqbqd58tlqNrsWoWBTIMw7SVQ0cZ905wLNS/FBCy/3PyooRHLFFlfrUNyyz5lA== +"@babel/plugin-proposal-class-static-block@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.18.6.tgz#8aa81d403ab72d3962fc06c26e222dacfc9b9020" + integrity sha512-+I3oIiNxrCpup3Gi8n5IGMwj0gOCAjcJUSQEcotNnCCPMEnixawOQ+KeJPlgfjzx+FKQ1QSyZOWe7wmoJp7vhw== dependencies: - "@babel/helper-create-class-features-plugin" "^7.18.0" - "@babel/helper-plugin-utils" "^7.17.12" + "@babel/helper-create-class-features-plugin" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-syntax-class-static-block" "^7.14.5" -"@babel/plugin-proposal-dynamic-import@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.16.7.tgz#c19c897eaa46b27634a00fee9fb7d829158704b2" - integrity sha512-I8SW9Ho3/8DRSdmDdH3gORdyUuYnk1m4cMxUAdu5oy4n3OfN8flDEH+d60iG7dUfi0KkYwSvoalHzzdRzpWHTg== +"@babel/plugin-proposal-dynamic-import@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz#72bcf8d408799f547d759298c3c27c7e7faa4d94" + integrity sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw== dependencies: - "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-syntax-dynamic-import" "^7.8.3" -"@babel/plugin-proposal-export-namespace-from@^7.17.12": - version "7.17.12" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.17.12.tgz#b22864ccd662db9606edb2287ea5fd1709f05378" - integrity sha512-j7Ye5EWdwoXOpRmo5QmRyHPsDIe6+u70ZYZrd7uz+ebPYFKfRcLcNu3Ro0vOlJ5zuv8rU7xa+GttNiRzX56snQ== +"@babel/plugin-proposal-export-namespace-from@^7.18.9": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz#5f7313ab348cdb19d590145f9247540e94761203" + integrity sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA== dependencies: - "@babel/helper-plugin-utils" "^7.17.12" + "@babel/helper-plugin-utils" "^7.18.9" "@babel/plugin-syntax-export-namespace-from" "^7.8.3" -"@babel/plugin-proposal-json-strings@^7.17.12": - version "7.17.12" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.17.12.tgz#f4642951792437233216d8c1af370bb0fbff4664" - integrity sha512-rKJ+rKBoXwLnIn7n6o6fulViHMrOThz99ybH+hKHcOZbnN14VuMnH9fo2eHE69C8pO4uX1Q7t2HYYIDmv8VYkg== +"@babel/plugin-proposal-json-strings@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz#7e8788c1811c393aff762817e7dbf1ebd0c05f0b" + integrity sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ== dependencies: - "@babel/helper-plugin-utils" "^7.17.12" + "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-syntax-json-strings" "^7.8.3" -"@babel/plugin-proposal-logical-assignment-operators@^7.17.12": - version "7.17.12" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.17.12.tgz#c64a1bcb2b0a6d0ed2ff674fd120f90ee4b88a23" - integrity sha512-EqFo2s1Z5yy+JeJu7SFfbIUtToJTVlC61/C7WLKDntSw4Sz6JNAIfL7zQ74VvirxpjB5kz/kIx0gCcb+5OEo2Q== +"@babel/plugin-proposal-logical-assignment-operators@^7.18.9": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.18.9.tgz#8148cbb350483bf6220af06fa6db3690e14b2e23" + integrity sha512-128YbMpjCrP35IOExw2Fq+x55LMP42DzhOhX2aNNIdI9avSWl2PI0yuBWarr3RYpZBSPtabfadkH2yeRiMD61Q== dependencies: - "@babel/helper-plugin-utils" "^7.17.12" + "@babel/helper-plugin-utils" "^7.18.9" "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" -"@babel/plugin-proposal-nullish-coalescing-operator@^7.17.12": - version "7.17.12" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.17.12.tgz#1e93079bbc2cbc756f6db6a1925157c4a92b94be" - integrity sha512-ws/g3FSGVzv+VH86+QvgtuJL/kR67xaEIF2x0iPqdDfYW6ra6JF3lKVBkWynRLcNtIC1oCTfDRVxmm2mKzy+ag== +"@babel/plugin-proposal-nullish-coalescing-operator@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz#fdd940a99a740e577d6c753ab6fbb43fdb9467e1" + integrity sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA== dependencies: - "@babel/helper-plugin-utils" "^7.17.12" + "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" -"@babel/plugin-proposal-numeric-separator@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.16.7.tgz#d6b69f4af63fb38b6ca2558442a7fb191236eba9" - integrity sha512-vQgPMknOIgiuVqbokToyXbkY/OmmjAzr/0lhSIbG/KmnzXPGwW/AdhdKpi+O4X/VkWiWjnkKOBiqJrTaC98VKw== +"@babel/plugin-proposal-numeric-separator@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz#899b14fbafe87f053d2c5ff05b36029c62e13c75" + integrity sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q== dependencies: - "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-syntax-numeric-separator" "^7.10.4" "@babel/plugin-proposal-object-rest-spread@7.12.1": @@ -523,59 +530,59 @@ "@babel/plugin-syntax-object-rest-spread" "^7.8.0" "@babel/plugin-transform-parameters" "^7.12.1" -"@babel/plugin-proposal-object-rest-spread@^7.18.0": - version "7.18.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.18.0.tgz#79f2390c892ba2a68ec112eb0d895cfbd11155e8" - integrity sha512-nbTv371eTrFabDfHLElkn9oyf9VG+VKK6WMzhY2o4eHKaG19BToD9947zzGMO6I/Irstx9d8CwX6njPNIAR/yw== +"@babel/plugin-proposal-object-rest-spread@^7.18.9": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.18.9.tgz#f9434f6beb2c8cae9dfcf97d2a5941bbbf9ad4e7" + integrity sha512-kDDHQ5rflIeY5xl69CEqGEZ0KY369ehsCIEbTGb4siHG5BE9sga/T0r0OUwyZNLMmZE79E1kbsqAjwFCW4ds6Q== dependencies: - "@babel/compat-data" "^7.17.10" - "@babel/helper-compilation-targets" "^7.17.10" - "@babel/helper-plugin-utils" "^7.17.12" + "@babel/compat-data" "^7.18.8" + "@babel/helper-compilation-targets" "^7.18.9" + "@babel/helper-plugin-utils" "^7.18.9" "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-transform-parameters" "^7.17.12" + "@babel/plugin-transform-parameters" "^7.18.8" -"@babel/plugin-proposal-optional-catch-binding@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.16.7.tgz#c623a430674ffc4ab732fd0a0ae7722b67cb74cf" - integrity sha512-eMOH/L4OvWSZAE1VkHbr1vckLG1WUcHGJSLqqQwl2GaUqG6QjddvrOaTUMNYiv77H5IKPMZ9U9P7EaHwvAShfA== +"@babel/plugin-proposal-optional-catch-binding@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz#f9400d0e6a3ea93ba9ef70b09e72dd6da638a2cb" + integrity sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw== dependencies: - "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" -"@babel/plugin-proposal-optional-chaining@^7.17.12": - version "7.17.12" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.17.12.tgz#f96949e9bacace3a9066323a5cf90cfb9de67174" - integrity sha512-7wigcOs/Z4YWlK7xxjkvaIw84vGhDv/P1dFGQap0nHkc8gFKY/r+hXc8Qzf5k1gY7CvGIcHqAnOagVKJJ1wVOQ== +"@babel/plugin-proposal-optional-chaining@^7.18.9": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.18.9.tgz#e8e8fe0723f2563960e4bf5e9690933691915993" + integrity sha512-v5nwt4IqBXihxGsW2QmCWMDS3B3bzGIk/EQVZz2ei7f3NJl8NzAJVvUmpDW5q1CRNY+Beb/k58UAH1Km1N411w== dependencies: - "@babel/helper-plugin-utils" "^7.17.12" - "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0" + "@babel/helper-plugin-utils" "^7.18.9" + "@babel/helper-skip-transparent-expression-wrappers" "^7.18.9" "@babel/plugin-syntax-optional-chaining" "^7.8.3" -"@babel/plugin-proposal-private-methods@^7.17.12": - version "7.17.12" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.17.12.tgz#c2ca3a80beb7539289938da005ad525a038a819c" - integrity sha512-SllXoxo19HmxhDWm3luPz+cPhtoTSKLJE9PXshsfrOzBqs60QP0r8OaJItrPhAj0d7mZMnNF0Y1UUggCDgMz1A== +"@babel/plugin-proposal-private-methods@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz#5209de7d213457548a98436fa2882f52f4be6bea" + integrity sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA== dependencies: - "@babel/helper-create-class-features-plugin" "^7.17.12" - "@babel/helper-plugin-utils" "^7.17.12" + "@babel/helper-create-class-features-plugin" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-proposal-private-property-in-object@^7.17.12": - version "7.17.12" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.17.12.tgz#b02efb7f106d544667d91ae97405a9fd8c93952d" - integrity sha512-/6BtVi57CJfrtDNKfK5b66ydK2J5pXUKBKSPD2G1whamMuEnZWgoOIfO8Vf9F/DoD4izBLD/Au4NMQfruzzykg== +"@babel/plugin-proposal-private-property-in-object@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.18.6.tgz#a64137b232f0aca3733a67eb1a144c192389c503" + integrity sha512-9Rysx7FOctvT5ouj5JODjAFAkgGoudQuLPamZb0v1TGLpapdNaftzifU8NTWQm0IRjqoYypdrSmyWgkocDQ8Dw== dependencies: - "@babel/helper-annotate-as-pure" "^7.16.7" - "@babel/helper-create-class-features-plugin" "^7.17.12" - "@babel/helper-plugin-utils" "^7.17.12" + "@babel/helper-annotate-as-pure" "^7.18.6" + "@babel/helper-create-class-features-plugin" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-syntax-private-property-in-object" "^7.14.5" -"@babel/plugin-proposal-unicode-property-regex@^7.17.12", "@babel/plugin-proposal-unicode-property-regex@^7.4.4": - version "7.17.12" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.17.12.tgz#3dbd7a67bd7f94c8238b394da112d86aaf32ad4d" - integrity sha512-Wb9qLjXf3ZazqXA7IvI7ozqRIXIGPtSo+L5coFmEkhTQK18ao4UDDD0zdTGAarmbLj2urpRwrc6893cu5Bfh0A== +"@babel/plugin-proposal-unicode-property-regex@^7.18.6", "@babel/plugin-proposal-unicode-property-regex@^7.4.4": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz#af613d2cd5e643643b65cded64207b15c85cb78e" + integrity sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.17.12" - "@babel/helper-plugin-utils" "^7.17.12" + "@babel/helper-create-regexp-features-plugin" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-syntax-async-generators@^7.8.4": version "7.8.4" @@ -619,12 +626,12 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-syntax-import-assertions@^7.17.12": - version "7.17.12" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.17.12.tgz#58096a92b11b2e4e54b24c6a0cc0e5e607abcedd" - integrity sha512-n/loy2zkq9ZEM8tEOwON9wTQSTNDTDEz6NujPtJGLU7qObzT1N4c4YZZf8E6ATB2AjNQg/Ib2AIpO03EZaCehw== +"@babel/plugin-syntax-import-assertions@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.18.6.tgz#cd6190500a4fa2fe31990a963ffab4b63e4505e4" + integrity sha512-/DU3RXad9+bZwrgWJQKbr39gYbJpLJHezqEzRzi/BHRlJ9zsQb4CK2CA/5apllXNomwA1qHwzvHl+AdEmC5krQ== dependencies: - "@babel/helper-plugin-utils" "^7.17.12" + "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-syntax-import-meta@^7.8.3": version "7.10.4" @@ -647,12 +654,12 @@ dependencies: "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-syntax-jsx@^7.17.12": - version "7.17.12" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.17.12.tgz#834035b45061983a491f60096f61a2e7c5674a47" - integrity sha512-spyY3E3AURfxh/RHtjx5j6hs8am5NbUBGfcZ2vB3uShSpZdQyXSf5rR5Mk76vbtlAZOelyVQ71Fg0x9SG4fsog== +"@babel/plugin-syntax-jsx@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.18.6.tgz#a8feef63b010150abd97f1649ec296e849943ca0" + integrity sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q== dependencies: - "@babel/helper-plugin-utils" "^7.17.12" + "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-syntax-logical-assignment-operators@^7.10.4", "@babel/plugin-syntax-logical-assignment-operators@^7.8.3": version "7.10.4" @@ -710,198 +717,198 @@ dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-syntax-typescript@^7.17.12", "@babel/plugin-syntax-typescript@^7.7.2": - version "7.17.12" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.17.12.tgz#b54fc3be6de734a56b87508f99d6428b5b605a7b" - integrity sha512-TYY0SXFiO31YXtNg3HtFwNJHjLsAyIIhAhNWkQ5whPPS7HWUFlg9z0Ta4qAQNjQbP1wsSt/oKkmZ/4/WWdMUpw== +"@babel/plugin-syntax-typescript@^7.18.6", "@babel/plugin-syntax-typescript@^7.7.2": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.18.6.tgz#1c09cd25795c7c2b8a4ba9ae49394576d4133285" + integrity sha512-mAWAuq4rvOepWCBid55JuRNvpTNf2UGVgoz4JV0fXEKolsVZDzsa4NqCef758WZJj/GDu0gVGItjKFiClTAmZA== dependencies: - "@babel/helper-plugin-utils" "^7.17.12" + "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-arrow-functions@^7.17.12": - version "7.17.12" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.17.12.tgz#dddd783b473b1b1537ef46423e3944ff24898c45" - integrity sha512-PHln3CNi/49V+mza4xMwrg+WGYevSF1oaiXaC2EQfdp4HWlSjRsrDXWJiQBKpP7749u6vQ9mcry2uuFOv5CXvA== +"@babel/plugin-transform-arrow-functions@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.18.6.tgz#19063fcf8771ec7b31d742339dac62433d0611fe" + integrity sha512-9S9X9RUefzrsHZmKMbDXxweEH+YlE8JJEuat9FdvW9Qh1cw7W64jELCtWNkPBPX5En45uy28KGvA/AySqUh8CQ== dependencies: - "@babel/helper-plugin-utils" "^7.17.12" + "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-async-to-generator@^7.17.12": - version "7.17.12" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.17.12.tgz#dbe5511e6b01eee1496c944e35cdfe3f58050832" - integrity sha512-J8dbrWIOO3orDzir57NRsjg4uxucvhby0L/KZuGsWDj0g7twWK3g7JhJhOrXtuXiw8MeiSdJ3E0OW9H8LYEzLQ== +"@babel/plugin-transform-async-to-generator@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.18.6.tgz#ccda3d1ab9d5ced5265fdb13f1882d5476c71615" + integrity sha512-ARE5wZLKnTgPW7/1ftQmSi1CmkqqHo2DNmtztFhvgtOWSDfq0Cq9/9L+KnZNYSNrydBekhW3rwShduf59RoXag== dependencies: - "@babel/helper-module-imports" "^7.16.7" - "@babel/helper-plugin-utils" "^7.17.12" - "@babel/helper-remap-async-to-generator" "^7.16.8" + "@babel/helper-module-imports" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-remap-async-to-generator" "^7.18.6" -"@babel/plugin-transform-block-scoped-functions@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.16.7.tgz#4d0d57d9632ef6062cdf354bb717102ee042a620" - integrity sha512-JUuzlzmF40Z9cXyytcbZEZKckgrQzChbQJw/5PuEHYeqzCsvebDx0K0jWnIIVcmmDOAVctCgnYs0pMcrYj2zJg== +"@babel/plugin-transform-block-scoped-functions@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz#9187bf4ba302635b9d70d986ad70f038726216a8" + integrity sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ== dependencies: - "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-block-scoping@^7.17.12": - version "7.17.12" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.17.12.tgz#68fc3c4b3bb7dfd809d97b7ed19a584052a2725c" - integrity sha512-jw8XW/B1i7Lqwqj2CbrViPcZijSxfguBWZP2aN59NHgxUyO/OcO1mfdCxH13QhN5LbWhPkX+f+brKGhZTiqtZQ== +"@babel/plugin-transform-block-scoping@^7.18.9": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.18.9.tgz#f9b7e018ac3f373c81452d6ada8bd5a18928926d" + integrity sha512-5sDIJRV1KtQVEbt/EIBwGy4T01uYIo4KRB3VUqzkhrAIOGx7AoctL9+Ux88btY0zXdDyPJ9mW+bg+v+XEkGmtw== dependencies: - "@babel/helper-plugin-utils" "^7.17.12" + "@babel/helper-plugin-utils" "^7.18.9" -"@babel/plugin-transform-classes@^7.17.12": - version "7.17.12" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.17.12.tgz#da889e89a4d38375eeb24985218edeab93af4f29" - integrity sha512-cvO7lc7pZat6BsvH6l/EGaI8zpl8paICaoGk+7x7guvtfak/TbIf66nYmJOH13EuG0H+Xx3M+9LQDtSvZFKXKw== - dependencies: - "@babel/helper-annotate-as-pure" "^7.16.7" - "@babel/helper-environment-visitor" "^7.16.7" - "@babel/helper-function-name" "^7.17.9" - "@babel/helper-optimise-call-expression" "^7.16.7" - "@babel/helper-plugin-utils" "^7.17.12" - "@babel/helper-replace-supers" "^7.16.7" - "@babel/helper-split-export-declaration" "^7.16.7" +"@babel/plugin-transform-classes@^7.18.9": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.18.9.tgz#90818efc5b9746879b869d5ce83eb2aa48bbc3da" + integrity sha512-EkRQxsxoytpTlKJmSPYrsOMjCILacAjtSVkd4gChEe2kXjFCun3yohhW5I7plXJhCemM0gKsaGMcO8tinvCA5g== + dependencies: + "@babel/helper-annotate-as-pure" "^7.18.6" + "@babel/helper-environment-visitor" "^7.18.9" + "@babel/helper-function-name" "^7.18.9" + "@babel/helper-optimise-call-expression" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.9" + "@babel/helper-replace-supers" "^7.18.9" + "@babel/helper-split-export-declaration" "^7.18.6" globals "^11.1.0" -"@babel/plugin-transform-computed-properties@^7.17.12": - version "7.17.12" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.17.12.tgz#bca616a83679698f3258e892ed422546e531387f" - integrity sha512-a7XINeplB5cQUWMg1E/GI1tFz3LfK021IjV1rj1ypE+R7jHm+pIHmHl25VNkZxtx9uuYp7ThGk8fur1HHG7PgQ== +"@babel/plugin-transform-computed-properties@^7.18.9": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.18.9.tgz#2357a8224d402dad623caf6259b611e56aec746e" + integrity sha512-+i0ZU1bCDymKakLxn5srGHrsAPRELC2WIbzwjLhHW9SIE1cPYkLCL0NlnXMZaM1vhfgA2+M7hySk42VBvrkBRw== dependencies: - "@babel/helper-plugin-utils" "^7.17.12" + "@babel/helper-plugin-utils" "^7.18.9" -"@babel/plugin-transform-destructuring@^7.18.0": - version "7.18.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.18.0.tgz#dc4f92587e291b4daa78aa20cc2d7a63aa11e858" - integrity sha512-Mo69klS79z6KEfrLg/1WkmVnB8javh75HX4pi2btjvlIoasuxilEyjtsQW6XPrubNd7AQy0MMaNIaQE4e7+PQw== +"@babel/plugin-transform-destructuring@^7.18.9": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.18.9.tgz#68906549c021cb231bee1db21d3b5b095f8ee292" + integrity sha512-p5VCYNddPLkZTq4XymQIaIfZNJwT9YsjkPOhkVEqt6QIpQFZVM9IltqqYpOEkJoN1DPznmxUDyZ5CTZs/ZCuHA== dependencies: - "@babel/helper-plugin-utils" "^7.17.12" + "@babel/helper-plugin-utils" "^7.18.9" -"@babel/plugin-transform-dotall-regex@^7.16.7", "@babel/plugin-transform-dotall-regex@^7.4.4": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.16.7.tgz#6b2d67686fab15fb6a7fd4bd895d5982cfc81241" - integrity sha512-Lyttaao2SjZF6Pf4vk1dVKv8YypMpomAbygW+mU5cYP3S5cWTfCJjG8xV6CFdzGFlfWK81IjL9viiTvpb6G7gQ== +"@babel/plugin-transform-dotall-regex@^7.18.6", "@babel/plugin-transform-dotall-regex@^7.4.4": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz#b286b3e7aae6c7b861e45bed0a2fafd6b1a4fef8" + integrity sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-create-regexp-features-plugin" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-duplicate-keys@^7.17.12": - version "7.17.12" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.17.12.tgz#a09aa709a3310013f8e48e0e23bc7ace0f21477c" - integrity sha512-EA5eYFUG6xeerdabina/xIoB95jJ17mAkR8ivx6ZSu9frKShBjpOGZPn511MTDTkiCO+zXnzNczvUM69YSf3Zw== +"@babel/plugin-transform-duplicate-keys@^7.18.9": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.9.tgz#687f15ee3cdad6d85191eb2a372c4528eaa0ae0e" + integrity sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw== dependencies: - "@babel/helper-plugin-utils" "^7.17.12" + "@babel/helper-plugin-utils" "^7.18.9" -"@babel/plugin-transform-exponentiation-operator@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.16.7.tgz#efa9862ef97e9e9e5f653f6ddc7b665e8536fe9b" - integrity sha512-8UYLSlyLgRixQvlYH3J2ekXFHDFLQutdy7FfFAMm3CPZ6q9wHCwnUyiXpQCe3gVVnQlHc5nsuiEVziteRNTXEA== +"@babel/plugin-transform-exponentiation-operator@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz#421c705f4521888c65e91fdd1af951bfefd4dacd" + integrity sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw== dependencies: - "@babel/helper-builder-binary-assignment-operator-visitor" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-builder-binary-assignment-operator-visitor" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-for-of@^7.18.1": - version "7.18.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.1.tgz#ed14b657e162b72afbbb2b4cdad277bf2bb32036" - integrity sha512-+TTB5XwvJ5hZbO8xvl2H4XaMDOAK57zF4miuC9qQJgysPNEAZZ9Z69rdF5LJkozGdZrjBIUAIyKUWRMmebI7vg== +"@babel/plugin-transform-for-of@^7.18.8": + version "7.18.8" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.8.tgz#6ef8a50b244eb6a0bdbad0c7c61877e4e30097c1" + integrity sha512-yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ== dependencies: - "@babel/helper-plugin-utils" "^7.17.12" + "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-function-name@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.16.7.tgz#5ab34375c64d61d083d7d2f05c38d90b97ec65cf" - integrity sha512-SU/C68YVwTRxqWj5kgsbKINakGag0KTgq9f2iZEXdStoAbOzLHEBRYzImmA6yFo8YZhJVflvXmIHUO7GWHmxxA== +"@babel/plugin-transform-function-name@^7.18.9": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz#cc354f8234e62968946c61a46d6365440fc764e0" + integrity sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ== dependencies: - "@babel/helper-compilation-targets" "^7.16.7" - "@babel/helper-function-name" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-compilation-targets" "^7.18.9" + "@babel/helper-function-name" "^7.18.9" + "@babel/helper-plugin-utils" "^7.18.9" -"@babel/plugin-transform-literals@^7.17.12": - version "7.17.12" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.17.12.tgz#97131fbc6bbb261487105b4b3edbf9ebf9c830ae" - integrity sha512-8iRkvaTjJciWycPIZ9k9duu663FT7VrBdNqNgxnVXEFwOIp55JWcZd23VBRySYbnS3PwQ3rGiabJBBBGj5APmQ== +"@babel/plugin-transform-literals@^7.18.9": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz#72796fdbef80e56fba3c6a699d54f0de557444bc" + integrity sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg== dependencies: - "@babel/helper-plugin-utils" "^7.17.12" + "@babel/helper-plugin-utils" "^7.18.9" -"@babel/plugin-transform-member-expression-literals@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.16.7.tgz#6e5dcf906ef8a098e630149d14c867dd28f92384" - integrity sha512-mBruRMbktKQwbxaJof32LT9KLy2f3gH+27a5XSuXo6h7R3vqltl0PgZ80C8ZMKw98Bf8bqt6BEVi3svOh2PzMw== +"@babel/plugin-transform-member-expression-literals@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz#ac9fdc1a118620ac49b7e7a5d2dc177a1bfee88e" + integrity sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA== dependencies: - "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-modules-amd@^7.18.0": - version "7.18.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.18.0.tgz#7ef1002e67e36da3155edc8bf1ac9398064c02ed" - integrity sha512-h8FjOlYmdZwl7Xm2Ug4iX2j7Qy63NANI+NQVWQzv6r25fqgg7k2dZl03p95kvqNclglHs4FZ+isv4p1uXMA+QA== +"@babel/plugin-transform-modules-amd@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.18.6.tgz#8c91f8c5115d2202f277549848874027d7172d21" + integrity sha512-Pra5aXsmTsOnjM3IajS8rTaLCy++nGM4v3YR4esk5PCsyg9z8NA5oQLwxzMUtDBd8F+UmVza3VxoAaWCbzH1rg== dependencies: - "@babel/helper-module-transforms" "^7.18.0" - "@babel/helper-plugin-utils" "^7.17.12" + "@babel/helper-module-transforms" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" babel-plugin-dynamic-import-node "^2.3.3" -"@babel/plugin-transform-modules-commonjs@^7.18.2": - version "7.18.2" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.18.2.tgz#1aa8efa2e2a6e818b6a7f2235fceaf09bdb31e9e" - integrity sha512-f5A865gFPAJAEE0K7F/+nm5CmAE3y8AWlMBG9unu5j9+tk50UQVK0QS8RNxSp7MJf0wh97uYyLWt3Zvu71zyOQ== +"@babel/plugin-transform-modules-commonjs@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.18.6.tgz#afd243afba166cca69892e24a8fd8c9f2ca87883" + integrity sha512-Qfv2ZOWikpvmedXQJDSbxNqy7Xr/j2Y8/KfijM0iJyKkBTmWuvCA1yeH1yDM7NJhBW/2aXxeucLj6i80/LAJ/Q== dependencies: - "@babel/helper-module-transforms" "^7.18.0" - "@babel/helper-plugin-utils" "^7.17.12" - "@babel/helper-simple-access" "^7.18.2" + "@babel/helper-module-transforms" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-simple-access" "^7.18.6" babel-plugin-dynamic-import-node "^2.3.3" -"@babel/plugin-transform-modules-systemjs@^7.18.0": - version "7.18.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.18.0.tgz#50ecdb43de97c8483824402f7125edb94cddb09a" - integrity sha512-vwKpxdHnlM5tIrRt/eA0bzfbi7gUBLN08vLu38np1nZevlPySRe6yvuATJB5F/WPJ+ur4OXwpVYq9+BsxqAQuQ== +"@babel/plugin-transform-modules-systemjs@^7.18.9": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.18.9.tgz#545df284a7ac6a05125e3e405e536c5853099a06" + integrity sha512-zY/VSIbbqtoRoJKo2cDTewL364jSlZGvn0LKOf9ntbfxOvjfmyrdtEEOAdswOswhZEb8UH3jDkCKHd1sPgsS0A== dependencies: - "@babel/helper-hoist-variables" "^7.16.7" - "@babel/helper-module-transforms" "^7.18.0" - "@babel/helper-plugin-utils" "^7.17.12" - "@babel/helper-validator-identifier" "^7.16.7" + "@babel/helper-hoist-variables" "^7.18.6" + "@babel/helper-module-transforms" "^7.18.9" + "@babel/helper-plugin-utils" "^7.18.9" + "@babel/helper-validator-identifier" "^7.18.6" babel-plugin-dynamic-import-node "^2.3.3" -"@babel/plugin-transform-modules-umd@^7.18.0": - version "7.18.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.0.tgz#56aac64a2c2a1922341129a4597d1fd5c3ff020f" - integrity sha512-d/zZ8I3BWli1tmROLxXLc9A6YXvGK8egMxHp+E/rRwMh1Kip0AP77VwZae3snEJ33iiWwvNv2+UIIhfalqhzZA== +"@babel/plugin-transform-modules-umd@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz#81d3832d6034b75b54e62821ba58f28ed0aab4b9" + integrity sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ== dependencies: - "@babel/helper-module-transforms" "^7.18.0" - "@babel/helper-plugin-utils" "^7.17.12" + "@babel/helper-module-transforms" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-named-capturing-groups-regex@^7.17.12": - version "7.17.12" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.17.12.tgz#9c4a5a5966e0434d515f2675c227fd8cc8606931" - integrity sha512-vWoWFM5CKaTeHrdUJ/3SIOTRV+MBVGybOC9mhJkaprGNt5demMymDW24yC74avb915/mIRe3TgNb/d8idvnCRA== +"@babel/plugin-transform-named-capturing-groups-regex@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.18.6.tgz#c89bfbc7cc6805d692f3a49bc5fc1b630007246d" + integrity sha512-UmEOGF8XgaIqD74bC8g7iV3RYj8lMf0Bw7NJzvnS9qQhM4mg+1WHKotUIdjxgD2RGrgFLZZPCFPFj3P/kVDYhg== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.17.12" - "@babel/helper-plugin-utils" "^7.17.12" + "@babel/helper-create-regexp-features-plugin" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-new-target@^7.17.12": - version "7.17.12" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.17.12.tgz#10842cd605a620944e81ea6060e9e65c265742e3" - integrity sha512-CaOtzk2fDYisbjAD4Sd1MTKGVIpRtx9bWLyj24Y/k6p4s4gQ3CqDGJauFJxt8M/LEx003d0i3klVqnN73qvK3w== +"@babel/plugin-transform-new-target@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz#d128f376ae200477f37c4ddfcc722a8a1b3246a8" + integrity sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw== dependencies: - "@babel/helper-plugin-utils" "^7.17.12" + "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-object-super@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.16.7.tgz#ac359cf8d32cf4354d27a46867999490b6c32a94" - integrity sha512-14J1feiQVWaGvRxj2WjyMuXS2jsBkgB3MdSN5HuC2G5nRspa5RK9COcs82Pwy5BuGcjb+fYaUj94mYcOj7rCvw== +"@babel/plugin-transform-object-super@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz#fb3c6ccdd15939b6ff7939944b51971ddc35912c" + integrity sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA== dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/helper-replace-supers" "^7.16.7" + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-replace-supers" "^7.18.6" -"@babel/plugin-transform-parameters@^7.12.1", "@babel/plugin-transform-parameters@^7.17.12": - version "7.17.12" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.17.12.tgz#eb467cd9586ff5ff115a9880d6fdbd4a846b7766" - integrity sha512-6qW4rWo1cyCdq1FkYri7AHpauchbGLXpdwnYsfxFb+KtddHENfsY5JZb35xUwkK5opOLcJ3BNd2l7PhRYGlwIA== +"@babel/plugin-transform-parameters@^7.12.1", "@babel/plugin-transform-parameters@^7.18.8": + version "7.18.8" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.18.8.tgz#ee9f1a0ce6d78af58d0956a9378ea3427cccb48a" + integrity sha512-ivfbE3X2Ss+Fj8nnXvKJS6sjRG4gzwPMsP+taZC+ZzEGjAYlvENixmt1sZ5Ca6tWls+BlKSGKPJ6OOXvXCbkFg== dependencies: - "@babel/helper-plugin-utils" "^7.17.12" + "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-property-literals@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.16.7.tgz#2dadac85155436f22c696c4827730e0fe1057a55" - integrity sha512-z4FGr9NMGdoIl1RqavCqGG+ZuYjfZ/hkCIeuH6Do7tXmSm0ls11nYVSJqFEUOSJbDab5wC6lRE/w6YjVcr6Hqw== +"@babel/plugin-transform-property-literals@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz#e22498903a483448e94e032e9bbb9c5ccbfc93a3" + integrity sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg== dependencies: - "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-transform-react-constant-elements@^7.14.5": version "7.17.12" @@ -910,158 +917,158 @@ dependencies: "@babel/helper-plugin-utils" "^7.17.12" -"@babel/plugin-transform-react-display-name@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.16.7.tgz#7b6d40d232f4c0f550ea348593db3b21e2404340" - integrity sha512-qgIg8BcZgd0G/Cz916D5+9kqX0c7nPZyXaP8R2tLNN5tkyIZdG5fEwBrxwplzSnjC1jvQmyMNVwUCZPcbGY7Pg== +"@babel/plugin-transform-react-display-name@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.18.6.tgz#8b1125f919ef36ebdfff061d664e266c666b9415" + integrity sha512-TV4sQ+T013n61uMoygyMRm+xf04Bd5oqFpv2jAEQwSZ8NwQA7zeRPg1LMVg2PWi3zWBz+CLKD+v5bcpZ/BS0aA== dependencies: - "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-react-jsx-development@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.16.7.tgz#43a00724a3ed2557ed3f276a01a929e6686ac7b8" - integrity sha512-RMvQWvpla+xy6MlBpPlrKZCMRs2AGiHOGHY3xRwl0pEeim348dDyxeH4xBsMPbIMhujeq7ihE702eM2Ew0Wo+A== +"@babel/plugin-transform-react-jsx-development@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.18.6.tgz#dbe5c972811e49c7405b630e4d0d2e1380c0ddc5" + integrity sha512-SA6HEjwYFKF7WDjWcMcMGUimmw/nhNRDWxr+KaLSCrkD/LMDBvWRmHAYgE1HDeF8KUuI8OAu+RT6EOtKxSW2qA== dependencies: - "@babel/plugin-transform-react-jsx" "^7.16.7" + "@babel/plugin-transform-react-jsx" "^7.18.6" -"@babel/plugin-transform-react-jsx@^7.16.7", "@babel/plugin-transform-react-jsx@^7.17.12": - version "7.17.12" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.17.12.tgz#2aa20022709cd6a3f40b45d60603d5f269586dba" - integrity sha512-Lcaw8bxd1DKht3thfD4A12dqo1X16he1Lm8rIv8sTwjAYNInRS1qHa9aJoqvzpscItXvftKDCfaEQzwoVyXpEQ== +"@babel/plugin-transform-react-jsx@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.18.6.tgz#2721e96d31df96e3b7ad48ff446995d26bc028ff" + integrity sha512-Mz7xMPxoy9kPS/JScj6fJs03TZ/fZ1dJPlMjRAgTaxaS0fUBk8FV/A2rRgfPsVCZqALNwMexD+0Uaf5zlcKPpw== dependencies: - "@babel/helper-annotate-as-pure" "^7.16.7" - "@babel/helper-module-imports" "^7.16.7" - "@babel/helper-plugin-utils" "^7.17.12" - "@babel/plugin-syntax-jsx" "^7.17.12" - "@babel/types" "^7.17.12" + "@babel/helper-annotate-as-pure" "^7.18.6" + "@babel/helper-module-imports" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/plugin-syntax-jsx" "^7.18.6" + "@babel/types" "^7.18.6" -"@babel/plugin-transform-react-pure-annotations@^7.16.7": - version "7.18.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.18.0.tgz#ef82c8e310913f3522462c9ac967d395092f1954" - integrity sha512-6+0IK6ouvqDn9bmEG7mEyF/pwlJXVj5lwydybpyyH3D0A7Hftk+NCTdYjnLNZksn261xaOV5ksmp20pQEmc2RQ== +"@babel/plugin-transform-react-pure-annotations@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.18.6.tgz#561af267f19f3e5d59291f9950fd7b9663d0d844" + integrity sha512-I8VfEPg9r2TRDdvnHgPepTKvuRomzA8+u+nhY7qSI1fR2hRNebasZEETLyM5mAUr0Ku56OkXJ0I7NHJnO6cJiQ== dependencies: - "@babel/helper-annotate-as-pure" "^7.16.7" - "@babel/helper-plugin-utils" "^7.17.12" + "@babel/helper-annotate-as-pure" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-regenerator@^7.18.0": - version "7.18.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.18.0.tgz#44274d655eb3f1af3f3a574ba819d3f48caf99d5" - integrity sha512-C8YdRw9uzx25HSIzwA7EM7YP0FhCe5wNvJbZzjVNHHPGVcDJ3Aie+qGYYdS1oVQgn+B3eAIJbWFLrJ4Jipv7nw== +"@babel/plugin-transform-regenerator@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.18.6.tgz#585c66cb84d4b4bf72519a34cfce761b8676ca73" + integrity sha512-poqRI2+qiSdeldcz4wTSTXBRryoq3Gc70ye7m7UD5Ww0nE29IXqMl6r7Nd15WBgRd74vloEMlShtH6CKxVzfmQ== dependencies: - "@babel/helper-plugin-utils" "^7.17.12" + "@babel/helper-plugin-utils" "^7.18.6" regenerator-transform "^0.15.0" -"@babel/plugin-transform-reserved-words@^7.17.12": - version "7.17.12" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.17.12.tgz#7dbd349f3cdffba751e817cf40ca1386732f652f" - integrity sha512-1KYqwbJV3Co03NIi14uEHW8P50Md6KqFgt0FfpHdK6oyAHQVTosgPuPSiWud1HX0oYJ1hGRRlk0fP87jFpqXZA== +"@babel/plugin-transform-reserved-words@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz#b1abd8ebf8edaa5f7fe6bbb8d2133d23b6a6f76a" + integrity sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA== dependencies: - "@babel/helper-plugin-utils" "^7.17.12" + "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-runtime@^7.18.2": - version "7.18.2" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.18.2.tgz#04637de1e45ae8847ff14b9beead09c33d34374d" - integrity sha512-mr1ufuRMfS52ttq+1G1PD8OJNqgcTFjq3hwn8SZ5n1x1pBhi0E36rYMdTK0TsKtApJ4lDEdfXJwtGobQMHSMPg== - dependencies: - "@babel/helper-module-imports" "^7.16.7" - "@babel/helper-plugin-utils" "^7.17.12" - babel-plugin-polyfill-corejs2 "^0.3.0" - babel-plugin-polyfill-corejs3 "^0.5.0" - babel-plugin-polyfill-regenerator "^0.3.0" +"@babel/plugin-transform-runtime@^7.18.6": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.18.9.tgz#d9e4b1b25719307bfafbf43065ed7fb3a83adb8f" + integrity sha512-wS8uJwBt7/b/mzE13ktsJdmS4JP/j7PQSaADtnb4I2wL0zK51MQ0pmF8/Jy0wUIS96fr+fXT6S/ifiPXnvrlSg== + dependencies: + "@babel/helper-module-imports" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.9" + babel-plugin-polyfill-corejs2 "^0.3.1" + babel-plugin-polyfill-corejs3 "^0.5.2" + babel-plugin-polyfill-regenerator "^0.3.1" semver "^6.3.0" -"@babel/plugin-transform-shorthand-properties@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.16.7.tgz#e8549ae4afcf8382f711794c0c7b6b934c5fbd2a" - integrity sha512-hah2+FEnoRoATdIb05IOXf+4GzXYTq75TVhIn1PewihbpyrNWUt2JbudKQOETWw6QpLe+AIUpJ5MVLYTQbeeUg== +"@babel/plugin-transform-shorthand-properties@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz#6d6df7983d67b195289be24909e3f12a8f664dc9" + integrity sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw== dependencies: - "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-spread@^7.17.12": - version "7.17.12" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.17.12.tgz#c112cad3064299f03ea32afed1d659223935d1f5" - integrity sha512-9pgmuQAtFi3lpNUstvG9nGfk9DkrdmWNp9KeKPFmuZCpEnxRzYlS8JgwPjYj+1AWDOSvoGN0H30p1cBOmT/Svg== +"@babel/plugin-transform-spread@^7.18.9": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.18.9.tgz#6ea7a6297740f381c540ac56caf75b05b74fb664" + integrity sha512-39Q814wyoOPtIB/qGopNIL9xDChOE1pNU0ZY5dO0owhiVt/5kFm4li+/bBtwc7QotG0u5EPzqhZdjMtmqBqyQA== dependencies: - "@babel/helper-plugin-utils" "^7.17.12" - "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0" + "@babel/helper-plugin-utils" "^7.18.9" + "@babel/helper-skip-transparent-expression-wrappers" "^7.18.9" -"@babel/plugin-transform-sticky-regex@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.16.7.tgz#c84741d4f4a38072b9a1e2e3fd56d359552e8660" - integrity sha512-NJa0Bd/87QV5NZZzTuZG5BPJjLYadeSZ9fO6oOUoL4iQx+9EEuw/eEM92SrsT19Yc2jgB1u1hsjqDtH02c3Drw== +"@babel/plugin-transform-sticky-regex@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz#c6706eb2b1524028e317720339583ad0f444adcc" + integrity sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q== dependencies: - "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-template-literals@^7.18.2": - version "7.18.2" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.2.tgz#31ed6915721864847c48b656281d0098ea1add28" - integrity sha512-/cmuBVw9sZBGZVOMkpAEaVLwm4JmK2GZ1dFKOGGpMzEHWFmyZZ59lUU0PdRr8YNYeQdNzTDwuxP2X2gzydTc9g== +"@babel/plugin-transform-template-literals@^7.18.9": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz#04ec6f10acdaa81846689d63fae117dd9c243a5e" + integrity sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA== dependencies: - "@babel/helper-plugin-utils" "^7.17.12" + "@babel/helper-plugin-utils" "^7.18.9" -"@babel/plugin-transform-typeof-symbol@^7.17.12": - version "7.17.12" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.17.12.tgz#0f12f57ac35e98b35b4ed34829948d42bd0e6889" - integrity sha512-Q8y+Jp7ZdtSPXCThB6zjQ74N3lj0f6TDh1Hnf5B+sYlzQ8i5Pjp8gW0My79iekSpT4WnI06blqP6DT0OmaXXmw== +"@babel/plugin-transform-typeof-symbol@^7.18.9": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.9.tgz#c8cea68263e45addcd6afc9091429f80925762c0" + integrity sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw== dependencies: - "@babel/helper-plugin-utils" "^7.17.12" + "@babel/helper-plugin-utils" "^7.18.9" -"@babel/plugin-transform-typescript@^7.17.12": - version "7.18.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.18.1.tgz#5fd8b86130bad95c4a24377b41ab989a9ccad22d" - integrity sha512-F+RJmL479HJmC0KeqqwEGZMg1P7kWArLGbAKfEi9yPthJyMNjF+DjxFF/halfQvq1Q9GFM4TUbYDNV8xe4Ctqg== +"@babel/plugin-transform-typescript@^7.18.6": + version "7.18.8" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.18.8.tgz#303feb7a920e650f2213ef37b36bbf327e6fa5a0" + integrity sha512-p2xM8HI83UObjsZGofMV/EdYjamsDm6MoN3hXPYIT0+gxIoopE+B7rPYKAxfrz9K9PK7JafTTjqYC6qipLExYA== dependencies: - "@babel/helper-create-class-features-plugin" "^7.18.0" - "@babel/helper-plugin-utils" "^7.17.12" - "@babel/plugin-syntax-typescript" "^7.17.12" + "@babel/helper-create-class-features-plugin" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/plugin-syntax-typescript" "^7.18.6" -"@babel/plugin-transform-unicode-escapes@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.16.7.tgz#da8717de7b3287a2c6d659750c964f302b31ece3" - integrity sha512-TAV5IGahIz3yZ9/Hfv35TV2xEm+kaBDaZQCn2S/hG9/CZ0DktxJv9eKfPc7yYCvOYR4JGx1h8C+jcSOvgaaI/Q== +"@babel/plugin-transform-unicode-escapes@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.6.tgz#0d01fb7fb2243ae1c033f65f6e3b4be78db75f27" + integrity sha512-XNRwQUXYMP7VLuy54cr/KS/WeL3AZeORhrmeZ7iewgu+X2eBqmpaLI/hzqr9ZxCeUoq0ASK4GUzSM0BDhZkLFw== dependencies: - "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-unicode-regex@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.16.7.tgz#0f7aa4a501198976e25e82702574c34cfebe9ef2" - integrity sha512-oC5tYYKw56HO75KZVLQ+R/Nl3Hro9kf8iG0hXoaHP7tjAyCpvqBiSNe6vGrZni1Z6MggmUOC6A7VP7AVmw225Q== +"@babel/plugin-transform-unicode-regex@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz#194317225d8c201bbae103364ffe9e2cea36cdca" + integrity sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-create-regexp-features-plugin" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" -"@babel/preset-env@^7.15.6", "@babel/preset-env@^7.18.2": - version "7.18.2" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.18.2.tgz#f47d3000a098617926e674c945d95a28cb90977a" - integrity sha512-PfpdxotV6afmXMU47S08F9ZKIm2bJIQ0YbAAtDfIENX7G1NUAXigLREh69CWDjtgUy7dYn7bsMzkgdtAlmS68Q== - dependencies: - "@babel/compat-data" "^7.17.10" - "@babel/helper-compilation-targets" "^7.18.2" - "@babel/helper-plugin-utils" "^7.17.12" - "@babel/helper-validator-option" "^7.16.7" - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.17.12" - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.17.12" - "@babel/plugin-proposal-async-generator-functions" "^7.17.12" - "@babel/plugin-proposal-class-properties" "^7.17.12" - "@babel/plugin-proposal-class-static-block" "^7.18.0" - "@babel/plugin-proposal-dynamic-import" "^7.16.7" - "@babel/plugin-proposal-export-namespace-from" "^7.17.12" - "@babel/plugin-proposal-json-strings" "^7.17.12" - "@babel/plugin-proposal-logical-assignment-operators" "^7.17.12" - "@babel/plugin-proposal-nullish-coalescing-operator" "^7.17.12" - "@babel/plugin-proposal-numeric-separator" "^7.16.7" - "@babel/plugin-proposal-object-rest-spread" "^7.18.0" - "@babel/plugin-proposal-optional-catch-binding" "^7.16.7" - "@babel/plugin-proposal-optional-chaining" "^7.17.12" - "@babel/plugin-proposal-private-methods" "^7.17.12" - "@babel/plugin-proposal-private-property-in-object" "^7.17.12" - "@babel/plugin-proposal-unicode-property-regex" "^7.17.12" +"@babel/preset-env@^7.15.6", "@babel/preset-env@^7.18.6": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.18.9.tgz#9b3425140d724fbe590322017466580844c7eaff" + integrity sha512-75pt/q95cMIHWssYtyfjVlvI+QEZQThQbKvR9xH+F/Agtw/s4Wfc2V9Bwd/P39VtixB7oWxGdH4GteTTwYJWMg== + dependencies: + "@babel/compat-data" "^7.18.8" + "@babel/helper-compilation-targets" "^7.18.9" + "@babel/helper-plugin-utils" "^7.18.9" + "@babel/helper-validator-option" "^7.18.6" + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.18.6" + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.18.9" + "@babel/plugin-proposal-async-generator-functions" "^7.18.6" + "@babel/plugin-proposal-class-properties" "^7.18.6" + "@babel/plugin-proposal-class-static-block" "^7.18.6" + "@babel/plugin-proposal-dynamic-import" "^7.18.6" + "@babel/plugin-proposal-export-namespace-from" "^7.18.9" + "@babel/plugin-proposal-json-strings" "^7.18.6" + "@babel/plugin-proposal-logical-assignment-operators" "^7.18.9" + "@babel/plugin-proposal-nullish-coalescing-operator" "^7.18.6" + "@babel/plugin-proposal-numeric-separator" "^7.18.6" + "@babel/plugin-proposal-object-rest-spread" "^7.18.9" + "@babel/plugin-proposal-optional-catch-binding" "^7.18.6" + "@babel/plugin-proposal-optional-chaining" "^7.18.9" + "@babel/plugin-proposal-private-methods" "^7.18.6" + "@babel/plugin-proposal-private-property-in-object" "^7.18.6" + "@babel/plugin-proposal-unicode-property-regex" "^7.18.6" "@babel/plugin-syntax-async-generators" "^7.8.4" "@babel/plugin-syntax-class-properties" "^7.12.13" "@babel/plugin-syntax-class-static-block" "^7.14.5" "@babel/plugin-syntax-dynamic-import" "^7.8.3" "@babel/plugin-syntax-export-namespace-from" "^7.8.3" - "@babel/plugin-syntax-import-assertions" "^7.17.12" + "@babel/plugin-syntax-import-assertions" "^7.18.6" "@babel/plugin-syntax-json-strings" "^7.8.3" "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" @@ -1071,43 +1078,43 @@ "@babel/plugin-syntax-optional-chaining" "^7.8.3" "@babel/plugin-syntax-private-property-in-object" "^7.14.5" "@babel/plugin-syntax-top-level-await" "^7.14.5" - "@babel/plugin-transform-arrow-functions" "^7.17.12" - "@babel/plugin-transform-async-to-generator" "^7.17.12" - "@babel/plugin-transform-block-scoped-functions" "^7.16.7" - "@babel/plugin-transform-block-scoping" "^7.17.12" - "@babel/plugin-transform-classes" "^7.17.12" - "@babel/plugin-transform-computed-properties" "^7.17.12" - "@babel/plugin-transform-destructuring" "^7.18.0" - "@babel/plugin-transform-dotall-regex" "^7.16.7" - "@babel/plugin-transform-duplicate-keys" "^7.17.12" - "@babel/plugin-transform-exponentiation-operator" "^7.16.7" - "@babel/plugin-transform-for-of" "^7.18.1" - "@babel/plugin-transform-function-name" "^7.16.7" - "@babel/plugin-transform-literals" "^7.17.12" - "@babel/plugin-transform-member-expression-literals" "^7.16.7" - "@babel/plugin-transform-modules-amd" "^7.18.0" - "@babel/plugin-transform-modules-commonjs" "^7.18.2" - "@babel/plugin-transform-modules-systemjs" "^7.18.0" - "@babel/plugin-transform-modules-umd" "^7.18.0" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.17.12" - "@babel/plugin-transform-new-target" "^7.17.12" - "@babel/plugin-transform-object-super" "^7.16.7" - "@babel/plugin-transform-parameters" "^7.17.12" - "@babel/plugin-transform-property-literals" "^7.16.7" - "@babel/plugin-transform-regenerator" "^7.18.0" - "@babel/plugin-transform-reserved-words" "^7.17.12" - "@babel/plugin-transform-shorthand-properties" "^7.16.7" - "@babel/plugin-transform-spread" "^7.17.12" - "@babel/plugin-transform-sticky-regex" "^7.16.7" - "@babel/plugin-transform-template-literals" "^7.18.2" - "@babel/plugin-transform-typeof-symbol" "^7.17.12" - "@babel/plugin-transform-unicode-escapes" "^7.16.7" - "@babel/plugin-transform-unicode-regex" "^7.16.7" + "@babel/plugin-transform-arrow-functions" "^7.18.6" + "@babel/plugin-transform-async-to-generator" "^7.18.6" + "@babel/plugin-transform-block-scoped-functions" "^7.18.6" + "@babel/plugin-transform-block-scoping" "^7.18.9" + "@babel/plugin-transform-classes" "^7.18.9" + "@babel/plugin-transform-computed-properties" "^7.18.9" + "@babel/plugin-transform-destructuring" "^7.18.9" + "@babel/plugin-transform-dotall-regex" "^7.18.6" + "@babel/plugin-transform-duplicate-keys" "^7.18.9" + "@babel/plugin-transform-exponentiation-operator" "^7.18.6" + "@babel/plugin-transform-for-of" "^7.18.8" + "@babel/plugin-transform-function-name" "^7.18.9" + "@babel/plugin-transform-literals" "^7.18.9" + "@babel/plugin-transform-member-expression-literals" "^7.18.6" + "@babel/plugin-transform-modules-amd" "^7.18.6" + "@babel/plugin-transform-modules-commonjs" "^7.18.6" + "@babel/plugin-transform-modules-systemjs" "^7.18.9" + "@babel/plugin-transform-modules-umd" "^7.18.6" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.18.6" + "@babel/plugin-transform-new-target" "^7.18.6" + "@babel/plugin-transform-object-super" "^7.18.6" + "@babel/plugin-transform-parameters" "^7.18.8" + "@babel/plugin-transform-property-literals" "^7.18.6" + "@babel/plugin-transform-regenerator" "^7.18.6" + "@babel/plugin-transform-reserved-words" "^7.18.6" + "@babel/plugin-transform-shorthand-properties" "^7.18.6" + "@babel/plugin-transform-spread" "^7.18.9" + "@babel/plugin-transform-sticky-regex" "^7.18.6" + "@babel/plugin-transform-template-literals" "^7.18.9" + "@babel/plugin-transform-typeof-symbol" "^7.18.9" + "@babel/plugin-transform-unicode-escapes" "^7.18.6" + "@babel/plugin-transform-unicode-regex" "^7.18.6" "@babel/preset-modules" "^0.1.5" - "@babel/types" "^7.18.2" - babel-plugin-polyfill-corejs2 "^0.3.0" - babel-plugin-polyfill-corejs3 "^0.5.0" - babel-plugin-polyfill-regenerator "^0.3.0" + "@babel/types" "^7.18.9" + babel-plugin-polyfill-corejs2 "^0.3.1" + babel-plugin-polyfill-corejs3 "^0.5.2" + babel-plugin-polyfill-regenerator "^0.3.1" core-js-compat "^3.22.1" semver "^6.3.0" @@ -1122,76 +1129,94 @@ "@babel/types" "^7.4.4" esutils "^2.0.2" -"@babel/preset-react@^7.14.5", "@babel/preset-react@^7.17.12": - version "7.17.12" - resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.17.12.tgz#62adbd2d1870c0de3893095757ed5b00b492ab3d" - integrity sha512-h5U+rwreXtZaRBEQhW1hOJLMq8XNJBQ/9oymXiCXTuT/0uOwpbT0gUt+sXeOqoXBgNuUKI7TaObVwoEyWkpFgA== +"@babel/preset-react@^7.14.5", "@babel/preset-react@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.18.6.tgz#979f76d6277048dc19094c217b507f3ad517dd2d" + integrity sha512-zXr6atUmyYdiWRVLOZahakYmOBHtWc2WGCkP8PYTgZi0iJXDY2CN180TdrIW4OGOAdLc7TifzDIvtx6izaRIzg== dependencies: - "@babel/helper-plugin-utils" "^7.17.12" - "@babel/helper-validator-option" "^7.16.7" - "@babel/plugin-transform-react-display-name" "^7.16.7" - "@babel/plugin-transform-react-jsx" "^7.17.12" - "@babel/plugin-transform-react-jsx-development" "^7.16.7" - "@babel/plugin-transform-react-pure-annotations" "^7.16.7" + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-validator-option" "^7.18.6" + "@babel/plugin-transform-react-display-name" "^7.18.6" + "@babel/plugin-transform-react-jsx" "^7.18.6" + "@babel/plugin-transform-react-jsx-development" "^7.18.6" + "@babel/plugin-transform-react-pure-annotations" "^7.18.6" -"@babel/preset-typescript@^7.15.0", "@babel/preset-typescript@^7.17.12": - version "7.17.12" - resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.17.12.tgz#40269e0a0084d56fc5731b6c40febe1c9a4a3e8c" - integrity sha512-S1ViF8W2QwAKUGJXxP9NAfNaqGDdEBJKpYkxHf5Yy2C4NPPzXGeR3Lhk7G8xJaaLcFTRfNjVbtbVtm8Gb0mqvg== +"@babel/preset-typescript@^7.15.0", "@babel/preset-typescript@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.18.6.tgz#ce64be3e63eddc44240c6358daefac17b3186399" + integrity sha512-s9ik86kXBAnD760aybBucdpnLsAt0jK1xqJn2juOn9lkOvSHV60os5hxoVJsPzMQxvnUJFAlkont2DvvaYEBtQ== dependencies: - "@babel/helper-plugin-utils" "^7.17.12" - "@babel/helper-validator-option" "^7.16.7" - "@babel/plugin-transform-typescript" "^7.17.12" + "@babel/helper-plugin-utils" "^7.18.6" + "@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.3": - version "7.18.3" - resolved "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.18.3.tgz#52f0241a31e0ec61a6187530af6227c2846bd60c" - integrity sha512-l4ddFwrc9rnR+EJsHsh+TJ4A35YqQz/UqcjtlX2ov53hlJYG5CxtQmNZxyajwDVmCxwy++rtvGU5HazCK4W41Q== +"@babel/runtime-corejs3@^7.10.2", "@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== dependencies: 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.12.1", "@babel/runtime@^7.12.13", "@babel/runtime@^7.12.5", "@babel/runtime@^7.18.3", "@babel/runtime@^7.18.9", "@babel/runtime@^7.8.4": +"@babel/runtime@^7.1.2", "@babel/runtime@^7.10.2", "@babel/runtime@^7.10.3", "@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.18.9" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.18.9.tgz#b4fcfce55db3d2e5e080d2490f608a3b9f407f4a" integrity sha512-lkqXDcvlFT5rvEjiu6+QYO+1GXrEHRo2LOtS7E4GtX5ESIZOgepqsZBVIj6Pv+a6zqsya9VCgiK1KAK4BvJDAw== dependencies: regenerator-runtime "^0.13.4" -"@babel/template@^7.12.7", "@babel/template@^7.16.7", "@babel/template@^7.3.3": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.16.7.tgz#8d126c8701fde4d66b264b3eba3d96f07666d155" - integrity sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w== - dependencies: - "@babel/code-frame" "^7.16.7" - "@babel/parser" "^7.16.7" - "@babel/types" "^7.16.7" - -"@babel/traverse@^7.12.9", "@babel/traverse@^7.13.0", "@babel/traverse@^7.16.8", "@babel/traverse@^7.18.0", "@babel/traverse@^7.18.2", "@babel/traverse@^7.18.5", "@babel/traverse@^7.7.2": - version "7.18.5" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.18.5.tgz#94a8195ad9642801837988ab77f36e992d9a20cd" - integrity sha512-aKXj1KT66sBj0vVzk6rEeAO6Z9aiiQ68wfDgge3nHhA/my6xMM/7HGQUNumKZaoa2qUPQ5whJG9aAifsxUKfLA== - dependencies: - "@babel/code-frame" "^7.16.7" - "@babel/generator" "^7.18.2" - "@babel/helper-environment-visitor" "^7.18.2" - "@babel/helper-function-name" "^7.17.9" - "@babel/helper-hoist-variables" "^7.16.7" - "@babel/helper-split-export-declaration" "^7.16.7" - "@babel/parser" "^7.18.5" - "@babel/types" "^7.18.4" +"@babel/template@^7.12.7", "@babel/template@^7.18.6", "@babel/template@^7.3.3": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.18.6.tgz#1283f4993e00b929d6e2d3c72fdc9168a2977a31" + integrity sha512-JoDWzPe+wgBsTTgdnIma3iHNFC7YVJoPssVBDjiHfNlyt4YcunDtcDOUmfVDfCK5MfdsaIoX9PkijPhjH3nYUw== + dependencies: + "@babel/code-frame" "^7.18.6" + "@babel/parser" "^7.18.6" + "@babel/types" "^7.18.6" + +"@babel/traverse@^7.12.9", "@babel/traverse@^7.18.8", "@babel/traverse@^7.18.9", "@babel/traverse@^7.7.2": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.18.9.tgz#deeff3e8f1bad9786874cb2feda7a2d77a904f98" + integrity sha512-LcPAnujXGwBgv3/WHv01pHtb2tihcyW1XuL9wd7jqh1Z8AQkTd+QVjMrMijrln0T7ED3UXLIy36P9Ao7W75rYg== + dependencies: + "@babel/code-frame" "^7.18.6" + "@babel/generator" "^7.18.9" + "@babel/helper-environment-visitor" "^7.18.9" + "@babel/helper-function-name" "^7.18.9" + "@babel/helper-hoist-variables" "^7.18.6" + "@babel/helper-split-export-declaration" "^7.18.6" + "@babel/parser" "^7.18.9" + "@babel/types" "^7.18.9" debug "^4.1.0" globals "^11.1.0" -"@babel/types@^7.0.0", "@babel/types@^7.12.7", "@babel/types@^7.15.6", "@babel/types@^7.16.0", "@babel/types@^7.16.7", "@babel/types@^7.16.8", "@babel/types@^7.17.0", "@babel/types@^7.17.12", "@babel/types@^7.18.0", "@babel/types@^7.18.2", "@babel/types@^7.18.4", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4": - version "7.18.10" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.18.10.tgz#4908e81b6b339ca7c6b7a555a5fc29446f26dde6" - integrity sha512-MJvnbEiiNkpjo+LknnmRrqbY1GPUUggjv+wQVjetM/AONoupqRALB7I6jGqNUAZsKcRIEu2J6FRFvsczljjsaQ== +"@babel/types@^7.0.0", "@babel/types@^7.12.7", "@babel/types@^7.15.6", "@babel/types@^7.18.2", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4": + version "7.18.13" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.18.13.tgz#30aeb9e514f4100f7c1cb6e5ba472b30e48f519a" + integrity sha512-ePqfTihzW0W6XAU+aMw2ykilisStJfDnsejDCXRchCcMJ4O0+8DhPXf2YUbZ6wjBlsEmZwLK/sPweWtu8hcJYQ== dependencies: "@babel/helper-string-parser" "^7.18.10" "@babel/helper-validator-identifier" "^7.18.6" to-fast-properties "^2.0.0" +"@babel/types@^7.18.6", "@babel/types@^7.18.9": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.18.9.tgz#7148d64ba133d8d73a41b3172ac4b83a1452205f" + integrity sha512-WwMLAg2MvJmt/rKEVQBBhIVffMmnilX4oe0sRe7iPOHIGsqpruFHHdrfj4O1CMMtgMtCU4oPafZjDPCRgO57Wg== + dependencies: + "@babel/helper-validator-identifier" "^7.18.6" + to-fast-properties "^2.0.0" + +"@bcherny/json-schema-ref-parser@9.0.9": + version "9.0.9" + resolved "https://registry.yarnpkg.com/@bcherny/json-schema-ref-parser/-/json-schema-ref-parser-9.0.9.tgz#09899d405bc708c0acac0066ae8db5b94d465ca4" + integrity sha512-vmEmnJCfpkLdas++9OYg6riIezTYqTHpqUTODJzHLzs5UnXujbOJW9VwcVCnyo1mVRt32FRr23iXBx/sX8YbeQ== + dependencies: + "@jsdevtools/ono" "^7.1.3" + "@types/json-schema" "^7.0.6" + call-me-maybe "^1.0.1" + js-yaml "^4.1.0" + "@bcoe/v8-coverage@^0.2.3": version "0.2.3" resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" @@ -1502,43 +1527,44 @@ debug "^3.1.0" lodash.once "^4.1.1" -"@docsearch/css@3.1.0": - version "3.1.0" - resolved "https://registry.yarnpkg.com/@docsearch/css/-/css-3.1.0.tgz#6781cad43fc2e034d012ee44beddf8f93ba21f19" - integrity sha512-bh5IskwkkodbvC0FzSg1AxMykfDl95hebEKwxNoq4e5QaGzOXSBgW8+jnMFZ7JU4sTBiB04vZWoUSzNrPboLZA== +"@docsearch/css@3.1.1": + version "3.1.1" + resolved "https://registry.yarnpkg.com/@docsearch/css/-/css-3.1.1.tgz#e0976bf995e383f8ee8657306311b9cb95016330" + integrity sha512-utLgg7E1agqQeqCJn05DWC7XXMk4tMUUnL7MZupcknRu2OzGN13qwey2qA/0NAKkVBGugiWtON0+rlU0QIPojg== -"@docsearch/react@^3.1.0": - version "3.1.0" - resolved "https://registry.yarnpkg.com/@docsearch/react/-/react-3.1.0.tgz#da943a64c01ee82b04e53b691806469272f943f7" - integrity sha512-bjB6ExnZzf++5B7Tfoi6UXgNwoUnNOfZ1NyvnvPhWgCMy5V/biAtLL4o7owmZSYdAKeFSvZ5Lxm0is4su/dBWg== +"@docsearch/react@^3.1.1": + version "3.1.1" + resolved "https://registry.yarnpkg.com/@docsearch/react/-/react-3.1.1.tgz#3dffb5db8cf9eb95d6e732cf038264bfc10191ed" + integrity sha512-cfoql4qvtsVRqBMYxhlGNpvyy/KlCoPqjIsJSZYqYf9AplZncKjLBTcwBu6RXFMVCe30cIFljniI4OjqAU67pQ== dependencies: - "@algolia/autocomplete-core" "1.6.3" - "@docsearch/css" "3.1.0" + "@algolia/autocomplete-core" "1.7.1" + "@algolia/autocomplete-preset-algolia" "1.7.1" + "@docsearch/css" "3.1.1" algoliasearch "^4.0.0" -"@docusaurus/core@2.0.0-beta.21": - version "2.0.0-beta.21" - resolved "https://registry.yarnpkg.com/@docusaurus/core/-/core-2.0.0-beta.21.tgz#50897317b22dbd94b1bf91bb30c2a0fddd15a806" - integrity sha512-qysDMVp1M5UozK3u/qOxsEZsHF7jeBvJDS+5ItMPYmNKvMbNKeYZGA0g6S7F9hRDwjIlEbvo7BaX0UMDcmTAWA== +"@docusaurus/core@2.0.1", "@docusaurus/core@~2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@docusaurus/core/-/core-2.0.1.tgz#a2b0d653e8f18eacddda4778a46b638dd1f0f45c" + integrity sha512-Prd46TtZdiixlTl8a+h9bI5HegkfREjSNkrX2rVEwJZeziSz4ya+l7QDnbnCB2XbxEG8cveFo/F9q5lixolDtQ== dependencies: - "@babel/core" "^7.18.2" - "@babel/generator" "^7.18.2" + "@babel/core" "^7.18.6" + "@babel/generator" "^7.18.7" "@babel/plugin-syntax-dynamic-import" "^7.8.3" - "@babel/plugin-transform-runtime" "^7.18.2" - "@babel/preset-env" "^7.18.2" - "@babel/preset-react" "^7.17.12" - "@babel/preset-typescript" "^7.17.12" - "@babel/runtime" "^7.18.3" - "@babel/runtime-corejs3" "^7.18.3" - "@babel/traverse" "^7.18.2" - "@docusaurus/cssnano-preset" "2.0.0-beta.21" - "@docusaurus/logger" "2.0.0-beta.21" - "@docusaurus/mdx-loader" "2.0.0-beta.21" + "@babel/plugin-transform-runtime" "^7.18.6" + "@babel/preset-env" "^7.18.6" + "@babel/preset-react" "^7.18.6" + "@babel/preset-typescript" "^7.18.6" + "@babel/runtime" "^7.18.6" + "@babel/runtime-corejs3" "^7.18.6" + "@babel/traverse" "^7.18.8" + "@docusaurus/cssnano-preset" "2.0.1" + "@docusaurus/logger" "2.0.1" + "@docusaurus/mdx-loader" "2.0.1" "@docusaurus/react-loadable" "5.5.2" - "@docusaurus/utils" "2.0.0-beta.21" - "@docusaurus/utils-common" "2.0.0-beta.21" - "@docusaurus/utils-validation" "2.0.0-beta.21" - "@slorber/static-site-generator-webpack-plugin" "^4.0.4" + "@docusaurus/utils" "2.0.1" + "@docusaurus/utils-common" "2.0.1" + "@docusaurus/utils-validation" "2.0.1" + "@slorber/static-site-generator-webpack-plugin" "^4.0.7" "@svgr/webpack" "^6.2.1" autoprefixer "^10.4.7" babel-loader "^8.2.5" @@ -1551,10 +1577,10 @@ combine-promises "^1.1.0" commander "^5.1.0" copy-webpack-plugin "^11.0.0" - core-js "^3.22.7" + core-js "^3.23.3" css-loader "^6.7.1" css-minimizer-webpack-plugin "^4.0.0" - cssnano "^5.1.9" + cssnano "^5.1.12" del "^6.1.1" detect-port "^1.3.0" escape-html "^1.0.3" @@ -1567,7 +1593,7 @@ import-fresh "^3.3.0" leven "^3.1.0" lodash "^4.17.21" - mini-css-extract-plugin "^2.6.0" + mini-css-extract-plugin "^2.6.1" postcss "^8.4.14" postcss-loader "^7.0.0" prompts "^2.4.2" @@ -1578,49 +1604,48 @@ react-router "^5.3.3" react-router-config "^5.1.1" react-router-dom "^5.3.3" - remark-admonitions "^1.2.1" rtl-detect "^1.0.4" semver "^7.3.7" serve-handler "^6.1.3" shelljs "^0.8.5" - terser-webpack-plugin "^5.3.1" + terser-webpack-plugin "^5.3.3" tslib "^2.4.0" update-notifier "^5.1.0" url-loader "^4.1.1" wait-on "^6.0.1" - webpack "^5.72.1" + webpack "^5.73.0" webpack-bundle-analyzer "^4.5.0" - webpack-dev-server "^4.9.0" + webpack-dev-server "^4.9.3" webpack-merge "^5.8.0" webpackbar "^5.0.2" -"@docusaurus/cssnano-preset@2.0.0-beta.21": - version "2.0.0-beta.21" - resolved "https://registry.yarnpkg.com/@docusaurus/cssnano-preset/-/cssnano-preset-2.0.0-beta.21.tgz#38113877a5857c3f9d493522085d20909dcec474" - integrity sha512-fhTZrg1vc6zYYZIIMXpe1TnEVGEjqscBo0s1uomSwKjjtMgu7wkzc1KKJYY7BndsSA+fVVkZ+OmL/kAsmK7xxw== +"@docusaurus/cssnano-preset@2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@docusaurus/cssnano-preset/-/cssnano-preset-2.0.1.tgz#4d0c49338cf3aa88c5bd7cffbf77654db8e1e3b2" + integrity sha512-MCJ6rRmlqLmlCsZIoIxOxDb0rYzIPEm9PYpsBW+CGNnbk+x8xK+11hnrxzvXHqDRNpxrq3Kq2jYUmg/DkqE6vg== dependencies: - cssnano-preset-advanced "^5.3.5" + cssnano-preset-advanced "^5.3.8" postcss "^8.4.14" postcss-sort-media-queries "^4.2.1" tslib "^2.4.0" -"@docusaurus/logger@2.0.0-beta.21": - version "2.0.0-beta.21" - resolved "https://registry.yarnpkg.com/@docusaurus/logger/-/logger-2.0.0-beta.21.tgz#f6ab4133917965349ae03fd9111a940b24d4fd12" - integrity sha512-HTFp8FsSMrAj7Uxl5p72U+P7rjYU/LRRBazEoJbs9RaqoKEdtZuhv8MYPOCh46K9TekaoquRYqag2o23Qt4ggA== +"@docusaurus/logger@2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@docusaurus/logger/-/logger-2.0.1.tgz#78a940a333d2f654fd9dea24db2c962034d4b1ff" + integrity sha512-wIWseCKko1w/WARcDjO3N/XoJ0q/VE42AthP0eNAfEazDjJ94NXbaI6wuUsuY/bMg6hTKGVIpphjj2LoX3g6dA== dependencies: chalk "^4.1.2" tslib "^2.4.0" -"@docusaurus/mdx-loader@2.0.0-beta.21": - version "2.0.0-beta.21" - resolved "https://registry.yarnpkg.com/@docusaurus/mdx-loader/-/mdx-loader-2.0.0-beta.21.tgz#52af341e21f22be882d2155a7349bea10f5d77a3" - integrity sha512-AI+4obJnpOaBOAYV6df2ux5Y1YJCBS+MhXFf0yhED12sVLJi2vffZgdamYd/d/FwvWDw6QLs/VD2jebd7P50yQ== +"@docusaurus/mdx-loader@2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@docusaurus/mdx-loader/-/mdx-loader-2.0.1.tgz#cc73690ca5d356687d9e75740560b4159cd5cdb5" + integrity sha512-tdNeljdilXCmhbaEND3SAgsqaw/oh7v9onT5yrIrL26OSk2AFwd+MIi4R8jt8vq33M0R4rz2wpknm0fQIkDdvQ== dependencies: - "@babel/parser" "^7.18.3" - "@babel/traverse" "^7.18.2" - "@docusaurus/logger" "2.0.0-beta.21" - "@docusaurus/utils" "2.0.0-beta.21" + "@babel/parser" "^7.18.8" + "@babel/traverse" "^7.18.8" + "@docusaurus/logger" "2.0.1" + "@docusaurus/utils" "2.0.1" "@mdx-js/mdx" "^1.6.22" escape-html "^1.0.3" file-loader "^6.2.0" @@ -1630,136 +1655,147 @@ remark-emoji "^2.2.0" stringify-object "^3.3.0" tslib "^2.4.0" + unified "^9.2.2" unist-util-visit "^2.0.3" url-loader "^4.1.1" - webpack "^5.72.1" + webpack "^5.73.0" -"@docusaurus/module-type-aliases@2.0.0-beta.21", "@docusaurus/module-type-aliases@^2.0.0-beta.21": - version "2.0.0-beta.21" - resolved "https://registry.yarnpkg.com/@docusaurus/module-type-aliases/-/module-type-aliases-2.0.0-beta.21.tgz#345f1c1a99407775d1d3ffc1a90c2df93d50a9b8" - integrity sha512-gRkWICgQZiqSJgrwRKWjXm5gAB+9IcfYdUbCG0PRPP/G8sNs9zBIOY4uT4Z5ox2CWFEm44U3RTTxj7BiLVMBXw== +"@docusaurus/module-type-aliases@2.0.1", "@docusaurus/module-type-aliases@~2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@docusaurus/module-type-aliases/-/module-type-aliases-2.0.1.tgz#44d7132297bedae0890695b0e7ebbe14a73e26d1" + integrity sha512-f888ylnxHAM/3T8p1lx08+lTc6/g7AweSRfRuZvrVhHXj3Tz/nTTxaP6gPTGkJK7WLqTagpar/IGP6/74IBbkg== dependencies: - "@docusaurus/types" "2.0.0-beta.21" + "@docusaurus/react-loadable" "5.5.2" + "@docusaurus/types" "2.0.1" + "@types/history" "^4.7.11" "@types/react" "*" "@types/react-router-config" "*" "@types/react-router-dom" "*" react-helmet-async "*" + react-loadable "npm:@docusaurus/react-loadable@5.5.2" -"@docusaurus/plugin-content-blog@2.0.0-beta.21": - version "2.0.0-beta.21" - resolved "https://registry.yarnpkg.com/@docusaurus/plugin-content-blog/-/plugin-content-blog-2.0.0-beta.21.tgz#86211deeea901ddcd77ca387778e121e93ee8d01" - integrity sha512-IP21yJViP3oBmgsWBU5LhrG1MZXV4mYCQSoCAboimESmy1Z11RCNP2tXaqizE3iTmXOwZZL+SNBk06ajKCEzWg== - dependencies: - "@docusaurus/core" "2.0.0-beta.21" - "@docusaurus/logger" "2.0.0-beta.21" - "@docusaurus/mdx-loader" "2.0.0-beta.21" - "@docusaurus/utils" "2.0.0-beta.21" - "@docusaurus/utils-common" "2.0.0-beta.21" - "@docusaurus/utils-validation" "2.0.0-beta.21" - cheerio "^1.0.0-rc.11" +"@docusaurus/plugin-content-blog@2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@docusaurus/plugin-content-blog/-/plugin-content-blog-2.0.1.tgz#a37065e18ffd26e022ffb16a21ff28199140729e" + integrity sha512-/4ua3iFYcpwgpeYgHnhVGROB/ybnauLH2+rICb4vz/+Gn1hjAmGXVYq1fk8g49zGs3uxx5nc0H5bL9P0g977IQ== + dependencies: + "@docusaurus/core" "2.0.1" + "@docusaurus/logger" "2.0.1" + "@docusaurus/mdx-loader" "2.0.1" + "@docusaurus/types" "2.0.1" + "@docusaurus/utils" "2.0.1" + "@docusaurus/utils-common" "2.0.1" + "@docusaurus/utils-validation" "2.0.1" + cheerio "^1.0.0-rc.12" feed "^4.2.2" fs-extra "^10.1.0" lodash "^4.17.21" reading-time "^1.5.0" - remark-admonitions "^1.2.1" tslib "^2.4.0" unist-util-visit "^2.0.3" utility-types "^3.10.0" - webpack "^5.72.1" - -"@docusaurus/plugin-content-docs@2.0.0-beta.21": - version "2.0.0-beta.21" - resolved "https://registry.yarnpkg.com/@docusaurus/plugin-content-docs/-/plugin-content-docs-2.0.0-beta.21.tgz#b3171fa9aed99e367b6eb7111187bd0e3dcf2949" - integrity sha512-aa4vrzJy4xRy81wNskyhE3wzRf3AgcESZ1nfKh8xgHUkT7fDTZ1UWlg50Jb3LBCQFFyQG2XQB9N6llskI/KUnw== - dependencies: - "@docusaurus/core" "2.0.0-beta.21" - "@docusaurus/logger" "2.0.0-beta.21" - "@docusaurus/mdx-loader" "2.0.0-beta.21" - "@docusaurus/utils" "2.0.0-beta.21" - "@docusaurus/utils-validation" "2.0.0-beta.21" + webpack "^5.73.0" + +"@docusaurus/plugin-content-docs@2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@docusaurus/plugin-content-docs/-/plugin-content-docs-2.0.1.tgz#4059591b4bff617e744e856ca680674b27c0b98a" + integrity sha512-2qeBWRy1EjgnXdwAO6/csDIS1UVNmhmtk/bQ2s9jqjpwM8YVgZ8QVdkxFAMWXgZWDQdwWwdP1rnmoEelE4HknQ== + dependencies: + "@docusaurus/core" "2.0.1" + "@docusaurus/logger" "2.0.1" + "@docusaurus/mdx-loader" "2.0.1" + "@docusaurus/module-type-aliases" "2.0.1" + "@docusaurus/types" "2.0.1" + "@docusaurus/utils" "2.0.1" + "@docusaurus/utils-validation" "2.0.1" + "@types/react-router-config" "^5.0.6" combine-promises "^1.1.0" fs-extra "^10.1.0" import-fresh "^3.3.0" js-yaml "^4.1.0" lodash "^4.17.21" - remark-admonitions "^1.2.1" tslib "^2.4.0" utility-types "^3.10.0" - webpack "^5.72.1" + webpack "^5.73.0" -"@docusaurus/plugin-content-pages@2.0.0-beta.21": - version "2.0.0-beta.21" - resolved "https://registry.yarnpkg.com/@docusaurus/plugin-content-pages/-/plugin-content-pages-2.0.0-beta.21.tgz#df6b4c5c4cde8a0ea491a30002e84941ca7bf0cf" - integrity sha512-DmXOXjqNI+7X5hISzCvt54QIK6XBugu2MOxjxzuqI7q92Lk/EVdraEj5mthlH8IaEH/VlpWYJ1O9TzLqX5vH2g== - dependencies: - "@docusaurus/core" "2.0.0-beta.21" - "@docusaurus/mdx-loader" "2.0.0-beta.21" - "@docusaurus/utils" "2.0.0-beta.21" - "@docusaurus/utils-validation" "2.0.0-beta.21" +"@docusaurus/plugin-content-pages@2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@docusaurus/plugin-content-pages/-/plugin-content-pages-2.0.1.tgz#013f2e66f80d19b5c95a2d941d67c7cdb67b7191" + integrity sha512-6apSVeJENnNecAH5cm5VnRqR103M6qSI6IuiP7tVfD5H4AWrfDNkvJQV2+R2PIq3bGrwmX4fcXl1x4g0oo7iwA== + dependencies: + "@docusaurus/core" "2.0.1" + "@docusaurus/mdx-loader" "2.0.1" + "@docusaurus/types" "2.0.1" + "@docusaurus/utils" "2.0.1" + "@docusaurus/utils-validation" "2.0.1" fs-extra "^10.1.0" - remark-admonitions "^1.2.1" tslib "^2.4.0" - webpack "^5.72.1" + webpack "^5.73.0" -"@docusaurus/plugin-debug@2.0.0-beta.21": - version "2.0.0-beta.21" - resolved "https://registry.yarnpkg.com/@docusaurus/plugin-debug/-/plugin-debug-2.0.0-beta.21.tgz#dfa212fd90fe2f54439aacdc8c143e8ce96b0d27" - integrity sha512-P54J4q4ecsyWW0Jy4zbimSIHna999AfbxpXGmF1IjyHrjoA3PtuakV1Ai51XrGEAaIq9q6qMQkEhbUd3CffGAw== +"@docusaurus/plugin-debug@2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@docusaurus/plugin-debug/-/plugin-debug-2.0.1.tgz#2b2a473f8e01fd356e32236f753665b48209bcd4" + integrity sha512-jpZBT5HK7SWx1LRQyv9d14i44vSsKXGZsSPA2ndth5HykHJsiAj9Fwl1AtzmtGYuBmI+iXQyOd4MAMHd4ZZ1tg== dependencies: - "@docusaurus/core" "2.0.0-beta.21" - "@docusaurus/utils" "2.0.0-beta.21" + "@docusaurus/core" "2.0.1" + "@docusaurus/types" "2.0.1" + "@docusaurus/utils" "2.0.1" fs-extra "^10.1.0" react-json-view "^1.21.3" tslib "^2.4.0" -"@docusaurus/plugin-google-analytics@2.0.0-beta.21": - version "2.0.0-beta.21" - resolved "https://registry.yarnpkg.com/@docusaurus/plugin-google-analytics/-/plugin-google-analytics-2.0.0-beta.21.tgz#5475c58fb23603badf41d84298569f6c46b4e6b2" - integrity sha512-+5MS0PeGaJRgPuNZlbd/WMdQSpOACaxEz7A81HAxm6kE+tIASTW3l8jgj1eWFy/PGPzaLnQrEjxI1McAfnYmQw== +"@docusaurus/plugin-google-analytics@2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@docusaurus/plugin-google-analytics/-/plugin-google-analytics-2.0.1.tgz#e3b84237aad2e94dcd1cf1810c1c9bc3d94f186d" + integrity sha512-d5qb+ZeQcg1Czoxc+RacETjLdp2sN/TAd7PGN/GrvtijCdgNmvVAtZ9QgajBTG0YbJFVPTeZ39ad2bpoOexX0w== dependencies: - "@docusaurus/core" "2.0.0-beta.21" - "@docusaurus/utils-validation" "2.0.0-beta.21" + "@docusaurus/core" "2.0.1" + "@docusaurus/types" "2.0.1" + "@docusaurus/utils-validation" "2.0.1" tslib "^2.4.0" -"@docusaurus/plugin-google-gtag@2.0.0-beta.21": - version "2.0.0-beta.21" - resolved "https://registry.yarnpkg.com/@docusaurus/plugin-google-gtag/-/plugin-google-gtag-2.0.0-beta.21.tgz#a4a101089994a7103c1cc7cddb15170427b185d6" - integrity sha512-4zxKZOnf0rfh6myXLG7a6YZfQcxYDMBsWqANEjCX77H5gPdK+GHZuDrxK6sjFvRBv4liYCrNjo7HJ4DpPoT0zA== +"@docusaurus/plugin-google-gtag@2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@docusaurus/plugin-google-gtag/-/plugin-google-gtag-2.0.1.tgz#4cbcf9d520f7ec8124679fbe00867f2299a2f6bb" + integrity sha512-qiRufJe2FvIyzICbkjm4VbVCI1hyEju/CebfDKkKh2ZtV4q6DM1WZG7D6VoQSXL8MrMFB895gipOM4BwdM8VsQ== dependencies: - "@docusaurus/core" "2.0.0-beta.21" - "@docusaurus/utils-validation" "2.0.0-beta.21" + "@docusaurus/core" "2.0.1" + "@docusaurus/types" "2.0.1" + "@docusaurus/utils-validation" "2.0.1" tslib "^2.4.0" -"@docusaurus/plugin-sitemap@2.0.0-beta.21": - version "2.0.0-beta.21" - resolved "https://registry.yarnpkg.com/@docusaurus/plugin-sitemap/-/plugin-sitemap-2.0.0-beta.21.tgz#8bfa695eada2ec95c9376a884641237ffca5dd3d" - integrity sha512-/ynWbcXZXcYZ6sT2X6vAJbnfqcPxwdGEybd0rcRZi4gBHq6adMofYI25AqELmnbBDxt0If+vlAeUHFRG5ueP7Q== - dependencies: - "@docusaurus/core" "2.0.0-beta.21" - "@docusaurus/logger" "2.0.0-beta.21" - "@docusaurus/utils" "2.0.0-beta.21" - "@docusaurus/utils-common" "2.0.0-beta.21" - "@docusaurus/utils-validation" "2.0.0-beta.21" +"@docusaurus/plugin-sitemap@2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@docusaurus/plugin-sitemap/-/plugin-sitemap-2.0.1.tgz#6f8edb82b745b040d6b1495e2798396f63e50289" + integrity sha512-KcYuIUIp2JPzUf+Xa7W2BSsjLgN1/0h+VAz7D/C3RYjAgC5ApPX8wO+TECmGfunl/m7WKGUmLabfOon/as64kQ== + dependencies: + "@docusaurus/core" "2.0.1" + "@docusaurus/logger" "2.0.1" + "@docusaurus/types" "2.0.1" + "@docusaurus/utils" "2.0.1" + "@docusaurus/utils-common" "2.0.1" + "@docusaurus/utils-validation" "2.0.1" fs-extra "^10.1.0" sitemap "^7.1.1" tslib "^2.4.0" -"@docusaurus/preset-classic@2.0.0-beta.21": - version "2.0.0-beta.21" - resolved "https://registry.yarnpkg.com/@docusaurus/preset-classic/-/preset-classic-2.0.0-beta.21.tgz#1362d8650ebed22633db411caaba80075f7c86ce" - integrity sha512-KvBnIUu7y69pNTJ9UhX6SdNlK6prR//J3L4rhN897tb8xx04xHHILlPXko2Il+C3Xzgh3OCgyvkoz9K6YlFTDw== - dependencies: - "@docusaurus/core" "2.0.0-beta.21" - "@docusaurus/plugin-content-blog" "2.0.0-beta.21" - "@docusaurus/plugin-content-docs" "2.0.0-beta.21" - "@docusaurus/plugin-content-pages" "2.0.0-beta.21" - "@docusaurus/plugin-debug" "2.0.0-beta.21" - "@docusaurus/plugin-google-analytics" "2.0.0-beta.21" - "@docusaurus/plugin-google-gtag" "2.0.0-beta.21" - "@docusaurus/plugin-sitemap" "2.0.0-beta.21" - "@docusaurus/theme-classic" "2.0.0-beta.21" - "@docusaurus/theme-common" "2.0.0-beta.21" - "@docusaurus/theme-search-algolia" "2.0.0-beta.21" +"@docusaurus/preset-classic@~2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@docusaurus/preset-classic/-/preset-classic-2.0.1.tgz#21a806e16b61026d2a0efa6ca97e17397065d894" + integrity sha512-nOoniTg46My1qdDlLWeFs55uEmxOJ+9WMF8KKG8KMCu5LAvpemMi7rQd4x8Tw+xiPHZ/sQzH9JmPTMPRE4QGPw== + dependencies: + "@docusaurus/core" "2.0.1" + "@docusaurus/plugin-content-blog" "2.0.1" + "@docusaurus/plugin-content-docs" "2.0.1" + "@docusaurus/plugin-content-pages" "2.0.1" + "@docusaurus/plugin-debug" "2.0.1" + "@docusaurus/plugin-google-analytics" "2.0.1" + "@docusaurus/plugin-google-gtag" "2.0.1" + "@docusaurus/plugin-sitemap" "2.0.1" + "@docusaurus/theme-classic" "2.0.1" + "@docusaurus/theme-common" "2.0.1" + "@docusaurus/theme-search-algolia" "2.0.1" + "@docusaurus/types" "2.0.1" "@docusaurus/react-loadable@5.5.2", "react-loadable@npm:@docusaurus/react-loadable@5.5.2": version "5.5.2" @@ -1769,124 +1805,134 @@ "@types/react" "*" prop-types "^15.6.2" -"@docusaurus/remark-plugin-npm2yarn@2.0.0-beta.21": - version "2.0.0-beta.21" - resolved "https://registry.yarnpkg.com/@docusaurus/remark-plugin-npm2yarn/-/remark-plugin-npm2yarn-2.0.0-beta.21.tgz#10eb88a2dab6193568eff76b6a83b79e313ef765" - integrity sha512-CqvmoFEj05NzaQBKxnsfI90aM8KHJZWyCzED/Qg5odUD9VtR9zNQJ1Nu/X1ctqCN7FBIxBYk2tz1Xb1+zCP8gg== +"@docusaurus/remark-plugin-npm2yarn@~2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@docusaurus/remark-plugin-npm2yarn/-/remark-plugin-npm2yarn-2.0.1.tgz#9d49181e1711d8564e0304fc5b3cae21c47fc180" + integrity sha512-qTFTb4UG2gO1WcCmrRkE9ipGqzH+KTKicJbOxTNVNMcLne6qwiBPUiBg6UfqaMEho0aILyn+Vh1FFBONkEnAtg== dependencies: npm-to-yarn "^1.0.1" tslib "^2.4.0" unist-util-visit "^2.0.3" -"@docusaurus/theme-classic@2.0.0-beta.21": - version "2.0.0-beta.21" - resolved "https://registry.yarnpkg.com/@docusaurus/theme-classic/-/theme-classic-2.0.0-beta.21.tgz#6df5b9ea2d389dafb6f59badeabb3eda060b5017" - integrity sha512-Ge0WNdTefD0VDQfaIMRRWa8tWMG9+8/OlBRd5MK88/TZfqdBq7b/gnCSaalQlvZwwkj6notkKhHx72+MKwWUJA== - dependencies: - "@docusaurus/core" "2.0.0-beta.21" - "@docusaurus/plugin-content-blog" "2.0.0-beta.21" - "@docusaurus/plugin-content-docs" "2.0.0-beta.21" - "@docusaurus/plugin-content-pages" "2.0.0-beta.21" - "@docusaurus/theme-common" "2.0.0-beta.21" - "@docusaurus/theme-translations" "2.0.0-beta.21" - "@docusaurus/utils" "2.0.0-beta.21" - "@docusaurus/utils-common" "2.0.0-beta.21" - "@docusaurus/utils-validation" "2.0.0-beta.21" +"@docusaurus/theme-classic@2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@docusaurus/theme-classic/-/theme-classic-2.0.1.tgz#043b6fcd2ecb2aecd134419b198c9f519029d5e7" + integrity sha512-0jfigiqkUwIuKOw7Me5tqUM9BBvoQX7qqeevx7v4tkYQexPhk3VYSZo7aRuoJ9oyW5makCTPX551PMJzmq7+sw== + dependencies: + "@docusaurus/core" "2.0.1" + "@docusaurus/mdx-loader" "2.0.1" + "@docusaurus/module-type-aliases" "2.0.1" + "@docusaurus/plugin-content-blog" "2.0.1" + "@docusaurus/plugin-content-docs" "2.0.1" + "@docusaurus/plugin-content-pages" "2.0.1" + "@docusaurus/theme-common" "2.0.1" + "@docusaurus/theme-translations" "2.0.1" + "@docusaurus/types" "2.0.1" + "@docusaurus/utils" "2.0.1" + "@docusaurus/utils-common" "2.0.1" + "@docusaurus/utils-validation" "2.0.1" "@mdx-js/react" "^1.6.22" - clsx "^1.1.1" + clsx "^1.2.1" copy-text-to-clipboard "^3.0.1" - infima "0.2.0-alpha.39" + infima "0.2.0-alpha.42" lodash "^4.17.21" nprogress "^0.2.0" postcss "^8.4.14" - prism-react-renderer "^1.3.3" + prism-react-renderer "^1.3.5" prismjs "^1.28.0" react-router-dom "^5.3.3" rtlcss "^3.5.0" tslib "^2.4.0" + utility-types "^3.10.0" -"@docusaurus/theme-common@2.0.0-beta.21": - version "2.0.0-beta.21" - resolved "https://registry.yarnpkg.com/@docusaurus/theme-common/-/theme-common-2.0.0-beta.21.tgz#508478251982d01655ef505ccb2420db38623db8" - integrity sha512-fTKoTLRfjuFG6c3iwnVjIIOensxWMgdBKLfyE5iih3Lq7tQgkE7NyTGG9BKLrnTJ7cAD2UXdXM9xbB7tBf1qzg== - dependencies: - "@docusaurus/module-type-aliases" "2.0.0-beta.21" - "@docusaurus/plugin-content-blog" "2.0.0-beta.21" - "@docusaurus/plugin-content-docs" "2.0.0-beta.21" - "@docusaurus/plugin-content-pages" "2.0.0-beta.21" - clsx "^1.1.1" +"@docusaurus/theme-common@2.0.1", "@docusaurus/theme-common@~2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@docusaurus/theme-common/-/theme-common-2.0.1.tgz#9594d58fbef11fe480967b5ce4cdbb3cd78d9ca3" + integrity sha512-I3b6e/ryiTQMsbES40cP0DRGnfr0E2qghVq+XecyMKjBPejISoSFEDn0MsnbW8Q26k1Dh/0qDH8QKDqaZZgLhA== + dependencies: + "@docusaurus/mdx-loader" "2.0.1" + "@docusaurus/module-type-aliases" "2.0.1" + "@docusaurus/plugin-content-blog" "2.0.1" + "@docusaurus/plugin-content-docs" "2.0.1" + "@docusaurus/plugin-content-pages" "2.0.1" + "@docusaurus/utils" "2.0.1" + "@types/history" "^4.7.11" + "@types/react" "*" + "@types/react-router-config" "*" + clsx "^1.2.1" parse-numeric-range "^1.3.0" - prism-react-renderer "^1.3.3" + prism-react-renderer "^1.3.5" tslib "^2.4.0" utility-types "^3.10.0" -"@docusaurus/theme-search-algolia@2.0.0-beta.21": - version "2.0.0-beta.21" - resolved "https://registry.yarnpkg.com/@docusaurus/theme-search-algolia/-/theme-search-algolia-2.0.0-beta.21.tgz#2891f11372e2542e4e1426c3100b72c2d30d4d68" - integrity sha512-T1jKT8MVSSfnztSqeebUOpWHPoHKtwDXtKYE0xC99JWoZ+mMfv8AFhVSoSddn54jLJjV36mxg841eHQIySMCpQ== - dependencies: - "@docsearch/react" "^3.1.0" - "@docusaurus/core" "2.0.0-beta.21" - "@docusaurus/logger" "2.0.0-beta.21" - "@docusaurus/plugin-content-docs" "2.0.0-beta.21" - "@docusaurus/theme-common" "2.0.0-beta.21" - "@docusaurus/theme-translations" "2.0.0-beta.21" - "@docusaurus/utils" "2.0.0-beta.21" - "@docusaurus/utils-validation" "2.0.0-beta.21" +"@docusaurus/theme-search-algolia@2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@docusaurus/theme-search-algolia/-/theme-search-algolia-2.0.1.tgz#0aab8407b2163f67eb4c48f1de33944e1695fa74" + integrity sha512-cw3NaOSKbYlsY6uNj4PgO+5mwyQ3aEWre5RlmvjStaz2cbD15Nr69VG8Rd/F6Q5VsCT8BvSdkPDdDG5d/ACexg== + dependencies: + "@docsearch/react" "^3.1.1" + "@docusaurus/core" "2.0.1" + "@docusaurus/logger" "2.0.1" + "@docusaurus/plugin-content-docs" "2.0.1" + "@docusaurus/theme-common" "2.0.1" + "@docusaurus/theme-translations" "2.0.1" + "@docusaurus/utils" "2.0.1" + "@docusaurus/utils-validation" "2.0.1" algoliasearch "^4.13.1" - algoliasearch-helper "^3.8.2" - clsx "^1.1.1" + algoliasearch-helper "^3.10.0" + clsx "^1.2.1" eta "^1.12.3" fs-extra "^10.1.0" lodash "^4.17.21" tslib "^2.4.0" utility-types "^3.10.0" -"@docusaurus/theme-translations@2.0.0-beta.21": - version "2.0.0-beta.21" - resolved "https://registry.yarnpkg.com/@docusaurus/theme-translations/-/theme-translations-2.0.0-beta.21.tgz#5da60ffc58de256b96316c5e0fe2733c1e83f22c" - integrity sha512-dLVT9OIIBs6MpzMb1bAy+C0DPJK3e3DNctG+ES0EP45gzEqQxzs4IsghpT+QDaOsuhNnAlosgJpFWX3rqxF9xA== +"@docusaurus/theme-translations@2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@docusaurus/theme-translations/-/theme-translations-2.0.1.tgz#955a687c974265a811bfc743d98ef3eab0379100" + integrity sha512-v1MYYlbsdX+rtKnXFcIAn9ar0Z6K0yjqnCYS0p/KLCLrfJwfJ8A3oRJw2HiaIb8jQfk1WMY2h5Qi1p4vHOekQw== dependencies: fs-extra "^10.1.0" tslib "^2.4.0" -"@docusaurus/types@2.0.0-beta.21": - version "2.0.0-beta.21" - resolved "https://registry.yarnpkg.com/@docusaurus/types/-/types-2.0.0-beta.21.tgz#36659c6c012663040dcd4cbc97b5d7a555dae229" - integrity sha512-/GH6Npmq81eQfMC/ikS00QSv9jNyO1RXEpNSx5GLA3sFX8Iib26g2YI2zqNplM8nyxzZ2jVBuvUoeODTIbTchQ== +"@docusaurus/types@2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@docusaurus/types/-/types-2.0.1.tgz#8696a70e85c4b9be80b38ac592d520f6fe72618b" + integrity sha512-o+4hAFWkj3sBszVnRTAnNqtAIuIW0bNaYyDwQhQ6bdz3RAPEq9cDKZxMpajsj4z2nRty8XjzhyufAAjxFTyrfg== dependencies: + "@types/history" "^4.7.11" + "@types/react" "*" commander "^5.1.0" - history "^4.9.0" joi "^17.6.0" react-helmet-async "^1.3.0" utility-types "^3.10.0" - webpack "^5.72.1" + webpack "^5.73.0" webpack-merge "^5.8.0" -"@docusaurus/utils-common@2.0.0-beta.21": - version "2.0.0-beta.21" - resolved "https://registry.yarnpkg.com/@docusaurus/utils-common/-/utils-common-2.0.0-beta.21.tgz#81e86ed04ad62b75e9ba6a5e7689dc23d5f36a0a" - integrity sha512-5w+6KQuJb6pUR2M8xyVuTMvO5NFQm/p8TOTDFTx60wt3p0P1rRX00v6FYsD4PK6pgmuoKjt2+Ls8dtSXc4qFpQ== +"@docusaurus/utils-common@2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@docusaurus/utils-common/-/utils-common-2.0.1.tgz#b6f2b029547f739e1431ec84abd16974edf495e0" + integrity sha512-kajCCDCXRd1HFH5EUW31MPaQcsyNlGakpkDoTBtBvpa4EIPvWaSKy7TIqYKHrZjX4tnJ0YbEJvaXfjjgdq5xSg== dependencies: tslib "^2.4.0" -"@docusaurus/utils-validation@2.0.0-beta.21": - version "2.0.0-beta.21" - resolved "https://registry.yarnpkg.com/@docusaurus/utils-validation/-/utils-validation-2.0.0-beta.21.tgz#10169661be5f8a233f4c12202ee5802ccb77400f" - integrity sha512-6NG1FHTRjv1MFzqW//292z7uCs77vntpWEbZBHk3n67aB1HoMn5SOwjLPtRDjbCgn6HCHFmdiJr6euCbjhYolg== +"@docusaurus/utils-validation@2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@docusaurus/utils-validation/-/utils-validation-2.0.1.tgz#69f7d4944288d71f00fdba6dde10f05008f04308" + integrity sha512-f14AnwFBy4/1A19zWthK+Ii80YDz+4qt8oPpK3julywXsheSxPBqgsND3LVBBvB2p3rJHvbo2m3HyB9Tco1JRw== dependencies: - "@docusaurus/logger" "2.0.0-beta.21" - "@docusaurus/utils" "2.0.0-beta.21" + "@docusaurus/logger" "2.0.1" + "@docusaurus/utils" "2.0.1" joi "^17.6.0" js-yaml "^4.1.0" tslib "^2.4.0" -"@docusaurus/utils@2.0.0-beta.21": - version "2.0.0-beta.21" - resolved "https://registry.yarnpkg.com/@docusaurus/utils/-/utils-2.0.0-beta.21.tgz#8fc4499c4cfedd29805025d930f8008cad255044" - integrity sha512-M/BrVCDmmUPZLxtiStBgzpQ4I5hqkggcpnQmEN+LbvbohjbtVnnnZQ0vptIziv1w8jry/woY+ePsyOO7O/yeLQ== +"@docusaurus/utils@2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@docusaurus/utils/-/utils-2.0.1.tgz#37b4b42e29175e5d2d811fcbf9f93bffeca7c353" + integrity sha512-u2Vdl/eoVwMfUjDCkg7FjxoiwFs/XhVVtNxQEw8cvB+qaw6QWyT73m96VZzWtUb1fDOefHoZ+bZ0ObFeKk9lMQ== dependencies: - "@docusaurus/logger" "2.0.0-beta.21" + "@docusaurus/logger" "2.0.1" "@svgr/webpack" "^6.2.1" file-loader "^6.2.0" fs-extra "^10.1.0" @@ -1900,7 +1946,7 @@ shelljs "^0.8.5" tslib "^2.4.0" url-loader "^4.1.1" - webpack "^5.72.1" + webpack "^5.73.0" "@eslint/eslintrc@^1.2.3": version "1.2.3" @@ -1974,19 +2020,7 @@ resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.3.tgz#e45e384e4b8ec16bce2fd903af78450f6bf7ec98" integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA== -"@jest/console@^28.1.1": - version "28.1.1" - resolved "https://registry.yarnpkg.com/@jest/console/-/console-28.1.1.tgz#305f8ca50b6e70413839f54c0e002b60a0f2fd7d" - integrity sha512-0RiUocPVFEm3WRMOStIHbRWllG6iW6E3/gUPnf4lkrVFyXIIDeCe+vlKeYyFOMhB2EPE6FLFCNADSOOQMaqvyA== - dependencies: - "@jest/types" "^28.1.1" - "@types/node" "*" - chalk "^4.0.0" - jest-message-util "^28.1.1" - jest-util "^28.1.1" - slash "^3.0.0" - -"@jest/console@^28.1.3": +"@jest/console@^28.1.1", "@jest/console@^28.1.3": version "28.1.3" resolved "https://registry.yarnpkg.com/@jest/console/-/console-28.1.3.tgz#2030606ec03a18c31803b8a36382762e447655df" integrity sha512-QPAkP5EwKdK/bxIr6C1I4Vs0rm2nHiANzj/Z5X2JQkrZo6IqvC4ldZ9K95tF0HdidhA8Bo6egxSzUFPYKcEXLw== @@ -2040,16 +2074,6 @@ dependencies: "@jest/types" "^28.1.3" -"@jest/environment@^28.1.1": - version "28.1.1" - resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-28.1.1.tgz#c4cbf85283278d768f816ebd1a258ea6f9e39d4f" - integrity sha512-9auVQ2GzQ7nrU+lAr8KyY838YahElTX9HVjbQPPS2XjlxQ+na18G113OoBhyBGBtD6ZnO/SrUy5WR8EzOj1/Uw== - dependencies: - "@jest/fake-timers" "^28.1.1" - "@jest/types" "^28.1.1" - "@types/node" "*" - jest-mock "^28.1.1" - "@jest/environment@^28.1.3": version "28.1.3" resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-28.1.3.tgz#abed43a6b040a4c24fdcb69eab1f97589b2d663e" @@ -2060,13 +2084,6 @@ "@types/node" "*" jest-mock "^28.1.3" -"@jest/expect-utils@^28.1.1": - version "28.1.1" - resolved "https://registry.yarnpkg.com/@jest/expect-utils/-/expect-utils-28.1.1.tgz#d84c346025b9f6f3886d02c48a6177e2b0360587" - integrity sha512-n/ghlvdhCdMI/hTcnn4qV57kQuV9OTsZzH1TTCVARANKhl6hXJqLKUkwX69ftMGpsbpt96SsDD8n8LD2d9+FRw== - dependencies: - jest-get-type "^28.0.2" - "@jest/expect-utils@^28.1.3": version "28.1.3" resolved "https://registry.yarnpkg.com/@jest/expect-utils/-/expect-utils-28.1.3.tgz#58561ce5db7cd253a7edddbc051fb39dda50f525" @@ -2074,14 +2091,6 @@ dependencies: jest-get-type "^28.0.2" -"@jest/expect@^28.1.1": - version "28.1.1" - resolved "https://registry.yarnpkg.com/@jest/expect/-/expect-28.1.1.tgz#ea4fcc8504b45835029221c0dc357c622a761326" - integrity sha512-/+tQprrFoT6lfkMj4mW/mUIfAmmk/+iQPmg7mLDIFOf2lyf7EBHaS+x3RbeR0VZVMe55IvX7QRoT/2aK3AuUXg== - dependencies: - expect "^28.1.1" - jest-snapshot "^28.1.1" - "@jest/expect@^28.1.3": version "28.1.3" resolved "https://registry.yarnpkg.com/@jest/expect/-/expect-28.1.3.tgz#9ac57e1d4491baca550f6bdbd232487177ad6a72" @@ -2090,18 +2099,6 @@ expect "^28.1.3" jest-snapshot "^28.1.3" -"@jest/fake-timers@^28.1.1": - version "28.1.1" - resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-28.1.1.tgz#47ce33296ab9d680c76076d51ddbe65ceb3337f1" - integrity sha512-BY/3+TyLs5+q87rGWrGUY5f8e8uC3LsVHS9Diz8+FV3ARXL4sNnkLlIB8dvDvRrp+LUCGM+DLqlsYubizGUjIA== - dependencies: - "@jest/types" "^28.1.1" - "@sinonjs/fake-timers" "^9.1.1" - "@types/node" "*" - jest-message-util "^28.1.1" - jest-mock "^28.1.1" - jest-util "^28.1.1" - "@jest/fake-timers@^28.1.3": version "28.1.3" resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-28.1.3.tgz#230255b3ad0a3d4978f1d06f70685baea91c640e" @@ -2114,15 +2111,6 @@ jest-mock "^28.1.3" jest-util "^28.1.3" -"@jest/globals@^28.1.1": - version "28.1.1" - resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-28.1.1.tgz#c0a7977f85e26279cc090d9adcdf82b8a34c4061" - integrity sha512-dEgl/6v7ToB4vXItdvcltJBgny0xBE6xy6IYQrPJAJggdEinGxCDMivNv7sFzPcTITGquXD6UJwYxfJ/5ZwDSg== - dependencies: - "@jest/environment" "^28.1.1" - "@jest/expect" "^28.1.1" - "@jest/types" "^28.1.1" - "@jest/globals@^28.1.3": version "28.1.3" resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-28.1.3.tgz#a601d78ddc5fdef542728309894895b4a42dc333" @@ -2163,29 +2151,13 @@ terminal-link "^2.0.0" v8-to-istanbul "^9.0.1" -"@jest/schemas@^28.0.2": - version "28.0.2" - resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-28.0.2.tgz#08c30df6a8d07eafea0aef9fb222c5e26d72e613" - integrity sha512-YVDJZjd4izeTDkij00vHHAymNXQ6WWsdChFRK86qck6Jpr3DCL5W3Is3vslviRlP+bLuMYRLbdp98amMvqudhA== - dependencies: - "@sinclair/typebox" "^0.23.3" - -"@jest/schemas@^28.1.3": +"@jest/schemas@^28.0.2", "@jest/schemas@^28.1.3": version "28.1.3" resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-28.1.3.tgz#ad8b86a66f11f33619e3d7e1dcddd7f2d40ff905" integrity sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg== dependencies: "@sinclair/typebox" "^0.24.1" -"@jest/source-map@^28.0.2": - version "28.0.2" - resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-28.0.2.tgz#914546f4410b67b1d42c262a1da7e0406b52dc90" - integrity sha512-Y9dxC8ZpN3kImkk0LkK5XCEneYMAXlZ8m5bflmSL5vrwyeUpJfentacCUg6fOb8NOpOO7hz2+l37MV77T6BFPw== - dependencies: - "@jridgewell/trace-mapping" "^0.3.7" - callsites "^3.0.0" - graceful-fs "^4.2.9" - "@jest/source-map@^28.1.2": version "28.1.2" resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-28.1.2.tgz#7fe832b172b497d6663cdff6c13b0a920e139e24" @@ -2215,28 +2187,7 @@ jest-haste-map "^28.1.3" slash "^3.0.0" -"@jest/transform@^28.1.1": - version "28.1.1" - resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-28.1.1.tgz#83541f2a3f612077c8501f49cc4e205d4e4a6b27" - integrity sha512-PkfaTUuvjUarl1EDr5ZQcCA++oXkFCP9QFUkG0yVKVmNObjhrqDy0kbMpMebfHWm3CCDHjYNem9eUSH8suVNHQ== - dependencies: - "@babel/core" "^7.11.6" - "@jest/types" "^28.1.1" - "@jridgewell/trace-mapping" "^0.3.7" - babel-plugin-istanbul "^6.1.1" - chalk "^4.0.0" - convert-source-map "^1.4.0" - fast-json-stable-stringify "^2.0.0" - graceful-fs "^4.2.9" - jest-haste-map "^28.1.1" - jest-regex-util "^28.0.2" - jest-util "^28.1.1" - micromatch "^4.0.4" - pirates "^4.0.4" - slash "^3.0.0" - write-file-atomic "^4.0.1" - -"@jest/transform@^28.1.3": +"@jest/transform@^28.1.1", "@jest/transform@^28.1.3": version "28.1.3" resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-28.1.3.tgz#59d8098e50ab07950e0f2fc0fc7ec462371281b0" integrity sha512-u5dT5di+oFI6hfcLOHGTAfmUxFRrjK+vnaP0kkVow9Md/M7V/MxqQMOz/VV25UZO8pzeA9PjfTpOu6BDuwSPQA== @@ -2257,19 +2208,7 @@ slash "^3.0.0" write-file-atomic "^4.0.1" -"@jest/types@^28.1.1": - version "28.1.1" - resolved "https://registry.yarnpkg.com/@jest/types/-/types-28.1.1.tgz#d059bbc80e6da6eda9f081f293299348bd78ee0b" - integrity sha512-vRXVqSg1VhDnB8bWcmvLzmg0Bt9CRKVgHPXqYwvWMX3TvAjeO+nRuK6+VdTKCtWOvYlmkF/HqNAL/z+N3B53Kw== - dependencies: - "@jest/schemas" "^28.0.2" - "@types/istanbul-lib-coverage" "^2.0.0" - "@types/istanbul-reports" "^3.0.0" - "@types/node" "*" - "@types/yargs" "^17.0.8" - chalk "^4.0.0" - -"@jest/types@^28.1.3": +"@jest/types@^28.1.1", "@jest/types@^28.1.3": version "28.1.3" resolved "https://registry.yarnpkg.com/@jest/types/-/types-28.1.3.tgz#b05de80996ff12512bc5ceb1d208285a7d11748b" integrity sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ== @@ -2281,7 +2220,7 @@ "@types/yargs" "^17.0.8" chalk "^4.0.0" -"@jridgewell/gen-mapping@^0.3.0": +"@jridgewell/gen-mapping@^0.3.0", "@jridgewell/gen-mapping@^0.3.2": version "0.3.2" resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz#c1aedc61e853f2bb9f5dfe6d4442d3b565b253b9" integrity sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A== @@ -2313,15 +2252,7 @@ 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.0", "@jridgewell/trace-mapping@^0.3.7": - version "0.3.13" - resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.13.tgz#dcfe3e95f224c8fe97a87a5235defec999aa92ea" - integrity sha512-o1xbKhp9qnIAoHJSWd6KlCZfqslL4valSF81H8ImioOAxluWYWOpWkpyktY2vnt4tbrX9XYaxovq6cgowaJp2w== - dependencies: - "@jridgewell/resolve-uri" "^3.0.3" - "@jridgewell/sourcemap-codec" "^1.4.10" - -"@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.13", "@jridgewell/trace-mapping@^0.3.9": +"@jridgewell/trace-mapping@^0.3.0", "@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.13", "@jridgewell/trace-mapping@^0.3.7", "@jridgewell/trace-mapping@^0.3.9": version "0.3.14" resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.14.tgz#b231a081d8f66796e475ad588a1ef473112701ed" integrity sha512-bJWEfQ9lPTvm3SneWwRFVLzrh6nhjwqw7TUFFBEMzwvg7t7PCDenf2lDwqo4NQXzdpgBXyFgDWnQA+2vkruksQ== @@ -2329,44 +2260,49 @@ "@jridgewell/resolve-uri" "^3.0.3" "@jridgewell/sourcemap-codec" "^1.4.10" +"@jsdevtools/ono@^7.1.3": + version "7.1.3" + resolved "https://registry.yarnpkg.com/@jsdevtools/ono/-/ono-7.1.3.tgz#9df03bbd7c696a5c58885c34aa06da41c8543796" + integrity sha512-4JQNk+3mVzK3xh2rqd6RB4J46qUR19azEHBneZyTZM+c456qOrbbM/5xcR8huNCCcbVt7+UmizG6GuUvPvKUYg== + "@leichtgewicht/ip-codec@^2.0.1": version "2.0.4" resolved "https://registry.yarnpkg.com/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz#b2ac626d6cb9c8718ab459166d4bb405b8ffa78b" integrity sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A== -"@lerna/add@5.4.2": - version "5.4.2" - resolved "https://registry.yarnpkg.com/@lerna/add/-/add-5.4.2.tgz#01cc9f14d1928bca0c0c107ebbe4834203967b8d" - integrity sha512-nkQLHIQH447x0+Rzo2ynJMUedblUk/HFxwWVWvxs4QyyB4zI1B0xuoNSXCgu34Xc/uED0DuUp/ZDc16LtPVK+Q== +"@lerna/add@5.4.3": + version "5.4.3" + resolved "https://registry.yarnpkg.com/@lerna/add/-/add-5.4.3.tgz#633e3ddaf342fd1b04161439a266aed9fb37e82e" + integrity sha512-wBjBHX/A0nSiVGJDq5wNpqR+zrxKFREeKrqvIXGmAgcwpDjp76JLVhdSdQns+X+AYsf13NFaNhBqfGlF5SZNnQ== dependencies: - "@lerna/bootstrap" "5.4.2" - "@lerna/command" "5.4.2" - "@lerna/filter-options" "5.4.2" - "@lerna/npm-conf" "5.4.2" - "@lerna/validation-error" "5.4.2" + "@lerna/bootstrap" "5.4.3" + "@lerna/command" "5.4.3" + "@lerna/filter-options" "5.4.3" + "@lerna/npm-conf" "5.4.3" + "@lerna/validation-error" "5.4.3" dedent "^0.7.0" npm-package-arg "8.1.1" p-map "^4.0.0" pacote "^13.6.1" semver "^7.3.4" -"@lerna/bootstrap@5.4.2": - version "5.4.2" - resolved "https://registry.yarnpkg.com/@lerna/bootstrap/-/bootstrap-5.4.2.tgz#f33c196c372c41a3aca2c918aa64523d37a51323" - integrity sha512-rw/4bOrYHn4DxqkTEf/A0Y/Ma000K+MZbXx5wTct5UTHgshFsocLlb7BwGuU0t4foHEIYnz5AU71e7/Q6JKY7Q== - dependencies: - "@lerna/command" "5.4.2" - "@lerna/filter-options" "5.4.2" - "@lerna/has-npm-version" "5.4.2" - "@lerna/npm-install" "5.4.2" - "@lerna/package-graph" "5.4.2" - "@lerna/pulse-till-done" "5.4.2" - "@lerna/rimraf-dir" "5.4.2" - "@lerna/run-lifecycle" "5.4.2" - "@lerna/run-topologically" "5.4.2" - "@lerna/symlink-binary" "5.4.2" - "@lerna/symlink-dependencies" "5.4.2" - "@lerna/validation-error" "5.4.2" +"@lerna/bootstrap@5.4.3": + version "5.4.3" + resolved "https://registry.yarnpkg.com/@lerna/bootstrap/-/bootstrap-5.4.3.tgz#69d744710c3ac386468ff0ead4e4386d4077ae63" + integrity sha512-9mruEpXD2p8mG9Feak0QzU+JcROsJ8J0MvY7gTGtUqQJqBIA6HGEYXQueHbcl+jGdZyTZOz139KsavPui55QEQ== + dependencies: + "@lerna/command" "5.4.3" + "@lerna/filter-options" "5.4.3" + "@lerna/has-npm-version" "5.4.3" + "@lerna/npm-install" "5.4.3" + "@lerna/package-graph" "5.4.3" + "@lerna/pulse-till-done" "5.4.3" + "@lerna/rimraf-dir" "5.4.3" + "@lerna/run-lifecycle" "5.4.3" + "@lerna/run-topologically" "5.4.3" + "@lerna/symlink-binary" "5.4.3" + "@lerna/symlink-dependencies" "5.4.3" + "@lerna/validation-error" "5.4.3" "@npmcli/arborist" "5.3.0" dedent "^0.7.0" get-port "^5.1.1" @@ -2378,100 +2314,100 @@ p-waterfall "^2.1.1" semver "^7.3.4" -"@lerna/changed@5.4.2": - version "5.4.2" - resolved "https://registry.yarnpkg.com/@lerna/changed/-/changed-5.4.2.tgz#9f36e9949aed42985cd369723ecaecf2df6fb9b0" - integrity sha512-QNEbOlIQkwQvWQozHZMwAVT9TsA1ybBV6VDb1VF/Awg7dsJYdWm/QUwztiXxtV3xzu3W9BzEuHeS3tctaoRgGg== +"@lerna/changed@5.4.3": + version "5.4.3" + resolved "https://registry.yarnpkg.com/@lerna/changed/-/changed-5.4.3.tgz#527a32f2a5bddd0f69d44ac3aaa0174ef9661936" + integrity sha512-q1ARClN0pLZ53hBPiR4TJB6GGq17Yhwb6iKwQryZBWuOEc87NqqRtIPWswk5NISj2qcPQlbyrnB3RshwLkyo7w== dependencies: - "@lerna/collect-updates" "5.4.2" - "@lerna/command" "5.4.2" - "@lerna/listable" "5.4.2" - "@lerna/output" "5.4.2" + "@lerna/collect-updates" "5.4.3" + "@lerna/command" "5.4.3" + "@lerna/listable" "5.4.3" + "@lerna/output" "5.4.3" -"@lerna/check-working-tree@5.4.2": - version "5.4.2" - resolved "https://registry.yarnpkg.com/@lerna/check-working-tree/-/check-working-tree-5.4.2.tgz#99786015d7f0acac602d029ccbaaaf57142e6037" - integrity sha512-N0+mcftjnoVvepzo6CVuKcqUULhNi5qxUAAjDeWvwfLu4ef9G2jxymE61mFtSmqjACW8zywT4rtp7hHNElmRbQ== +"@lerna/check-working-tree@5.4.3": + version "5.4.3" + resolved "https://registry.yarnpkg.com/@lerna/check-working-tree/-/check-working-tree-5.4.3.tgz#50576cd9c5abfc405ab6a95a61eab4f2e797d07a" + integrity sha512-OnGqIDW8sRcAQDV8mdtvYIh0EIv2FXm+4/qKAveFhyDkWWpnUF/ZSIa/CFVHYoKFFzb5WOBouml2oqWPyFHhbA== dependencies: - "@lerna/collect-uncommitted" "5.4.2" - "@lerna/describe-ref" "5.4.2" - "@lerna/validation-error" "5.4.2" + "@lerna/collect-uncommitted" "5.4.3" + "@lerna/describe-ref" "5.4.3" + "@lerna/validation-error" "5.4.3" -"@lerna/child-process@5.4.2": - version "5.4.2" - resolved "https://registry.yarnpkg.com/@lerna/child-process/-/child-process-5.4.2.tgz#3c41e1e8fdbd81106d2e33ae23ed77017e1c8e39" - integrity sha512-ugaTl6SmmAIA5lvkGQpPN9u8ZpjWymHpD02MuRDQWxUMLzzY5t+YBave/JAOBTdhaCBsenZFp1dcC4WxBWGncw== +"@lerna/child-process@5.4.3": + version "5.4.3" + resolved "https://registry.yarnpkg.com/@lerna/child-process/-/child-process-5.4.3.tgz#b048145774108cd0bbcfd0ebd6ed7aeb78bfc9bc" + integrity sha512-p7wJ8QT8kXHk4EAy/oyjCD603n1F61Tm4l6thF1h9MAw3ejSvvUZ0BKSg9vPoZ/YMAC9ZuVm1mFsyoi5RlvIHw== dependencies: chalk "^4.1.0" execa "^5.0.0" strong-log-transformer "^2.1.0" -"@lerna/clean@5.4.2": - version "5.4.2" - resolved "https://registry.yarnpkg.com/@lerna/clean/-/clean-5.4.2.tgz#b12a649c12184326177508cdad9a3c6db50f4fde" - integrity sha512-kOxS5NjFm/YjcsPZGXJF6z0rzIeFgyF3EQfNHK5zpcEqU4YGqjN3WGoeCosVpxadQz7RFQVgTO9aPCYKSZR7fQ== +"@lerna/clean@5.4.3": + version "5.4.3" + resolved "https://registry.yarnpkg.com/@lerna/clean/-/clean-5.4.3.tgz#83abd846bc91ffbf0ccf0b153061d73ef175c8ed" + integrity sha512-Kl04A5NqywbBf7azSt9UJqHzRCXogHNpEh3Yng5+Y4ggunP4zVabzdoYGdggS4AsbDuIOKECx9BmCiDwJ4Qv8g== dependencies: - "@lerna/command" "5.4.2" - "@lerna/filter-options" "5.4.2" - "@lerna/prompt" "5.4.2" - "@lerna/pulse-till-done" "5.4.2" - "@lerna/rimraf-dir" "5.4.2" + "@lerna/command" "5.4.3" + "@lerna/filter-options" "5.4.3" + "@lerna/prompt" "5.4.3" + "@lerna/pulse-till-done" "5.4.3" + "@lerna/rimraf-dir" "5.4.3" p-map "^4.0.0" p-map-series "^2.1.0" p-waterfall "^2.1.1" -"@lerna/cli@5.4.2": - version "5.4.2" - resolved "https://registry.yarnpkg.com/@lerna/cli/-/cli-5.4.2.tgz#a9d747553841c35b0267eba2316856cacbccbbfb" - integrity sha512-gC+zu8uvUqzMewZq0o5JqSU+PZvd9FKJxxGR3MjSUWoCcGlkwyrG8VVZLTtGMCi++kQSnKy/N9cG7ncQD0N6MQ== +"@lerna/cli@5.4.3": + version "5.4.3" + resolved "https://registry.yarnpkg.com/@lerna/cli/-/cli-5.4.3.tgz#2609d528c43b355418a84e6490184b97a2995c4e" + integrity sha512-avnRUZ51nSZMR+tOcMQZ61hnVbDNdmyaVRxfSLByH5OFY+KPnfaTPv1z4ub+rEtV2NTI5DYWAqxupNGLuu9bQQ== dependencies: - "@lerna/global-options" "5.4.2" + "@lerna/global-options" "5.4.3" dedent "^0.7.0" npmlog "^6.0.2" yargs "^16.2.0" -"@lerna/collect-uncommitted@5.4.2": - version "5.4.2" - resolved "https://registry.yarnpkg.com/@lerna/collect-uncommitted/-/collect-uncommitted-5.4.2.tgz#3bceb4ffe24da5e21e2f890acec81132d0697924" - integrity sha512-VdLD0QWK4dO5U5Pnz3QyJ5JUGHaIEudU4ZqQ/V9uBCZO3Z0bMbmneUljvH/J7XCT0HOkcDhV7KBZvV/yem83cw== +"@lerna/collect-uncommitted@5.4.3": + version "5.4.3" + resolved "https://registry.yarnpkg.com/@lerna/collect-uncommitted/-/collect-uncommitted-5.4.3.tgz#198e981767e09271f0ac9f91fe942754a1f5f8a8" + integrity sha512-/0u95DbwP1+orGifkPRqaIqD8Ui2vpy9KmeuHTui+4iR/ZvZbgIouMdOhH+fU9e5hfLF6geUKnEFjL+Lxa4qdg== dependencies: - "@lerna/child-process" "5.4.2" + "@lerna/child-process" "5.4.3" chalk "^4.1.0" npmlog "^6.0.2" -"@lerna/collect-updates@5.4.2": - version "5.4.2" - resolved "https://registry.yarnpkg.com/@lerna/collect-updates/-/collect-updates-5.4.2.tgz#f320b15bfaa344aa5b7113379dff4765ac0decee" - integrity sha512-PshsjmoNpLkWdKpx2LRqU37PQnFViejhS+tYowKxy5q5XRE/LnsVrFAcNxnmo4zdMb9VuIOOHBRItjETWrwcag== +"@lerna/collect-updates@5.4.3": + version "5.4.3" + resolved "https://registry.yarnpkg.com/@lerna/collect-updates/-/collect-updates-5.4.3.tgz#074ce2b208e54ff7948398d005fcb01249284ee0" + integrity sha512-TU3+hcwqHWKSK0J+NWNo5pjP7nnCzhnFfL/UfCG6oNAUb6PnmKSgZ9NqjOXja1WjJPrtFDIGoIYzLJZCePFyLw== dependencies: - "@lerna/child-process" "5.4.2" - "@lerna/describe-ref" "5.4.2" + "@lerna/child-process" "5.4.3" + "@lerna/describe-ref" "5.4.3" minimatch "^3.0.4" npmlog "^6.0.2" slash "^3.0.0" -"@lerna/command@5.4.2": - version "5.4.2" - resolved "https://registry.yarnpkg.com/@lerna/command/-/command-5.4.2.tgz#2ef5bb7d964090b0d57013fed287a2e3dd5f1e8e" - integrity sha512-RvSpAPghQoAUzpjKxxoq6ZezDtymZnimIilRjUCzdZWG68QznkTPaoGP3Yt/pPRoZIXLFeXBndcR+Go8BY0z+Q== +"@lerna/command@5.4.3": + version "5.4.3" + resolved "https://registry.yarnpkg.com/@lerna/command/-/command-5.4.3.tgz#9d492a8e66d06a382005a89a79d05a06a1426ef7" + integrity sha512-xBdbqcvHeWltH4QvWcmH9dKjWzD+KXfhSP0NBgwED8ZNMxSuzBz2OS3Ps8KbLemXNP8P0yhjoPgitGmxxeY/ow== dependencies: - "@lerna/child-process" "5.4.2" - "@lerna/package-graph" "5.4.2" - "@lerna/project" "5.4.2" - "@lerna/validation-error" "5.4.2" - "@lerna/write-log-file" "5.4.2" + "@lerna/child-process" "5.4.3" + "@lerna/package-graph" "5.4.3" + "@lerna/project" "5.4.3" + "@lerna/validation-error" "5.4.3" + "@lerna/write-log-file" "5.4.3" clone-deep "^4.0.1" dedent "^0.7.0" execa "^5.0.0" is-ci "^2.0.0" npmlog "^6.0.2" -"@lerna/conventional-commits@5.4.2": - version "5.4.2" - resolved "https://registry.yarnpkg.com/@lerna/conventional-commits/-/conventional-commits-5.4.2.tgz#65dec35922070078ec4cdd1131bf23d80e011e60" - integrity sha512-ovWKGDCMshLBcfgUICoyCOHFR9uCwQknvW6rlPZxjd5ajKHUIAW5zEQoSDkciELqfNUIWEKMu1MQcaJpAz/T3w== +"@lerna/conventional-commits@5.4.3": + version "5.4.3" + resolved "https://registry.yarnpkg.com/@lerna/conventional-commits/-/conventional-commits-5.4.3.tgz#1f619991aad35a696eca458fb9b966c4b85a1fe4" + integrity sha512-GHZdpCUMqalO692O7Mqj5idYftZWaCylb4TSPkHEU8xSfxtufp8lM+Q8Xxv35ymzs0pBrmzSLZIpIMQ9awDABg== dependencies: - "@lerna/validation-error" "5.4.2" + "@lerna/validation-error" "5.4.3" conventional-changelog-angular "^5.0.12" conventional-changelog-core "^4.2.4" conventional-recommended-bump "^6.1.0" @@ -2482,24 +2418,24 @@ pify "^5.0.0" semver "^7.3.4" -"@lerna/create-symlink@5.4.2": - version "5.4.2" - resolved "https://registry.yarnpkg.com/@lerna/create-symlink/-/create-symlink-5.4.2.tgz#78e09b8f121cdb2bf3ab05bf4c57ea51cb10d2cc" - integrity sha512-bD54HAcYnSWurW5z2TFvtmWOkpPPYMvNRpoDWFACQ98sBENgJSgFOnGBiui8uYkRB+dUjegIelSfIRsC3+VYsQ== +"@lerna/create-symlink@5.4.3": + version "5.4.3" + resolved "https://registry.yarnpkg.com/@lerna/create-symlink/-/create-symlink-5.4.3.tgz#fda167628dc169ced79a004609b5c823157d8cfc" + integrity sha512-QxmKCHA5woed/qJjKNkOSgkbhhmPV3g61F499uVwPtyPivn9Y2mbeVPMQrLkb0CL9M6aJ7vE4fi6T5XMqsbNpg== dependencies: cmd-shim "^5.0.0" fs-extra "^9.1.0" npmlog "^6.0.2" -"@lerna/create@5.4.2": - version "5.4.2" - resolved "https://registry.yarnpkg.com/@lerna/create/-/create-5.4.2.tgz#039cb3f6c850908130c671f03ab9d691cddb4e93" - integrity sha512-LGkmNl/t7uywboQXX0SkIGcl52Gc6wahQS8eZEQN7arQvYWAQglArnQrkB8DlfxTbRrROz1KZky7dl67WObtYw== +"@lerna/create@5.4.3": + version "5.4.3" + resolved "https://registry.yarnpkg.com/@lerna/create/-/create-5.4.3.tgz#acf6528de1f42465d6824b4d048b39f7ce49af4b" + integrity sha512-VLrcfjBNzhUie5tLWSEa203BljirEG7OH62lgoLqR9qA/FVozoWrRKmly/EVw8Q7+5UNw/ciTzXnbm0BPXl6tg== dependencies: - "@lerna/child-process" "5.4.2" - "@lerna/command" "5.4.2" - "@lerna/npm-conf" "5.4.2" - "@lerna/validation-error" "5.4.2" + "@lerna/child-process" "5.4.3" + "@lerna/command" "5.4.3" + "@lerna/npm-conf" "5.4.3" + "@lerna/validation-error" "5.4.3" dedent "^0.7.0" fs-extra "^9.1.0" globby "^11.0.2" @@ -2515,218 +2451,218 @@ whatwg-url "^8.4.0" yargs-parser "20.2.4" -"@lerna/describe-ref@5.4.2": - version "5.4.2" - resolved "https://registry.yarnpkg.com/@lerna/describe-ref/-/describe-ref-5.4.2.tgz#4d2382c56b48be38a1c688b7a3fc867bc9a321af" - integrity sha512-aBDF8c4rKBrhJwp0/DJsflJQKIN2tYFGEnkvAhDHO05mzvLF1VHVN5YCuMbZTH0O0wr2kx9Rbs2lQjE5SVWkoQ== +"@lerna/describe-ref@5.4.3": + version "5.4.3" + resolved "https://registry.yarnpkg.com/@lerna/describe-ref/-/describe-ref-5.4.3.tgz#3b515d966e6804864f68950c13bf306c5ad74141" + integrity sha512-g3R5exjZy5MOcMPzgU8+t7sGEt4gGMKQLUFfg5NAceera6RGWUieY8OWL6jlacgyM4c8iyh15Tu14YwzL2DiBA== dependencies: - "@lerna/child-process" "5.4.2" + "@lerna/child-process" "5.4.3" npmlog "^6.0.2" -"@lerna/diff@5.4.2": - version "5.4.2" - resolved "https://registry.yarnpkg.com/@lerna/diff/-/diff-5.4.2.tgz#a52d4298e2f942cfddc98cb7d8e497e2fbfd02f9" - integrity sha512-5rFeJ98Z407wT3Vuvk59o3VHwHzSzbEgiDu1Um4A0SmGXyCHUkUjIjaXv4q+IDgqgwkQKY7/rVEyQOdygR1XxQ== +"@lerna/diff@5.4.3": + version "5.4.3" + resolved "https://registry.yarnpkg.com/@lerna/diff/-/diff-5.4.3.tgz#724644c55dae7a4cf196d5db922238a3dde079e2" + integrity sha512-MJKvy/XC2RpS/gqg7GguQsBv5rZm+S5P/kfnqhapXCniGviZfq+JfY5TQCsAP9umiybR2sB004K1Z7heyU8uMA== dependencies: - "@lerna/child-process" "5.4.2" - "@lerna/command" "5.4.2" - "@lerna/validation-error" "5.4.2" + "@lerna/child-process" "5.4.3" + "@lerna/command" "5.4.3" + "@lerna/validation-error" "5.4.3" npmlog "^6.0.2" -"@lerna/exec@5.4.2": - version "5.4.2" - resolved "https://registry.yarnpkg.com/@lerna/exec/-/exec-5.4.2.tgz#8edf6ce79513ea9b5f73d07e78cc9b2a0a390cb2" - integrity sha512-tnucfUP/JKbiQ71XssPyjc6ysxwzWy5Munlv9Zt919czXkRejjjUkvnUPjdaBLALzvSLF2KYyMo6aS7WMetDaw== - dependencies: - "@lerna/child-process" "5.4.2" - "@lerna/command" "5.4.2" - "@lerna/filter-options" "5.4.2" - "@lerna/profiler" "5.4.2" - "@lerna/run-topologically" "5.4.2" - "@lerna/validation-error" "5.4.2" +"@lerna/exec@5.4.3": + version "5.4.3" + resolved "https://registry.yarnpkg.com/@lerna/exec/-/exec-5.4.3.tgz#85427f565fda9dcb25f76428d30baf0da007be5f" + integrity sha512-BLrva/KV6JWTV+7h7h+NQDsxpz0z1Nh99BUqqvZDzGIKMey4c1fo+CQGac77TsAophnv0ieFgHkSmrC6NXJa9g== + dependencies: + "@lerna/child-process" "5.4.3" + "@lerna/command" "5.4.3" + "@lerna/filter-options" "5.4.3" + "@lerna/profiler" "5.4.3" + "@lerna/run-topologically" "5.4.3" + "@lerna/validation-error" "5.4.3" p-map "^4.0.0" -"@lerna/filter-options@5.4.2": - version "5.4.2" - resolved "https://registry.yarnpkg.com/@lerna/filter-options/-/filter-options-5.4.2.tgz#e6856b2212cf62274901ecc72ab3c56ea6346870" - integrity sha512-nEFn6yVtAQfKuit2A+rREzb967ydV728qmx7JGC1LDoqT2YQ1A4SQ30XqkPbL0/li48Uf1UCBxRuk/uoCcORHA== +"@lerna/filter-options@5.4.3": + version "5.4.3" + resolved "https://registry.yarnpkg.com/@lerna/filter-options/-/filter-options-5.4.3.tgz#2447ea9f5a4d03bf772fb47fea727d085fe8aa01" + integrity sha512-581GE81BSWgS9za4tBv1nwZ2ImgH7UO3xil1b7xogvc/iGwM0MgOwt9f1MrS5ZOliNnme4cSZEGFe+QWPXCE4A== dependencies: - "@lerna/collect-updates" "5.4.2" - "@lerna/filter-packages" "5.4.2" + "@lerna/collect-updates" "5.4.3" + "@lerna/filter-packages" "5.4.3" dedent "^0.7.0" npmlog "^6.0.2" -"@lerna/filter-packages@5.4.2": - version "5.4.2" - resolved "https://registry.yarnpkg.com/@lerna/filter-packages/-/filter-packages-5.4.2.tgz#0a601a63f48b81e4862f893b7a9ba8e80678b8fe" - integrity sha512-CQZLcKpNyZI1ods/3BU9EZZBfCwwEE73unOftNjBtKiIMjW9EzvEda671ivixSf2b4FXJOlocrm3v0+8vKOAKQ== +"@lerna/filter-packages@5.4.3": + version "5.4.3" + resolved "https://registry.yarnpkg.com/@lerna/filter-packages/-/filter-packages-5.4.3.tgz#fdcad77f8ce76012a585d6ef12c3eba732c46aa9" + integrity sha512-W5OVMUjXh/Zii17FCSbIf/6Q3Bo5ETMAWMZ6EpHSU99M0kdvgpjXj3VUSjiCzwccqIa2EZjaua0RWSbOtfZCVg== dependencies: - "@lerna/validation-error" "5.4.2" + "@lerna/validation-error" "5.4.3" multimatch "^5.0.0" npmlog "^6.0.2" -"@lerna/get-npm-exec-opts@5.4.2": - version "5.4.2" - resolved "https://registry.yarnpkg.com/@lerna/get-npm-exec-opts/-/get-npm-exec-opts-5.4.2.tgz#c90b126cbc3c4b182f44d740e313ac7868e51795" - integrity sha512-DzeagB9ir2Law3B/A1ZPiPTnG3G+cD8s/FsOnqbmRJZ9Oc4bP2W1Znnhk1rQ+4fL/eq7fLGlCAXS1bKKq8I+lw== +"@lerna/get-npm-exec-opts@5.4.3": + version "5.4.3" + resolved "https://registry.yarnpkg.com/@lerna/get-npm-exec-opts/-/get-npm-exec-opts-5.4.3.tgz#9cf0d299ae534adc0d5efe883e304bd5c3e14076" + integrity sha512-q/3zQvlwTpAh6HVtVGOTuCGIgkhtCPK9CcHRo09c0Q3LQk5MsZYkPmJe0ujU1Gf7pILzQA5tnCy56eWT5uMPUg== dependencies: npmlog "^6.0.2" -"@lerna/get-packed@5.4.2": - version "5.4.2" - resolved "https://registry.yarnpkg.com/@lerna/get-packed/-/get-packed-5.4.2.tgz#579bbc0f9b15d61d441ab5b0788fd97e1f61ead3" - integrity sha512-MCUqeSCWMb2xIHeHB2d74nAj5e5l4a+DKGQFI23bJJxmi2hEhqnNCrOYKaNXeNS+Th6gQiAZ4aMSSBlKEMOeKg== +"@lerna/get-packed@5.4.3": + version "5.4.3" + resolved "https://registry.yarnpkg.com/@lerna/get-packed/-/get-packed-5.4.3.tgz#5a44b51b515b1d8b7e194772e4b8ec4419df9204" + integrity sha512-y97plqJmrTwnZE9EH0MhtwnVHOF/revnH95fD2UyUpGrxdAFvbE7rs3A9zrSxurFLn4q6qWBKONwQLccQSTBTA== dependencies: fs-extra "^9.1.0" ssri "^9.0.1" tar "^6.1.0" -"@lerna/github-client@5.4.2": - version "5.4.2" - resolved "https://registry.yarnpkg.com/@lerna/github-client/-/github-client-5.4.2.tgz#f47ee418cc35bc36a17b014b37fdf6df48bf8287" - integrity sha512-qYyw97hLLHvTrt6dw1g3HC9ZxABOcnkFS75C86MdZDf/9Itq3HpDU8WIFQJtu3AVV/vZGDAwh+dt2t8OLPGXwg== +"@lerna/github-client@5.4.3": + version "5.4.3" + resolved "https://registry.yarnpkg.com/@lerna/github-client/-/github-client-5.4.3.tgz#30e37a357eff5b8c10c2fea8069f0df99932d8ea" + integrity sha512-P/i64IUDw72YvS5lTciCLAxvjliN2lZSDZSqH59kQ4m2dma0dChiLTreq1Ei8xyY124oacARwxxQCN95m2u3nw== dependencies: - "@lerna/child-process" "5.4.2" + "@lerna/child-process" "5.4.3" "@octokit/plugin-enterprise-rest" "^6.0.1" "@octokit/rest" "^19.0.3" git-url-parse "^12.0.0" npmlog "^6.0.2" -"@lerna/gitlab-client@5.4.2": - version "5.4.2" - resolved "https://registry.yarnpkg.com/@lerna/gitlab-client/-/gitlab-client-5.4.2.tgz#6b24b2c9fa6a2ec1b286f1a08a02b6bda283cb9f" - integrity sha512-AzQRIaBuJ/SyDoEVuoDgC2iGxJw00FhbNL3qYLPBP2tav/EFbVtyhwcC9PFC9ICdEn9rmumbxPFYAV6/vsETYA== +"@lerna/gitlab-client@5.4.3": + version "5.4.3" + resolved "https://registry.yarnpkg.com/@lerna/gitlab-client/-/gitlab-client-5.4.3.tgz#ecf81a0400ad199e9542676519ecf1a5bb898666" + integrity sha512-EEr5OkdiS7ev2X9jaknr3UUksPajij1nGFFhPXpAexAEkJYSRjdSvfPtd4ssTViIHMGHKMcNcGrMW+ESly1lpw== dependencies: node-fetch "^2.6.1" npmlog "^6.0.2" whatwg-url "^8.4.0" -"@lerna/global-options@5.4.2": - version "5.4.2" - resolved "https://registry.yarnpkg.com/@lerna/global-options/-/global-options-5.4.2.tgz#75dd4056ca3199ca8a4089bdb302b3f935ab310c" - integrity sha512-OZ55Fu3Mk4nm/d3rUTlFi8TcjGeZ6mxeudwWGCjCaR3N6KxhnhWwgO9Owc1ZnzIxDgcI6SOPxo4N8rSfDtR4+w== +"@lerna/global-options@5.4.3": + version "5.4.3" + resolved "https://registry.yarnpkg.com/@lerna/global-options/-/global-options-5.4.3.tgz#5603fd90a69ac8585d413d743ab03f7da18e2f0c" + integrity sha512-e0TVIHLl0IULJWfLA9uGOIYnI3MVAjTp9I0p/9u3fC62dQxJBhoy5/9+y2zuu85MTB+4XTVi2m8G99H9pfBhMA== -"@lerna/has-npm-version@5.4.2": - version "5.4.2" - resolved "https://registry.yarnpkg.com/@lerna/has-npm-version/-/has-npm-version-5.4.2.tgz#ee61390cb1c62ceadefa5f3cfa730ceb14b8afca" - integrity sha512-uYDJuCNZLSaeaEwC4ACFYvTyL3rUGt1+/zB+CsqYJRm97y6gOwlnm5SGSsfEXtIf9BlnInNW+r/lh03nqaadAQ== +"@lerna/has-npm-version@5.4.3": + version "5.4.3" + resolved "https://registry.yarnpkg.com/@lerna/has-npm-version/-/has-npm-version-5.4.3.tgz#721cd987d02cfebc6e6ab953f888009a62f3e2e0" + integrity sha512-Vu5etw5vXEbYLOO26lO3u5gEjX9vWUjqLTQfNEnJxflaH9JWw2NNJ/6nXG0hqc8kEmMdhabrw+FHSKaO9ZQygw== dependencies: - "@lerna/child-process" "5.4.2" + "@lerna/child-process" "5.4.3" semver "^7.3.4" -"@lerna/import@5.4.2": - version "5.4.2" - resolved "https://registry.yarnpkg.com/@lerna/import/-/import-5.4.2.tgz#15caa1863ae06efd2528fae4a40f05d5c4d3685a" - integrity sha512-wuW32z/ayFvlSUTZfKZ5cCkg7VkiQJC3vETKLb055T2Vn6LKEpIcbTqyh0v8+Vxiy+rM7I8zu+MOIcJ6oZRW8Q== +"@lerna/import@5.4.3": + version "5.4.3" + resolved "https://registry.yarnpkg.com/@lerna/import/-/import-5.4.3.tgz#c3b552f53bf9d49abc7167dfbcc54ff9211e8d3d" + integrity sha512-SRUyITjhqbN7JOrUHskaqbppiq8yqpSLw1+tseT3D3HdYQQjvQzR1GjBVm+LZKlHRi9qqku9fqUNQf9AqbtysA== dependencies: - "@lerna/child-process" "5.4.2" - "@lerna/command" "5.4.2" - "@lerna/prompt" "5.4.2" - "@lerna/pulse-till-done" "5.4.2" - "@lerna/validation-error" "5.4.2" + "@lerna/child-process" "5.4.3" + "@lerna/command" "5.4.3" + "@lerna/prompt" "5.4.3" + "@lerna/pulse-till-done" "5.4.3" + "@lerna/validation-error" "5.4.3" dedent "^0.7.0" fs-extra "^9.1.0" p-map-series "^2.1.0" -"@lerna/info@5.4.2": - version "5.4.2" - resolved "https://registry.yarnpkg.com/@lerna/info/-/info-5.4.2.tgz#815e09ac3363bc939d70fbca5df5223a33b80b7b" - integrity sha512-kK/0Hs8nD0lyU+rQOB2MRQRErzYVba0I5NQXmHnqyLYsj1gSGh8GO9U/uWbihN3YuSdNMI/DpPDmU/fS++EdNw== +"@lerna/info@5.4.3": + version "5.4.3" + resolved "https://registry.yarnpkg.com/@lerna/info/-/info-5.4.3.tgz#f35c68b97d05734d418d36a83be7dea138b280e0" + integrity sha512-cO0jWK2zcU9fsnoR2aqYU1IqNxWBkLvvQcTiodPqMsTAVh2F8cbwUXptWJyvsyCkKqO86axa7h6AbeF9rHRj0g== dependencies: - "@lerna/command" "5.4.2" - "@lerna/output" "5.4.2" + "@lerna/command" "5.4.3" + "@lerna/output" "5.4.3" envinfo "^7.7.4" -"@lerna/init@5.4.2": - version "5.4.2" - resolved "https://registry.yarnpkg.com/@lerna/init/-/init-5.4.2.tgz#6c1b45e997e96260983ff2a511edb01228174bb9" - integrity sha512-b9rLqkO22LL2eKs7+b95gkon8NE153X1jKbCxIzN2GsquKKKePFMjSE7LsUo8ZrstJS5i9rOT7yrzuLKynp7aw== +"@lerna/init@5.4.3": + version "5.4.3" + resolved "https://registry.yarnpkg.com/@lerna/init/-/init-5.4.3.tgz#7ff95984864daecfc8f152b4456f9e17da218af9" + integrity sha512-cicNfMuswF+8S5RhbvCnXIrdNWTS5/ajwGYOv85x/Gu2FOJ1eqJ4W4Ai6ybANBefErE4+7aSGl/kt/+sRvTeTw== dependencies: - "@lerna/child-process" "5.4.2" - "@lerna/command" "5.4.2" - "@lerna/project" "5.4.2" + "@lerna/child-process" "5.4.3" + "@lerna/command" "5.4.3" + "@lerna/project" "5.4.3" fs-extra "^9.1.0" p-map "^4.0.0" write-json-file "^4.3.0" -"@lerna/link@5.4.2": - version "5.4.2" - resolved "https://registry.yarnpkg.com/@lerna/link/-/link-5.4.2.tgz#62dbc6c8aec11aeafffc43b3f910c911b96d78a4" - integrity sha512-il4qFlqsFa76ag7pLxSS8U5XqvQ22T/JhcHOSNVVoMjUi9cFmUCjUHVKneXAa+58fEwoLCN6Hm7NiO9Df3nB1w== +"@lerna/link@5.4.3": + version "5.4.3" + resolved "https://registry.yarnpkg.com/@lerna/link/-/link-5.4.3.tgz#feaa02124a75c2a9e5990e88b2f4f73c21081ae4" + integrity sha512-DY6PQYE2g1a5QGDXCoajr8hl87m83vmfUIz1342x1qwWHmfRLfS3KTPPfa5bsZk/ABVOrqjjz/v3m4SEJ4LC5A== dependencies: - "@lerna/command" "5.4.2" - "@lerna/package-graph" "5.4.2" - "@lerna/symlink-dependencies" "5.4.2" + "@lerna/command" "5.4.3" + "@lerna/package-graph" "5.4.3" + "@lerna/symlink-dependencies" "5.4.3" p-map "^4.0.0" slash "^3.0.0" -"@lerna/list@5.4.2": - version "5.4.2" - resolved "https://registry.yarnpkg.com/@lerna/list/-/list-5.4.2.tgz#fd694e9038308f1a1e9dd17b410658b5c5dbdc8d" - integrity sha512-DFSKgNFkdoUXQkwkvj18dGZ0s8IKXd9LrenqOzSfdKqESbF/9ChVgRYmcJeBjMMDdwLsy5Ax4pBliWTrMqpOYA== +"@lerna/list@5.4.3": + version "5.4.3" + resolved "https://registry.yarnpkg.com/@lerna/list/-/list-5.4.3.tgz#24c0df926777c218b3e6486baded3c8b17ea6f5a" + integrity sha512-VEoJfobof7Welp+1yX6gm0EtpZw9vyztGvTtOeHQ1fhfW88oav03Qoi/hk1qZXPf7/hVZrJKEmSJ4etxsbZ3/g== dependencies: - "@lerna/command" "5.4.2" - "@lerna/filter-options" "5.4.2" - "@lerna/listable" "5.4.2" - "@lerna/output" "5.4.2" + "@lerna/command" "5.4.3" + "@lerna/filter-options" "5.4.3" + "@lerna/listable" "5.4.3" + "@lerna/output" "5.4.3" -"@lerna/listable@5.4.2": - version "5.4.2" - resolved "https://registry.yarnpkg.com/@lerna/listable/-/listable-5.4.2.tgz#7a1e32aebfd78581344cbecbed09a2d851320f8b" - integrity sha512-DdKqERoXfcRFPl/Vrn/pPyGxq5NQ3P22lAs3ueqwQZJPfUsQzjSv4fWEWwLxZW5tU9hbTqflOgnPeNQkmBC/Iw== +"@lerna/listable@5.4.3": + version "5.4.3" + resolved "https://registry.yarnpkg.com/@lerna/listable/-/listable-5.4.3.tgz#92459e2c2c052da2e51d9e1e7fe94786ea739cb0" + integrity sha512-VcJMw+z84Rj1nLIso474+veFx0tCH9Jas02YXx9cgAnaK1IRP0BI9O0vccQIZ+2Rb62VLiFGzyCJIyKyhcGZHw== dependencies: - "@lerna/query-graph" "5.4.2" + "@lerna/query-graph" "5.4.3" chalk "^4.1.0" columnify "^1.6.0" -"@lerna/log-packed@5.4.2": - version "5.4.2" - resolved "https://registry.yarnpkg.com/@lerna/log-packed/-/log-packed-5.4.2.tgz#8ef563e7be43ac82007cd562dcb66ccabc507a10" - integrity sha512-MdLjsQENJxrsRmAcvqHoV6PwWiZJrv/ujwLeuqQquXPi9eWyWb3AoYPplmJRmUFQ9l3i3ROcTO9IDW6TkZ3P0Q== +"@lerna/log-packed@5.4.3": + version "5.4.3" + resolved "https://registry.yarnpkg.com/@lerna/log-packed/-/log-packed-5.4.3.tgz#4f994f1b435078d49b08eec84496f6ad81158078" + integrity sha512-pFEBaj5JOf44+kOV6eiFHAfEULC6NhHJHHFwkljL1WNcx/+46aOADY9LrjmVtp8uPWv3fMCb3ZGcxuGebz1lYA== dependencies: byte-size "^7.0.0" columnify "^1.6.0" has-unicode "^2.0.1" npmlog "^6.0.2" -"@lerna/npm-conf@5.4.2": - version "5.4.2" - resolved "https://registry.yarnpkg.com/@lerna/npm-conf/-/npm-conf-5.4.2.tgz#a1a78f7c81c3dc2a7693c22773aebb347d6b8399" - integrity sha512-FiYfMtH5j6zvqOENX/jo10Ok/aSHSUw68ZQImA1HcbRYeTJ673Oe29d47vDWLH2FvwvgZDaCK5S8WSwRvSrz2g== +"@lerna/npm-conf@5.4.3": + version "5.4.3" + resolved "https://registry.yarnpkg.com/@lerna/npm-conf/-/npm-conf-5.4.3.tgz#d5ea75aff7d561e8c0a529abff1ac9eee135482e" + integrity sha512-iQrrZHxAXqogfCpQvC/ac42/gR3osT+WN2FFB1gjVYYFBMZto5mlpcvyzH8rb75OJfak8iDtOYHUymmwSda1jw== dependencies: config-chain "^1.1.12" pify "^5.0.0" -"@lerna/npm-dist-tag@5.4.2": - version "5.4.2" - resolved "https://registry.yarnpkg.com/@lerna/npm-dist-tag/-/npm-dist-tag-5.4.2.tgz#a8a3b10ca707de4cc9c7167d181275dcce7b52ac" - integrity sha512-dHiwLpLlC3PkEwbkjx/TD/TuKxcdAO3Gjx1XCT8aw+bVM2U6bw18DINjezA71cLc1aySInPE5zACkb/Hq46wTQ== +"@lerna/npm-dist-tag@5.4.3": + version "5.4.3" + resolved "https://registry.yarnpkg.com/@lerna/npm-dist-tag/-/npm-dist-tag-5.4.3.tgz#d070167a3cb4bd28c1b034c954eb8597f8806f4d" + integrity sha512-LnbD6xrnrmMdXH/nntyd/xJueKZGhCv3YLWK9F6YQdmUoeWY+W7eckmdd8LKL6ZqupyeLxgn0NKwiJ5wxf0F2w== dependencies: - "@lerna/otplease" "5.4.2" + "@lerna/otplease" "5.4.3" npm-package-arg "8.1.1" npm-registry-fetch "^13.3.0" npmlog "^6.0.2" -"@lerna/npm-install@5.4.2": - version "5.4.2" - resolved "https://registry.yarnpkg.com/@lerna/npm-install/-/npm-install-5.4.2.tgz#6433d8dd479ac1266447601d08f51313ab1f12d5" - integrity sha512-Zk1NnCWvLUrW5WJ4tjexm74PY+DDExllizh3Q63z6P3F282sriF/pAnTSZcE59z/q2PhBoJop8OyD6O+mdv5Kw== +"@lerna/npm-install@5.4.3": + version "5.4.3" + resolved "https://registry.yarnpkg.com/@lerna/npm-install/-/npm-install-5.4.3.tgz#ce40861298965ff3cec9e672dad02f4399f7f54b" + integrity sha512-MPXYQ1r/UMV9x+6F2VEk3miHOw4fn+G4zN11PGB5nWmuaT4uq7rPoudkdRvMRqm6bK0NpL/trssSb12ERzevqg== dependencies: - "@lerna/child-process" "5.4.2" - "@lerna/get-npm-exec-opts" "5.4.2" + "@lerna/child-process" "5.4.3" + "@lerna/get-npm-exec-opts" "5.4.3" fs-extra "^9.1.0" npm-package-arg "8.1.1" npmlog "^6.0.2" signal-exit "^3.0.3" write-pkg "^4.0.0" -"@lerna/npm-publish@5.4.2": - version "5.4.2" - resolved "https://registry.yarnpkg.com/@lerna/npm-publish/-/npm-publish-5.4.2.tgz#16f1e87aee335ca03633784179d9d60e0f1104cc" - integrity sha512-fBB6zrYtdiKffZyCgLZEJcSi3wKy4Legpv66Icqyjsnp9U77aEcFnAqjitc9QCSs5hhlpx9RnKFulsgMiZxEWA== +"@lerna/npm-publish@5.4.3": + version "5.4.3" + resolved "https://registry.yarnpkg.com/@lerna/npm-publish/-/npm-publish-5.4.3.tgz#7dffa552c42071aa707cd5a88d7984da7ea3188c" + integrity sha512-yfwtTWYRace2oJK+a7nVUs7HubypgoA1fEZ6JUZFKVkq54C8tDdyYz4EtTtiFr7WMjP8p3NWxh7RNh7Tyx7ckQ== dependencies: - "@lerna/otplease" "5.4.2" - "@lerna/run-lifecycle" "5.4.2" + "@lerna/otplease" "5.4.3" + "@lerna/run-lifecycle" "5.4.3" fs-extra "^9.1.0" libnpmpublish "^6.0.4" npm-package-arg "8.1.1" @@ -2734,85 +2670,85 @@ pify "^5.0.0" read-package-json "^5.0.1" -"@lerna/npm-run-script@5.4.2": - version "5.4.2" - resolved "https://registry.yarnpkg.com/@lerna/npm-run-script/-/npm-run-script-5.4.2.tgz#d5c7094c79421f911c6b7ab2398d72c359854ae5" - integrity sha512-CEtiuT30z3M5wfHAs0gm/Kh3+6NRT69vAw8Avv/WB0oO43teMpdIGB+afmTWMiWb4/wRLzFIgex6Sf2FamEhaQ== +"@lerna/npm-run-script@5.4.3": + version "5.4.3" + resolved "https://registry.yarnpkg.com/@lerna/npm-run-script/-/npm-run-script-5.4.3.tgz#4fcf3b641919446aca1d584633c22e3ab2a12f00" + integrity sha512-xb6YAxAxGDBPlpZtjDPlM9NAgIcNte31iuGpG0I5eTYqBppKNZ7CQ8oi76qptrLyrK/ug9kqDIGti5OgyAMihQ== dependencies: - "@lerna/child-process" "5.4.2" - "@lerna/get-npm-exec-opts" "5.4.2" + "@lerna/child-process" "5.4.3" + "@lerna/get-npm-exec-opts" "5.4.3" npmlog "^6.0.2" -"@lerna/otplease@5.4.2": - version "5.4.2" - resolved "https://registry.yarnpkg.com/@lerna/otplease/-/otplease-5.4.2.tgz#c23ea2aea6787d6040b2b744030e8fb984962182" - integrity sha512-OFw0+QuS55z5cnSdJZy/YFWhFFpge6z8JVniqtqD5xcV5M1qoinOoV437le3RCMSHStVu/4H8MHSRvUee6Vdjg== +"@lerna/otplease@5.4.3": + version "5.4.3" + resolved "https://registry.yarnpkg.com/@lerna/otplease/-/otplease-5.4.3.tgz#645da8b8bc2e4b9929333b70e5a8ce972c85ca73" + integrity sha512-iy+NpqP9UcB8a0W3Nhq20x2gWSRQcmkOb25qSJj7f5AisCwGWypYlD6RZ9NqCzUD7KEbAaydEEyhoPw9dQRFmg== dependencies: - "@lerna/prompt" "5.4.2" + "@lerna/prompt" "5.4.3" -"@lerna/output@5.4.2": - version "5.4.2" - resolved "https://registry.yarnpkg.com/@lerna/output/-/output-5.4.2.tgz#8c6988cf4e461fd0bb0a05390786e2d673782d6e" - integrity sha512-QVmWPgFTPo2RwFkl7+R2AhLAvHyzPYD6DLlnrixEPLzKPjxtiIwYqGPmdWlCDPtsBLNwzjvbkOgxBydZlRIguQ== +"@lerna/output@5.4.3": + version "5.4.3" + resolved "https://registry.yarnpkg.com/@lerna/output/-/output-5.4.3.tgz#6003a46356b92951a4c041b70b6bf27d358a6cab" + integrity sha512-y/skSk0jMxPlJ1gpQwmKiMdElbznOMCYdCi170wfj3esby+fr8eULiwx7wUy3K+YtEGp7JS6TUjXb4zm9O0rMw== dependencies: npmlog "^6.0.2" -"@lerna/pack-directory@5.4.2": - version "5.4.2" - resolved "https://registry.yarnpkg.com/@lerna/pack-directory/-/pack-directory-5.4.2.tgz#8e011917704a67c06ac98e733cb64352f61c1b24" - integrity sha512-sfzmxAVX28+N37lhbbIL/C1dnsCd8WJMDYHPcJpepXKul2yr1dK3yxiTcHgo3uo466EXUbfJjnBWolOn6LfouA== +"@lerna/pack-directory@5.4.3": + version "5.4.3" + resolved "https://registry.yarnpkg.com/@lerna/pack-directory/-/pack-directory-5.4.3.tgz#eea41c6db9a0b0e81efa07f334d3770a11e8608b" + integrity sha512-47vsQem4Jr1W7Ce03RKihprBFLh2Q+VKgIcQGPec764i5uv3QWHzqK//da7+fmHr86qusinHvCIV7X3pXcohWg== dependencies: - "@lerna/get-packed" "5.4.2" - "@lerna/package" "5.4.2" - "@lerna/run-lifecycle" "5.4.2" - "@lerna/temp-write" "5.4.2" + "@lerna/get-packed" "5.4.3" + "@lerna/package" "5.4.3" + "@lerna/run-lifecycle" "5.4.3" + "@lerna/temp-write" "5.4.3" npm-packlist "^5.1.1" npmlog "^6.0.2" tar "^6.1.0" -"@lerna/package-graph@5.4.2": - version "5.4.2" - resolved "https://registry.yarnpkg.com/@lerna/package-graph/-/package-graph-5.4.2.tgz#87110ff01436e44f7ee61b8bc8fa55010d2f6020" - integrity sha512-IUwpiABvzh8xBV64sS81hFG5dgUnCzOfm0npQ65bZ76B1BEnjUSId8El1csKHd6KQER83EKEWz1RQ3fryWtxrA== +"@lerna/package-graph@5.4.3": + version "5.4.3" + resolved "https://registry.yarnpkg.com/@lerna/package-graph/-/package-graph-5.4.3.tgz#5710409b6233a20dfc98bb0004c611bc8a9ae9d4" + integrity sha512-8eyAS+hb+K/+1Si2UNh4KPaLFdgTgdrRcsuTY7aKaINyrzoLTArAKPk4dQZTH1d0SUWtFzicvWixkkzq21QuOw== dependencies: - "@lerna/prerelease-id-from-version" "5.4.2" - "@lerna/validation-error" "5.4.2" + "@lerna/prerelease-id-from-version" "5.4.3" + "@lerna/validation-error" "5.4.3" npm-package-arg "8.1.1" npmlog "^6.0.2" semver "^7.3.4" -"@lerna/package@5.4.2": - version "5.4.2" - resolved "https://registry.yarnpkg.com/@lerna/package/-/package-5.4.2.tgz#a2ba5ff21ef64e5ff7a9da73626f4015b6c8a0b4" - integrity sha512-fLQa+3LIb9NjuUKANEs+nvhztLiXMpoFYyumsd413wHlGGxyrPpJU9Q0H4aRpaqWWpUoBmib3xIhEdYsZctlSQ== +"@lerna/package@5.4.3": + version "5.4.3" + resolved "https://registry.yarnpkg.com/@lerna/package/-/package-5.4.3.tgz#ff1505199977debfa58862dde5df804d5db4bca6" + integrity sha512-EIw82v4ijzS3qRCSKHNSJ/UTnFDroaEp6mj7pzLO6lIrAqg7MgtKeThMhzEAMvF4yNB7BL+UR+dZ0jI47WgQJQ== dependencies: load-json-file "^6.2.0" npm-package-arg "8.1.1" write-pkg "^4.0.0" -"@lerna/prerelease-id-from-version@5.4.2": - version "5.4.2" - resolved "https://registry.yarnpkg.com/@lerna/prerelease-id-from-version/-/prerelease-id-from-version-5.4.2.tgz#a77a3dbfbc2880d212c25202c9b9e76901e96b36" - integrity sha512-A3/2A5lDUk1SzVKpiX5g4Zy/4YF3suQfiELP4UF4/HsSPUMW8El67/BxXAk1BhUiBC9sbP2Eo9jt1Ac6YxtwRQ== +"@lerna/prerelease-id-from-version@5.4.3": + version "5.4.3" + resolved "https://registry.yarnpkg.com/@lerna/prerelease-id-from-version/-/prerelease-id-from-version-5.4.3.tgz#28db7eac5bb21762f2d7562ddc5d12e8f0eced38" + integrity sha512-bXsBCv/VJrWXz2usnk52TtTb4dsXSeYDI2U1N2z/DssFKlOpH7xL1mKWC4OXE2XBqb9I49sDPfZzN8BxTfJdJQ== dependencies: semver "^7.3.4" -"@lerna/profiler@5.4.2": - version "5.4.2" - resolved "https://registry.yarnpkg.com/@lerna/profiler/-/profiler-5.4.2.tgz#e5bf9fcda7047b028897979f820c9fe574c25cf2" - integrity sha512-0PScmsU2JxQrxvWBfNMA5g473qXX4xuunglBshvVzGKVSGcUPWoPttQckcP/GvntpFSRIspPiTub0xAj3ZqIJQ== +"@lerna/profiler@5.4.3": + version "5.4.3" + resolved "https://registry.yarnpkg.com/@lerna/profiler/-/profiler-5.4.3.tgz#1905e8ae96ec23681323ee6b820387689a5b06ad" + integrity sha512-6otMDwCzfWszV0K7RRjlF5gibLZt1ay+NmtrhL7TZ7PSizIJXlf6HxZiYodGgjahKAdGxx34H9XyToVzOLdg3w== dependencies: fs-extra "^9.1.0" npmlog "^6.0.2" upath "^2.0.1" -"@lerna/project@5.4.2": - version "5.4.2" - resolved "https://registry.yarnpkg.com/@lerna/project/-/project-5.4.2.tgz#00878cf096558c1833d581f08855c604c412df54" - integrity sha512-CK/aGYoTe/tZBoXvSDb4wSJX48Pn+T1mKo2FQOPvMCtAc3iIyjDfPEyghXwEZvvhznxhuR/KEk0rIGJl9OigYA== +"@lerna/project@5.4.3": + version "5.4.3" + resolved "https://registry.yarnpkg.com/@lerna/project/-/project-5.4.3.tgz#48d6fffc025cb6fcb42aa75fa29582f72cd71ab3" + integrity sha512-j2EeuwdbHsL++jy0s2ShDbdOPirPOL/FNMRf7Qtwl4pEWoOiSYmv/LnIt2pV7cwww9Lx8Y682/7CQwlXdgrrMw== dependencies: - "@lerna/package" "5.4.2" - "@lerna/validation-error" "5.4.2" + "@lerna/package" "5.4.3" + "@lerna/validation-error" "5.4.3" cosmiconfig "^7.0.0" dedent "^0.7.0" dot-prop "^6.0.1" @@ -2824,38 +2760,38 @@ resolve-from "^5.0.0" write-json-file "^4.3.0" -"@lerna/prompt@5.4.2": - version "5.4.2" - resolved "https://registry.yarnpkg.com/@lerna/prompt/-/prompt-5.4.2.tgz#9046d1f67b38f97c031c402cc8585ddabdaddd80" - integrity sha512-/FrzilpMn+g97U21dAZ7qDQujhHmJT8eVoggw1vHUiCvZ1uLZEPVDlBH4S/t+Rc/o3qbnjvjwXrHPxmzhcCEew== +"@lerna/prompt@5.4.3": + version "5.4.3" + resolved "https://registry.yarnpkg.com/@lerna/prompt/-/prompt-5.4.3.tgz#ace30e42f59c16a2d5c4ec663e4fc73b1f604a57" + integrity sha512-VqrTgnbm1H24aYacXmZ2z7atHO6W4NamvwHroGRFqiM34dCLQh8S22X5mNnb4nX5lgfb+doqcxBtOi91vqpJ2g== dependencies: inquirer "^8.2.4" npmlog "^6.0.2" -"@lerna/publish@5.4.2": - version "5.4.2" - resolved "https://registry.yarnpkg.com/@lerna/publish/-/publish-5.4.2.tgz#44341098395ebb11034bd1942f87a8ed3c2ac9bc" - integrity sha512-Maskj2reQouNo9XAgbfXWF+Hxt8TYfMb3HiVTWIgpDmhemJykwCifudQF8Ovlq4NZ7CCuTgMpxUySmSClM99Cw== - dependencies: - "@lerna/check-working-tree" "5.4.2" - "@lerna/child-process" "5.4.2" - "@lerna/collect-updates" "5.4.2" - "@lerna/command" "5.4.2" - "@lerna/describe-ref" "5.4.2" - "@lerna/log-packed" "5.4.2" - "@lerna/npm-conf" "5.4.2" - "@lerna/npm-dist-tag" "5.4.2" - "@lerna/npm-publish" "5.4.2" - "@lerna/otplease" "5.4.2" - "@lerna/output" "5.4.2" - "@lerna/pack-directory" "5.4.2" - "@lerna/prerelease-id-from-version" "5.4.2" - "@lerna/prompt" "5.4.2" - "@lerna/pulse-till-done" "5.4.2" - "@lerna/run-lifecycle" "5.4.2" - "@lerna/run-topologically" "5.4.2" - "@lerna/validation-error" "5.4.2" - "@lerna/version" "5.4.2" +"@lerna/publish@5.4.3": + version "5.4.3" + resolved "https://registry.yarnpkg.com/@lerna/publish/-/publish-5.4.3.tgz#94ec4197f5e00765686512787b54fbbd83164799" + integrity sha512-SYziRvRwahzbM0A4T63FfQsk2i33cIauKXlJz6t3GQZvVzUFb0gD/baVas2V7Fs/Ty1oCqtmDKB/ABTznWYwGg== + dependencies: + "@lerna/check-working-tree" "5.4.3" + "@lerna/child-process" "5.4.3" + "@lerna/collect-updates" "5.4.3" + "@lerna/command" "5.4.3" + "@lerna/describe-ref" "5.4.3" + "@lerna/log-packed" "5.4.3" + "@lerna/npm-conf" "5.4.3" + "@lerna/npm-dist-tag" "5.4.3" + "@lerna/npm-publish" "5.4.3" + "@lerna/otplease" "5.4.3" + "@lerna/output" "5.4.3" + "@lerna/pack-directory" "5.4.3" + "@lerna/prerelease-id-from-version" "5.4.3" + "@lerna/prompt" "5.4.3" + "@lerna/pulse-till-done" "5.4.3" + "@lerna/run-lifecycle" "5.4.3" + "@lerna/run-topologically" "5.4.3" + "@lerna/validation-error" "5.4.3" + "@lerna/version" "5.4.3" fs-extra "^9.1.0" libnpmaccess "^6.0.3" npm-package-arg "8.1.1" @@ -2866,98 +2802,98 @@ pacote "^13.6.1" semver "^7.3.4" -"@lerna/pulse-till-done@5.4.2": - version "5.4.2" - resolved "https://registry.yarnpkg.com/@lerna/pulse-till-done/-/pulse-till-done-5.4.2.tgz#94db33e30220ffd67ac7a03e6d3751e9ffdbd995" - integrity sha512-zeIAg+yd6H9sziupsuT2LgRnrgMu9W4DvI7Cpu3LR4F0xZD+2KDt1SoH1gH3k+6EofEZyrC+qMNAgRVSshIs/g== +"@lerna/pulse-till-done@5.4.3": + version "5.4.3" + resolved "https://registry.yarnpkg.com/@lerna/pulse-till-done/-/pulse-till-done-5.4.3.tgz#0aced2e3c9d7763fd880688e10fc1b3d40158066" + integrity sha512-Twy0UmVtyFzC+sLDnuY0u37Xu17WAP7ysQ7riaLx9KhO0M9MZvoY+kDF/hg0K204tZi0dr6R5eLGEUd+Xkg9Rw== dependencies: npmlog "^6.0.2" -"@lerna/query-graph@5.4.2": - version "5.4.2" - resolved "https://registry.yarnpkg.com/@lerna/query-graph/-/query-graph-5.4.2.tgz#34d3717e4f8316fdd66be4a14920247536017c48" - integrity sha512-7CL2ZRj2R7BdjnXHOXl9Pd3+zpLnCDzoyMggGPTKSjb710zqgIRRbk73MTTjhOT081x2MwFdj60m+R/0JED/iw== +"@lerna/query-graph@5.4.3": + version "5.4.3" + resolved "https://registry.yarnpkg.com/@lerna/query-graph/-/query-graph-5.4.3.tgz#e9421f751039c0dfdaf5cea4f319129c534f0386" + integrity sha512-eiRsEPg+t2tN9VWXSAj2y0zEphPrOz6DdYw/5ntVFDecIfoANxGKcCkOTqb3PnaC8BojI64N3Ju+i41jcO0mLw== dependencies: - "@lerna/package-graph" "5.4.2" + "@lerna/package-graph" "5.4.3" -"@lerna/resolve-symlink@5.4.2": - version "5.4.2" - resolved "https://registry.yarnpkg.com/@lerna/resolve-symlink/-/resolve-symlink-5.4.2.tgz#ab26572ba973be6979d5b89412ed1937dbaaa034" - integrity sha512-0r7cWwi/LMQv0g8RnFLKKPEAp24LAHvR2XcDu3YhOCa7LMM/DvNPfDMozUHkKlOFhqXTG8NVbWugEeB+cUm3kw== +"@lerna/resolve-symlink@5.4.3": + version "5.4.3" + resolved "https://registry.yarnpkg.com/@lerna/resolve-symlink/-/resolve-symlink-5.4.3.tgz#168f64244e87d7b9f6e89d183a70dfbf64590c20" + integrity sha512-BzqinKmTny70KgSBAaVgdLHaVR3WXRVk5EDbQHB73qg4dHiyYrzvDBqkaKzv1K1th8E4LdQQXf5LiNEbfU/1Bg== dependencies: fs-extra "^9.1.0" npmlog "^6.0.2" read-cmd-shim "^3.0.0" -"@lerna/rimraf-dir@5.4.2": - version "5.4.2" - resolved "https://registry.yarnpkg.com/@lerna/rimraf-dir/-/rimraf-dir-5.4.2.tgz#d1fb90064911bd68d9b5795a41b33834b2d8b4d4" - integrity sha512-6flB5eiJ3wBDhMjswfaY0Uh7tZc11T+APu7UOtxIeNPxqxJP6yhsJawzAezQD/klzizxdWxTqyImtqJRzpDqTw== +"@lerna/rimraf-dir@5.4.3": + version "5.4.3" + resolved "https://registry.yarnpkg.com/@lerna/rimraf-dir/-/rimraf-dir-5.4.3.tgz#60d91a8d1de928d1a818a3e113e64707e461dbba" + integrity sha512-gBraUVczKk4Jik1+qCj4jtQ53l1zmWmMoH7A11ifYI60Dg7Mc6iQcIZOIj6siD5TSOtSCy7qePu3VyXBOIquvQ== dependencies: - "@lerna/child-process" "5.4.2" + "@lerna/child-process" "5.4.3" npmlog "^6.0.2" path-exists "^4.0.0" rimraf "^3.0.2" -"@lerna/run-lifecycle@5.4.2": - version "5.4.2" - resolved "https://registry.yarnpkg.com/@lerna/run-lifecycle/-/run-lifecycle-5.4.2.tgz#78390f533ace8c1c63c25b42425a66a9a4591c27" - integrity sha512-uxNJ3l4tliO/bH9E7XR9TJfSSGbOSC561Wm04fyiCY7A6cOxBBLgawbJAzIeZu2OFbhLe9kBKwwIWgY9J0CCHQ== +"@lerna/run-lifecycle@5.4.3": + version "5.4.3" + resolved "https://registry.yarnpkg.com/@lerna/run-lifecycle/-/run-lifecycle-5.4.3.tgz#18aa3ebde70caf21c1d52454090419853329a48f" + integrity sha512-XKUfELNjkR6EUg+Xh92s1etjNvCbTBw20QMXDsyGSipHcLr7huXjC0D2/4/+j8/N5sz/rg+JufQfc1ldtpOU0A== dependencies: - "@lerna/npm-conf" "5.4.2" + "@lerna/npm-conf" "5.4.3" "@npmcli/run-script" "^4.1.7" npmlog "^6.0.2" p-queue "^6.6.2" -"@lerna/run-topologically@5.4.2": - version "5.4.2" - resolved "https://registry.yarnpkg.com/@lerna/run-topologically/-/run-topologically-5.4.2.tgz#aa2657175e2891208befea48a21ab59171346bf0" - integrity sha512-fzm8mL4nSNDr4rZqvXgRIbw6DsiaOBopFObaSM5WWvGBslMIv/P2vI55PfT51mX7p6zPLvPvJ2Xo/scpQAutag== +"@lerna/run-topologically@5.4.3": + version "5.4.3" + resolved "https://registry.yarnpkg.com/@lerna/run-topologically/-/run-topologically-5.4.3.tgz#772b97e6553bc77841582b25d97e52746754e7c6" + integrity sha512-9bT8mJ0RICIk16l8L9jRRqSXGSiLEKUd50DLz5Tv0EdOKD+prwffAivCpVMYF9tdD5UaQzDAK/VzFdS5FEzPQg== dependencies: - "@lerna/query-graph" "5.4.2" + "@lerna/query-graph" "5.4.3" p-queue "^6.6.2" -"@lerna/run@5.4.2": - version "5.4.2" - resolved "https://registry.yarnpkg.com/@lerna/run/-/run-5.4.2.tgz#4dee27edad4689118bbc78b9e8e51a86ea4c988a" - integrity sha512-s4zBCxxwcERLoP8gBDOMz5OaKmBLOKKIMg+7C4o1+j7wPLzm0zMgGx6mIUNCr6kGNKtCNZvh53lNTpPIOGsBlQ== - dependencies: - "@lerna/command" "5.4.2" - "@lerna/filter-options" "5.4.2" - "@lerna/npm-run-script" "5.4.2" - "@lerna/output" "5.4.2" - "@lerna/profiler" "5.4.2" - "@lerna/run-topologically" "5.4.2" - "@lerna/timer" "5.4.2" - "@lerna/validation-error" "5.4.2" +"@lerna/run@5.4.3": + version "5.4.3" + resolved "https://registry.yarnpkg.com/@lerna/run/-/run-5.4.3.tgz#e011a1d11408b0cc5abe41f006df189ebcf3bfa7" + integrity sha512-PyHOYCsuJ+5r9ymjtwbQCbMMebVhaZ7Xy4jNpL9kqIvmdxe1S5QTP6Vyc6+RAvUtx0upP++0MFFA8CbZ1ZwOcw== + dependencies: + "@lerna/command" "5.4.3" + "@lerna/filter-options" "5.4.3" + "@lerna/npm-run-script" "5.4.3" + "@lerna/output" "5.4.3" + "@lerna/profiler" "5.4.3" + "@lerna/run-topologically" "5.4.3" + "@lerna/timer" "5.4.3" + "@lerna/validation-error" "5.4.3" p-map "^4.0.0" -"@lerna/symlink-binary@5.4.2": - version "5.4.2" - resolved "https://registry.yarnpkg.com/@lerna/symlink-binary/-/symlink-binary-5.4.2.tgz#1fcb507952cdade443f19a2e53aa90c1000947b0" - integrity sha512-GmrkA8EOiC00FcVqYdNk5j+bUCQn87hKVd+biNVnloEFOZeHKE6rQFL8PooXU2/uS4dJUKPid8edThrqxuByrQ== +"@lerna/symlink-binary@5.4.3": + version "5.4.3" + resolved "https://registry.yarnpkg.com/@lerna/symlink-binary/-/symlink-binary-5.4.3.tgz#0cfe58a2781429c5dc057a1d12c67c7dbfe730c3" + integrity sha512-iXBijyb1+NiOeifnRsbicSju6/FGtv6hvNny2lbjyr0EJ8jMz6JaoQ6eep9yXhgaNRJND1Pw9JBiCv6EhhcyCw== dependencies: - "@lerna/create-symlink" "5.4.2" - "@lerna/package" "5.4.2" + "@lerna/create-symlink" "5.4.3" + "@lerna/package" "5.4.3" fs-extra "^9.1.0" p-map "^4.0.0" -"@lerna/symlink-dependencies@5.4.2": - version "5.4.2" - resolved "https://registry.yarnpkg.com/@lerna/symlink-dependencies/-/symlink-dependencies-5.4.2.tgz#b13b1d6ae9d9a08598d6214a8b2b226054199b10" - integrity sha512-ssdqVurn2aXuc4C5TQTHLQYYT0zXNb1q4n4cguNJK1m1TVE03Sz2ixruZ6KC52Oyk9kyajrSTkyLfgLftrjgOg== +"@lerna/symlink-dependencies@5.4.3": + version "5.4.3" + resolved "https://registry.yarnpkg.com/@lerna/symlink-dependencies/-/symlink-dependencies-5.4.3.tgz#856803bfca5e65824f60312e5465e9a66fc5c1c8" + integrity sha512-9fK3fIl6wyihyfKhDUquiAx8JoMjctBJ7zhLjrgOon5Ua2fyc+mVp9fTWsjHtv7IaC/TeP9oA4/IcBtdr2xieg== dependencies: - "@lerna/create-symlink" "5.4.2" - "@lerna/resolve-symlink" "5.4.2" - "@lerna/symlink-binary" "5.4.2" + "@lerna/create-symlink" "5.4.3" + "@lerna/resolve-symlink" "5.4.3" + "@lerna/symlink-binary" "5.4.3" fs-extra "^9.1.0" p-map "^4.0.0" p-map-series "^2.1.0" -"@lerna/temp-write@5.4.2": - version "5.4.2" - resolved "https://registry.yarnpkg.com/@lerna/temp-write/-/temp-write-5.4.2.tgz#b8eba8154afacdd40ae7a45f9d9bfcbfabdd1a00" - integrity sha512-1PWr5K4IL3xMsuQNMuEKrI0QxEDOsbLnjLCp+4R6cPh/6fh/jQNXd+LCtjDE5zfPocGaKtrxF7J/6CIySz3J2A== +"@lerna/temp-write@5.4.3": + version "5.4.3" + resolved "https://registry.yarnpkg.com/@lerna/temp-write/-/temp-write-5.4.3.tgz#e9562fc75eed7fbd7bedb7e164893646579411da" + integrity sha512-HgAVNmKfeRKm4QPFGFfmzVC/lA2jv5QpMXPPDahoBEI6BhYtMmHiUWQan6dfsCoSf65xDd+9NTESya9AOSbN2w== dependencies: graceful-fs "^4.1.15" is-stream "^2.0.0" @@ -2965,37 +2901,37 @@ temp-dir "^1.0.0" uuid "^8.3.2" -"@lerna/timer@5.4.2": - version "5.4.2" - resolved "https://registry.yarnpkg.com/@lerna/timer/-/timer-5.4.2.tgz#e05b857db5742be18d4d51d24b0a55dd3d657eb3" - integrity sha512-1eJSflPC1USDaO/oVUhld9HbmcoNGz4ZPjwbTzqR4fN8QeMtBmwbgRC9mul7FuOGH8leRDomC19MkBoKpcokog== +"@lerna/timer@5.4.3": + version "5.4.3" + resolved "https://registry.yarnpkg.com/@lerna/timer/-/timer-5.4.3.tgz#8aa030d49bb2ee693b624a8a69e4c92538960e6f" + integrity sha512-0NwrCxug6pmSAuPaAHNr5VRGw7+nqikoIpwx6RViJiOD+UYFf3k955fngtSX2JhETR/7it9ncgpbaLvlxusx9g== -"@lerna/validation-error@5.4.2": - version "5.4.2" - resolved "https://registry.yarnpkg.com/@lerna/validation-error/-/validation-error-5.4.2.tgz#c3309d33a7114e0ac14ccd2e809d3f81cd35155e" - integrity sha512-OR+KcarqBicYslkrLK8PROiYn7PlKvoSG+kuM7ox4VPaX7697Mr5OdYdTePrQjg2BAKJbf0PSccLvXjBjvT7Aw== +"@lerna/validation-error@5.4.3": + version "5.4.3" + resolved "https://registry.yarnpkg.com/@lerna/validation-error/-/validation-error-5.4.3.tgz#8a3060b466116efe8c18366a505a291e8a2e2778" + integrity sha512-edf9vbQaDViffhHqL/wHdGs83RV7uJ4N5E3VEpjXefWIUfgmw9wYjkX338WYUh/XqDYbSV6C1M8A24FT3/0uzw== dependencies: npmlog "^6.0.2" -"@lerna/version@5.4.2": - version "5.4.2" - resolved "https://registry.yarnpkg.com/@lerna/version/-/version-5.4.2.tgz#6a24bfb6a823e1fa56fd0e9e66ebb1a9460d0ad2" - integrity sha512-Jk8LlpfEfK8VGfuhOUDEVKOOS/UjPTppB/GcbPXli+2DiyK6R6HIRfwT85SCDCX5gTKcW358QAVDa+ROHQ7YUQ== - dependencies: - "@lerna/check-working-tree" "5.4.2" - "@lerna/child-process" "5.4.2" - "@lerna/collect-updates" "5.4.2" - "@lerna/command" "5.4.2" - "@lerna/conventional-commits" "5.4.2" - "@lerna/github-client" "5.4.2" - "@lerna/gitlab-client" "5.4.2" - "@lerna/output" "5.4.2" - "@lerna/prerelease-id-from-version" "5.4.2" - "@lerna/prompt" "5.4.2" - "@lerna/run-lifecycle" "5.4.2" - "@lerna/run-topologically" "5.4.2" - "@lerna/temp-write" "5.4.2" - "@lerna/validation-error" "5.4.2" +"@lerna/version@5.4.3": + version "5.4.3" + resolved "https://registry.yarnpkg.com/@lerna/version/-/version-5.4.3.tgz#7c5c0888f7f162999c5b9314dd48b899c1bbea8e" + integrity sha512-a6Q+o1fZbOg/GVG8QtvfyOpX0sZ38bbI9hSJU5YMf99YKdyzp80dDDav+IGMxIaZSj08HJ1pPyXOLR27I8fTUQ== + dependencies: + "@lerna/check-working-tree" "5.4.3" + "@lerna/child-process" "5.4.3" + "@lerna/collect-updates" "5.4.3" + "@lerna/command" "5.4.3" + "@lerna/conventional-commits" "5.4.3" + "@lerna/github-client" "5.4.3" + "@lerna/gitlab-client" "5.4.3" + "@lerna/output" "5.4.3" + "@lerna/prerelease-id-from-version" "5.4.3" + "@lerna/prompt" "5.4.3" + "@lerna/run-lifecycle" "5.4.3" + "@lerna/run-topologically" "5.4.3" + "@lerna/temp-write" "5.4.3" + "@lerna/validation-error" "5.4.3" chalk "^4.1.0" dedent "^0.7.0" load-json-file "^6.2.0" @@ -3009,10 +2945,10 @@ slash "^3.0.0" write-json-file "^4.3.0" -"@lerna/write-log-file@5.4.2": - version "5.4.2" - resolved "https://registry.yarnpkg.com/@lerna/write-log-file/-/write-log-file-5.4.2.tgz#1642a5b5c0ee2231b71ce0e8832f05144f8778a6" - integrity sha512-tdOjyxmK5YuuE+Ba5GCtsFzdl18/WXvvQqCsgEWRGHPKAGECnigz3fhJbpJ+2u1mmv7trIkPTNE45fF+o1Z8YQ== +"@lerna/write-log-file@5.4.3": + version "5.4.3" + resolved "https://registry.yarnpkg.com/@lerna/write-log-file/-/write-log-file-5.4.3.tgz#6f721c380693ac764c00d6cc5413cffa50a972b4" + integrity sha512-S2kctFhsO4mMbR52tW9VjYrGWUMYO5YIjprg8B7vQSwYvWOOJfqOKy/A+P/U5zXuCSAbDDGssyS+CCM36MFEQw== dependencies: npmlog "^6.0.2" write-file-atomic "^4.0.1" @@ -3052,24 +2988,24 @@ resolved "https://registry.yarnpkg.com/@mdx-js/util/-/util-1.6.22.tgz#219dfd89ae5b97a8801f015323ffa4b62f45718b" integrity sha512-H1rQc1ZOHANWBvPcW+JpGwr+juXSxM8Q8YCkm3GhZd8REu1fHR3z99CErO1p9pkcfcxZnMdIZdIsXkOHY0NilA== -"@microsoft/api-extractor-model@7.23.0": - version "7.23.0" - resolved "https://registry.yarnpkg.com/@microsoft/api-extractor-model/-/api-extractor-model-7.23.0.tgz#266de12607fffe72259bfdf94e35331a18fdb223" - integrity sha512-h+2aVyf8IYidPZp+N+yIc/LY/aBwRZ1Vxlsx7rU31807bba5ScJ94bj7OjsPMje0vRYALf+yjZToYT0HdP6omA== +"@microsoft/api-extractor-model@7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@microsoft/api-extractor-model/-/api-extractor-model-7.23.3.tgz#82961ebaddd7427112afbfc4c1d7c76a9932f2fc" + integrity sha512-HpsWzG6jrWHrTlIg53kmp/IVQPBHUZc+8dunnr9VXrmDjVBehaXxp9A6jhTQ/bd7W1m5TYfAvwCmseC1+9FCuA== dependencies: "@microsoft/tsdoc" "0.14.1" "@microsoft/tsdoc-config" "~0.16.1" - "@rushstack/node-core-library" "3.50.1" + "@rushstack/node-core-library" "3.51.1" "@microsoft/api-extractor@^7.23.2": - version "7.29.2" - resolved "https://registry.yarnpkg.com/@microsoft/api-extractor/-/api-extractor-7.29.2.tgz#a7174297ac9e1acc3a08f87ccc2b8d05cfdebe02" - integrity sha512-MwT/Xi1DperfrBO+SU3f/xKdyR6bMvk59/WN6w7g1rHmDBMegan3Ya6npMo+abJAgQOtp6uExY/elHXcYE/Ofw== + version "7.29.5" + resolved "https://registry.yarnpkg.com/@microsoft/api-extractor/-/api-extractor-7.29.5.tgz#8afafc8b2c27d8334579434971f718b347634f35" + integrity sha512-+vqO/TAGw9xXANpvTjA4y5ADcaRuYuBoJ9IfoAHubrGuxKG6GoW3P2tfdgwteLz95CnlftBxYp+3NG/mf05P9Q== dependencies: - "@microsoft/api-extractor-model" "7.23.0" + "@microsoft/api-extractor-model" "7.23.3" "@microsoft/tsdoc" "0.14.1" "@microsoft/tsdoc-config" "~0.16.1" - "@rushstack/node-core-library" "3.50.1" + "@rushstack/node-core-library" "3.51.1" "@rushstack/rig-package" "0.3.14" "@rushstack/ts-command-line" "4.12.2" colors "~1.2.1" @@ -3566,10 +3502,10 @@ estree-walker "^2.0.1" picomatch "^2.2.2" -"@rushstack/node-core-library@3.50.1": - version "3.50.1" - resolved "https://registry.yarnpkg.com/@rushstack/node-core-library/-/node-core-library-3.50.1.tgz#d4aa4602460f29bbf0662052969b65129384da23" - integrity sha512-9d2xE7E9yQEBS6brTptdP8cslt6iL5+UnkY2lRxQQ4Q/jlXtsrWCCJCxwr56W/eJEe9YT/yHR4mMn5QY64Ps2w== +"@rushstack/node-core-library@3.51.1": + version "3.51.1" + resolved "https://registry.yarnpkg.com/@rushstack/node-core-library/-/node-core-library-3.51.1.tgz#e123053c4924722cc9614c0091fda5ed7bbc6c9d" + integrity sha512-xLoUztvGpaT5CphDexDPt2WbBx8D68VS5tYOkwfr98p90y0f/wepgXlTA/q5MUeZGGucASiXKp5ysdD+GPYf9A== dependencies: "@types/node" "12.20.24" colors "~1.2.1" @@ -3578,7 +3514,6 @@ jju "~1.4.0" resolve "~1.17.0" semver "~7.3.0" - timsort "~0.3.0" z-schema "~5.0.2" "@rushstack/rig-package@0.3.14": @@ -3616,11 +3551,6 @@ resolved "https://registry.yarnpkg.com/@sideway/pinpoint/-/pinpoint-2.0.0.tgz#cff8ffadc372ad29fd3f78277aeb29e632cc70df" integrity sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ== -"@sinclair/typebox@^0.23.3": - version "0.23.5" - resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.23.5.tgz#93f7b9f4e3285a7a9ade7557d9a8d36809cbc47d" - integrity sha512-AFBVi/iT4g20DHoujvMH1aEDn8fGJh4xsRGCP6d8RpLPMqsNPvW01Jcn0QysXTsg++/xj25NmJsGyH9xug/wKg== - "@sinclair/typebox@^0.24.1": version "0.24.20" resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.24.20.tgz#11a657875de6008622d53f56e063a6347c51a6dd" @@ -3638,22 +3568,21 @@ dependencies: type-detect "4.0.8" -"@sinonjs/fake-timers@^9.1.1", "@sinonjs/fake-timers@^9.1.2": +"@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== dependencies: "@sinonjs/commons" "^1.7.0" -"@slorber/static-site-generator-webpack-plugin@^4.0.4": - version "4.0.4" - resolved "https://registry.yarnpkg.com/@slorber/static-site-generator-webpack-plugin/-/static-site-generator-webpack-plugin-4.0.4.tgz#2bf4a2545e027830d2aa5eb950437c26a289b0f1" - integrity sha512-FvMavoWEIePps6/JwGCOLYKCRhuwIHhMtmbKpBFgzNkxwpa/569LfTkrbRk1m1I3n+ezJK4on9E1A6cjuZmD9g== +"@slorber/static-site-generator-webpack-plugin@^4.0.7": + version "4.0.7" + resolved "https://registry.yarnpkg.com/@slorber/static-site-generator-webpack-plugin/-/static-site-generator-webpack-plugin-4.0.7.tgz#fc1678bddefab014e2145cbe25b3ce4e1cfc36f3" + integrity sha512-Ug7x6z5lwrz0WqdnNFOMYrDQNTPAprvHLSh6+/fmml3qUiz6l5eq+2MzLKWtn/q5K5NpSiFsZTP/fck/3vjSxA== dependencies: - bluebird "^3.7.1" - cheerio "^0.22.0" eval "^0.1.8" - webpack-sources "^1.4.3" + p-map "^4.0.0" + webpack-sources "^3.2.2" "@svgr/babel-plugin-add-jsx-attribute@^6.0.0": version "6.0.0" @@ -4044,7 +3973,7 @@ "@types/qs" "*" "@types/serve-static" "*" -"@types/glob@*", "@types/glob@^7.2.0": +"@types/glob@*", "@types/glob@^7.1.3", "@types/glob@^7.2.0": version "7.2.0" resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.2.0.tgz#bc1b5bf3aa92f25bd5dd39f35c57361bdce5b2eb" integrity sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA== @@ -4122,7 +4051,7 @@ jest-matcher-utils "^28.0.0" pretty-format "^28.0.0" -"@types/json-schema@*", "@types/json-schema@^7.0.4", "@types/json-schema@^7.0.5", "@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9": +"@types/json-schema@*", "@types/json-schema@^7.0.11", "@types/json-schema@^7.0.4", "@types/json-schema@^7.0.5", "@types/json-schema@^7.0.6", "@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9": version "7.0.11" resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.11.tgz#d421b6c527a3037f7c84433fd2c4229e016863d3" integrity sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ== @@ -4133,9 +4062,9 @@ integrity sha1-7ihweulOEdK4J7y+UnC86n8+ce4= "@types/lodash@*", "@types/lodash@^4.14.182": - version "4.14.182" - resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.182.tgz#05301a4d5e62963227eaafe0ce04dd77c54ea5c2" - integrity sha512-/THyiqyQAP9AfARo4pF+aCGcyiQ94tX/Is2I7HofNRqoYLgN1PBoOWu2/zTA5zMxzP5EFutMtWtGAFRKUe961Q== + version "4.14.184" + resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.184.tgz#23f96cd2a21a28e106dc24d825d4aa966de7a9fe" + integrity sha512-RoZphVtHbxPZizt4IcILciSWiC6dcn+eZ8oX9IWEYfDMcocdd42f7NPI6fQj+6zI8y4E0L7gu2pcZKLGTRaV9Q== "@types/marked@*", "@types/marked@^4.0.3": version "4.0.3" @@ -4196,10 +4125,10 @@ resolved "https://registry.yarnpkg.com/@types/parse5/-/parse5-5.0.3.tgz#e7b5aebbac150f8b5fdd4a46e7f0bd8e65e19109" integrity sha512-kUNnecmtkunAoQ3CnjmMkzNU/gtxG8guhi+Fk2U/kOpIKjIMKnXGp4IJCgQJrXSgMsWYimYG4TGjz/UzbGEBTw== -"@types/prettier@*", "@types/prettier@^2.1.5", "@types/prettier@^2.6.0": - version "2.6.0" - resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.6.0.tgz#efcbd41937f9ae7434c714ab698604822d890759" - integrity sha512-G/AdOadiZhnJp0jXCaBQU449W2h716OW/EoXeYkCytxKL06X1WCXB4DZpp8TpZ8eyIJVS1cw4lrlkkSYU21cDw== +"@types/prettier@*", "@types/prettier@^2.1.5", "@types/prettier@^2.6.0", "@types/prettier@^2.6.1": + version "2.7.0" + resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.7.0.tgz#ea03e9f0376a4446f44797ca19d9c46c36e352dc" + integrity sha512-RI1L7N4JnW5gQw2spvL7Sllfuf1SaHdrZpCHiBlCXjIlufi1SMNnbu2teze3/QE67Fg2tBlH7W+mi4hVNk4p0A== "@types/prop-types@*": version "15.7.4" @@ -4223,12 +4152,12 @@ dependencies: "@types/react" "*" -"@types/react-router-config@*": - version "5.0.3" - resolved "https://registry.yarnpkg.com/@types/react-router-config/-/react-router-config-5.0.3.tgz#72a53561bcb5e13b82c576527b818fa2579591c7" - integrity sha512-38vpjXic0+E2sIBEKUe+RrCmbc8RqcQhNV8OmU3KUcwgy/yzTeo67MhllP+0zjZWNr7Lhw+RnUkL0hzkf63nUQ== +"@types/react-router-config@*", "@types/react-router-config@^5.0.6": + version "5.0.6" + resolved "https://registry.yarnpkg.com/@types/react-router-config/-/react-router-config-5.0.6.tgz#87c5c57e72d241db900d9734512c50ccec062451" + integrity sha512-db1mx37a1EJDf1XeX8jJN7R3PZABmJQXR8r28yUjVMFSjkmnQo6X6pOEEmNl+Tp2gYQOGPdYbFIipBtdElZ3Yg== dependencies: - "@types/history" "*" + "@types/history" "^4.7.11" "@types/react" "*" "@types/react-router" "*" @@ -4302,7 +4231,7 @@ dependencies: "@types/express" "*" -"@types/serve-static@*": +"@types/serve-static@*", "@types/serve-static@^1.13.10": version "1.13.10" resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.13.10.tgz#f5e0ce8797d2d7cc5ebeda48a52c96c4fa47a8d9" integrity sha512-nCkHGI4w7ZgAdNkrEu0bv+4xNV/XDqW+DydknebMOQwkpDGx8G+HTlj7R7ABI8i8nKxVw0wtKPi1D+lPOkh4YQ== @@ -4613,10 +4542,10 @@ ajv@^8.0.0, ajv@^8.8.0: require-from-string "^2.0.2" uri-js "^4.2.2" -algoliasearch-helper@^3.8.2: - version "3.8.2" - resolved "https://registry.yarnpkg.com/algoliasearch-helper/-/algoliasearch-helper-3.8.2.tgz#35726dc6d211f49dbab0bf6d37b4658165539523" - integrity sha512-AXxiF0zT9oYwl8ZBgU/eRXvfYhz7cBA5YrLPlw9inZHdaYF0QEya/f1Zp1mPYMXc1v6VkHwBq4pk6/vayBLICg== +algoliasearch-helper@^3.10.0: + version "3.10.0" + resolved "https://registry.yarnpkg.com/algoliasearch-helper/-/algoliasearch-helper-3.10.0.tgz#59a0f645dd3c7e55cf01faa568d1af50c49d36f6" + integrity sha512-4E4od8qWWDMVvQ3jaRX6Oks/k35ywD011wAA4LbYMMjOtaZV6VWaTjRr4iN2bdaXP2o1BP7SLFMBf3wvnHmd8Q== dependencies: "@algolia/events" "^4.0.1" @@ -4698,6 +4627,11 @@ ansi-styles@^6.0.0, ansi-styles@^6.1.0: resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.1.0.tgz#87313c102b8118abd57371afab34618bf7350ed3" integrity sha512-VbqNsoz55SYGczauuup0MFUyXNQviSpFTj1RQtFzmQLk18qbVSpTFFGMT293rmDaQuKCT6InmbuEyUne4mTuxQ== +any-promise@^1.0.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/any-promise/-/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f" + integrity sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A== + anymatch@^3.0.3, anymatch@~3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716" @@ -4978,29 +4912,29 @@ babel-plugin-jest-hoist@^28.1.3: "@types/babel__core" "^7.1.14" "@types/babel__traverse" "^7.0.6" -babel-plugin-polyfill-corejs2@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.0.tgz#407082d0d355ba565af24126fb6cb8e9115251fd" - integrity sha512-wMDoBJ6uG4u4PNFh72Ty6t3EgfA91puCuAwKIazbQlci+ENb/UU9A3xG5lutjUIiXCIn1CY5L15r9LimiJyrSA== +babel-plugin-polyfill-corejs2@^0.3.1: + version "0.3.2" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.2.tgz#e4c31d4c89b56f3cf85b92558954c66b54bd972d" + integrity sha512-LPnodUl3lS0/4wN3Rb+m+UK8s7lj2jcLRrjho4gLw+OJs+I4bvGXshINesY5xx/apM+biTnQ9reDI8yj+0M5+Q== dependencies: - "@babel/compat-data" "^7.13.11" - "@babel/helper-define-polyfill-provider" "^0.3.0" + "@babel/compat-data" "^7.17.7" + "@babel/helper-define-polyfill-provider" "^0.3.2" semver "^6.1.1" -babel-plugin-polyfill-corejs3@^0.5.0: - version "0.5.2" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.2.tgz#aabe4b2fa04a6e038b688c5e55d44e78cd3a5f72" - integrity sha512-G3uJih0XWiID451fpeFaYGVuxHEjzKTHtc9uGFEjR6hHrvNzeS/PX+LLLcetJcytsB5m4j+K3o/EpXJNb/5IEQ== +babel-plugin-polyfill-corejs3@^0.5.2: + version "0.5.3" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.3.tgz#d7e09c9a899079d71a8b670c6181af56ec19c5c7" + integrity sha512-zKsXDh0XjnrUEW0mxIHLfjBfnXSMr5Q/goMe/fxpQnLm07mcOZiIZHBNWCMx60HmdvjxfXcalac0tfFg0wqxyw== dependencies: - "@babel/helper-define-polyfill-provider" "^0.3.1" + "@babel/helper-define-polyfill-provider" "^0.3.2" core-js-compat "^3.21.0" -babel-plugin-polyfill-regenerator@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.3.0.tgz#9ebbcd7186e1a33e21c5e20cae4e7983949533be" - integrity sha512-dhAPTDLGoMW5/84wkgwiLRwMnio2i1fUe53EuvtKMv0pn2p3S8OCoV1xAzfJPl0KOX7IB89s2ib85vbYiea3jg== +babel-plugin-polyfill-regenerator@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.3.1.tgz#2c0678ea47c75c8cc2fbb1852278d8fb68233990" + integrity sha512-Y2B06tvgHYt1x0yz17jGkGeeMr5FeKUu+ASJ+N6nB5lQ8Dapfg42i0OVrf8PNGJ3zKL4A23snMi1IRwrqqND7A== dependencies: - "@babel/helper-define-polyfill-provider" "^0.3.0" + "@babel/helper-define-polyfill-provider" "^0.3.1" babel-preset-current-node-syntax@^1.0.0: version "1.0.1" @@ -5101,7 +5035,7 @@ blob-util@^2.0.2: resolved "https://registry.yarnpkg.com/blob-util/-/blob-util-2.0.2.tgz#3b4e3c281111bb7f11128518006cdc60b403a1eb" integrity sha512-T7JQa+zsXXEa6/8ZhHcQEW1UFfVM49Ts65uBkFL6fz2QmrElqmbajIDJvuA0tEhRe5eIjpV9ZF+0RfZR9voJFQ== -bluebird@^3.7.1, bluebird@^3.7.2: +bluebird@^3.7.2: version "3.7.2" resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== @@ -5134,7 +5068,7 @@ bonjour-service@^1.0.11: fast-deep-equal "^3.1.3" multicast-dns "^7.2.4" -boolbase@^1.0.0, boolbase@~1.0.0: +boolbase@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" integrity sha1-aN/1++YMUes3cl6p4+0xDcwed24= @@ -5312,6 +5246,11 @@ call-bind@^1.0.0, call-bind@^1.0.2: function-bind "^1.1.1" get-intrinsic "^1.0.2" +call-me-maybe@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/call-me-maybe/-/call-me-maybe-1.0.1.tgz#26d208ea89e37b5cbde60250a15f031c16a4d66b" + integrity sha512-wCyFsDQkKPwwF8BDwOiWNx/9K45L/hvggQiDbve+viMNMQnWhrlYIuBk09offfwCRtCO9P6XwUttufzU11WCVw== + callsites@^3.0.0, callsites@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" @@ -5369,7 +5308,7 @@ caseless@~0.12.0: resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= -ccount@^1.0.0, ccount@^1.0.3: +ccount@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/ccount/-/ccount-1.1.0.tgz#246687debb6014735131be8abab2d93898f8d043" integrity sha512-vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg== @@ -5446,32 +5385,10 @@ cheerio-select@^2.1.0: domhandler "^5.0.3" domutils "^3.0.1" -cheerio@^0.22.0: - version "0.22.0" - resolved "https://registry.yarnpkg.com/cheerio/-/cheerio-0.22.0.tgz#a9baa860a3f9b595a6b81b1a86873121ed3a269e" - integrity sha1-qbqoYKP5tZWmuBsahocxIe06Jp4= - dependencies: - css-select "~1.2.0" - dom-serializer "~0.1.0" - entities "~1.1.1" - htmlparser2 "^3.9.1" - lodash.assignin "^4.0.9" - lodash.bind "^4.1.4" - lodash.defaults "^4.0.1" - lodash.filter "^4.4.0" - lodash.flatten "^4.2.0" - lodash.foreach "^4.3.0" - lodash.map "^4.4.0" - lodash.merge "^4.4.0" - lodash.pick "^4.2.1" - lodash.reduce "^4.4.0" - lodash.reject "^4.4.0" - lodash.some "^4.4.0" - -cheerio@^1.0.0-rc.11: - version "1.0.0-rc.11" - resolved "https://registry.yarnpkg.com/cheerio/-/cheerio-1.0.0-rc.11.tgz#1be84be1a126958366bcc57a11648cd9b30a60c2" - integrity sha512-bQwNaDIBKID5ts/DsdhxrjqFXYfLw4ste+wMKqWA8DyKcS4qwsPP4Bk8ZNaTJjvpiX/qW3BT4sU7d6Bh5i+dag== +cheerio@^1.0.0-rc.12: + version "1.0.0-rc.12" + resolved "https://registry.yarnpkg.com/cheerio/-/cheerio-1.0.0-rc.12.tgz#788bf7466506b1c6bf5fae51d24a2c4d62e47683" + integrity sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q== dependencies: cheerio-select "^2.1.0" dom-serializer "^2.0.0" @@ -5480,7 +5397,6 @@ cheerio@^1.0.0-rc.11: htmlparser2 "^8.0.1" parse5 "^7.0.0" parse5-htmlparser2-tree-adapter "^7.0.0" - tslib "^2.4.0" chokidar@^3.4.2, chokidar@^3.5.1, chokidar@^3.5.3: version "3.5.3" @@ -5552,6 +5468,17 @@ cli-boxes@^3.0.0: resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-3.0.0.tgz#71a10c716feeba005e4504f36329ef0b17cf3145" integrity sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g== +cli-color@^2.0.2: + version "2.0.3" + resolved "https://registry.yarnpkg.com/cli-color/-/cli-color-2.0.3.tgz#73769ba969080629670f3f2ef69a4bf4e7cc1879" + integrity sha512-OkoZnxyC4ERN3zLzZaY9Emb7f/MhBOIpePv0Ycok0fJYT+Ouo00UBEIwsVsr0yoow++n5YWlSUgST9GKhNHiRQ== + dependencies: + d "^1.0.1" + es5-ext "^0.10.61" + es6-iterator "^2.0.3" + memoizee "^0.4.15" + timers-ext "^0.1.7" + cli-cursor@3.1.0, cli-cursor@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" @@ -5629,7 +5556,7 @@ clone@^1.0.2: resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e" integrity sha1-2jCcwmPfFZlMaIypAheco8fNfH4= -clsx@^1.1.1: +clsx@^1.1.1, clsx@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/clsx/-/clsx-1.2.1.tgz#0ddc4a20a549b59c93a4116bb26f5294ca17dc12" integrity sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg== @@ -5844,10 +5771,10 @@ configstore@^5.0.1: write-file-atomic "^3.0.0" xdg-basedir "^4.0.0" -connect-history-api-fallback@^1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz#8b32089359308d111115d81cad3fceab888f97bc" - integrity sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg== +connect-history-api-fallback@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz#647264845251a0daf25b97ce87834cace0f5f1c8" + integrity sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA== consola@^2.15.3: version "2.15.3" @@ -6005,10 +5932,10 @@ core-js-pure@^3.20.2: resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.21.1.tgz#8c4d1e78839f5f46208de7230cebfb72bc3bdb51" integrity sha512-12VZfFIu+wyVbBebyHmRTuEE/tZrB4tJToWcwAMcsp3h4+sHR+fMJWbKpYiCRWlhFBq+KNyO8rIV9rTkeVmznQ== -core-js@^3.22.7: - version "3.22.7" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.22.7.tgz#8d6c37f630f6139b8732d10f2c114c3f1d00024f" - integrity sha512-Jt8SReuDKVNZnZEzyEQT5eK6T2RRCXkfTq7Lo09kpm+fHjgGewSbNjV+Wt4yZMhPDdzz2x1ulI5z/w4nxpBseg== +core-js@^3.23.3: + version "3.24.0" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.24.0.tgz#4928d4e99c593a234eb1a1f9abd3122b04d3ac57" + integrity sha512-IeOyT8A6iK37Ep4kZDD423mpi6JfPRoPUdQwEWYiGolvn4o6j2diaRzNfDfpTdu3a5qMbrGUzKUpYpRY8jXCkQ== core-util-is@1.0.2: version "1.0.2" @@ -6150,10 +6077,10 @@ cspell@^5.20.0: strip-ansi "^6.0.1" vscode-uri "^3.0.3" -css-declaration-sorter@^6.2.2: - version "6.2.2" - resolved "https://registry.yarnpkg.com/css-declaration-sorter/-/css-declaration-sorter-6.2.2.tgz#bfd2f6f50002d6a3ae779a87d3a0c5d5b10e0f02" - integrity sha512-Ufadglr88ZLsrvS11gjeu/40Lw74D9Am/Jpr3LlYm5Q4ZP5KdlUhG+6u2EjyXeZcxmZ2h1ebCKngDjolpeLHpg== +css-declaration-sorter@^6.3.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/css-declaration-sorter/-/css-declaration-sorter-6.3.0.tgz#72ebd995c8f4532ff0036631f7365cce9759df14" + integrity sha512-OGT677UGHJTAVMRhPO+HJ4oKln3wkBTwtDFH0ojbqm+MJm6xuDMHp2nkhh/ThaBqq20IbraBQSWKfSLNHQO9Og== css-loader@^6.7.1: version "6.7.1" @@ -6203,16 +6130,6 @@ css-select@^5.1.0: domutils "^3.0.1" nth-check "^2.0.1" -css-select@~1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/css-select/-/css-select-1.2.0.tgz#2b3a110539c5355f1cd8d314623e870b121ec858" - integrity sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg= - dependencies: - boolbase "~1.0.0" - css-what "2.1" - domutils "1.5.1" - nth-check "~1.0.1" - css-tree@^1.1.2, css-tree@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.1.3.tgz#eb4870fb6fd7707327ec95c2ff2ab09b5e8db91d" @@ -6221,11 +6138,6 @@ css-tree@^1.1.2, css-tree@^1.1.3: mdn-data "2.0.14" source-map "^0.6.1" -css-what@2.1: - version "2.1.3" - resolved "https://registry.yarnpkg.com/css-what/-/css-what-2.1.3.tgz#a6d7604573365fe74686c3f311c56513d88285f2" - integrity sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg== - css-what@^5.0.0: version "5.1.0" resolved "https://registry.yarnpkg.com/css-what/-/css-what-5.1.0.tgz#3f7b707aadf633baf62c2ceb8579b545bb40f7fe" @@ -6241,48 +6153,48 @@ cssesc@^3.0.0: resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== -cssnano-preset-advanced@^5.3.5: - version "5.3.5" - resolved "https://registry.yarnpkg.com/cssnano-preset-advanced/-/cssnano-preset-advanced-5.3.5.tgz#b01dda0f76ff762b58bccd17c59701176b9be131" - integrity sha512-KgrfLQaTBB4bov/Xsi0+y5iGM5gg5QChP1PTMJ9t7U6p9geKHYcPS9AC6gmfwurm0GKxhTRafDx55E8FKHX8eg== +cssnano-preset-advanced@^5.3.8: + version "5.3.8" + resolved "https://registry.yarnpkg.com/cssnano-preset-advanced/-/cssnano-preset-advanced-5.3.8.tgz#027b1d05ef896d908178c483f0ec4190cb50ef9a" + integrity sha512-xUlLLnEB1LjpEik+zgRNlk8Y/koBPPtONZjp7JKbXigeAmCrFvq9H0pXW5jJV45bQWAlmJ0sKy+IMr0XxLYQZg== dependencies: autoprefixer "^10.3.7" - cssnano-preset-default "^5.2.9" + cssnano-preset-default "^5.2.12" postcss-discard-unused "^5.1.0" postcss-merge-idents "^5.1.1" postcss-reduce-idents "^5.2.0" postcss-zindex "^5.1.0" -cssnano-preset-default@^5.2.9: - version "5.2.9" - resolved "https://registry.yarnpkg.com/cssnano-preset-default/-/cssnano-preset-default-5.2.9.tgz#63f6aa9a9f0b21d9a526371dd308253b656a9784" - integrity sha512-/4qcQcAfFEg+gnXE5NxKmYJ9JcT+8S5SDuJCLYMDN8sM/ymZ+lgLXq5+ohx/7V2brUCkgW2OaoCzOdAN0zvhGw== +cssnano-preset-default@^5.2.12: + version "5.2.12" + resolved "https://registry.yarnpkg.com/cssnano-preset-default/-/cssnano-preset-default-5.2.12.tgz#ebe6596ec7030e62c3eb2b3c09f533c0644a9a97" + integrity sha512-OyCBTZi+PXgylz9HAA5kHyoYhfGcYdwFmyaJzWnzxuGRtnMw/kR6ilW9XzlzlRAtB6PLT/r+prYgkef7hngFew== dependencies: - css-declaration-sorter "^6.2.2" + css-declaration-sorter "^6.3.0" cssnano-utils "^3.1.0" postcss-calc "^8.2.3" postcss-colormin "^5.3.0" - postcss-convert-values "^5.1.1" - postcss-discard-comments "^5.1.1" + postcss-convert-values "^5.1.2" + postcss-discard-comments "^5.1.2" postcss-discard-duplicates "^5.1.0" postcss-discard-empty "^5.1.1" postcss-discard-overridden "^5.1.0" - postcss-merge-longhand "^5.1.5" - postcss-merge-rules "^5.1.1" + postcss-merge-longhand "^5.1.6" + postcss-merge-rules "^5.1.2" postcss-minify-font-values "^5.1.0" postcss-minify-gradients "^5.1.1" postcss-minify-params "^5.1.3" - postcss-minify-selectors "^5.2.0" + postcss-minify-selectors "^5.2.1" postcss-normalize-charset "^5.1.0" postcss-normalize-display-values "^5.1.0" - postcss-normalize-positions "^5.1.0" - postcss-normalize-repeat-style "^5.1.0" + postcss-normalize-positions "^5.1.1" + postcss-normalize-repeat-style "^5.1.1" postcss-normalize-string "^5.1.0" postcss-normalize-timing-functions "^5.1.0" postcss-normalize-unicode "^5.1.0" postcss-normalize-url "^5.1.0" postcss-normalize-whitespace "^5.1.1" - postcss-ordered-values "^5.1.1" + postcss-ordered-values "^5.1.3" postcss-reduce-initial "^5.1.0" postcss-reduce-transforms "^5.1.0" postcss-svgo "^5.1.0" @@ -6293,12 +6205,12 @@ cssnano-utils@^3.1.0: resolved "https://registry.yarnpkg.com/cssnano-utils/-/cssnano-utils-3.1.0.tgz#95684d08c91511edfc70d2636338ca37ef3a6861" integrity sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA== -cssnano@^5.1.8, cssnano@^5.1.9: - version "5.1.9" - resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-5.1.9.tgz#e6cb286c4907cbd55678eb315837a21008be21be" - integrity sha512-hctQHIIeDrfMjq0bQhoVmRVaSeNNOGxkvkKVOcKpJzLr09wlRrZWH4GaYudp0aszpW8wJeaO5/yBmID9n7DNCg== +cssnano@^5.1.12, cssnano@^5.1.8: + version "5.1.12" + resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-5.1.12.tgz#bcd0b64d6be8692de79332c501daa7ece969816c" + integrity sha512-TgvArbEZu0lk/dvg2ja+B7kYoD7BBCmn3+k58xD0qjrGHsFzXY/wKTo9M5egcUCabPol05e/PVoIu79s2JN4WQ== dependencies: - cssnano-preset-default "^5.2.9" + cssnano-preset-default "^5.2.12" lilconfig "^2.0.3" yaml "^1.10.2" @@ -6366,6 +6278,14 @@ cypress@8.3.0: url "^0.11.0" yauzl "^2.10.0" +d@1, d@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/d/-/d-1.0.1.tgz#8698095372d58dbee346ffd0c7093f99f8f9eb5a" + integrity sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA== + dependencies: + es5-ext "^0.10.50" + type "^1.0.1" + damerau-levenshtein@^1.0.8: version "1.0.8" resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz#b43d286ccbd36bc5b2f7ed41caf2d0aba1f8a6e7" @@ -6636,14 +6556,6 @@ dom-converter@^0.2.0: dependencies: utila "~0.4" -dom-serializer@0: - version "0.2.2" - resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.2.2.tgz#1afb81f533717175d478655debc5e332d9f9bb51" - integrity sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g== - dependencies: - domelementtype "^2.0.1" - entities "^2.0.0" - dom-serializer@^1.0.1: version "1.3.2" resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-1.3.2.tgz#6206437d32ceefaec7161803230c7a20bc1b4d91" @@ -6662,31 +6574,11 @@ dom-serializer@^2.0.0: domhandler "^5.0.2" entities "^4.2.0" -dom-serializer@~0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.1.1.tgz#1ec4059e284babed36eec2941d4a970a189ce7c0" - integrity sha512-l0IU0pPzLWSHBcieZbpOKgkIn3ts3vAh7ZuFyXNwJxJXk/c4Gwj9xaTJwIDVQCXawWD0qb3IzMGH5rglQaO0XA== - dependencies: - domelementtype "^1.3.0" - entities "^1.1.1" - -domelementtype@1, domelementtype@^1.3.0, domelementtype@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.1.tgz#d048c44b37b0d10a7f2a3d5fee3f4333d790481f" - integrity sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w== - domelementtype@^2.0.1, domelementtype@^2.2.0, domelementtype@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.3.0.tgz#5c45e8e869952626331d7aab326d01daf65d589d" integrity sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw== -domhandler@^2.3.0: - version "2.4.2" - resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-2.4.2.tgz#8805097e933d65e85546f726d60f5eb88b44f803" - integrity sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA== - dependencies: - domelementtype "1" - domhandler@^4.0.0, domhandler@^4.2.0: version "4.2.2" resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-4.2.2.tgz#e825d721d19a86b8c201a35264e226c678ee755f" @@ -6701,22 +6593,6 @@ domhandler@^5.0.1, domhandler@^5.0.2, domhandler@^5.0.3: dependencies: domelementtype "^2.3.0" -domutils@1.5.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.5.1.tgz#dcd8488a26f563d61079e48c9f7b7e32373682cf" - integrity sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8= - dependencies: - dom-serializer "0" - domelementtype "1" - -domutils@^1.5.1: - version "1.7.0" - resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.7.0.tgz#56ea341e834e06e6748af7a1cb25da67ea9f8c2a" - integrity sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg== - dependencies: - dom-serializer "0" - domelementtype "1" - domutils@^2.5.2, domutils@^2.6.0: version "2.8.0" resolved "https://registry.yarnpkg.com/domutils/-/domutils-2.8.0.tgz#4437def5db6e2d1f5d6ee859bd95ca7d02048135" @@ -6875,11 +6751,6 @@ enquirer@^2.3.6, enquirer@~2.3.6: dependencies: ansi-colors "^4.1.1" -entities@^1.1.1, entities@~1.1.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.2.tgz#bdfa735299664dfafd34529ed4f8522a275fea56" - integrity sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w== - entities@^2.0.0: version "2.2.0" resolved "https://registry.yarnpkg.com/entities/-/entities-2.2.0.tgz#098dc90ebb83d8dffa089d55256b351d34c4da55" @@ -6963,14 +6834,50 @@ es-shim-unscopables@^1.0.0: dependencies: has "^1.0.3" -es-to-primitive@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" - integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== +es-to-primitive@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" + integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== + dependencies: + is-callable "^1.1.4" + is-date-object "^1.0.1" + is-symbol "^1.0.2" + +es5-ext@^0.10.35, es5-ext@^0.10.46, es5-ext@^0.10.50, es5-ext@^0.10.53, es5-ext@^0.10.61, es5-ext@~0.10.14, es5-ext@~0.10.2, es5-ext@~0.10.46: + version "0.10.61" + resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.61.tgz#311de37949ef86b6b0dcea894d1ffedb909d3269" + integrity sha512-yFhIqQAzu2Ca2I4SE2Au3rxVfmohU9Y7wqGR+s7+H7krk26NXhIRAZDgqd6xqjCEFUomDEA3/Bo/7fKmIkW1kA== + dependencies: + es6-iterator "^2.0.3" + es6-symbol "^3.1.3" + next-tick "^1.1.0" + +es6-iterator@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.3.tgz#a7de889141a05a94b0854403b2d0a0fbfa98f3b7" + integrity sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g== + dependencies: + d "1" + es5-ext "^0.10.35" + es6-symbol "^3.1.1" + +es6-symbol@^3.1.1, es6-symbol@^3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.3.tgz#bad5d3c1bcdac28269f4cb331e431c78ac705d18" + integrity sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA== + dependencies: + d "^1.0.1" + ext "^1.1.2" + +es6-weak-map@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/es6-weak-map/-/es6-weak-map-2.0.3.tgz#b6da1f16cc2cc0d9be43e6bdbfc5e7dfcdf31d53" + integrity sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA== dependencies: - is-callable "^1.1.4" - is-date-object "^1.0.1" - is-symbol "^1.0.2" + d "1" + es5-ext "^0.10.46" + es6-iterator "^2.0.3" + es6-symbol "^3.1.1" escalade@^3.1.1: version "3.1.1" @@ -7027,9 +6934,9 @@ eslint-plugin-eslint-comments@^3.2.0: ignore "^5.0.5" eslint-plugin-eslint-plugin@^5.0.1: - version "5.0.2" - resolved "https://registry.yarnpkg.com/eslint-plugin-eslint-plugin/-/eslint-plugin-eslint-plugin-5.0.2.tgz#cc9389668b200134297914b2f9046a3cfb3f23f0" - integrity sha512-i1g9NpZXaBu3E+ufXHn9muW67PGDxxPpAVDUrAWWS9dG7y5wtxqEhnvookb+O+r2ByLjMJ+tyGizu5TyueBmbw== + 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== dependencies: eslint-utils "^3.0.0" estraverse "^5.2.0" @@ -7254,6 +7161,14 @@ eval@^0.1.8: "@types/node" "*" require-like ">= 0.1.1" +event-emitter@^0.3.5: + version "0.3.5" + resolved "https://registry.yarnpkg.com/event-emitter/-/event-emitter-0.3.5.tgz#df8c69eef1647923c7157b9ce83840610b02cc39" + integrity sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA== + dependencies: + d "1" + es5-ext "~0.10.14" + eventemitter2@^6.4.3: version "6.4.5" resolved "https://registry.yarnpkg.com/eventemitter2/-/eventemitter2-6.4.5.tgz#97380f758ae24ac15df8353e0cc27f8b95644655" @@ -7326,17 +7241,6 @@ exit@^0.1.2: resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" integrity sha1-BjJjj42HfMghB9MKD/8aF8uhzQw= -expect@^28.1.1: - version "28.1.1" - resolved "https://registry.yarnpkg.com/expect/-/expect-28.1.1.tgz#ca6fff65f6517cf7220c2e805a49c19aea30b420" - integrity sha512-/AANEwGL0tWBwzLNOvO0yUdy2D52jVdNXppOqswC49sxMN2cPWsGCQdzuIf9tj6hHoBQzNvx75JUYuQAckPo3w== - dependencies: - "@jest/expect-utils" "^28.1.1" - jest-get-type "^28.0.2" - jest-matcher-utils "^28.1.1" - jest-message-util "^28.1.1" - jest-util "^28.1.1" - expect@^28.1.3: version "28.1.3" resolved "https://registry.yarnpkg.com/expect/-/expect-28.1.3.tgz#90a7c1a124f1824133dd4533cce2d2bdcb6603ec" @@ -7385,6 +7289,13 @@ express@^4.17.3: utils-merge "1.0.1" vary "~1.1.2" +ext@^1.1.2: + version "1.6.0" + resolved "https://registry.yarnpkg.com/ext/-/ext-1.6.0.tgz#3871d50641e874cc172e2b53f919842d19db4c52" + integrity sha512-sdBImtzkq2HpkdRLtlLWDa6w4DX22ijZLKx8BMPUuKe1c5lbN6xwQDQCxSfxBQnHZ13ls/FH0MQZx/q/gr6FQg== + dependencies: + type "^2.5.0" + extend-shallow@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" @@ -7817,7 +7728,7 @@ 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.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== @@ -7826,15 +7737,6 @@ get-intrinsic@^1.0.2: has "^1.0.3" has-symbols "^1.0.3" -get-intrinsic@^1.1.0, get-intrinsic@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.1.tgz#15f59f376f855c446963948f0d24cd3637b4abc6" - integrity sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q== - dependencies: - function-bind "^1.1.1" - has "^1.0.3" - has-symbols "^1.0.1" - get-own-enumerable-property-symbols@^3.0.0: version "3.0.2" resolved "https://registry.yarnpkg.com/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz#b5fde77f22cbe35f390b4e089922c50bce6ef664" @@ -7979,6 +7881,13 @@ glob-parent@^6.0.1: dependencies: is-glob "^4.0.3" +glob-promise@^4.2.2: + version "4.2.2" + resolved "https://registry.yarnpkg.com/glob-promise/-/glob-promise-4.2.2.tgz#15f44bcba0e14219cd93af36da6bb905ff007877" + integrity sha512-xcUzJ8NWN5bktoTIX7eOclO1Npxd/dyVqUJxlLIDasT4C7KZyqlPIwkdJ0Ypiy3p2ZKahTjK4M9uC3sNSfNMzw== + dependencies: + "@types/glob" "^7.1.3" + glob-to-regexp@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e" @@ -8219,17 +8128,6 @@ hast-to-hyperscript@^9.0.0: unist-util-is "^4.0.0" web-namespaces "^1.0.0" -hast-util-from-parse5@^5.0.0: - version "5.0.3" - resolved "https://registry.yarnpkg.com/hast-util-from-parse5/-/hast-util-from-parse5-5.0.3.tgz#3089dc0ee2ccf6ec8bc416919b51a54a589e097c" - integrity sha512-gOc8UB99F6eWVWFtM9jUikjN7QkWxB3nY0df5Z0Zq1/Nkwl5V4hAAsl0tmwlgWl/1shlTF8DnNYLO8X6wRV9pA== - dependencies: - ccount "^1.0.3" - hastscript "^5.0.0" - property-information "^5.0.0" - web-namespaces "^1.1.2" - xtend "^4.0.1" - hast-util-from-parse5@^6.0.0: version "6.0.1" resolved "https://registry.yarnpkg.com/hast-util-from-parse5/-/hast-util-from-parse5-6.0.1.tgz#554e34abdeea25ac76f5bd950a1f0180e0b3bc2a" @@ -8274,16 +8172,6 @@ hast-util-to-parse5@^6.0.0: xtend "^4.0.0" zwitch "^1.0.0" -hastscript@^5.0.0: - version "5.1.2" - resolved "https://registry.yarnpkg.com/hastscript/-/hastscript-5.1.2.tgz#bde2c2e56d04c62dd24e8c5df288d050a355fb8a" - integrity sha512-WlztFuK+Lrvi3EggsqOkQ52rKbxkXL3RwB6t5lwoa8QLMemoWfBuL43eDrwOamJyR7uKQKdmKYaBH1NZBiIRrQ== - dependencies: - comma-separated-tokens "^1.0.0" - hast-util-parse-selector "^2.0.0" - property-information "^5.0.0" - space-separated-tokens "^1.0.0" - hastscript@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/hastscript/-/hastscript-6.0.0.tgz#e8768d7eac56c3fdeac8a92830d58e811e5bf640" @@ -8399,18 +8287,6 @@ html-webpack-plugin@^5.5.0: pretty-error "^4.0.0" tapable "^2.0.0" -htmlparser2@^3.9.1: - version "3.10.1" - resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.10.1.tgz#bd679dc3f59897b6a34bb10749c855bb53a9392f" - integrity sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ== - dependencies: - domelementtype "^1.3.1" - domhandler "^2.3.0" - domutils "^1.5.1" - entities "^1.1.1" - inherits "^2.0.1" - readable-stream "^3.1.1" - htmlparser2@^6.1.0: version "6.1.0" resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-6.1.0.tgz#c4d762b6c3371a05dbe65e94ae43a9f845fb8fb7" @@ -8636,10 +8512,10 @@ infer-owner@^1.0.4: resolved "https://registry.yarnpkg.com/infer-owner/-/infer-owner-1.0.4.tgz#c4cefcaa8e51051c2a40ba2ce8a3d27295af9467" integrity sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A== -infima@0.2.0-alpha.39: - version "0.2.0-alpha.39" - resolved "https://registry.yarnpkg.com/infima/-/infima-0.2.0-alpha.39.tgz#054b13ac44f3e9a42bc083988f1a1586add2f59c" - integrity sha512-UyYiwD3nwHakGhuOUfpe3baJ8gkiPpRVx4a4sE/Ag+932+Y6swtLsdPoRR8ezhwqGnduzxmFkjumV9roz6QoLw== +infima@0.2.0-alpha.42: + version "0.2.0-alpha.42" + resolved "https://registry.yarnpkg.com/infima/-/infima-0.2.0-alpha.42.tgz#f6e86a655ad40877c6b4d11b2ede681eb5470aa5" + integrity sha512-ift8OXNbQQwtbIt6z16KnSWP7uJ/SysSMFI4F87MNRTicypfl4Pv3E2OGVv6N3nSZFJvA8imYulCBS64iyHYww== inflight@^1.0.4: version "1.0.6" @@ -8968,6 +8844,11 @@ is-plain-object@^5.0.0: resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-5.0.0.tgz#4427f50ab3429e9025ea7d52e9043a9ef4159344" integrity sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q== +is-promise@^2.2.2: + version "2.2.2" + resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.2.2.tgz#39ab959ccbf9a774cf079f7b40c7a26f763135f1" + integrity sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ== + is-reference@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/is-reference/-/is-reference-1.2.1.tgz#8b2dac0b371f4bc994fdeaba9eb542d03002d0b7" @@ -9261,18 +9142,6 @@ jest-each@^28.1.3: jest-util "^28.1.3" pretty-format "^28.1.3" -jest-environment-node@^28.1.1: - version "28.1.1" - resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-28.1.1.tgz#1c86c59003a7d319fa06ea3b1bbda6c193715c67" - integrity sha512-2aV/eeY/WNgUUJrrkDJ3cFEigjC5fqT1+fCclrY6paqJ5zVPoM//sHmfgUUp7WLYxIdbPwMiVIzejpN56MxnNA== - dependencies: - "@jest/environment" "^28.1.1" - "@jest/fake-timers" "^28.1.1" - "@jest/types" "^28.1.1" - "@types/node" "*" - jest-mock "^28.1.1" - jest-util "^28.1.1" - jest-environment-node@^28.1.3: version "28.1.3" resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-28.1.3.tgz#7e74fe40eb645b9d56c0c4b70ca4357faa349be5" @@ -9290,26 +9159,7 @@ jest-get-type@^28, jest-get-type@^28.0.2: resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-28.0.2.tgz#34622e628e4fdcd793d46db8a242227901fcf203" integrity sha512-ioj2w9/DxSYHfOm5lJKCdcAmPJzQXmbM/Url3rhlghrPvT3tt+7a/+oXc9azkKmLvoiXjtV83bEWqi+vs5nlPA== -jest-haste-map@^28.1.1: - version "28.1.1" - resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-28.1.1.tgz#471685f1acd365a9394745bb97c8fc16289adca3" - integrity sha512-ZrRSE2o3Ezh7sb1KmeLEZRZ4mgufbrMwolcFHNRSjKZhpLa8TdooXOOFlSwoUzlbVs1t0l7upVRW2K7RWGHzbQ== - dependencies: - "@jest/types" "^28.1.1" - "@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 "^28.0.2" - jest-util "^28.1.1" - jest-worker "^28.1.1" - micromatch "^4.0.4" - walker "^1.0.8" - optionalDependencies: - fsevents "^2.3.2" - -jest-haste-map@^28.1.3: +jest-haste-map@^28.1.1, jest-haste-map@^28.1.3: version "28.1.3" resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-28.1.3.tgz#abd5451129a38d9841049644f34b034308944e2b" integrity sha512-3S+RQWDXccXDKSWnkHa/dPwt+2qwA8CJzR61w3FoYCvoo3Pn8tvGcysmMF0Bj0EX5RYvAI2EIvC57OmotfdtKA== @@ -9328,14 +9178,6 @@ jest-haste-map@^28.1.3: optionalDependencies: fsevents "^2.3.2" -jest-leak-detector@^28.1.1: - version "28.1.1" - resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-28.1.1.tgz#537f37afd610a4b3f4cab15e06baf60484548efb" - integrity sha512-4jvs8V8kLbAaotE+wFR7vfUGf603cwYtFf1/PYEsyX2BAjSzj8hQSVTP6OWzseTl0xL6dyHuKs2JAks7Pfubmw== - dependencies: - jest-get-type "^28.0.2" - pretty-format "^28.1.1" - jest-leak-detector@^28.1.3: version "28.1.3" resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-28.1.3.tgz#a6685d9b074be99e3adee816ce84fd30795e654d" @@ -9344,7 +9186,7 @@ jest-leak-detector@^28.1.3: jest-get-type "^28.0.2" pretty-format "^28.1.3" -jest-matcher-utils@^28, jest-matcher-utils@^28.0.0, jest-matcher-utils@^28.1.1, jest-matcher-utils@^28.1.3: +jest-matcher-utils@^28, jest-matcher-utils@^28.0.0, jest-matcher-utils@^28.1.3: version "28.1.3" resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-28.1.3.tgz#5a77f1c129dd5ba3b4d7fc20728806c78893146e" integrity sha512-kQeJ7qHemKfbzKoGjHHrRKH6atgxMk8Enkk2iPQ3XwO6oE/KYD8lMYOziCkeSB9G4adPM4nR1DE8Tf5JeWH6Bw== @@ -9354,22 +9196,7 @@ jest-matcher-utils@^28, jest-matcher-utils@^28.0.0, jest-matcher-utils@^28.1.1, jest-get-type "^28.0.2" pretty-format "^28.1.3" -jest-message-util@^28.1.1: - version "28.1.1" - resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-28.1.1.tgz#60aa0b475cfc08c8a9363ed2fb9108514dd9ab89" - integrity sha512-xoDOOT66fLfmTRiqkoLIU7v42mal/SqwDKvfmfiWAdJMSJiU+ozgluO7KbvoAgiwIrrGZsV7viETjc8GNrA/IQ== - dependencies: - "@babel/code-frame" "^7.12.13" - "@jest/types" "^28.1.1" - "@types/stack-utils" "^2.0.0" - chalk "^4.0.0" - graceful-fs "^4.2.9" - micromatch "^4.0.4" - pretty-format "^28.1.1" - slash "^3.0.0" - stack-utils "^2.0.3" - -jest-message-util@^28.1.3: +jest-message-util@^28.1.1, jest-message-util@^28.1.3: version "28.1.3" resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-28.1.3.tgz#232def7f2e333f1eecc90649b5b94b0055e7c43d" integrity sha512-PFdn9Iewbt575zKPf1286Ht9EPoJmYT7P0kY+RibeYZ2XtOr53pDLEFoTWXbd1h4JiGiWpTBC84fc8xMXQMb7g== @@ -9384,14 +9211,6 @@ jest-message-util@^28.1.3: slash "^3.0.0" stack-utils "^2.0.3" -jest-mock@^28.1.1: - version "28.1.1" - resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-28.1.1.tgz#37903d269427fa1ef5b2447be874e1c62a39a371" - integrity sha512-bDCb0FjfsmKweAvE09dZT59IMkzgN0fYBH6t5S45NoJfd2DHkS3ySG2K+hucortryhO3fVuXdlxWcbtIuV/Skw== - dependencies: - "@jest/types" "^28.1.1" - "@types/node" "*" - jest-mock@^28.1.3: version "28.1.3" resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-28.1.3.tgz#d4e9b1fc838bea595c77ab73672ebf513ab249da" @@ -9433,34 +9252,7 @@ jest-resolve@27.5.1, jest-resolve@^28, jest-resolve@^28.1.1, jest-resolve@^28.1. resolve.exports "^1.1.0" slash "^3.0.0" -jest-runner@^28.1.1: - version "28.1.1" - resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-28.1.1.tgz#9ecdb3f27a00059986797aa6b012ba8306aa436c" - integrity sha512-W5oFUiDBgTsCloTAj6q95wEvYDB0pxIhY6bc5F26OucnwBN+K58xGTGbliSMI4ChQal5eANDF+xvELaYkJxTmA== - dependencies: - "@jest/console" "^28.1.1" - "@jest/environment" "^28.1.1" - "@jest/test-result" "^28.1.1" - "@jest/transform" "^28.1.1" - "@jest/types" "^28.1.1" - "@types/node" "*" - chalk "^4.0.0" - emittery "^0.10.2" - graceful-fs "^4.2.9" - jest-docblock "^28.1.1" - jest-environment-node "^28.1.1" - jest-haste-map "^28.1.1" - jest-leak-detector "^28.1.1" - jest-message-util "^28.1.1" - jest-resolve "^28.1.1" - jest-runtime "^28.1.1" - jest-util "^28.1.1" - jest-watcher "^28.1.1" - jest-worker "^28.1.1" - source-map-support "0.5.13" - throat "^6.0.1" - -jest-runner@^28.1.3: +jest-runner@^28.1.1, jest-runner@^28.1.3: version "28.1.3" resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-28.1.3.tgz#5eee25febd730b4713a2cdfd76bdd5557840f9a1" integrity sha512-GkMw4D/0USd62OVO0oEgjn23TM+YJa2U2Wu5zz9xsQB1MxWKDOlrnykPxnMsN0tnJllfLPinHTka61u0QhaxBA== @@ -9487,35 +9279,7 @@ jest-runner@^28.1.3: p-limit "^3.1.0" source-map-support "0.5.13" -jest-runtime@^28.1.1: - version "28.1.1" - resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-28.1.1.tgz#569e1dc3c36c6c4c0b29516c1c49b6ad580abdaf" - integrity sha512-J89qEJWW0leOsqyi0D9zHpFEYHwwafFdS9xgvhFHtIdRghbadodI0eA+DrthK/1PebBv3Px8mFSMGKrtaVnleg== - dependencies: - "@jest/environment" "^28.1.1" - "@jest/fake-timers" "^28.1.1" - "@jest/globals" "^28.1.1" - "@jest/source-map" "^28.0.2" - "@jest/test-result" "^28.1.1" - "@jest/transform" "^28.1.1" - "@jest/types" "^28.1.1" - chalk "^4.0.0" - cjs-module-lexer "^1.0.0" - collect-v8-coverage "^1.0.0" - execa "^5.0.0" - glob "^7.1.3" - graceful-fs "^4.2.9" - jest-haste-map "^28.1.1" - jest-message-util "^28.1.1" - jest-mock "^28.1.1" - jest-regex-util "^28.0.2" - jest-resolve "^28.1.1" - jest-snapshot "^28.1.1" - jest-util "^28.1.1" - slash "^3.0.0" - strip-bom "^4.0.0" - -jest-runtime@^28.1.3: +jest-runtime@^28.1.1, jest-runtime@^28.1.3: version "28.1.3" resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-28.1.3.tgz#a57643458235aa53e8ec7821949e728960d0605f" integrity sha512-NU+881ScBQQLc1JHG5eJGU7Ui3kLKrmwCPPtYsJtBykixrM2OhVQlpMmFWJjMyDfdkGgBMNjXCGB/ebzsgNGQw== @@ -9591,19 +9355,7 @@ jest-util@27.5.1, jest-util@^28, jest-util@^28.1.1, jest-util@^28.1.3: graceful-fs "^4.2.9" picomatch "^2.2.3" -jest-validate@^28.1.1: - version "28.1.1" - resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-28.1.1.tgz#59b7b339b3c85b5144bd0c06ad3600f503a4acc8" - integrity sha512-Kpf6gcClqFCIZ4ti5++XemYJWUPCFUW+N2gknn+KgnDf549iLul3cBuKVe1YcWRlaF8tZV8eJCap0eECOEE3Ug== - dependencies: - "@jest/types" "^28.1.1" - camelcase "^6.2.0" - chalk "^4.0.0" - jest-get-type "^28.0.2" - leven "^3.1.0" - pretty-format "^28.1.1" - -jest-validate@^28.1.3: +jest-validate@^28.1.1, jest-validate@^28.1.3: version "28.1.3" resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-28.1.3.tgz#e322267fd5e7c64cea4629612c357bbda96229df" integrity sha512-SZbOGBWEsaTxBGCOpsRWlXlvNkvTkY0XxRfh7zYmvd8uL5Qzyg0CHAXiXKROflh801quA6+/DsT4ODDthOC/OA== @@ -9615,21 +9367,7 @@ jest-validate@^28.1.3: leven "^3.1.0" pretty-format "^28.1.3" -jest-watcher@^28.1.1: - version "28.1.1" - resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-28.1.1.tgz#533597fb3bfefd52b5cd115cd916cffd237fb60c" - integrity sha512-RQIpeZ8EIJMxbQrXpJQYIIlubBnB9imEHsxxE41f54ZwcqWLysL/A0ZcdMirf+XsMn3xfphVQVV4EW0/p7i7Ug== - dependencies: - "@jest/test-result" "^28.1.1" - "@jest/types" "^28.1.1" - "@types/node" "*" - ansi-escapes "^4.2.1" - chalk "^4.0.0" - emittery "^0.10.2" - jest-util "^28.1.1" - string-length "^4.0.1" - -jest-watcher@^28.1.3: +jest-watcher@^28.1.1, jest-watcher@^28.1.3: version "28.1.3" resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-28.1.3.tgz#c6023a59ba2255e3b4c57179fc94164b3e73abd4" integrity sha512-t4qcqj9hze+jviFPUN3YAtAEeFnr/azITXQEMARf5cMwKY2SMBRnCQTXLixTl20OR6mLh9KLMrgVJgJISym+1g== @@ -9661,15 +9399,6 @@ jest-worker@^27.4.5, jest-worker@^27.5.1: merge-stream "^2.0.0" supports-color "^8.0.0" -jest-worker@^28.1.1: - version "28.1.1" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-28.1.1.tgz#3480c73247171dfd01eda77200f0063ab6a3bf28" - integrity sha512-Au7slXB08C6h+xbJPp7VIb6U0XX5Kc9uel/WFc6/rcTzGiaVCBRngBExSYuXSLFPULPSYU3cJ3ybS988lNFQhQ== - dependencies: - "@types/node" "*" - merge-stream "^2.0.0" - supports-color "^8.0.0" - jest-worker@^28.1.3: version "28.1.3" resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-28.1.3.tgz#7e3c4ce3fa23d1bb6accb169e7f396f98ed4bb98" @@ -9755,6 +9484,26 @@ json-parse-even-better-errors@^2.3.0, json-parse-even-better-errors@^2.3.1: resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== +json-schema-to-typescript@^11.0.1: + version "11.0.2" + resolved "https://registry.yarnpkg.com/json-schema-to-typescript/-/json-schema-to-typescript-11.0.2.tgz#80348391abb4ffb75daf312380c2f01c552ffba8" + integrity sha512-XRyeXBJeo/IH4eTP5D1ptX78vCvH86nMDt2k3AxO28C3uYWEDmy4mgPyMpb8bLJ/pJMElOGuQbnKR5Y6NSh3QQ== + dependencies: + "@bcherny/json-schema-ref-parser" "9.0.9" + "@types/json-schema" "^7.0.11" + "@types/lodash" "^4.14.182" + "@types/prettier" "^2.6.1" + cli-color "^2.0.2" + get-stdin "^8.0.0" + glob "^7.1.6" + glob-promise "^4.2.2" + is-glob "^4.0.3" + lodash "^4.17.21" + minimist "^1.2.6" + mkdirp "^1.0.4" + mz "^2.7.0" + prettier "^2.6.2" + json-schema-traverse@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" @@ -9765,7 +9514,7 @@ json-schema-traverse@^1.0.0: resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== -json-schema@*, json-schema@0.4.0: +json-schema@*, json-schema@0.4.0, json-schema@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.4.0.tgz#f7de4cf6efab838ebaeb3236474cbba5a1930ab5" integrity sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA== @@ -9879,9 +9628,9 @@ konami-code-js@^0.8.1: integrity sha512-bJ0tuWYLYiUueIVTpA0MV4h4Gz1X16uuJggh5TpIWXOQoLv0238SU7Im23z2wYKCCBsOfk5j4HKWB/pqdCgu5Q== konamimojisplosion@^0.5.1: - version "0.5.1" - resolved "https://registry.yarnpkg.com/konamimojisplosion/-/konamimojisplosion-0.5.1.tgz#610108e3d36bf83d9d26a2e0f3f180491b8023af" - integrity sha512-eT8nElztw28D/xlirsm50NxBYt1LgHQg8qaTJ3S2c363YmhesGKSptckEJS2yQpwQsAPe0QpJxUp/z1gnWXl0A== + version "0.5.2" + resolved "https://registry.yarnpkg.com/konamimojisplosion/-/konamimojisplosion-0.5.2.tgz#9ccc1ad5e727a3934e3a7a0335246c87d6a0de2e" + integrity sha512-gPZ+0a720xl9OcfJOUw549fnij0xsP78GupIhl0irnJF6wwIhHSjHEp75qrXNVJb2p9Rtui5yOeJQoUcLy1lvQ== dependencies: emojisplosion "^2.6.1" konami-code-js "^0.8.1" @@ -9910,27 +9659,27 @@ lazy-ass@^1.6.0: resolved "https://registry.yarnpkg.com/lazy-ass/-/lazy-ass-1.6.0.tgz#7999655e8646c17f089fdd187d150d3324d54513" integrity sha1-eZllXoZGwX8In90YfRUNMyTVRRM= -lerna@5.4.2: - version "5.4.2" - resolved "https://registry.yarnpkg.com/lerna/-/lerna-5.4.2.tgz#f13dc9929fae84e03d16ed5412e7baa1ba3b366e" - integrity sha512-ELx2ho8C2Mb6kdDA9rcLyobSjzYEu4Hr2+g/fj5IbfSHe3s7rZOMiDM8QPxyslx49Ml4LdepZAJ6gwBYiJygWg== - dependencies: - "@lerna/add" "5.4.2" - "@lerna/bootstrap" "5.4.2" - "@lerna/changed" "5.4.2" - "@lerna/clean" "5.4.2" - "@lerna/cli" "5.4.2" - "@lerna/create" "5.4.2" - "@lerna/diff" "5.4.2" - "@lerna/exec" "5.4.2" - "@lerna/import" "5.4.2" - "@lerna/info" "5.4.2" - "@lerna/init" "5.4.2" - "@lerna/link" "5.4.2" - "@lerna/list" "5.4.2" - "@lerna/publish" "5.4.2" - "@lerna/run" "5.4.2" - "@lerna/version" "5.4.2" +lerna@5.4.3: + version "5.4.3" + resolved "https://registry.yarnpkg.com/lerna/-/lerna-5.4.3.tgz#a0a7f24de87b7e4dc4eed5547c07c5dc0865d785" + integrity sha512-PypijMk4Jii8DoWGRLiHhBUaqpjXAmrwbs6uUZgyb07JrqCrXW3nhAyzdZE5S0rk1/sRzjd10fYmntOgNFfKBw== + dependencies: + "@lerna/add" "5.4.3" + "@lerna/bootstrap" "5.4.3" + "@lerna/changed" "5.4.3" + "@lerna/clean" "5.4.3" + "@lerna/cli" "5.4.3" + "@lerna/create" "5.4.3" + "@lerna/diff" "5.4.3" + "@lerna/exec" "5.4.3" + "@lerna/import" "5.4.3" + "@lerna/info" "5.4.3" + "@lerna/init" "5.4.3" + "@lerna/link" "5.4.3" + "@lerna/list" "5.4.3" + "@lerna/publish" "5.4.3" + "@lerna/run" "5.4.3" + "@lerna/version" "5.4.3" import-local "^3.0.2" npmlog "^6.0.2" nx ">=14.5.4 < 16" @@ -10102,16 +9851,6 @@ locate-path@^6.0.0: dependencies: p-locate "^5.0.0" -lodash.assignin@^4.0.9: - version "4.2.0" - resolved "https://registry.yarnpkg.com/lodash.assignin/-/lodash.assignin-4.2.0.tgz#ba8df5fb841eb0a3e8044232b0e263a8dc6a28a2" - integrity sha1-uo31+4QesKPoBEIysOJjqNxqKKI= - -lodash.bind@^4.1.4: - version "4.2.1" - resolved "https://registry.yarnpkg.com/lodash.bind/-/lodash.bind-4.2.1.tgz#7ae3017e939622ac31b7d7d7dcb1b34db1690d35" - integrity sha1-euMBfpOWIqwxt9fX3LGzTbFpDTU= - lodash.curry@^4.0.1: version "4.1.1" resolved "https://registry.yarnpkg.com/lodash.curry/-/lodash.curry-4.1.1.tgz#248e36072ede906501d75966200a86dab8b23170" @@ -10122,31 +9861,11 @@ lodash.debounce@^4.0.8: resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" integrity sha1-gteb/zCmfEAF/9XiUVMArZyk168= -lodash.defaults@^4.0.1: - version "4.2.0" - resolved "https://registry.yarnpkg.com/lodash.defaults/-/lodash.defaults-4.2.0.tgz#d09178716ffea4dde9e5fb7b37f6f0802274580c" - integrity sha1-0JF4cW/+pN3p5ft7N/bwgCJ0WAw= - -lodash.filter@^4.4.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/lodash.filter/-/lodash.filter-4.6.0.tgz#668b1d4981603ae1cc5a6fa760143e480b4c4ace" - integrity sha1-ZosdSYFgOuHMWm+nYBQ+SAtMSs4= - -lodash.flatten@^4.2.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/lodash.flatten/-/lodash.flatten-4.4.0.tgz#f31c22225a9632d2bbf8e4addbef240aa765a61f" - integrity sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8= - lodash.flow@^3.3.0: version "3.5.0" resolved "https://registry.yarnpkg.com/lodash.flow/-/lodash.flow-3.5.0.tgz#87bf40292b8cf83e4e8ce1a3ae4209e20071675a" integrity sha1-h79AKSuM+D5OjOGjrkIJ4gBxZ1o= -lodash.foreach@^4.3.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.foreach/-/lodash.foreach-4.5.0.tgz#1a6a35eace401280c7f06dddec35165ab27e3e53" - integrity sha1-Gmo16s5AEoDH8G3d7DUWWrJ+PlM= - lodash.get@^4.4.2: version "4.4.2" resolved "https://registry.yarnpkg.com/lodash.get/-/lodash.get-4.4.2.tgz#2d177f652fa31e939b4438d5341499dfa3825e99" @@ -10162,17 +9881,12 @@ lodash.ismatch@^4.4.0: resolved "https://registry.yarnpkg.com/lodash.ismatch/-/lodash.ismatch-4.4.0.tgz#756cb5150ca3ba6f11085a78849645f188f85f37" integrity sha1-dWy1FQyjum8RCFp4hJZF8Yj4Xzc= -lodash.map@^4.4.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/lodash.map/-/lodash.map-4.6.0.tgz#771ec7839e3473d9c4cde28b19394c3562f4f6d3" - integrity sha1-dx7Hg540c9nEzeKLGTlMNWL09tM= - lodash.memoize@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" integrity sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4= -lodash.merge@^4.4.0, lodash.merge@^4.6.2: +lodash.merge@^4.6.2: version "4.6.2" resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== @@ -10182,26 +9896,6 @@ lodash.once@^4.1.1: resolved "https://registry.yarnpkg.com/lodash.once/-/lodash.once-4.1.1.tgz#0dd3971213c7c56df880977d504c88fb471a97ac" integrity sha1-DdOXEhPHxW34gJd9UEyI+0cal6w= -lodash.pick@^4.2.1: - version "4.4.0" - resolved "https://registry.yarnpkg.com/lodash.pick/-/lodash.pick-4.4.0.tgz#52f05610fff9ded422611441ed1fc123a03001b3" - integrity sha1-UvBWEP/53tQiYRRB7R/BI6AwAbM= - -lodash.reduce@^4.4.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/lodash.reduce/-/lodash.reduce-4.6.0.tgz#f1ab6b839299ad48f784abbf476596f03b914d3b" - integrity sha1-8atrg5KZrUj3hKu/R2WW8DuRTTs= - -lodash.reject@^4.4.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/lodash.reject/-/lodash.reject-4.6.0.tgz#80d6492dc1470864bbf583533b651f42a9f52415" - integrity sha1-gNZJLcFHCGS79YNTO2UfQqn1JBU= - -lodash.some@^4.4.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/lodash.some/-/lodash.some-4.6.0.tgz#1bb9f314ef6b8baded13b549169b2a945eb68e4d" - integrity sha1-G7nzFO9ri63tE7VJFpsqlF62jk0= - lodash.uniq@4.5.0, lodash.uniq@^4.5.0: version "4.5.0" resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" @@ -10266,6 +9960,13 @@ lru-cache@^7.4.4, lru-cache@^7.5.1, lru-cache@^7.7.1: resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-7.10.1.tgz#db577f42a94c168f676b638d15da8fb073448cab" integrity sha512-BQuhQxPuRl79J5zSXRP+uNzPOyZw2oFI9JLRQ80XswSvg21KMKNtQza9eF42rfI/3Z40RvzBdXgziEkudzjo8A== +lru-queue@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/lru-queue/-/lru-queue-0.1.0.tgz#2738bd9f0d3cf4f84490c5736c48699ac632cda3" + integrity sha512-BpdYkt9EvGl8OfWHDQPISVpcl5xZthb+XPsbELj5AQXxIC8IriDZIQYjBJPEm5rS420sjZ0TLEzRcq5KdBhYrQ== + dependencies: + es5-ext "~0.10.2" + lzstring.ts@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/lzstring.ts/-/lzstring.ts-2.0.2.tgz#1d269bd6ab423713f31e614f67018110ed860129" @@ -10443,6 +10144,20 @@ memfs@^3.1.2, memfs@^3.4.1: dependencies: fs-monkey "1.0.3" +memoizee@^0.4.15: + version "0.4.15" + resolved "https://registry.yarnpkg.com/memoizee/-/memoizee-0.4.15.tgz#e6f3d2da863f318d02225391829a6c5956555b72" + integrity sha512-UBWmJpLZd5STPm7PMUlOw/TSy972M+z8gcyQ5veOnSDRREz/0bmpyTfKt3/51DhEBqCZQn1udM/5flcSPYhkdQ== + dependencies: + d "^1.0.1" + es5-ext "^0.10.53" + es6-weak-map "^2.0.3" + event-emitter "^0.3.5" + is-promise "^2.2.2" + lru-queue "^0.1.0" + next-tick "^1.1.0" + timers-ext "^0.1.7" + meow@^8.0.0: version "8.1.2" resolved "https://registry.yarnpkg.com/meow/-/meow-8.1.2.tgz#bcbe45bda0ee1729d350c03cffc8395a36c4e897" @@ -10550,10 +10265,10 @@ mini-create-react-context@^0.4.0: "@babel/runtime" "^7.12.1" tiny-warning "^1.0.3" -mini-css-extract-plugin@^2.6.0: - version "2.6.0" - resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-2.6.0.tgz#578aebc7fc14d32c0ad304c2c34f08af44673f5e" - integrity sha512-ndG8nxCEnAemsg4FSgS+yNyHKgkTB4nPKqCOgh65j3/30qqC5RaSQQXMm++Y6sb6E1zRSxPkztj9fqxhS1Eo6w== +mini-css-extract-plugin@^2.6.1: + version "2.6.1" + resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-2.6.1.tgz#9a1251d15f2035c342d99a468ab9da7a0451b71e" + integrity sha512-wd+SD57/K6DiV7jIR34P+s3uckTRuQvx0tKPcvjFlrEylk6P4mQ2KSWk1hblj1Kxaqok7LogKOieygXqBczNlg== dependencies: schema-utils "^4.0.0" @@ -10743,6 +10458,15 @@ mute-stream@0.0.8, mute-stream@~0.0.4: resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d" integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== +mz@^2.7.0: + version "2.7.0" + resolved "https://registry.yarnpkg.com/mz/-/mz-2.7.0.tgz#95008057a56cafadc2bc63dde7f9ff6955948e32" + integrity sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q== + dependencies: + any-promise "^1.0.0" + object-assign "^4.0.1" + thenify-all "^1.0.0" + nanoid@^3.3.4: version "3.3.4" resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.4.tgz#730b67e3cd09e2deacf03c027c81c9d9dbc5e8ab" @@ -10768,6 +10492,11 @@ neo-async@^2.6.0, neo-async@^2.6.2: resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== +next-tick@1, next-tick@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.1.0.tgz#1836ee30ad56d67ef281b22bd199f709449b35eb" + integrity sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ== + no-case@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/no-case/-/no-case-3.0.4.tgz#d361fd5c9800f558551a8369fc0dcd4662b6124d" @@ -11027,13 +10756,6 @@ nth-check@^2.0.0, nth-check@^2.0.1: dependencies: boolbase "^1.0.0" -nth-check@~1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-1.0.2.tgz#b2bd295c37e3dd58a3bf0700376663ba4d9cf05c" - integrity sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg== - dependencies: - boolbase "~1.0.0" - nx@14.1.4: version "14.1.4" resolved "https://registry.yarnpkg.com/nx/-/nx-14.1.4.tgz#83bfb7564604eb26a78b3f5718cb2f90faeaaf4f" @@ -11109,7 +10831,7 @@ nx@14.5.4, "nx@>=14.5.4 < 16": yargs "^17.4.0" yargs-parser "21.0.1" -object-assign@^4.1.0, object-assign@^4.1.1: +object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= @@ -11534,11 +11256,6 @@ parse5-htmlparser2-tree-adapter@^7.0.0: domhandler "^5.0.2" parse5 "^7.0.0" -parse5@^5.0.0: - version "5.1.1" - resolved "https://registry.yarnpkg.com/parse5/-/parse5-5.1.1.tgz#f68e4e5ba1852ac2cadc00f4555fff6c2abb6178" - integrity sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug== - parse5@^6.0.0: version "6.0.1" resolved "https://registry.yarnpkg.com/parse5/-/parse5-6.0.1.tgz#e1a1c085c569b3dc08321184f19a39cc27f7c30b" @@ -11710,18 +11427,18 @@ postcss-colormin@^5.3.0: colord "^2.9.1" postcss-value-parser "^4.2.0" -postcss-convert-values@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-5.1.1.tgz#31c8ffba650e86dc750631cafcf1db022c5bb6f1" - integrity sha512-UjcYfl3wJJdcabGKk8lgetPvhi1Et7VDc3sYr9EyhNBeB00YD4vHgPBp+oMVoG/dDWCc6ASbmzPNV6jADTwh8Q== +postcss-convert-values@^5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-5.1.2.tgz#31586df4e184c2e8890e8b34a0b9355313f503ab" + integrity sha512-c6Hzc4GAv95B7suy4udszX9Zy4ETyMCgFPUDtWjdFTKH1SE9eFY/jEpHSwTH1QPuwxHpWslhckUQWbNRM4ho5g== dependencies: browserslist "^4.20.3" postcss-value-parser "^4.2.0" -postcss-discard-comments@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-5.1.1.tgz#e90019e1a0e5b99de05f63516ce640bd0df3d369" - integrity sha512-5JscyFmvkUxz/5/+TB3QTTT9Gi9jHkcn8dcmmuN68JQcv3aQg4y88yEHHhwFB52l/NkaJ43O0dbksGMAo49nfQ== +postcss-discard-comments@^5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-5.1.2.tgz#8df5e81d2925af2780075840c1526f0660e53696" + integrity sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ== postcss-discard-duplicates@^5.1.0: version "5.1.0" @@ -11762,18 +11479,18 @@ postcss-merge-idents@^5.1.1: cssnano-utils "^3.1.0" postcss-value-parser "^4.2.0" -postcss-merge-longhand@^5.1.5: - version "5.1.5" - resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-5.1.5.tgz#b0e03bee3b964336f5f33c4fc8eacae608e91c05" - integrity sha512-NOG1grw9wIO+60arKa2YYsrbgvP6tp+jqc7+ZD5/MalIw234ooH2C6KlR6FEn4yle7GqZoBxSK1mLBE9KPur6w== +postcss-merge-longhand@^5.1.6: + version "5.1.6" + resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-5.1.6.tgz#f378a8a7e55766b7b644f48e5d8c789ed7ed51ce" + integrity sha512-6C/UGF/3T5OE2CEbOuX7iNO63dnvqhGZeUnKkDeifebY0XqkkvrctYSZurpNE902LDf2yKwwPFgotnfSoPhQiw== dependencies: postcss-value-parser "^4.2.0" stylehacks "^5.1.0" -postcss-merge-rules@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-5.1.1.tgz#d327b221cd07540bcc8d9ff84446d8b404d00162" - integrity sha512-8wv8q2cXjEuCcgpIB1Xx1pIy8/rhMPIQqYKNzEdyx37m6gpq83mQQdCxgIkFgliyEnKvdwJf/C61vN4tQDq4Ww== +postcss-merge-rules@^5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-5.1.2.tgz#7049a14d4211045412116d79b751def4484473a5" + integrity sha512-zKMUlnw+zYCWoPN6yhPjtcEdlJaMUZ0WyVcxTAmw3lkkN/NDMRkOkiuctQEoWAOvH7twaxUUdvBWl0d4+hifRQ== dependencies: browserslist "^4.16.6" caniuse-api "^3.0.0" @@ -11805,10 +11522,10 @@ postcss-minify-params@^5.1.3: cssnano-utils "^3.1.0" postcss-value-parser "^4.2.0" -postcss-minify-selectors@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-5.2.0.tgz#17c2be233e12b28ffa8a421a02fc8b839825536c" - integrity sha512-vYxvHkW+iULstA+ctVNx0VoRAR4THQQRkG77o0oa4/mBS0OzGvvzLIvHDv/nNEM0crzN2WIyFU5X7wZhaUK3RA== +postcss-minify-selectors@^5.2.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-5.2.1.tgz#d4e7e6b46147b8117ea9325a915a801d5fe656c6" + integrity sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg== dependencies: postcss-selector-parser "^6.0.5" @@ -11852,17 +11569,17 @@ postcss-normalize-display-values@^5.1.0: dependencies: postcss-value-parser "^4.2.0" -postcss-normalize-positions@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/postcss-normalize-positions/-/postcss-normalize-positions-5.1.0.tgz#902a7cb97cf0b9e8b1b654d4a43d451e48966458" - integrity sha512-8gmItgA4H5xiUxgN/3TVvXRoJxkAWLW6f/KKhdsH03atg0cB8ilXnrB5PpSshwVu/dD2ZsRFQcR1OEmSBDAgcQ== +postcss-normalize-positions@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/postcss-normalize-positions/-/postcss-normalize-positions-5.1.1.tgz#ef97279d894087b59325b45c47f1e863daefbb92" + integrity sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg== dependencies: postcss-value-parser "^4.2.0" -postcss-normalize-repeat-style@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.0.tgz#f6d6fd5a54f51a741cc84a37f7459e60ef7a6398" - integrity sha512-IR3uBjc+7mcWGL6CtniKNQ4Rr5fTxwkaDHwMBDGGs1x9IVRkYIT/M4NelZWkAOBdV6v3Z9S46zqaKGlyzHSchw== +postcss-normalize-repeat-style@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.1.tgz#e9eb96805204f4766df66fd09ed2e13545420fb2" + integrity sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g== dependencies: postcss-value-parser "^4.2.0" @@ -11903,10 +11620,10 @@ postcss-normalize-whitespace@^5.1.1: dependencies: postcss-value-parser "^4.2.0" -postcss-ordered-values@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-5.1.1.tgz#0b41b610ba02906a3341e92cab01ff8ebc598adb" - integrity sha512-7lxgXF0NaoMIgyihL/2boNAEZKiW0+HkMhdKMTD93CjW8TdCy2hSdj8lsAo+uwm7EDG16Da2Jdmtqpedl0cMfw== +postcss-ordered-values@^5.1.3: + version "5.1.3" + resolved "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-5.1.3.tgz#b6fd2bd10f937b23d86bc829c69e7732ce76ea38" + integrity sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ== dependencies: cssnano-utils "^3.1.0" postcss-value-parser "^4.2.0" @@ -11992,10 +11709,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.5.1: - version "2.5.1" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.5.1.tgz#fff75fa9d519c54cf0fce328c1017d94546bc56a" - integrity sha512-vBZcPRUR5MZJwoyi3ZoyQlc1rXeEck8KgeC9AwwOn+exuxLxq5toTRDTSaVrXHxelDMHy9zlicw8u66yxoSUFg== +prettier@*, prettier@2.7.1, prettier@^2.6.2: + version "2.7.1" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.7.1.tgz#e235806850d057f97bb08368a4f7d899f7760c64" + integrity sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g== pretty-bytes@^5.6.0: version "5.6.0" @@ -12025,7 +11742,7 @@ pretty-time@^1.1.0: resolved "https://registry.yarnpkg.com/pretty-time/-/pretty-time-1.1.0.tgz#ffb7429afabb8535c346a34e41873adf3d74dd0e" integrity sha512-28iF6xPQrP8Oa6uxE6a1biz+lWeTOAPKggvjB8HAs6nVMKZwf5bG++632Dx614hIWgUPkgivRfG+a8uAXGTIbA== -prism-react-renderer@^1.3.3: +prism-react-renderer@^1.3.3, prism-react-renderer@^1.3.5: version "1.3.5" resolved "https://registry.yarnpkg.com/prism-react-renderer/-/prism-react-renderer-1.3.5.tgz#786bb69aa6f73c32ba1ee813fbe17a0115435085" integrity sha512-IJ+MSwBWKG+SM3b2SUfdrhC+gu01QkV2KmRQgREThBfSQRoufqRfxfHUxpG1WcaFjP+kojcFyO9Qqtpgt3qLCg== @@ -12568,10 +12285,10 @@ regexpp@^3.2.0: resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2" integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== -regexpu-core@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-5.0.1.tgz#c531122a7840de743dcf9c83e923b5560323ced3" - integrity sha512-CriEZlrKK9VJw/xQGJpQM5rY88BtuL8DM+AEwvcThHilbxiTAy8vq4iJnd2tqq8wLmjbGZzP7ZcKFjbGkmEFrw== +regexpu-core@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-5.1.0.tgz#2f8504c3fd0ebe11215783a41541e21c79942c6d" + integrity sha512-bb6hk+xWd2PEOkj5It46A16zFMs2mv86Iwpdu94la4S3sJ7C973h2dHpYKwIBGaWSO7cIRJ+UX0IeMaWcO4qwA== dependencies: regenerate "^1.4.2" regenerate-unicode-properties "^10.0.1" @@ -12606,29 +12323,11 @@ regjsparser@^0.8.2: dependencies: jsesc "~0.5.0" -rehype-parse@^6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/rehype-parse/-/rehype-parse-6.0.2.tgz#aeb3fdd68085f9f796f1d3137ae2b85a98406964" - integrity sha512-0S3CpvpTAgGmnz8kiCyFLGuW5yA4OQhyNTm/nwPopZ7+PI11WnGl1TTWTGv/2hPEe/g2jRLlhVVSsoDH8waRug== - dependencies: - hast-util-from-parse5 "^5.0.0" - parse5 "^5.0.0" - xtend "^4.0.0" - relateurl@^0.2.7: version "0.2.7" resolved "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9" integrity sha1-VNvzd+UUQKypCkzSdGANP/LYiKk= -remark-admonitions@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/remark-admonitions/-/remark-admonitions-1.2.1.tgz#87caa1a442aa7b4c0cafa04798ed58a342307870" - integrity sha512-Ji6p68VDvD+H1oS95Fdx9Ar5WA2wcDA4kwrrhVU7fGctC6+d3uiMICu7w7/2Xld+lnU7/gi+432+rRbup5S8ow== - dependencies: - rehype-parse "^6.0.2" - unified "^8.4.2" - unist-util-visit "^2.0.1" - remark-docusaurus-tabs@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/remark-docusaurus-tabs/-/remark-docusaurus-tabs-0.2.0.tgz#39e02b2e72a68458c1c11003e95ddb7d236e8006" @@ -12856,9 +12555,9 @@ rollup-plugin-terser@^7.0.2: terser "^5.0.0" rollup@^2.75.4: - version "2.78.0" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.78.0.tgz#00995deae70c0f712ea79ad904d5f6b033209d9e" - integrity sha512-4+YfbQC9QEVvKTanHhIAFVUFSRsezvQF8vFOJwtGfb9Bb+r014S+qryr9PSmw8x6sMnPkmFBGAvIFVQxvJxjtg== + version "2.78.1" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.78.1.tgz#52fe3934d9c83cb4f7c4cb5fb75d88591be8648f" + integrity sha512-VeeCgtGi4P+o9hIg+xz4qQpRl6R401LWEXBmxYKOV4zlF82lyhgh2hTZnheFUbANE8l2A41F458iwj2vEYaXJg== optionalDependencies: fsevents "~2.3.2" @@ -13245,13 +12944,13 @@ smart-buffer@^4.2.0: resolved "https://registry.yarnpkg.com/smart-buffer/-/smart-buffer-4.2.0.tgz#6e1d71fa4f18c05f7d0ff216dd16a481d0e8d9ae" integrity sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg== -sockjs@^0.3.21: - version "0.3.21" - resolved "https://registry.yarnpkg.com/sockjs/-/sockjs-0.3.21.tgz#b34ffb98e796930b60a0cfa11904d6a339a7d417" - integrity sha512-DhbPFGpxjc6Z3I+uX07Id5ZO2XwYsWOrYjaSeieES78cq+JaJvVe5q/m1uvjIQhXinhIeCFRH6JgXe+mvVMyXw== +sockjs@^0.3.24: + version "0.3.24" + resolved "https://registry.yarnpkg.com/sockjs/-/sockjs-0.3.24.tgz#c9bc8995f33a111bea0395ec30aa3206bdb5ccce" + integrity sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ== dependencies: faye-websocket "^0.11.3" - uuid "^3.4.0" + uuid "^8.3.2" websocket-driver "^0.7.4" socks-proxy-agent@^6.1.1: @@ -13290,11 +12989,6 @@ sort-keys@^4.0.0: dependencies: is-plain-obj "^2.0.0" -source-list-map@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34" - integrity sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw== - source-map-js@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" @@ -13722,15 +13416,15 @@ terminal-link@^2.0.0: ansi-escapes "^4.2.1" supports-hyperlinks "^2.0.0" -terser-webpack-plugin@^5.1.3, terser-webpack-plugin@^5.3.1: - version "5.3.1" - resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.1.tgz#0320dcc270ad5372c1e8993fabbd927929773e54" - integrity sha512-GvlZdT6wPQKbDNW/GDQzZFg/j4vKU96yl2q6mcUkzKOgW4gwf1Z8cZToUCrz31XHlPWH8MVb1r2tFtdDtTGJ7g== +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" + integrity sha512-Fx60G5HNYknNTNQnzQ1VePRuu89ZVYWfjRAeT5rITuCY/1b08s49e5kSQwHDirKZWuoKOBRFS98EUUoZ9kLEwQ== dependencies: + "@jridgewell/trace-mapping" "^0.3.7" jest-worker "^27.4.5" schema-utils "^3.1.1" serialize-javascript "^6.0.0" - source-map "^0.6.1" terser "^5.7.2" terser@^5.0.0, terser@^5.10.0, terser@^5.7.2: @@ -13762,6 +13456,20 @@ text-table@^0.2.0: resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= +thenify-all@^1.0.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/thenify-all/-/thenify-all-1.6.0.tgz#1a1918d402d8fc3f98fbf234db0bcc8cc10e9726" + integrity sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA== + dependencies: + thenify ">= 3.1.0 < 4" + +"thenify@>= 3.1.0 < 4": + version "3.3.1" + resolved "https://registry.yarnpkg.com/thenify/-/thenify-3.3.1.tgz#8932e686a4066038a016dd9e2ca46add9838a95f" + integrity sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw== + dependencies: + any-promise "^1.0.0" + throat@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/throat/-/throat-6.0.1.tgz#d514fedad95740c12c2d7fc70ea863eb51ade375" @@ -13797,10 +13505,13 @@ thunky@^1.0.2: resolved "https://registry.yarnpkg.com/thunky/-/thunky-1.1.0.tgz#5abaf714a9405db0504732bbccd2cedd9ef9537d" integrity sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA== -timsort@~0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/timsort/-/timsort-0.3.0.tgz#405411a8e7e6339fe64db9a234de11dc31e02bd4" - integrity sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q= +timers-ext@^0.1.7: + version "0.1.7" + resolved "https://registry.yarnpkg.com/timers-ext/-/timers-ext-0.1.7.tgz#6f57ad8578e07a3fb9f91d9387d65647555e25c6" + integrity sha512-b85NUNzTSdodShTIbky6ZF02e8STtVVfD+fu4aXXShEELpozH+bCpJLYMPZbsABN2wDH7fJpqIoXxJpzbf0NqQ== + dependencies: + es5-ext "~0.10.46" + next-tick "1" tiny-invariant@^1.0.2: version "1.2.0" @@ -14054,6 +13765,16 @@ type-is@~1.6.18: media-typer "0.3.0" mime-types "~2.1.24" +type@^1.0.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/type/-/type-1.2.0.tgz#848dd7698dafa3e54a6c479e759c4bc3f18847a0" + integrity sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg== + +type@^2.5.0: + version "2.6.0" + resolved "https://registry.yarnpkg.com/type/-/type-2.6.0.tgz#3ca6099af5981d36ca86b78442973694278a219f" + integrity sha512-eiDBDOmkih5pMbo9OqsqPRGMljLodLcwd5XD5JbtNB0o89xZAwynY9EdCDsJU7LtcVCClu9DvM7/0Ep1hYX3EQ== + 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" @@ -14066,10 +13787,10 @@ typedarray@^0.0.6: resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= -typescript@*, typescript@4.7.2, "typescript@>=3.3.1 <4.8.0", typescript@^4.5.3, typescript@^4.5.5, typescript@~4.7.4: - version "4.7.2" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.7.2.tgz#1f9aa2ceb9af87cca227813b4310fff0b51593c4" - integrity sha512-Mamb1iX2FDUpcTRzltPxgWMKy3fhg0TN378ylbktPGPK/99KbDtMQ4W1hwgsbPAsG3a0xKa1vmw4VKZQbkvz5A== +typescript@*, typescript@4.7.4, "typescript@>=3.3.1 <4.8.0", typescript@^4.5.3, typescript@^4.5.5, typescript@~4.7.4: + version "4.7.4" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.7.4.tgz#1a88596d1cf47d59507a1bcdfb5b9dfe4d488235" + integrity sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ== ua-parser-js@^0.7.30: version "0.7.31" @@ -14139,13 +13860,14 @@ unified@9.2.0: trough "^1.0.0" vfile "^4.0.0" -unified@^8.4.2: - version "8.4.2" - resolved "https://registry.yarnpkg.com/unified/-/unified-8.4.2.tgz#13ad58b4a437faa2751a4a4c6a16f680c500fff1" - integrity sha512-JCrmN13jI4+h9UAyKEoGcDZV+i1E7BLFuG7OsaDvTXI5P0qhHX+vZO/kOhz9jn8HGENDKbwSeB0nVOg4gVStGA== +unified@^9.2.2: + version "9.2.2" + resolved "https://registry.yarnpkg.com/unified/-/unified-9.2.2.tgz#67649a1abfc3ab85d2969502902775eb03146975" + integrity sha512-Sg7j110mtefBD+qunSLO1lqOEKdrwBFBrR6Qd8f4uwkhWNlbkaqwHse6e7QvD3AP/MNoJdEDLaf8OxYyoWgorQ== dependencies: bail "^1.0.0" extend "^3.0.0" + is-buffer "^2.0.0" is-plain-obj "^2.0.0" trough "^1.0.0" vfile "^4.0.0" @@ -14220,7 +13942,7 @@ unist-util-visit-parents@^3.0.0: "@types/unist" "^2.0.0" unist-util-is "^4.0.0" -unist-util-visit@2.0.3, unist-util-visit@^2.0.0, unist-util-visit@^2.0.1, unist-util-visit@^2.0.3: +unist-util-visit@2.0.3, unist-util-visit@^2.0.0, unist-util-visit@^2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/unist-util-visit/-/unist-util-visit-2.0.3.tgz#c3703893146df47203bb8a9795af47d7b971208c" integrity sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q== @@ -14349,11 +14071,6 @@ utils-merge@1.0.1: resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM= -uuid@^3.4.0: - version "3.4.0" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" - integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== - uuid@^8.3.2: version "8.3.2" resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" @@ -14502,7 +14219,7 @@ wcwidth@^1.0.0, wcwidth@^1.0.1: dependencies: defaults "^1.0.3" -web-namespaces@^1.0.0, web-namespaces@^1.1.2: +web-namespaces@^1.0.0: version "1.1.4" resolved "https://registry.yarnpkg.com/web-namespaces/-/web-namespaces-1.1.4.tgz#bc98a3de60dadd7faefc403d1076d529f5e030ec" integrity sha512-wYxSGajtmoP4WxfejAPIr4l0fVh+jeMXZb08wNc0tMg6xsfZXj3cECqIK0G7ZAqUq0PP8WlMDtaOGVBTAWztNw== @@ -14543,15 +14260,16 @@ webpack-dev-middleware@^5.3.1: range-parser "^1.2.1" schema-utils "^4.0.0" -webpack-dev-server@^4.9.0: - version "4.9.0" - resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-4.9.0.tgz#737dbf44335bb8bde68f8f39127fc401c97a1557" - integrity sha512-+Nlb39iQSOSsFv0lWUuUTim3jDQO8nhK3E68f//J2r5rIcp4lULHXz2oZ0UVdEeWXEh5lSzYUlzarZhDAeAVQw== +webpack-dev-server@^4.9.3: + version "4.9.3" + resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-4.9.3.tgz#2360a5d6d532acb5410a668417ad549ee3b8a3c9" + integrity sha512-3qp/eoboZG5/6QgiZ3llN8TUzkSpYg1Ko9khWX1h40MIEUNS2mDoIa8aXsPfskER+GbTvs/IJZ1QTBBhhuetSw== dependencies: "@types/bonjour" "^3.5.9" "@types/connect-history-api-fallback" "^1.3.5" "@types/express" "^4.17.13" "@types/serve-index" "^1.9.1" + "@types/serve-static" "^1.13.10" "@types/sockjs" "^0.3.33" "@types/ws" "^8.5.1" ansi-html-community "^0.0.8" @@ -14559,7 +14277,7 @@ webpack-dev-server@^4.9.0: chokidar "^3.5.3" colorette "^2.0.10" compression "^1.7.4" - connect-history-api-fallback "^1.6.0" + connect-history-api-fallback "^2.0.0" default-gateway "^6.0.3" express "^4.17.3" graceful-fs "^4.2.6" @@ -14572,7 +14290,7 @@ webpack-dev-server@^4.9.0: schema-utils "^4.0.0" selfsigned "^2.0.1" serve-index "^1.9.1" - sockjs "^0.3.21" + sockjs "^0.3.24" spdy "^4.0.2" webpack-dev-middleware "^5.3.1" ws "^8.4.2" @@ -14585,20 +14303,12 @@ webpack-merge@^5.8.0: clone-deep "^4.0.1" wildcard "^2.0.0" -webpack-sources@^1.4.3: - version "1.4.3" - resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.4.3.tgz#eedd8ec0b928fbf1cbfe994e22d2d890f330a933" - integrity sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ== - dependencies: - source-list-map "^2.0.0" - source-map "~0.6.1" - -webpack-sources@^3.2.3: +webpack-sources@^3.2.2, webpack-sources@^3.2.3: version "3.2.3" resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.2.3.tgz#2d4daab8451fd4b240cc27055ff6a0c2ccea0cde" integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== -webpack@^5.72.1: +webpack@^5.73.0, webpack@^5.74.0: version "5.74.0" resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.74.0.tgz#02a5dac19a17e0bb47093f2be67c695102a55980" integrity sha512-A2InDwnhhGN4LYctJj6M1JEaGL7Luj6LOmyBHjcI8529cm5p6VXiTIW2sn6ffvEAKmveLzvu4jrihwXtPojlAA==