Skip to content

Commit 157ee1f

Browse files
authored
chore: update svelte-eslint-parser to v1.0.0-next.4 (#956)
1 parent 9568782 commit 157ee1f

16 files changed

+96
-46
lines changed

.changeset/hungry-grapes-shave.md

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'eslint-plugin-svelte': patch
3+
---
4+
5+
chore: update `svelte-eslint-parser` to v1.0.0-next.4

packages/eslint-plugin-svelte/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@
6666
"postcss-safe-parser": "^6.0.0",
6767
"postcss-selector-parser": "^7.0.0",
6868
"semver": "^7.6.3",
69-
"svelte-eslint-parser": "^1.0.0-next.3"
69+
"svelte-eslint-parser": "^1.0.0-next.4"
7070
},
7171
"devDependencies": {
7272
"@babel/core": "^7.26.0",

packages/eslint-plugin-svelte/src/rules/indent-helpers/svelte.ts

+3-1
Original file line numberDiff line numberDiff line change
@@ -289,7 +289,9 @@ export function defineVisitor(context: IndentContext): NodeListener {
289289
const closeOpenTagToken = sourceCode.getTokenAfter(key.lastToken);
290290
offsets.setOffsetToken(closeOpenTagToken, 0, openToken);
291291
} else {
292-
const closeOpenTagToken = sourceCode.getTokenAfter(node.index || node.context);
292+
const closeOpenTagToken = sourceCode.getTokenAfter(
293+
node.index || node.context || node.expression
294+
);
293295
offsets.setOffsetToken(closeOpenTagToken, 0, openToken);
294296
}
295297

packages/eslint-plugin-svelte/src/rules/mustache-spacing.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -272,7 +272,7 @@ export default createRule('mustache-spacing', {
272272
SvelteEachBlock(node: AST.SvelteEachBlock) {
273273
const openBlockOpeningToken = sourceCode.getFirstToken(node);
274274
const openBlockClosingToken = sourceCode.getTokenAfter(
275-
node.key || node.index || node.context,
275+
node.key || node.index || node.context || node.expression,
276276
{
277277
includeComments: false,
278278
filter: isClosingBraceToken

packages/eslint-plugin-svelte/src/rules/no-immutable-reactive-statements.ts

+3-1
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,9 @@ export default createRule('no-immutable-reactive-statements', {
135135
return parent.kind === 'Binding' && parent.expression === expr;
136136
}
137137
if (parent.type === 'SvelteEachBlock') {
138-
return parent.expression === expr && hasWriteReference(parent.context);
138+
return (
139+
parent.context !== null && parent.expression === expr && hasWriteReference(parent.context)
140+
);
139141
}
140142

141143
return false;

packages/eslint-plugin-svelte/src/rules/valid-each-key.ts

+6-2
Original file line numberDiff line numberDiff line change
@@ -27,11 +27,15 @@ export default createRule('valid-each-key', {
2727
if (
2828
!variable.defs.some(
2929
(def) =>
30-
(node.context.range[0] <= def.name.range[0] &&
30+
(node.context &&
31+
node.context.range[0] <= def.name.range[0] &&
3132
def.name.range[1] <= node.context.range[1]) ||
3233
(node.index &&
3334
node.index.range[0] <= def.name.range[0] &&
34-
def.name.range[1] <= node.index.range[1])
35+
def.name.range[1] <= node.index.range[1]) ||
36+
(node.expression &&
37+
node.expression.range[0] <= def.name.range[0] &&
38+
def.name.range[1] <= node.expression.range[1])
3539
)
3640
) {
3741
// It's not an iteration variable.
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1-
- message: '`<img>` element should have an alt attribute(a11y_missing_attribute)'
1+
- message: |-
2+
`<img>` element should have an alt attribute
3+
https://svelte.dev/e/a11y_missing_attribute(a11y_missing_attribute)
24
line: 5
35
column: 1
46
suggestions: null
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,18 @@
1-
- message: noninteractive element cannot have nonnegative tabIndex
2-
value(a11y_no_noninteractive_tabindex)
1+
- message: |-
2+
noninteractive element cannot have nonnegative tabIndex value
3+
https://svelte.dev/e/a11y_no_noninteractive_tabindex(a11y_no_noninteractive_tabindex)
34
line: 6
45
column: 3
56
suggestions: null
6-
- message: A form label must be associated with a
7-
control(a11y_label_has_associated_control)
7+
- message: |-
8+
A form label must be associated with a control
9+
https://svelte.dev/e/a11y_label_has_associated_control(a11y_label_has_associated_control)
810
line: 6
911
column: 3
1012
suggestions: null
11-
- message: noninteractive element cannot have nonnegative tabIndex
12-
value(a11y_no_noninteractive_tabindex)
13+
- message: |-
14+
noninteractive element cannot have nonnegative tabIndex value
15+
https://svelte.dev/e/a11y_no_noninteractive_tabindex(a11y_no_noninteractive_tabindex)
1316
line: 7
1417
column: 3
1518
suggestions: null

packages/eslint-plugin-svelte/tests/fixtures/rules/valid-compile/invalid/invalid-svelte-ignore01-svelte4-errors.yaml

+1-2
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,7 @@
33
line: 6
44
column: 3
55
suggestions: null
6-
- message: 'A11y: A form label must be associated with a
7-
control.(a11y-label-has-associated-control)'
6+
- message: 'A11y: A form label must be associated with a control.(a11y-label-has-associated-control)'
87
line: 6
98
column: 3
109
suggestions: null
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,18 @@
1-
- message: noninteractive element cannot have nonnegative tabIndex
2-
value(a11y_no_noninteractive_tabindex)
1+
- message: |-
2+
noninteractive element cannot have nonnegative tabIndex value
3+
https://svelte.dev/e/a11y_no_noninteractive_tabindex(a11y_no_noninteractive_tabindex)
34
line: 6
45
column: 3
56
suggestions: null
6-
- message: A form label must be associated with a
7-
control(a11y_label_has_associated_control)
7+
- message: |-
8+
A form label must be associated with a control
9+
https://svelte.dev/e/a11y_label_has_associated_control(a11y_label_has_associated_control)
810
line: 6
911
column: 3
1012
suggestions: null
11-
- message: noninteractive element cannot have nonnegative tabIndex
12-
value(a11y_no_noninteractive_tabindex)
13+
- message: |-
14+
noninteractive element cannot have nonnegative tabIndex value
15+
https://svelte.dev/e/a11y_no_noninteractive_tabindex(a11y_no_noninteractive_tabindex)
1316
line: 7
1417
column: 3
1518
suggestions: null
Original file line numberDiff line numberDiff line change
@@ -1,53 +1,66 @@
1-
- message: Empty block(block_empty)
1+
- message: |-
2+
Empty block
3+
https://svelte.dev/e/block_empty(block_empty)
24
line: 2
35
column: 30
46
suggestions: null
5-
- message: noninteractive element cannot have nonnegative tabIndex
6-
value(a11y_no_noninteractive_tabindex)
7+
- message: |-
8+
noninteractive element cannot have nonnegative tabIndex value
9+
https://svelte.dev/e/a11y_no_noninteractive_tabindex(a11y_no_noninteractive_tabindex)
710
line: 5
811
column: 3
912
suggestions: null
10-
- message: A form label must be associated with a
11-
control(a11y_label_has_associated_control)
13+
- message: |-
14+
A form label must be associated with a control
15+
https://svelte.dev/e/a11y_label_has_associated_control(a11y_label_has_associated_control)
1216
line: 5
1317
column: 3
1418
suggestions: null
15-
- message: noninteractive element cannot have nonnegative tabIndex
16-
value(a11y_no_noninteractive_tabindex)
19+
- message: |-
20+
noninteractive element cannot have nonnegative tabIndex value
21+
https://svelte.dev/e/a11y_no_noninteractive_tabindex(a11y_no_noninteractive_tabindex)
1722
line: 6
1823
column: 3
1924
suggestions: null
20-
- message: noninteractive element cannot have nonnegative tabIndex
21-
value(a11y_no_noninteractive_tabindex)
25+
- message: |-
26+
noninteractive element cannot have nonnegative tabIndex value
27+
https://svelte.dev/e/a11y_no_noninteractive_tabindex(a11y_no_noninteractive_tabindex)
2228
line: 9
2329
column: 3
2430
suggestions: null
25-
- message: A form label must be associated with a
26-
control(a11y_label_has_associated_control)
31+
- message: |-
32+
A form label must be associated with a control
33+
https://svelte.dev/e/a11y_label_has_associated_control(a11y_label_has_associated_control)
2734
line: 9
2835
column: 3
2936
suggestions: null
30-
- message: noninteractive element cannot have nonnegative tabIndex
31-
value(a11y_no_noninteractive_tabindex)
37+
- message: |-
38+
noninteractive element cannot have nonnegative tabIndex value
39+
https://svelte.dev/e/a11y_no_noninteractive_tabindex(a11y_no_noninteractive_tabindex)
3240
line: 10
3341
column: 3
3442
suggestions: null
35-
- message: Empty block(block_empty)
43+
- message: |-
44+
Empty block
45+
https://svelte.dev/e/block_empty(block_empty)
3646
line: 14
3747
column: 30
3848
suggestions: null
39-
- message: noninteractive element cannot have nonnegative tabIndex
40-
value(a11y_no_noninteractive_tabindex)
49+
- message: |-
50+
noninteractive element cannot have nonnegative tabIndex value
51+
https://svelte.dev/e/a11y_no_noninteractive_tabindex(a11y_no_noninteractive_tabindex)
4152
line: 17
4253
column: 3
4354
suggestions: null
44-
- message: A form label must be associated with a
45-
control(a11y_label_has_associated_control)
55+
- message: |-
56+
A form label must be associated with a control
57+
https://svelte.dev/e/a11y_label_has_associated_control(a11y_label_has_associated_control)
4658
line: 17
4759
column: 3
4860
suggestions: null
49-
- message: noninteractive element cannot have nonnegative tabIndex
50-
value(a11y_no_noninteractive_tabindex)
61+
- message: |-
62+
noninteractive element cannot have nonnegative tabIndex value
63+
https://svelte.dev/e/a11y_no_noninteractive_tabindex(a11y_no_noninteractive_tabindex)
5164
line: 18
5265
column: 3
5366
suggestions: null
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,12 @@
1-
- message: '`<img>` element should have an alt attribute(foo)'
1+
- message: |-
2+
`<img>` element should have an alt attribute
3+
https://svelte.dev/e/a11y_missing_attribute(foo)
24
line: 5
35
column: 1
46
suggestions: null
5-
- message: Avoid using autofocus(foo)
7+
- message: |-
8+
Avoid using autofocus
9+
https://svelte.dev/e/a11y_autofocus(foo)
610
line: 5
711
column: 12
812
suggestions: null
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1-
- message: Avoid using autofocus(a11y_autofocus)
1+
- message: |-
2+
Avoid using autofocus
3+
https://svelte.dev/e/a11y_autofocus(a11y_autofocus)
24
line: 5
35
column: 12
46
suggestions: null
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
1-
- message: The $ prefix is reserved, and cannot be used for variables and
2-
imports(dollar_prefix_invalid)
1+
- message: |-
2+
The $ prefix is reserved, and cannot be used for variables and imports
3+
https://svelte.dev/e/dollar_prefix_invalid(dollar_prefix_invalid)
34
line: 2
45
column: 8
56
suggestions: null
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
<div class="chess-board">
2+
{#each { length: 8 }, rank}
3+
{#each { length: 8 }}
4+
{rank}
5+
{/each}
6+
{/each}
7+
</div>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
"svelte": "^5.0.0"
3+
}

0 commit comments

Comments
 (0)