diff --git a/.changeset/two-months-yawn.md b/.changeset/two-months-yawn.md new file mode 100644 index 00000000..55af75ef --- /dev/null +++ b/.changeset/two-months-yawn.md @@ -0,0 +1,5 @@ +--- +"svelte-eslint-parser": minor +--- + +feat: add experimental support for Svelte v4 diff --git a/.github/workflows/NodeCI.yml b/.github/workflows/NodeCI.yml index 0a00edb8..6d1fd925 100644 --- a/.github/workflows/NodeCI.yml +++ b/.github/workflows/NodeCI.yml @@ -23,7 +23,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - node-version: [14.x, 16.x, 17.x, 18.x, 19.x] + node-version: [16.x, 17.x, 18.x, 19.x, 20.x] steps: - uses: actions/checkout@v3 - uses: pnpm/action-setup@v2 @@ -35,6 +35,26 @@ jobs: run: pnpm install - name: Test run: pnpm run test + test-for-svelte-v3: + runs-on: ubuntu-latest + strategy: + matrix: + node-version: [14.x] + steps: + - uses: actions/checkout@v3 + - uses: pnpm/action-setup@v2 + - name: Use Node.js ${{ matrix.node-version }} + uses: actions/setup-node@v3 + with: + node-version: ${{ matrix.node-version }} + - name: Install Svelte v3 + run: |+ + pnpm install -D svelte@3 + rm -rf node_modules + - name: Install Packages + run: pnpm install + - name: Test + run: pnpm run test test-for-ts-eslint-v4: runs-on: ubuntu-latest strategy: @@ -49,7 +69,7 @@ jobs: node-version: ${{ matrix.node-version }} - name: Install @typescript-eslint v4 run: |+ - pnpm install -D @typescript-eslint/parser@4 @typescript-eslint/eslint-plugin@4 eslint@7 + pnpm install -D @typescript-eslint/parser@4 @typescript-eslint/eslint-plugin@4 eslint@7 svelte@3 rm -rf node_modules - name: Install Packages run: pnpm install @@ -69,7 +89,7 @@ jobs: node-version: ${{ matrix.node-version }} - name: Install eslint v7 run: |+ - pnpm install -D eslint@7 + pnpm install -D eslint@7 svelte@3 rm -rf node_modules - name: Install Packages run: pnpm install diff --git a/explorer-v2/src/lib/Header.svelte b/explorer-v2/src/lib/Header.svelte index a2ec36f6..07deff0a 100644 --- a/explorer-v2/src/lib/Header.svelte +++ b/explorer-v2/src/lib/Header.svelte @@ -14,23 +14,14 @@
svelte-eslint-parser - AST + AST Playgroud - ScopeScope - import {createEventDispatcher} from 'svelte' // createEventDispatcher: () => >(type: EventKey, detail?: EventMap[EventKey] | undefined, options?: DispatchOptions | undefined) => boolean, createEventDispatcher: () => >(type: EventKey, detail?: EventMap[EventKey] | undefined, options?: DispatchOptions | undefined) => boolean - const emit = createEventDispatcher<{ // emit: (type: EventKey, detail?: { foo: number; bar: string; }[EventKey] | undefined, options?: DispatchOptions | undefined) => boolean, createEventDispatcher<{ foo: number, bar: string }>(): (type: EventKey, detail?: { foo: number; bar: string; }[EventKey] | undefined, options?: DispatchOptions | undefined) => boolean + import {createEventDispatcher} from 'svelte' // createEventDispatcher: = any>() => EventDispatcher, createEventDispatcher: = any>() => EventDispatcher + const emit = createEventDispatcher<{ // emit: EventDispatcher<{ foo: number; bar: string; }>, createEventDispatcher<{ foo: number, bar: string }>(): EventDispatcher<{ foo: number; bar: string; }> foo: number, bar: string }>() diff --git a/tests/fixtures/parser/ast/ts-reactive02-type-output.svelte b/tests/fixtures/parser/ast/ts-reactive02-type-output.svelte index 7ae50f8c..c8cebb0d 100644 --- a/tests/fixtures/parser/ast/ts-reactive02-type-output.svelte +++ b/tests/fixtures/parser/ast/ts-reactive02-type-output.svelte @@ -1,5 +1,5 @@