Skip to content

Commit afd422d

Browse files
committed
add undetermined
1 parent 280ae67 commit afd422d

File tree

2 files changed

+29
-14
lines changed

2 files changed

+29
-14
lines changed

packages/eslint-plugin-svelte/src/utils/svelte-context.ts

Lines changed: 9 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,9 @@ import { getFilename, getSourceCode } from './compat.js';
77
const isRunInBrowser = !fs.readFileSync;
88

99
export type SvelteContext = {
10-
svelteVersion: '3/4' | '5';
10+
svelteVersion: '3/4' | '5' | 'undetermined';
1111
svelteFileType: '.svelte' | '.svelte.[js|ts]' | null;
12-
runes: boolean;
12+
runes: boolean | 'undetermined';
1313
svelteKitVersion: '1-next' | '1' | '2' | null;
1414
svelteKitFileType:
1515
| '+page.svelte'
@@ -150,12 +150,15 @@ function getSvelteKitVersion(filePath: string): SvelteContext['svelteKitVersion'
150150
}
151151
}
152152

153-
function getSvelteVersion(compilerVersion: string): SvelteContext['svelteVersion'] {
153+
function getSvelteVersion(compilerVersion: string | undefined): SvelteContext['svelteVersion'] {
154+
if (compilerVersion == null) {
155+
return 'undetermined';
156+
}
154157
const version = parseInt(compilerVersion.split('.')[0], 10);
155158
if (version === 3 || version === 4) {
156159
return '3/4';
157160
}
158-
return '5';
161+
return String(version) as '5';
159162
}
160163

161164
/**
@@ -173,21 +176,13 @@ function getProjectRootDir(filePath: string): string | null {
173176
export function getSvelteContext(context: RuleContext): SvelteContext | null {
174177
const { parserServices } = getSourceCode(context);
175178
const { svelteParseContext } = parserServices;
176-
if (svelteParseContext === undefined) {
177-
return null;
178-
}
179-
180-
const { compilerVersion } = svelteParseContext;
181-
if (compilerVersion === undefined) {
182-
return null;
183-
}
184-
179+
const compilerVersion = svelteParseContext?.compilerVersion;
185180
const filePath = getFilename(context);
186181
const svelteKitContext = getSvelteKitContext(context);
187182

188183
return {
189184
svelteVersion: getSvelteVersion(compilerVersion),
190-
runes: svelteParseContext.runes === true,
185+
runes: svelteParseContext?.runes ?? 'undetermined',
191186
svelteFileType: getSvelteFileType(filePath),
192187
svelteKitVersion: svelteKitContext.svelteKitVersion,
193188
svelteKitFileType: svelteKitContext.svelteKitFileType

packages/eslint-plugin-svelte/tests/src/index.spec.ts

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,14 @@ const actualSvelte5: Parameters<typeof shouldRun>[0] = {
1717
svelteKitFileType: null
1818
};
1919

20+
const actualUndetermined: Parameters<typeof shouldRun>[0] = {
21+
svelteVersion: '5',
22+
svelteFileType: '.svelte',
23+
runes: 'undetermined',
24+
svelteKitVersion: null,
25+
svelteKitFileType: null
26+
};
27+
2028
const actualSvelte5Script: Parameters<typeof shouldRun>[0] = {
2129
svelteVersion: '5',
2230
svelteFileType: '.svelte.[js|ts]',
@@ -143,6 +151,18 @@ describe('shouldRun', () => {
143151
);
144152
});
145153

154+
it('undetermined true', () => {
155+
assert.strictEqual(
156+
shouldRun(actualUndetermined, [
157+
{
158+
svelteVersions: ['5'],
159+
runes: ['undetermined']
160+
}
161+
]),
162+
true
163+
);
164+
});
165+
146166
it('real - svelte3', () => {
147167
assert.strictEqual(
148168
shouldRun(actualSvelte3, [

0 commit comments

Comments
 (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