Skip to content

Commit 861ba53

Browse files
committed
fix
1 parent 65a70e5 commit 861ba53

10 files changed

+42
-37
lines changed

src/parser/typescript/restore.ts

+1-3
Original file line numberDiff line numberDiff line change
@@ -55,9 +55,7 @@ export class RestoreContext {
5555
public addRestoreExpressionProcess<T extends TSESTree.Expression>(
5656
process: RestoreExpressionProcess<T>,
5757
): void {
58-
this.restoreExpressionProcesses.push(
59-
process as RestoreExpressionProcess<TSESTree.Expression>,
60-
);
58+
this.restoreExpressionProcesses.push(process as never);
6159
}
6260

6361
public addOffset(offset: { original: number; dist: number }): void {
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"parse": {
3+
"svelte": ">=5.0.0-0"
4+
}
5+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"parse": {
3+
"svelte": ">=5.0.0-0"
4+
}
5+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"parse": {
3+
"svelte": ">=5.0.0-0"
4+
}
5+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"parse": {
3+
"svelte": ">=5.0.0-0"
4+
}
5+
}

tests/fixtures/parser/ast/svelte5/ts-$props01-type-output.svelte

+2-2
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,6 @@
99
</script>
1010

1111
{a} <!-- a: number -->
12-
{b} <!-- b: Promise<{ x: number; }> -->
13-
{c} <!-- c: Promise<{ x: number; }> -->
12+
{b} <!-- b: string -->
13+
{c} <!-- c: boolean -->
1414
{everythingElse} <!-- everythingElse: { d: number; } -->

tests/fixtures/parser/ast/ts-use01-type-output.svelte

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<script lang="ts">
22
type MyActionParam = () => (p: { foo: number }) => void; // MyActionParam: MyActionParam, p: { foo: number; }
3-
function myAction(_node: HTMLElement, params: MyActionParam) { // myAction: { (_node: HTMLElement, params: MyActionParam): { destroy: () => void; }; (_node: HTMLElement, params: MyActionParam): { ...; }; }, _node: HTMLElement, params: MyActionParam
3+
function myAction(_node: HTMLElement, params: MyActionParam) { // myAction: (_node: HTMLElement, params: MyActionParam) => { destroy: () => void; }, _node: HTMLElement, params: MyActionParam
44
const result = params(); // result: (p: { foo: number; }) => void, params(): (p: { foo: number; }) => void
55
result({ foo: 1 }); // result({ foo: 1 }): void
66
return {
@@ -10,7 +10,7 @@
1010
</script>
1111

1212
<div
13-
use:myAction={() => { // myAction: { (_node: HTMLElement, params: MyActionParam): { destroy: () => void; }; (_node: HTMLElement, params: MyActionParam): { ...; }; }
13+
use:myAction={() => { // myAction: (_node: HTMLElement, params: MyActionParam) => { destroy: () => void; }
1414
return (param) => { // param: { foo: number; }
1515
param.foo; // param.foo: number
1616
};

tests/fixtures/tsconfig.test.json

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
{
22
"compilerOptions": {
33
"strict": true,
4-
"module": "commonjs"
4+
"module": "Node16",
5+
"moduleResolution": "Node16",
56
}
67
}

tests/src/integrations.ts

+15-17
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ import {
99
listupFixtures,
1010
} from "./parser/test-utils";
1111
import path from "path";
12-
import * as tsESLintParser from "@typescript-eslint/parser";
1312

1413
const FIXTURE_ROOT = path.resolve(__dirname, "../fixtures/integrations");
1514

@@ -22,9 +21,16 @@ function createLinter() {
2221
}
2322

2423
describe("Integration tests.", () => {
25-
for (const { input, inputFileName, outputFileName, config } of listupFixtures(
26-
FIXTURE_ROOT,
27-
)) {
24+
for (const {
25+
input,
26+
inputFileName,
27+
outputFileName,
28+
config,
29+
meetRequirements,
30+
} of listupFixtures(FIXTURE_ROOT)) {
31+
if (!meetRequirements("parse")) {
32+
continue;
33+
}
2834
it(inputFileName, () => {
2935
const setupFileName = inputFileName.replace(
3036
/input\.svelte(?:\.[jt]s)?$/u,
@@ -59,19 +65,11 @@ describe("Integration tests.", () => {
5965
2,
6066
);
6167

62-
try {
63-
if (fs.existsSync(outputFileName)) {
64-
const output = fs.readFileSync(outputFileName, "utf8");
65-
assert.strictEqual(messagesJson, output);
66-
} else {
67-
fs.writeFileSync(outputFileName, messagesJson, "utf8");
68-
}
69-
} finally {
70-
// Clear type info cache
71-
tsESLintParser.parseForESLint(
72-
"",
73-
generateParserOptions({ filePath: inputFileName }, config),
74-
);
68+
if (fs.existsSync(outputFileName)) {
69+
const output = fs.readFileSync(outputFileName, "utf8");
70+
assert.strictEqual(messagesJson, output);
71+
} else {
72+
fs.writeFileSync(outputFileName, messagesJson, "utf8");
7573
}
7674
});
7775
}

tools/update-fixtures.ts

-12
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ import {
1414
} from "../tests/src/parser/test-utils";
1515
import type ts from "typescript";
1616
import type ESTree from "estree";
17-
import * as tsESLintParser from "@typescript-eslint/parser";
1817
import type { SourceLocation } from "../src/ast";
1918

2019
const ERROR_FIXTURE_ROOT = path.resolve(
@@ -46,21 +45,10 @@ const RULES = [
4645
"template-curly-spacing",
4746
];
4847

49-
let beforeFilePath: string | undefined;
50-
5148
/**
5249
* Parse
5350
*/
5451
function parse(code: string, filePath: string, config: any) {
55-
if (beforeFilePath) {
56-
// Clear type info cache
57-
tsESLintParser.parseForESLint(
58-
"",
59-
generateParserOptions({ filePath: beforeFilePath }, config),
60-
);
61-
}
62-
63-
beforeFilePath = filePath;
6452
return parseForESLint(code, generateParserOptions({ filePath }, config));
6553
}
6654

0 commit comments

Comments
 (0)