diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 00000000..44e54133 --- /dev/null +++ b/.prettierignore @@ -0,0 +1 @@ +tests/fixtures diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 00000000..877131f6 --- /dev/null +++ b/.prettierrc @@ -0,0 +1,3 @@ +{ + "plugins": ["prettier-plugin-pkg", "prettier-plugin-svelte"] +} diff --git a/CHANGELOG.md b/CHANGELOG.md index 28ad9341..7d6479ab 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,11 @@ # svelte-eslint-parser +## 1.1.3 + +### Patch Changes + +- [#704](https://github.com/sveltejs/svelte-eslint-parser/pull/704) [`0436da6`](https://github.com/sveltejs/svelte-eslint-parser/commit/0436da6b7190208284de45ce7a54e18c4d31c032) Thanks [@mcous](https://github.com/mcous)! - Strip `projectService` from TS options when type information not needed + ## 1.1.2 ### Patch Changes diff --git a/docs/AST.md b/docs/AST.md index b8eec7b4..c0f90492 100644 --- a/docs/AST.md +++ b/docs/AST.md @@ -15,7 +15,7 @@ See [ESTree] for the AST node of the script generated by `espree`. [variabledeclarator]: https://github.com/estree/estree/blob/master/es5.md#variabledeclarator [pattern]: https://github.com/estree/estree/blob/master/es5.md#patterns -See details: [../src/ast/*](../src/ast/) +See details: [../src/ast/\*](../src/ast/) ## Common diff --git a/docs/internal-mechanism.md b/docs/internal-mechanism.md index 9cc25972..80fead11 100644 --- a/docs/internal-mechanism.md +++ b/docs/internal-mechanism.md @@ -38,23 +38,26 @@ For example, if you enter `*.svelte` template to listen for input events: ```svelte - + + ``` Parse the following virtual script code as a script: ```ts - - function inputHandler () { - // process - } -;function $_render1(){ - -(inputHandler) as ((e:'input' extends keyof HTMLElementEventMap ? HTMLElementEventMap['input'] : CustomEvent) => void ); +function inputHandler() { + // process +} +function $_render1() { + inputHandler as ( + e: "input" extends keyof HTMLElementEventMap + ? HTMLElementEventMap["input"] + : CustomEvent, + ) => void; } ``` @@ -78,25 +81,24 @@ For example, when using `{#each}` and `{@const}`: ```svelte + {#each array as e} - {@const ee = e * 2} - {ee} + {@const ee = e * 2} + {ee} {/each} ``` Parse the following virtual script code as a script: ```ts - - const array = [1, 2, 3] -;function $_render1(){ - -Array.from(array).forEach((e) => { +const array = [1, 2, 3]; +function $_render1() { + Array.from(array).forEach((e) => { const ee = e * 2; - (ee); -}); + ee; + }); } ``` @@ -121,8 +123,9 @@ TypeScript's type inference is pretty good, so parsing Svelte as-is gives some w e.g. + ```ts -export let foo: { bar: number } | null = null +export let foo: { bar: number } | null = null; $: console.log(foo && foo.bar); // ^ never type @@ -139,13 +142,13 @@ For example: ```svelte {foo && foo.bar} @@ -154,26 +157,24 @@ $: ({ bar: n } = foo || { bar: 42 }); Parse the following virtual script code as a script: ```ts - -export let foo: { bar: number } | null = null +export let foo: { bar: number } | null = null; -$: function $_reactiveStatementScopeFunction1(){ - console.log(foo && foo.bar); +$: function $_reactiveStatementScopeFunction1() { + console.log(foo && foo.bar); } -$: let r =$_reactiveVariableScopeFunction2(); -function $_reactiveVariableScopeFunction2(){ - let $_tmpVar3; - return ($_tmpVar3 = foo && foo.bar); +$: let r = $_reactiveVariableScopeFunction2(); +function $_reactiveVariableScopeFunction2() { + let $_tmpVar3; + return ($_tmpVar3 = foo && foo.bar); } -$: let { bar: n } =$_reactiveVariableScopeFunction4(); -function $_reactiveVariableScopeFunction4(){ - let $_tmpVar5; - return ($_tmpVar5 = foo || { bar: 42 }); +$: let { bar: n } = $_reactiveVariableScopeFunction4(); +function $_reactiveVariableScopeFunction4() { + let $_tmpVar5; + return ($_tmpVar5 = foo || { bar: 42 }); } -;function $_render6(){ - -(foo && foo.bar); +function $_render6() { + foo && foo.bar; } ``` diff --git a/package.json b/package.json index d60a4f39..598cf544 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,7 @@ { "name": "svelte-eslint-parser", - "version": "1.1.2", + "version": "1.1.3", + "type": "module", "description": "Svelte parser for ESLint", "repository": "git+https://github.com/sveltejs/svelte-eslint-parser.git", "homepage": "https://github.com/sveltejs/svelte-eslint-parser#readme", @@ -14,7 +15,6 @@ "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, - "type": "module", "main": "lib/index.js", "files": [ "lib" @@ -40,10 +40,10 @@ "prerelease": "pnpm run clean && pnpm run build", "preversion": "pnpm run lint && pnpm run test", "release": "changeset publish", + "run-update-fixtures": "pnpm run ts ./tools/update-fixtures.ts", "test": "pnpm run mocha \"tests/src/**/*.ts\" --reporter dot --timeout 60000", "ts": "node --import tsx/esm", "update-fixtures": "git add package.json && pnpm i -D svelte@4 && git checkout package.json && pnpm run run-update-fixtures && pnpm i && pnpm run run-update-fixtures", - "run-update-fixtures": "pnpm run ts ./tools/update-fixtures.ts", "version:ci": "env-cmd -e version-ci pnpm run build:meta && changeset version" }, "peerDependencies": { @@ -77,22 +77,21 @@ "@types/mocha": "^10.0.10", "@types/node": "^22.13.13", "@types/semver": "^7.7.0", - "@typescript-eslint/eslint-plugin": "^8.28.0", - "@typescript-eslint/parser": "~8.29.0", - "@typescript-eslint/types": "~8.29.0", + "@typescript-eslint/parser": "^8.29.0", + "@typescript-eslint/types": "^8.29.0", "benchmark": "^2.1.4", "c8": "^10.1.3", "chai": "^5.2.0", "env-cmd": "^10.1.0", "esbuild": "^0.25.1", - "eslint": "~9.23.0", + "eslint": "~9.26.0", "eslint-config-prettier": "^10.1.1", "eslint-plugin-eslint-comments": "^3.2.0", "eslint-plugin-jsdoc": "^50.6.9", "eslint-plugin-json-schema-validator": "^5.3.1", "eslint-plugin-jsonc": "^2.20.0", "eslint-plugin-n": "^17.17.0", - "eslint-plugin-node-dependencies": "^0.12.0", + "eslint-plugin-node-dependencies": "^1.0.0", "eslint-plugin-prettier": "^5.2.5", "eslint-plugin-regexp": "^2.7.0", "eslint-plugin-svelte": "^3.3.3", @@ -102,7 +101,7 @@ "magic-string": "^0.30.17", "mocha": "^11.1.0", "prettier": "~3.5.3", - "prettier-plugin-pkg": "^0.18.1", + "prettier-plugin-pkg": "^0.19.0", "prettier-plugin-svelte": "^3.3.3", "rimraf": "^6.0.1", "semver": "^7.7.1", @@ -111,7 +110,7 @@ "tsx": "^4.19.3", "typescript": "~5.8.2", "typescript-eslint": "^8.28.0", - "typescript-eslint-parser-for-extra-files": "^0.7.0" + "typescript-eslint-parser-for-extra-files": "^0.9.0" }, "publishConfig": { "access": "public" diff --git a/prettier.config.mjs b/prettier.config.mjs new file mode 100644 index 00000000..ff8b4c56 --- /dev/null +++ b/prettier.config.mjs @@ -0,0 +1 @@ +export default {}; diff --git a/src/meta.ts b/src/meta.ts index fb1bf8af..fb51a49d 100644 --- a/src/meta.ts +++ b/src/meta.ts @@ -2,4 +2,4 @@ // This file has been automatically generated, // in order to update its content execute "pnpm run build:meta" export const name = "svelte-eslint-parser"; -export const version = "1.1.2"; +export const version = "1.1.3"; diff --git a/src/parser/converts/root.ts b/src/parser/converts/root.ts index 5e5e8de3..81614868 100644 --- a/src/parser/converts/root.ts +++ b/src/parser/converts/root.ts @@ -27,6 +27,7 @@ import { getOptionsFromRoot, } from "../compat.js"; import { sortNodes } from "../sort.js"; +import { withoutProjectParserOptions } from "../parser-options.js"; /** * Convert root @@ -259,11 +260,7 @@ function convertGenericsAttribute(script: SvelteScriptElement, ctx: Context) { result = parseScriptWithoutAnalyzeScope( scriptLet, ctx.sourceCode.scripts.attrs, - { - ...ctx.parserOptions, - // Without typings - project: null, - }, + withoutProjectParserOptions(ctx.parserOptions), ) as unknown as TSESParseForESLintResult; } catch { // ignore diff --git a/src/parser/parser-options.ts b/src/parser/parser-options.ts index fd338485..44d43af1 100644 --- a/src/parser/parser-options.ts +++ b/src/parser/parser-options.ts @@ -9,6 +9,8 @@ import { getParserForLang, type UserOptionParser } from "./resolve-parser.js"; export type NormalizedParserOptions = { parser?: UserOptionParser; project?: string | string[] | null; + projectService?: unknown; + EXPERIMENTAL_useProjectService?: unknown; ecmaVersion: number | "latest"; sourceType: "module" | "script"; @@ -104,3 +106,24 @@ export function isTypeScript( return false; } + +/** + * Remove typing-related options from parser options. + * + * Allows the typescript-eslint parser to parse a file without + * trying to collect typing information from TypeScript. + * + * See https://typescript-eslint.io/packages/parser#withoutprojectparseroptionsparseroptions + */ +export function withoutProjectParserOptions( + options: NormalizedParserOptions, +): NormalizedParserOptions { + const { + project: _strippedProject, + projectService: _strippedProjectService, + EXPERIMENTAL_useProjectService: _strippedExperimentalUseProjectService, + ...result + } = options; + + return result; +} diff --git a/src/parser/typescript/analyze/index.ts b/src/parser/typescript/analyze/index.ts index 9d784e7a..cea34041 100644 --- a/src/parser/typescript/analyze/index.ts +++ b/src/parser/typescript/analyze/index.ts @@ -23,6 +23,7 @@ import type { NormalizedParserOptions } from "../../parser-options.js"; import { setParent } from "../set-parent.js"; import { getGlobalsForSvelte, globalsForRunes } from "../../globals.js"; import type { SvelteParseContext } from "../../svelte-parse-context.js"; +import { withoutProjectParserOptions } from "../../parser-options.js"; export type AnalyzeTypeScriptContext = { slots: Set; @@ -53,11 +54,7 @@ export function analyzeTypeScriptInSvelte( const result = parseScriptWithoutAnalyzeScope( code.script + code.render + code.rootScope, attrs, - { - ...parserOptions, - // Without typings - project: null, - }, + withoutProjectParserOptions(parserOptions), ) as unknown as TSESParseForESLintResult; ctx._beforeResult = result; @@ -118,11 +115,11 @@ export function analyzeTypeScript( const ctx = new VirtualTypeScriptContext(code); ctx.appendOriginal(/^\s*/u.exec(code)![0].length); - const result = parseScriptWithoutAnalyzeScope(code, attrs, { - ...parserOptions, - // Without typings - project: null, - }) as unknown as TSESParseForESLintResult; + const result = parseScriptWithoutAnalyzeScope( + code, + attrs, + withoutProjectParserOptions(parserOptions), + ) as unknown as TSESParseForESLintResult; ctx._beforeResult = result; diff --git a/tests/fixtures/integrations/snippet-scope/snippet-shadow-scope-setup.ts b/tests/fixtures/integrations/snippet-scope/snippet-shadow-scope-setup.ts index 303b59e4..52336412 100644 --- a/tests/fixtures/integrations/snippet-scope/snippet-shadow-scope-setup.ts +++ b/tests/fixtures/integrations/snippet-scope/snippet-shadow-scope-setup.ts @@ -1,6 +1,6 @@ import type { Linter } from "eslint"; import { generateParserOptions } from "../../../src/parser/test-utils.js"; -import { rules } from "@typescript-eslint/eslint-plugin"; +import { plugin } from "typescript-eslint"; import * as parser from "../../../../src/index.js"; import globals from "globals"; @@ -8,7 +8,7 @@ export function getConfig(): Linter.Config { return { plugins: { "@typescript-eslint": { - rules: rules as any, + rules: plugin.rules as any, }, }, languageOptions: { diff --git a/tests/fixtures/integrations/snippet-scope/ts-snippet-hoist-scope-setup.ts b/tests/fixtures/integrations/snippet-scope/ts-snippet-hoist-scope-setup.ts index 9b7181f5..fa38171d 100644 --- a/tests/fixtures/integrations/snippet-scope/ts-snippet-hoist-scope-setup.ts +++ b/tests/fixtures/integrations/snippet-scope/ts-snippet-hoist-scope-setup.ts @@ -1,6 +1,6 @@ import type { Linter } from "eslint"; import { generateParserOptions } from "../../../src/parser/test-utils.js"; -import { rules } from "@typescript-eslint/eslint-plugin"; +import { plugin } from "typescript-eslint"; import * as parser from "../../../../src/index.js"; import globals from "globals"; @@ -8,7 +8,7 @@ export function getConfig(): Linter.Config { return { plugins: { "@typescript-eslint": { - rules: rules as any, + rules: plugin.rules as any, }, }, languageOptions: { diff --git a/tests/fixtures/integrations/type-info-tests/$derived-setup.ts b/tests/fixtures/integrations/type-info-tests/$derived-setup.ts index 1751c29e..d412fd99 100644 --- a/tests/fixtures/integrations/type-info-tests/$derived-setup.ts +++ b/tests/fixtures/integrations/type-info-tests/$derived-setup.ts @@ -1,6 +1,6 @@ import type { Linter } from "eslint"; import { generateParserOptions } from "../../../src/parser/test-utils"; -import { rules } from "@typescript-eslint/eslint-plugin"; +import { plugin } from "typescript-eslint"; import * as parser from "../../../../src"; import globals from "globals"; @@ -8,7 +8,7 @@ export function getConfig(): Linter.Config { return { plugins: { "@typescript-eslint": { - rules: rules as any, + rules: plugin.rules as any, }, }, languageOptions: { diff --git a/tests/fixtures/integrations/type-info-tests/$derived-ts-setup.ts b/tests/fixtures/integrations/type-info-tests/$derived-ts-setup.ts index 1751c29e..d412fd99 100644 --- a/tests/fixtures/integrations/type-info-tests/$derived-ts-setup.ts +++ b/tests/fixtures/integrations/type-info-tests/$derived-ts-setup.ts @@ -1,6 +1,6 @@ import type { Linter } from "eslint"; import { generateParserOptions } from "../../../src/parser/test-utils"; -import { rules } from "@typescript-eslint/eslint-plugin"; +import { plugin } from "typescript-eslint"; import * as parser from "../../../../src"; import globals from "globals"; @@ -8,7 +8,7 @@ export function getConfig(): Linter.Config { return { plugins: { "@typescript-eslint": { - rules: rules as any, + rules: plugin.rules as any, }, }, languageOptions: { diff --git a/tests/fixtures/integrations/type-info-tests/$derived2-setup.ts b/tests/fixtures/integrations/type-info-tests/$derived2-setup.ts index 1751c29e..d412fd99 100644 --- a/tests/fixtures/integrations/type-info-tests/$derived2-setup.ts +++ b/tests/fixtures/integrations/type-info-tests/$derived2-setup.ts @@ -1,6 +1,6 @@ import type { Linter } from "eslint"; import { generateParserOptions } from "../../../src/parser/test-utils"; -import { rules } from "@typescript-eslint/eslint-plugin"; +import { plugin } from "typescript-eslint"; import * as parser from "../../../../src"; import globals from "globals"; @@ -8,7 +8,7 @@ export function getConfig(): Linter.Config { return { plugins: { "@typescript-eslint": { - rules: rules as any, + rules: plugin.rules as any, }, }, languageOptions: { diff --git a/tests/fixtures/integrations/type-info-tests/$derived2-ts-setup.ts b/tests/fixtures/integrations/type-info-tests/$derived2-ts-setup.ts index 1751c29e..d412fd99 100644 --- a/tests/fixtures/integrations/type-info-tests/$derived2-ts-setup.ts +++ b/tests/fixtures/integrations/type-info-tests/$derived2-ts-setup.ts @@ -1,6 +1,6 @@ import type { Linter } from "eslint"; import { generateParserOptions } from "../../../src/parser/test-utils"; -import { rules } from "@typescript-eslint/eslint-plugin"; +import { plugin } from "typescript-eslint"; import * as parser from "../../../../src"; import globals from "globals"; @@ -8,7 +8,7 @@ export function getConfig(): Linter.Config { return { plugins: { "@typescript-eslint": { - rules: rules as any, + rules: plugin.rules as any, }, }, languageOptions: { diff --git a/tests/fixtures/integrations/type-info-tests/$props-setup.ts b/tests/fixtures/integrations/type-info-tests/$props-setup.ts index 1751c29e..d412fd99 100644 --- a/tests/fixtures/integrations/type-info-tests/$props-setup.ts +++ b/tests/fixtures/integrations/type-info-tests/$props-setup.ts @@ -1,6 +1,6 @@ import type { Linter } from "eslint"; import { generateParserOptions } from "../../../src/parser/test-utils"; -import { rules } from "@typescript-eslint/eslint-plugin"; +import { plugin } from "typescript-eslint"; import * as parser from "../../../../src"; import globals from "globals"; @@ -8,7 +8,7 @@ export function getConfig(): Linter.Config { return { plugins: { "@typescript-eslint": { - rules: rules as any, + rules: plugin.rules as any, }, }, languageOptions: { diff --git a/tests/fixtures/integrations/type-info-tests/await-setup.ts b/tests/fixtures/integrations/type-info-tests/await-setup.ts index 0776177e..6e873163 100644 --- a/tests/fixtures/integrations/type-info-tests/await-setup.ts +++ b/tests/fixtures/integrations/type-info-tests/await-setup.ts @@ -1,6 +1,6 @@ import type { Linter } from "eslint"; import { generateParserOptions } from "../../../src/parser/test-utils"; -import { rules } from "@typescript-eslint/eslint-plugin"; +import { plugin } from "typescript-eslint"; import * as parser from "../../../../src"; import globals from "globals"; @@ -8,7 +8,7 @@ export function getConfig(): Linter.Config { return { plugins: { "@typescript-eslint": { - rules: rules as any, + rules: plugin.rules as any, }, }, languageOptions: { diff --git a/tests/fixtures/integrations/type-info-tests/await-with-same-id-setup.ts b/tests/fixtures/integrations/type-info-tests/await-with-same-id-setup.ts index 1172dc96..5af1937a 100644 --- a/tests/fixtures/integrations/type-info-tests/await-with-same-id-setup.ts +++ b/tests/fixtures/integrations/type-info-tests/await-with-same-id-setup.ts @@ -1,6 +1,6 @@ import type { Linter } from "eslint"; import { generateParserOptions } from "../../../src/parser/test-utils"; -import { rules } from "@typescript-eslint/eslint-plugin"; +import { plugin } from "typescript-eslint"; import * as parser from "../../../../src"; import globals from "globals"; @@ -8,7 +8,7 @@ export function getConfig(): Linter.Config { return { plugins: { "@typescript-eslint": { - rules: rules as any, + rules: plugin.rules as any, }, }, languageOptions: { diff --git a/tests/fixtures/integrations/type-info-tests/i18n-setup.ts b/tests/fixtures/integrations/type-info-tests/i18n-setup.ts index 0776177e..6e873163 100644 --- a/tests/fixtures/integrations/type-info-tests/i18n-setup.ts +++ b/tests/fixtures/integrations/type-info-tests/i18n-setup.ts @@ -1,6 +1,6 @@ import type { Linter } from "eslint"; import { generateParserOptions } from "../../../src/parser/test-utils"; -import { rules } from "@typescript-eslint/eslint-plugin"; +import { plugin } from "typescript-eslint"; import * as parser from "../../../../src"; import globals from "globals"; @@ -8,7 +8,7 @@ export function getConfig(): Linter.Config { return { plugins: { "@typescript-eslint": { - rules: rules as any, + rules: plugin.rules as any, }, }, languageOptions: { diff --git a/tests/fixtures/integrations/type-info-tests/issue226-setup.ts b/tests/fixtures/integrations/type-info-tests/issue226-setup.ts index 2b458b9d..0ad5e9ea 100644 --- a/tests/fixtures/integrations/type-info-tests/issue226-setup.ts +++ b/tests/fixtures/integrations/type-info-tests/issue226-setup.ts @@ -1,6 +1,6 @@ import type { Linter } from "eslint"; import { generateParserOptions } from "../../../src/parser/test-utils"; -import { rules } from "@typescript-eslint/eslint-plugin"; +import { plugin } from "typescript-eslint"; import * as parser from "../../../../src"; import globals from "globals"; @@ -8,7 +8,7 @@ export function getConfig(): Linter.Config { return { plugins: { "@typescript-eslint": { - rules: rules as any, + rules: plugin.rules as any, }, }, languageOptions: { diff --git a/tests/fixtures/integrations/type-info-tests/no-unnecessary-condition01-setup.ts b/tests/fixtures/integrations/type-info-tests/no-unnecessary-condition01-setup.ts index 14872ebb..05846f7d 100644 --- a/tests/fixtures/integrations/type-info-tests/no-unnecessary-condition01-setup.ts +++ b/tests/fixtures/integrations/type-info-tests/no-unnecessary-condition01-setup.ts @@ -1,6 +1,6 @@ import type { Linter } from "eslint"; import { generateParserOptions } from "../../../src/parser/test-utils"; -import { rules } from "@typescript-eslint/eslint-plugin"; +import { plugin } from "typescript-eslint"; import * as parser from "../../../../src"; import globals from "globals"; @@ -8,7 +8,7 @@ export function getConfig(): Linter.Config { return { plugins: { "@typescript-eslint": { - rules: rules as any, + rules: plugin.rules as any, }, }, languageOptions: { diff --git a/tests/fixtures/integrations/type-info-tests/plugin-issue254-setup.ts b/tests/fixtures/integrations/type-info-tests/plugin-issue254-setup.ts index 14872ebb..05846f7d 100644 --- a/tests/fixtures/integrations/type-info-tests/plugin-issue254-setup.ts +++ b/tests/fixtures/integrations/type-info-tests/plugin-issue254-setup.ts @@ -1,6 +1,6 @@ import type { Linter } from "eslint"; import { generateParserOptions } from "../../../src/parser/test-utils"; -import { rules } from "@typescript-eslint/eslint-plugin"; +import { plugin } from "typescript-eslint"; import * as parser from "../../../../src"; import globals from "globals"; @@ -8,7 +8,7 @@ export function getConfig(): Linter.Config { return { plugins: { "@typescript-eslint": { - rules: rules as any, + rules: plugin.rules as any, }, }, languageOptions: { diff --git a/tests/fixtures/integrations/type-info-tests/reactive-setup.ts b/tests/fixtures/integrations/type-info-tests/reactive-setup.ts index 12eb3010..b90f6180 100644 --- a/tests/fixtures/integrations/type-info-tests/reactive-setup.ts +++ b/tests/fixtures/integrations/type-info-tests/reactive-setup.ts @@ -1,6 +1,6 @@ import type { Linter } from "eslint"; import { generateParserOptions } from "../../../src/parser/test-utils"; -import { rules } from "@typescript-eslint/eslint-plugin"; +import { plugin } from "typescript-eslint"; import * as parser from "../../../../src"; import globals from "globals"; @@ -8,7 +8,7 @@ export function getConfig(): Linter.Config { return { plugins: { "@typescript-eslint": { - rules: rules as any, + rules: plugin.rules as any, }, }, languageOptions: { diff --git a/tests/fixtures/integrations/type-info-tests/reactive2-setup.ts b/tests/fixtures/integrations/type-info-tests/reactive2-setup.ts index 5804c700..96c7ba6f 100644 --- a/tests/fixtures/integrations/type-info-tests/reactive2-setup.ts +++ b/tests/fixtures/integrations/type-info-tests/reactive2-setup.ts @@ -1,6 +1,6 @@ import type { Linter } from "eslint"; import { generateParserOptions } from "../../../src/parser/test-utils"; -import { rules } from "@typescript-eslint/eslint-plugin"; +import { plugin } from "typescript-eslint"; import * as parser from "../../../../src"; import globals from "globals"; @@ -8,7 +8,7 @@ export function getConfig(): Linter.Config { return { plugins: { "@typescript-eslint": { - rules: rules as any, + rules: plugin.rules as any, }, }, languageOptions: { diff --git a/tests/fixtures/integrations/type-info-tests/ts-newline-setup.ts b/tests/fixtures/integrations/type-info-tests/ts-newline-setup.ts index a1a075a0..348575af 100644 --- a/tests/fixtures/integrations/type-info-tests/ts-newline-setup.ts +++ b/tests/fixtures/integrations/type-info-tests/ts-newline-setup.ts @@ -1,6 +1,6 @@ import type { Linter } from "eslint"; import { generateParserOptions } from "../../../src/parser/test-utils"; -import { rules } from "@typescript-eslint/eslint-plugin"; +import { plugin } from "typescript-eslint"; import * as parser from "../../../../src"; import globals from "globals"; @@ -8,7 +8,7 @@ export function getConfig(): Linter.Config { return { plugins: { "@typescript-eslint": { - rules: rules as any, + rules: plugin.rules as any, }, }, languageOptions: { diff --git a/tests/fixtures/integrations/type-info-tests/ts-no-misused-promises-setup.ts b/tests/fixtures/integrations/type-info-tests/ts-no-misused-promises-setup.ts index f8a6a783..50827a22 100644 --- a/tests/fixtures/integrations/type-info-tests/ts-no-misused-promises-setup.ts +++ b/tests/fixtures/integrations/type-info-tests/ts-no-misused-promises-setup.ts @@ -1,6 +1,6 @@ import type { Linter } from "eslint"; import { generateParserOptions } from "../../../src/parser/test-utils"; -import { rules } from "@typescript-eslint/eslint-plugin"; +import { plugin } from "typescript-eslint"; import * as parser from "../../../../src"; import globals from "globals"; @@ -8,7 +8,7 @@ export function getConfig(): Linter.Config { return { plugins: { "@typescript-eslint": { - rules: rules as any, + rules: plugin.rules as any, }, }, languageOptions: {