Skip to content

Commit 42100df

Browse files
committed
use VERSION
1 parent 74a3f23 commit 42100df

File tree

2 files changed

+6
-50
lines changed

2 files changed

+6
-50
lines changed

packages/eslint-plugin-svelte/src/rules/valid-prop-names-in-kit-pages.ts

+1-2
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ import type { TSESTree } from '@typescript-eslint/types';
33
import { createRule } from '../utils/index.js';
44
import type { RuleContext } from '../types.js';
55
import { getSvelteVersion } from '../utils/svelte-context.js';
6-
import { getFilename } from '../utils/compat.js';
76

87
const EXPECTED_PROP_NAMES = ['data', 'errors', 'form', 'snapshot'];
98
const EXPECTED_PROP_NAMES_SVELTE5 = [...EXPECTED_PROP_NAMES, 'children'];
@@ -49,7 +48,7 @@ export default createRule('valid-prop-names-in-kit-pages', {
4948
},
5049
create(context) {
5150
let isScript = false;
52-
const isSvelte5 = getSvelteVersion(getFilename(context)) === '5';
51+
const isSvelte5 = getSvelteVersion() === '5';
5352
const expectedPropNames = isSvelte5 ? EXPECTED_PROP_NAMES_SVELTE5 : EXPECTED_PROP_NAMES;
5453
return {
5554
// <script>

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

+5-48
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import { getPackageJsons } from './get-package-json.js';
55
import { getNodeModule } from './get-node-module.js';
66
import { getFilename, getSourceCode } from './compat.js';
77
import { createCache } from './cache.js';
8+
import { VERSION as SVELTE_VERSION } from 'svelte/compiler';
89

910
const isRunInBrowser = !fs.readFileSync;
1011

@@ -169,68 +170,24 @@ function getSvelteKitContext(
169170
return result;
170171
}
171172

172-
const svelteVersionCache = createCache<SvelteContext['svelteVersion']>();
173-
174-
function checkAndSetSvelteVersion(
175-
version: string,
176-
filePath: string
177-
): SvelteContext['svelteVersion'] | null {
173+
function checkAndSetSvelteVersion(version: string): SvelteContext['svelteVersion'] | null {
178174
const major = extractMajorVersion(version, false);
179175
if (major == null) {
180-
svelteVersionCache.set(filePath, null);
181176
return null;
182177
}
183178
if (major === '3' || major === '4') {
184-
svelteVersionCache.set(filePath, '3/4');
185179
return '3/4';
186180
}
187-
svelteVersionCache.set(filePath, major as SvelteContext['svelteVersion']);
188181
return major as SvelteContext['svelteVersion'];
189182
}
190183

191-
export function getSvelteVersion(filePath: string): SvelteContext['svelteVersion'] {
192-
const cached = svelteVersionCache.get(filePath);
193-
if (cached) return cached;
194-
184+
export function getSvelteVersion(): SvelteContext['svelteVersion'] {
195185
// Hack: if it runs in browser, it regards as Svelte project.
196186
if (isRunInBrowser) {
197-
svelteVersionCache.set(filePath, '5');
198187
return '5';
199188
}
200189

201-
const nodeModule = getNodeModule('svelte', filePath);
202-
if (nodeModule) {
203-
try {
204-
const packageJson = JSON.parse(
205-
fs.readFileSync(path.join(nodeModule, 'package.json'), 'utf8')
206-
);
207-
const result = checkAndSetSvelteVersion(packageJson.version, filePath);
208-
if (result != null) {
209-
return result;
210-
}
211-
} catch {
212-
/** do nothing */
213-
}
214-
}
215-
216-
try {
217-
const packageJsons = getPackageJsons(filePath);
218-
for (const packageJson of packageJsons) {
219-
const version = packageJson.dependencies?.svelte ?? packageJson.devDependencies?.svelte;
220-
if (typeof version !== 'string') {
221-
continue;
222-
}
223-
const result = checkAndSetSvelteVersion(version, filePath);
224-
if (result != null) {
225-
return result;
226-
}
227-
}
228-
} catch {
229-
/** do nothing */
230-
}
231-
232-
svelteVersionCache.set(filePath, null);
233-
return null;
190+
return checkAndSetSvelteVersion(SVELTE_VERSION);
234191
}
235192

236193
const svelteKitVersionCache = createCache<SvelteContext['svelteKitVersion']>();
@@ -337,7 +294,7 @@ export function getSvelteContext(context: RuleContext): SvelteContext | null {
337294
if (cached) return cached;
338295

339296
const svelteKitContext = getSvelteKitContext(context);
340-
const svelteVersion = getSvelteVersion(filePath);
297+
const svelteVersion = getSvelteVersion();
341298
const svelteFileType = getSvelteFileType(filePath);
342299

343300
if (svelteVersion == null) {

0 commit comments

Comments
 (0)