diff --git a/src/compiler/parse/acorn.ts b/src/compiler/parse/acorn.ts index bab8de7ce4..45e2f056c4 100644 --- a/src/compiler/parse/acorn.ts +++ b/src/compiler/parse/acorn.ts @@ -3,12 +3,12 @@ import * as code_red from 'code-red'; export const parse = (source: string): Node => code_red.parse(source, { sourceType: 'module', - ecmaVersion: 12, + ecmaVersion: 13, locations: true }); export const parse_expression_at = (source: string, index: number): Node => code_red.parseExpressionAt(source, index, { sourceType: 'module', - ecmaVersion: 12, + ecmaVersion: 13, locations: true }); diff --git a/test/js/samples/class-field/expected.js b/test/js/samples/class-field/expected.js new file mode 100644 index 0000000000..875d61b934 --- /dev/null +++ b/test/js/samples/class-field/expected.js @@ -0,0 +1,25 @@ +/* generated by Svelte vX.Y.Z */ +import { SvelteComponent, init, safe_not_equal } from "svelte/internal"; + +function instance($$self) { + class A { + p1; + p2 = 1; + #p3 = 2; + + #getP3() { + return this.#p3; + } + } + + return []; +} + +class Component extends SvelteComponent { + constructor(options) { + super(); + init(this, options, instance, null, safe_not_equal, {}); + } +} + +export default Component; diff --git a/test/js/samples/class-field/input.svelte b/test/js/samples/class-field/input.svelte new file mode 100644 index 0000000000..b990316937 --- /dev/null +++ b/test/js/samples/class-field/input.svelte @@ -0,0 +1,12 @@ +