diff --git a/.changeset/brave-baboons-suffer.md b/.changeset/brave-baboons-suffer.md new file mode 100644 index 0000000000..27225f09e1 --- /dev/null +++ b/.changeset/brave-baboons-suffer.md @@ -0,0 +1,5 @@ +--- +'svelte': patch +--- + +chore: update acorn parser `ecmaVersion` to parse import attributes diff --git a/packages/svelte/src/compiler/phases/1-parse/acorn.js b/packages/svelte/src/compiler/phases/1-parse/acorn.js index 36f7688c49..26a09abb66 100644 --- a/packages/svelte/src/compiler/phases/1-parse/acorn.js +++ b/packages/svelte/src/compiler/phases/1-parse/acorn.js @@ -36,7 +36,7 @@ export function parse(source, typescript, is_script) { ast = parser.parse(source, { onComment, sourceType: 'module', - ecmaVersion: 13, + ecmaVersion: 16, locations: true }); } finally { @@ -64,7 +64,7 @@ export function parse_expression_at(source, typescript, index) { const ast = parser.parseExpressionAt(source, index, { onComment, sourceType: 'module', - ecmaVersion: 13, + ecmaVersion: 16, locations: true }); diff --git a/packages/svelte/tests/parser-legacy/samples/action-duplicate/output.json b/packages/svelte/tests/parser-legacy/samples/action-duplicate/output.json index 3dad9bb4e5..c6af77a47b 100644 --- a/packages/svelte/tests/parser-legacy/samples/action-duplicate/output.json +++ b/packages/svelte/tests/parser-legacy/samples/action-duplicate/output.json @@ -15,16 +15,16 @@ "end": 20, "type": "Action", "name": "autofocus", - "modifiers": [], - "expression": null + "expression": null, + "modifiers": [] }, { "start": 21, "end": 34, "type": "Action", "name": "autofocus", - "modifiers": [], - "expression": null + "expression": null, + "modifiers": [] } ], "children": [] diff --git a/packages/svelte/tests/parser-legacy/samples/action-with-call/output.json b/packages/svelte/tests/parser-legacy/samples/action-with-call/output.json index 66ce187c62..a10d4eccf0 100644 --- a/packages/svelte/tests/parser-legacy/samples/action-with-call/output.json +++ b/packages/svelte/tests/parser-legacy/samples/action-with-call/output.json @@ -15,7 +15,6 @@ "end": 39, "type": "Action", "name": "tooltip", - "modifiers": [], "expression": { "type": "CallExpression", "start": 21, @@ -66,7 +65,8 @@ } ], "optional": false - } + }, + "modifiers": [] } ], "children": [] diff --git a/packages/svelte/tests/parser-legacy/samples/action-with-identifier/output.json b/packages/svelte/tests/parser-legacy/samples/action-with-identifier/output.json index 39a6f5f647..e9a3e7e5da 100644 --- a/packages/svelte/tests/parser-legacy/samples/action-with-identifier/output.json +++ b/packages/svelte/tests/parser-legacy/samples/action-with-identifier/output.json @@ -15,7 +15,6 @@ "end": 28, "type": "Action", "name": "tooltip", - "modifiers": [], "expression": { "type": "Identifier", "start": 20, @@ -31,7 +30,8 @@ } }, "name": "message" - } + }, + "modifiers": [] } ], "children": [] diff --git a/packages/svelte/tests/parser-legacy/samples/action-with-literal/output.json b/packages/svelte/tests/parser-legacy/samples/action-with-literal/output.json index 94c60b701a..94b60b9e5d 100644 --- a/packages/svelte/tests/parser-legacy/samples/action-with-literal/output.json +++ b/packages/svelte/tests/parser-legacy/samples/action-with-literal/output.json @@ -15,7 +15,6 @@ "end": 36, "type": "Action", "name": "tooltip", - "modifiers": [], "expression": { "type": "Literal", "start": 21, @@ -32,7 +31,8 @@ }, "value": "tooltip msg", "raw": "'tooltip msg'" - } + }, + "modifiers": [] } ], "children": [] diff --git a/packages/svelte/tests/parser-legacy/samples/action/output.json b/packages/svelte/tests/parser-legacy/samples/action/output.json index d72bf7db10..f241c81a93 100644 --- a/packages/svelte/tests/parser-legacy/samples/action/output.json +++ b/packages/svelte/tests/parser-legacy/samples/action/output.json @@ -15,8 +15,8 @@ "end": 20, "type": "Action", "name": "autofocus", - "modifiers": [], - "expression": null + "expression": null, + "modifiers": [] } ], "children": [] diff --git a/packages/svelte/tests/parser-legacy/samples/animation/output.json b/packages/svelte/tests/parser-legacy/samples/animation/output.json index 0d82cb2bb9..bf4b43b875 100644 --- a/packages/svelte/tests/parser-legacy/samples/animation/output.json +++ b/packages/svelte/tests/parser-legacy/samples/animation/output.json @@ -20,8 +20,8 @@ "end": 50, "type": "Animation", "name": "flip", - "modifiers": [], - "expression": null + "expression": null, + "modifiers": [] } ], "children": [ diff --git a/packages/svelte/tests/parser-legacy/samples/attribute-class-directive/output.json b/packages/svelte/tests/parser-legacy/samples/attribute-class-directive/output.json index 9efe9acf8d..3cd54b6647 100644 --- a/packages/svelte/tests/parser-legacy/samples/attribute-class-directive/output.json +++ b/packages/svelte/tests/parser-legacy/samples/attribute-class-directive/output.json @@ -15,7 +15,6 @@ "end": 22, "type": "Class", "name": "foo", - "modifiers": [], "expression": { "type": "Identifier", "start": 16, @@ -31,7 +30,8 @@ } }, "name": "isFoo" - } + }, + "modifiers": [] } ], "children": [] diff --git a/packages/svelte/tests/parser-legacy/samples/attribute-with-whitespace/output.json b/packages/svelte/tests/parser-legacy/samples/attribute-with-whitespace/output.json index 4d3a291808..2e45184be9 100644 --- a/packages/svelte/tests/parser-legacy/samples/attribute-with-whitespace/output.json +++ b/packages/svelte/tests/parser-legacy/samples/attribute-with-whitespace/output.json @@ -15,7 +15,6 @@ "end": 23, "type": "EventHandler", "name": "click", - "modifiers": [], "expression": { "type": "Identifier", "start": 19, @@ -31,7 +30,8 @@ } }, "name": "foo" - } + }, + "modifiers": [] } ], "children": [ diff --git a/packages/svelte/tests/parser-legacy/samples/binding-shorthand/output.json b/packages/svelte/tests/parser-legacy/samples/binding-shorthand/output.json index 6720146297..4289245705 100644 --- a/packages/svelte/tests/parser-legacy/samples/binding-shorthand/output.json +++ b/packages/svelte/tests/parser-legacy/samples/binding-shorthand/output.json @@ -22,13 +22,13 @@ "end": 46, "type": "Binding", "name": "foo", - "modifiers": [], "expression": { "start": 43, "end": 46, "type": "Identifier", "name": "foo" - } + }, + "modifiers": [] } ], "children": [] diff --git a/packages/svelte/tests/parser-legacy/samples/binding/output.json b/packages/svelte/tests/parser-legacy/samples/binding/output.json index 4ce069bd37..5256ede7bb 100644 --- a/packages/svelte/tests/parser-legacy/samples/binding/output.json +++ b/packages/svelte/tests/parser-legacy/samples/binding/output.json @@ -22,7 +22,6 @@ "end": 55, "type": "Binding", "name": "value", - "modifiers": [], "expression": { "type": "Identifier", "start": 50, @@ -38,7 +37,8 @@ } }, "name": "name" - } + }, + "modifiers": [] } ], "children": [] diff --git a/packages/svelte/tests/parser-legacy/samples/dynamic-import/output.json b/packages/svelte/tests/parser-legacy/samples/dynamic-import/output.json index a439b65dd0..ee19d58742 100644 --- a/packages/svelte/tests/parser-legacy/samples/dynamic-import/output.json +++ b/packages/svelte/tests/parser-legacy/samples/dynamic-import/output.json @@ -104,7 +104,8 @@ }, "value": "svelte", "raw": "'svelte'" - } + }, + "attributes": [] }, { "type": "ExpressionStatement", @@ -257,7 +258,8 @@ }, "value": "./foo.js", "raw": "'./foo.js'" - } + }, + "options": null }, "property": { "type": "Identifier", diff --git a/packages/svelte/tests/parser-legacy/samples/event-handler/output.json b/packages/svelte/tests/parser-legacy/samples/event-handler/output.json index 45b6256677..11ee562297 100644 --- a/packages/svelte/tests/parser-legacy/samples/event-handler/output.json +++ b/packages/svelte/tests/parser-legacy/samples/event-handler/output.json @@ -15,7 +15,6 @@ "end": 45, "type": "EventHandler", "name": "click", - "modifiers": [], "expression": { "type": "ArrowFunctionExpression", "start": 19, @@ -100,7 +99,8 @@ } } } - } + }, + "modifiers": [] } ], "children": [ diff --git a/packages/svelte/tests/parser-legacy/samples/javascript-comments/output.json b/packages/svelte/tests/parser-legacy/samples/javascript-comments/output.json index 15db05904c..42229b741f 100644 --- a/packages/svelte/tests/parser-legacy/samples/javascript-comments/output.json +++ b/packages/svelte/tests/parser-legacy/samples/javascript-comments/output.json @@ -22,7 +22,6 @@ "end": 692, "type": "EventHandler", "name": "click", - "modifiers": [], "expression": { "type": "ArrowFunctionExpression", "start": 596, @@ -137,7 +136,8 @@ "end": 594 } ] - } + }, + "modifiers": [] } ], "children": [ diff --git a/packages/svelte/tests/parser-legacy/samples/refs/output.json b/packages/svelte/tests/parser-legacy/samples/refs/output.json index e2bda741fa..7829a2787f 100644 --- a/packages/svelte/tests/parser-legacy/samples/refs/output.json +++ b/packages/svelte/tests/parser-legacy/samples/refs/output.json @@ -22,7 +22,6 @@ "end": 53, "type": "Binding", "name": "this", - "modifiers": [], "expression": { "type": "Identifier", "start": 49, @@ -38,7 +37,8 @@ } }, "name": "foo" - } + }, + "modifiers": [] } ], "children": [] diff --git a/packages/svelte/tests/parser-legacy/samples/transition-intro-no-params/output.json b/packages/svelte/tests/parser-legacy/samples/transition-intro-no-params/output.json index f30788d758..18860d615b 100644 --- a/packages/svelte/tests/parser-legacy/samples/transition-intro-no-params/output.json +++ b/packages/svelte/tests/parser-legacy/samples/transition-intro-no-params/output.json @@ -15,8 +15,8 @@ "end": 12, "type": "Transition", "name": "fade", - "modifiers": [], "expression": null, + "modifiers": [], "intro": true, "outro": false } diff --git a/packages/svelte/tests/parser-legacy/samples/transition-intro/output.json b/packages/svelte/tests/parser-legacy/samples/transition-intro/output.json index ae52f72c5d..973cfb7d33 100644 --- a/packages/svelte/tests/parser-legacy/samples/transition-intro/output.json +++ b/packages/svelte/tests/parser-legacy/samples/transition-intro/output.json @@ -15,7 +15,6 @@ "end": 30, "type": "Transition", "name": "style", - "modifiers": [], "expression": { "type": "ObjectExpression", "start": 16, @@ -85,6 +84,7 @@ } ] }, + "modifiers": [], "intro": true, "outro": false }