Skip to content

Commit d47c2c5

Browse files
authored
feat: upgrade eslint to v9 (#12268)
1 parent 685bb31 commit d47c2c5

File tree

29 files changed

+478
-473
lines changed

29 files changed

+478
-473
lines changed

Diff for: .changeset/young-monkeys-learn.md

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"create-svelte": minor
3+
---
4+
5+
feat: upgrade eslint to v9

Diff for: .eslintrc.json

-18
This file was deleted.

Diff for: eslint.config.js

+21
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
import svelte_config from '@sveltejs/eslint-config';
2+
3+
/** @type {import('eslint').Linter.FlatConfig[]} */
4+
export default [
5+
...svelte_config,
6+
{
7+
rules: {
8+
'@typescript-eslint/no-unused-expressions': 'off',
9+
'no-undef': 'off'
10+
}
11+
},
12+
{
13+
ignores: [
14+
'**/.svelte-kit',
15+
'packages/adapter-static/test/apps/*/build',
16+
'packages/adapter-cloudflare/files',
17+
'packages/adapter-netlify/files',
18+
'packages/adapter-node/files'
19+
]
20+
}
21+
];

Diff for: package.json

+5-5
Original file line numberDiff line numberDiff line change
@@ -22,14 +22,14 @@
2222
},
2323
"devDependencies": {
2424
"@changesets/cli": "^2.27.1",
25-
"@sveltejs/eslint-config": "^6.0.4",
25+
"@sveltejs/eslint-config": "^7.0.1",
2626
"@svitejs/changesets-changelog-github-compact": "^1.1.0",
27-
"@typescript-eslint/eslint-plugin": "^7.0.0",
28-
"eslint": "^8.56.0",
27+
"eslint": "^9.0.0",
2928
"eslint-config-prettier": "^9.1.0",
30-
"eslint-plugin-svelte": "^2.35.1",
29+
"eslint-plugin-svelte": "^2.36.0",
3130
"eslint-plugin-unicorn": "^53.0.0",
32-
"playwright": "^1.41.0"
31+
"playwright": "^1.41.0",
32+
"typescript-eslint": "^8.0.0-alpha.20"
3333
},
3434
"packageManager": "[email protected]",
3535
"engines": {

Diff for: packages/adapter-netlify/src/edge.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ function is_static_file(request) {
4747

4848
try {
4949
file = decodeURIComponent(file);
50-
} catch (err) {
50+
} catch {
5151
// ignore
5252
}
5353

Diff for: packages/create-svelte/shared/+eslint+prettier+typescript/.eslintrc.cjs

-31
This file was deleted.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
import js from '@eslint/js';
2+
import ts from 'typescript-eslint';
3+
import svelte from 'eslint-plugin-svelte';
4+
import prettier from 'eslint-config-prettier';
5+
import globals from 'globals';
6+
7+
/** @type {import('eslint').Linter.FlatConfig[]} */
8+
export default [
9+
js.configs.recommended,
10+
...ts.configs.recommended,
11+
...svelte.configs['flat/recommended'],
12+
prettier,
13+
...svelte.configs['flat/prettier'],
14+
{
15+
languageOptions: {
16+
globals: {
17+
...globals.browser,
18+
...globals.node
19+
}
20+
}
21+
},
22+
{
23+
files: ['**/*.svelte'],
24+
languageOptions: {
25+
parserOptions: {
26+
parser: ts.parser
27+
}
28+
}
29+
},
30+
{
31+
ignores: ['build/', '.svelte-kit/', 'dist/']
32+
}
33+
];

Diff for: packages/create-svelte/shared/+eslint+prettier-typescript/.eslintrc.cjs

-15
This file was deleted.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
import js from '@eslint/js';
2+
import svelte from 'eslint-plugin-svelte';
3+
import prettier from 'eslint-config-prettier';
4+
import globals from 'globals';
5+
6+
/** @type {import('eslint').Linter.FlatConfig[]} */
7+
export default [
8+
js.configs.recommended,
9+
...svelte.configs['flat/recommended'],
10+
prettier,
11+
...svelte.configs['flat/prettier'],
12+
{
13+
languageOptions: {
14+
globals: {
15+
...globals.browser,
16+
...globals.node
17+
}
18+
}
19+
},
20+
{
21+
ignores: ['build/', '.svelte-kit/', 'dist/']
22+
}
23+
];
+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
22
"devDependencies": {
3-
"eslint-plugin-svelte": "^2.36.0-next.4"
3+
"eslint-plugin-svelte": "^2.36.0"
44
}
55
}

Diff for: packages/create-svelte/shared/+eslint+typescript/.eslintrc.cjs

-30
This file was deleted.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
import js from '@eslint/js';
2+
import ts from 'typescript-eslint';
3+
import svelte from 'eslint-plugin-svelte';
4+
import globals from 'globals';
5+
6+
/** @type {import('eslint').Linter.FlatConfig[]} */
7+
export default [
8+
js.configs.recommended,
9+
...ts.configs.recommended,
10+
...svelte.configs['flat/recommended'],
11+
{
12+
languageOptions: {
13+
globals: {
14+
...globals.browser,
15+
...globals.node
16+
}
17+
}
18+
},
19+
{
20+
files: ['**/*.svelte'],
21+
languageOptions: {
22+
parserOptions: {
23+
parser: ts.parser
24+
}
25+
}
26+
},
27+
{
28+
ignores: ['build/', '.svelte-kit/', 'dist/']
29+
}
30+
];
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
{
22
"devDependencies": {
3-
"@typescript-eslint/eslint-plugin": "^7.0.0",
4-
"@typescript-eslint/parser": "^7.0.0"
3+
"typescript-eslint": "^8.0.0-alpha.20"
54
}
65
}

Diff for: packages/create-svelte/shared/+eslint-typescript/.eslintrc.cjs

-15
This file was deleted.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
import js from '@eslint/js';
2+
import svelte from 'eslint-plugin-svelte';
3+
import globals from 'globals';
4+
5+
/** @type {import('eslint').Linter.FlatConfig[]} */
6+
export default [
7+
js.configs.recommended,
8+
...svelte.configs['flat/recommended'],
9+
{
10+
languageOptions: {
11+
globals: {
12+
...globals.browser,
13+
...globals.node
14+
}
15+
}
16+
},
17+
{
18+
ignores: ['build/', '.svelte-kit/', 'dist/']
19+
}
20+
];

Diff for: packages/create-svelte/shared/+eslint/.eslintignore

-13
This file was deleted.

Diff for: packages/create-svelte/shared/+eslint/package.json

+4-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
{
22
"devDependencies": {
3-
"@types/eslint": "^8.56.0",
4-
"eslint": "^8.56.0",
5-
"eslint-plugin-svelte": "^2.35.1"
3+
"@types/eslint": "^8.56.7",
4+
"eslint": "^9.0.0",
5+
"eslint-plugin-svelte": "^2.36.0",
6+
"globals": "^15.0.0"
67
}
78
}

Diff for: packages/enhanced-img/src/preprocessor.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -192,7 +192,7 @@ export function parseObject(str) {
192192
.replaceAll(/,(\n\s*)?([^ ])/g, ',"$2');
193193
try {
194194
return JSON.parse(updated);
195-
} catch (err) {
195+
} catch {
196196
throw new Error(`Failed parsing string to object: ${str}`);
197197
}
198198
}

Diff for: packages/kit/src/core/config/options.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -246,7 +246,7 @@ const options = object(
246246

247247
try {
248248
origin = new URL(input).origin;
249-
} catch (e) {
249+
} catch {
250250
throw new Error(`${keypath} must be a valid origin`);
251251
}
252252

Diff for: packages/kit/src/exports/vite/index.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,7 @@ async function resolve_peer_dependency(dependency) {
133133
// @ts-expect-error the types are wrong
134134
const resolved = await imr.resolve(dependency, pathToFileURL(process.cwd() + '/dummy.js'));
135135
return import(resolved);
136-
} catch (e) {
136+
} catch {
137137
throw new Error(
138138
`Could not resolve peer dependency "${dependency}" relative to your project — please install it and try again.`
139139
);

Diff for: packages/kit/src/runtime/app/stores.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ export const updated = {
8585
function get_store(name) {
8686
try {
8787
return getStores()[name];
88-
} catch (e) {
88+
} catch {
8989
throw new Error(
9090
`Cannot subscribe to '${name}' store on the server outside of a Svelte component, as it is bound to the current request via component context. This prevents state from leaking between users.` +
9191
'For more information, see https://kit.svelte.dev/docs/state-management#avoid-shared-state-on-the-server'

Diff for: packages/kit/src/runtime/client/client.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -1070,7 +1070,7 @@ async function load_nearest_error_page(i, branch, errors) {
10701070
universal: null
10711071
}
10721072
};
1073-
} catch (e) {
1073+
} catch {
10741074
continue;
10751075
}
10761076
}

Diff for: packages/kit/src/runtime/server/data/index.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -219,7 +219,7 @@ export function get_data_json(event, options, nodes) {
219219
let str;
220220
try {
221221
str = devalue.stringify(value, reducers);
222-
} catch (e) {
222+
} catch {
223223
const error = await handle_error_and_jsonify(
224224
event,
225225
options,

Diff for: packages/kit/src/runtime/server/page/render.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -556,7 +556,7 @@ function get_data(event, options, nodes, global) {
556556
let str;
557557
try {
558558
str = devalue.uneval({ id, data, error }, replacer);
559-
} catch (e) {
559+
} catch {
560560
error = await handle_error_and_jsonify(
561561
event,
562562
options,

Diff for: packages/kit/src/runtime/server/respond.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ export async function respond(request, options, manifest, state) {
8585
let rerouted_path;
8686
try {
8787
rerouted_path = options.hooks.reroute({ url: new URL(url) }) ?? url.pathname;
88-
} catch (e) {
88+
} catch {
8989
return text('Internal Server Error', {
9090
status: 500
9191
});

0 commit comments

Comments
 (0)