diff --git a/package.json b/package.json index 78154bc82..8d92ed05d 100644 --- a/package.json +++ b/package.json @@ -42,7 +42,7 @@ "prettier": "^3.4.1", "prettier-plugin-svelte": "^3.3.2", "rimraf": "^6.0.1", - "typescript": "~5.7.2", + "typescript": "~5.8.0", "typescript-eslint": "^8.16.0" }, "publishConfig": { diff --git a/packages/eslint-plugin-svelte/src/rules/block-lang.ts b/packages/eslint-plugin-svelte/src/rules/block-lang.ts index 39a95ca9e..1a673b3ec 100644 --- a/packages/eslint-plugin-svelte/src/rules/block-lang.ts +++ b/packages/eslint-plugin-svelte/src/rules/block-lang.ts @@ -1,6 +1,6 @@ import { createRule } from '../utils/index.js'; import { findAttribute, getLangValue } from '../utils/ast-utils.js'; -import type { SvelteScriptElement, SvelteStyleElement } from 'svelte-eslint-parser/lib/ast'; +import type { AST } from 'svelte-eslint-parser'; import type { SuggestionReportDescriptor, SourceCode } from '../types.js'; export default createRule('block-lang', { @@ -68,13 +68,13 @@ export default createRule('block-lang', { const allowedScriptLangs: (string | null)[] = Array.isArray(scriptOption) ? scriptOption : [scriptOption]; - const scriptNodes: SvelteScriptElement[] = []; + const scriptNodes: AST.SvelteScriptElement[] = []; const styleOption: string | null | (string | null)[] = context.options[0]?.style ?? null; const allowedStyleLangs: (string | null)[] = Array.isArray(styleOption) ? styleOption : [styleOption]; - const styleNodes: SvelteStyleElement[] = []; + const styleNodes: AST.SvelteStyleElement[] = []; return { SvelteScriptElement(node) { @@ -153,7 +153,7 @@ function buildAddLangSuggestions( function buildReplaceLangSuggestions( langs: (string | null)[], - node: SvelteScriptElement | SvelteStyleElement + node: AST.SvelteScriptElement | AST.SvelteStyleElement ): SuggestionReportDescriptor[] { const tagName = node.name.name; const langAttribute = findAttribute(node, 'lang'); diff --git a/packages/eslint-plugin-svelte/src/rules/consistent-selector-style.ts b/packages/eslint-plugin-svelte/src/rules/consistent-selector-style.ts index 558181465..1f64ee0da 100644 --- a/packages/eslint-plugin-svelte/src/rules/consistent-selector-style.ts +++ b/packages/eslint-plugin-svelte/src/rules/consistent-selector-style.ts @@ -6,7 +6,6 @@ import type { Node as SelectorNode, Tag as SelectorTag } from 'postcss-selector-parser'; -import type { SvelteHTMLElement } from 'svelte-eslint-parser/lib/ast'; import { findClassesInAttribute } from '../utils/ast-utils.js'; import { extractExpressionPrefixLiteral, @@ -286,7 +285,7 @@ function addToArrayMap( /** * Finds all nodes in selections that could be matched by key */ -function matchSelection(selections: Selections, key: string): SvelteHTMLElement[] { +function matchSelection(selections: Selections, key: string): AST.SvelteHTMLElement[] { const selection = selections.exact.get(key) ?? []; selections.affixes.forEach((nodes, [prefix, suffix]) => { if ((prefix === null || key.startsWith(prefix)) && (suffix === null || key.endsWith(suffix))) { diff --git a/packages/eslint-plugin-svelte/src/rules/no-navigation-without-base.ts b/packages/eslint-plugin-svelte/src/rules/no-navigation-without-base.ts index 094f432dd..2bebe6d16 100644 --- a/packages/eslint-plugin-svelte/src/rules/no-navigation-without-base.ts +++ b/packages/eslint-plugin-svelte/src/rules/no-navigation-without-base.ts @@ -4,7 +4,7 @@ import { ReferenceTracker } from '@eslint-community/eslint-utils'; import { findVariable } from '../utils/ast-utils.js'; import { extractExpressionPrefixVariable } from '../utils/expression-affixes.js'; import type { RuleContext } from '../types.js'; -import type { SvelteLiteral } from 'svelte-eslint-parser/lib/ast'; +import type { AST } from 'svelte-eslint-parser'; export default createRule('no-navigation-without-base', { meta: { @@ -236,7 +236,7 @@ function expressionIsEmpty(url: TSESTree.Expression): boolean { ); } -function expressionIsAbsolute(url: SvelteLiteral | TSESTree.Expression): boolean { +function expressionIsAbsolute(url: AST.SvelteLiteral | TSESTree.Expression): boolean { switch (url.type) { case 'BinaryExpression': return binaryExpressionIsAbsolute(url); @@ -269,7 +269,7 @@ function urlValueIsAbsolute(url: string): boolean { return url.includes('://'); } -function expressionIsFragment(url: SvelteLiteral | TSESTree.Expression): boolean { +function expressionIsFragment(url: AST.SvelteLiteral | TSESTree.Expression): boolean { switch (url.type) { case 'BinaryExpression': return binaryExpressionIsFragment(url); diff --git a/packages/eslint-plugin-svelte/src/utils/expression-affixes.ts b/packages/eslint-plugin-svelte/src/utils/expression-affixes.ts index 6c960746b..53b6562bc 100644 --- a/packages/eslint-plugin-svelte/src/utils/expression-affixes.ts +++ b/packages/eslint-plugin-svelte/src/utils/expression-affixes.ts @@ -1,7 +1,7 @@ import type { TSESTree } from '@typescript-eslint/types'; import { findVariable } from './ast-utils.js'; import type { RuleContext } from '../types.js'; -import type { SvelteLiteral } from 'svelte-eslint-parser/lib/ast'; +import type { AST } from 'svelte-eslint-parser'; // Variable prefix extraction @@ -80,7 +80,7 @@ function extractTemplateLiteralPrefixVariable( export function extractExpressionPrefixLiteral( context: RuleContext, - expression: SvelteLiteral | TSESTree.Node + expression: AST.SvelteLiteral | TSESTree.Node ): string | null { switch (expression.type) { case 'BinaryExpression': @@ -147,7 +147,7 @@ function extractTemplateLiteralPrefixLiteral( export function extractExpressionSuffixLiteral( context: RuleContext, - expression: SvelteLiteral | TSESTree.Node + expression: AST.SvelteLiteral | TSESTree.Node ): string | null { switch (expression.type) { case 'BinaryExpression':