diff --git a/packages/language-server/test/plugins/typescript/features/DiagnosticsProvider.test.ts b/packages/language-server/test/plugins/typescript/features/DiagnosticsProvider.test.ts index a2dc1072b..8860fc2f3 100644 --- a/packages/language-server/test/plugins/typescript/features/DiagnosticsProvider.test.ts +++ b/packages/language-server/test/plugins/typescript/features/DiagnosticsProvider.test.ts @@ -797,6 +797,13 @@ describe('DiagnosticsProvider', () => { ]); }); + it('falls back to any for each entry with checkJs without strict', async () => { + const { plugin, document } = setup(path.join('checkJs-no-strict', 'each-any.svelte')); + const diagnostics = await plugin.getDiagnostics(document); + + assert.deepStrictEqual(diagnostics, []); + }); + it('properly handles complex types for `each` blocks (diagnostics-each)', async () => { const { plugin, document } = setup('diagnostics-each.svelte'); const diagnostics = await plugin.getDiagnostics(document); diff --git a/packages/language-server/test/plugins/typescript/testfiles/diagnostics/checkJs-no-strict/each-any.svelte b/packages/language-server/test/plugins/typescript/testfiles/diagnostics/checkJs-no-strict/each-any.svelte new file mode 100644 index 000000000..ff088e6d2 --- /dev/null +++ b/packages/language-server/test/plugins/typescript/testfiles/diagnostics/checkJs-no-strict/each-any.svelte @@ -0,0 +1,7 @@ + + +{#each anyType as anyEntry} + {anyEntry.asd()} +{/each} diff --git a/packages/svelte2tsx/svelte-shims.d.ts b/packages/svelte2tsx/svelte-shims.d.ts index f179c52b9..345e3819a 100644 --- a/packages/svelte2tsx/svelte-shims.d.ts +++ b/packages/svelte2tsx/svelte-shims.d.ts @@ -206,7 +206,7 @@ declare function __sveltets_1_awaitThen( declare function __sveltets_1_each>( array: T, - callbackfn: (value: T extends ArrayLike ? U : never, index: number) => any + callbackfn: (value: T extends ArrayLike ? U : any, index: number) => any ): any; declare function __sveltets_1_createSvelte2TsxComponent(