diff --git a/.eslintignore b/.eslintignore index 62feb1dc327..b48d56cf8be 100644 --- a/.eslintignore +++ b/.eslintignore @@ -1,7 +1,6 @@ node_modules dist jest.config.js -commitlint.config.js fixtures shared-fixtures coverage diff --git a/.github/ISSUE_TEMPLATE/1-bug-report-plugin.yaml b/.github/ISSUE_TEMPLATE/1-bug-report-plugin.yaml index 21bdef80920..8f6865a3c41 100644 --- a/.github/ISSUE_TEMPLATE/1-bug-report-plugin.yaml +++ b/.github/ISSUE_TEMPLATE/1-bug-report-plugin.yaml @@ -32,6 +32,7 @@ body: ***Please do not use this template.*** Instead, select the ["Report a complex bug you encountered by providing an isolated reproduction repository" template](https://github.com/typescript-eslint/typescript-eslint/issues/new?template=7-bug-report-complex.yaml). + ***Help us to help you!*** placeholder: https://typescript-eslint.io/play/... validations: required: true @@ -47,7 +48,11 @@ body: id: eslint-config attributes: label: ESLint Config - description: A ***minimal*** ESLint config for reproducing the issue + description: | + A ***minimal*** ESLint config for reproducing the issue. + Please do not just paste your entire ESLint config - it just makes it harder for us to investigate. + If this is more than around 30 lines and/or contains lint rule settings unrelated to your bug report, you probably haven't isolated the repro. + ***Help us to help you!*** render: javascript value: | module.exports = { @@ -90,7 +95,9 @@ body: id: additional attributes: label: Additional Info - description: Any additional info you'd like to provide. If ESLint threw an exception, please run your lint again with the `--debug` flag, and dump the output below. e.g. `eslint --ext ".ts,.js" src --debug` + description: | + Any additional info you'd like to provide. + If ESLint threw an exception, please run your lint again with the `--debug` flag, and dump the output below. e.g. `eslint path/to/broken/file.ts --debug` - type: textarea id: versions attributes: diff --git a/.github/ISSUE_TEMPLATE/6-bug-report-other.yaml b/.github/ISSUE_TEMPLATE/6-bug-report-other.yaml index 5f3e16c6151..e4175930289 100644 --- a/.github/ISSUE_TEMPLATE/6-bug-report-other.yaml +++ b/.github/ISSUE_TEMPLATE/6-bug-report-other.yaml @@ -26,6 +26,7 @@ body: ### Note For Complex Issues If your issue requires some complex reproduction - such as multiple files or a specific folder structure - please do not use this template. Instead, select the ["Report a Complex Bug With a Reproduction Repository" template](https://github.com/typescript-eslint/typescript-eslint/issues/new?template=7-bug-report-complex.yaml). + ***Help us to help you!*** - type: dropdown id: package attributes: @@ -59,7 +60,11 @@ body: id: eslint-config attributes: label: ESLint Config - description: (Optional) A ***minimal*** ESLint config for reproducing the issue + description: | + (Optional) A ***minimal*** ESLint config for reproducing the issue. + Please do not just paste your entire ESLint config - it just makes it harder for us to investigate. + If this is more than around 30 lines - you probably haven't isolated the repro. + ***Help us to help you!*** render: javascript value: | module.exports = { @@ -100,7 +105,9 @@ body: id: additional attributes: label: Additional Info - description: Any additional info you'd like to provide. If ESLint threw an exception, please run your lint again with the `--debug` flag, and dump the output below. i.e. `eslint --ext ".ts,.js" src --debug` + description: | + Any additional info you'd like to provide. + If ESLint threw an exception, please run your lint again with the `--debug` flag, and dump the output below. e.g. `eslint path/to/broken/file.ts --debug` - type: textarea id: versions attributes: diff --git a/.husky/commit-msg b/.husky/commit-msg index d71a03b9f3e..6700f512821 100755 --- a/.husky/commit-msg +++ b/.husky/commit-msg @@ -1,4 +1,2 @@ #!/bin/sh . "$(dirname "$0")/_/husky.sh" - -yarn commitlint --edit $1 diff --git a/CHANGELOG.md b/CHANGELOG.md index ca7f055a347..d8d52c1f202 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,19 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [5.27.1](https://github.com/typescript-eslint/typescript-eslint/compare/v5.27.0...v5.27.1) (2022-06-06) + + +### Bug Fixes + +* **eslint-plugin:** [space-infix-ops] correct PropertyDefinition with typeAnnotation ([#5113](https://github.com/typescript-eslint/typescript-eslint/issues/5113)) ([d320174](https://github.com/typescript-eslint/typescript-eslint/commit/d320174f40a74b34e6b6e4c88128ef6e736311d8)) +* **eslint-plugin:** [space-infix-ops] regression fix for conditional types ([#5135](https://github.com/typescript-eslint/typescript-eslint/issues/5135)) ([e5238c8](https://github.com/typescript-eslint/typescript-eslint/commit/e5238c84e56e7c34174b2c6f1e3ea59456797c2f)) +* **eslint-plugin:** [space-infix-ops] regression fix for type aliases ([#5138](https://github.com/typescript-eslint/typescript-eslint/issues/5138)) ([4e13deb](https://github.com/typescript-eslint/typescript-eslint/commit/4e13deb05fbd8724996156b15b65f6a66794a7cc)) + + + + + # [5.27.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.26.0...v5.27.0) (2022-05-30) diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md index d3b378e4a96..66899649329 100644 --- a/CONTRIBUTORS.md +++ b/CONTRIBUTORS.md @@ -23,11 +23,11 @@ Thanks goes to these wonderful people:
Nicholas C. Zakas

Jed Fox

YeonJuan
+
Joshua Chen

Rafael Santana
-
Ben Lichtman
-
Joshua Chen
+
Ben Lichtman

Taeheon Kim

Nikita

Scott O'Hara
@@ -87,19 +87,6 @@ Thanks goes to these wonderful people:
Jonathan Delgado

Philipp A.

Pig Fang
-
Tadhg McDonald-Jensen
- - -
Thomas den Hollander
-
Tim Kraut
-
Yasar Siddiqui
-
Yusuke Tanaka
-
Bence DΓ‘nyi
- - -
Eric Wang
-
Juan GarcΓ­a
-
Soobin Bak
diff --git a/README.md b/README.md index 21b39740808..3c9cbc2a68d 100644 --- a/README.md +++ b/README.md @@ -51,7 +51,7 @@ The latest version under the `canary` tag **(latest commit to `main`)** is: ### Supported TypeScript Version -**The version range of TypeScript currently supported by this parser is `>=3.3.1 <4.7.0`.** +**The version range of TypeScript currently supported by this parser is `>=3.3.1 <4.8.0`.** These versions are what we test against. diff --git a/commitlint.config.js b/commitlint.config.js deleted file mode 100644 index e03e6410a01..00000000000 --- a/commitlint.config.js +++ /dev/null @@ -1,17 +0,0 @@ -const workspace = require('./workspace.json'); - -const packages = Object.keys(workspace.projects).map(name => - name.charAt(0) === '@' ? name.split('/')[1] : name, -); - -module.exports = { - extends: ['@commitlint/config-conventional'], - rules: { - 'body-max-length': [0], - 'body-max-line-length': [0], - 'footer-max-length': [0], - 'footer-max-line-length': [0], - 'header-max-length': [0], - 'scope-enum': [2, 'always', packages], - }, -}; diff --git a/lerna.json b/lerna.json index 1698ca61721..ff883e18240 100644 --- a/lerna.json +++ b/lerna.json @@ -1,5 +1,5 @@ { - "version": "5.27.0", + "version": "5.27.1", "npmClient": "yarn", "useWorkspaces": true, "stream": true diff --git a/package.json b/package.json index 1e28e5f8d3a..264427094dd 100644 --- a/package.json +++ b/package.json @@ -29,7 +29,6 @@ "check-format": "prettier --list-different \"./**/*.{md,mdx,ts,mts,cts,js,cjs,mjs,tsx,jsx}\"", "check-spelling": "cspell --config=.cspell.json \"**/*.{md,mdx,ts,mts,cts,js,cjs,mjs,tsx,jsx}\"", "clean": "lerna clean && lerna run clean", - "cz": "git-cz", "format": "prettier --write \"./**/*.{ts,mts,cts,tsx,js,mjs,cjs,jsx,json,md,css}\"", "generate-contributors": "yarn ts-node --transpile-only ./tools/generate-contributors.ts", "generate-sponsors": "yarn ts-node --transpile-only ./tools/generate-sponsors.ts", @@ -46,11 +45,6 @@ "test-integration": "yarn jest -c ./tests/integration/jest.config.js", "typecheck": "nx run-many --target=typecheck --all --parallel" }, - "config": { - "commitizen": { - "path": "./node_modules/cz-conventional-changelog" - } - }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, @@ -59,8 +53,6 @@ "@babel/eslint-parser": "^7.18.2", "@babel/parser": "^7.18.0", "@babel/types": "^7.18.2", - "@commitlint/cli": "^16.2.4", - "@commitlint/config-conventional": "^16.2.4", "@nrwl/cli": "14.1.4", "@nrwl/nx-cloud": "14.0.3", "@nrwl/tao": "14.1.4", @@ -85,7 +77,6 @@ "cross-env": "^7.0.3", "cross-fetch": "^3.1.5", "cspell": "^5.20.0", - "cz-conventional-changelog": "^3.3.0", "downlevel-dts": "^0.9.0", "enhanced-resolve": "^5.9.3", "eslint": "^8.15.0", diff --git a/packages/ast-spec/CHANGELOG.md b/packages/ast-spec/CHANGELOG.md index a56f85403e2..28fdf351c00 100644 --- a/packages/ast-spec/CHANGELOG.md +++ b/packages/ast-spec/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [5.27.1](https://github.com/typescript-eslint/typescript-eslint/compare/v5.27.0...v5.27.1) (2022-06-06) + +**Note:** Version bump only for package @typescript-eslint/ast-spec + + + + + # [5.27.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.26.0...v5.27.0) (2022-05-30) diff --git a/packages/ast-spec/package.json b/packages/ast-spec/package.json index 23ea47e00c2..57a9b87464c 100644 --- a/packages/ast-spec/package.json +++ b/packages/ast-spec/package.json @@ -1,6 +1,6 @@ { "name": "@typescript-eslint/ast-spec", - "version": "5.27.0", + "version": "5.27.1", "description": "TypeScript-ESTree AST spec", "private": true, "keywords": [ diff --git a/packages/eslint-plugin-internal/CHANGELOG.md b/packages/eslint-plugin-internal/CHANGELOG.md index 055bf250853..ec72cec735d 100644 --- a/packages/eslint-plugin-internal/CHANGELOG.md +++ b/packages/eslint-plugin-internal/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [5.27.1](https://github.com/typescript-eslint/typescript-eslint/compare/v5.27.0...v5.27.1) (2022-06-06) + +**Note:** Version bump only for package @typescript-eslint/eslint-plugin-internal + + + + + # [5.27.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.26.0...v5.27.0) (2022-05-30) diff --git a/packages/eslint-plugin-internal/package.json b/packages/eslint-plugin-internal/package.json index 6b712f24a39..072d420171b 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.27.0", + "version": "5.27.1", "private": true, "main": "dist/index.js", "scripts": { @@ -14,8 +14,8 @@ }, "dependencies": { "@types/prettier": "*", - "@typescript-eslint/scope-manager": "5.27.0", - "@typescript-eslint/utils": "5.27.0", + "@typescript-eslint/scope-manager": "5.27.1", + "@typescript-eslint/utils": "5.27.1", "prettier": "*" } } diff --git a/packages/eslint-plugin-tslint/CHANGELOG.md b/packages/eslint-plugin-tslint/CHANGELOG.md index faa56402088..407e968c368 100644 --- a/packages/eslint-plugin-tslint/CHANGELOG.md +++ b/packages/eslint-plugin-tslint/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [5.27.1](https://github.com/typescript-eslint/typescript-eslint/compare/v5.27.0...v5.27.1) (2022-06-06) + +**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint + + + + + # [5.27.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.26.0...v5.27.0) (2022-05-30) diff --git a/packages/eslint-plugin-tslint/package.json b/packages/eslint-plugin-tslint/package.json index adbc60ef36f..03a3cf55d8d 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.27.0", + "version": "5.27.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.27.0", + "@typescript-eslint/utils": "5.27.1", "lodash": "^4.17.21" }, "peerDependencies": { @@ -48,6 +48,6 @@ }, "devDependencies": { "@types/lodash": "*", - "@typescript-eslint/parser": "5.27.0" + "@typescript-eslint/parser": "5.27.1" } } diff --git a/packages/eslint-plugin/CHANGELOG.md b/packages/eslint-plugin/CHANGELOG.md index f7a4ed973db..f0cccd0ce94 100644 --- a/packages/eslint-plugin/CHANGELOG.md +++ b/packages/eslint-plugin/CHANGELOG.md @@ -3,6 +3,19 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [5.27.1](https://github.com/typescript-eslint/typescript-eslint/compare/v5.27.0...v5.27.1) (2022-06-06) + + +### Bug Fixes + +* **eslint-plugin:** [space-infix-ops] correct PropertyDefinition with typeAnnotation ([#5113](https://github.com/typescript-eslint/typescript-eslint/issues/5113)) ([d320174](https://github.com/typescript-eslint/typescript-eslint/commit/d320174f40a74b34e6b6e4c88128ef6e736311d8)) +* **eslint-plugin:** [space-infix-ops] regression fix for conditional types ([#5135](https://github.com/typescript-eslint/typescript-eslint/issues/5135)) ([e5238c8](https://github.com/typescript-eslint/typescript-eslint/commit/e5238c84e56e7c34174b2c6f1e3ea59456797c2f)) +* **eslint-plugin:** [space-infix-ops] regression fix for type aliases ([#5138](https://github.com/typescript-eslint/typescript-eslint/issues/5138)) ([4e13deb](https://github.com/typescript-eslint/typescript-eslint/commit/4e13deb05fbd8724996156b15b65f6a66794a7cc)) + + + + + # [5.27.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.26.0...v5.27.0) (2022-05-30) diff --git a/packages/eslint-plugin/docs/rules/TEMPLATE.md b/packages/eslint-plugin/docs/rules/TEMPLATE.md index c2c7136fe3e..7528ad501a3 100644 --- a/packages/eslint-plugin/docs/rules/TEMPLATE.md +++ b/packages/eslint-plugin/docs/rules/TEMPLATE.md @@ -51,11 +51,3 @@ const defaultOptions: Options = { To fill out: why wouldn't you want to use this rule? For example if this rule requires a feature released in a certain TS version. - -## Attributes - -- Configs: - - [ ] βœ… Recommended - - [ ] πŸ”’ Strict -- [ ] πŸ”§ Fixable -- [ ] πŸ’­ Requires type information diff --git a/packages/eslint-plugin/docs/rules/adjacent-overload-signatures.md b/packages/eslint-plugin/docs/rules/adjacent-overload-signatures.md index 7acea9b8be0..a100f905acc 100644 --- a/packages/eslint-plugin/docs/rules/adjacent-overload-signatures.md +++ b/packages/eslint-plugin/docs/rules/adjacent-overload-signatures.md @@ -104,11 +104,3 @@ If you don't care about the general structure of the code, then you will not nee ## Related To - TSLint: [adjacent-overload-signatures](https://palantir.github.io/tslint/rules/adjacent-overload-signatures/) - -## Attributes - -- Configs: - - [x] βœ… Recommended - - [x] πŸ”’ Strict -- [ ] πŸ”§ Fixable -- [ ] πŸ’­ Requires type information diff --git a/packages/eslint-plugin/docs/rules/array-type.md b/packages/eslint-plugin/docs/rules/array-type.md index 6755f3d1975..5898344fe3e 100644 --- a/packages/eslint-plugin/docs/rules/array-type.md +++ b/packages/eslint-plugin/docs/rules/array-type.md @@ -122,11 +122,3 @@ This matrix lists all possible option combinations and their expected results fo ## Related To - TSLint: [array-type](https://palantir.github.io/tslint/rules/array-type/) - -## Attributes - -- Configs: - - [ ] βœ… Recommended - - [x] πŸ”’ Strict -- [x] πŸ”§ Fixable -- [ ] πŸ’­ Requires type information diff --git a/packages/eslint-plugin/docs/rules/await-thenable.md b/packages/eslint-plugin/docs/rules/await-thenable.md index f308a202e62..10e3fee45ce 100644 --- a/packages/eslint-plugin/docs/rules/await-thenable.md +++ b/packages/eslint-plugin/docs/rules/await-thenable.md @@ -50,11 +50,3 @@ This is generally not preferred, but can sometimes be useful for visual consiste ## Related To - TSLint: ['await-promise'](https://palantir.github.io/tslint/rules/await-promise) - -## Attributes - -- Configs: - - [x] βœ… Recommended - - [x] πŸ”’ Strict -- [ ] πŸ”§ Fixable -- [x] πŸ’­ Requires type information diff --git a/packages/eslint-plugin/docs/rules/ban-ts-comment.md b/packages/eslint-plugin/docs/rules/ban-ts-comment.md index 4233b7807ab..671cd754023 100644 --- a/packages/eslint-plugin/docs/rules/ban-ts-comment.md +++ b/packages/eslint-plugin/docs/rules/ban-ts-comment.md @@ -142,11 +142,3 @@ If you want to use all of the TypeScript directives. ## Related To - TSLint: [ban-ts-ignore](https://palantir.github.io/tslint/rules/ban-ts-ignore/) - -## Attributes - -- Configs: - - [x] βœ… Recommended - - [x] πŸ”’ Strict -- [ ] πŸ”§ Fixable -- [ ] πŸ’­ Requires type information diff --git a/packages/eslint-plugin/docs/rules/ban-tslint-comment.md b/packages/eslint-plugin/docs/rules/ban-tslint-comment.md index 88bf65ff75b..b89e9929167 100644 --- a/packages/eslint-plugin/docs/rules/ban-tslint-comment.md +++ b/packages/eslint-plugin/docs/rules/ban-tslint-comment.md @@ -46,11 +46,3 @@ This rule is not configurable. ## When Not To Use It If you are still using TSLint. - -## Attributes - -- Configs: - - [ ] βœ… Recommended - - [x] πŸ”’ Strict -- [x] πŸ”§ Fixable -- [ ] πŸ’­ Requires type information diff --git a/packages/eslint-plugin/docs/rules/ban-types.md b/packages/eslint-plugin/docs/rules/ban-types.md index 848e88a5522..54186598faa 100644 --- a/packages/eslint-plugin/docs/rules/ban-types.md +++ b/packages/eslint-plugin/docs/rules/ban-types.md @@ -201,11 +201,3 @@ const curly2: Record<'a', string> = { a: 'string' }; ## Related To - TSLint: [ban-types](https://palantir.github.io/tslint/rules/ban-types) - -## Attributes - -- Configs: - - [x] βœ… Recommended - - [x] πŸ”’ Strict -- [x] πŸ”§ Fixable -- [ ] πŸ’­ Requires type information diff --git a/packages/eslint-plugin/docs/rules/brace-style.md b/packages/eslint-plugin/docs/rules/brace-style.md index 9701ee8ce35..a2188418460 100644 --- a/packages/eslint-plugin/docs/rules/brace-style.md +++ b/packages/eslint-plugin/docs/rules/brace-style.md @@ -26,11 +26,3 @@ See [`eslint/brace-style` options](https://eslint.org/docs/rules/brace-style#opt Taken with ❀️ [from ESLint core](https://github.com/eslint/eslint/blob/main/docs/rules/brace-style.md) - -## Attributes - -- Configs: - - [ ] βœ… Recommended - - [ ] πŸ”’ Strict -- [x] πŸ”§ Fixable -- [ ] πŸ’­ Requires type information diff --git a/packages/eslint-plugin/docs/rules/class-literal-property-style.md b/packages/eslint-plugin/docs/rules/class-literal-property-style.md index 6590109837b..afbdc96fc18 100644 --- a/packages/eslint-plugin/docs/rules/class-literal-property-style.md +++ b/packages/eslint-plugin/docs/rules/class-literal-property-style.md @@ -108,11 +108,3 @@ class Mx { When you have no strong preference, or do not wish to enforce a particular style for how literal values are exposed by your classes. - -## Attributes - -- Configs: - - [ ] βœ… Recommended - - [x] πŸ”’ Strict -- [x] πŸ”§ Fixable -- [ ] πŸ’­ Requires type information diff --git a/packages/eslint-plugin/docs/rules/comma-dangle.md b/packages/eslint-plugin/docs/rules/comma-dangle.md index da0cff43550..f18992fff77 100644 --- a/packages/eslint-plugin/docs/rules/comma-dangle.md +++ b/packages/eslint-plugin/docs/rules/comma-dangle.md @@ -38,11 +38,3 @@ This rule has a string option and an object option. Taken with ❀️ [from ESLint core](https://github.com/eslint/eslint/blob/main/docs/rules/comma-dangle.md) - -## Attributes - -- Configs: - - [ ] βœ… Recommended - - [ ] πŸ”’ Strict -- [x] πŸ”§ Fixable -- [ ] πŸ’­ Requires type information diff --git a/packages/eslint-plugin/docs/rules/comma-spacing.md b/packages/eslint-plugin/docs/rules/comma-spacing.md index e598c20fcf9..7fa6056759d 100644 --- a/packages/eslint-plugin/docs/rules/comma-spacing.md +++ b/packages/eslint-plugin/docs/rules/comma-spacing.md @@ -26,11 +26,3 @@ See [`eslint/comma-spacing` options](https://eslint.org/docs/rules/comma-spacing Taken with ❀️ [from ESLint core](https://github.com/eslint/eslint/blob/main/docs/rules/comma-spacing.md) - -## Attributes - -- Configs: - - [ ] βœ… Recommended - - [ ] πŸ”’ Strict -- [x] πŸ”§ Fixable -- [ ] πŸ’­ Requires type information 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 b0935628db6..f61a4f68fdd 100644 --- a/packages/eslint-plugin/docs/rules/consistent-indexed-object-style.md +++ b/packages/eslint-plugin/docs/rules/consistent-indexed-object-style.md @@ -82,11 +82,3 @@ type Foo = { [key: string]: unknown; }; ``` - -## Attributes - -- Configs: - - [ ] βœ… Recommended - - [x] πŸ”’ Strict -- [x] πŸ”§ Fixable -- [ ] πŸ’­ Requires type information diff --git a/packages/eslint-plugin/docs/rules/consistent-type-assertions.md b/packages/eslint-plugin/docs/rules/consistent-type-assertions.md index 6cf35c5c160..609ad5dac41 100644 --- a/packages/eslint-plugin/docs/rules/consistent-type-assertions.md +++ b/packages/eslint-plugin/docs/rules/consistent-type-assertions.md @@ -116,11 +116,3 @@ If you do not want to enforce consistent type assertions. - TSLint: [no-angle-bracket-type-assertion](https://palantir.github.io/tslint/rules/no-angle-bracket-type-assertion/) - TSLint: [no-object-literal-type-assertion](https://palantir.github.io/tslint/rules/no-object-literal-type-assertion/) - -## Attributes - -- Configs: - - [ ] βœ… Recommended - - [x] πŸ”’ Strict -- [ ] πŸ”§ Fixable -- [ ] πŸ’­ Requires type information diff --git a/packages/eslint-plugin/docs/rules/consistent-type-definitions.md b/packages/eslint-plugin/docs/rules/consistent-type-definitions.md index 3be2359a13c..47d0f97e554 100644 --- a/packages/eslint-plugin/docs/rules/consistent-type-definitions.md +++ b/packages/eslint-plugin/docs/rules/consistent-type-definitions.md @@ -84,11 +84,3 @@ If you specifically want to use an interface or type literal for stylistic reaso ## Related To - TSLint: [interface-over-type-literal](https://palantir.github.io/tslint/rules/interface-over-type-literal/) - -## Attributes - -- Configs: - - [ ] βœ… Recommended - - [x] πŸ”’ Strict -- [x] πŸ”§ Fixable -- [ ] πŸ’­ Requires type information diff --git a/packages/eslint-plugin/docs/rules/consistent-type-exports.md b/packages/eslint-plugin/docs/rules/consistent-type-exports.md index f38230dd88e..bd10a616261 100644 --- a/packages/eslint-plugin/docs/rules/consistent-type-exports.md +++ b/packages/eslint-plugin/docs/rules/consistent-type-exports.md @@ -109,11 +109,3 @@ export { Button, type ButtonProps } from 'some-library'; - 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. - -## Attributes - -- Configs: - - [ ] βœ… Recommended - - [ ] πŸ”’ Strict -- [x] πŸ”§ Fixable -- [x] πŸ’­ Requires type information diff --git a/packages/eslint-plugin/docs/rules/consistent-type-imports.md b/packages/eslint-plugin/docs/rules/consistent-type-imports.md index f3d96bec5ce..47022b04ec5 100644 --- a/packages/eslint-plugin/docs/rules/consistent-type-imports.md +++ b/packages/eslint-plugin/docs/rules/consistent-type-imports.md @@ -64,11 +64,3 @@ const x: import('Bar') = 1; - 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. - -## Attributes - -- Configs: - - [ ] βœ… Recommended - - [ ] πŸ”’ Strict -- [x] πŸ”§ Fixable -- [ ] πŸ’­ Requires type information diff --git a/packages/eslint-plugin/docs/rules/default-param-last.md b/packages/eslint-plugin/docs/rules/default-param-last.md index 5d28232c5eb..5db33411d1d 100644 --- a/packages/eslint-plugin/docs/rules/default-param-last.md +++ b/packages/eslint-plugin/docs/rules/default-param-last.md @@ -62,11 +62,3 @@ See [`eslint/default-param-last` options](https://eslint.org/docs/rules/default- Taken with ❀️ [from ESLint core](https://github.com/eslint/eslint/blob/main/docs/rules/default-param-last.md) - -## Attributes - -- Configs: - - [ ] βœ… Recommended - - [ ] πŸ”’ Strict -- [ ] πŸ”§ Fixable -- [ ] πŸ’­ Requires type information diff --git a/packages/eslint-plugin/docs/rules/dot-notation.md b/packages/eslint-plugin/docs/rules/dot-notation.md index 01331873e47..41417041684 100644 --- a/packages/eslint-plugin/docs/rules/dot-notation.md +++ b/packages/eslint-plugin/docs/rules/dot-notation.md @@ -87,11 +87,3 @@ If the TypeScript compiler option `noPropertyAccessFromIndexSignature` is set to Taken with ❀️ [from ESLint core](https://github.com/eslint/eslint/blob/main/docs/rules/dot-notation.md) - -## Attributes - -- Configs: - - [ ] βœ… Recommended - - [x] πŸ”’ Strict -- [x] πŸ”§ Fixable -- [x] πŸ’­ Requires type information 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 a8845d5b158..9e3ff78a366 100644 --- a/packages/eslint-plugin/docs/rules/explicit-function-return-type.md +++ b/packages/eslint-plugin/docs/rules/explicit-function-return-type.md @@ -290,11 +290,3 @@ you will not need this rule. ## Further Reading - TypeScript [Functions](https://www.typescriptlang.org/docs/handbook/functions.html#function-types) - -## Attributes - -- Configs: - - [ ] βœ… Recommended - - [ ] πŸ”’ Strict -- [ ] πŸ”§ Fixable -- [ ] πŸ’­ Requires type information diff --git a/packages/eslint-plugin/docs/rules/explicit-member-accessibility.md b/packages/eslint-plugin/docs/rules/explicit-member-accessibility.md index 70100a9bf83..c09c4680098 100644 --- a/packages/eslint-plugin/docs/rules/explicit-member-accessibility.md +++ b/packages/eslint-plugin/docs/rules/explicit-member-accessibility.md @@ -348,11 +348,3 @@ If you think defaulting to public is a good default, then you should consider us ## Related To - TSLint: [member-access](http://palantir.github.io/tslint/rules/member-access/) - -## Attributes - -- Configs: - - [ ] βœ… Recommended - - [ ] πŸ”’ Strict -- [x] πŸ”§ Fixable -- [ ] πŸ’­ Requires type information 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 19956f0cfe8..2b5aa624354 100644 --- a/packages/eslint-plugin/docs/rules/explicit-module-boundary-types.md +++ b/packages/eslint-plugin/docs/rules/explicit-module-boundary-types.md @@ -285,11 +285,3 @@ If you wish to make sure all functions have explicit return types, as opposed to ## Further Reading - TypeScript [Functions](https://www.typescriptlang.org/docs/handbook/functions.html#function-types) - -## Attributes - -- Configs: - - [ ] βœ… Recommended - - [ ] πŸ”’ Strict -- [ ] πŸ”§ Fixable -- [ ] πŸ’­ Requires type information diff --git a/packages/eslint-plugin/docs/rules/func-call-spacing.md b/packages/eslint-plugin/docs/rules/func-call-spacing.md index cd411013659..88b73e2eda2 100644 --- a/packages/eslint-plugin/docs/rules/func-call-spacing.md +++ b/packages/eslint-plugin/docs/rules/func-call-spacing.md @@ -26,11 +26,3 @@ See [`eslint/func-call-spacing` options](https://eslint.org/docs/rules/func-call Taken with ❀️ [from ESLint core](https://github.com/eslint/eslint/blob/main/docs/rules/func-call-spacing.md) - -## Attributes - -- Configs: - - [ ] βœ… Recommended - - [ ] πŸ”’ Strict -- [x] πŸ”§ Fixable -- [ ] πŸ’­ Requires type information diff --git a/packages/eslint-plugin/docs/rules/indent.md b/packages/eslint-plugin/docs/rules/indent.md index d093ea00f5e..5d732a305bf 100644 --- a/packages/eslint-plugin/docs/rules/indent.md +++ b/packages/eslint-plugin/docs/rules/indent.md @@ -30,11 +30,3 @@ 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) - -## Attributes - -- Configs: - - [ ] βœ… Recommended - - [ ] πŸ”’ Strict -- [x] πŸ”§ Fixable -- [ ] πŸ’­ Requires type information diff --git a/packages/eslint-plugin/docs/rules/init-declarations.md b/packages/eslint-plugin/docs/rules/init-declarations.md index c64c009ba9c..6a4ce478651 100644 --- a/packages/eslint-plugin/docs/rules/init-declarations.md +++ b/packages/eslint-plugin/docs/rules/init-declarations.md @@ -26,11 +26,3 @@ See [`eslint/init-declarations` options](https://eslint.org/docs/rules/init-decl Taken with ❀️ [from ESLint core](https://github.com/eslint/eslint/blob/main/docs/rules/init-declarations.md) - -## Attributes - -- Configs: - - [ ] βœ… Recommended - - [ ] πŸ”’ Strict -- [ ] πŸ”§ Fixable -- [ ] πŸ’­ Requires type information diff --git a/packages/eslint-plugin/docs/rules/keyword-spacing.md b/packages/eslint-plugin/docs/rules/keyword-spacing.md index b0565acbe60..4b9b386b940 100644 --- a/packages/eslint-plugin/docs/rules/keyword-spacing.md +++ b/packages/eslint-plugin/docs/rules/keyword-spacing.md @@ -26,11 +26,3 @@ See [`eslint/keyword-spacing` options](https://eslint.org/docs/rules/keyword-spa Taken with ❀️ [from ESLint core](https://github.com/eslint/eslint/blob/main/docs/rules/keyword-spacing.md) - -## Attributes - -- Configs: - - [ ] βœ… Recommended - - [ ] πŸ”’ Strict -- [x] πŸ”§ Fixable -- [ ] πŸ’­ Requires type information 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 8581584a0a4..8a68abe9cda 100644 --- a/packages/eslint-plugin/docs/rules/lines-between-class-members.md +++ b/packages/eslint-plugin/docs/rules/lines-between-class-members.md @@ -77,11 +77,3 @@ class foo { Taken with ❀️ [from ESLint core](https://github.com/eslint/eslint/blob/main/docs/rules/lines-between-class-members.md) - -## Attributes - -- Configs: - - [ ] βœ… Recommended - - [ ] πŸ”’ Strict -- [x] πŸ”§ Fixable -- [ ] πŸ’­ Requires type information diff --git a/packages/eslint-plugin/docs/rules/member-delimiter-style.md b/packages/eslint-plugin/docs/rules/member-delimiter-style.md index 644886146c1..858d3777d06 100644 --- a/packages/eslint-plugin/docs/rules/member-delimiter-style.md +++ b/packages/eslint-plugin/docs/rules/member-delimiter-style.md @@ -208,11 +208,3 @@ type FooBar = { name: string; greet(): string } ## When Not To Use It If you don't care about enforcing a consistent member delimiter in interfaces and type literals, then you will not need this rule. - -## Attributes - -- Configs: - - [ ] βœ… Recommended - - [ ] πŸ”’ Strict -- [x] πŸ”§ Fixable -- [ ] πŸ’­ Requires type information diff --git a/packages/eslint-plugin/docs/rules/member-ordering.md b/packages/eslint-plugin/docs/rules/member-ordering.md index 19f5792dfe3..3f1b0536c97 100644 --- a/packages/eslint-plugin/docs/rules/member-ordering.md +++ b/packages/eslint-plugin/docs/rules/member-ordering.md @@ -1163,11 +1163,3 @@ If you don't care about the general order of your members, then you will not nee ## Related To - TSLint: [member-ordering](https://palantir.github.io/tslint/rules/member-ordering/) - -## Attributes - -- Configs: - - [ ] βœ… Recommended - - [ ] πŸ”’ Strict -- [ ] πŸ”§ Fixable -- [ ] πŸ’­ Requires type information diff --git a/packages/eslint-plugin/docs/rules/method-signature-style.md b/packages/eslint-plugin/docs/rules/method-signature-style.md index 1c3a8a0cbcd..53a6d3e17a0 100644 --- a/packages/eslint-plugin/docs/rules/method-signature-style.md +++ b/packages/eslint-plugin/docs/rules/method-signature-style.md @@ -104,11 +104,3 @@ type T2 = { ## When Not To Use It If you don't want to enforce a particular style for object/interface function types, and/or if you don't use `strictFunctionTypes`, then you don't need this rule. - -## Attributes - -- Configs: - - [ ] βœ… Recommended - - [ ] πŸ”’ Strict -- [x] πŸ”§ Fixable -- [ ] πŸ’­ Requires type information diff --git a/packages/eslint-plugin/docs/rules/naming-convention.md b/packages/eslint-plugin/docs/rules/naming-convention.md index 7fc4729b966..9032119ca40 100644 --- a/packages/eslint-plugin/docs/rules/naming-convention.md +++ b/packages/eslint-plugin/docs/rules/naming-convention.md @@ -700,11 +700,3 @@ You can use the `destructured` modifier to match these names, and explicitly set ## When Not To Use It If you do not want to enforce naming conventions for anything. - -## Attributes - -- Configs: - - [ ] βœ… Recommended - - [ ] πŸ”’ Strict -- [ ] πŸ”§ Fixable -- [x] πŸ’­ Requires type information diff --git a/packages/eslint-plugin/docs/rules/no-array-constructor.md b/packages/eslint-plugin/docs/rules/no-array-constructor.md index 72ad9f760b8..01fd843caf1 100644 --- a/packages/eslint-plugin/docs/rules/no-array-constructor.md +++ b/packages/eslint-plugin/docs/rules/no-array-constructor.md @@ -49,11 +49,3 @@ See [`eslint/no-array-constructor` options](https://eslint.org/docs/rules/no-arr Taken with ❀️ [from ESLint core](https://github.com/eslint/eslint/blob/main/docs/rules/no-array-constructor.md) - -## Attributes - -- Configs: - - [x] βœ… Recommended - - [x] πŸ”’ Strict -- [x] πŸ”§ Fixable -- [ ] πŸ’­ Requires type information 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 e8e0cf85384..1e5cd41c94a 100644 --- a/packages/eslint-plugin/docs/rules/no-base-to-string.md +++ b/packages/eslint-plugin/docs/rules/no-base-to-string.md @@ -89,11 +89,3 @@ let text = `${value}`; If you don't mind `"[object Object]"` in your strings, then you will not need this rule. - [`Object.prototype.toString()` MDN documentation](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/toString) - -## Attributes - -- Configs: - - [ ] βœ… Recommended - - [x] πŸ”’ Strict -- [ ] πŸ”§ Fixable -- [x] πŸ’­ Requires type information 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 53b1617a0a8..77d11f68d21 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 @@ -61,11 +61,3 @@ If you don't care about this confusion, then you will not need this rule. ## Further Reading - [`Issue: Easy misunderstanding: "! ==="`](https://github.com/microsoft/TypeScript/issues/37837) in [TypeScript repo](https://github.com/microsoft/TypeScript) - -## Attributes - -- Configs: - - [ ] βœ… Recommended - - [x] πŸ”’ Strict -- [x] πŸ”§ Fixable -- [ ] πŸ’­ Requires type information 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 88c295ae3bb..fa6685aae33 100644 --- a/packages/eslint-plugin/docs/rules/no-confusing-void-expression.md +++ b/packages/eslint-plugin/docs/rules/no-confusing-void-expression.md @@ -151,11 +151,3 @@ Also, if you prefer concise coding style then also don't use it. ## Related To - TSLint: ['no-void-expression'](https://palantir.github.io/tslint/rules/no-void-expression/) - -## Attributes - -- Configs: - - [ ] βœ… Recommended - - [ ] πŸ”’ Strict -- [x] πŸ”§ Fixable -- [x] πŸ’­ Requires type information 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 3d9c774cd12..e31b8548c66 100644 --- a/packages/eslint-plugin/docs/rules/no-dupe-class-members.md +++ b/packages/eslint-plugin/docs/rules/no-dupe-class-members.md @@ -26,11 +26,3 @@ See [`eslint/no-dupe-class-members` options](https://eslint.org/docs/rules/no-du Taken with ❀️ [from ESLint core](https://github.com/eslint/eslint/blob/main/docs/rules/no-dupe-class-members.md) - -## Attributes - -- Configs: - - [ ] βœ… Recommended - - [ ] πŸ”’ Strict -- [ ] πŸ”§ Fixable -- [ ] πŸ’­ Requires type information 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 41fa24f4f54..6b69d540c55 100644 --- a/packages/eslint-plugin/docs/rules/no-duplicate-enum-values.md +++ b/packages/eslint-plugin/docs/rules/no-duplicate-enum-values.md @@ -54,11 +54,3 @@ enum E { ``` This rule is not configurable. - -## Attributes - -- Configs: - - [ ] βœ… Recommended - - [x] πŸ”’ Strict -- [ ] πŸ”§ Fixable -- [ ] πŸ’­ Requires type information diff --git a/packages/eslint-plugin/docs/rules/no-duplicate-imports.md b/packages/eslint-plugin/docs/rules/no-duplicate-imports.md index 74f1ebb9807..90ab3da4123 100644 --- a/packages/eslint-plugin/docs/rules/no-duplicate-imports.md +++ b/packages/eslint-plugin/docs/rules/no-duplicate-imports.md @@ -30,11 +30,3 @@ See [`eslint/no-duplicate-imports` options](https://eslint.org/docs/rules/no-dup Taken with ❀️ [from ESLint core](https://github.com/eslint/eslint/blob/main/docs/rules/no-duplicate-imports.md) - -## Attributes - -- Configs: - - [ ] βœ… Recommended - - [ ] πŸ”’ Strict -- [ ] πŸ”§ Fixable -- [ ] πŸ’­ Requires type information diff --git a/packages/eslint-plugin/docs/rules/no-dynamic-delete.md b/packages/eslint-plugin/docs/rules/no-dynamic-delete.md index 2b5174e21ba..7face38474d 100644 --- a/packages/eslint-plugin/docs/rules/no-dynamic-delete.md +++ b/packages/eslint-plugin/docs/rules/no-dynamic-delete.md @@ -64,11 +64,3 @@ Even repeated minor performance slowdowns likely do not significantly affect you ## Related To - TSLint: [no-dynamic-delete](https://palantir.github.io/tslint/rules/no-dynamic-delete) - -## Attributes - -- Configs: - - [ ] βœ… Recommended - - [x] πŸ”’ Strict -- [x] πŸ”§ Fixable -- [ ] πŸ’­ Requires type information diff --git a/packages/eslint-plugin/docs/rules/no-empty-function.md b/packages/eslint-plugin/docs/rules/no-empty-function.md index 4cf87c54fb3..e23cc10bdd4 100644 --- a/packages/eslint-plugin/docs/rules/no-empty-function.md +++ b/packages/eslint-plugin/docs/rules/no-empty-function.md @@ -109,11 +109,3 @@ class Foo extends Base { Taken with ❀️ [from ESLint core](https://github.com/eslint/eslint/blob/main/docs/rules/no-empty-function.md) - -## Attributes - -- Configs: - - [x] βœ… Recommended - - [x] πŸ”’ Strict -- [ ] πŸ”§ Fixable -- [ ] πŸ’­ Requires type information diff --git a/packages/eslint-plugin/docs/rules/no-empty-interface.md b/packages/eslint-plugin/docs/rules/no-empty-interface.md index 1b3bdd6bcf5..8785b13a579 100644 --- a/packages/eslint-plugin/docs/rules/no-empty-interface.md +++ b/packages/eslint-plugin/docs/rules/no-empty-interface.md @@ -68,11 +68,3 @@ If you don't care about having empty/meaningless interfaces, then you will not n ## Related To - TSLint: [no-empty-interface](https://palantir.github.io/tslint/rules/no-empty-interface/) - -## Attributes - -- Configs: - - [x] βœ… Recommended - - [x] πŸ”’ Strict -- [x] πŸ”§ Fixable -- [ ] πŸ’­ Requires type information diff --git a/packages/eslint-plugin/docs/rules/no-explicit-any.md b/packages/eslint-plugin/docs/rules/no-explicit-any.md index b1f2cbcffc2..a9ba5619d90 100644 --- a/packages/eslint-plugin/docs/rules/no-explicit-any.md +++ b/packages/eslint-plugin/docs/rules/no-explicit-any.md @@ -183,11 +183,3 @@ and you want to be able to specify `any`. ## Related To - TSLint: [no-any](https://palantir.github.io/tslint/rules/no-any/) - -## Attributes - -- Configs: - - [x] βœ… Recommended - - [x] πŸ”’ Strict -- [x] πŸ”§ Fixable -- [ ] πŸ’­ Requires type information 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 aa5567602b0..43cfacf756f 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 @@ -58,11 +58,3 @@ function foo(bar?: { n: number }) { ``` This rule is not configurable. - -## Attributes - -- Configs: - - [x] βœ… Recommended - - [x] πŸ”’ Strict -- [x] πŸ”§ Fixable -- [ ] πŸ’­ Requires type information diff --git a/packages/eslint-plugin/docs/rules/no-extra-parens.md b/packages/eslint-plugin/docs/rules/no-extra-parens.md index d2e12037641..f123b70d141 100644 --- a/packages/eslint-plugin/docs/rules/no-extra-parens.md +++ b/packages/eslint-plugin/docs/rules/no-extra-parens.md @@ -26,11 +26,3 @@ See [`eslint/no-extra-parens` options](https://eslint.org/docs/rules/no-extra-pa Taken with ❀️ [from ESLint core](https://github.com/eslint/eslint/blob/main/docs/rules/no-extra-parens.md) - -## Attributes - -- Configs: - - [ ] βœ… Recommended - - [ ] πŸ”’ Strict -- [x] πŸ”§ Fixable -- [ ] πŸ’­ Requires type information diff --git a/packages/eslint-plugin/docs/rules/no-extra-semi.md b/packages/eslint-plugin/docs/rules/no-extra-semi.md index b2bc866d612..b0649081b5c 100644 --- a/packages/eslint-plugin/docs/rules/no-extra-semi.md +++ b/packages/eslint-plugin/docs/rules/no-extra-semi.md @@ -26,11 +26,3 @@ See [`eslint/no-extra-semi` options](https://eslint.org/docs/rules/no-extra-semi Taken with ❀️ [from ESLint core](https://github.com/eslint/eslint/blob/main/docs/rules/no-extra-semi.md) - -## Attributes - -- Configs: - - [x] βœ… Recommended - - [x] πŸ”’ Strict -- [x] πŸ”§ Fixable -- [ ] πŸ’­ Requires type information diff --git a/packages/eslint-plugin/docs/rules/no-extraneous-class.md b/packages/eslint-plugin/docs/rules/no-extraneous-class.md index 121305b16f3..aa221ce17fa 100644 --- a/packages/eslint-plugin/docs/rules/no-extraneous-class.md +++ b/packages/eslint-plugin/docs/rules/no-extraneous-class.md @@ -2,14 +2,21 @@ Disallows classes used as namespaces. -This rule warns when a class is accidentally used as a namespace. +This rule warns when a class has no non-static members, such as for a class used exclusively as a static namespace. ## Rule Details -From TSLint’s docs: +Users who come from a [OOP](https://en.wikipedia.org/wiki/Object-oriented_programming) paradigm may wrap their utility functions in an extra class, instead of putting them at the top level of an ECMAScript module. +Doing so is generally unnecessary in JavaScript and TypeScript projects. -> Users who come from a Java-style OO language may wrap their utility functions in an extra class, -> instead of putting them at the top level. +- Wrapper classes add extra cognitive complexity to code without adding any structural improvements + - Whatever would be put on them, such as utility functions, are already organized by virtue of being in a module. + - As an alternative, you can always `import * as ...` the module to get all of them in a single object. +- IDEs can't provide as good suggestions for static class or namespace imported properties when you start typing property names +- It's more difficult to statically analyze code for unused variables, etc. when they're all on the class (see: [Finding dead code (and dead types) in TypeScript](https://effectivetypescript.com/2020/10/20/tsprune)). + +This rule also flags classes that have only a constructor and no fields. +Those classes can generally be replaced with a standalone function. Examples of code for this rule: @@ -18,18 +25,16 @@ Examples of code for this rule: ### ❌ Incorrect ```ts -class EmptyClass {} +class StaticConstants { + static readonly version = 42; -class ConstructorOnly { - constructor() { - foo(); + static isProduction() { + return process.env.NODE_ENV === 'production'; } } -// Use an object instead: -class StaticOnly { - static version = 42; - static hello() { +class HelloWorldLogger { + constructor() { console.log('Hello, world!'); } } @@ -38,18 +43,151 @@ class StaticOnly { ### βœ… Correct ```ts -class EmptyClass extends SuperClass {} +export const version = 42; + +export function isProduction() { + return process.env.NODE_ENV === 'production'; +} + +function logHelloWorld() { + console.log('Hello, world!'); +} +``` + +## Alternatives + +### Individual Exports (Recommended) + +Instead of using a static utility class we recommend you individually export the utilities from your module. + + + +#### ❌ Incorrect + +```ts +export class Utilities { + static util1() { + return Utilities.util3(); + } + + static util2() { + /* ... */ + } + + static util3() { + /* ... */ + } +} +``` + +#### βœ… Correct + +```ts +export function util1() { + return util3(); +} -class ParameterProperties { - constructor(public name: string) {} +export function util2() { + /* ... */ } -const StaticOnly = { - version: 42, - hello() { +export function util3() { + /* ... */ +} +``` + +### Namespace Imports (Not Recommended) + +If you strongly prefer to have all constructs from a module available as properties of a single object, you can `import * as` the module. +This is known as a "namespace import". +Namespace imports are sometimes preferable because they keep all properties nested and don't need to be changed as you start or stop using various properties from the module. + +However, namespace imports are impacted by these downsides: + +- They also don't play as well with tree shaking in modern bundlers +- They require a name prefix before each property's usage + + + +#### ❌ Incorrect + +```ts +// utilities.ts +export class Utilities { + static sayHello() { console.log('Hello, world!'); - }, -}; + } +} + +// consumers.ts +import { Utilities } from './utilities'; + +Utilities.sayHello(); +``` + +#### ⚠️ Namespace Imports + +```ts +// utilities.ts +export function sayHello() { + console.log('Hello, world!'); +} + +// consumers.ts +import * as utilities from './utilities'; + +utilities.sayHello(); +``` + +#### βœ… Standalone Imports + +```ts +// utilities.ts +export function sayHello() { + console.log('Hello, world!'); +} + +// consumers.ts +import { sayHello } from './utilities'; + +sayHello(); +``` + +### Notes on Mutating Variables + +One case you need to be careful of is exporting mutable variables. +While class properties can be mutated externally, exported variables are always constant. +This means that importers can only ever read the first value they are assigned and cannot write to the variables. + +Needing to write to an exported variable is very rare and is generally considered a code smell. +If you do need it you can accomplish it using getter and setter functions: + + + +#### ❌ Incorrect + +```ts +export class Utilities { + static mutableCount = 1; + + static incrementCount() { + Utilities.mutableCount += 1; + } +} +``` + +#### βœ… Correct + +```ts +let mutableCount = 1; + +export function getMutableCount() { + return mutableField; +} + +export function incrementCount() { + mutableField += 1; +} ``` ## Options @@ -76,19 +214,105 @@ const defaultOptions: Options = { }; ``` +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. + +### `allowConstructorOnly` + +`allowConstructorOnly` adds an exemption for classes that have only a constructor and no fields. + + + +#### ❌ Incorrect + +```ts +class NoFields {} +``` + +#### βœ… Correct + +```ts +class NoFields { + constructor() { + console.log('Hello, world!'); + } +} +``` + +### `allowEmpty` + +The `allowEmpty` option adds an exemption for classes that are entirely empty. + + + +#### ❌ Incorrect + +```ts +class NoFields { + constructor() { + console.log('Hello, world!'); + } +} +``` + +#### βœ… Correct + +```ts +class NoFields {} +``` + +### `allowStaticOnly` + +The `allowStaticOnly` option adds an exemption for classes that only contain static members. + +:::caution +We strongly recommend against the `allowStaticOnly` exemption. +It works against this rule's primary purpose of discouraging classes used only for static members. +::: + + + +#### ❌ Incorrect + +```ts +class EmptyClass {} +``` + +#### βœ… Correct + +```ts +class NotEmptyClass { + static version = 42; +} +``` + +### `allowWithDecorator` + +The `allowWithDecorator` option adds an exemption for classes that contain a member decorated with a `@` decorator. + + + +#### ❌ Incorrect + +```ts +class Constants { + static readonly version = 42; +} +``` + +#### βœ… Correct + +```ts +class Constants { + @logOnRead() + static readonly version = 42; +} +``` + ## When Not To Use It -You can disable this rule if you don’t have anyone who would make these kinds of mistakes on your -team or if you use classes as namespaces. +You can disable this rule if you are unable -or unwilling- to switch off using classes as namespaces. ## Related To [`no-unnecessary-class`](https://palantir.github.io/tslint/rules/no-unnecessary-class/) from TSLint - -## Attributes - -- Configs: - - [ ] βœ… Recommended - - [x] πŸ”’ Strict -- [ ] πŸ”§ Fixable -- [ ] πŸ’­ Requires type information diff --git a/packages/eslint-plugin/docs/rules/no-floating-promises.md b/packages/eslint-plugin/docs/rules/no-floating-promises.md index 72ce6e2a506..1f365ab59a6 100644 --- a/packages/eslint-plugin/docs/rules/no-floating-promises.md +++ b/packages/eslint-plugin/docs/rules/no-floating-promises.md @@ -119,11 +119,3 @@ If you do not use Promise-like values in your codebase, or want to allow them to - [`no-misused-promises`](./no-misused-promises.md) - TSLint: ['no-floating-promises'](https://palantir.github.io/tslint/rules/no-floating-promises/) - -## Attributes - -- Configs: - - [x] βœ… Recommended - - [x] πŸ”’ Strict -- [ ] πŸ”§ Fixable -- [x] πŸ’­ Requires type information 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 4429248845c..e087ddf83e2 100644 --- a/packages/eslint-plugin/docs/rules/no-for-in-array.md +++ b/packages/eslint-plugin/docs/rules/no-for-in-array.md @@ -61,11 +61,3 @@ If you want to iterate through a loop using the indices in an array as strings, ## Related To - TSLint: ['no-for-in-array'](https://palantir.github.io/tslint/rules/no-for-in-array/) - -## Attributes - -- Configs: - - [x] βœ… Recommended - - [x] πŸ”’ Strict -- [ ] πŸ”§ Fixable -- [x] πŸ’­ Requires type information 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 4bd9c2c1b5f..40530896835 100644 --- a/packages/eslint-plugin/docs/rules/no-implicit-any-catch.md +++ b/packages/eslint-plugin/docs/rules/no-implicit-any-catch.md @@ -82,11 +82,3 @@ If you are not using TypeScript 4.0 (or greater), then you will not be able to u ## Further Reading - [TypeScript 4.0 Release Notes](https://devblogs.microsoft.com/typescript/announcing-typescript-4-0/#unknown-on-catch) - -## Attributes - -- Configs: - - [ ] βœ… Recommended - - [ ] πŸ”’ Strict -- [x] πŸ”§ Fixable -- [ ] πŸ’­ Requires type information diff --git a/packages/eslint-plugin/docs/rules/no-implied-eval.md b/packages/eslint-plugin/docs/rules/no-implied-eval.md index 74a1c3bbcab..d39a6f70609 100644 --- a/packages/eslint-plugin/docs/rules/no-implied-eval.md +++ b/packages/eslint-plugin/docs/rules/no-implied-eval.md @@ -113,11 +113,3 @@ If you want to allow `new Function()` or `setTimeout()`, `setInterval()`, `setIm Taken with ❀️ [from ESLint core](https://github.com/eslint/eslint/blob/main/docs/rules/no-implied-eval.md) - -## Attributes - -- Configs: - - [x] βœ… Recommended - - [x] πŸ”’ Strict -- [ ] πŸ”§ Fixable -- [x] πŸ’­ Requires type information diff --git a/packages/eslint-plugin/docs/rules/no-inferrable-types.md b/packages/eslint-plugin/docs/rules/no-inferrable-types.md index 67fd3e2f696..d27c0482130 100644 --- a/packages/eslint-plugin/docs/rules/no-inferrable-types.md +++ b/packages/eslint-plugin/docs/rules/no-inferrable-types.md @@ -152,11 +152,3 @@ TypeScript [Inference](https://www.typescriptlang.org/docs/handbook/type-inferen ## Related To TSLint: [no-inferrable-types](https://palantir.github.io/tslint/rules/no-inferrable-types/) - -## Attributes - -- Configs: - - [x] βœ… Recommended - - [x] πŸ”’ Strict -- [x] πŸ”§ Fixable -- [ ] πŸ’­ Requires type information diff --git a/packages/eslint-plugin/docs/rules/no-invalid-this.md b/packages/eslint-plugin/docs/rules/no-invalid-this.md index 18b191f022d..5061e60559d 100644 --- a/packages/eslint-plugin/docs/rules/no-invalid-this.md +++ b/packages/eslint-plugin/docs/rules/no-invalid-this.md @@ -30,11 +30,3 @@ 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) - -## Attributes - -- Configs: - - [ ] βœ… Recommended - - [ ] πŸ”’ Strict -- [ ] πŸ”§ Fixable -- [ ] πŸ’­ Requires type information 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 545d49a297a..c3d3c3d40f9 100644 --- a/packages/eslint-plugin/docs/rules/no-invalid-void-type.md +++ b/packages/eslint-plugin/docs/rules/no-invalid-void-type.md @@ -130,11 +130,3 @@ or in invalid places, then you don't need this rule. ## Related To - TSLint: [invalid-void](https://palantir.github.io/tslint/rules/invalid-void/) - -## Attributes - -- Configs: - - [ ] βœ… Recommended - - [x] πŸ”’ Strict -- [ ] πŸ”§ Fixable -- [ ] πŸ’­ Requires type information diff --git a/packages/eslint-plugin/docs/rules/no-loop-func.md b/packages/eslint-plugin/docs/rules/no-loop-func.md index 49a88add985..890bd80ecc0 100644 --- a/packages/eslint-plugin/docs/rules/no-loop-func.md +++ b/packages/eslint-plugin/docs/rules/no-loop-func.md @@ -26,11 +26,3 @@ See [`eslint/no-loop-func` options](https://eslint.org/docs/rules/no-loop-func#o Taken with ❀️ [from ESLint core](https://github.com/eslint/eslint/blob/main/docs/rules/no-loop-func.md) - -## Attributes - -- Configs: - - [ ] βœ… Recommended - - [ ] πŸ”’ Strict -- [ ] πŸ”§ Fixable -- [ ] πŸ’­ Requires type information 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 9ef84df7e5f..a27701afdfb 100644 --- a/packages/eslint-plugin/docs/rules/no-loss-of-precision.md +++ b/packages/eslint-plugin/docs/rules/no-loss-of-precision.md @@ -23,11 +23,3 @@ Note that this rule requires ESLint v7. Taken with ❀️ [from ESLint core](https://github.com/eslint/eslint/blob/main/docs/rules/no-loss-of-precision.md) - -## Attributes - -- Configs: - - [x] βœ… Recommended - - [x] πŸ”’ Strict -- [ ] πŸ”§ Fixable -- [ ] πŸ’­ Requires type information diff --git a/packages/eslint-plugin/docs/rules/no-magic-numbers.md b/packages/eslint-plugin/docs/rules/no-magic-numbers.md index 5d1bcaf3987..e5edc2e280d 100644 --- a/packages/eslint-plugin/docs/rules/no-magic-numbers.md +++ b/packages/eslint-plugin/docs/rules/no-magic-numbers.md @@ -147,11 +147,3 @@ type Baz = Parameters[2]; Taken with ❀️ [from ESLint core](https://github.com/eslint/eslint/blob/main/docs/rules/no-magic-numbers.md) - -## Attributes - -- Configs: - - [ ] βœ… Recommended - - [ ] πŸ”’ Strict -- [ ] πŸ”§ Fixable -- [ ] πŸ’­ Requires type information diff --git a/packages/eslint-plugin/docs/rules/no-meaningless-void-operator.md b/packages/eslint-plugin/docs/rules/no-meaningless-void-operator.md index 13997125a85..fa348f30808 100644 --- a/packages/eslint-plugin/docs/rules/no-meaningless-void-operator.md +++ b/packages/eslint-plugin/docs/rules/no-meaningless-void-operator.md @@ -54,11 +54,3 @@ This rule accepts a single object option with the following default configuratio ``` - `checkNever: true` will suggest removing `void` when the argument has type `never`. - -## Attributes - -- Configs: - - [ ] βœ… Recommended - - [x] πŸ”’ Strict -- [x] πŸ”§ Fixable -- [x] πŸ’­ Requires type information diff --git a/packages/eslint-plugin/docs/rules/no-misused-new.md b/packages/eslint-plugin/docs/rules/no-misused-new.md index f1a35f97171..80534080d1b 100644 --- a/packages/eslint-plugin/docs/rules/no-misused-new.md +++ b/packages/eslint-plugin/docs/rules/no-misused-new.md @@ -50,11 +50,3 @@ This rule is not configurable. ## Related To - TSLint: [no-misused-new](https://palantir.github.io/tslint/rules/no-misused-new/) - -## Attributes - -- Configs: - - [x] βœ… Recommended - - [x] πŸ”’ Strict -- [ ] πŸ”§ Fixable -- [ ] πŸ’­ Requires type information diff --git a/packages/eslint-plugin/docs/rules/no-misused-promises.md b/packages/eslint-plugin/docs/rules/no-misused-promises.md index 4ae371869cd..f3e67234c6f 100644 --- a/packages/eslint-plugin/docs/rules/no-misused-promises.md +++ b/packages/eslint-plugin/docs/rules/no-misused-promises.md @@ -277,11 +277,3 @@ misuses of them outside of what the TypeScript compiler will check. ## Related To - [`no-floating-promises`](./no-floating-promises.md) - -## Attributes - -- Configs: - - [x] βœ… Recommended - - [x] πŸ”’ Strict -- [ ] πŸ”§ Fixable -- [x] πŸ’­ Requires type information diff --git a/packages/eslint-plugin/docs/rules/no-namespace.md b/packages/eslint-plugin/docs/rules/no-namespace.md index 989bda216a4..0b2c9aa292a 100644 --- a/packages/eslint-plugin/docs/rules/no-namespace.md +++ b/packages/eslint-plugin/docs/rules/no-namespace.md @@ -135,11 +135,3 @@ If you are using the ES2015 module syntax, then you will not need this rule. ## Related To - TSLint: [no-namespace](https://palantir.github.io/tslint/rules/no-namespace/) - -## Attributes - -- Configs: - - [x] βœ… Recommended - - [x] πŸ”’ Strict -- [ ] πŸ”§ Fixable -- [ ] πŸ’­ Requires type information 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 333d31f7e4d..29eac71f2f4 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 @@ -66,11 +66,3 @@ If you are not using TypeScript 3.7 (or greater), then you will not need to use - [TypeScript 3.7 Release Notes](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-7.html) - [Nullish Coalescing Proposal](https://github.com/tc39/proposal-nullish-coalescing) - -## Attributes - -- Configs: - - [ ] βœ… Recommended - - [x] πŸ”’ Strict -- [ ] πŸ”§ Fixable -- [ ] πŸ’­ Requires type information 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 e9f3a750277..0913824ef8b 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 @@ -65,11 +65,3 @@ If you are not using TypeScript 3.7 (or greater), then you will not need to use - [TypeScript 3.7 Release Notes](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-7.html) - [Optional Chaining Proposal](https://github.com/tc39/proposal-optional-chaining/) - -## Attributes - -- Configs: - - [x] βœ… Recommended - - [x] πŸ”’ Strict -- [ ] πŸ”§ Fixable -- [ ] πŸ’­ Requires type information 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 9f84436d61c..9f2368a9522 100644 --- a/packages/eslint-plugin/docs/rules/no-non-null-assertion.md +++ b/packages/eslint-plugin/docs/rules/no-non-null-assertion.md @@ -52,11 +52,3 @@ If you don't care about strict null-checking, then you will not need this rule. ## Further Reading - [`no-non-null-assertion`](https://palantir.github.io/tslint/rules/no-non-null-assertion/) in [TSLint](https://palantir.github.io/tslint/) - -## Attributes - -- Configs: - - [x] βœ… Recommended - - [x] πŸ”’ Strict -- [ ] πŸ”§ Fixable -- [ ] πŸ’­ Requires type information diff --git a/packages/eslint-plugin/docs/rules/no-parameter-properties.md b/packages/eslint-plugin/docs/rules/no-parameter-properties.md index dd6fbe00517..8683a94c5c1 100644 --- a/packages/eslint-plugin/docs/rules/no-parameter-properties.md +++ b/packages/eslint-plugin/docs/rules/no-parameter-properties.md @@ -399,11 +399,3 @@ If you don't care about the using parameter properties in constructors, then you ## Related To - TSLint: [no-parameter-properties](https://palantir.github.io/tslint/rules/no-parameter-properties/) - -## Attributes - -- Configs: - - [ ] βœ… Recommended - - [ ] πŸ”’ Strict -- [ ] πŸ”§ Fixable -- [ ] πŸ’­ Requires type information diff --git a/packages/eslint-plugin/docs/rules/no-redeclare.md b/packages/eslint-plugin/docs/rules/no-redeclare.md index 9a8691a7af5..6ddb0d6d730 100644 --- a/packages/eslint-plugin/docs/rules/no-redeclare.md +++ b/packages/eslint-plugin/docs/rules/no-redeclare.md @@ -84,11 +84,3 @@ const something = 2; Taken with ❀️ [from ESLint core](https://github.com/eslint/eslint/blob/main/docs/rules/no-redeclare.md) - -## Attributes - -- Configs: - - [ ] βœ… Recommended - - [ ] πŸ”’ Strict -- [ ] πŸ”§ Fixable -- [ ] πŸ’­ Requires type information 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 9f15f757dfb..fc393d5c0d4 100644 --- a/packages/eslint-plugin/docs/rules/no-redundant-type-constituents.md +++ b/packages/eslint-plugin/docs/rules/no-redundant-type-constituents.md @@ -90,11 +90,3 @@ It also does not provide an auto-fixer just yet. - [Intersection Types](https://www.typescriptlang.org/docs/handbook/2/objects.html#intersection-types) - [Bottom Types](https://en.wikipedia.org/wiki/Bottom_type) - [Top Types](https://en.wikipedia.org/wiki/Top_type) - -## Attributes - -- Configs: - - [ ] βœ… Recommended - - [ ] πŸ”’ Strict -- [ ] πŸ”§ Fixable -- [x] πŸ’­ Requires type information diff --git a/packages/eslint-plugin/docs/rules/no-require-imports.md b/packages/eslint-plugin/docs/rules/no-require-imports.md index 8344ec726c4..0d7e68bf1af 100644 --- a/packages/eslint-plugin/docs/rules/no-require-imports.md +++ b/packages/eslint-plugin/docs/rules/no-require-imports.md @@ -51,11 +51,3 @@ If you don't care about TypeScript module syntax, then you will not need this ru ## Related To - TSLint: [no-require-imports](https://palantir.github.io/tslint/rules/no-require-imports/) - -## Attributes - -- Configs: - - [ ] βœ… Recommended - - [ ] πŸ”’ Strict -- [ ] πŸ”§ Fixable -- [ ] πŸ’­ Requires type information diff --git a/packages/eslint-plugin/docs/rules/no-restricted-imports.md b/packages/eslint-plugin/docs/rules/no-restricted-imports.md index 683bbb78595..2e741490d09 100644 --- a/packages/eslint-plugin/docs/rules/no-restricted-imports.md +++ b/packages/eslint-plugin/docs/rules/no-restricted-imports.md @@ -68,11 +68,3 @@ export type { Foo } from 'import-foo'; import type baz from 'import-baz'; export type { Baz } from 'import-baz'; ``` - -## Attributes - -- Configs: - - [ ] βœ… Recommended - - [ ] πŸ”’ Strict -- [ ] πŸ”§ Fixable -- [ ] πŸ’­ Requires type information diff --git a/packages/eslint-plugin/docs/rules/no-shadow.md b/packages/eslint-plugin/docs/rules/no-shadow.md index bd8500e0045..4ed7f199c2c 100644 --- a/packages/eslint-plugin/docs/rules/no-shadow.md +++ b/packages/eslint-plugin/docs/rules/no-shadow.md @@ -91,11 +91,3 @@ type Func = (test: string) => typeof test; Taken with ❀️ [from ESLint core](https://github.com/eslint/eslint/blob/main/docs/rules/no-shadow.md) - -## Attributes - -- Configs: - - [ ] βœ… Recommended - - [ ] πŸ”’ Strict -- [ ] πŸ”§ Fixable -- [ ] πŸ’­ Requires type information diff --git a/packages/eslint-plugin/docs/rules/no-this-alias.md b/packages/eslint-plugin/docs/rules/no-this-alias.md index a49b165a57a..10366b9923d 100644 --- a/packages/eslint-plugin/docs/rules/no-this-alias.md +++ b/packages/eslint-plugin/docs/rules/no-this-alias.md @@ -60,11 +60,3 @@ If you need to assign `this` to variables, you shouldn’t use this rule. ## Related To - TSLint: [`no-this-assignment`](https://palantir.github.io/tslint/rules/no-this-assignment/) - -## Attributes - -- Configs: - - [x] βœ… Recommended - - [x] πŸ”’ Strict -- [ ] πŸ”§ Fixable -- [ ] πŸ’­ Requires type information diff --git a/packages/eslint-plugin/docs/rules/no-throw-literal.md b/packages/eslint-plugin/docs/rules/no-throw-literal.md index f5c5e5bf355..4bb8bbcc58c 100644 --- a/packages/eslint-plugin/docs/rules/no-throw-literal.md +++ b/packages/eslint-plugin/docs/rules/no-throw-literal.md @@ -116,11 +116,3 @@ throw new CustomError(); Taken with ❀️ [from ESLint core](https://github.com/eslint/eslint/blob/main/docs/rules/no-throw-literal.md) - -## Attributes - -- Configs: - - [ ] βœ… Recommended - - [x] πŸ”’ Strict -- [ ] πŸ”§ Fixable -- [x] πŸ’­ Requires type information diff --git a/packages/eslint-plugin/docs/rules/no-type-alias.md b/packages/eslint-plugin/docs/rules/no-type-alias.md index d219efd6915..650c83b44f6 100644 --- a/packages/eslint-plugin/docs/rules/no-type-alias.md +++ b/packages/eslint-plugin/docs/rules/no-type-alias.md @@ -612,11 +612,3 @@ callback, etc. that would cause the code to be unreadable or impractical. ## Related To - TSLint: [interface-over-type-literal](https://palantir.github.io/tslint/rules/interface-over-type-literal/) - -## Attributes - -- Configs: - - [ ] βœ… Recommended - - [ ] πŸ”’ Strict -- [ ] πŸ”§ Fixable -- [ ] πŸ’­ Requires type information 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 b689f9746ad..5ff5cdb1392 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 @@ -150,11 +150,3 @@ if (!(someNullCondition ?? true)) { ## Related To - TSLint: [no-boolean-literal-compare](https://palantir.github.io/tslint/rules/no-boolean-literal-compare) - -## Attributes - -- Configs: - - [ ] βœ… Recommended - - [x] πŸ”’ Strict -- [x] πŸ”§ Fixable -- [x] πŸ’­ Requires type information diff --git a/packages/eslint-plugin/docs/rules/no-unnecessary-condition.md b/packages/eslint-plugin/docs/rules/no-unnecessary-condition.md index 56cc1d6b47d..3c03a565521 100644 --- a/packages/eslint-plugin/docs/rules/no-unnecessary-condition.md +++ b/packages/eslint-plugin/docs/rules/no-unnecessary-condition.md @@ -112,11 +112,3 @@ The main downside to using this rule is the need for type information. - ESLint: [no-constant-condition](https://eslint.org/docs/rules/no-constant-condition) - `no-unnecessary-condition` is essentially a stronger version of `no-constant-condition`, but requires type information. - [strict-boolean-expressions](./strict-boolean-expressions.md) - a more opinionated version of `no-unnecessary-condition`. `strict-boolean-expressions` enforces a specific code style, while `no-unnecessary-condition` is about correctness. - -## Attributes - -- Configs: - - [ ] βœ… Recommended - - [x] πŸ”’ Strict -- [x] πŸ”§ Fixable -- [x] πŸ’­ Requires type information diff --git a/packages/eslint-plugin/docs/rules/no-unnecessary-qualifier.md b/packages/eslint-plugin/docs/rules/no-unnecessary-qualifier.md index 23576641f11..4da055e94d7 100644 --- a/packages/eslint-plugin/docs/rules/no-unnecessary-qualifier.md +++ b/packages/eslint-plugin/docs/rules/no-unnecessary-qualifier.md @@ -96,11 +96,3 @@ If you don't care about having unneeded namespace or enum qualifiers, then you d ## Related To - TSLint: [no-unnecessary-qualifier](https://palantir.github.io/tslint/rules/no-unnecessary-qualifier/) - -## Attributes - -- Configs: - - [ ] βœ… Recommended - - [ ] πŸ”’ Strict -- [x] πŸ”§ Fixable -- [x] πŸ’­ Requires type information 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 a9383d2ef70..65e4ca86371 100644 --- a/packages/eslint-plugin/docs/rules/no-unnecessary-type-arguments.md +++ b/packages/eslint-plugin/docs/rules/no-unnecessary-type-arguments.md @@ -70,11 +70,3 @@ This rule is not configurable. ## Related To - TSLint: [use-default-type-parameter](https://palantir.github.io/tslint/rules/use-default-type-parameter) - -## Attributes - -- Configs: - - [ ] βœ… Recommended - - [x] πŸ”’ Strict -- [x] πŸ”§ Fixable -- [x] πŸ’­ Requires type information 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 ddd5bf26527..6e0383656a0 100644 --- a/packages/eslint-plugin/docs/rules/no-unnecessary-type-assertion.md +++ b/packages/eslint-plugin/docs/rules/no-unnecessary-type-assertion.md @@ -77,11 +77,3 @@ If you don't care about having no-op type assertions in your code, then you can ## Related To - TSLint: [`no-unnecessary-type-assertion`](https://palantir.github.io/tslint/rules/no-unnecessary-type-assertion/) - -## Attributes - -- Configs: - - [x] βœ… Recommended - - [x] πŸ”’ Strict -- [x] πŸ”§ Fixable -- [x] πŸ’­ Requires type information 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 e54af4015d1..b2fb9c6b2b9 100644 --- a/packages/eslint-plugin/docs/rules/no-unnecessary-type-constraint.md +++ b/packages/eslint-plugin/docs/rules/no-unnecessary-type-constraint.md @@ -72,11 +72,3 @@ 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. - -## Attributes - -- Configs: - - [x] βœ… Recommended - - [x] πŸ”’ Strict -- [ ] πŸ”§ Fixable -- [ ] πŸ’­ Requires type information diff --git a/packages/eslint-plugin/docs/rules/no-unsafe-argument.md b/packages/eslint-plugin/docs/rules/no-unsafe-argument.md index 1d52e4034ef..2e1693430c5 100644 --- a/packages/eslint-plugin/docs/rules/no-unsafe-argument.md +++ b/packages/eslint-plugin/docs/rules/no-unsafe-argument.md @@ -88,11 +88,3 @@ This rule is not configurable. - [`no-explicit-any`](./no-explicit-any.md) - TSLint: [`no-unsafe-any`](https://palantir.github.io/tslint/rules/no-unsafe-any/) - -## Attributes - -- Configs: - - [x] βœ… Recommended - - [x] πŸ”’ Strict -- [ ] πŸ”§ Fixable -- [x] πŸ’­ Requires type information diff --git a/packages/eslint-plugin/docs/rules/no-unsafe-assignment.md b/packages/eslint-plugin/docs/rules/no-unsafe-assignment.md index 692287e9c04..b3b310d7553 100644 --- a/packages/eslint-plugin/docs/rules/no-unsafe-assignment.md +++ b/packages/eslint-plugin/docs/rules/no-unsafe-assignment.md @@ -91,11 +91,3 @@ This rule is not configurable. - [`no-explicit-any`](./no-explicit-any.md) - TSLint: [`no-unsafe-any`](https://palantir.github.io/tslint/rules/no-unsafe-any/) - -## Attributes - -- Configs: - - [x] βœ… Recommended - - [x] πŸ”’ Strict -- [ ] πŸ”§ Fixable -- [x] πŸ’­ Requires type information diff --git a/packages/eslint-plugin/docs/rules/no-unsafe-call.md b/packages/eslint-plugin/docs/rules/no-unsafe-call.md index 61ecadc1f10..fbd26fa558e 100644 --- a/packages/eslint-plugin/docs/rules/no-unsafe-call.md +++ b/packages/eslint-plugin/docs/rules/no-unsafe-call.md @@ -65,11 +65,3 @@ This rule is not configurable. - [`no-explicit-any`](./no-explicit-any.md) - TSLint: [`no-unsafe-any`](https://palantir.github.io/tslint/rules/no-unsafe-any/) - -## Attributes - -- Configs: - - [x] βœ… Recommended - - [x] πŸ”’ Strict -- [ ] πŸ”§ Fixable -- [x] πŸ’­ Requires type information 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 30eacf7339b..9b19a77e566 100644 --- a/packages/eslint-plugin/docs/rules/no-unsafe-member-access.md +++ b/packages/eslint-plugin/docs/rules/no-unsafe-member-access.md @@ -71,11 +71,3 @@ This rule is not configurable. - [`no-explicit-any`](./no-explicit-any.md) - TSLint: [`no-unsafe-any`](https://palantir.github.io/tslint/rules/no-unsafe-any/) - -## Attributes - -- Configs: - - [x] βœ… Recommended - - [x] πŸ”’ Strict -- [ ] πŸ”§ Fixable -- [x] πŸ’­ Requires type information diff --git a/packages/eslint-plugin/docs/rules/no-unsafe-return.md b/packages/eslint-plugin/docs/rules/no-unsafe-return.md index 2ba4b7ed319..8780f1043a9 100644 --- a/packages/eslint-plugin/docs/rules/no-unsafe-return.md +++ b/packages/eslint-plugin/docs/rules/no-unsafe-return.md @@ -108,11 +108,3 @@ This rule is not configurable. - [`no-explicit-any`](./no-explicit-any.md) - TSLint: [`no-unsafe-any`](https://palantir.github.io/tslint/rules/no-unsafe-any/) - -## Attributes - -- Configs: - - [x] βœ… Recommended - - [x] πŸ”’ Strict -- [ ] πŸ”§ Fixable -- [x] πŸ’­ Requires type information diff --git a/packages/eslint-plugin/docs/rules/no-unused-expressions.md b/packages/eslint-plugin/docs/rules/no-unused-expressions.md index 694c685a85f..f89aa6349e7 100644 --- a/packages/eslint-plugin/docs/rules/no-unused-expressions.md +++ b/packages/eslint-plugin/docs/rules/no-unused-expressions.md @@ -26,11 +26,3 @@ See [`eslint/no-unused-expressions` options](https://eslint.org/docs/rules/no-un Taken with ❀️ [from ESLint core](https://github.com/eslint/eslint/blob/main/docs/rules/no-unused-expressions.md) - -## Attributes - -- Configs: - - [ ] βœ… Recommended - - [ ] πŸ”’ Strict -- [ ] πŸ”§ Fixable -- [ ] πŸ’­ Requires type information diff --git a/packages/eslint-plugin/docs/rules/no-unused-vars.md b/packages/eslint-plugin/docs/rules/no-unused-vars.md index 091614902ba..7b46ad3f59c 100644 --- a/packages/eslint-plugin/docs/rules/no-unused-vars.md +++ b/packages/eslint-plugin/docs/rules/no-unused-vars.md @@ -26,11 +26,3 @@ See [`eslint/no-unused-vars` options](https://eslint.org/docs/rules/no-unused-va Taken with ❀️ [from ESLint core](https://github.com/eslint/eslint/blob/main/docs/rules/no-unused-vars.md) - -## Attributes - -- Configs: - - [x] βœ… Recommended - - [x] πŸ”’ Strict -- [ ] πŸ”§ Fixable -- [ ] πŸ’­ Requires type information 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 6643cc758ae..ec29f33c821 100644 --- a/packages/eslint-plugin/docs/rules/no-use-before-define.md +++ b/packages/eslint-plugin/docs/rules/no-use-before-define.md @@ -112,11 +112,3 @@ See [`eslint/no-use-before-define` options](https://eslint.org/docs/rules/no-use Taken with ❀️ [from ESLint core](https://github.com/eslint/eslint/blob/main/docs/rules/no-use-before-define.md) - -## Attributes - -- Configs: - - [ ] βœ… Recommended - - [ ] πŸ”’ Strict -- [ ] πŸ”§ Fixable -- [ ] πŸ’­ Requires type information diff --git a/packages/eslint-plugin/docs/rules/no-useless-constructor.md b/packages/eslint-plugin/docs/rules/no-useless-constructor.md index 5a0297204d2..221a0aaad20 100644 --- a/packages/eslint-plugin/docs/rules/no-useless-constructor.md +++ b/packages/eslint-plugin/docs/rules/no-useless-constructor.md @@ -35,11 +35,3 @@ Taken with ❀️ [from ESLint core](https://github.com/eslint/eslint/blob/main/ 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. - -## Attributes - -- Configs: - - [ ] βœ… Recommended - - [x] πŸ”’ Strict -- [ ] πŸ”§ Fixable -- [ ] πŸ’­ Requires type information 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 f38d516de3b..94d8dc8a08c 100644 --- a/packages/eslint-plugin/docs/rules/no-useless-empty-export.md +++ b/packages/eslint-plugin/docs/rules/no-useless-empty-export.md @@ -50,11 +50,3 @@ import 'some-other-module'; ``` This rule is not configurable. - -## Attributes - -- Configs: - - [ ] βœ… Recommended - - [ ] πŸ”’ Strict -- [x] πŸ”§ Fixable -- [ ] πŸ’­ Requires type information diff --git a/packages/eslint-plugin/docs/rules/no-var-requires.md b/packages/eslint-plugin/docs/rules/no-var-requires.md index d8b66305959..b81ea919eb6 100644 --- a/packages/eslint-plugin/docs/rules/no-var-requires.md +++ b/packages/eslint-plugin/docs/rules/no-var-requires.md @@ -46,11 +46,3 @@ If you don't care about TypeScript module syntax, then you will not need this ru ## Related To - TSLint: [no-var-requires](https://palantir.github.io/tslint/rules/no-var-requires/) - -## Attributes - -- Configs: - - [x] βœ… Recommended - - [x] πŸ”’ Strict -- [ ] πŸ”§ Fixable -- [ ] πŸ’­ Requires type information 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 41ce2e4905a..ffb0d7b4e70 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 @@ -44,11 +44,3 @@ 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. - -## Attributes - -- Configs: - - [ ] βœ… Recommended - - [x] πŸ”’ Strict -- [x] πŸ”§ Fixable -- [x] πŸ’­ Requires type information diff --git a/packages/eslint-plugin/docs/rules/object-curly-spacing.md b/packages/eslint-plugin/docs/rules/object-curly-spacing.md index 9e9abc177e6..4789df3e14e 100644 --- a/packages/eslint-plugin/docs/rules/object-curly-spacing.md +++ b/packages/eslint-plugin/docs/rules/object-curly-spacing.md @@ -26,11 +26,3 @@ See [`eslint/object-curly-spacing` options](https://eslint.org/docs/rules/object Taken with ❀️ [from ESLint core](https://github.com/eslint/eslint/blob/main/docs/rules/object-curly-spacing.md) - -## Attributes - -- Configs: - - [ ] βœ… Recommended - - [ ] πŸ”’ Strict -- [x] πŸ”§ Fixable -- [ ] πŸ’­ Requires type information 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 902a04fd097..82f98043d4b 100644 --- a/packages/eslint-plugin/docs/rules/padding-line-between-statements.md +++ b/packages/eslint-plugin/docs/rules/padding-line-between-statements.md @@ -54,11 +54,3 @@ In addition to options provided by ESLint, `interface` and `type` can be used as Taken with ❀️ [from ESLint core](https://github.com/eslint/eslint/blob/main/docs/rules/padding-line-between-statements.md) - -## Attributes - -- Configs: - - [ ] βœ… Recommended - - [ ] πŸ”’ Strict -- [x] πŸ”§ Fixable -- [ ] πŸ’­ Requires type information diff --git a/packages/eslint-plugin/docs/rules/parameter-properties.md b/packages/eslint-plugin/docs/rules/parameter-properties.md index c36954a829c..214753ba756 100644 --- a/packages/eslint-plugin/docs/rules/parameter-properties.md +++ b/packages/eslint-plugin/docs/rules/parameter-properties.md @@ -486,11 +486,3 @@ If you don't care about the using parameter properties in constructors, then you ## Related To - TSLint: [no-parameter-properties](https://palantir.github.io/tslint/rules/no-parameter-properties/) - -## Attributes - -- Configs: - - [ ] βœ… Recommended - - [ ] πŸ”’ Strict -- [ ] πŸ”§ Fixable -- [ ] πŸ’­ Requires type information diff --git a/packages/eslint-plugin/docs/rules/prefer-as-const.md b/packages/eslint-plugin/docs/rules/prefer-as-const.md index 0ce7b432013..76d3dede547 100644 --- a/packages/eslint-plugin/docs/rules/prefer-as-const.md +++ b/packages/eslint-plugin/docs/rules/prefer-as-const.md @@ -47,11 +47,3 @@ This rule is not configurable. ## When Not To Use It If you are using TypeScript < 3.4 - -## Attributes - -- Configs: - - [x] βœ… Recommended - - [x] πŸ”’ Strict -- [x] πŸ”§ Fixable -- [ ] πŸ’­ Requires type information diff --git a/packages/eslint-plugin/docs/rules/prefer-enum-initializers.md b/packages/eslint-plugin/docs/rules/prefer-enum-initializers.md index 6d18d33a823..fb3a24494d4 100644 --- a/packages/eslint-plugin/docs/rules/prefer-enum-initializers.md +++ b/packages/eslint-plugin/docs/rules/prefer-enum-initializers.md @@ -87,11 +87,3 @@ 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. - -## Attributes - -- Configs: - - [ ] βœ… Recommended - - [ ] πŸ”’ Strict -- [ ] πŸ”§ Fixable -- [ ] πŸ’­ Requires type information diff --git a/packages/eslint-plugin/docs/rules/prefer-for-of.md b/packages/eslint-plugin/docs/rules/prefer-for-of.md index 52b1bbd944e..6cd8ce5a52a 100644 --- a/packages/eslint-plugin/docs/rules/prefer-for-of.md +++ b/packages/eslint-plugin/docs/rules/prefer-for-of.md @@ -58,11 +58,3 @@ If you transpile for browsers that do not support for-of loops, you may wish to ## Related To - TSLint: ['prefer-for-of'](https://palantir.github.io/tslint/rules/prefer-for-of/) - -## Attributes - -- Configs: - - [ ] βœ… Recommended - - [x] πŸ”’ Strict -- [ ] πŸ”§ Fixable -- [ ] πŸ’­ Requires type information diff --git a/packages/eslint-plugin/docs/rules/prefer-function-type.md b/packages/eslint-plugin/docs/rules/prefer-function-type.md index 1025833031f..11096a44a11 100644 --- a/packages/eslint-plugin/docs/rules/prefer-function-type.md +++ b/packages/eslint-plugin/docs/rules/prefer-function-type.md @@ -98,11 +98,3 @@ If you specifically want to use an interface or type literal with a single call ## Further Reading - TSLint: [`callable-types`](https://palantir.github.io/tslint/rules/callable-types/) - -## Attributes - -- Configs: - - [ ] βœ… Recommended - - [x] πŸ”’ Strict -- [x] πŸ”§ Fixable -- [ ] πŸ’­ Requires type information diff --git a/packages/eslint-plugin/docs/rules/prefer-includes.md b/packages/eslint-plugin/docs/rules/prefer-includes.md index d9e355ddb63..448d6bef4a3 100644 --- a/packages/eslint-plugin/docs/rules/prefer-includes.md +++ b/packages/eslint-plugin/docs/rules/prefer-includes.md @@ -86,11 +86,3 @@ 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. - -## Attributes - -- Configs: - - [ ] βœ… Recommended - - [x] πŸ”’ Strict -- [x] πŸ”§ Fixable -- [x] πŸ’­ Requires type information diff --git a/packages/eslint-plugin/docs/rules/prefer-literal-enum-member.md b/packages/eslint-plugin/docs/rules/prefer-literal-enum-member.md index cec4e1f301e..4f4db49cb62 100644 --- a/packages/eslint-plugin/docs/rules/prefer-literal-enum-member.md +++ b/packages/eslint-plugin/docs/rules/prefer-literal-enum-member.md @@ -96,11 +96,3 @@ enum Foo { ## When Not To Use It If you want use anything other than simple literals as an enum value. - -## Attributes - -- Configs: - - [ ] βœ… Recommended - - [x] πŸ”’ Strict -- [ ] πŸ”§ Fixable -- [ ] πŸ’­ Requires type information diff --git a/packages/eslint-plugin/docs/rules/prefer-namespace-keyword.md b/packages/eslint-plugin/docs/rules/prefer-namespace-keyword.md index a801d1f6ba3..ab66de0884f 100644 --- a/packages/eslint-plugin/docs/rules/prefer-namespace-keyword.md +++ b/packages/eslint-plugin/docs/rules/prefer-namespace-keyword.md @@ -35,11 +35,3 @@ This rule is not configurable. ## Related To - TSLint: [no-internal-module](https://palantir.github.io/tslint/rules/no-internal-module/) - -## Attributes - -- Configs: - - [x] βœ… Recommended - - [x] πŸ”’ Strict -- [x] πŸ”§ Fixable -- [ ] πŸ’­ Requires type information diff --git a/packages/eslint-plugin/docs/rules/prefer-nullish-coalescing.md b/packages/eslint-plugin/docs/rules/prefer-nullish-coalescing.md index 4f9bf819ec6..9b1dfe98820 100644 --- a/packages/eslint-plugin/docs/rules/prefer-nullish-coalescing.md +++ b/packages/eslint-plugin/docs/rules/prefer-nullish-coalescing.md @@ -141,11 +141,3 @@ If you are not using TypeScript 3.7 (or greater), then you will not be able to u - [TypeScript 3.7 Release Notes](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-7.html) - [Nullish Coalescing Operator Proposal](https://github.com/tc39/proposal-nullish-coalescing/) - -## Attributes - -- Configs: - - [ ] βœ… Recommended - - [x] πŸ”’ Strict -- [ ] πŸ”§ Fixable -- [x] πŸ’­ Requires type information diff --git a/packages/eslint-plugin/docs/rules/prefer-optional-chain.md b/packages/eslint-plugin/docs/rules/prefer-optional-chain.md index 9b6d3db57dc..ce48aa9ceee 100644 --- a/packages/eslint-plugin/docs/rules/prefer-optional-chain.md +++ b/packages/eslint-plugin/docs/rules/prefer-optional-chain.md @@ -106,11 +106,3 @@ If you are not using TypeScript 3.7 (or greater), then you will not be able to u - [TypeScript 3.7 Release Notes](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-7.html) - [Optional Chaining Proposal](https://github.com/tc39/proposal-optional-chaining/) - -## Attributes - -- Configs: - - [ ] βœ… Recommended - - [x] πŸ”’ Strict -- [ ] πŸ”§ Fixable -- [ ] πŸ’­ Requires type information 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 1500a084818..5ac98d6f043 100644 --- a/packages/eslint-plugin/docs/rules/prefer-readonly-parameter-types.md +++ b/packages/eslint-plugin/docs/rules/prefer-readonly-parameter-types.md @@ -277,11 +277,3 @@ type MyType = { }; function foo(arg: MyType) {} ``` - -## Attributes - -- Configs: - - [ ] βœ… Recommended - - [ ] πŸ”’ Strict -- [ ] πŸ”§ Fixable -- [x] πŸ’­ Requires type information diff --git a/packages/eslint-plugin/docs/rules/prefer-readonly.md b/packages/eslint-plugin/docs/rules/prefer-readonly.md index b5b7b006f4b..22d7721cc8e 100644 --- a/packages/eslint-plugin/docs/rules/prefer-readonly.md +++ b/packages/eslint-plugin/docs/rules/prefer-readonly.md @@ -89,11 +89,3 @@ class Container { ## Related To - TSLint: ['prefer-readonly'](https://palantir.github.io/tslint/rules/prefer-readonly) - -## Attributes - -- Configs: - - [ ] βœ… Recommended - - [ ] πŸ”’ Strict -- [x] πŸ”§ Fixable -- [x] πŸ’­ Requires type information 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 af69b9eaf22..16a1046a24d 100644 --- a/packages/eslint-plugin/docs/rules/prefer-reduce-type-parameter.md +++ b/packages/eslint-plugin/docs/rules/prefer-reduce-type-parameter.md @@ -67,11 +67,3 @@ 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. - -## Attributes - -- Configs: - - [ ] βœ… Recommended - - [x] πŸ”’ Strict -- [x] πŸ”§ Fixable -- [x] πŸ’­ Requires type information diff --git a/packages/eslint-plugin/docs/rules/prefer-regexp-exec.md b/packages/eslint-plugin/docs/rules/prefer-regexp-exec.md index 40a31bd877d..7c7756646b9 100644 --- a/packages/eslint-plugin/docs/rules/prefer-regexp-exec.md +++ b/packages/eslint-plugin/docs/rules/prefer-regexp-exec.md @@ -58,11 +58,3 @@ 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. - -## Attributes - -- Configs: - - [ ] βœ… Recommended - - [ ] πŸ”’ Strict -- [x] πŸ”§ Fixable -- [x] πŸ’­ Requires type information 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 590034b3e8b..2ec74834012 100644 --- a/packages/eslint-plugin/docs/rules/prefer-return-this-type.md +++ b/packages/eslint-plugin/docs/rules/prefer-return-this-type.md @@ -109,11 +109,3 @@ 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. - -## Attributes - -- Configs: - - [ ] βœ… Recommended - - [x] πŸ”’ Strict -- [x] πŸ”§ Fixable -- [x] πŸ’­ Requires type information 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 83b56e03187..c103769e1ef 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 @@ -61,11 +61,3 @@ This rule is not configurable. ## When Not To Use It If you don't mind that style, you can turn this rule off safely. - -## Attributes - -- Configs: - - [ ] βœ… Recommended - - [x] πŸ”’ Strict -- [x] πŸ”§ Fixable -- [x] πŸ’­ Requires type information 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 b226e13833a..bf96eb8fa9a 100644 --- a/packages/eslint-plugin/docs/rules/prefer-ts-expect-error.md +++ b/packages/eslint-plugin/docs/rules/prefer-ts-expect-error.md @@ -82,11 +82,3 @@ If you are **NOT** using TypeScript 3.9 (or greater), then you will not be able ## Further Reading - [Original Implementing PR](https://github.com/microsoft/TypeScript/pull/36014) - -## Attributes - -- Configs: - - [ ] βœ… Recommended - - [x] πŸ”’ Strict -- [x] πŸ”§ Fixable -- [ ] πŸ’­ Requires type information diff --git a/packages/eslint-plugin/docs/rules/promise-function-async.md b/packages/eslint-plugin/docs/rules/promise-function-async.md index 236d5a59a6d..8506b9f4e19 100644 --- a/packages/eslint-plugin/docs/rules/promise-function-async.md +++ b/packages/eslint-plugin/docs/rules/promise-function-async.md @@ -69,11 +69,3 @@ In addition, each of the following properties may be provided, and default to `t ## Related To - TSLint: [promise-function-async](https://palantir.github.io/tslint/rules/promise-function-async) - -## Attributes - -- Configs: - - [ ] βœ… Recommended - - [ ] πŸ”’ Strict -- [x] πŸ”§ Fixable -- [x] πŸ’­ Requires type information diff --git a/packages/eslint-plugin/docs/rules/quotes.md b/packages/eslint-plugin/docs/rules/quotes.md index 44dd33b752e..1e3f6d32363 100644 --- a/packages/eslint-plugin/docs/rules/quotes.md +++ b/packages/eslint-plugin/docs/rules/quotes.md @@ -26,11 +26,3 @@ 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) - -## Attributes - -- Configs: - - [ ] βœ… Recommended - - [ ] πŸ”’ Strict -- [x] πŸ”§ Fixable -- [ ] πŸ’­ Requires type information 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 74d1a8dc4fb..23694f06d6a 100644 --- a/packages/eslint-plugin/docs/rules/require-array-sort-compare.md +++ b/packages/eslint-plugin/docs/rules/require-array-sort-compare.md @@ -97,11 +97,3 @@ const three = '3'; ## When Not To Use It If you understand the language specification enough, you can turn this rule off safely. - -## Attributes - -- Configs: - - [ ] βœ… Recommended - - [ ] πŸ”’ Strict -- [ ] πŸ”§ Fixable -- [x] πŸ’­ Requires type information diff --git a/packages/eslint-plugin/docs/rules/require-await.md b/packages/eslint-plugin/docs/rules/require-await.md index c9c29c31668..f4ac8cf5676 100644 --- a/packages/eslint-plugin/docs/rules/require-await.md +++ b/packages/eslint-plugin/docs/rules/require-await.md @@ -36,11 +36,3 @@ See [`eslint/require-await` options](https://eslint.org/docs/rules/require-await Taken with ❀️ [from ESLint core](https://github.com/eslint/eslint/blob/main/docs/rules/require-await.md) - -## Attributes - -- Configs: - - [x] βœ… Recommended - - [x] πŸ”’ Strict -- [ ] πŸ”§ Fixable -- [x] πŸ’­ Requires type information diff --git a/packages/eslint-plugin/docs/rules/restrict-plus-operands.md b/packages/eslint-plugin/docs/rules/restrict-plus-operands.md index 24b2a9ccd1c..79e10f912c3 100644 --- a/packages/eslint-plugin/docs/rules/restrict-plus-operands.md +++ b/packages/eslint-plugin/docs/rules/restrict-plus-operands.md @@ -104,11 +104,3 @@ var fn = (a: any, b: number) => a + b; ## Related To - TSLint: [restrict-plus-operands](https://palantir.github.io/tslint/rules/restrict-plus-operands/) - -## Attributes - -- Configs: - - [x] βœ… Recommended - - [x] πŸ”’ Strict -- [ ] πŸ”§ Fixable -- [x] πŸ’­ Requires type information diff --git a/packages/eslint-plugin/docs/rules/restrict-template-expressions.md b/packages/eslint-plugin/docs/rules/restrict-template-expressions.md index 0675452fce7..59c507f167e 100644 --- a/packages/eslint-plugin/docs/rules/restrict-template-expressions.md +++ b/packages/eslint-plugin/docs/rules/restrict-template-expressions.md @@ -108,11 +108,3 @@ const msg1 = `arg = ${arg}`; const arg = /foo/; const msg1 = `arg = ${arg}`; ``` - -## Attributes - -- Configs: - - [x] βœ… Recommended - - [x] πŸ”’ Strict -- [ ] πŸ”§ Fixable -- [x] πŸ’­ Requires type information diff --git a/packages/eslint-plugin/docs/rules/return-await.md b/packages/eslint-plugin/docs/rules/return-await.md index 8d4e97298da..20e99158dff 100644 --- a/packages/eslint-plugin/docs/rules/return-await.md +++ b/packages/eslint-plugin/docs/rules/return-await.md @@ -220,11 +220,3 @@ async function validNever3() { return 'value'; } ``` - -## Attributes - -- Configs: - - [ ] βœ… Recommended - - [ ] πŸ”’ Strict -- [x] πŸ”§ Fixable -- [x] πŸ’­ Requires type information diff --git a/packages/eslint-plugin/docs/rules/semi.md b/packages/eslint-plugin/docs/rules/semi.md index 1dd1306626c..307637c7168 100644 --- a/packages/eslint-plugin/docs/rules/semi.md +++ b/packages/eslint-plugin/docs/rules/semi.md @@ -30,11 +30,3 @@ 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) - -## Attributes - -- Configs: - - [ ] βœ… Recommended - - [ ] πŸ”’ Strict -- [x] πŸ”§ Fixable -- [ ] πŸ’­ Requires type information 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 848aa71d18b..a7444659ee3 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 @@ -151,11 +151,3 @@ The ordering of groups is determined by this option. - `tuple` - Tuple types (`[A, B, C]`) - `union` - Union types (`A | B`) - `nullish` - `null` and `undefined` - -## Attributes - -- Configs: - - [ ] βœ… Recommended - - [ ] πŸ”’ Strict -- [x] πŸ”§ Fixable -- [ ] πŸ’­ Requires type information diff --git a/packages/eslint-plugin/docs/rules/space-before-blocks.md b/packages/eslint-plugin/docs/rules/space-before-blocks.md index dce543bbf21..5ff10537795 100644 --- a/packages/eslint-plugin/docs/rules/space-before-blocks.md +++ b/packages/eslint-plugin/docs/rules/space-before-blocks.md @@ -52,11 +52,3 @@ See [`eslint/space-before-blocks` options](https://eslint.org/docs/rules/space-b Taken with ❀️ [from ESLint core](https://github.com/eslint/eslint/blob/master/docs/rules/space-before-blocks.md) - -## Attributes - -- Configs: - - [ ] βœ… Recommended - - [ ] πŸ”’ Strict -- [x] πŸ”§ Fixable -- [ ] πŸ’­ Requires type information 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 88f6d5d4c99..4664dd4c6a5 100644 --- a/packages/eslint-plugin/docs/rules/space-before-function-paren.md +++ b/packages/eslint-plugin/docs/rules/space-before-function-paren.md @@ -26,11 +26,3 @@ See [`eslint/space-before-function-paren` options](https://eslint.org/docs/rules Taken with ❀️ [from ESLint core](https://github.com/eslint/eslint/blob/main/docs/rules/space-before-function-paren.md) - -## Attributes - -- Configs: - - [ ] βœ… Recommended - - [ ] πŸ”’ Strict -- [x] πŸ”§ Fixable -- [ ] πŸ’­ Requires type information diff --git a/packages/eslint-plugin/docs/rules/space-infix-ops.md b/packages/eslint-plugin/docs/rules/space-infix-ops.md index 96d2a111eb5..afcb5de8e78 100644 --- a/packages/eslint-plugin/docs/rules/space-infix-ops.md +++ b/packages/eslint-plugin/docs/rules/space-infix-ops.md @@ -30,11 +30,3 @@ See [`eslint/space-infix-ops` options](https://eslint.org/docs/rules/space-infix Taken with ❀️ [from ESLint core](https://github.com/eslint/eslint/blob/main/docs/rules/space-infix-ops.md) - -## Attributes - -- Configs: - - [ ] βœ… Recommended - - [ ] πŸ”’ Strict -- [x] πŸ”§ Fixable -- [ ] πŸ’­ Requires type information diff --git a/packages/eslint-plugin/docs/rules/strict-boolean-expressions.md b/packages/eslint-plugin/docs/rules/strict-boolean-expressions.md index 357c2360a1f..ef00a3a9eb6 100644 --- a/packages/eslint-plugin/docs/rules/strict-boolean-expressions.md +++ b/packages/eslint-plugin/docs/rules/strict-boolean-expressions.md @@ -197,11 +197,3 @@ This rule provides following fixes and suggestions for particular types in boole - TSLint: [strict-boolean-expressions](https://palantir.github.io/tslint/rules/strict-boolean-expressions) - [no-unnecessary-condition](./no-unnecessary-condition.md) - Similar rule which reports always-truthy and always-falsy values in conditions - -## Attributes - -- Configs: - - [ ] βœ… Recommended - - [ ] πŸ”’ Strict -- [x] πŸ”§ Fixable -- [x] πŸ’­ Requires type information diff --git a/packages/eslint-plugin/docs/rules/switch-exhaustiveness-check.md b/packages/eslint-plugin/docs/rules/switch-exhaustiveness-check.md index ac9d11f659b..7e6126830d4 100644 --- a/packages/eslint-plugin/docs/rules/switch-exhaustiveness-check.md +++ b/packages/eslint-plugin/docs/rules/switch-exhaustiveness-check.md @@ -122,11 +122,3 @@ 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. - -## Attributes - -- Configs: - - [ ] βœ… Recommended - - [ ] πŸ”’ Strict -- [ ] πŸ”§ Fixable -- [x] πŸ’­ Requires type information diff --git a/packages/eslint-plugin/docs/rules/triple-slash-reference.md b/packages/eslint-plugin/docs/rules/triple-slash-reference.md index 4f6ef5509ef..c94f0a56451 100644 --- a/packages/eslint-plugin/docs/rules/triple-slash-reference.md +++ b/packages/eslint-plugin/docs/rules/triple-slash-reference.md @@ -72,11 +72,3 @@ If you want to use all flavors of triple slash reference directives. - TSLint: [no-reference](http://palantir.github.io/tslint/rules/no-reference/) - TSLint: [no-reference-import](https://palantir.github.io/tslint/rules/no-reference-import/) - -## Attributes - -- Configs: - - [x] βœ… Recommended - - [x] πŸ”’ Strict -- [ ] πŸ”§ Fixable -- [ ] πŸ’­ Requires type information diff --git a/packages/eslint-plugin/docs/rules/type-annotation-spacing.md b/packages/eslint-plugin/docs/rules/type-annotation-spacing.md index f7df7ee1516..3509b888419 100644 --- a/packages/eslint-plugin/docs/rules/type-annotation-spacing.md +++ b/packages/eslint-plugin/docs/rules/type-annotation-spacing.md @@ -311,11 +311,3 @@ If you don't want to enforce spacing for your type annotations, you can safely t ## Related To - TSLint: [`typedef-whitespace`](https://palantir.github.io/tslint/rules/typedef-whitespace/) - -## Attributes - -- Configs: - - [ ] βœ… Recommended - - [ ] πŸ”’ Strict -- [x] πŸ”§ Fixable -- [ ] πŸ’­ Requires type information diff --git a/packages/eslint-plugin/docs/rules/typedef.md b/packages/eslint-plugin/docs/rules/typedef.md index 9bc92f02770..01ae691437d 100644 --- a/packages/eslint-plugin/docs/rules/typedef.md +++ b/packages/eslint-plugin/docs/rules/typedef.md @@ -340,11 +340,3 @@ In general, if you do not consider the cost of writing unnecessary type annotati ## Related To - TSLint: [`typedef`](https://palantir.github.io/tslint/rules/typedef) - -## Attributes - -- Configs: - - [ ] βœ… Recommended - - [ ] πŸ”’ Strict -- [ ] πŸ”§ Fixable -- [ ] πŸ’­ Requires type information diff --git a/packages/eslint-plugin/docs/rules/unbound-method.md b/packages/eslint-plugin/docs/rules/unbound-method.md index cef79e42601..58a98c79051 100644 --- a/packages/eslint-plugin/docs/rules/unbound-method.md +++ b/packages/eslint-plugin/docs/rules/unbound-method.md @@ -118,11 +118,3 @@ If you're wanting to use `toBeCalled` and similar matches in `jest` tests, you c ## Related To - TSLint: [no-unbound-method](https://palantir.github.io/tslint/rules/no-unbound-method/) - -## Attributes - -- Configs: - - [x] βœ… Recommended - - [x] πŸ”’ Strict -- [ ] πŸ”§ Fixable -- [x] πŸ’­ Requires type information diff --git a/packages/eslint-plugin/docs/rules/unified-signatures.md b/packages/eslint-plugin/docs/rules/unified-signatures.md index 6818b686f8b..0f385d9fe61 100644 --- a/packages/eslint-plugin/docs/rules/unified-signatures.md +++ b/packages/eslint-plugin/docs/rules/unified-signatures.md @@ -79,11 +79,3 @@ function f(...a: string[]): void; ## Related To - TSLint: [`unified-signatures`](https://palantir.github.io/tslint/rules/unified-signatures/) - -## Attributes - -- Configs: - - [ ] βœ… Recommended - - [x] πŸ”’ Strict -- [ ] πŸ”§ Fixable -- [ ] πŸ’­ Requires type information diff --git a/packages/eslint-plugin/package.json b/packages/eslint-plugin/package.json index e06188317de..c833b492662 100644 --- a/packages/eslint-plugin/package.json +++ b/packages/eslint-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@typescript-eslint/eslint-plugin", - "version": "5.27.0", + "version": "5.27.1", "description": "TypeScript plugin for ESLint", "keywords": [ "eslint", @@ -44,9 +44,9 @@ "typecheck": "tsc -p tsconfig.json --noEmit" }, "dependencies": { - "@typescript-eslint/scope-manager": "5.27.0", - "@typescript-eslint/type-utils": "5.27.0", - "@typescript-eslint/utils": "5.27.0", + "@typescript-eslint/scope-manager": "5.27.1", + "@typescript-eslint/type-utils": "5.27.1", + "@typescript-eslint/utils": "5.27.1", "debug": "^4.3.4", "functional-red-black-tree": "^1.0.1", "ignore": "^5.2.0", diff --git a/packages/eslint-plugin/src/rules/space-infix-ops.ts b/packages/eslint-plugin/src/rules/space-infix-ops.ts index cd2be0409bc..a43ba5c30ab 100644 --- a/packages/eslint-plugin/src/rules/space-infix-ops.ts +++ b/packages/eslint-plugin/src/rules/space-infix-ops.ts @@ -124,8 +124,8 @@ export default util.createRule({ function checkForPropertyDefinitionAssignmentSpace( node: TSESTree.PropertyDefinition, ): void { - const leftNode = sourceCode.getTokenByRangeStart( - node.typeAnnotation?.range[0] ?? node.range[0], + const leftNode = sourceCode.getLastToken( + node.typeAnnotation ?? node.key, )!; const rightNode = node.value ? sourceCode.getTokenByRangeStart(node.value.range[0]) @@ -174,27 +174,20 @@ export default util.createRule({ function checkForTypeAliasAssignment( node: TSESTree.TSTypeAliasDeclaration, ): void { - const leftNode = sourceCode.getTokenByRangeStart(node.id.range[0])!; - const rightNode = sourceCode.getTokenByRangeStart( - node.typeAnnotation.range[0], - ); + const leftNode = sourceCode.getLastToken(node.typeParameters ?? node.id)!; + const rightNode = sourceCode.getFirstToken(node.typeAnnotation); checkAndReportAssignmentSpace(node, leftNode, rightNode); } function checkForTypeConditional(node: TSESTree.TSConditionalType): void { - const extendsTypeNode = sourceCode.getTokenByRangeStart( - node.extendsType.range[0], - )!; - const trueTypeNode = sourceCode.getTokenByRangeStart( - node.trueType.range[0], - )!; - const falseTypeNode = sourceCode.getTokenByRangeStart( - node.falseType.range[0], - ); + const extendsLastToken = sourceCode.getLastToken(node.extendsType)!; + const trueFirstToken = sourceCode.getFirstToken(node.trueType)!; + const trueLastToken = sourceCode.getLastToken(node.trueType)!; + const falseFirstToken = sourceCode.getFirstToken(node.falseType)!; - checkAndReportAssignmentSpace(node, extendsTypeNode, trueTypeNode); - checkAndReportAssignmentSpace(node, trueTypeNode, falseTypeNode); + checkAndReportAssignmentSpace(node, extendsLastToken, trueFirstToken); + checkAndReportAssignmentSpace(node, trueLastToken, falseFirstToken); } return { diff --git a/packages/eslint-plugin/tests/docs.test.ts b/packages/eslint-plugin/tests/docs.test.ts index c3564a56674..efb5edd4f2b 100644 --- a/packages/eslint-plugin/tests/docs.test.ts +++ b/packages/eslint-plugin/tests/docs.test.ts @@ -1,4 +1,3 @@ -import { TSESLint } from '@typescript-eslint/utils'; import fs from 'fs'; import { JSONSchema4 } from 'json-schema'; import path from 'path'; @@ -174,38 +173,6 @@ describe('Validating rule docs', () => { text: 'This rule is not configurable.', }); }); - - it(`Attributes in ${ruleName}.md must match the metadata`, () => { - const tokens = parseMarkdownFile(filePath); - - // Verify attributes header exists - const attributesHeaderIndex = tokens.findIndex( - token => tokenIs(token, 'heading') && token.text === 'Attributes', - ); - expect(attributesHeaderIndex).toBeGreaterThan(-1); - - // Verify attributes content... - const attributesList = tokenAs( - tokens[attributesHeaderIndex + 1], - 'list', - ); - // ...starting with configs - const configs = attributesList.items[0]; - expect(configs.text).toMatch(/Configs:\n/); - const configsList = tokenAs(configs.tokens[1], 'list'); - const recommended = configsList.items[0]; - expect(shouldBeRecommended(rule.meta.docs)).toBe(recommended.checked); - const strict = configsList.items[1]; - expect(shouldBeStrict(rule.meta.docs)).toBe(strict.checked); - - // Verify other attributes - const fixable = attributesList.items[1]; - expect(rule.meta.fixable !== undefined).toBe(fixable.checked); - const requiresTypeChecking = attributesList.items[2]; - expect(rule.meta.docs?.requiresTypeChecking === true).toBe( - requiresTypeChecking.checked, - ); - }); }); } }); @@ -324,13 +291,3 @@ describe.each([ }); } }); - -function shouldBeRecommended( - docs: TSESLint.RuleMetaDataDocs | undefined, -): boolean { - return docs?.recommended !== false && docs?.recommended !== 'strict'; -} - -function shouldBeStrict(docs: TSESLint.RuleMetaDataDocs | undefined): boolean { - return docs?.recommended !== false; -} diff --git a/packages/eslint-plugin/tests/rules/space-infix-ops.test.ts b/packages/eslint-plugin/tests/rules/space-infix-ops.test.ts index 26e62323167..e8b5fa2bc93 100644 --- a/packages/eslint-plugin/tests/rules/space-infix-ops.test.ts +++ b/packages/eslint-plugin/tests/rules/space-infix-ops.test.ts @@ -151,6 +151,20 @@ ruleTester.run('space-infix-ops', rule, { } `, }, + { + code: ` + class Test { + value: { prop: string }[] = []; + } + `, + }, + { + code: ` + class Test { + value:{prop:string}[] = []; + } + `, + }, { code: ` type Test = @@ -221,6 +235,18 @@ ruleTester.run('space-infix-ops', rule, { & (((() => void))); `, }, + { + code: 'type Baz = T extends (bar: string) => void ? string : number', + }, + { + code: 'type Foo = T extends { bar: string } ? string : number', + }, + { + code: 'type Baz = T extends (bar: string) => void ? { x: string } : { y: string }', + }, + { + code: 'type Foo any> = T;', + }, { code: ` interface Test { @@ -473,6 +499,44 @@ ruleTester.run('space-infix-ops', rule, { }, ], }, + { + code: ` + class Test { + value: { prop: string }[]= []; + } + `, + output: ` + class Test { + value: { prop: string }[] = []; + } + `, + errors: [ + { + messageId: 'missingSpace', + column: 36, + line: 3, + }, + ], + }, + { + code: ` + class Test { + value: { prop: string }[] =[]; + } + `, + output: ` + class Test { + value: { prop: string }[] = []; + } + `, + errors: [ + { + messageId: 'missingSpace', + column: 37, + line: 3, + }, + ], + }, { code: ` type Test= string | number; diff --git a/packages/experimental-utils/CHANGELOG.md b/packages/experimental-utils/CHANGELOG.md index c5fa159a226..b3d9d9d767e 100644 --- a/packages/experimental-utils/CHANGELOG.md +++ b/packages/experimental-utils/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [5.27.1](https://github.com/typescript-eslint/typescript-eslint/compare/v5.27.0...v5.27.1) (2022-06-06) + +**Note:** Version bump only for package @typescript-eslint/experimental-utils + + + + + # [5.27.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.26.0...v5.27.0) (2022-05-30) diff --git a/packages/experimental-utils/package.json b/packages/experimental-utils/package.json index db82d23cc89..e37d30782a5 100644 --- a/packages/experimental-utils/package.json +++ b/packages/experimental-utils/package.json @@ -1,6 +1,6 @@ { "name": "@typescript-eslint/experimental-utils", - "version": "5.27.0", + "version": "5.27.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.27.0" + "@typescript-eslint/utils": "5.27.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 ef72bc8b89c..4785b23ee9d 100644 --- a/packages/parser/CHANGELOG.md +++ b/packages/parser/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [5.27.1](https://github.com/typescript-eslint/typescript-eslint/compare/v5.27.0...v5.27.1) (2022-06-06) + +**Note:** Version bump only for package @typescript-eslint/parser + + + + + # [5.27.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.26.0...v5.27.0) (2022-05-30) diff --git a/packages/parser/package.json b/packages/parser/package.json index 7d9e0297c1c..acf1c65fe71 100644 --- a/packages/parser/package.json +++ b/packages/parser/package.json @@ -1,6 +1,6 @@ { "name": "@typescript-eslint/parser", - "version": "5.27.0", + "version": "5.27.1", "description": "An ESLint custom parser which leverages TypeScript ESTree", "main": "dist/index.js", "types": "dist/index.d.ts", @@ -44,9 +44,9 @@ "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" }, "dependencies": { - "@typescript-eslint/scope-manager": "5.27.0", - "@typescript-eslint/types": "5.27.0", - "@typescript-eslint/typescript-estree": "5.27.0", + "@typescript-eslint/scope-manager": "5.27.1", + "@typescript-eslint/types": "5.27.1", + "@typescript-eslint/typescript-estree": "5.27.1", "debug": "^4.3.4" }, "devDependencies": { diff --git a/packages/scope-manager/CHANGELOG.md b/packages/scope-manager/CHANGELOG.md index 06dddef47f6..51a94bcea8a 100644 --- a/packages/scope-manager/CHANGELOG.md +++ b/packages/scope-manager/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [5.27.1](https://github.com/typescript-eslint/typescript-eslint/compare/v5.27.0...v5.27.1) (2022-06-06) + +**Note:** Version bump only for package @typescript-eslint/scope-manager + + + + + # [5.27.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.26.0...v5.27.0) (2022-05-30) diff --git a/packages/scope-manager/package.json b/packages/scope-manager/package.json index 4475a4c9c12..7326b5d8dfe 100644 --- a/packages/scope-manager/package.json +++ b/packages/scope-manager/package.json @@ -1,6 +1,6 @@ { "name": "@typescript-eslint/scope-manager", - "version": "5.27.0", + "version": "5.27.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.27.0", - "@typescript-eslint/visitor-keys": "5.27.0" + "@typescript-eslint/types": "5.27.1", + "@typescript-eslint/visitor-keys": "5.27.1" }, "devDependencies": { "@types/glob": "*", - "@typescript-eslint/typescript-estree": "5.27.0", + "@typescript-eslint/typescript-estree": "5.27.1", "glob": "*", "jest-specific-snapshot": "*", "make-dir": "*", diff --git a/packages/shared-fixtures/CHANGELOG.md b/packages/shared-fixtures/CHANGELOG.md index a34869891da..469780eb7d8 100644 --- a/packages/shared-fixtures/CHANGELOG.md +++ b/packages/shared-fixtures/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [5.27.1](https://github.com/typescript-eslint/typescript-eslint/compare/v5.27.0...v5.27.1) (2022-06-06) + +**Note:** Version bump only for package @typescript-eslint/shared-fixtures + + + + + # [5.27.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.26.0...v5.27.0) (2022-05-30) diff --git a/packages/shared-fixtures/package.json b/packages/shared-fixtures/package.json index 909d39033a4..4e466a4fc88 100644 --- a/packages/shared-fixtures/package.json +++ b/packages/shared-fixtures/package.json @@ -1,5 +1,5 @@ { "name": "@typescript-eslint/shared-fixtures", - "version": "5.27.0", + "version": "5.27.1", "private": true } diff --git a/packages/type-utils/CHANGELOG.md b/packages/type-utils/CHANGELOG.md index e9238660efe..def402e214b 100644 --- a/packages/type-utils/CHANGELOG.md +++ b/packages/type-utils/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [5.27.1](https://github.com/typescript-eslint/typescript-eslint/compare/v5.27.0...v5.27.1) (2022-06-06) + +**Note:** Version bump only for package @typescript-eslint/type-utils + + + + + # [5.27.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.26.0...v5.27.0) (2022-05-30) diff --git a/packages/type-utils/package.json b/packages/type-utils/package.json index a2854d3d34f..bba58e43f79 100644 --- a/packages/type-utils/package.json +++ b/packages/type-utils/package.json @@ -1,6 +1,6 @@ { "name": "@typescript-eslint/type-utils", - "version": "5.27.0", + "version": "5.27.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.27.0", + "@typescript-eslint/utils": "5.27.1", "debug": "^4.3.4", "tsutils": "^3.21.0" }, "devDependencies": { - "@typescript-eslint/parser": "5.27.0", + "@typescript-eslint/parser": "5.27.1", "typescript": "*" }, "peerDependencies": { diff --git a/packages/types/CHANGELOG.md b/packages/types/CHANGELOG.md index 73678dd4959..aed8d0b7864 100644 --- a/packages/types/CHANGELOG.md +++ b/packages/types/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [5.27.1](https://github.com/typescript-eslint/typescript-eslint/compare/v5.27.0...v5.27.1) (2022-06-06) + +**Note:** Version bump only for package @typescript-eslint/types + + + + + # [5.27.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.26.0...v5.27.0) (2022-05-30) diff --git a/packages/types/package.json b/packages/types/package.json index ca8fb4099b4..f48b090e6d1 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -1,6 +1,6 @@ { "name": "@typescript-eslint/types", - "version": "5.27.0", + "version": "5.27.1", "description": "Types for the TypeScript-ESTree AST spec", "keywords": [ "eslint", diff --git a/packages/typescript-estree/CHANGELOG.md b/packages/typescript-estree/CHANGELOG.md index 13bc5a35f5c..0375965a65c 100644 --- a/packages/typescript-estree/CHANGELOG.md +++ b/packages/typescript-estree/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [5.27.1](https://github.com/typescript-eslint/typescript-eslint/compare/v5.27.0...v5.27.1) (2022-06-06) + +**Note:** Version bump only for package @typescript-eslint/typescript-estree + + + + + # [5.27.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.26.0...v5.27.0) (2022-05-30) diff --git a/packages/typescript-estree/package.json b/packages/typescript-estree/package.json index 8c8fc42c13f..15bccb08d03 100644 --- a/packages/typescript-estree/package.json +++ b/packages/typescript-estree/package.json @@ -1,6 +1,6 @@ { "name": "@typescript-eslint/typescript-estree", - "version": "5.27.0", + "version": "5.27.1", "description": "A parser that converts TypeScript source code into an ESTree compatible form", "main": "dist/index.js", "types": "dist/index.d.ts", @@ -41,8 +41,8 @@ "typecheck": "tsc -p tsconfig.json --noEmit" }, "dependencies": { - "@typescript-eslint/types": "5.27.0", - "@typescript-eslint/visitor-keys": "5.27.0", + "@typescript-eslint/types": "5.27.1", + "@typescript-eslint/visitor-keys": "5.27.1", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -58,7 +58,7 @@ "@types/is-glob": "*", "@types/semver": "*", "@types/tmp": "*", - "@typescript-eslint/shared-fixtures": "5.27.0", + "@typescript-eslint/shared-fixtures": "5.27.1", "glob": "*", "jest-specific-snapshot": "*", "make-dir": "*", diff --git a/packages/utils/CHANGELOG.md b/packages/utils/CHANGELOG.md index ad1722e1ce3..e9100964449 100644 --- a/packages/utils/CHANGELOG.md +++ b/packages/utils/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [5.27.1](https://github.com/typescript-eslint/typescript-eslint/compare/v5.27.0...v5.27.1) (2022-06-06) + +**Note:** Version bump only for package @typescript-eslint/utils + + + + + # [5.27.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.26.0...v5.27.0) (2022-05-30) diff --git a/packages/utils/package.json b/packages/utils/package.json index 2446bcf7dbd..b3b099ae1ab 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -1,6 +1,6 @@ { "name": "@typescript-eslint/utils", - "version": "5.27.0", + "version": "5.27.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.27.0", - "@typescript-eslint/types": "5.27.0", - "@typescript-eslint/typescript-estree": "5.27.0", + "@typescript-eslint/scope-manager": "5.27.1", + "@typescript-eslint/types": "5.27.1", + "@typescript-eslint/typescript-estree": "5.27.1", "eslint-scope": "^5.1.1", "eslint-utils": "^3.0.0" }, diff --git a/packages/visitor-keys/CHANGELOG.md b/packages/visitor-keys/CHANGELOG.md index 26187611be1..3d024f5700b 100644 --- a/packages/visitor-keys/CHANGELOG.md +++ b/packages/visitor-keys/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [5.27.1](https://github.com/typescript-eslint/typescript-eslint/compare/v5.27.0...v5.27.1) (2022-06-06) + +**Note:** Version bump only for package @typescript-eslint/visitor-keys + + + + + # [5.27.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.26.0...v5.27.0) (2022-05-30) diff --git a/packages/visitor-keys/package.json b/packages/visitor-keys/package.json index fa44802f4d4..241e81c52e9 100644 --- a/packages/visitor-keys/package.json +++ b/packages/visitor-keys/package.json @@ -1,6 +1,6 @@ { "name": "@typescript-eslint/visitor-keys", - "version": "5.27.0", + "version": "5.27.1", "description": "Visitor keys used to help traverse the TypeScript-ESTree AST", "keywords": [ "eslint", @@ -38,7 +38,7 @@ "typecheck": "tsc -p tsconfig.json --noEmit" }, "dependencies": { - "@typescript-eslint/types": "5.27.0", + "@typescript-eslint/types": "5.27.1", "eslint-visitor-keys": "^3.3.0" }, "devDependencies": { diff --git a/packages/website-eslint/CHANGELOG.md b/packages/website-eslint/CHANGELOG.md index 44bb0b1b917..6d1f412f625 100644 --- a/packages/website-eslint/CHANGELOG.md +++ b/packages/website-eslint/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [5.27.1](https://github.com/typescript-eslint/typescript-eslint/compare/v5.27.0...v5.27.1) (2022-06-06) + +**Note:** Version bump only for package @typescript-eslint/website-eslint + + + + + # [5.27.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.26.0...v5.27.0) (2022-05-30) diff --git a/packages/website-eslint/package.json b/packages/website-eslint/package.json index eedef41c64b..0dfb42cabfd 100644 --- a/packages/website-eslint/package.json +++ b/packages/website-eslint/package.json @@ -1,6 +1,6 @@ { "name": "@typescript-eslint/website-eslint", - "version": "5.27.0", + "version": "5.27.1", "private": true, "description": "ESLint which works in browsers.", "engines": { @@ -16,21 +16,22 @@ "format": "prettier --write \"./**/*.{ts,mts,cts,tsx,js,mjs,cjs,jsx,json,md,css}\" --ignore-path ../../.prettierignore" }, "dependencies": { - "@typescript-eslint/types": "5.27.0", - "@typescript-eslint/utils": "5.27.0" + "@typescript-eslint/types": "5.27.1", + "@typescript-eslint/utils": "5.27.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.27.0", - "@typescript-eslint/parser": "5.27.0", - "@typescript-eslint/scope-manager": "5.27.0", - "@typescript-eslint/typescript-estree": "5.27.0", - "@typescript-eslint/visitor-keys": "5.27.0", + "@typescript-eslint/eslint-plugin": "5.27.1", + "@typescript-eslint/parser": "5.27.1", + "@typescript-eslint/scope-manager": "5.27.1", + "@typescript-eslint/typescript-estree": "5.27.1", + "@typescript-eslint/visitor-keys": "5.27.1", "eslint": "*", - "rollup": "^2.72.1", + "rollup": "^2.75.4", + "rollup-plugin-terser": "^7.0.2", "semver": "^7.3.7" } } diff --git a/packages/website-eslint/rollup.config.js b/packages/website-eslint/rollup.config.js index 2941ec568f6..4175b1e754e 100644 --- a/packages/website-eslint/rollup.config.js +++ b/packages/website-eslint/rollup.config.js @@ -1,6 +1,8 @@ import commonjs from '@rollup/plugin-commonjs'; import json from '@rollup/plugin-json'; import resolve from '@rollup/plugin-node-resolve'; +import { terser } from 'rollup-plugin-terser'; + const replace = require('./rollup-plugin/replace'); module.exports = { @@ -9,10 +11,14 @@ module.exports = { format: 'amd', interop: 'auto', freeze: false, + sourcemap: true, file: 'dist/index.js', }, external: ['vs/language/typescript/tsWorker'], plugins: [ + terser({ + keep_classnames: true, + }), replace({ // verbose: true, alias: [ diff --git a/packages/website/CHANGELOG.md b/packages/website/CHANGELOG.md index 54b171d6bae..2f7b8097edc 100644 --- a/packages/website/CHANGELOG.md +++ b/packages/website/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [5.27.1](https://github.com/typescript-eslint/typescript-eslint/compare/v5.27.0...v5.27.1) (2022-06-06) + +**Note:** Version bump only for package website + + + + + # [5.27.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.26.0...v5.27.0) (2022-05-30) diff --git a/packages/website/data/sponsors.json b/packages/website/data/sponsors.json index d9675b816b9..ff4ea8fa685 100644 --- a/packages/website/data/sponsors.json +++ b/packages/website/data/sponsors.json @@ -4,7 +4,7 @@ "image": "https://images.opencollective.com/nx/0efbe42/logo.png", "name": "Nx (by Nrwl)", "tier": "sponsor", - "totalDonations": 400000, + "totalDonations": 425000, "website": "https://nx.dev" }, { @@ -12,31 +12,31 @@ "image": "https://images.opencollective.com/eslint/96b09dc/logo.png", "name": "ESLint", "tier": "sponsor", - "totalDonations": 125000, + "totalDonations": 140000, "website": "https://eslint.org/" }, - { - "id": "Airbnb", - "image": "https://images.opencollective.com/airbnb/d327d66/logo.png", - "name": "Airbnb", - "tier": "sponsor", - "totalDonations": 110800, - "website": "https://www.airbnb.com/" - }, { "id": "Coinbase", "image": "https://images.opencollective.com/coinbase/a202856/logo.png", "name": "Coinbase", "tier": "sponsor", - "totalDonations": 110000, + "totalDonations": 120000, "website": "https://blog.coinbase.com/engineering-and-security/home" }, + { + "id": "Airbnb", + "image": "https://images.opencollective.com/airbnb/d327d66/logo.png", + "name": "Airbnb", + "tier": "sponsor", + "totalDonations": 115800, + "website": "https://www.airbnb.com/" + }, { "id": "n8n.io - n8n GmbH", "image": "https://images.opencollective.com/n8n/dca2f0c/logo.png", "name": "n8n.io - n8n GmbH", "tier": "sponsor", - "totalDonations": 85000, + "totalDonations": 90000, "website": "https://n8n.io" }, { @@ -47,6 +47,14 @@ "totalDonations": 80400, "website": "https://doberman.co" }, + { + "id": "GitBook", + "image": "https://images.opencollective.com/gitbook/d35a8e7/logo.png", + "name": "GitBook", + "tier": "sponsor", + "totalDonations": 60000, + "website": "https://www.gitbook.com" + }, { "id": "Future Processing", "image": "https://images.opencollective.com/future-processing/1410d26/logo.png", @@ -64,12 +72,12 @@ "website": "https://sentry.io/welcome/" }, { - "id": "GitBook", - "image": "https://images.opencollective.com/gitbook/d35a8e7/logo.png", - "name": "GitBook", + "id": "Codecademy", + "image": "https://images.opencollective.com/codecademy/d56a48d/logo.png", + "name": "Codecademy", "tier": "sponsor", "totalDonations": 50000, - "website": "https://www.gitbook.com" + "website": "https://codecademy.com" }, { "id": "Whitebox", @@ -79,14 +87,6 @@ "totalDonations": 40000, "website": "https://whitebox.com" }, - { - "id": "Codecademy", - "image": "https://images.opencollective.com/codecademy/d56a48d/logo.png", - "name": "Codecademy", - "tier": "sponsor", - "totalDonations": 40000, - "website": "https://codecademy.com" - }, { "id": "Monito", "image": "https://images.opencollective.com/monito/50fc878/logo.png", @@ -116,7 +116,7 @@ "image": "https://images.opencollective.com/storis/dfb0e13/logo.png", "name": "STORIS", "tier": "supporter", - "totalDonations": 18000, + "totalDonations": 19500, "website": "https://www.storis.com/" }, { @@ -124,7 +124,7 @@ "image": "https://images.opencollective.com/michael-ranciglio/avatar.png", "name": "Michael Ranciglio", "tier": "supporter", - "totalDonations": 15500 + "totalDonations": 16000 }, { "id": "Joe Alden", @@ -139,7 +139,7 @@ "image": "https://images.opencollective.com/blacksheepcode/976d69a/avatar.png", "name": "David Johnston", "tier": "contributor", - "totalDonations": 12000, + "totalDonations": 12500, "website": "https://blacksheepcode.com" }, { @@ -163,7 +163,7 @@ "image": "https://images.opencollective.com/tripwire/7599e30/logo.png", "name": "Tripwire, Inc.", "tier": "contributor", - "totalDonations": 7500, + "totalDonations": 8000, "website": "https://tripwire.com" }, { @@ -171,7 +171,7 @@ "image": "https://images.opencollective.com/evilmartians/707ab4d/logo.png", "name": "Evil Martians", "tier": "contributor", - "totalDonations": 7000, + "totalDonations": 7500, "website": "https://evilmartians.com/" }, { @@ -179,7 +179,7 @@ "image": "https://images.opencollective.com/balsa/77de498/logo.png", "name": "Balsa", "tier": "contributor", - "totalDonations": 7000, + "totalDonations": 7500, "website": "https://balsa.com" }, { @@ -187,7 +187,7 @@ "image": "https://images.opencollective.com/jeffrey-rennie/avatar.png", "name": "Jeffrey Rennie", "tier": "contributor", - "totalDonations": 6500 + "totalDonations": 7000 }, { "id": "Pete Gonzalez", @@ -218,15 +218,15 @@ "image": "https://images.opencollective.com/corellium/aa8c228/logo.png", "name": "Corellium", "tier": "contributor", - "totalDonations": 3600, + "totalDonations": 4200, "website": "https://www.corellium.com" }, { - "id": "MySportsInjury", - "image": "https://images.opencollective.com/my-sports-injury-ltd/518c583/logo.png", - "name": "MySportsInjury", + "id": "Alexey Berezin", + "image": "https://images.opencollective.com/beraliv/034d971/avatar.png", + "name": "Alexey Berezin", "tier": "contributor", - "totalDonations": 1500, - "website": "https://www.mysportsinjury.co.uk" + "totalDonations": 1000, + "website": "https://beraliv.dev" } ] diff --git a/packages/website/docusaurus.config.js b/packages/website/docusaurus.config.js index a06a8e0367d..e2d6411e793 100644 --- a/packages/website/docusaurus.config.js +++ b/packages/website/docusaurus.config.js @@ -1,193 +1,10 @@ -// @ts-check -// Note: type annotations allow type checking and IDEs autocompletion +'use strict'; -const remarkPlugins = [ - [require('@docusaurus/remark-plugin-npm2yarn'), { sync: true }], -]; +require('ts-node').register({ + scope: true, + scopeDir: __dirname, + swc: true, + transpileOnly: true, +}); -const beforeDefaultRemarkPlugins = [[require('remark-docusaurus-tabs'), {}]]; - -const githubUrl = 'https://github.com/typescript-eslint/typescript-eslint'; - -/** @type {import('@docusaurus/types').Config} */ -const config = { - title: 'TypeScript ESLint', - tagline: 'Tooling which enables ESLint to support TypeScript', - url: 'https://typescript-eslint.io', - baseUrl: '/', - onBrokenLinks: 'throw', - onBrokenMarkdownLinks: 'warn', // If Markdown link resolution fails, it will result in a broken link anyways - favicon: 'img/favicon.ico', - organizationName: 'typescript-eslint', - projectName: 'typescript-eslint', - clientModules: [require.resolve('./src/clientModules.js')], - presets: [ - [ - 'classic', - /** @type {import('@docusaurus/preset-classic').Options} */ - ({ - docs: { - id: 'rules-docs', - path: '../eslint-plugin/docs/rules', - sidebarPath: require.resolve('./sidebars/sidebar.rules.js'), - routeBasePath: 'rules', - editUrl: `${githubUrl}/edit/main/packages/website/`, - beforeDefaultRemarkPlugins, - remarkPlugins, - exclude: ['TEMPLATE.md'], - breadcrumbs: false, - }, - // TODO enable this - blog: false, - pages: { - beforeDefaultRemarkPlugins, - remarkPlugins, - }, - theme: { - customCss: require.resolve('./src/css/custom.css'), - }, - }), - ], - ], - plugins: [ - require.resolve('./webpack.plugin'), - [ - '@docusaurus/plugin-content-docs', - /** @type {import('@docusaurus/plugin-content-docs').Options} */ - ({ - id: 'base-docs', - path: '../../docs', - routeBasePath: 'docs', - sidebarPath: require.resolve('./sidebars/sidebar.base.js'), - editUrl: `${githubUrl}/edit/main/packages/website/`, - beforeDefaultRemarkPlugins, - remarkPlugins, - breadcrumbs: false, - }), - ], - ], - themeConfig: - /** @type {import('@docusaurus/theme-common').UserThemeConfig} */ - ({ - algolia: { - appId: 'BH4D9OD16A', - apiKey: '1ad6b47d4e742c4c0653877b5511c602', - indexName: 'typescript-eslint', - }, - metadata: [ - { name: 'msapplication-TileColor', content: '#443fd4' }, - { name: 'theme-color', content: '#443fd4' }, - ], - navbar: { - title: 'TypeScript ESLint', - // hideOnScroll: true, - logo: { - alt: 'TypeScript ESLint logo', - height: '32px', - src: 'img/logo.svg', - width: '32px', - }, - // style: 'primary', - items: [ - { - to: 'docs/', - activeBasePath: 'docs', - label: 'Getting started', - position: 'left', - }, - { - to: 'rules/', - activeBasePath: 'rules', - label: 'Rules', - position: 'left', - }, - { - to: 'play', - activeBasePath: 'play', - position: 'right', - label: 'Playground', - }, - { - href: githubUrl, - position: 'right', - className: 'header-github-link', - 'aria-label': 'GitHub repository', - }, - ], - }, - footer: { - logo: { - alt: 'Deploys by Netlify', - src: 'https://www.netlify.com/img/global/badges/netlify-dark.svg', - href: 'https://www.netlify.com', - }, - links: [ - { - title: 'Community', - items: [ - { - label: 'Stack Overflow', - href: 'https://stackoverflow.com/questions/tagged/typescript-eslint', - }, - { - label: 'Twitter', - href: 'https://twitter.com/tseslint', - }, - ], - }, - { - title: 'More', - items: [ - { - label: 'GitHub', - href: 'https://github.com/typescript-eslint/typescript-eslint', - }, - { - label: 'Report issue', - href: 'https://github.com/typescript-eslint/typescript-eslint/issues/new/choose', - }, - ], - }, - ], - // style: 'primary', - copyright: `Copyright Β© ${new Date().getFullYear()} TypeScript ESLint, Inc. Built with Docusaurus.`, - }, - prism: { - theme: { - plain: {}, - styles: [], - }, - additionalLanguages: ['ignore'], - }, - tableOfContents: { - maxHeadingLevel: 4, - minHeadingLevel: 2, - }, - }), - // Misleading API name, but these are just tags - stylesheets: [ - { - rel: 'apple-touch-icon', - sizes: '180x180', - href: '/img/favicon/apple-touch-icon.png', - }, - { - rel: 'icon', - type: 'image/png', - sizes: '32x32', - href: '/img/favicon/favicon-32x32.png', - }, - { - rel: 'icon', - type: 'image/png', - sizes: '16x16', - href: '/img/favicon/favicon-16x16.png', - }, - { - rel: 'manifest', - href: '/img/favicon/site.webmanifest', - }, - ], -}; - -module.exports = config; +module.exports = require('./docusaurusConfig'); diff --git a/packages/website/docusaurusConfig.ts b/packages/website/docusaurusConfig.ts new file mode 100644 index 00000000000..eab99e5d2eb --- /dev/null +++ b/packages/website/docusaurusConfig.ts @@ -0,0 +1,192 @@ +import type { MDXPlugin } from '@docusaurus/mdx-loader'; +import type { Options as PluginContentDocsOptions } from '@docusaurus/plugin-content-docs'; +import type { Options as PresetClassicOptions } from '@docusaurus/preset-classic'; +import type { UserThemeConfig as ThemeCommonConfig } from '@docusaurus/theme-common'; +import type { UserThemeConfig as AlgoliaThemeConfig } from '@docusaurus/theme-search-algolia'; +import type { Config } from '@docusaurus/types'; + +import npm2yarnPlugin from '@docusaurus/remark-plugin-npm2yarn'; +import tabsPlugin from 'remark-docusaurus-tabs'; +import { addRuleAttributesList } from './plugins/add-rule-attributes-list'; + +const remarkPlugins: MDXPlugin[] = [[npm2yarnPlugin, { sync: true }]]; + +const beforeDefaultRemarkPlugins: MDXPlugin[] = [[tabsPlugin, {}]]; + +const githubUrl = 'https://github.com/typescript-eslint/typescript-eslint'; + +const presetClassicOptions: PresetClassicOptions = { + docs: { + id: 'rules-docs', + path: '../eslint-plugin/docs/rules', + sidebarPath: require.resolve('./sidebars/sidebar.rules.js'), + routeBasePath: 'rules', + editUrl: `${githubUrl}/edit/main/packages/website/`, + beforeDefaultRemarkPlugins, + remarkPlugins: [...remarkPlugins, [addRuleAttributesList, {}]], + exclude: ['TEMPLATE.md'], + breadcrumbs: false, + }, + // TODO enable this + blog: false, + pages: { + beforeDefaultRemarkPlugins, + remarkPlugins, + }, + theme: { + customCss: require.resolve('./src/css/custom.css'), + }, +}; + +const pluginContentDocsOptions: PluginContentDocsOptions = { + id: 'base-docs', + path: '../../docs', + routeBasePath: 'docs', + sidebarPath: require.resolve('./sidebars/sidebar.base.js'), + editUrl: `${githubUrl}/edit/main/packages/website/`, + beforeDefaultRemarkPlugins, + remarkPlugins, + breadcrumbs: false, +}; + +const themeConfig: ThemeCommonConfig & AlgoliaThemeConfig = { + algolia: { + appId: 'BH4D9OD16A', + apiKey: '1ad6b47d4e742c4c0653877b5511c602', + indexName: 'typescript-eslint', + }, + metadata: [ + { name: 'msapplication-TileColor', content: '#443fd4' }, + { name: 'theme-color', content: '#443fd4' }, + ], + navbar: { + title: 'TypeScript ESLint', + // hideOnScroll: true, + logo: { + alt: 'TypeScript ESLint logo', + height: '32px', + src: 'img/logo.svg', + width: '32px', + }, + // style: 'primary', + items: [ + { + to: 'docs/', + activeBasePath: 'docs', + label: 'Getting started', + position: 'left', + }, + { + to: 'rules/', + activeBasePath: 'rules', + label: 'Rules', + position: 'left', + }, + { + to: 'play', + activeBasePath: 'play', + position: 'right', + label: 'Playground', + }, + { + href: githubUrl, + position: 'right', + className: 'header-github-link', + 'aria-label': 'GitHub repository', + }, + ], + }, + footer: { + logo: { + alt: 'Deploys by Netlify', + src: 'https://www.netlify.com/img/global/badges/netlify-dark.svg', + href: 'https://www.netlify.com', + }, + links: [ + { + title: 'Community', + items: [ + { + label: 'Stack Overflow', + href: 'https://stackoverflow.com/questions/tagged/typescript-eslint', + }, + { + label: 'Twitter', + href: 'https://twitter.com/tseslint', + }, + ], + }, + { + title: 'More', + items: [ + { + label: 'GitHub', + href: 'https://github.com/typescript-eslint/typescript-eslint', + }, + { + label: 'Report issue', + href: 'https://github.com/typescript-eslint/typescript-eslint/issues/new/choose', + }, + ], + }, + ], + // style: 'primary', + copyright: `Copyright Β© ${new Date().getFullYear()} TypeScript ESLint, Inc. Built with Docusaurus.`, + }, + prism: { + theme: { + plain: {}, + styles: [], + }, + additionalLanguages: ['ignore'], + }, + tableOfContents: { + maxHeadingLevel: 4, + minHeadingLevel: 2, + }, +}; + +const config: Config = { + title: 'TypeScript ESLint', + tagline: 'Tooling which enables ESLint to support TypeScript', + url: 'https://typescript-eslint.io', + baseUrl: '/', + onBrokenLinks: 'throw', + onBrokenMarkdownLinks: 'warn', // If Markdown link resolution fails, it will result in a broken link anyways + favicon: 'img/favicon.ico', + organizationName: 'typescript-eslint', + projectName: 'typescript-eslint', + clientModules: [require.resolve('./src/clientModules.js')], + presets: [['classic', presetClassicOptions]], + plugins: [ + require.resolve('./webpack.plugin'), + ['@docusaurus/plugin-content-docs', pluginContentDocsOptions], + ], + themeConfig, + // Misleading API name, but these are just tags + stylesheets: [ + { + rel: 'apple-touch-icon', + sizes: '180x180', + href: '/img/favicon/apple-touch-icon.png', + }, + { + rel: 'icon', + type: 'image/png', + sizes: '32x32', + href: '/img/favicon/favicon-32x32.png', + }, + { + rel: 'icon', + type: 'image/png', + sizes: '16x16', + href: '/img/favicon/favicon-16x16.png', + }, + { + rel: 'manifest', + href: '/img/favicon/site.webmanifest', + }, + ], +}; + +export = config; diff --git a/packages/website/package.json b/packages/website/package.json index 6c2be083e12..ffa80744244 100644 --- a/packages/website/package.json +++ b/packages/website/package.json @@ -1,6 +1,6 @@ { "name": "website", - "version": "5.27.0", + "version": "5.27.1", "private": true, "scripts": { "build": "docusaurus build", @@ -20,7 +20,7 @@ "@docusaurus/remark-plugin-npm2yarn": "2.0.0-beta.21", "@docusaurus/theme-common": "2.0.0-beta.21", "@mdx-js/react": "1.6.22", - "@typescript-eslint/website-eslint": "5.27.0", + "@typescript-eslint/website-eslint": "5.27.1", "clsx": "^1.1.1", "eslint": "*", "json5": "^2.2.1", @@ -36,6 +36,7 @@ "@types/react": "^18.0.9", "@types/react-helmet": "^6.1.5", "@types/react-router-dom": "^5.3.3", + "@typescript-eslint/eslint-plugin": "5.27.1", "copy-webpack-plugin": "^11.0.0", "cypress": "8.3.0", "cypress-axe": "^0.14.0", diff --git a/packages/website/plugins/add-rule-attributes-list.ts b/packages/website/plugins/add-rule-attributes-list.ts new file mode 100644 index 00000000000..381ca2638a6 --- /dev/null +++ b/packages/website/plugins/add-rule-attributes-list.ts @@ -0,0 +1,203 @@ +import type * as mdast from 'mdast'; +import type { Plugin } from 'unified'; + +import * as eslintPlugin from '@typescript-eslint/eslint-plugin'; + +const addRuleAttributesList: Plugin = () => { + return (root, file) => { + if (file.stem == null) { + return; + } + + const rule = eslintPlugin.rules[file.stem]; + if (rule == null) { + return; + } + const config = ((): 'recommended' | 'strict' | null => { + switch (rule.meta.docs?.recommended) { + case 'error': + case 'warn': + return 'recommended'; + + case 'strict': + return 'strict'; + + default: + return null; + } + })(); + const autoFixable = rule.meta.fixable != null; + const suggestionFixable = rule.meta.hasSuggestions === true; + const requiresTypeInfo = rule.meta.docs?.requiresTypeChecking === true; + + const parent = root as mdast.Parent; + /* + This just outputs a list with a heading like: + +## Attributes + +- [ ] Config + - [ ] βœ… Recommended + - [ ] πŸ”’ Strict +- [ ] Fixable + - [ ] πŸ”§ Automated Fixer (`--fix`) + - [ ] πŸ›  Suggestion Fixer +- [ ] πŸ’­ Requires type information + */ + const heading = Heading({ + depth: 2, + text: 'Attributes', + }); + const ruleAttributes = List({ + children: [ + NestedList({ + checked: config != null, + children: [ + ListItem({ + checked: config === 'recommended', + text: 'βœ… Recommended', + }), + ListItem({ + checked: config === 'strict' || config === 'recommended', + text: 'πŸ”’ Strict', + }), + ], + text: 'Included in configs', + }), + NestedList({ + checked: autoFixable || suggestionFixable, + children: [ + ListItem({ + checked: autoFixable, + text: 'πŸ”§ Automated Fixer', + }), + ListItem({ + checked: suggestionFixable, + text: 'πŸ›  Suggestion Fixer', + }), + ], + text: 'Fixable', + }), + ListItem({ + checked: requiresTypeInfo, + text: 'πŸ’­ Requires type information', + }), + ], + }); + + const h2Idx = parent.children.findIndex( + child => child.type === 'heading' && child.depth === 2, + ); + if (h2Idx != null) { + // insert it just before the first h2 in the doc + // this should be just after the rule's description + parent.children.splice(h2Idx, 0, heading, ruleAttributes); + } else { + // failing that, add it to the end + parent.children.push(heading, ruleAttributes); + } + }; +}; + +function Heading({ + depth, + text, + id = text.toLowerCase(), +}: { + depth: mdast.Heading['depth']; + id?: string; + text: string; +}): mdast.Heading { + return { + type: 'heading', + depth, + children: [ + { + type: 'text', + value: text, + }, + ], + data: { + hProperties: { + id, + }, + id, + }, + }; +} + +function Paragraph({ text }: { text: string }): mdast.Paragraph { + return { + type: 'paragraph', + children: [ + { + type: 'text', + value: text, + }, + ], + }; +} + +function ListItem({ + checked, + text, +}: { + checked: boolean; + text: string; +}): mdast.ListItem { + return { + type: 'listItem', + spread: false, + checked: checked, + children: [ + { + type: 'paragraph', + children: [ + { + type: 'text', + value: text, + }, + ], + }, + ], + }; +} + +function NestedList({ + children, + checked, + text, +}: { + children: mdast.ListItem[]; + checked: boolean; + text: string; +}): mdast.ListItem { + return { + type: 'listItem', + spread: false, + checked: checked, + children: [ + Paragraph({ + text, + }), + List({ + children, + }), + ], + data: { + className: 'test', + }, + }; +} + +function List({ children }: { children: mdast.ListItem[] }): mdast.List { + return { + type: 'list', + ordered: false, + start: null, + spread: false, + children, + }; +} + +export { addRuleAttributesList }; diff --git a/packages/website/src/components/OptionsSelector.tsx b/packages/website/src/components/OptionsSelector.tsx index f3a579df30b..f57f2600f49 100644 --- a/packages/website/src/components/OptionsSelector.tsx +++ b/packages/website/src/components/OptionsSelector.tsx @@ -1,6 +1,11 @@ /* eslint-disable jsx-a11y/label-has-associated-control */ import React, { useCallback } from 'react'; +import { + NavbarSecondaryMenuFiller, + useWindowSize, +} from '@docusaurus/theme-common'; + import Expander from './layout/Expander'; import Dropdown from './inputs/Dropdown'; import Checkbox from './inputs/Checkbox'; @@ -29,7 +34,7 @@ const ASTOptions = [ { value: 'scope', label: 'Scope' }, ] as const; -function OptionsSelector({ +function OptionsSelectorContent({ state, setState, tsVersions, @@ -154,4 +159,17 @@ function OptionsSelector({ ); } +function OptionsSelector(props: OptionsSelectorParams): JSX.Element { + const windowSize = useWindowSize(); + if (windowSize === 'mobile') { + return ( + + ); + } + return ; +} + export default OptionsSelector; diff --git a/packages/website/src/components/Playground.module.css b/packages/website/src/components/Playground.module.css index b6c4e1904c0..771da57e32d 100644 --- a/packages/website/src/components/Playground.module.css +++ b/packages/website/src/components/Playground.module.css @@ -88,7 +88,7 @@ } .options { - width: 100%; + display: none; } .tabCode { diff --git a/packages/website/src/components/editor/LoadedEditor.tsx b/packages/website/src/components/editor/LoadedEditor.tsx index 4ef26784f9d..0269c62e7f5 100644 --- a/packages/website/src/components/editor/LoadedEditor.tsx +++ b/packages/website/src/components/editor/LoadedEditor.tsx @@ -86,6 +86,21 @@ export const LoadedEditor: React.FC = ({ onMarkersChange(parseMarkers(markers, codeActions, model)); }, []); + useEffect(() => { + const newPath = jsx ? '/input.tsx' : '/input.ts'; + if (tabs.code.uri.path !== newPath) { + const newModel = sandboxInstance.monaco.editor.createModel( + tabs.code.getValue(), + 'typescript', + sandboxInstance.monaco.Uri.file(newPath), + ); + newModel.updateOptions({ tabSize: 2, insertSpaces: true }); + sandboxInstance.editor.setModel(newModel); + tabs.code.dispose(); + tabs.code = newModel; + } + }, [jsx]); + useEffect(() => { const config = createCompilerOptions(jsx, parseTSConfig(tsconfig)); webLinter.updateCompilerOptions(config); diff --git a/packages/website/src/components/layout/Expander.module.css b/packages/website/src/components/layout/Expander.module.css index bd7df1af664..28640f9c69f 100644 --- a/packages/website/src/components/layout/Expander.module.css +++ b/packages/website/src/components/layout/Expander.module.css @@ -39,14 +39,14 @@ .arrow { margin: 0 0.5rem 0 0; - transform: rotateZ(-90deg); + transform: rotateZ(0deg); transition: transform 250ms ease-in-out; width: 1rem; height: 1rem; } -.expandedArrow { - transform: rotateZ(0deg); +.arrow.expandedArrow { + transform: rotateZ(90deg); } .children { diff --git a/packages/website/src/components/layout/Expander.tsx b/packages/website/src/components/layout/Expander.tsx index 23d632be3b3..247b972d0df 100644 --- a/packages/website/src/components/layout/Expander.tsx +++ b/packages/website/src/components/layout/Expander.tsx @@ -1,4 +1,6 @@ -import React, { useState } from 'react'; +import React from 'react'; +import clsx from 'clsx'; +import { useCollapsible, Collapsible } from '@docusaurus/theme-common'; import styles from './Expander.module.css'; import ArrowIcon from '@site/src/icons/arrow.svg'; @@ -10,23 +12,21 @@ export interface ExpanderProps { } function Expander(props: ExpanderProps): JSX.Element { - const [isExpanded, setIsExpanded] = useState(true); - - const handleToggle = (): void => { - setIsExpanded(!isExpanded); - }; + const { collapsed, toggleCollapsed } = useCollapsible({ + initialState: false, + }); return ( -
- - {isExpanded &&
{props.children}
} + +
{props.children}
+
); } diff --git a/packages/website/src/components/lib/markdown.ts b/packages/website/src/components/lib/markdown.ts index 2d9c206ab12..ab9175dc2f0 100644 --- a/packages/website/src/components/lib/markdown.ts +++ b/packages/website/src/components/lib/markdown.ts @@ -50,6 +50,7 @@ export function createMarkdown(state: ConfigModel): string { export function createMarkdownParams(state: ConfigModel): string { const params = { + labels: 'bug,package: eslint-plugin,triage', template: '1-bug-report-plugin.yaml', title: 'Bug: [rule name here] ', 'playground-link': document.location.toString(), diff --git a/packages/website/src/css/custom.css b/packages/website/src/css/custom.css index b1e23a6dcd3..2324486fc7e 100644 --- a/packages/website/src/css/custom.css +++ b/packages/website/src/css/custom.css @@ -108,3 +108,8 @@ h6 { .myLineDecoration { background-color: var(--code-line-decoration); } + +/* indent the nested checklist for the rule doc attributes */ +ul.contains-task-list > li > ul.contains-task-list { + padding-left: 24px; +} diff --git a/packages/website/tsconfig.json b/packages/website/tsconfig.json index 3488d04f2e9..2dd71ec3f25 100644 --- a/packages/website/tsconfig.json +++ b/packages/website/tsconfig.json @@ -16,5 +16,5 @@ }, "types": ["@docusaurus/module-type-aliases", "@docusaurus/theme-classic"] }, - "include": ["src/"] + "include": ["src/", "plugins/", "typings", "./docusaurusConfig.ts"] } diff --git a/packages/website/typings/remark-docusaurus-tabs.d.ts b/packages/website/typings/remark-docusaurus-tabs.d.ts new file mode 100644 index 00000000000..9dab9651dd6 --- /dev/null +++ b/packages/website/typings/remark-docusaurus-tabs.d.ts @@ -0,0 +1,5 @@ +declare module 'remark-docusaurus-tabs' { + import type { Plugin } from 'unified'; + const plugin: Plugin; + export = plugin; +} diff --git a/packages/website/webpack.plugin.js b/packages/website/webpack.plugin.js index da4a32c2f94..fff4c85008b 100644 --- a/packages/website/webpack.plugin.js +++ b/packages/website/webpack.plugin.js @@ -1,4 +1,5 @@ const webpack = require('webpack'); +const path = require('path'); const CopyPlugin = require('copy-webpack-plugin'); module.exports = function (/*context, options*/) { @@ -24,8 +25,10 @@ module.exports = function (/*context, options*/) { new CopyPlugin({ patterns: [ { - from: require.resolve('@typescript-eslint/website-eslint'), - to: './sandbox/index.js', + from: path.dirname( + require.resolve('@typescript-eslint/website-eslint'), + ), + to: './sandbox/', }, ], }), diff --git a/yarn.lock b/yarn.lock index fed21c26d41..c0cbb5684a9 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1196,158 +1196,6 @@ resolved "https://registry.yarnpkg.com/@colors/colors/-/colors-1.5.0.tgz#bb504579c1cae923e6576a4f5da43d25f97bdbd9" integrity sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ== -"@commitlint/cli@^16.2.4": - version "16.2.4" - resolved "https://registry.yarnpkg.com/@commitlint/cli/-/cli-16.2.4.tgz#f22707918d08c27a19779798788a7c793f1d38e6" - integrity sha512-rbvqvz9JI+uiKxV2nH65BtSU01fsADd3bxe9fWtO3rM0c+CI/H9FfzKkDLvSRmXjvk1G2/wXlCGeqO9IBT4X9g== - dependencies: - "@commitlint/format" "^16.2.1" - "@commitlint/lint" "^16.2.4" - "@commitlint/load" "^16.2.4" - "@commitlint/read" "^16.2.1" - "@commitlint/types" "^16.2.1" - lodash "^4.17.19" - resolve-from "5.0.0" - resolve-global "1.0.0" - yargs "^17.0.0" - -"@commitlint/config-conventional@^16.2.4": - version "16.2.4" - resolved "https://registry.yarnpkg.com/@commitlint/config-conventional/-/config-conventional-16.2.4.tgz#56647108c89ed06fc5271242787550331988c0fb" - integrity sha512-av2UQJa3CuE5P0dzxj/o/B9XVALqYzEViHrMXtDrW9iuflrqCStWBAioijppj9URyz6ONpohJKAtSdgAOE0gkA== - dependencies: - conventional-changelog-conventionalcommits "^4.3.1" - -"@commitlint/config-validator@^16.2.1": - version "16.2.1" - resolved "https://registry.yarnpkg.com/@commitlint/config-validator/-/config-validator-16.2.1.tgz#794e769afd4756e4cf1bfd823b6612932e39c56d" - integrity sha512-hogSe0WGg7CKmp4IfNbdNES3Rq3UEI4XRPB8JL4EPgo/ORq5nrGTVzxJh78omibNuB8Ho4501Czb1Er1MoDWpw== - dependencies: - "@commitlint/types" "^16.2.1" - ajv "^6.12.6" - -"@commitlint/ensure@^16.2.1": - version "16.2.1" - resolved "https://registry.yarnpkg.com/@commitlint/ensure/-/ensure-16.2.1.tgz#0fc538173f95c1eb2694eeedb79cab478347f16f" - integrity sha512-/h+lBTgf1r5fhbDNHOViLuej38i3rZqTQnBTk+xEg+ehOwQDXUuissQ5GsYXXqI5uGy+261ew++sT4EA3uBJ+A== - dependencies: - "@commitlint/types" "^16.2.1" - lodash "^4.17.19" - -"@commitlint/execute-rule@^16.2.1": - version "16.2.1" - resolved "https://registry.yarnpkg.com/@commitlint/execute-rule/-/execute-rule-16.2.1.tgz#60be73be4b9af97a41546e7ce59fdd33787c65f8" - integrity sha512-oSls82fmUTLM6cl5V3epdVo4gHhbmBFvCvQGHBRdQ50H/690Uq1Dyd7hXMuKITCIdcnr9umyDkr8r5C6HZDF3g== - -"@commitlint/format@^16.2.1": - version "16.2.1" - resolved "https://registry.yarnpkg.com/@commitlint/format/-/format-16.2.1.tgz#6e673f710c799be78e68b2682323e04f75080d07" - integrity sha512-Yyio9bdHWmNDRlEJrxHKglamIk3d6hC0NkEUW6Ti6ipEh2g0BAhy8Od6t4vLhdZRa1I2n+gY13foy+tUgk0i1Q== - dependencies: - "@commitlint/types" "^16.2.1" - chalk "^4.0.0" - -"@commitlint/is-ignored@^16.2.4": - version "16.2.4" - resolved "https://registry.yarnpkg.com/@commitlint/is-ignored/-/is-ignored-16.2.4.tgz#369e40a240ad5451bf2b57a80829253129d7f19b" - integrity sha512-Lxdq9aOAYCOOOjKi58ulbwK/oBiiKz+7Sq0+/SpFIEFwhHkIVugvDvWjh2VRBXmRC/x5lNcjDcYEwS/uYUvlYQ== - dependencies: - "@commitlint/types" "^16.2.1" - semver "7.3.7" - -"@commitlint/lint@^16.2.4": - version "16.2.4" - resolved "https://registry.yarnpkg.com/@commitlint/lint/-/lint-16.2.4.tgz#575f5a9d227dddfca8386253d9aff27be5b94788" - integrity sha512-AUDuwOxb2eGqsXbTMON3imUGkc1jRdtXrbbohiLSCSk3jFVXgJLTMaEcr39pR00N8nE9uZ+V2sYaiILByZVmxQ== - dependencies: - "@commitlint/is-ignored" "^16.2.4" - "@commitlint/parse" "^16.2.1" - "@commitlint/rules" "^16.2.4" - "@commitlint/types" "^16.2.1" - -"@commitlint/load@>6.1.1", "@commitlint/load@^16.2.4": - version "16.2.4" - resolved "https://registry.yarnpkg.com/@commitlint/load/-/load-16.2.4.tgz#32c9f4c6538b21cf48cf40266312bb1adb65f435" - integrity sha512-HjANm3/29ROV+zt4yfaY/K6gpr9Dbzgtlp0kSwZGW0poDXlD/yqVYgPQ6JolJzZii5FUz5R4yVLC15hVL/w60w== - dependencies: - "@commitlint/config-validator" "^16.2.1" - "@commitlint/execute-rule" "^16.2.1" - "@commitlint/resolve-extends" "^16.2.1" - "@commitlint/types" "^16.2.1" - "@types/node" ">=12" - chalk "^4.0.0" - cosmiconfig "^7.0.0" - cosmiconfig-typescript-loader "^1.0.0" - lodash "^4.17.19" - resolve-from "^5.0.0" - typescript "^4.4.3" - -"@commitlint/message@^16.2.1": - version "16.2.1" - resolved "https://registry.yarnpkg.com/@commitlint/message/-/message-16.2.1.tgz#bc6a0fa446a746ac2ca78cf372e4cec48daf620d" - integrity sha512-2eWX/47rftViYg7a3axYDdrgwKv32mxbycBJT6OQY/MJM7SUfYNYYvbMFOQFaA4xIVZt7t2Alyqslbl6blVwWw== - -"@commitlint/parse@^16.2.1": - version "16.2.1" - resolved "https://registry.yarnpkg.com/@commitlint/parse/-/parse-16.2.1.tgz#50b359cb711ec566d2ee236a8e4c6baca07b77c0" - integrity sha512-2NP2dDQNL378VZYioLrgGVZhWdnJO4nAxQl5LXwYb08nEcN+cgxHN1dJV8OLJ5uxlGJtDeR8UZZ1mnQ1gSAD/g== - dependencies: - "@commitlint/types" "^16.2.1" - conventional-changelog-angular "^5.0.11" - conventional-commits-parser "^3.2.2" - -"@commitlint/read@^16.2.1": - version "16.2.1" - resolved "https://registry.yarnpkg.com/@commitlint/read/-/read-16.2.1.tgz#e0539205d77cdb6879b560f95e5fb251e0c6f562" - integrity sha512-tViXGuaxLTrw2r7PiYMQOFA2fueZxnnt0lkOWqKyxT+n2XdEMGYcI9ID5ndJKXnfPGPppD0w/IItKsIXlZ+alw== - dependencies: - "@commitlint/top-level" "^16.2.1" - "@commitlint/types" "^16.2.1" - fs-extra "^10.0.0" - git-raw-commits "^2.0.0" - -"@commitlint/resolve-extends@^16.2.1": - version "16.2.1" - resolved "https://registry.yarnpkg.com/@commitlint/resolve-extends/-/resolve-extends-16.2.1.tgz#2f7833a5a3a7aa79f508e59fcb0f1d33c45ed360" - integrity sha512-NbbCMPKTFf2J805kwfP9EO+vV+XvnaHRcBy6ud5dF35dxMsvdJqke54W3XazXF1ZAxC4a3LBy4i/GNVBAthsEg== - dependencies: - "@commitlint/config-validator" "^16.2.1" - "@commitlint/types" "^16.2.1" - import-fresh "^3.0.0" - lodash "^4.17.19" - resolve-from "^5.0.0" - resolve-global "^1.0.0" - -"@commitlint/rules@^16.2.4": - version "16.2.4" - resolved "https://registry.yarnpkg.com/@commitlint/rules/-/rules-16.2.4.tgz#c2fbbf20d9d0e8fcf25690c88a27750d4a3e867b" - integrity sha512-rK5rNBIN2ZQNQK+I6trRPK3dWa0MtaTN4xnwOma1qxa4d5wQMQJtScwTZjTJeallFxhOgbNOgr48AMHkdounVg== - dependencies: - "@commitlint/ensure" "^16.2.1" - "@commitlint/message" "^16.2.1" - "@commitlint/to-lines" "^16.2.1" - "@commitlint/types" "^16.2.1" - execa "^5.0.0" - -"@commitlint/to-lines@^16.2.1": - version "16.2.1" - resolved "https://registry.yarnpkg.com/@commitlint/to-lines/-/to-lines-16.2.1.tgz#42d000f34dc0406f514991e86237fdab5e8affd0" - integrity sha512-9/VjpYj5j1QeY3eiog1zQWY6axsdWAc0AonUUfyZ7B0MVcRI0R56YsHAfzF6uK/g/WwPZaoe4Lb1QCyDVnpVaQ== - -"@commitlint/top-level@^16.2.1": - version "16.2.1" - resolved "https://registry.yarnpkg.com/@commitlint/top-level/-/top-level-16.2.1.tgz#bdaa53ab3d8970e0288879f1a342a8c2dfe01583" - integrity sha512-lS6GSieHW9y6ePL73ied71Z9bOKyK+Ib9hTkRsB8oZFAyQZcyRwq2w6nIa6Fngir1QW51oKzzaXfJL94qwImyw== - dependencies: - find-up "^5.0.0" - -"@commitlint/types@^16.2.1": - version "16.2.1" - resolved "https://registry.yarnpkg.com/@commitlint/types/-/types-16.2.1.tgz#f25d373b88b01e51fc3fa44488101361945a61bd" - integrity sha512-7/z7pA7BM0i8XvMSBynO7xsB3mVQPUZbVn6zMIlp/a091XJ3qAXRXc+HwLYhiIdzzS5fuxxNIHZMGHVD4HJxdA== - dependencies: - chalk "^4.0.0" - "@cspell/cspell-bundled-dicts@^5.20.0": version "5.20.0" resolved "https://registry.yarnpkg.com/@cspell/cspell-bundled-dicts/-/cspell-bundled-dicts-5.20.0.tgz#294106a2660baf825494535019a0d2230c3cc0c1" @@ -2338,6 +2186,14 @@ resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.1.tgz#36a6acc93987adcf0ba50c66908bd0b70de8afea" integrity sha512-Ct5MqZkLGEXTVmQYbGtx9SVqD2fqwvdubdps5D3djjAkgkKwT918VNOz65pEHFaYTeWcukmJmH5SwsA9Tn2ObQ== +"@jridgewell/source-map@^0.3.2": + version "0.3.2" + resolved "https://registry.yarnpkg.com/@jridgewell/source-map/-/source-map-0.3.2.tgz#f45351aaed4527a298512ec72f81040c998580fb" + integrity sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw== + dependencies: + "@jridgewell/gen-mapping" "^0.3.0" + "@jridgewell/trace-mapping" "^0.3.9" + "@jridgewell/sourcemap-codec@^1.4.10": version "1.4.11" resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.11.tgz#771a1d8d744eeb71b6adb35808e1a6c7b9b8c8ec" @@ -3083,9 +2939,9 @@ "@rushstack/node-core-library" "3.45.5" "@microsoft/api-extractor@^7.23.2": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@microsoft/api-extractor/-/api-extractor-7.24.1.tgz#cbbe32a5f4f32717b60f593cdc172b99e5c76fae" - integrity sha512-RjcKRvKRAtTK4z8UdC2qYsvgTYHEYvdsqF4QGoX4mNAVo7s6Jj4zcHtSrMEQMTUHujZbSd5+ihI5ktISp338mQ== + version "7.24.2" + resolved "https://registry.yarnpkg.com/@microsoft/api-extractor/-/api-extractor-7.24.2.tgz#4abb24319fa77884dab6d807388056e9cd85488e" + integrity sha512-QWZh9aQZvBAdRVK+Go8NiW8YNMN//OGiNqgA3iZ2sEy8imUqkRBCybXgmw2HkEYyPnn55CFoMKvnAHvV9+4B/A== dependencies: "@microsoft/api-extractor-model" "7.17.3" "@microsoft/tsdoc" "0.14.1" @@ -4170,7 +4026,7 @@ dependencies: "@types/node" "*" -"@types/node@*", "@types/node@12.20.24", "@types/node@>=12", "@types/node@^14.14.31", "@types/node@^17.0.31", "@types/node@^17.0.5": +"@types/node@*", "@types/node@12.20.24", "@types/node@^14.14.31", "@types/node@^17.0.31", "@types/node@^17.0.5": version "17.0.31" resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.31.tgz#a5bb84ecfa27eec5e1c802c6bbf8139bdb163a5d" integrity sha512-AR0x5HbXGqkEx9CadRH3EBYx/VkiUgZIhP4wvPn/+5KIsgpNoyFaRlVe0Zlx9gRtg8fA06a9tskE2MSN7TcG4Q== @@ -4587,7 +4443,7 @@ ajv-keywords@^5.0.0: dependencies: fast-deep-equal "^3.1.3" -ajv@^6.10.0, ajv@^6.12.2, ajv@^6.12.4, ajv@^6.12.5, ajv@^6.12.6, ajv@~6.12.6: +ajv@^6.10.0, ajv@^6.12.2, ajv@^6.12.4, ajv@^6.12.5, ajv@~6.12.6: version "6.12.6" resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== @@ -4646,11 +4502,6 @@ ansi-colors@^4.1.1: resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== -ansi-escapes@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b" - integrity sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ== - ansi-escapes@^4.2.1, ansi-escapes@^4.3.0: version "4.3.2" resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e" @@ -4668,16 +4519,6 @@ ansi-regex@^2.0.0: resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8= -ansi-regex@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" - integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= - -ansi-regex@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997" - integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg== - ansi-regex@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" @@ -5350,11 +5191,6 @@ cacheable-request@^6.0.0: normalize-url "^4.1.0" responselike "^1.0.2" -cachedir@2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/cachedir/-/cachedir-2.2.0.tgz#19afa4305e05d79e417566882e0c8f960f62ff0e" - integrity sha512-VvxA0xhNqIIfg0V9AmJkDg91DaJwryutH5rVEZAhcNi4iJFj9f+QxmAjgK1LT9I8OgToX27fypX6/MeCXVbBjQ== - cachedir@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/cachedir/-/cachedir-2.3.0.tgz#0c75892a052198f0b21c7c1804d8331edfcae0e8" @@ -5446,7 +5282,7 @@ chalk@4.1.0: ansi-styles "^4.1.0" supports-color "^7.1.0" -chalk@^2.0.0, chalk@^2.3.0, chalk@^2.4.1, chalk@^2.4.2: +chalk@^2.0.0, chalk@^2.3.0: version "2.4.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== @@ -5615,13 +5451,6 @@ cli-cursor@3.1.0, cli-cursor@^3.1.0: dependencies: restore-cursor "^3.1.0" -cli-cursor@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5" - integrity sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU= - dependencies: - restore-cursor "^2.0.0" - cli-spinners@2.6.1: version "2.6.1" resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.6.1.tgz#adc954ebe281c37a6319bfa401e6dd2488ffb70d" @@ -5652,11 +5481,6 @@ cli-truncate@^3.1.0: slice-ansi "^5.0.0" string-width "^5.0.0" -cli-width@^2.0.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.1.tgz#b0433d0b4e9c847ef18868a4ef16fd5fc8271c48" - integrity sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw== - cli-width@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-3.0.0.tgz#a2f48437a2caa9a22436e794bf071ec9e61cedf6" @@ -5820,10 +5644,10 @@ commander@^8.3.0: resolved "https://registry.yarnpkg.com/commander/-/commander-8.3.0.tgz#4837ea1b2da67b9c616a67afbb0fafee567bca66" integrity sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww== -commander@^9.2.0: - version "9.2.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-9.2.0.tgz#6e21014b2ed90d8b7c9647230d8b7a94a4a419a9" - integrity sha512-e2i4wANQiSXgnrBlIatyHtP1odfUp0BbV5Y5nEGbxtIrStkEOAAzCUirvLBNXHLr7kwLvJl6V+4V3XV9x7Wd9w== +commander@^9.2.0, commander@^9.3.0: + version "9.3.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-9.3.0.tgz#f619114a5a2d2054e0d9ff1b31d5ccf89255e26b" + integrity sha512-hv95iU5uXPbK83mjrJKuZyFM/LBAoCV/XhVGkS5Je6tl7sxr6A0ITMw5WoRV46/UaJ46Nllm3Xt7IaJhXTIkzw== commander@~9.0.0: version "9.0.0" @@ -5841,26 +5665,6 @@ comment-json@^4.2.2: has-own-prop "^2.0.0" repeat-string "^1.6.1" -commitizen@^4.0.3: - version "4.2.4" - resolved "https://registry.yarnpkg.com/commitizen/-/commitizen-4.2.4.tgz#a3e5b36bd7575f6bf6e7aa19dbbf06b0d8f37165" - integrity sha512-LlZChbDzg3Ir3O2S7jSo/cgWp5/QwylQVr59K4xayVq8S4/RdKzSyJkghAiZZHfhh5t4pxunUoyeg0ml1q/7aw== - dependencies: - cachedir "2.2.0" - cz-conventional-changelog "3.2.0" - dedent "0.7.0" - detect-indent "6.0.0" - find-node-modules "^2.1.2" - find-root "1.1.0" - fs-extra "8.1.0" - glob "7.1.4" - inquirer "6.5.2" - is-utf8 "^0.2.1" - lodash "^4.17.20" - minimist "1.2.5" - strip-bom "4.0.0" - strip-json-comments "3.0.1" - common-ancestor-path@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/common-ancestor-path/-/common-ancestor-path-1.0.1.tgz#4f7d2d1394d91b7abdf51871c62f71eadb0182a7" @@ -5971,7 +5775,7 @@ content-type@~1.0.4: resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== -conventional-changelog-angular@^5.0.11, conventional-changelog-angular@^5.0.12: +conventional-changelog-angular@^5.0.12: version "5.0.13" resolved "https://registry.yarnpkg.com/conventional-changelog-angular/-/conventional-changelog-angular-5.0.13.tgz#896885d63b914a70d4934b59d2fe7bde1832b28c" integrity sha512-i/gipMxs7s8L/QeuavPF2hLnJgH6pEZAttySB6aiQLWcX3puWDL3ACVmvBhJGxnAy52Qc15ua26BufY6KpmrVA== @@ -5979,15 +5783,6 @@ conventional-changelog-angular@^5.0.11, conventional-changelog-angular@^5.0.12: compare-func "^2.0.0" q "^1.5.1" -conventional-changelog-conventionalcommits@^4.3.1: - version "4.6.1" - resolved "https://registry.yarnpkg.com/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-4.6.1.tgz#f4c0921937050674e578dc7875f908351ccf4014" - integrity sha512-lzWJpPZhbM1R0PIzkwzGBCnAkH5RKJzJfFQZcl/D+2lsJxAwGnDKBqn/F4C1RD31GJNn8NuKWQzAZDAVXPp2Mw== - dependencies: - compare-func "^2.0.0" - lodash "^4.17.15" - q "^1.5.1" - conventional-changelog-core@^4.2.2: version "4.2.4" resolved "https://registry.yarnpkg.com/conventional-changelog-core/-/conventional-changelog-core-4.2.4.tgz#e50d047e8ebacf63fac3dc67bf918177001e1e9f" @@ -6028,11 +5823,6 @@ conventional-changelog-writer@^5.0.0: split "^1.0.0" through2 "^4.0.0" -conventional-commit-types@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/conventional-commit-types/-/conventional-commit-types-3.0.0.tgz#7c9214e58eae93e85dd66dbfbafe7e4fffa2365b" - integrity sha512-SmmCYnOniSsAa9GqWOeLqc179lfr5TRu5b4QFDkbsrJ5TZjPJx85wtOr3zn+1dbeNiXDKGPbZ72IKbPhLXh/Lg== - conventional-commits-filter@^2.0.7: version "2.0.7" resolved "https://registry.yarnpkg.com/conventional-commits-filter/-/conventional-commits-filter-2.0.7.tgz#f8d9b4f182fce00c9af7139da49365b136c8a0b3" @@ -6041,7 +5831,7 @@ conventional-commits-filter@^2.0.7: lodash.ismatch "^4.4.0" modify-values "^1.0.0" -conventional-commits-parser@^3.2.0, conventional-commits-parser@^3.2.2: +conventional-commits-parser@^3.2.0: version "3.2.3" resolved "https://registry.yarnpkg.com/conventional-commits-parser/-/conventional-commits-parser-3.2.3.tgz#fc43704698239451e3ef35fd1d8ed644f46bd86e" integrity sha512-YyRDR7On9H07ICFpRm/igcdjIqebXbvf4Cff+Pf0BrBys1i1EOzx9iFXNlAbdrLAR8jf7bkUYkDAr8pEy0q4Pw== @@ -6129,14 +5919,6 @@ core-util-is@^1.0.3, core-util-is@~1.0.0: resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== -cosmiconfig-typescript-loader@^1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-1.0.3.tgz#528f2bb3e6b6705020dc42df659f24837e75b611" - integrity sha512-ARo21VjxdacJUcHxgVMEYNIoVPYiuKOEwWBIYej4M22+pEbe3LzKgmht2UPM+0u7/T/KnZf2r/5IzHv2Nwz+/w== - dependencies: - cosmiconfig "^7" - ts-node "^10.4.0" - cosmiconfig@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-6.0.0.tgz#da4fee853c52f6b1e6935f41c1a2fc50bd4a9982" @@ -6148,7 +5930,7 @@ cosmiconfig@^6.0.0: path-type "^4.0.0" yaml "^1.7.2" -cosmiconfig@^7, cosmiconfig@^7.0.0, cosmiconfig@^7.0.1: +cosmiconfig@^7.0.0, cosmiconfig@^7.0.1: version "7.0.1" resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.0.1.tgz#714d756522cace867867ccb4474c5d01bbae5d6d" integrity sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ== @@ -6483,34 +6265,6 @@ cypress@8.3.0: url "^0.11.0" yauzl "^2.10.0" -cz-conventional-changelog@3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/cz-conventional-changelog/-/cz-conventional-changelog-3.2.0.tgz#6aef1f892d64113343d7e455529089ac9f20e477" - integrity sha512-yAYxeGpVi27hqIilG1nh4A9Bnx4J3Ov+eXy4koL3drrR+IO9GaWPsKjik20ht608Asqi8TQPf0mczhEeyAtMzg== - dependencies: - chalk "^2.4.1" - commitizen "^4.0.3" - conventional-commit-types "^3.0.0" - lodash.map "^4.5.1" - longest "^2.0.1" - word-wrap "^1.0.3" - optionalDependencies: - "@commitlint/load" ">6.1.1" - -cz-conventional-changelog@^3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/cz-conventional-changelog/-/cz-conventional-changelog-3.3.0.tgz#9246947c90404149b3fe2cf7ee91acad3b7d22d2" - integrity sha512-U466fIzU5U22eES5lTNiNbZ+d8dfcHcssH4o7QsdWaCcRs/feIPCxKYSWkYBNs5mny7MvEfwpTLWjvbm94hecw== - dependencies: - chalk "^2.4.1" - commitizen "^4.0.3" - conventional-commit-types "^3.0.0" - lodash.map "^4.5.1" - longest "^2.0.1" - word-wrap "^1.0.3" - optionalDependencies: - "@commitlint/load" ">6.1.1" - damerau-levenshtein@^1.0.7: version "1.0.7" resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.7.tgz#64368003512a1a6992593741a09a9d31a836f55d" @@ -6589,7 +6343,7 @@ decompress-response@^3.3.0: dependencies: mimic-response "^1.0.0" -dedent@0.7.0, dedent@^0.7.0: +dedent@^0.7.0: version "0.7.0" resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c" integrity sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw= @@ -6692,16 +6446,6 @@ detab@2.0.4: dependencies: repeat-string "^1.5.4" -detect-file@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/detect-file/-/detect-file-1.0.0.tgz#f0d66d03672a825cb1b73bdb3fe62310c8e552b7" - integrity sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc= - -detect-indent@6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-6.0.0.tgz#0abd0f549f69fc6659a254fe96786186b6f528fd" - integrity sha512-oSyFlqaTHCItVRGK5RmrmjB+CmaMOW7IaNA/kdxqhoa6d17j/5ce9O9eWXmV/KEdRwqpQA+Vqe8a8Bsybu4YnA== - detect-indent@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-5.0.0.tgz#3871cc0a6a002e8c3e5b3cf7f336264675f06b9d" @@ -7470,13 +7214,6 @@ exit@^0.1.2: resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" integrity sha1-BjJjj42HfMghB9MKD/8aF8uhzQw= -expand-tilde@^2.0.0, expand-tilde@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/expand-tilde/-/expand-tilde-2.0.2.tgz#97e801aa052df02454de46b02bf621642cdc8502" - integrity sha1-l+gBqgUt8CRU3kawK/YhZCzchQI= - dependencies: - homedir-polyfill "^1.0.1" - expect@^28.1.0: version "28.1.0" resolved "https://registry.yarnpkg.com/expect/-/expect-28.1.0.tgz#10e8da64c0850eb8c39a480199f14537f46e8360" @@ -7683,13 +7420,6 @@ figures@3.2.0, figures@^3.0.0, figures@^3.2.0: dependencies: escape-string-regexp "^1.0.5" -figures@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962" - integrity sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI= - dependencies: - escape-string-regexp "^1.0.5" - file-entry-cache@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" @@ -7751,19 +7481,6 @@ find-cache-dir@^3.3.1: make-dir "^3.0.2" pkg-dir "^4.1.0" -find-node-modules@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/find-node-modules/-/find-node-modules-2.1.2.tgz#57565a3455baf671b835bc6b2134a9b938b9c53c" - integrity sha512-x+3P4mbtRPlSiVE1Qco0Z4YLU8WFiFcuWTf3m75OV9Uzcfs2Bg+O9N+r/K0AnmINBW06KpfqKwYJbFlFq4qNug== - dependencies: - findup-sync "^4.0.0" - merge "^2.1.0" - -find-root@1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/find-root/-/find-root-1.1.0.tgz#abcfc8ba76f708c42a97b3d685b7e9450bfb9ce4" - integrity sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng== - find-up@^2.0.0, find-up@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" @@ -7794,16 +7511,6 @@ find-up@^5.0.0: locate-path "^6.0.0" path-exists "^4.0.0" -findup-sync@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/findup-sync/-/findup-sync-4.0.0.tgz#956c9cdde804052b881b428512905c4a5f2cdef0" - integrity sha512-6jvvn/12IC4quLBL1KNokxC7wWTvYncaVUYSoxWw7YykPLuRrnv4qdHcSOywOI5RpkOVGeQRtWM8/q+G6W6qfQ== - dependencies: - detect-file "^1.0.0" - is-glob "^4.0.0" - micromatch "^4.0.2" - resolve-dir "^1.0.1" - flat-cache@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11" @@ -7888,16 +7595,7 @@ fs-constants@^1.0.0: resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad" integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== -fs-extra@8.1.0: - version "8.1.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0" - integrity sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g== - dependencies: - graceful-fs "^4.2.0" - jsonfile "^4.0.0" - universalify "^0.1.0" - -fs-extra@^10.0.0, fs-extra@^10.1.0: +fs-extra@^10.1.0: version "10.1.0" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-10.1.0.tgz#02873cfbc4084dde127eaa5f9905eef2325d1abf" integrity sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ== @@ -8100,7 +7798,7 @@ getpass@^0.1.1: dependencies: assert-plus "^1.0.0" -git-raw-commits@^2.0.0, git-raw-commits@^2.0.8: +git-raw-commits@^2.0.8: version "2.0.10" resolved "https://registry.yarnpkg.com/git-raw-commits/-/git-raw-commits-2.0.10.tgz#e2255ed9563b1c9c3ea6bd05806410290297bbc1" integrity sha512-sHhX5lsbG9SOO6yXdlwgEMQ/ljIn7qMpAbJZCGfXX2fq5T8M5SrDnpYk9/4HswTildcIqatsWa91vty6VhWSaQ== @@ -8222,15 +7920,6 @@ global-dirs@^3.0.0: dependencies: ini "2.0.0" -global-modules@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-1.0.0.tgz#6d770f0eb523ac78164d72b5e71a8877265cc3ea" - integrity sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg== - dependencies: - global-prefix "^1.0.1" - is-windows "^1.0.1" - resolve-dir "^1.0.0" - global-modules@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-2.0.0.tgz#997605ad2345f27f51539bea26574421215c7780" @@ -8238,17 +7927,6 @@ global-modules@^2.0.0: dependencies: global-prefix "^3.0.0" -global-prefix@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-1.0.2.tgz#dbf743c6c14992593c655568cb66ed32c0122ebe" - integrity sha1-2/dDxsFJklk8ZVVoy2btMsASLr4= - dependencies: - expand-tilde "^2.0.2" - homedir-polyfill "^1.0.1" - ini "^1.3.4" - is-windows "^1.0.1" - which "^1.2.14" - global-prefix@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-3.0.0.tgz#fc85f73064df69f50421f47f883fe5b913ba9b97" @@ -8528,13 +8206,6 @@ hoist-non-react-statics@^3.1.0: dependencies: react-is "^16.7.0" -homedir-polyfill@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz#743298cef4e5af3e194161fbadcc2151d3a058e8" - integrity sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA== - dependencies: - parse-passwd "^1.0.0" - hosted-git-info@^2.1.4: version "2.8.9" resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9" @@ -8907,25 +8578,6 @@ inline-style-parser@0.1.1: resolved "https://registry.yarnpkg.com/inline-style-parser/-/inline-style-parser-0.1.1.tgz#ec8a3b429274e9c0a1f1c4ffa9453a7fef72cea1" integrity sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q== -inquirer@6.5.2: - version "6.5.2" - resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-6.5.2.tgz#ad50942375d036d327ff528c08bd5fab089928ca" - integrity sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ== - dependencies: - ansi-escapes "^3.2.0" - chalk "^2.4.2" - cli-cursor "^2.1.0" - cli-width "^2.0.0" - external-editor "^3.0.3" - figures "^2.0.0" - lodash "^4.17.12" - mute-stream "0.0.7" - run-async "^2.2.0" - rxjs "^6.4.0" - string-width "^2.1.0" - strip-ansi "^5.1.0" - through "^2.3.6" - inquirer@^7.3.3: version "7.3.3" resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-7.3.3.tgz#04d176b2af04afc157a83fd7c100e98ee0aad003" @@ -9093,11 +8745,6 @@ is-fullwidth-code-point@^1.0.0: dependencies: number-is-nan "^1.0.0" -is-fullwidth-code-point@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" - integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= - is-fullwidth-code-point@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" @@ -9287,11 +8934,6 @@ is-unicode-supported@^0.1.0: resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7" integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw== -is-utf8@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" - integrity sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI= - is-weakref@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2" @@ -9304,11 +8946,6 @@ is-whitespace-character@^1.0.0: resolved "https://registry.yarnpkg.com/is-whitespace-character/-/is-whitespace-character-1.0.4.tgz#0858edd94a95594c7c9dd0b5c174ec6e45ee4aa7" integrity sha512-SDweEzfIZM0SJV0EUga669UTKlmL0Pq8Lno0QDQsPnvECB3IM2aP0gdx5TrU0A01MAPfViaZiI2V1QMZLaKK5w== -is-windows@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" - integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== - is-word-character@^1.0.0: version "1.0.4" resolved "https://registry.yarnpkg.com/is-word-character/-/is-word-character-1.0.4.tgz#ce0e73216f98599060592f62ff31354ddbeb0230" @@ -9749,6 +9386,15 @@ jest-watcher@^28.1.0: jest-util "^28.1.0" string-length "^4.0.1" +jest-worker@^26.2.1: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-26.6.2.tgz#7f72cbc4d643c365e27b9fd775f9d0eaa9c7a8ed" + integrity sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ== + dependencies: + "@types/node" "*" + merge-stream "^2.0.0" + supports-color "^7.0.0" + jest-worker@^27.4.5, jest-worker@^27.5.1: version "27.5.1" resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.5.1.tgz#8d146f0900e8973b106b6f73cc1e9a8cb86f8db0" @@ -10055,10 +9701,10 @@ libnpmpublish@^4.0.0: semver "^7.1.3" ssri "^8.0.1" -lilconfig@2.0.4, lilconfig@^2.0.3: - version "2.0.4" - resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.0.4.tgz#f4507d043d7058b380b6a8f5cb7bcd4b34cee082" - integrity sha512-bfTIN7lEsiooCocSISTWXkiWJkRqtL9wYtYy+8EK3Y41qh3mpwPU0ycTOgjdY9ErwXCc8QyrQp82bdL0Xkm9yA== +lilconfig@2.0.5, lilconfig@^2.0.3: + version "2.0.5" + resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.0.5.tgz#19e57fd06ccc3848fd1891655b5a447092225b25" + integrity sha512-xaYmXZtTHPAw5m+xLN8ab9C+3a8YmV3asNSPOATITbtwrfbwaLJj8h66H1WMIpALCkqsIzK3h7oQ+PdX+LQ9Eg== lines-and-columns@^1.1.6: version "1.1.6" @@ -10073,23 +9719,23 @@ linkify-it@^3.0.1: uc.micro "^1.0.1" lint-staged@^12.4.1: - version "12.4.1" - resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-12.4.1.tgz#63fa27bfc8a33515f6902f63f6670864f1fb233c" - integrity sha512-PTXgzpflrQ+pODQTG116QNB+Q6uUTDg5B5HqGvNhoQSGt8Qy+MA/6zSnR8n38+sxP5TapzeQGTvoKni0KRS8Vg== + version "12.4.3" + resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-12.4.3.tgz#914fa468458364e14cc952145db552d87c8847b6" + integrity sha512-eH6SKOmdm/ZwCRMTZAmM3q3dPkpq6vco/BfrOw8iGun4Xs/thYegPD/MLIwKO+iPkzibkLJuQcRhRLXKvaKreg== dependencies: cli-truncate "^3.1.0" colorette "^2.0.16" - commander "^8.3.0" - debug "^4.3.3" + commander "^9.3.0" + debug "^4.3.4" execa "^5.1.1" - lilconfig "2.0.4" - listr2 "^4.0.1" - micromatch "^4.0.4" + lilconfig "2.0.5" + listr2 "^4.0.5" + micromatch "^4.0.5" normalize-path "^3.0.0" - object-inspect "^1.12.0" + object-inspect "^1.12.2" pidtree "^0.5.0" string-argv "^0.3.1" - supports-color "^9.2.1" + supports-color "^9.2.2" yaml "^1.10.2" listr2@^3.8.3: @@ -10106,17 +9752,17 @@ listr2@^3.8.3: through "^2.3.8" wrap-ansi "^7.0.0" -listr2@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/listr2/-/listr2-4.0.1.tgz#e050c1fd390276e191f582603d6e3531cd6fd2b3" - integrity sha512-D65Nl+zyYHL2jQBGmxtH/pU8koPZo5C8iCNE8EoB04RwPgQG1wuaKwVbeZv9LJpiH4Nxs0FCp+nNcG8OqpniiA== +listr2@^4.0.5: + version "4.0.5" + resolved "https://registry.yarnpkg.com/listr2/-/listr2-4.0.5.tgz#9dcc50221583e8b4c71c43f9c7dfd0ef546b75d5" + integrity sha512-juGHV1doQdpNT3GSTs9IUN43QJb7KHdF9uqg7Vufs/tG9VTzpFphqF4pm/ICdAABGQxsyNn9CiYA3StkI6jpwA== dependencies: cli-truncate "^2.1.0" colorette "^2.0.16" log-update "^4.0.0" p-map "^4.0.0" rfdc "^1.3.0" - rxjs "^7.5.2" + rxjs "^7.5.5" through "^2.3.8" wrap-ansi "^7.0.0" @@ -10254,7 +9900,7 @@ 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, lodash.map@^4.5.1: +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= @@ -10314,7 +9960,7 @@ lodash.uniq@4.5.0, lodash.uniq@^4.5.0: resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M= -lodash@^4.17.12, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.7.0, lodash@~4.17.15: +lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.7.0, lodash@~4.17.15: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== @@ -10337,11 +9983,6 @@ log-update@^4.0.0: slice-ansi "^4.0.0" wrap-ansi "^6.2.0" -longest@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/longest/-/longest-2.0.1.tgz#781e183296aa94f6d4d916dc335d0d17aefa23f8" - integrity sha1-eB4YMpaqlPbU2RbcM10NF676I/g= - loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.2.0, loose-envify@^1.3.1, loose-envify@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" @@ -10630,11 +10271,6 @@ merge2@^1.3.0, merge2@^1.4.1: resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== -merge@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/merge/-/merge-2.1.1.tgz#59ef4bf7e0b3e879186436e8481c06a6c162ca98" - integrity sha512-jz+Cfrg9GWOZbQAnDQ4hlVnQky+341Yk5ru8bZSe6sIDTCIg8n9i/u7hSQGSVOF3C7lH6mGtqjkiT9G4wFLL0w== - methods@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" @@ -10682,11 +10318,6 @@ mime@^2.3.1: resolved "https://registry.yarnpkg.com/mime/-/mime-2.6.0.tgz#a2a682a95cd4d0cb1d6257e28f83da7e35800367" integrity sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg== -mimic-fn@^1.0.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" - integrity sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ== - mimic-fn@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" @@ -10759,11 +10390,6 @@ minimist-options@4.1.0: is-plain-obj "^1.1.0" kind-of "^6.0.3" -minimist@1.2.5: - version "1.2.5" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" - integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== - minimist@^1.2.0, minimist@^1.2.5, minimist@^1.2.6: version "1.2.6" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.6.tgz#8637a5b759ea0d6e98702cfb3a9283323c93af44" @@ -10907,11 +10533,6 @@ multimatch@^5.0.0: arrify "^2.0.1" minimatch "^3.0.4" -mute-stream@0.0.7: - version "0.0.7" - resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" - integrity sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s= - mute-stream@0.0.8, mute-stream@~0.0.4: version "0.0.8" resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d" @@ -11273,10 +10894,10 @@ object-assign@^4.1.0, object-assign@^4.1.1: resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= -object-inspect@^1.12.0, object-inspect@^1.9.0: - version "1.12.0" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.0.tgz#6e2c120e868fd1fd18cb4f18c31741d0d6e776f0" - integrity sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g== +object-inspect@^1.12.0, object-inspect@^1.12.2, object-inspect@^1.9.0: + version "1.12.2" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.2.tgz#c0641f26394532f28ab8d796ab954e43c009a8ea" + integrity sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ== object-keys@^1.1.1: version "1.1.1" @@ -11352,13 +10973,6 @@ once@^1.3.0, once@^1.3.1, once@^1.4.0: dependencies: wrappy "1" -onetime@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4" - integrity sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ= - dependencies: - mimic-fn "^1.0.0" - onetime@^5.1.0, onetime@^5.1.2: version "5.1.2" resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" @@ -11626,11 +11240,6 @@ parse-numeric-range@^1.3.0: resolved "https://registry.yarnpkg.com/parse-numeric-range/-/parse-numeric-range-1.3.0.tgz#7c63b61190d61e4d53a1197f0c83c47bb670ffa3" integrity sha512-twN+njEipszzlMJd4ONUYgSfZPDxgHhT9Ahed5uTigpQn90FggW4SA/AIPq/6a149fTbE9qBEcSwE3FAEp6wQQ== -parse-passwd@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6" - integrity sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY= - parse-path@^4.0.0: version "4.0.3" resolved "https://registry.yarnpkg.com/parse-path/-/parse-path-4.0.3.tgz#82d81ec3e071dcc4ab49aa9f2c9c0b8966bb22bf" @@ -12899,25 +12508,17 @@ resolve-cwd@^3.0.0: dependencies: resolve-from "^5.0.0" -resolve-dir@^1.0.0, resolve-dir@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/resolve-dir/-/resolve-dir-1.0.1.tgz#79a40644c362be82f26effe739c9bb5382046f43" - integrity sha1-eaQGRMNivoLybv/nOcm7U4IEb0M= - dependencies: - expand-tilde "^2.0.0" - global-modules "^1.0.0" - -resolve-from@5.0.0, resolve-from@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" - integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== - resolve-from@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== -resolve-global@1.0.0, resolve-global@^1.0.0: +resolve-from@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" + integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== + +resolve-global@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/resolve-global/-/resolve-global-1.0.0.tgz#a2a79df4af2ca3f49bf77ef9ddacd322dad19255" integrity sha512-zFa12V4OLtT5XUX/Q4VLvTfBf+Ok0SPc1FNGM/z9ctUdiU618qwKpWnd0CHs3+RqROfyEg/DhuHbMWYqcgljEw== @@ -12973,14 +12574,6 @@ responselike@^1.0.2: dependencies: lowercase-keys "^1.0.0" -restore-cursor@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf" - integrity sha1-n37ih/gv0ybU/RYpI9YhKe7g368= - dependencies: - onetime "^2.0.0" - signal-exit "^3.0.2" - restore-cursor@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" @@ -13016,10 +12609,20 @@ rimraf@*, rimraf@^3.0.0, rimraf@^3.0.2: dependencies: glob "^7.1.3" -rollup@^2.72.1: - version "2.74.1" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.74.1.tgz#4fba0ff1c312cc4ee82691b154eee69a0d01929f" - integrity sha512-K2zW7kV8Voua5eGkbnBtWYfMIhYhT9Pel2uhBk2WO5eMee161nPze/XRfvEQPFYz7KgrCCnmh2Wy0AMFLGGmMA== +rollup-plugin-terser@^7.0.2: + version "7.0.2" + resolved "https://registry.yarnpkg.com/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz#e8fbba4869981b2dc35ae7e8a502d5c6c04d324d" + integrity sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ== + dependencies: + "@babel/code-frame" "^7.10.4" + jest-worker "^26.2.1" + serialize-javascript "^4.0.0" + terser "^5.0.0" + +rollup@^2.75.4: + version "2.75.4" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.75.4.tgz#c3518c326c98e508b628a93015a03a276c331f22" + integrity sha512-JgZiJMJkKImMZJ8ZY1zU80Z2bA/TvrL/7D9qcBCrfl2bP+HUaIw0QHUroB4E3gBpFl6CRFM1YxGbuYGtdAswbQ== optionalDependencies: fsevents "~2.3.2" @@ -13038,7 +12641,7 @@ rtlcss@^3.5.0: postcss "^8.3.11" strip-json-comments "^3.1.1" -run-async@^2.2.0, run-async@^2.4.0: +run-async@^2.4.0: version "2.4.1" resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.4.1.tgz#8440eccf99ea3e70bd409d49aab88e10c189a455" integrity sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ== @@ -13065,14 +12668,14 @@ rxjs-for-await@0.0.2: resolved "https://registry.yarnpkg.com/rxjs-for-await/-/rxjs-for-await-0.0.2.tgz#26598a1d6167147cc192172970e7eed4e620384b" integrity sha512-IJ8R/ZCFMHOcDIqoABs82jal00VrZx8Xkgfe7TOKoaRPAW5nH/VFlG23bXpeGdrmtqI9UobFPgUKgCuFc7Lncw== -rxjs@^6.4.0, rxjs@^6.5.4, rxjs@^6.6.0: +rxjs@^6.5.4, rxjs@^6.6.0: version "6.6.7" resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.7.tgz#90ac018acabf491bf65044235d5863c4dab804c9" integrity sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ== dependencies: tslib "^1.9.0" -rxjs@^7.4.0, rxjs@^7.5.2, rxjs@^7.5.4: +rxjs@^7.4.0, rxjs@^7.5.4, rxjs@^7.5.5: version "7.5.5" resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.5.5.tgz#2ebad89af0f560f460ad5cc4213219e1f7dd4e9f" integrity sha512-sy+H0pQofO95VDmFLzyaw9xNJU4KTRSwQIGM6+iG3SypAtCiLDzpeG8sJrNCWn2Up9km+KhkvTdbkrdy+yzZdw== @@ -13187,18 +12790,18 @@ semver@7.3.4: dependencies: lru-cache "^6.0.0" -semver@7.3.7, semver@^7.0.0, semver@^7.1.1, semver@^7.1.3, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5, semver@^7.3.7, semver@~7.3.0: +semver@^6.0.0, semver@^6.1.1, semver@^6.1.2, semver@^6.2.0, semver@^6.3.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" + integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== + +semver@^7.0.0, semver@^7.1.1, semver@^7.1.3, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5, semver@^7.3.7, semver@~7.3.0: version "7.3.7" resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.7.tgz#12c5b649afdbf9049707796e22a4028814ce523f" integrity sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g== dependencies: lru-cache "^6.0.0" -semver@^6.0.0, semver@^6.1.1, semver@^6.1.2, semver@^6.2.0, semver@^6.3.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" - integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== - send@0.18.0: version "0.18.0" resolved "https://registry.yarnpkg.com/send/-/send-0.18.0.tgz#670167cc654b05f5aa4a767f9113bb371bc706be" @@ -13218,6 +12821,13 @@ send@0.18.0: range-parser "~1.2.1" statuses "2.0.1" +serialize-javascript@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-4.0.0.tgz#b525e1238489a5ecfc42afacc3fe99e666f4b1aa" + integrity sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw== + dependencies: + randombytes "^2.1.0" + serialize-javascript@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.0.tgz#efae5d88f45d7924141da8b5c3a7a7e663fefeb8" @@ -13489,11 +13099,6 @@ source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, source-map@~0.6.1: resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== -source-map@~0.7.2: - version "0.7.3" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" - integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== - sourcemap-codec@^1.4.4: version "1.4.8" resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz#ea804bd94857402e6992d05a38ef1ae35a9ab4c4" @@ -13674,14 +13279,6 @@ string-width@^1.0.1: is-fullwidth-code-point "^3.0.0" strip-ansi "^6.0.1" -string-width@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" - integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== - dependencies: - is-fullwidth-code-point "^2.0.0" - strip-ansi "^4.0.0" - string-width@^5.0.0, string-width@^5.0.1: version "5.1.2" resolved "https://registry.yarnpkg.com/string-width/-/string-width-5.1.2.tgz#14f8daec6d81e7221d2a357e668cab73bdbca794" @@ -13753,20 +13350,6 @@ strip-ansi@^3.0.0, strip-ansi@^3.0.1: dependencies: ansi-regex "^2.0.0" -strip-ansi@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" - integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8= - dependencies: - ansi-regex "^3.0.0" - -strip-ansi@^5.1.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" - integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== - dependencies: - ansi-regex "^4.1.0" - strip-ansi@^6.0.0, strip-ansi@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" @@ -13786,16 +13369,16 @@ strip-bom-string@^1.0.0: resolved "https://registry.yarnpkg.com/strip-bom-string/-/strip-bom-string-1.0.0.tgz#e5211e9224369fbb81d633a2f00044dc8cedad92" integrity sha1-5SEekiQ2n7uB1jOi8ABE3IztrZI= -strip-bom@4.0.0, strip-bom@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878" - integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w== - strip-bom@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= +strip-bom@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878" + integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w== + strip-final-newline@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" @@ -13808,11 +13391,6 @@ strip-indent@^3.0.0: dependencies: min-indent "^1.0.0" -strip-json-comments@3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.0.1.tgz#85713975a91fb87bf1b305cca77395e40d2a64a7" - integrity sha512-VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc/xe5HLSdJSkJ+WfZw== - strip-json-comments@^3.1.0, strip-json-comments@^3.1.1, strip-json-comments@~3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" @@ -13868,10 +13446,10 @@ supports-color@^8.0.0, supports-color@^8.1.1: dependencies: has-flag "^4.0.0" -supports-color@^9.2.1: - version "9.2.1" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-9.2.1.tgz#599dc9d45acf74c6176e0d880bab1d7d718fe891" - integrity sha512-Obv7ycoCTG51N7y175StI9BlAXrmgZrFhZOb0/PyjHBher/NmsdBgbbQ1Inhq+gIhz6+7Gb+jWF2Vqi7Mf1xnQ== +supports-color@^9.2.2: + version "9.2.2" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-9.2.2.tgz#502acaf82f2b7ee78eb7c83dcac0f89694e5a7bb" + integrity sha512-XC6g/Kgux+rJXmwokjm9ECpD6k/smUoS5LKlUCcsYr4IY3rW0XyAympon2RmxGrlnZURMpg5T18gWDP9CsHXFA== supports-hyperlinks@^2.0.0: version "2.2.0" @@ -13961,14 +13539,14 @@ terser-webpack-plugin@^5.1.3, terser-webpack-plugin@^5.3.1: source-map "^0.6.1" terser "^5.7.2" -terser@^5.10.0, terser@^5.7.2: - version "5.12.1" - resolved "https://registry.yarnpkg.com/terser/-/terser-5.12.1.tgz#4cf2ebed1f5bceef5c83b9f60104ac4a78b49e9c" - integrity sha512-NXbs+7nisos5E+yXwAD+y7zrcTkMqb0dEJxIGtSKPdCBzopf7ni4odPul2aechpV7EXNvOudYOX2bb5tln1jbQ== +terser@^5.0.0, terser@^5.10.0, terser@^5.7.2: + version "5.14.0" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.14.0.tgz#eefeec9af5153f55798180ee2617f390bdd285e2" + integrity sha512-JC6qfIEkPBd9j1SMO3Pfn+A6w2kQV54tv+ABQLgZr7dA3k/DL/OBoYSWxzVpZev3J+bUHXfr55L8Mox7AaNo6g== dependencies: + "@jridgewell/source-map" "^0.3.2" acorn "^8.5.0" commander "^2.20.0" - source-map "~0.7.2" source-map-support "~0.5.20" test-exclude@^6.0.0: @@ -14143,7 +13721,7 @@ ts-essentials@^2.0.3: resolved "https://registry.yarnpkg.com/ts-essentials/-/ts-essentials-2.0.12.tgz#c9303f3d74f75fa7528c3d49b80e089ab09d8745" integrity sha512-3IVX4nI6B5cc31/GFFE+i8ey/N2eA0CZDbo6n0yrz0zDX8ZJ8djmU1p+XRz7G3is0F3bB3pu2pAroFdAWQKU3w== -ts-node@^10.4.0, ts-node@^10.7.0: +ts-node@^10.7.0: version "10.7.0" resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.7.0.tgz#35d503d0fab3e2baa672a0e94f4b40653c2463f5" integrity sha512-TbIGS4xgJoX2i3do417KSaep1uRAW/Lu+WAL2doDHC0D6ummjirVOXU5/7aiZotbQ5p1Zp9tP7U6cYhA0O7M8A== @@ -14294,7 +13872,7 @@ 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.4.3, typescript@^4.5.3, typescript@^4.5.5, typescript@~4.6.3: +typescript@*, typescript@4.7.2, "typescript@>=3.3.1 <4.8.0", typescript@^4.5.3, typescript@^4.5.5, typescript@~4.6.3: version "4.7.2" resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.7.2.tgz#1f9aa2ceb9af87cca227813b4310fff0b51593c4" integrity sha512-Mamb1iX2FDUpcTRzltPxgWMKy3fhg0TN378ylbktPGPK/99KbDtMQ4W1hwgsbPAsG3a0xKa1vmw4VKZQbkvz5A== @@ -14908,7 +14486,7 @@ which-boxed-primitive@^1.0.2: is-string "^1.0.5" is-symbol "^1.0.3" -which@^1.2.14, which@^1.3.1: +which@^1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== @@ -14948,7 +14526,7 @@ wildcard@^2.0.0: resolved "https://registry.yarnpkg.com/wildcard/-/wildcard-2.0.0.tgz#a77d20e5200c6faaac979e4b3aadc7b3dd7f8fec" integrity sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw== -word-wrap@^1.0.3, word-wrap@^1.2.3: +word-wrap@^1.2.3: version "1.2.3" resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== @@ -15120,7 +14698,7 @@ yargs@^16.2.0: y18n "^5.0.5" yargs-parser "^20.2.2" -yargs@^17.0.0, yargs@^17.3.1, yargs@^17.4.0: +yargs@^17.3.1, yargs@^17.4.0: version "17.4.1" resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.4.1.tgz#ebe23284207bb75cee7c408c33e722bfb27b5284" integrity sha512-WSZD9jgobAg3ZKuCQZSa3g9QOJeCCqLoLAykiWgmXnDo9EPnn4RPf5qVTtzgOx66o6/oqhcA5tHtJXpG8pMt3g==