Skip to content

Commit f0e5d96

Browse files
authored
feat(sv): bump all templates to use typescript 6 (#1055)
1 parent ed93305 commit f0e5d96

11 files changed

Lines changed: 119 additions & 68 deletions

File tree

.changeset/petite-areas-yell.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'sv': patch
3+
---
4+
5+
feat(sv): bump all templates to use typescript 6

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@
3838
"sv": "workspace:*",
3939
"svelte": "^5.53.0",
4040
"tsdown": "^0.21.4",
41-
"typescript": "^5.9.3",
41+
"typescript": "^6.0.0",
4242
"typescript-eslint": "^8.57.0",
4343
"vitest": "4.1.1"
4444
},

packages/migrate/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636
"semver": "^7.7.3",
3737
"tiny-glob": "^0.2.9",
3838
"ts-morph": "^24.0.0",
39-
"typescript": "^5.9.3",
39+
"typescript": "^6.0.0",
4040
"zimmerframe": "^1.1.4"
4141
},
4242
"devDependencies": {

packages/sv/src/addons/drizzle.ts

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -301,6 +301,24 @@ export default defineAddon({
301301
})
302302
);
303303

304+
sv.file(
305+
file.svelteConfig,
306+
transforms.script(({ ast, js }) => {
307+
const { value: config } = js.exports.createDefault(ast, {
308+
fallback: js.object.create({})
309+
});
310+
js.object.overrideProperties(config, {
311+
kit: {
312+
typescript: {
313+
config: js.common.parseExpression(
314+
`(config) => ({ ...config, include: [...config.include, '../drizzle.config.${language}'] })`
315+
)
316+
}
317+
}
318+
});
319+
})
320+
);
321+
304322
sv.file(
305323
paths['database schema'],
306324
transforms.script(({ ast, js }) => {

packages/sv/src/cli/tests/cli.ts

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import { parse } from '@sveltejs/sv-utils';
22
import fs from 'node:fs';
33
import path from 'node:path';
4+
import process from 'node:process';
45
import { exec } from 'tinyexec';
56
import { beforeAll, describe, expect, it } from 'vitest';
67

@@ -118,6 +119,25 @@ describe('cli', () => {
118119
);
119120
}
120121

122+
if (projectName === 'create-with-all-addons' && process.platform !== 'win32') {
123+
await exec('pnpm', ['install', '--no-frozen-lockfile'], {
124+
nodeOptions: { stdio: 'pipe', cwd: testOutputPath }
125+
});
126+
await exec('pnpm', ['build'], {
127+
nodeOptions: { stdio: 'pipe', cwd: testOutputPath }
128+
});
129+
await exec('pnpm', ['auth:schema'], {
130+
nodeOptions: { stdio: 'pipe', cwd: testOutputPath }
131+
});
132+
const check = await exec('pnpm', ['check'], {
133+
nodeOptions: { stdio: 'pipe', cwd: testOutputPath }
134+
});
135+
expect(
136+
check.exitCode,
137+
`svelte-check failed:\n stdout: ${check.stdout}\n stderr: ${check.stderr}`
138+
).toBe(0);
139+
}
140+
121141
if (template === 'addon') {
122142
// replace sv and sv-utils versions in package.json for tests
123143
const packageJsonPath = path.resolve(testOutputPath, 'package.json');

packages/sv/src/cli/tests/snapshots/create-only/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
"@sveltejs/vite-plugin-svelte": "^7.0.0",
1818
"svelte": "^5.55.1",
1919
"svelte-check": "^4.4.2",
20-
"typescript": "^5.9.3",
20+
"typescript": "^6.0.0",
2121
"vite": "^8.0.2"
2222
}
2323
}

packages/sv/src/cli/tests/snapshots/create-with-all-addons/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@
5050
"svelte": "^5.55.1",
5151
"svelte-check": "^4.4.2",
5252
"tailwindcss": "^4.2.2",
53-
"typescript": "^5.9.3",
53+
"typescript": "^6.0.0",
5454
"typescript-eslint": "^8.57.0",
5555
"vite": "^8.0.2",
5656
"vitest": "^4.1.1",

packages/sv/src/cli/tests/snapshots/create-with-all-addons/svelte.config.js

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,15 @@ const config = {
77
// Force runes mode for the project, except for libraries. Can be removed in svelte 6.
88
runes: ({ filename }) => filename.split(/[/\\]/).includes('node_modules') ? undefined : true
99
},
10-
kit: { adapter: adapter() },
10+
kit: {
11+
adapter: adapter(),
12+
typescript: {
13+
config: (config) => ({
14+
...config,
15+
include: [...config.include, '../drizzle.config.ts']
16+
})
17+
}
18+
},
1119
preprocess: [mdsvex({ extensions: ['.svx', '.md'] })],
1220
extensions: ['.svelte', '.svx', '.md']
1321
};

packages/sv/src/create/shared/+checkjs/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,6 @@
55
},
66
"devDependencies": {
77
"svelte-check": "^4.4.2",
8-
"typescript": "^5.9.3"
8+
"typescript": "^6.0.0"
99
}
1010
}

packages/sv/src/create/shared/+typescript/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,6 @@
55
},
66
"devDependencies": {
77
"svelte-check": "^4.4.2",
8-
"typescript": "^5.9.3"
8+
"typescript": "^6.0.0"
99
}
1010
}

0 commit comments

Comments
 (0)