diff --git a/src/esbuild/svelte.ts b/src/esbuild/svelte.ts
index 9a7dd0c5..c900fbc2 100644
--- a/src/esbuild/svelte.ts
+++ b/src/esbuild/svelte.ts
@@ -67,6 +67,11 @@ export const sveltePlugin = ({
sourcefile: args.path,
loader: 'ts',
sourcemap: true,
+ tsconfigRaw: {
+ compilerOptions: {
+ importsNotUsedAsValues: 'preserve',
+ },
+ },
})
return {
code,
diff --git a/test/index.test.ts b/test/index.test.ts
index 56dbc924..3e30cc85 100644
--- a/test/index.test.ts
+++ b/test/index.test.ts
@@ -429,20 +429,30 @@ test('bundle svelte without styles', async (t) => {
})
test('svelte: typescript support', async (t) => {
- const { outFiles } = await run(t.title, {
+ const { outFiles, output } = await run(t.title, {
'input.ts': `import App from './App.svelte'
export { App }
`,
'App.svelte': `
- {msg}
+ {say}
`,
+ 'Component.svelte': `
+
+
+ {name}
+ `,
})
t.deepEqual(outFiles, ['input.js'])
+ t.assert(output.includes('// Component.svelte'))
})
test('onSuccess', async (t) => {
@@ -643,7 +653,7 @@ test('multiple entry with the same base name', async (t) => {
t.deepEqual(outFiles, ['bar/input.js', 'input.js'])
})
-test('windows backslash in entry', async (t) => {
+test('windows: backslash in entry', async (t) => {
const { outFiles } = await run(
t.title,
{ 'src/input.ts': `export const foo = 1` },