diff --git a/.eslintrc.js b/.eslintrc.js new file mode 100644 index 000000000000..6cb7aee6824a --- /dev/null +++ b/.eslintrc.js @@ -0,0 +1,454 @@ +// @ts-check +/** @type {import('./packages/utils/src/ts-eslint/Linter').Linter.Config} */ +module.exports = { + root: true, + plugins: [ + '@typescript-eslint', + '@typescript-eslint/internal', + 'deprecation', + 'eslint-comments', + 'eslint-plugin', + 'import', + 'jest', + 'jsdoc', + 'simple-import-sort', + 'unicorn', + ], + env: { + es2020: true, + node: true, + }, + extends: [ + 'eslint:recommended', + 'plugin:eslint-plugin/recommended', + 'plugin:jsdoc/recommended-typescript-error', + 'plugin:@typescript-eslint/strict-type-checked', + 'plugin:@typescript-eslint/stylistic-type-checked', + ], + parserOptions: { + allowAutomaticSingleRunInference: true, + cacheLifetime: { + // we pretty well never create/change tsconfig structure - so no need to ever evict the cache + // in the rare case that we do - just need to manually restart their IDE. + glob: 'Infinity', + }, + project: [ + './tsconfig.eslint.json', + './packages/*/tsconfig.json', + /** + * We are currently in the process of transitioning to nx's out of the box structure and + * so need to manually specify converted packages' tsconfig.build.json and tsconfig.spec.json + * files here for now in addition to the tsconfig.json glob pattern. + * + * TODO(#4665): Clean this up once all packages have been transitioned. + */ + './packages/scope-manager/tsconfig.build.json', + './packages/scope-manager/tsconfig.spec.json', + ], + tsconfigRootDir: __dirname, + }, + rules: { + // make sure we're not leveraging any deprecated APIs + 'deprecation/deprecation': 'error', + + // TODO(#7130): Investigate changing these in or removing these from presets + '@typescript-eslint/no-confusing-void-expression': 'off', + '@typescript-eslint/prefer-string-starts-ends-with': 'off', + + // + // our plugin :D + // + + '@typescript-eslint/ban-ts-comment': [ + 'error', + { + 'ts-expect-error': 'allow-with-description', + 'ts-ignore': true, + 'ts-nocheck': true, + 'ts-check': false, + minimumDescriptionLength: 5, + }, + ], + '@typescript-eslint/consistent-type-imports': [ + 'error', + { prefer: 'type-imports', disallowTypeAnnotations: true }, + ], + '@typescript-eslint/explicit-function-return-type': [ + 'error', + { allowIIFEs: true }, + ], + '@typescript-eslint/no-explicit-any': 'error', + '@typescript-eslint/no-non-null-assertion': 'off', + 'no-constant-condition': 'off', + '@typescript-eslint/no-unnecessary-condition': [ + 'error', + { allowConstantLoopConditions: true }, + ], + '@typescript-eslint/no-var-requires': 'off', + '@typescript-eslint/prefer-literal-enum-member': [ + 'error', + { + allowBitwiseExpressions: true, + }, + ], + '@typescript-eslint/unbound-method': 'off', + '@typescript-eslint/restrict-template-expressions': [ + 'error', + { + allowNumber: true, + allowBoolean: true, + allowAny: true, + allowNullish: true, + allowRegExp: true, + }, + ], + '@typescript-eslint/no-unused-vars': [ + 'error', + { varsIgnorePattern: '^_', argsIgnorePattern: '^_' }, + ], + '@typescript-eslint/prefer-nullish-coalescing': [ + 'error', + { + ignoreConditionalTests: true, + ignorePrimitives: true, + }, + ], + + // + // Internal repo rules + // + + '@typescript-eslint/internal/no-poorly-typed-ts-props': 'error', + '@typescript-eslint/internal/no-typescript-default-import': 'error', + '@typescript-eslint/internal/prefer-ast-types-enum': 'error', + + // + // eslint-base + // + + curly: ['error', 'all'], + eqeqeq: [ + 'error', + 'always', + { + null: 'never', + }, + ], + 'logical-assignment-operators': 'error', + 'no-else-return': 'error', + 'no-mixed-operators': 'error', + 'no-console': 'error', + 'no-process-exit': 'error', + 'no-fallthrough': [ + 'error', + { commentPattern: '.*intentional fallthrough.*' }, + ], + 'one-var': ['error', 'never'], + + // + // eslint-plugin-eslint-comment + // + + // require a eslint-enable comment for every eslint-disable comment + 'eslint-comments/disable-enable-pair': [ + 'error', + { + allowWholeFile: true, + }, + ], + // disallow a eslint-enable comment for multiple eslint-disable comments + 'eslint-comments/no-aggregating-enable': 'error', + // disallow duplicate eslint-disable comments + 'eslint-comments/no-duplicate-disable': 'error', + // disallow eslint-disable comments without rule names + 'eslint-comments/no-unlimited-disable': 'error', + // disallow unused eslint-disable comments + 'eslint-comments/no-unused-disable': 'error', + // disallow unused eslint-enable comments + 'eslint-comments/no-unused-enable': 'error', + // disallow ESLint directive-comments + 'eslint-comments/no-use': [ + 'error', + { + allow: [ + 'eslint-disable', + 'eslint-disable-line', + 'eslint-disable-next-line', + 'eslint-enable', + 'global', + ], + }, + ], + + // + // eslint-plugin-import + // + + // disallow non-import statements appearing before import statements + 'import/first': 'error', + // Require a newline after the last import/require in a group + 'import/newline-after-import': 'error', + // Forbid import of modules using absolute paths + 'import/no-absolute-path': 'error', + // disallow AMD require/define + 'import/no-amd': 'error', + // forbid default exports - we want to standardize on named exports so that imported names are consistent + 'import/no-default-export': 'error', + // disallow imports from duplicate paths + 'import/no-duplicates': 'error', + // Forbid the use of extraneous packages + 'import/no-extraneous-dependencies': [ + 'error', + { + devDependencies: true, + peerDependencies: true, + optionalDependencies: false, + }, + ], + // Forbid mutable exports + 'import/no-mutable-exports': 'error', + // Prevent importing the default as if it were named + 'import/no-named-default': 'error', + // Prohibit named exports + 'import/no-named-export': 'off', // we want everything to be a named export + // Forbid a module from importing itself + 'import/no-self-import': 'error', + // Require modules with a single export to use a default export + 'import/prefer-default-export': 'off', // we want everything to be named + + // enforce a sort order across the codebase + 'simple-import-sort/imports': 'error', + + // + // eslint-plugin-jsdoc + // + + // We often use @remarks or other ad-hoc tag names + 'jsdoc/check-tag-names': 'off', + // https://github.com/gajus/eslint-plugin-jsdoc/issues/1169 + 'jsdoc/check-param-names': 'off', + // https://github.com/gajus/eslint-plugin-jsdoc/issues/1175 + 'jsdoc/require-jsdoc': 'off', + 'jsdoc/require-param': 'off', + 'jsdoc/require-returns': 'off', + 'jsdoc/require-yields': 'off', + 'jsdoc/tag-lines': 'off', + + // + // eslint-plugin-unicorn + // + + 'unicorn/no-typeof-undefined': 'error', + }, + overrides: [ + { + files: ['*.js'], + extends: ['plugin:@typescript-eslint/disable-type-checked'], + rules: { + // turn off other type-aware rules + 'deprecation/deprecation': 'off', + '@typescript-eslint/internal/no-poorly-typed-ts-props': 'off', + + // turn off rules that don't apply to JS code + '@typescript-eslint/explicit-function-return-type': 'off', + }, + }, + // all test files + { + files: [ + './packages/*/tests/**/*.spec.ts', + './packages/*/tests/**/*.test.ts', + './packages/*/tests/**/spec.ts', + './packages/*/tests/**/test.ts', + './packages/parser/tests/**/*.ts', + './packages/integration-tests/tools/integration-test-base.ts', + './packages/integration-tests/tools/pack-packages.ts', + ], + env: { + 'jest/globals': true, + }, + rules: { + '@typescript-eslint/no-empty-function': [ + 'error', + { allow: ['arrowFunctions'] }, + ], + '@typescript-eslint/no-unsafe-assignment': 'off', + '@typescript-eslint/no-unsafe-call': 'off', + '@typescript-eslint/no-unsafe-member-access': 'off', + '@typescript-eslint/no-unsafe-return': 'off', + 'eslint-plugin/consistent-output': 'off', // Might eventually be removed from `eslint-plugin/recommended`: https://github.com/not-an-aardvark/eslint-plugin-eslint-plugin/issues/284 + 'jest/no-disabled-tests': 'error', + 'jest/no-focused-tests': 'error', + 'jest/no-alias-methods': 'error', + 'jest/no-identical-title': 'error', + 'jest/no-jasmine-globals': 'error', + 'jest/no-test-prefixes': 'error', + 'jest/no-done-callback': 'error', + 'jest/no-test-return-statement': 'error', + 'jest/prefer-to-be': 'error', + 'jest/prefer-to-contain': 'error', + 'jest/prefer-to-have-length': 'error', + 'jest/prefer-spy-on': 'error', + 'jest/valid-expect': 'error', + 'jest/no-deprecated-functions': 'error', + }, + }, + // test utility scripts and website js files + { + files: ['tests/**/*.js'], + rules: { + '@typescript-eslint/explicit-function-return-type': 'off', + '@typescript-eslint/no-unsafe-call': 'off', + '@typescript-eslint/no-unsafe-member-access': 'off', + '@typescript-eslint/no-unsafe-return': 'off', + '@typescript-eslint/restrict-plus-operands': 'off', + }, + }, + // plugin source files + { + files: [ + './packages/eslint-plugin-internal/**/*.ts', + './packages/eslint-plugin/**/*.ts', + ], + rules: { + '@typescript-eslint/internal/no-typescript-estree-import': 'error', + }, + }, + // plugin rule source files + { + files: [ + './packages/eslint-plugin-internal/src/rules/**/*.ts', + './packages/eslint-plugin/src/configs/**/*.ts', + './packages/eslint-plugin/src/rules/**/*.ts', + ], + rules: { + 'eslint-plugin/require-meta-docs-description': [ + 'error', + { pattern: '^(Enforce|Require|Disallow) .+[^. ]$' }, + ], + + // specifically for rules - default exports makes the tooling easier + 'import/no-default-export': 'off', + + 'no-restricted-syntax': [ + 'error', + { + selector: + 'ExportDefaultDeclaration Property[key.name="create"] MemberExpression[object.name="context"][property.name="options"]', + message: + "Retrieve options from create's second parameter so that defaultOptions are applied.", + }, + ], + }, + }, + // plugin rule tests + { + files: [ + './packages/eslint-plugin-internal/tests/rules/**/*.test.ts', + './packages/eslint-plugin/tests/rules/**/*.test.ts', + './packages/eslint-plugin/tests/eslint-rules/**/*.test.ts', + ], + rules: { + '@typescript-eslint/internal/plugin-test-formatting': 'error', + }, + }, + // files which list all the things + { + files: ['./packages/eslint-plugin/src/rules/index.ts'], + rules: { + // enforce alphabetical ordering + 'sort-keys': 'error', + 'import/order': ['error', { alphabetize: { order: 'asc' } }], + }, + }, + // tools and tests + { + files: [ + '**/tools/**/*.*t*', + '**/tests/**/*.ts', + './packages/repo-tools/**/*.*t*', + './packages/integration-tests/**/*.*t*', + ], + rules: { + // allow console logs in tools and tests + 'no-console': 'off', + }, + }, + // generated files + { + files: [ + './packages/scope-manager/src/lib/*.ts', + './packages/eslint-plugin/src/configs/*.ts', + ], + rules: { + '@typescript-eslint/internal/no-poorly-typed-ts-props': 'off', + '@typescript-eslint/internal/no-typescript-default-import': 'off', + '@typescript-eslint/internal/prefer-ast-types-enum': 'off', + }, + }, + // ast spec specific standardization + { + files: ['./packages/ast-spec/src/**/*.ts'], + rules: { + // disallow ALL unused vars + '@typescript-eslint/no-unused-vars': 'error', + '@typescript-eslint/sort-type-constituents': 'error', + }, + }, + { + files: ['./packages/ast-spec/**/*.ts'], + rules: { + 'no-restricted-imports': [ + 'error', + { + name: '@typescript-eslint/typescript-estree', + message: + 'To prevent nx build errors, all `typescript-estree` imports should be done via `packages/ast-spec/tests/util/parsers/typescript-estree-import.ts`.', + }, + ], + }, + }, + { + files: ['rollup.config.ts'], + rules: { + 'import/no-default-export': 'off', + }, + }, + { + files: ['./packages/website/**/*.{ts,tsx,mts,cts,js,jsx}'], + extends: [ + 'plugin:jsx-a11y/recommended', + 'plugin:react/recommended', + 'plugin:react-hooks/recommended', + ], + plugins: ['jsx-a11y', 'react', 'react-hooks'], + rules: { + '@typescript-eslint/internal/prefer-ast-types-enum': 'off', + 'import/no-default-export': 'off', + 'react/jsx-no-target-blank': 'off', + 'react/no-unescaped-entities': 'off', + 'react-hooks/exhaustive-deps': 'warn', // TODO: enable it later + }, + settings: { + react: { + version: 'detect', + }, + }, + }, + { + files: ['./packages/website/src/**/*.{ts,tsx}'], + rules: { + 'import/no-default-export': 'off', + // allow console logs in the website to help with debugging things in production + 'no-console': 'off', + }, + }, + { + files: ['./packages/website-eslint/src/mock/**/*.js', '*.d.ts'], + rules: { + // mocks and declaration files have to mirror their original package + 'import/no-default-export': 'off', + }, + }, + ], +}; diff --git a/.github/ISSUE_TEMPLATE/06-bug-report-other.yaml b/.github/ISSUE_TEMPLATE/06-bug-report-other.yaml index c3ab6ee8df3b..7d9fc140f091 100644 --- a/.github/ISSUE_TEMPLATE/06-bug-report-other.yaml +++ b/.github/ISSUE_TEMPLATE/06-bug-report-other.yaml @@ -34,7 +34,6 @@ body: description: Select the package against which you want to report the bug. options: - ast-spec - - eslint-plugin-tslint - parser - rule-tester - scope-manager diff --git a/.github/ISSUE_TEMPLATE/07-enhancement-other.yaml b/.github/ISSUE_TEMPLATE/07-enhancement-other.yaml index b3ae91962b1c..ddb1ef6e328d 100644 --- a/.github/ISSUE_TEMPLATE/07-enhancement-other.yaml +++ b/.github/ISSUE_TEMPLATE/07-enhancement-other.yaml @@ -24,7 +24,6 @@ body: description: Select the package against which you want to report the bug. options: - ast-spec - - eslint-plugin-tslint - parser - scope-manager - type-utils diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ba2829c7f2c9..4d4a1ee08b2e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -167,7 +167,6 @@ jobs: 'ast-spec', 'eslint-plugin', 'eslint-plugin-internal', - 'eslint-plugin-tslint', 'parser', 'repo-tools', 'rule-schema-to-typescript-types', @@ -226,12 +225,7 @@ jobs: strategy: matrix: package: - [ - 'eslint-plugin', - 'eslint-plugin-internal', - 'eslint-plugin-tslint', - 'typescript-estree', - ] + ['eslint-plugin', 'eslint-plugin-internal', 'typescript-estree'] env: COLLECT_COVERAGE: false steps: diff --git a/.github/workflows/semantic-pr-titles.yml b/.github/workflows/semantic-pr-titles.yml index fceee3e45519..3a3c4a2c3164 100644 --- a/.github/workflows/semantic-pr-titles.yml +++ b/.github/workflows/semantic-pr-titles.yml @@ -29,7 +29,6 @@ jobs: ast-spec eslint-plugin eslint-plugin-internal - eslint-plugin-tslint parser rule-tester scope-manager diff --git a/.vscode/launch.json b/.vscode/launch.json index 82c02f90b2e5..8b6498950280 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -71,39 +71,6 @@ "${workspaceFolder}/packages/scope-manager/dist/index.js", "${workspaceFolder}/packages/scope-manager/dist/index.js", ], - },{ - "type": "node", - "request": "launch", - "name": "Jest Test Current eslint-plugin-tslint Rule", - "cwd": "${workspaceFolder}/packages/eslint-plugin-tslint/", - "program": "${workspaceFolder}/node_modules/jest/bin/jest.js", - "args": [ - "--runInBand", - "--no-cache", - "--no-coverage", - "${fileBasenameNoExtension}" - ], - "sourceMaps": true, - "console": "integratedTerminal", - "internalConsoleOptions": "neverOpen", - "skipFiles": [ - "${workspaceFolder}/packages/utils/src/index.ts", - "${workspaceFolder}/packages/utils/dist/index.js", - "${workspaceFolder}/packages/utils/src/ts-estree.ts", - "${workspaceFolder}/packages/utils/dist/ts-estree.js", - "${workspaceFolder}/packages/type-utils/src/index.ts", - "${workspaceFolder}/packages/type-utils/dist/index.js", - "${workspaceFolder}/packages/parser/src/index.ts", - "${workspaceFolder}/packages/parser/dist/index.js", - "${workspaceFolder}/packages/typescript-estree/src/index.ts", - "${workspaceFolder}/packages/typescript-estree/dist/index.js", - "${workspaceFolder}/packages/types/src/index.ts", - "${workspaceFolder}/packages/types/dist/index.js", - "${workspaceFolder}/packages/visitor-keys/src/index.ts", - "${workspaceFolder}/packages/visitor-keys/dist/index.js", - "${workspaceFolder}/packages/scope-manager/dist/index.js", - "${workspaceFolder}/packages/scope-manager/dist/index.js", - ], }, { "type": "node", @@ -141,40 +108,6 @@ "${workspaceFolder}/packages/scope-manager/dist/index.js", ], }, - { - "type": "node", - "request": "launch", - "name": "Jest Test Current eslint-plugin-tslint Rule", - "cwd": "${workspaceFolder}/packages/eslint-plugin-tslint/", - "program": "${workspaceFolder}/node_modules/jest/bin/jest.js", - "args": [ - "--runInBand", - "--no-cache", - "--no-coverage", - "${fileBasenameNoExtension}" - ], - "sourceMaps": true, - "console": "integratedTerminal", - "internalConsoleOptions": "neverOpen", - "skipFiles": [ - "${workspaceFolder}/packages/utils/src/index.ts", - "${workspaceFolder}/packages/utils/dist/index.js", - "${workspaceFolder}/packages/utils/src/ts-estree.ts", - "${workspaceFolder}/packages/utils/dist/ts-estree.js", - "${workspaceFolder}/packages/type-utils/src/index.ts", - "${workspaceFolder}/packages/type-utils/dist/index.js", - "${workspaceFolder}/packages/parser/src/index.ts", - "${workspaceFolder}/packages/parser/dist/index.js", - "${workspaceFolder}/packages/typescript-estree/src/index.ts", - "${workspaceFolder}/packages/typescript-estree/dist/index.js", - "${workspaceFolder}/packages/types/src/index.ts", - "${workspaceFolder}/packages/types/dist/index.js", - "${workspaceFolder}/packages/visitor-keys/src/index.ts", - "${workspaceFolder}/packages/visitor-keys/dist/index.js", - "${workspaceFolder}/packages/scope-manager/dist/index.js", - "${workspaceFolder}/packages/scope-manager/dist/index.js", - ], - }, { "type": "node", "request": "launch", diff --git a/docs/packages/ESLint_Plugin_TSLint.mdx b/docs/packages/ESLint_Plugin_TSLint.mdx index 6b9da9e6982f..f8f3d8dc8119 100644 --- a/docs/packages/ESLint_Plugin_TSLint.mdx +++ b/docs/packages/ESLint_Plugin_TSLint.mdx @@ -12,40 +12,5 @@ Per [What About TSLint?](../troubleshooting/TSLint.mdx), we highly recommend mig See [Getting Started](../getting-started/Quickstart.mdx) for documentation on how to lint your TypeScript code with ESLint. ::: -## Installation - -```sh -yarn add -D @typescript-eslint/eslint-plugin-tslint -``` - -## Usage - -Configure in your ESLint config file: - -```js -{ - "plugins": [ - "@typescript-eslint/tslint" - ], - "parserOptions": { - "project": "tsconfig.json", - }, - "rules": { - "@typescript-eslint/tslint/config": ["warn", { - "lintFile": "", // path to tslint.json of your project - "rules": { - // tslint rules (will be used if `lintFile` is not specified) - }, - "rulesDirectory": [ - // array of paths to directories with rules, e.g. 'node_modules/tslint/lib/rules' (will be used if `lintFile` is not specified) - ] - }], - } -} -``` - -**Note:** The ability to automatically fix problems with `--fix` is unavailable for TSLint rules loaded with this plugin. - -## Rules - -This plugin contains only a single rule: `@typescript-eslint/tslint/config`. +Documentation for this package has moved to [github.com/typescript-eslint/eslint-plugin-tslint](https://github.com/typescript-eslint/eslint-plugin-tslint). +This page will eventually be removed. diff --git a/docs/users/Versioning.mdx b/docs/users/Versioning.mdx index f2170a051520..4501218587a6 100644 --- a/docs/users/Versioning.mdx +++ b/docs/users/Versioning.mdx @@ -30,7 +30,7 @@ A change to the AST **_shall not_** be considered breaking if it: - Refines a type to be more specific (i.e. `string` to `'literal' | 'union'`). - Removes a type from a union that was erroneously added and did not match the runtime AST. -### `eslint-plugin` and `eslint-plugin-tslint` +### `eslint-plugin` A change to the plugins **_shall_** be considered breaking if it will require the user to change their config. More specifically: diff --git a/package.json b/package.json index 5522da4d1e26..9846a467e112 100644 --- a/package.json +++ b/package.json @@ -117,7 +117,6 @@ "rimraf": "^5.0.1", "tmp": "^0.2.1", "ts-node": "10.7.0", - "tslint": "^6.1.3", "tsx": "^4.6.2", "typescript": ">=4.7.4 <5.4.0", "typescript-eslint": "workspace:^", diff --git a/packages/eslint-plugin-tslint/CHANGELOG.md b/packages/eslint-plugin-tslint/CHANGELOG.md deleted file mode 100644 index 02aa5478c4a9..000000000000 --- a/packages/eslint-plugin-tslint/CHANGELOG.md +++ /dev/null @@ -1,1557 +0,0 @@ -## 7.0.2 (2024-02-19) - - -### 🩹 Fixes - -- fix tsconfig-less check errors, fix `@types/eslint` incompatibilities, add tests - - -### ❤️ Thank You - -- Brad Zacher -- Gareth Jones - -You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. - -## 7.0.1 (2024-02-12) - -This was a version bump only for eslint-plugin-tslint to align it with other projects, there were no code changes. - -You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. - -# 7.0.0 (2024-02-12) - - -### 🚀 Features - -- ⚠️ bump ESLint, NodeJS, and TS minimum version requirements - -- add support for flat configs - - -#### ⚠️ Breaking Changes - -- ⚠️ bump ESLint, NodeJS, and TS minimum version requirements - -### ❤️ Thank You - -- Brad Zacher -- Kirk Waiblinger -- StyleShit -- YeonJuan - -You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. - -## 6.21.0 (2024-02-05) - - -### 🚀 Features - -- export plugin metadata - -- allow `parserOptions.project: false` - - -### ❤️ Thank You - -- auvred -- Brad Zacher -- Kirk Waiblinger -- Pete Gonzalez -- YeonJuan - -You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. - -## 6.20.0 (2024-01-29) - -This was a version bump only for eslint-plugin-tslint to align it with other projects, there were no code changes. - -You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. - -## 6.19.1 (2024-01-22) - -This was a version bump only for eslint-plugin-tslint to align it with other projects, there were no code changes. - -You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. - -## 6.19.0 (2024-01-15) - -This was a version bump only for eslint-plugin-tslint to align it with other projects, there were no code changes. - -You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. - -## 6.18.1 (2024-01-08) - -This was a version bump only for eslint-plugin-tslint to align it with other projects, there were no code changes. - -You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. - -## 6.18.0 (2024-01-06) - -This was a version bump only for eslint-plugin-tslint to align it with other projects, there were no code changes. - -You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. - -# [6.17.0](https://github.com/typescript-eslint/typescript-eslint/compare/v6.16.0...v6.17.0) (2024-01-01) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. - - - - - -# [6.16.0](https://github.com/typescript-eslint/typescript-eslint/compare/v6.15.0...v6.16.0) (2023-12-25) - - -### Features - -* **typescript-estree:** add allowDefaultProjectForFiles project service allowlist option ([#7752](https://github.com/typescript-eslint/typescript-eslint/issues/7752)) ([7ddadda](https://github.com/typescript-eslint/typescript-eslint/commit/7ddadda10845bc53967eeec83ba6b7cdc71a079f)) - -You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. - - - - - -# [6.15.0](https://github.com/typescript-eslint/typescript-eslint/compare/v6.14.0...v6.15.0) (2023-12-18) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. - - - - - -# [6.14.0](https://github.com/typescript-eslint/typescript-eslint/compare/v6.13.2...v6.14.0) (2023-12-11) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. - - - - - -## [6.13.2](https://github.com/typescript-eslint/typescript-eslint/compare/v6.13.1...v6.13.2) (2023-12-04) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. - - - - - -## [6.13.1](https://github.com/typescript-eslint/typescript-eslint/compare/v6.13.0...v6.13.1) (2023-11-28) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. - - - - - -# [6.13.0](https://github.com/typescript-eslint/typescript-eslint/compare/v6.12.0...v6.13.0) (2023-11-27) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. - - - - - -# [6.12.0](https://github.com/typescript-eslint/typescript-eslint/compare/v6.11.0...v6.12.0) (2023-11-20) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. - - - - - -# [6.11.0](https://github.com/typescript-eslint/typescript-eslint/compare/v6.10.0...v6.11.0) (2023-11-13) - - -### Features - -* add types for flat config files ([#7273](https://github.com/typescript-eslint/typescript-eslint/issues/7273)) ([66cd0c0](https://github.com/typescript-eslint/typescript-eslint/commit/66cd0c0535e5de1b46ba337919a9a92748d2b0a6)) - -You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. - - - - - -# [6.10.0](https://github.com/typescript-eslint/typescript-eslint/compare/v6.9.1...v6.10.0) (2023-11-06) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. - - - - - -## [6.9.1](https://github.com/typescript-eslint/typescript-eslint/compare/v6.9.0...v6.9.1) (2023-10-30) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. - - - - - -# [6.9.0](https://github.com/typescript-eslint/typescript-eslint/compare/v6.8.0...v6.9.0) (2023-10-23) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. - - - - - -# [6.8.0](https://github.com/typescript-eslint/typescript-eslint/compare/v6.7.5...v6.8.0) (2023-10-16) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. - - - - - -## [6.7.5](https://github.com/typescript-eslint/typescript-eslint/compare/v6.7.4...v6.7.5) (2023-10-09) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. - - - - - -## [6.7.4](https://github.com/typescript-eslint/typescript-eslint/compare/v6.7.3...v6.7.4) (2023-10-02) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. - - - - - -## [6.7.3](https://github.com/typescript-eslint/typescript-eslint/compare/v6.7.2...v6.7.3) (2023-09-25) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. - - - - - -## [6.7.2](https://github.com/typescript-eslint/typescript-eslint/compare/v6.7.1...v6.7.2) (2023-09-18) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. - - - - - -## [6.7.1](https://github.com/typescript-eslint/typescript-eslint/compare/v6.7.0...v6.7.1) (2023-09-18) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. - - - - - -# [6.7.0](https://github.com/typescript-eslint/typescript-eslint/compare/v6.6.0...v6.7.0) (2023-09-11) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. - - - - - -# [6.6.0](https://github.com/typescript-eslint/typescript-eslint/compare/v6.5.0...v6.6.0) (2023-09-04) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. - - - - - -# [6.5.0](https://github.com/typescript-eslint/typescript-eslint/compare/v6.4.1...v6.5.0) (2023-08-28) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. - - - - - -## [6.4.1](https://github.com/typescript-eslint/typescript-eslint/compare/v6.4.0...v6.4.1) (2023-08-21) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. - - - - - -# [6.4.0](https://github.com/typescript-eslint/typescript-eslint/compare/v6.3.0...v6.4.0) (2023-08-14) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. - - - - - -# [6.3.0](https://github.com/typescript-eslint/typescript-eslint/compare/v6.2.1...v6.3.0) (2023-08-07) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. - - - - - -## [6.2.1](https://github.com/typescript-eslint/typescript-eslint/compare/v6.2.0...v6.2.1) (2023-07-31) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. - - - - - -# [6.2.0](https://github.com/typescript-eslint/typescript-eslint/compare/v6.1.0...v6.2.0) (2023-07-24) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. - - - - - -# [6.1.0](https://github.com/typescript-eslint/typescript-eslint/compare/v6.0.0...v6.1.0) (2023-07-17) - - -### Features - -* **typescript-estree:** add EXPERIMENTAL_useProjectService option to use TypeScript project service ([#6754](https://github.com/typescript-eslint/typescript-eslint/issues/6754)) ([6d3d162](https://github.com/typescript-eslint/typescript-eslint/commit/6d3d162ce032ebcf5f892a4edfb897797fc96191)) - -You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. - - - - - -# [6.0.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.62.0...v6.0.0) (2023-07-10) - - -### Bug Fixes - -* update `exports` field in package.json files ([#6550](https://github.com/typescript-eslint/typescript-eslint/issues/6550)) ([53776c2](https://github.com/typescript-eslint/typescript-eslint/commit/53776c244f8bbdc852d57c7b313b0935e755ddc4)) - - -### chore - -* drop support for node v14.17, v17 ([#5971](https://github.com/typescript-eslint/typescript-eslint/issues/5971)) ([cc62015](https://github.com/typescript-eslint/typescript-eslint/commit/cc62015b8ae5f207912ff8988e2a0b3fe9a79243)) - - -### Features - -* add new package `rule-tester` ([#6777](https://github.com/typescript-eslint/typescript-eslint/issues/6777)) ([2ce1c1d](https://github.com/typescript-eslint/typescript-eslint/commit/2ce1c1d22c799a1ca027674fcb9b3a7ab0107428)) -* add package.json exports for public packages ([#6458](https://github.com/typescript-eslint/typescript-eslint/issues/6458)) ([d676683](https://github.com/typescript-eslint/typescript-eslint/commit/d6766838a05259556029acaac57dc7839b68c592)) -* drop support for ESLint v6 ([#5972](https://github.com/typescript-eslint/typescript-eslint/issues/5972)) ([bda806d](https://github.com/typescript-eslint/typescript-eslint/commit/bda806d78ee46133587d9383baff52d796a594e5)) -* drop support for node v12 ([#5918](https://github.com/typescript-eslint/typescript-eslint/issues/5918)) ([7e3fe9a](https://github.com/typescript-eslint/typescript-eslint/commit/7e3fe9a67abd394b0a114f2deb466edf5c9759ac)) -* drop support for node v14 and test against node v20 ([#7022](https://github.com/typescript-eslint/typescript-eslint/issues/7022)) ([e6235bf](https://github.com/typescript-eslint/typescript-eslint/commit/e6235bf61b781066653581b57b7cd976c9c4f905)) -* **eslint-plugin:** rework configs: recommended, strict, stylistic; -type-checked ([#5251](https://github.com/typescript-eslint/typescript-eslint/issues/5251)) ([5346b5b](https://github.com/typescript-eslint/typescript-eslint/commit/5346b5bbdbba81439ba761c282ba9cdcec7b45c8)), closes [#5036](https://github.com/typescript-eslint/typescript-eslint/issues/5036) [#5834](https://github.com/typescript-eslint/typescript-eslint/issues/5834) [#5882](https://github.com/typescript-eslint/typescript-eslint/issues/5882) [#5864](https://github.com/typescript-eslint/typescript-eslint/issues/5864) [#3076](https://github.com/typescript-eslint/typescript-eslint/issues/3076) [#5834](https://github.com/typescript-eslint/typescript-eslint/issues/5834) [#5882](https://github.com/typescript-eslint/typescript-eslint/issues/5882) [#5864](https://github.com/typescript-eslint/typescript-eslint/issues/5864) [#5889](https://github.com/typescript-eslint/typescript-eslint/issues/5889) [#5834](https://github.com/typescript-eslint/typescript-eslint/issues/5834) [#5882](https://github.com/typescript-eslint/typescript-eslint/issues/5882) [#5864](https://github.com/typescript-eslint/typescript-eslint/issues/5864) [#5883](https://github.com/typescript-eslint/typescript-eslint/issues/5883) [#4863](https://github.com/typescript-eslint/typescript-eslint/issues/4863) [#5381](https://github.com/typescript-eslint/typescript-eslint/issues/5381) [#5256](https://github.com/typescript-eslint/typescript-eslint/issues/5256) [#5399](https://github.com/typescript-eslint/typescript-eslint/issues/5399) -* **typescript-estree:** add type checker wrapper APIs to ParserServicesWithTypeInformation ([#6404](https://github.com/typescript-eslint/typescript-eslint/issues/6404)) ([62d5755](https://github.com/typescript-eslint/typescript-eslint/commit/62d57559564fb08512eafe03a2c1b167c4377601)) - - -### BREAKING CHANGES - -* drop support for ESLint v6 -* drops support for node v17 -* drops support for node v12 - -You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. - - - - - -# [5.62.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.61.0...v5.62.0) (2023-07-10) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. - - - - - -# [5.61.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.60.1...v5.61.0) (2023-07-03) - - -### Features - -* support TypeScript 5.1 ([#7088](https://github.com/typescript-eslint/typescript-eslint/issues/7088)) ([4bf2d73](https://github.com/typescript-eslint/typescript-eslint/commit/4bf2d7360eaf74c9ef87b196ff4c459b8f50800b)) - -You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. - - - - - -## [5.60.1](https://github.com/typescript-eslint/typescript-eslint/compare/v5.60.0...v5.60.1) (2023-06-26) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. - - - - - -# [5.60.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.59.11...v5.60.0) (2023-06-19) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - - - - - -## [5.59.11](https://github.com/typescript-eslint/typescript-eslint/compare/v5.59.10...v5.59.11) (2023-06-12) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - - - - - -## [5.59.10](https://github.com/typescript-eslint/typescript-eslint/compare/v5.59.9...v5.59.10) (2023-06-12) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - - - - - -## [5.59.9](https://github.com/typescript-eslint/typescript-eslint/compare/v5.59.8...v5.59.9) (2023-06-05) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - - - - - -## [5.59.8](https://github.com/typescript-eslint/typescript-eslint/compare/v5.59.7...v5.59.8) (2023-05-29) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - - - - - -## [5.59.7](https://github.com/typescript-eslint/typescript-eslint/compare/v5.59.6...v5.59.7) (2023-05-22) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - - - - - -## [5.59.6](https://github.com/typescript-eslint/typescript-eslint/compare/v5.59.5...v5.59.6) (2023-05-15) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - - - - - -## [5.59.5](https://github.com/typescript-eslint/typescript-eslint/compare/v5.59.4...v5.59.5) (2023-05-08) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - - - - - -## [5.59.4](https://github.com/typescript-eslint/typescript-eslint/compare/v5.59.3...v5.59.4) (2023-05-08) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - - - - - -## [5.59.3](https://github.com/typescript-eslint/typescript-eslint/compare/v5.59.2...v5.59.3) (2023-05-08) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - - - - - -## [5.59.2](https://github.com/typescript-eslint/typescript-eslint/compare/v5.59.1...v5.59.2) (2023-05-01) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - - - - - -## [5.59.1](https://github.com/typescript-eslint/typescript-eslint/compare/v5.59.0...v5.59.1) (2023-04-24) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - - - - - -# [5.59.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.58.0...v5.59.0) (2023-04-17) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - - - - - -# [5.58.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.57.1...v5.58.0) (2023-04-10) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - - - - - -## [5.57.1](https://github.com/typescript-eslint/typescript-eslint/compare/v5.57.0...v5.57.1) (2023-04-03) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - - - - - -# [5.57.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.56.0...v5.57.0) (2023-03-27) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - - - - - -# [5.56.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.55.0...v5.56.0) (2023-03-20) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - - - - - -# [5.55.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.54.1...v5.55.0) (2023-03-13) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - - - - - -## [5.54.1](https://github.com/typescript-eslint/typescript-eslint/compare/v5.54.0...v5.54.1) (2023-03-06) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - - - - - -# [5.54.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.53.0...v5.54.0) (2023-02-27) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - - - - - -# [5.53.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.52.0...v5.53.0) (2023-02-20) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - - - - - -# [5.52.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.51.0...v5.52.0) (2023-02-13) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - - - - - -# [5.51.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.50.0...v5.51.0) (2023-02-06) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - - - - - -# [5.50.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.49.0...v5.50.0) (2023-01-31) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - - - - - -# [5.49.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.48.2...v5.49.0) (2023-01-23) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - - - - - -## [5.48.2](https://github.com/typescript-eslint/typescript-eslint/compare/v5.48.1...v5.48.2) (2023-01-16) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - - - - - -## [5.48.1](https://github.com/typescript-eslint/typescript-eslint/compare/v5.48.0...v5.48.1) (2023-01-09) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - - - - - -# [5.48.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.47.1...v5.48.0) (2023-01-02) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -## [5.47.1](https://github.com/typescript-eslint/typescript-eslint/compare/v5.47.0...v5.47.1) (2022-12-26) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -# [5.47.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.46.1...v5.47.0) (2022-12-19) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -## [5.46.1](https://github.com/typescript-eslint/typescript-eslint/compare/v5.46.0...v5.46.1) (2022-12-12) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -# [5.46.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.45.1...v5.46.0) (2022-12-08) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -## [5.45.1](https://github.com/typescript-eslint/typescript-eslint/compare/v5.45.0...v5.45.1) (2022-12-05) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -# [5.45.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.44.0...v5.45.0) (2022-11-28) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -# [5.44.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.43.0...v5.44.0) (2022-11-21) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -# [5.43.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.42.1...v5.43.0) (2022-11-14) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -## [5.42.1](https://github.com/typescript-eslint/typescript-eslint/compare/v5.42.0...v5.42.1) (2022-11-07) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -# [5.42.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.41.0...v5.42.0) (2022-10-31) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -# [5.41.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.40.1...v5.41.0) (2022-10-24) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -## [5.40.1](https://github.com/typescript-eslint/typescript-eslint/compare/v5.40.0...v5.40.1) (2022-10-17) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -# [5.40.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.39.0...v5.40.0) (2022-10-10) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -# [5.39.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.38.1...v5.39.0) (2022-10-03) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -## [5.38.1](https://github.com/typescript-eslint/typescript-eslint/compare/v5.38.0...v5.38.1) (2022-09-26) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -# [5.38.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.37.0...v5.38.0) (2022-09-19) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -# [5.37.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.36.2...v5.37.0) (2022-09-12) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -## [5.36.2](https://github.com/typescript-eslint/typescript-eslint/compare/v5.36.1...v5.36.2) (2022-09-05) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -## [5.36.1](https://github.com/typescript-eslint/typescript-eslint/compare/v5.36.0...v5.36.1) (2022-08-30) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -# [5.36.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.35.1...v5.36.0) (2022-08-30) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -## [5.35.1](https://github.com/typescript-eslint/typescript-eslint/compare/v5.35.0...v5.35.1) (2022-08-24) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -# [5.35.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.34.0...v5.35.0) (2022-08-24) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -# [5.34.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.33.1...v5.34.0) (2022-08-22) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -## [5.33.1](https://github.com/typescript-eslint/typescript-eslint/compare/v5.33.0...v5.33.1) (2022-08-15) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -# [5.33.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.32.0...v5.33.0) (2022-08-08) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -# [5.32.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.31.0...v5.32.0) (2022-08-01) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -# [5.31.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.30.7...v5.31.0) (2022-07-25) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -## [5.30.7](https://github.com/typescript-eslint/typescript-eslint/compare/v5.30.6...v5.30.7) (2022-07-18) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -## [5.30.6](https://github.com/typescript-eslint/typescript-eslint/compare/v5.30.5...v5.30.6) (2022-07-11) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -## [5.30.5](https://github.com/typescript-eslint/typescript-eslint/compare/v5.30.4...v5.30.5) (2022-07-04) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -## [5.30.4](https://github.com/typescript-eslint/typescript-eslint/compare/v5.30.3...v5.30.4) (2022-07-03) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -## [5.30.3](https://github.com/typescript-eslint/typescript-eslint/compare/v5.30.2...v5.30.3) (2022-07-01) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -## [5.30.2](https://github.com/typescript-eslint/typescript-eslint/compare/v5.30.1...v5.30.2) (2022-07-01) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -## 5.30.1 (2022-07-01) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -# [5.30.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.29.0...v5.30.0) (2022-06-27) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -# [5.29.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.28.0...v5.29.0) (2022-06-20) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -# [5.28.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.27.1...v5.28.0) (2022-06-13) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -## [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) - -### Features - -- [4.7] support new extensions ([#5027](https://github.com/typescript-eslint/typescript-eslint/issues/5027)) ([efc147b](https://github.com/typescript-eslint/typescript-eslint/commit/efc147b04dce52ab17415b6a4ae4076b944b9036)) - -# [5.26.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.25.0...v5.26.0) (2022-05-23) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -# [5.25.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.24.0...v5.25.0) (2022-05-17) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -# [5.24.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.23.0...v5.24.0) (2022-05-16) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -# [5.23.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.22.0...v5.23.0) (2022-05-09) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -# [5.22.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.21.0...v5.22.0) (2022-05-02) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -# [5.21.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.20.0...v5.21.0) (2022-04-25) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -# [5.20.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.19.0...v5.20.0) (2022-04-18) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -# [5.19.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.18.0...v5.19.0) (2022-04-11) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -# [5.18.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.17.0...v5.18.0) (2022-04-04) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -# [5.17.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.16.0...v5.17.0) (2022-03-28) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -# [5.16.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.15.0...v5.16.0) (2022-03-21) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -# [5.15.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.14.0...v5.15.0) (2022-03-14) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -# [5.14.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.13.0...v5.14.0) (2022-03-07) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -# [5.13.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.12.1...v5.13.0) (2022-02-28) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -## [5.12.1](https://github.com/typescript-eslint/typescript-eslint/compare/v5.12.0...v5.12.1) (2022-02-21) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -# [5.12.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.11.0...v5.12.0) (2022-02-14) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -# [5.11.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.10.2...v5.11.0) (2022-02-07) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -## [5.10.2](https://github.com/typescript-eslint/typescript-eslint/compare/v5.10.1...v5.10.2) (2022-01-31) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -## [5.10.1](https://github.com/typescript-eslint/typescript-eslint/compare/v5.10.0...v5.10.1) (2022-01-24) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -# [5.10.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.9.1...v5.10.0) (2022-01-17) - -### Features - -- rename `experimental-utils` to `utils` and make `experimental-utils` an alias to the new package ([#4172](https://github.com/typescript-eslint/typescript-eslint/issues/4172)) ([1d55a75](https://github.com/typescript-eslint/typescript-eslint/commit/1d55a7511b38d8e2b2eabe59f639e0a865e6c93f)) - -## [5.9.1](https://github.com/typescript-eslint/typescript-eslint/compare/v5.9.0...v5.9.1) (2022-01-10) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -# [5.9.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.8.1...v5.9.0) (2022-01-03) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -## [5.8.1](https://github.com/typescript-eslint/typescript-eslint/compare/v5.8.0...v5.8.1) (2021-12-27) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -# [5.8.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.7.0...v5.8.0) (2021-12-20) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -# [5.7.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.6.0...v5.7.0) (2021-12-13) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -# [5.6.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.5.0...v5.6.0) (2021-12-06) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -# [5.5.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.4.0...v5.5.0) (2021-11-29) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -# [5.4.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.3.1...v5.4.0) (2021-11-15) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -## [5.3.1](https://github.com/typescript-eslint/typescript-eslint/compare/v5.3.0...v5.3.1) (2021-11-08) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -# [5.3.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.2.0...v5.3.0) (2021-11-01) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -# [5.2.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.1.0...v5.2.0) (2021-10-25) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -# [5.1.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.0.0...v5.1.0) (2021-10-18) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -# [5.0.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.33.0...v5.0.0) (2021-10-11) - -### Features - -- remove `meta.docs.category` from rules ([#3800](https://github.com/typescript-eslint/typescript-eslint/issues/3800)) ([71c9370](https://github.com/typescript-eslint/typescript-eslint/commit/71c93706e55f5f92a1285102b93c6ab1950c6df4)) -- support ESLint v8 ([#3737](https://github.com/typescript-eslint/typescript-eslint/issues/3737)) ([4ca62ae](https://github.com/typescript-eslint/typescript-eslint/commit/4ca62aee6681d706e762a8db727541ca204364f2)) - -# [4.33.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.32.0...v4.33.0) (2021-10-04) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -# [4.32.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.31.2...v4.32.0) (2021-09-27) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -## [4.31.2](https://github.com/typescript-eslint/typescript-eslint/compare/v4.31.1...v4.31.2) (2021-09-20) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -## [4.31.1](https://github.com/typescript-eslint/typescript-eslint/compare/v4.31.0...v4.31.1) (2021-09-13) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -# [4.31.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.30.0...v4.31.0) (2021-09-06) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -# [4.30.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.29.3...v4.30.0) (2021-08-30) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -## [4.29.3](https://github.com/typescript-eslint/typescript-eslint/compare/v4.29.2...v4.29.3) (2021-08-23) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -## [4.29.2](https://github.com/typescript-eslint/typescript-eslint/compare/v4.29.1...v4.29.2) (2021-08-16) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -## [4.29.1](https://github.com/typescript-eslint/typescript-eslint/compare/v4.29.0...v4.29.1) (2021-08-09) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -# [4.29.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.28.5...v4.29.0) (2021-08-02) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -## [4.28.5](https://github.com/typescript-eslint/typescript-eslint/compare/v4.28.4...v4.28.5) (2021-07-26) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -## [4.28.4](https://github.com/typescript-eslint/typescript-eslint/compare/v4.28.3...v4.28.4) (2021-07-19) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -## [4.28.3](https://github.com/typescript-eslint/typescript-eslint/compare/v4.28.2...v4.28.3) (2021-07-12) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -## [4.28.2](https://github.com/typescript-eslint/typescript-eslint/compare/v4.28.1...v4.28.2) (2021-07-05) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -## [4.28.1](https://github.com/typescript-eslint/typescript-eslint/compare/v4.28.0...v4.28.1) (2021-06-28) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -# [4.28.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.27.0...v4.28.0) (2021-06-21) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -# [4.27.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.26.1...v4.27.0) (2021-06-14) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -## [4.26.1](https://github.com/typescript-eslint/typescript-eslint/compare/v4.26.0...v4.26.1) (2021-06-07) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -# [4.26.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.25.0...v4.26.0) (2021-05-31) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -# [4.25.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.24.0...v4.25.0) (2021-05-24) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -# [4.24.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.23.0...v4.24.0) (2021-05-17) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -# [4.23.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.22.1...v4.23.0) (2021-05-10) - -### Features - -- refactor to split AST specification out as its own module ([#2911](https://github.com/typescript-eslint/typescript-eslint/issues/2911)) ([25ea953](https://github.com/typescript-eslint/typescript-eslint/commit/25ea953cc60b118bd385c71e0a9b61c286c26fcf)) - -## [4.22.1](https://github.com/typescript-eslint/typescript-eslint/compare/v4.22.0...v4.22.1) (2021-05-04) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -# [4.22.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.21.0...v4.22.0) (2021-04-12) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -# [4.21.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.20.0...v4.21.0) (2021-04-05) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -# [4.20.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.19.0...v4.20.0) (2021-03-29) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -# [4.19.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.18.0...v4.19.0) (2021-03-22) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -# [4.18.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.17.0...v4.18.0) (2021-03-15) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -# [4.17.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.16.1...v4.17.0) (2021-03-08) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -## [4.16.1](https://github.com/typescript-eslint/typescript-eslint/compare/v4.16.0...v4.16.1) (2021-03-01) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -# [4.16.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.15.2...v4.16.0) (2021-03-01) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -## [4.15.2](https://github.com/typescript-eslint/typescript-eslint/compare/v4.15.1...v4.15.2) (2021-02-22) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -## [4.15.1](https://github.com/typescript-eslint/typescript-eslint/compare/v4.15.0...v4.15.1) (2021-02-15) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -# [4.15.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.14.2...v4.15.0) (2021-02-08) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -## [4.14.2](https://github.com/typescript-eslint/typescript-eslint/compare/v4.14.1...v4.14.2) (2021-02-01) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -## [4.14.1](https://github.com/typescript-eslint/typescript-eslint/compare/v4.14.0...v4.14.1) (2021-01-25) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -# [4.14.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.13.0...v4.14.0) (2021-01-18) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -# [4.13.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.12.0...v4.13.0) (2021-01-11) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -# [4.12.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.11.1...v4.12.0) (2021-01-04) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -## [4.11.1](https://github.com/typescript-eslint/typescript-eslint/compare/v4.11.0...v4.11.1) (2020-12-28) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -# [4.11.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.10.0...v4.11.0) (2020-12-21) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -# [4.10.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.9.1...v4.10.0) (2020-12-14) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -## [4.9.1](https://github.com/typescript-eslint/typescript-eslint/compare/v4.9.0...v4.9.1) (2020-12-07) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -# [4.9.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.8.2...v4.9.0) (2020-11-30) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -## [4.8.2](https://github.com/typescript-eslint/typescript-eslint/compare/v4.8.1...v4.8.2) (2020-11-23) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -## [4.8.1](https://github.com/typescript-eslint/typescript-eslint/compare/v4.8.0...v4.8.1) (2020-11-17) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -# [4.8.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.7.0...v4.8.0) (2020-11-16) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -# [4.7.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.6.1...v4.7.0) (2020-11-09) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -## [4.6.1](https://github.com/typescript-eslint/typescript-eslint/compare/v4.6.0...v4.6.1) (2020-11-02) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -# [4.6.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.5.0...v4.6.0) (2020-10-26) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -# [4.5.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.4.1...v4.5.0) (2020-10-19) - -### Features - -- **typescript-estree:** add flag EXPERIMENTAL_useSourceOfProjectReferenceRedirect ([#2669](https://github.com/typescript-eslint/typescript-eslint/issues/2669)) ([90a5878](https://github.com/typescript-eslint/typescript-eslint/commit/90a587845088da1b205e4d7d77dbc3f9447b1c5a)) - -## [4.4.1](https://github.com/typescript-eslint/typescript-eslint/compare/v4.4.0...v4.4.1) (2020-10-12) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -# [4.4.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.3.0...v4.4.0) (2020-10-05) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -# [4.3.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.2.0...v4.3.0) (2020-09-28) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -# [4.2.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.1.1...v4.2.0) (2020-09-21) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -## [4.1.1](https://github.com/typescript-eslint/typescript-eslint/compare/v4.1.0...v4.1.1) (2020-09-14) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -# [4.1.0](https://github.com/typescript-eslint/typescript-eslint/compare/v4.0.1...v4.1.0) (2020-09-07) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -## [4.0.1](https://github.com/typescript-eslint/typescript-eslint/compare/v4.0.0...v4.0.1) (2020-08-31) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -# [4.0.0](https://github.com/typescript-eslint/typescript-eslint/compare/v3.10.1...v4.0.0) (2020-08-31) - -## [Please see the release notes for v4.0.0](https://github.com/typescript-eslint/typescript-eslint/releases/tag/v4.0.0) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -## [3.10.1](https://github.com/typescript-eslint/typescript-eslint/compare/v3.10.0...v3.10.1) (2020-08-25) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -# [3.10.0](https://github.com/typescript-eslint/typescript-eslint/compare/v3.9.1...v3.10.0) (2020-08-24) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -## [3.9.1](https://github.com/typescript-eslint/typescript-eslint/compare/v3.9.0...v3.9.1) (2020-08-17) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -# [3.9.0](https://github.com/typescript-eslint/typescript-eslint/compare/v3.8.0...v3.9.0) (2020-08-10) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -# [3.8.0](https://github.com/typescript-eslint/typescript-eslint/compare/v3.7.1...v3.8.0) (2020-08-03) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -## [3.7.1](https://github.com/typescript-eslint/typescript-eslint/compare/v3.7.0...v3.7.1) (2020-07-27) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -# [3.7.0](https://github.com/typescript-eslint/typescript-eslint/compare/v3.6.1...v3.7.0) (2020-07-20) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -## [3.6.1](https://github.com/typescript-eslint/typescript-eslint/compare/v3.6.0...v3.6.1) (2020-07-13) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -# [3.6.0](https://github.com/typescript-eslint/typescript-eslint/compare/v3.5.0...v3.6.0) (2020-07-06) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -# [3.5.0](https://github.com/typescript-eslint/typescript-eslint/compare/v3.4.0...v3.5.0) (2020-06-29) - -### Features - -- add package scope-manager ([#1939](https://github.com/typescript-eslint/typescript-eslint/issues/1939)) ([682eb7e](https://github.com/typescript-eslint/typescript-eslint/commit/682eb7e009c3f22a542882dfd3602196a60d2a1e)) - -# [3.4.0](https://github.com/typescript-eslint/typescript-eslint/compare/v3.3.0...v3.4.0) (2020-06-22) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -# [3.3.0](https://github.com/typescript-eslint/typescript-eslint/compare/v3.2.0...v3.3.0) (2020-06-15) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -# [3.2.0](https://github.com/typescript-eslint/typescript-eslint/compare/v3.1.0...v3.2.0) (2020-06-08) - -### Bug Fixes - -- **eslint-plugin:** [prefer-optional-chain] handling first member expression ([#2156](https://github.com/typescript-eslint/typescript-eslint/issues/2156)) ([de18660](https://github.com/typescript-eslint/typescript-eslint/commit/de18660a8cf8f7033798646d8c5b0938d1accb12)) - -# [3.1.0](https://github.com/typescript-eslint/typescript-eslint/compare/v3.0.2...v3.1.0) (2020-06-01) - -### Bug Fixes - -- **experimental-utils:** downlevel type declarations for versions older than 3.8 ([#2133](https://github.com/typescript-eslint/typescript-eslint/issues/2133)) ([7925823](https://github.com/typescript-eslint/typescript-eslint/commit/792582326a8065270b69a0ffcaad5a7b4b103ff3)) - -## [3.0.2](https://github.com/typescript-eslint/typescript-eslint/compare/v3.0.1...v3.0.2) (2020-05-27) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -## [3.0.1](https://github.com/typescript-eslint/typescript-eslint/compare/v3.0.0...v3.0.1) (2020-05-25) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -# [3.0.0](https://github.com/typescript-eslint/typescript-eslint/compare/v2.34.0...v3.0.0) (2020-05-21) - -## [Please see the release notes for v3.0.0](https://github.com/typescript-eslint/typescript-eslint/releases/tag/v3.0.0) - -### Features - -- drop support for node v8 ([#1997](https://github.com/typescript-eslint/typescript-eslint/issues/1997)) ([b6c3b7b](https://github.com/typescript-eslint/typescript-eslint/commit/b6c3b7b84b8d199fa75a46432febd4a364a63217)) -- upgrade to ESLint v7 ([#2022](https://github.com/typescript-eslint/typescript-eslint/issues/2022)) ([208de71](https://github.com/typescript-eslint/typescript-eslint/commit/208de71059746bf38e94bd460346ffb2698a3e12)) - -# [2.34.0](https://github.com/typescript-eslint/typescript-eslint/compare/v2.33.0...v2.34.0) (2020-05-18) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -# [2.33.0](https://github.com/typescript-eslint/typescript-eslint/compare/v2.32.0...v2.33.0) (2020-05-12) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -# [2.32.0](https://github.com/typescript-eslint/typescript-eslint/compare/v2.31.0...v2.32.0) (2020-05-11) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -# [2.31.0](https://github.com/typescript-eslint/typescript-eslint/compare/v2.30.0...v2.31.0) (2020-05-04) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -# [2.30.0](https://github.com/typescript-eslint/typescript-eslint/compare/v2.29.0...v2.30.0) (2020-04-27) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -# [2.29.0](https://github.com/typescript-eslint/typescript-eslint/compare/v2.28.0...v2.29.0) (2020-04-20) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -# [2.28.0](https://github.com/typescript-eslint/typescript-eslint/compare/v2.27.0...v2.28.0) (2020-04-13) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -# [2.27.0](https://github.com/typescript-eslint/typescript-eslint/compare/v2.26.0...v2.27.0) (2020-04-06) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -# [2.26.0](https://github.com/typescript-eslint/typescript-eslint/compare/v2.25.0...v2.26.0) (2020-03-30) - -### Features - -- **eslint-plugin-tslint:** support tslint 6 ([#1809](https://github.com/typescript-eslint/typescript-eslint/issues/1809)) ([7d963fd](https://github.com/typescript-eslint/typescript-eslint/commit/7d963fd846935acd91b7b0cd31c56a70a2b994d1)) - -# [2.25.0](https://github.com/typescript-eslint/typescript-eslint/compare/v2.24.0...v2.25.0) (2020-03-23) - -### Bug Fixes - -- **eslint-plugin-tslint:** fix tslintConfig memoization key ([#1719](https://github.com/typescript-eslint/typescript-eslint/issues/1719)) ([abf1a2f](https://github.com/typescript-eslint/typescript-eslint/commit/abf1a2fa5574e41af8070be3d79a886ea2f989cc)), closes [typescript-eslint#1692](https://github.com/typescript-eslint/issues/1692) - -# [2.24.0](https://github.com/typescript-eslint/typescript-eslint/compare/v2.23.0...v2.24.0) (2020-03-16) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -# [2.23.0](https://github.com/typescript-eslint/typescript-eslint/compare/v2.22.0...v2.23.0) (2020-03-09) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -# [2.22.0](https://github.com/typescript-eslint/typescript-eslint/compare/v2.21.0...v2.22.0) (2020-03-02) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -# [2.21.0](https://github.com/typescript-eslint/typescript-eslint/compare/v2.20.0...v2.21.0) (2020-02-24) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -# [2.20.0](https://github.com/typescript-eslint/typescript-eslint/compare/v2.19.2...v2.20.0) (2020-02-17) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -## [2.19.2](https://github.com/typescript-eslint/typescript-eslint/compare/v2.19.1...v2.19.2) (2020-02-10) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -## [2.19.1](https://github.com/typescript-eslint/typescript-eslint/compare/v2.19.0...v2.19.1) (2020-02-10) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -# [2.19.0](https://github.com/typescript-eslint/typescript-eslint/compare/v2.18.0...v2.19.0) (2020-02-03) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -# [2.18.0](https://github.com/typescript-eslint/typescript-eslint/compare/v2.17.0...v2.18.0) (2020-01-27) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -# [2.17.0](https://github.com/typescript-eslint/typescript-eslint/compare/v2.16.0...v2.17.0) (2020-01-20) - -### Features - -- **experimental-utils:** expose getParserServices from utils ([#1448](https://github.com/typescript-eslint/typescript-eslint/issues/1448)) ([982c8bc](https://github.com/typescript-eslint/typescript-eslint/commit/982c8bc)) - -# [2.16.0](https://github.com/typescript-eslint/typescript-eslint/compare/v2.15.0...v2.16.0) (2020-01-13) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -# [2.15.0](https://github.com/typescript-eslint/typescript-eslint/compare/v2.14.0...v2.15.0) (2020-01-06) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -# [2.14.0](https://github.com/typescript-eslint/typescript-eslint/compare/v2.13.0...v2.14.0) (2019-12-30) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -# [2.13.0](https://github.com/typescript-eslint/typescript-eslint/compare/v2.12.0...v2.13.0) (2019-12-23) - -### Features - -- **eslint-plugin-tslint:** add fixer for config rule ([#1342](https://github.com/typescript-eslint/typescript-eslint/issues/1342)) ([c52c5c9](https://github.com/typescript-eslint/typescript-eslint/commit/c52c5c9)) - -# [2.12.0](https://github.com/typescript-eslint/typescript-eslint/compare/v2.11.0...v2.12.0) (2019-12-16) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -# [2.11.0](https://github.com/typescript-eslint/typescript-eslint/compare/v2.10.0...v2.11.0) (2019-12-09) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -# [2.10.0](https://github.com/typescript-eslint/typescript-eslint/compare/v2.9.0...v2.10.0) (2019-12-02) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -# [2.9.0](https://github.com/typescript-eslint/typescript-eslint/compare/v2.8.0...v2.9.0) (2019-11-25) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -# [2.8.0](https://github.com/typescript-eslint/typescript-eslint/compare/v2.7.0...v2.8.0) (2019-11-18) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -# [2.7.0](https://github.com/typescript-eslint/typescript-eslint/compare/v2.6.1...v2.7.0) (2019-11-11) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -## [2.6.1](https://github.com/typescript-eslint/typescript-eslint/compare/v2.6.0...v2.6.1) (2019-11-04) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -# [2.6.0](https://github.com/typescript-eslint/typescript-eslint/compare/v2.5.0...v2.6.0) (2019-10-28) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -# [2.5.0](https://github.com/typescript-eslint/typescript-eslint/compare/v2.4.0...v2.5.0) (2019-10-21) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -# [2.4.0](https://github.com/typescript-eslint/typescript-eslint/compare/v2.3.3...v2.4.0) (2019-10-14) - -### Bug Fixes - -- support long running "watch" lint sessions ([#973](https://github.com/typescript-eslint/typescript-eslint/issues/973)) ([854620e](https://github.com/typescript-eslint/typescript-eslint/commit/854620e)) - -### Features - -- **typescript-estree:** support for parsing 3.7 features ([#1045](https://github.com/typescript-eslint/typescript-eslint/issues/1045)) ([623febf](https://github.com/typescript-eslint/typescript-eslint/commit/623febf)) - -## [2.3.3](https://github.com/typescript-eslint/typescript-eslint/compare/v2.3.2...v2.3.3) (2019-10-07) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -## [2.3.2](https://github.com/typescript-eslint/typescript-eslint/compare/v2.3.1...v2.3.2) (2019-09-30) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -## [2.3.1](https://github.com/typescript-eslint/typescript-eslint/compare/v2.3.0...v2.3.1) (2019-09-23) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -# [2.3.0](https://github.com/typescript-eslint/typescript-eslint/compare/v2.2.0...v2.3.0) (2019-09-16) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -# [2.2.0](https://github.com/typescript-eslint/typescript-eslint/compare/v2.1.0...v2.2.0) (2019-09-09) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -# [2.1.0](https://github.com/typescript-eslint/typescript-eslint/compare/v2.0.0...v2.1.0) (2019-09-02) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -# [2.0.0](https://github.com/typescript-eslint/typescript-eslint/compare/v1.13.0...v2.0.0) (2019-08-13) - -### Features - -- explicitly support eslint v6 ([#645](https://github.com/typescript-eslint/typescript-eslint/issues/645)) ([34a7cf6](https://github.com/typescript-eslint/typescript-eslint/commit/34a7cf6)) - -- feat(eslint-plugin)!: change recommended config (#729) ([428567d](https://github.com/typescript-eslint/typescript-eslint/commit/428567d)), closes [#729](https://github.com/typescript-eslint/typescript-eslint/issues/729) -- feat(typescript-estree)!: throw error on file not in project when `project` set (#760) ([3777b77](https://github.com/typescript-eslint/typescript-eslint/commit/3777b77)), closes [#760](https://github.com/typescript-eslint/typescript-eslint/issues/760) - -### BREAKING CHANGES - -- recommended config changes are considered breaking -- by default we will now throw when a file is not in the `project` provided -- Node 6 is no longer supported - -# [1.13.0](https://github.com/typescript-eslint/typescript-eslint/compare/v1.12.0...v1.13.0) (2019-07-21) - -### Bug Fixes - -- Correct `@types/json-schema` dependency ([#675](https://github.com/typescript-eslint/typescript-eslint/issues/675)) ([a5398ce](https://github.com/typescript-eslint/typescript-eslint/commit/a5398ce)) - -# [1.12.0](https://github.com/typescript-eslint/typescript-eslint/compare/v1.11.0...v1.12.0) (2019-07-12) - -### Features - -- **eslint-plugin:** added new rule prefer-readonly ([#555](https://github.com/typescript-eslint/typescript-eslint/issues/555)) ([76b89a5](https://github.com/typescript-eslint/typescript-eslint/commit/76b89a5)) - -# [1.11.0](https://github.com/typescript-eslint/typescript-eslint/compare/v1.10.2...v1.11.0) (2019-06-23) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -## [1.10.2](https://github.com/typescript-eslint/typescript-eslint/compare/v1.10.1...v1.10.2) (2019-06-10) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -## [1.10.1](https://github.com/typescript-eslint/typescript-eslint/compare/v1.10.0...v1.10.1) (2019-06-09) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -# [1.10.0](https://github.com/typescript-eslint/typescript-eslint/compare/v1.9.0...v1.10.0) (2019-06-09) - -### Features - -- make utils/TSESLint export typed classes instead of just types ([#526](https://github.com/typescript-eslint/typescript-eslint/issues/526)) ([370ac72](https://github.com/typescript-eslint/typescript-eslint/commit/370ac72)) - -# [1.9.0](https://github.com/typescript-eslint/typescript-eslint/compare/v1.8.0...v1.9.0) (2019-05-12) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -# [1.8.0](https://github.com/typescript-eslint/typescript-eslint/compare/v1.7.0...v1.8.0) (2019-05-10) - -### Bug Fixes - -- upgrade lockfile versions ([#487](https://github.com/typescript-eslint/typescript-eslint/issues/487)) ([f029dba](https://github.com/typescript-eslint/typescript-eslint/commit/f029dba)) -- **eslint-plugin:** Support more nodes [no-extra-parens](<[#465](https://github.com/typescript-eslint/typescript-eslint/issues/465)>) ([2d15644](https://github.com/typescript-eslint/typescript-eslint/commit/2d15644)) - -# [1.7.0](https://github.com/typescript-eslint/typescript-eslint/compare/v1.6.0...v1.7.0) (2019-04-20) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -# [1.6.0](https://github.com/typescript-eslint/typescript-eslint/compare/v1.5.0...v1.6.0) (2019-04-03) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -# [1.5.0](https://github.com/typescript-eslint/typescript-eslint/compare/v1.4.2...v1.5.0) (2019-03-20) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -## [1.4.2](https://github.com/typescript-eslint/typescript-eslint/compare/v1.4.1...v1.4.2) (2019-02-25) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -## [1.4.1](https://github.com/typescript-eslint/typescript-eslint/compare/v1.4.0...v1.4.1) (2019-02-23) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -# [1.4.0](https://github.com/typescript-eslint/typescript-eslint/compare/v1.3.0...v1.4.0) (2019-02-19) - -### Features - -- **eslint-plugin:** Migrate plugin to ts ([#120](https://github.com/typescript-eslint/typescript-eslint/issues/120)) ([61c60dc](https://github.com/typescript-eslint/typescript-eslint/commit/61c60dc)) - -# [1.3.0](https://github.com/typescript-eslint/typescript-eslint/compare/v1.2.0...v1.3.0) (2019-02-07) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -# [1.2.0](https://github.com/typescript-eslint/typescript-eslint/compare/v1.1.1...v1.2.0) (2019-02-01) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -## [1.1.1](https://github.com/typescript-eslint/typescript-eslint/compare/v1.1.0...v1.1.1) (2019-01-29) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -# [1.1.0](https://github.com/typescript-eslint/typescript-eslint/compare/v1.0.0...v1.1.0) (2019-01-23) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -# [1.0.0](https://github.com/typescript-eslint/typescript-eslint/compare/v0.2.1...v1.0.0) (2019-01-20) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint - -## [0.2.1](https://github.com/typescript-eslint/typescript-eslint/compare/v0.2.0...v0.2.1) (2019-01-20) - -**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint diff --git a/packages/eslint-plugin-tslint/LICENSE b/packages/eslint-plugin-tslint/LICENSE deleted file mode 100644 index a1164108d4d6..000000000000 --- a/packages/eslint-plugin-tslint/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2019 typescript-eslint and other contributors - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/packages/eslint-plugin-tslint/README.md b/packages/eslint-plugin-tslint/README.md deleted file mode 100644 index d02ff8797606..000000000000 --- a/packages/eslint-plugin-tslint/README.md +++ /dev/null @@ -1,12 +0,0 @@ -# `@typescript-eslint/eslint-plugin-tslint` - -> ESLint plugin that wraps a TSLint configuration and lints the whole source using TSLint. - -[![NPM Version](https://img.shields.io/npm/v/@typescript-eslint/eslint-plugin-tslint.svg?style=flat-square)](https://www.npmjs.com/package/@typescript-eslint/eslint-plugin-tslint) -[![NPM Downloads](https://img.shields.io/npm/dm/@typescript-eslint/eslint-plugin-tslint.svg?style=flat-square)](https://www.npmjs.com/package/@typescript-eslint/eslint-plugin-tslint) - -👉 See **https://typescript-eslint.io/packages/eslint-plugin-tslint** for documentation on this package. - -> See https://typescript-eslint.io for general documentation on typescript-eslint, the tooling that allows you to run ESLint and Prettier on TypeScript code. - - diff --git a/packages/eslint-plugin-tslint/jest.config.js b/packages/eslint-plugin-tslint/jest.config.js deleted file mode 100644 index 910991b20cff..000000000000 --- a/packages/eslint-plugin-tslint/jest.config.js +++ /dev/null @@ -1,7 +0,0 @@ -'use strict'; - -// @ts-check -/** @type {import('@jest/types').Config.InitialOptions} */ -module.exports = { - ...require('../../jest.config.base.js'), -}; diff --git a/packages/eslint-plugin-tslint/package.json b/packages/eslint-plugin-tslint/package.json deleted file mode 100644 index 890850d4a771..000000000000 --- a/packages/eslint-plugin-tslint/package.json +++ /dev/null @@ -1,67 +0,0 @@ -{ - "name": "@typescript-eslint/eslint-plugin-tslint", - "version": "7.0.2", - "main": "dist/index.js", - "typings": "src/index.ts", - "description": "ESLint plugin that wraps a TSLint configuration and lints the whole source using TSLint", - "files": [ - "dist", - "package.json", - "README.md", - "LICENSE" - ], - "type": "commonjs", - "exports": { - ".": { - "types": "./dist/index.d.ts", - "default": "./dist/index.js" - }, - "./package.json": "./package.json" - }, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "repository": { - "type": "git", - "url": "https://github.com/typescript-eslint/typescript-eslint.git", - "directory": "packages/eslint-plugin-tslint" - }, - "bugs": { - "url": "https://github.com/typescript-eslint/typescript-eslint/issues" - }, - "license": "MIT", - "keywords": [ - "eslint", - "eslintplugin", - "eslint-plugin", - "tslint" - ], - "scripts": { - "build": "tsc -b tsconfig.build.json", - "clean": "tsc -b tsconfig.build.json --clean", - "postclean": "rimraf dist && rimraf coverage", - "format": "prettier --write \"./**/*.{ts,mts,cts,tsx,js,mjs,cjs,jsx,json,md,css}\" --ignore-path ../../.prettierignore", - "lint": "npx nx lint", - "test": "jest --coverage", - "typecheck": "tsc -p tsconfig.json --noEmit" - }, - "dependencies": { - "@typescript-eslint/utils": "7.0.2" - }, - "peerDependencies": { - "eslint": "^8.56.0", - "tslint": "^5.0.0 || ^6.0.0", - "typescript": "*" - }, - "devDependencies": { - "@types/lodash": "*", - "@typescript-eslint/parser": "7.0.2", - "jest": "29.7.0", - "prettier": "^3.0.3", - "rimraf": "*" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } -} diff --git a/packages/eslint-plugin-tslint/project.json b/packages/eslint-plugin-tslint/project.json deleted file mode 100644 index dc5d5b11a632..000000000000 --- a/packages/eslint-plugin-tslint/project.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "name": "eslint-plugin-tslint", - "$schema": "../../node_modules/nx/schemas/project-schema.json", - "type": "library", - "implicitDependencies": [], - "targets": { - "lint": { - "executor": "@nx/eslint:lint", - "outputs": ["{options.outputFile}"] - } - } -} diff --git a/packages/eslint-plugin-tslint/src/custom-linter.ts b/packages/eslint-plugin-tslint/src/custom-linter.ts deleted file mode 100644 index b4e8d753b8f9..000000000000 --- a/packages/eslint-plugin-tslint/src/custom-linter.ts +++ /dev/null @@ -1,21 +0,0 @@ -import type { ILinterOptions, LintResult } from 'tslint'; -import { Linter } from 'tslint'; -import type { Program, SourceFile } from 'typescript'; - -// @ts-expect-error - We need to access the program, but Linter has private program already -export class CustomLinter extends Linter { - constructor( - options: ILinterOptions, - private readonly program: Program, - ) { - super(options, program); - } - - getResult(): LintResult { - return super.getResult(); - } - - getSourceFile(fileName: string): SourceFile | undefined { - return this.program.getSourceFile(fileName); - } -} diff --git a/packages/eslint-plugin-tslint/src/index.ts b/packages/eslint-plugin-tslint/src/index.ts deleted file mode 100644 index bc64dc8b53f4..000000000000 --- a/packages/eslint-plugin-tslint/src/index.ts +++ /dev/null @@ -1,22 +0,0 @@ -import type { Linter } from '@typescript-eslint/utils/ts-eslint'; - -import configRule from './rules/config'; - -// note - cannot migrate this to an import statement because it will make TSC copy the package.json to the dist folder -const { name, version } = require('../package.json') as { - name: string; - version: string; -}; - -export const meta: Linter.PluginMeta = { - name, - version, -}; - -/** - * Expose a single rule called "config", which will be accessed in the user's eslint config files - * via "tslint/config" - */ -export const rules: Linter.PluginRules = { - config: configRule, -}; diff --git a/packages/eslint-plugin-tslint/src/rules/config.ts b/packages/eslint-plugin-tslint/src/rules/config.ts deleted file mode 100644 index 89abe0507f55..000000000000 --- a/packages/eslint-plugin-tslint/src/rules/config.ts +++ /dev/null @@ -1,194 +0,0 @@ -import { ESLintUtils } from '@typescript-eslint/utils'; -import path from 'path'; -import type { RuleSeverity } from 'tslint'; -import { Configuration } from 'tslint'; - -import { CustomLinter } from '../custom-linter'; - -function memoize unknown>( - func: T, - resolver: (...args: Parameters) => string, -): T { - const cache = new Map>(); - const memoized = function (...args) { - const key = resolver(...(args as Parameters)); - - if (cache.has(key)) { - return cache.get(key)!; - } - const result = func(...args); - cache.set(key, result as ReturnType); - return result; - } as T; - return memoized; -} - -// note - cannot migrate this to an import statement because it will make TSC copy the package.json to the dist folder -// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -const version: string = require('../../package.json'); - -const createRule = ESLintUtils.RuleCreator( - () => - `https://github.com/typescript-eslint/typescript-eslint/blob/v${version}/packages/eslint-plugin-tslint/README.md`, -); -export type RawRulesConfig = Record< - string, - | unknown[] - | boolean - | { - severity?: RuleSeverity | 'default' | 'none' | 'warn'; - options?: unknown; - } - | null - | undefined ->; - -export type MessageIds = 'failure'; -export type Options = [ - { - rules?: RawRulesConfig; - rulesDirectory?: string[]; - lintFile?: string; - }, -]; - -/** - * Construct a configFile for TSLint - */ -const tslintConfig = memoize( - ( - lintFile?: string, - tslintRules?: RawRulesConfig, - tslintRulesDirectory?: string[], - ) => { - if (lintFile != null) { - return Configuration.loadConfigurationFromPath(lintFile); - } - return Configuration.parseConfigFile({ - rules: tslintRules ?? {}, - rulesDirectory: tslintRulesDirectory ?? [], - }); - }, - ( - lintFile: string | undefined, - tslintRules = {}, - tslintRulesDirectory: string[] = [], - ) => - `${lintFile}_${JSON.stringify(tslintRules)}_${tslintRulesDirectory.join()}`, -); - -export default createRule({ - name: 'config', - meta: { - docs: { - description: - 'Wraps a TSLint configuration and lints the whole source using TSLint', // eslint-disable-line eslint-plugin/require-meta-docs-description - }, - fixable: 'code', - type: 'problem', - messages: { - failure: '{{message}} (tslint:{{ruleName}})', - }, - schema: [ - { - type: 'object', - properties: { - rules: { - type: 'object', - /** - * No fixed schema properties for rules, as this would be a permanently moving target - */ - additionalProperties: true, - }, - rulesDirectory: { - type: 'array', - items: { - type: 'string', - }, - }, - lintFile: { - type: 'string', - }, - }, - additionalProperties: false, - }, - ], - }, - defaultOptions: [{}], - create( - context, - [{ rules: tslintRules, rulesDirectory: tslintRulesDirectory, lintFile }], - ) { - const fileName = path.resolve(context.cwd, context.filename); - const services = ESLintUtils.getParserServices(context); - const program = services.program; - - /** - * Create an instance of TSLint - * Lint the source code using the configured TSLint instance, and the rules which have been - * passed via the ESLint rule options for this rule (using "tslint/config") - */ - const tslintOptions = { - formatter: 'json', - fix: false, - }; - const tslint = new CustomLinter(tslintOptions, program); - const configuration = tslintConfig( - lintFile, - tslintRules, - tslintRulesDirectory, - ); - tslint.lint(fileName, context.sourceCode.text, configuration); - - const result = tslint.getResult(); - - /** - * Format the TSLint results for ESLint - */ - if (result.failures.length) { - result.failures.forEach(failure => { - const start = failure.getStartPosition().getLineAndCharacter(); - const end = failure.getEndPosition().getLineAndCharacter(); - context.report({ - messageId: 'failure', - data: { - message: failure.getFailure(), - ruleName: failure.getRuleName(), - }, - loc: { - start: { - line: start.line + 1, - column: start.character, - }, - end: { - line: end.line + 1, - column: end.character, - }, - }, - fix: fixer => { - const replacements = failure.getFix(); - - return Array.isArray(replacements) - ? replacements.map(replacement => - fixer.replaceTextRange( - [replacement.start, replacement.end], - replacement.text, - ), - ) - : replacements !== undefined - ? fixer.replaceTextRange( - [replacements.start, replacements.end], - replacements.text, - ) - : []; - }, - }); - }); - } - - /** - * Return an empty object for the ESLint rule - */ - return {}; - }, -}); diff --git a/packages/eslint-plugin-tslint/tests/fixtures/fixture-project/1.ts b/packages/eslint-plugin-tslint/tests/fixtures/fixture-project/1.ts deleted file mode 100644 index 0870b5cd2825..000000000000 --- a/packages/eslint-plugin-tslint/tests/fixtures/fixture-project/1.ts +++ /dev/null @@ -1 +0,0 @@ -var foo = true; diff --git a/packages/eslint-plugin-tslint/tests/fixtures/fixture-project/2.ts b/packages/eslint-plugin-tslint/tests/fixtures/fixture-project/2.ts deleted file mode 100644 index 3da535b2cde3..000000000000 --- a/packages/eslint-plugin-tslint/tests/fixtures/fixture-project/2.ts +++ /dev/null @@ -1 +0,0 @@ -throw 'should be ok because rule is not loaded'; diff --git a/packages/eslint-plugin-tslint/tests/fixtures/fixture-project/3.ts b/packages/eslint-plugin-tslint/tests/fixtures/fixture-project/3.ts deleted file mode 100644 index e71f830c3915..000000000000 --- a/packages/eslint-plugin-tslint/tests/fixtures/fixture-project/3.ts +++ /dev/null @@ -1 +0,0 @@ -throw 'err'; // no-string-throw diff --git a/packages/eslint-plugin-tslint/tests/fixtures/fixture-project/4.ts b/packages/eslint-plugin-tslint/tests/fixtures/fixture-project/4.ts deleted file mode 100644 index e1173e87a223..000000000000 --- a/packages/eslint-plugin-tslint/tests/fixtures/fixture-project/4.ts +++ /dev/null @@ -1 +0,0 @@ -var foo = true; // semicolon diff --git a/packages/eslint-plugin-tslint/tests/fixtures/fixture-project/5.ts b/packages/eslint-plugin-tslint/tests/fixtures/fixture-project/5.ts deleted file mode 100644 index 2fc07810720c..000000000000 --- a/packages/eslint-plugin-tslint/tests/fixtures/fixture-project/5.ts +++ /dev/null @@ -1 +0,0 @@ -var foo = true; // fail diff --git a/packages/eslint-plugin-tslint/tests/fixtures/fixture-project/6.ts b/packages/eslint-plugin-tslint/tests/fixtures/fixture-project/6.ts deleted file mode 100644 index e901f01b4874..000000000000 --- a/packages/eslint-plugin-tslint/tests/fixtures/fixture-project/6.ts +++ /dev/null @@ -1 +0,0 @@ -foo; diff --git a/packages/eslint-plugin-tslint/tests/fixtures/fixture-project/tsconfig.json b/packages/eslint-plugin-tslint/tests/fixtures/fixture-project/tsconfig.json deleted file mode 100644 index 0967ef424bce..000000000000 --- a/packages/eslint-plugin-tslint/tests/fixtures/fixture-project/tsconfig.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/packages/eslint-plugin-tslint/tests/fixtures/test-project/extra.ts b/packages/eslint-plugin-tslint/tests/fixtures/test-project/extra.ts deleted file mode 100644 index e901f01b4874..000000000000 --- a/packages/eslint-plugin-tslint/tests/fixtures/test-project/extra.ts +++ /dev/null @@ -1 +0,0 @@ -foo; diff --git a/packages/eslint-plugin-tslint/tests/fixtures/test-project/file-spec.ts b/packages/eslint-plugin-tslint/tests/fixtures/test-project/file-spec.ts deleted file mode 100644 index 0b4d57c7ee74..000000000000 --- a/packages/eslint-plugin-tslint/tests/fixtures/test-project/file-spec.ts +++ /dev/null @@ -1,2 +0,0 @@ -import { x } from './file'; -console.assert(x); diff --git a/packages/eslint-plugin-tslint/tests/fixtures/test-project/file.ts b/packages/eslint-plugin-tslint/tests/fixtures/test-project/file.ts deleted file mode 100644 index d85368d8a303..000000000000 --- a/packages/eslint-plugin-tslint/tests/fixtures/test-project/file.ts +++ /dev/null @@ -1,3 +0,0 @@ -import * as number from './number'; -export const x = 1; -console.log(number); diff --git a/packages/eslint-plugin-tslint/tests/fixtures/test-project/source.ts b/packages/eslint-plugin-tslint/tests/fixtures/test-project/source.ts deleted file mode 100644 index 187dd947b0ff..000000000000 --- a/packages/eslint-plugin-tslint/tests/fixtures/test-project/source.ts +++ /dev/null @@ -1,2 +0,0 @@ -const a: string = 1; -const sum = 1 + '2'; diff --git a/packages/eslint-plugin-tslint/tests/fixtures/test-project/tsconfig-files.json b/packages/eslint-plugin-tslint/tests/fixtures/test-project/tsconfig-files.json deleted file mode 100644 index 1d1ee04cc92b..000000000000 --- a/packages/eslint-plugin-tslint/tests/fixtures/test-project/tsconfig-files.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "lib": ["dom"], - "files": ["file.ts"] -} diff --git a/packages/eslint-plugin-tslint/tests/fixtures/test-project/tsconfig.json b/packages/eslint-plugin-tslint/tests/fixtures/test-project/tsconfig.json deleted file mode 100644 index fcd054ab4880..000000000000 --- a/packages/eslint-plugin-tslint/tests/fixtures/test-project/tsconfig.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "compilerOptions": { - "target": "es5", - "module": "commonjs", - "strict": true, - "noUnusedLocals": true, - "noImplicitAny": true - } -} diff --git a/packages/eslint-plugin-tslint/tests/fixtures/test-project/tslint.json b/packages/eslint-plugin-tslint/tests/fixtures/test-project/tslint.json deleted file mode 100644 index 9d026172da7c..000000000000 --- a/packages/eslint-plugin-tslint/tests/fixtures/test-project/tslint.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "rules": { - "no-string-throw": true, - "no-var-keyword": true, - "prefer-const": true, - "radix": true - } -} diff --git a/packages/eslint-plugin-tslint/tests/fixtures/test-tslint-rules-directory/alwaysFailRule.js b/packages/eslint-plugin-tslint/tests/fixtures/test-tslint-rules-directory/alwaysFailRule.js deleted file mode 100644 index 76537897f031..000000000000 --- a/packages/eslint-plugin-tslint/tests/fixtures/test-tslint-rules-directory/alwaysFailRule.js +++ /dev/null @@ -1,19 +0,0 @@ -const Lint = require('tslint'); - -class Rule extends Lint.Rules.AbstractRule { - apply(sourceFile) { - return this.applyWithWalker( - new AlwaysFailWalker(sourceFile, this.getOptions()), - ); - } -} - -class AlwaysFailWalker extends Lint.RuleWalker { - visitSourceFile(node) { - this.addFailure( - this.createFailure(node.getStart(), node.getWidth(), 'failure'), - ); - } -} - -exports.Rule = Rule; diff --git a/packages/eslint-plugin-tslint/tests/index.spec.ts b/packages/eslint-plugin-tslint/tests/index.spec.ts deleted file mode 100644 index bbe479c832b8..000000000000 --- a/packages/eslint-plugin-tslint/tests/index.spec.ts +++ /dev/null @@ -1,238 +0,0 @@ -import * as parser from '@typescript-eslint/parser'; -import { TSESLint } from '@typescript-eslint/utils'; -import { readFileSync } from 'fs'; -import path = require('path'); - -import type { ClassicConfig } from '@typescript-eslint/utils/ts-eslint'; - -import type { Options } from '../src/rules/config'; -import rule from '../src/rules/config'; - -const ruleTester = new TSESLint.RuleTester({ - parserOptions: { - ecmaVersion: 6, - sourceType: 'module', - ecmaFeatures: {}, - /** - * Project is needed to generate the parserServices - * within @typescript-eslint/parser - */ - project: './tests/fixtures/fixture-project/tsconfig.json', - warnOnUnsupportedTypeScriptVersion: false, - }, - parser: require.resolve('@typescript-eslint/parser'), -}); - -/** - * Inline rules should be supported - */ -const tslintRulesConfig: Options = [ - { - rules: { - semicolon: [true, 'always'], - }, - }, -]; - -/** - * Custom rules directories should be supported - */ -const tslintRulesDirectoryConfig: Options = [ - { - rulesDirectory: ['./tests/fixtures/test-tslint-rules-directory'], - rules: { - 'always-fail': { - severity: 'error', - }, - }, - }, -]; - -const TEST_PROJECT_PATH = path.resolve( - __dirname, - 'fixtures', - 'test-project', - 'tsconfig.json', -); - -ruleTester.run('tslint/config', rule, { - valid: [ - { - code: 'var foo = true;', - options: tslintRulesConfig, - filename: './tests/fixtures/fixture-project/1.ts', - }, - { - filename: './tests/fixtures/test-project/file-spec.ts', - code: readFileSync( - './tests/fixtures/test-project/file-spec.ts', - 'utf8', - ).replace(/\n/g, ' '), - parserOptions: { - project: TEST_PROJECT_PATH, - }, - options: tslintRulesConfig, - }, - { - code: 'throw "should be ok because rule is not loaded";', - options: tslintRulesConfig, - filename: './tests/fixtures/fixture-project/2.ts', - }, - ], - - invalid: [ - { - options: [{ lintFile: './tests/fixtures/test-project/tslint.json' }], - code: 'throw "err" // no-string-throw', - output: 'throw new Error("err") // no-string-throw', - filename: './tests/fixtures/fixture-project/3.ts', - errors: [ - { - messageId: 'failure', - data: { - message: - 'Throwing plain strings (not instances of Error) gives no stack traces', - ruleName: 'no-string-throw', - }, - }, - ], - }, - { - code: 'var foo = true // semicolon', - options: tslintRulesConfig, - output: 'var foo = true; // semicolon', - filename: './tests/fixtures/fixture-project/4.ts', - errors: [ - { - messageId: 'failure', - data: { - message: 'Missing semicolon', - ruleName: 'semicolon', - }, - line: 1, - column: 15, - }, - ], - }, - { - code: 'var foo = true // fail', - options: tslintRulesDirectoryConfig, - output: null, - filename: './tests/fixtures/fixture-project/5.ts', - errors: [ - { - messageId: 'failure', - data: { - message: 'failure', - ruleName: 'always-fail', - }, - line: 1, - column: 1, - }, - ], - }, - { - filename: './tests/fixtures/test-project/source.ts', - code: readFileSync( - './tests/fixtures/test-project/source.ts', - 'utf8', - ).replace(/\n/g, ' '), - parserOptions: { - project: TEST_PROJECT_PATH, - }, - options: [ - { - rulesDirectory: [ - path.join( - path.dirname(require.resolve('tslint/package.json')), - 'lib', - 'rules', - ), - ], - rules: { 'restrict-plus-operands': true }, - }, - ], - errors: [ - { - messageId: 'failure', - data: { - message: - 'Operands of \'+\' operation must either be both strings or both numbers or both bigints, but found 1 + "2". Consider using template literals.', - ruleName: 'restrict-plus-operands', - }, - }, - ], - }, - ], -}); - -if (process.env.TYPESCRIPT_ESLINT_EXPERIMENTAL_TSSERVER !== 'true') { - describe('tslint/error', () => { - function testOutput(code: string, config: ClassicConfig.Config): void { - const linter = new TSESLint.Linter(); - linter.defineRule('tslint/config', rule); - linter.defineParser('@typescript-eslint/parser', parser); - - expect(() => linter.verify(code, config)).toThrow( - 'You have used a rule which requires parserServices to be generated. You must therefore provide a value for the "parserOptions.project" property for @typescript-eslint/parser.', - ); - } - - it('should error on missing project', () => { - testOutput('foo;', { - rules: { - 'tslint/config': [2, tslintRulesConfig], - }, - parser: '@typescript-eslint/parser', - }); - }); - - it('should error on default parser', () => { - testOutput('foo;', { - parserOptions: { - project: TEST_PROJECT_PATH, - }, - rules: { - 'tslint/config': [2, tslintRulesConfig], - }, - }); - }); - - it('should not crash if there are no tslint rules specified', () => { - const linter = new TSESLint.Linter(); - jest.spyOn(console, 'warn').mockImplementation(); - linter.defineRule('tslint/config', rule); - linter.defineParser('@typescript-eslint/parser', parser); - - const filePath = path.resolve( - __dirname, - 'fixtures', - 'test-project', - 'extra.ts', - ); - - expect(() => - linter.verify( - 'foo;', - { - parserOptions: { - project: TEST_PROJECT_PATH, - }, - rules: { - 'tslint/config': [2, {}], - }, - parser: '@typescript-eslint/parser', - }, - filePath, - ), - ).not.toThrow(); - - expect(console.warn).toHaveBeenCalledWith( - expect.stringContaining( - `Tried to lint ${filePath} but found no valid, enabled rules for this file type and file path in the resolved configuration.`, - ), - ); - jest.resetAllMocks(); - }); - }); -} diff --git a/packages/eslint-plugin-tslint/tsconfig.build.json b/packages/eslint-plugin-tslint/tsconfig.build.json deleted file mode 100644 index 86650784975c..000000000000 --- a/packages/eslint-plugin-tslint/tsconfig.build.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "extends": "../../tsconfig.base.json", - "compilerOptions": { - // specifically disable declarations for the plugin - // see reasoning in packages/eslint-plugin/rules.d.ts - "declaration": false, - "declarationMap": false, - "outDir": "./dist", - "rootDir": "./src", - "resolveJsonModule": true - }, - "include": ["src"], - "references": [{ "path": "../utils/tsconfig.build.json" }] -} diff --git a/packages/eslint-plugin-tslint/tsconfig.json b/packages/eslint-plugin-tslint/tsconfig.json deleted file mode 100644 index 4ba17c6d60ab..000000000000 --- a/packages/eslint-plugin-tslint/tsconfig.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "extends": "./tsconfig.build.json", - "compilerOptions": { - "composite": false, - "rootDir": "." - }, - "include": ["src", "tests"], - "exclude": ["tests/fixtures"], - "references": [{ "path": "../utils/tsconfig.build.json" }] -} diff --git a/packages/integration-tests/fixtures/typescript-and-tslint-plugins-together/.eslintrc.js b/packages/integration-tests/fixtures/typescript-and-tslint-plugins-together/.eslintrc.js deleted file mode 100644 index c86654dad2d5..000000000000 --- a/packages/integration-tests/fixtures/typescript-and-tslint-plugins-together/.eslintrc.js +++ /dev/null @@ -1,28 +0,0 @@ -module.exports = { - root: true, - parser: '@typescript-eslint/parser', - plugins: ['@typescript-eslint', '@typescript-eslint/tslint'], - env: { - es6: true, - node: true, - }, - extends: ['plugin:@typescript-eslint/recommended'], - parserOptions: { - sourceType: 'module', - ecmaFeatures: { - jsx: false, - }, - tsconfigRootDir: __dirname, - project: './tsconfig.json', - }, - rules: { - '@typescript-eslint/tslint/config': [ - 'error', - { - rules: { - semicolon: [true, 'always'], - }, - }, - ], - }, -}; diff --git a/packages/integration-tests/fixtures/typescript-and-tslint-plugins-together/index.ts b/packages/integration-tests/fixtures/typescript-and-tslint-plugins-together/index.ts deleted file mode 100644 index 8812117dbb25..000000000000 --- a/packages/integration-tests/fixtures/typescript-and-tslint-plugins-together/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -// prettier-ignore -const noSemi = true diff --git a/packages/integration-tests/fixtures/typescript-and-tslint-plugins-together/package.json b/packages/integration-tests/fixtures/typescript-and-tslint-plugins-together/package.json deleted file mode 100644 index 576b100099e2..000000000000 --- a/packages/integration-tests/fixtures/typescript-and-tslint-plugins-together/package.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "devDependencies": { - "tslint": "*" - } -} diff --git a/packages/integration-tests/fixtures/typescript-and-tslint-plugins-together/tsconfig.json b/packages/integration-tests/fixtures/typescript-and-tslint-plugins-together/tsconfig.json deleted file mode 100644 index aee0ec940fcd..000000000000 --- a/packages/integration-tests/fixtures/typescript-and-tslint-plugins-together/tsconfig.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "compilerOptions": { - "strict": true - } -} diff --git a/packages/integration-tests/tools/integration-test-base.ts b/packages/integration-tests/tools/integration-test-base.ts index 121d89ebb5e7..6934dbb8b25b 100644 --- a/packages/integration-tests/tools/integration-test-base.ts +++ b/packages/integration-tests/tools/integration-test-base.ts @@ -72,10 +72,6 @@ function integrationTest( devDependencies: { ...BASE_DEPENDENCIES, ...fixturePackageJson.devDependencies, - // install tslint with the base version if required - tslint: fixturePackageJson.devDependencies.tslint - ? rootPackageJson.devDependencies.tslint - : undefined, }, // ensure everything uses the locally packed versions instead of the NPM versions resolutions: { diff --git a/yarn.lock b/yarn.lock index 0bbfcaf86f5d..cf6619adf5cc 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5425,23 +5425,6 @@ __metadata: languageName: unknown linkType: soft -"@typescript-eslint/eslint-plugin-tslint@workspace:packages/eslint-plugin-tslint": - version: 0.0.0-use.local - resolution: "@typescript-eslint/eslint-plugin-tslint@workspace:packages/eslint-plugin-tslint" - dependencies: - "@types/lodash": "*" - "@typescript-eslint/parser": 7.0.2 - "@typescript-eslint/utils": 7.0.2 - jest: 29.7.0 - prettier: ^3.0.3 - rimraf: "*" - peerDependencies: - eslint: ^8.56.0 - tslint: ^5.0.0 || ^6.0.0 - typescript: "*" - languageName: unknown - linkType: soft - "@typescript-eslint/eslint-plugin@7.0.2, @typescript-eslint/eslint-plugin@workspace:packages/eslint-plugin": version: 0.0.0-use.local resolution: "@typescript-eslint/eslint-plugin@workspace:packages/eslint-plugin" @@ -5721,7 +5704,6 @@ __metadata: rimraf: ^5.0.1 tmp: ^0.2.1 ts-node: 10.7.0 - tslint: ^6.1.3 tsx: ^4.6.2 typescript: ">=4.7.4 <5.4.0" typescript-eslint: "workspace:^" @@ -7102,13 +7084,6 @@ __metadata: languageName: node linkType: hard -"builtin-modules@npm:^1.1.1": - version: 1.1.1 - resolution: "builtin-modules@npm:1.1.1" - checksum: 0fbf69ffe77fecf11c441b9a7d1e664bb8119a7d3004831d9bd6ce0eacfd5d121ed4b667172870b5f66ecfce4bd54f7c20060d21c339c29049a7a5dd2bb7bf8c - languageName: node - linkType: hard - "builtin-modules@npm:^3.1.0, builtin-modules@npm:^3.3.0": version: 3.3.0 resolution: "builtin-modules@npm:3.3.0" @@ -7293,7 +7268,7 @@ __metadata: languageName: node linkType: hard -"chalk@npm:^2.3.0, chalk@npm:^2.4.2": +"chalk@npm:^2.4.2": version: 2.4.2 resolution: "chalk@npm:2.4.2" dependencies: @@ -7731,7 +7706,7 @@ __metadata: languageName: node linkType: hard -"commander@npm:^2.12.1, commander@npm:^2.20.0, commander@npm:^2.7.1": +"commander@npm:^2.20.0, commander@npm:^2.7.1": version: 2.20.3 resolution: "commander@npm:2.20.3" checksum: ab8c07884e42c3a8dbc5dd9592c606176c7eb5c1ca5ff274bcf907039b2c41de3626f684ea75ccf4d361ba004bbaff1f577d5384c155f3871e456bdf27becf9e @@ -10750,7 +10725,7 @@ __metadata: languageName: node linkType: hard -"glob@npm:^7.0.0, glob@npm:^7.1.1, glob@npm:^7.1.3, glob@npm:^7.1.4, glob@npm:^7.1.6": +"glob@npm:^7.0.0, glob@npm:^7.1.3, glob@npm:^7.1.4, glob@npm:^7.1.6": version: 7.2.3 resolution: "glob@npm:7.2.3" dependencies: @@ -14013,17 +13988,6 @@ __metadata: languageName: node linkType: hard -"mkdirp@npm:^0.5.3": - version: 0.5.5 - resolution: "mkdirp@npm:0.5.5" - dependencies: - minimist: ^1.2.5 - bin: - mkdirp: bin/cmd.js - checksum: 3bce20ea525f9477befe458ab85284b0b66c8dc3812f94155af07c827175948cdd8114852ac6c6d82009b13c1048c37f6d98743eb019651ee25c39acc8aabe7d - languageName: node - linkType: hard - "mkdirp@npm:^1.0.3": version: 1.0.4 resolution: "mkdirp@npm:1.0.4" @@ -16878,7 +16842,7 @@ __metadata: languageName: node linkType: hard -"semver@npm:2 || 3 || 4 || 5, semver@npm:^5.3.0, semver@npm:^5.4.1": +"semver@npm:2 || 3 || 4 || 5, semver@npm:^5.4.1": version: 5.7.2 resolution: "semver@npm:5.7.2" bin: @@ -18273,7 +18237,7 @@ __metadata: languageName: node linkType: hard -"tslib@npm:^1.13.0, tslib@npm:^1.8.1": +"tslib@npm:^1.8.1": version: 1.14.1 resolution: "tslib@npm:1.14.1" checksum: dbe628ef87f66691d5d2959b3e41b9ca0045c3ee3c7c7b906cc1e328b39f199bb1ad9e671c39025bd56122ac57dfbf7385a94843b1cc07c60a4db74795829acd @@ -18287,42 +18251,6 @@ __metadata: languageName: node linkType: hard -"tslint@npm:^6.1.3": - version: 6.1.3 - resolution: "tslint@npm:6.1.3" - dependencies: - "@babel/code-frame": ^7.0.0 - builtin-modules: ^1.1.1 - chalk: ^2.3.0 - commander: ^2.12.1 - diff: ^4.0.1 - glob: ^7.1.1 - js-yaml: ^3.13.1 - minimatch: ^3.0.4 - mkdirp: ^0.5.3 - resolve: ^1.3.2 - semver: ^5.3.0 - tslib: ^1.13.0 - tsutils: ^2.29.0 - peerDependencies: - typescript: ">=2.3.0-dev || >=2.4.0-dev || >=2.5.0-dev || >=2.6.0-dev || >=2.7.0-dev || >=2.8.0-dev || >=2.9.0-dev || >=3.0.0-dev || >= 3.1.0-dev || >= 3.2.0-dev || >= 4.0.0-dev" - bin: - tslint: bin/tslint - checksum: 7348b7abd6b8939f0b295c4dddbb104adfe2e96c9cc5be4a946a87a28df648bde61046cfb07951708938192f553eba6254f7729b85fd230efebbd72f7988255e - languageName: node - linkType: hard - -"tsutils@npm:^2.29.0": - version: 2.29.0 - resolution: "tsutils@npm:2.29.0" - dependencies: - tslib: ^1.8.1 - peerDependencies: - typescript: ">=2.1.0 || >=2.1.0-dev || >=2.2.0-dev || >=2.3.0-dev || >=2.4.0-dev || >=2.5.0-dev || >=2.6.0-dev || >=2.7.0-dev || >=2.8.0-dev || >=2.9.0-dev || >= 3.0.0-dev || >= 3.1.0-dev" - checksum: 5d681bab79979e3b4d61dd0d1e6c1dd6a79b5608cf8dec5a5ee599ac8b5921107870bcf037140b8dce85a479df78aee0ffa61c1b3d8e5660748af36551946616 - languageName: node - linkType: hard - "tsutils@npm:^3.21.0": version: 3.21.0 resolution: "tsutils@npm:3.21.0" pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy