Skip to content

Commit cc972d9

Browse files
committed
Merge branch 'main' into update/eslint-plugin-svelte
2 parents c43fa28 + 4bd924c commit cc972d9

File tree

11 files changed

+99
-27
lines changed

11 files changed

+99
-27
lines changed

.changeset/hungry-beds-speak.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+
fix: make `drizzle` next steps more precise

.changeset/nervous-apples-attack.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+
chore: update addon dependencies

.changeset/popular-seas-argue.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+
fix: allow selecting adapter auto

.changeset/two-crabs-bow.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+
fix: re-add `tailwindcss` plugins

package.json

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,5 +39,10 @@
3939
"unplugin-isolated-decl": "^0.8.3",
4040
"vitest": "^3.0.5"
4141
},
42-
"packageManager": "pnpm@10.4.1"
42+
"packageManager": "pnpm@10.4.1",
43+
"pnpm": {
44+
"onlyBuiltDependencies": [
45+
"esbuild"
46+
]
47+
}
4348
}

packages/addons/_tests/tailwindcss/test.ts

Lines changed: 16 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -22,22 +22,19 @@ test.concurrent.for(variants)('none - %s', async (variant, { page, ...ctx }) =>
2222
await expect(el).toHaveCSS('margin-top', '4px');
2323
});
2424

25-
test.concurrent.for(variants)(
26-
'typography without plugin - %s',
27-
async (variant, { page, ...ctx }) => {
28-
const cwd = await ctx.run(variant, { tailwindcss });
29-
30-
// ...add files
31-
addFixture(cwd, variant);
32-
33-
const { close } = await prepareServer({ cwd, page });
34-
// kill server process when we're done
35-
ctx.onTestFinished(async () => await close());
36-
37-
const el = page.getByTestId('typography');
38-
await expect(el).toHaveCSS('font-size', '18px');
39-
await expect(el).toHaveCSS('line-height', '28px');
40-
await expect(el).toHaveCSS('text-align', 'right');
41-
await expect(el).toHaveCSS('text-decoration-line', 'line-through');
42-
}
43-
);
25+
test.concurrent.for(variants)('typography - %s', async (variant, { page, ...ctx }) => {
26+
const cwd = await ctx.run(variant, { tailwindcss: { plugins: ['typography'] } });
27+
28+
// ...add files
29+
addFixture(cwd, variant);
30+
31+
const { close } = await prepareServer({ cwd, page });
32+
// kill server process when we're done
33+
ctx.onTestFinished(async () => await close());
34+
35+
const el = page.getByTestId('typography');
36+
await expect(el).toHaveCSS('font-size', '18px');
37+
await expect(el).toHaveCSS('line-height', '28px');
38+
await expect(el).toHaveCSS('text-align', 'right');
39+
await expect(el).toHaveCSS('text-decoration-line', 'line-through');
40+
});

packages/addons/drizzle/index.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ export default defineAddon({
7474
run: ({ sv, typescript, options, kit }) => {
7575
const ext = typescript ? 'ts' : 'js';
7676

77-
sv.dependency('drizzle-orm', '^0.38.4');
77+
sv.dependency('drizzle-orm', '^0.40.0');
7878
sv.devDependency('drizzle-kit', '^0.30.2');
7979

8080
// MySQL
@@ -343,6 +343,10 @@ export default defineAddon({
343343
steps.push(
344344
`Run ${highlighter.command(`${packageManager} run db:start`)} to start the docker container`
345345
);
346+
} else {
347+
steps.push(
348+
`Check ${highlighter.env('DATABASE_URL')} in ${highlighter.path('.env')} and adjust it to your needs`
349+
);
346350
}
347351
steps.push(
348352
`Run ${highlighter.command(`${packageManager} run db:push`)} to update your database schema`

packages/addons/eslint/index.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@ export default defineAddon({
2424
sv.devDependency('@eslint/compat', '^1.2.5');
2525
sv.devDependency('globals', '^15.14.0');
2626
sv.devDependency('eslint-plugin-svelte', '^3.0.0');
27+
sv.devDependency('globals', '^16.0.0');
28+
sv.devDependency('eslint-plugin-svelte', '^2.46.1');
2729
sv.devDependency('@eslint/js', '^9.18.0');
2830

2931
if (typescript) sv.devDependency('typescript-eslint', '^8.20.0');

packages/addons/sveltekit-adapter/index.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ type Adapter = {
99
};
1010

1111
const adapters: Adapter[] = [
12+
{ id: 'auto', package: '@sveltejs/adapter-auto', version: '^4.0.0' },
1213
{ id: 'node', package: '@sveltejs/adapter-node', version: '^5.2.11' },
1314
{ id: 'static', package: '@sveltejs/adapter-static', version: '^3.0.8' },
1415
{ id: 'vercel', package: '@sveltejs/adapter-vercel', version: '^5.5.2' },
@@ -22,7 +23,7 @@ const options = defineAddonOptions({
2223
type: 'select',
2324
question: 'Which SvelteKit adapter would you like to use?',
2425
options: adapters.map((p) => ({ value: p.id, label: p.id, hint: p.package })),
25-
default: 'node'
26+
default: 'auto'
2627
}
2728
});
2829

packages/addons/tailwindcss/index.ts

Lines changed: 47 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,47 @@
1-
import { defineAddon } from '@sveltejs/cli-core';
2-
import { addImports } from '@sveltejs/cli-core/css';
1+
import { defineAddon, defineAddonOptions } from '@sveltejs/cli-core';
2+
import { addAtRule, addImports } from '@sveltejs/cli-core/css';
33
import { array, functions, imports, object, exports } from '@sveltejs/cli-core/js';
44
import { parseCss, parseJson, parseScript, parseSvelte } from '@sveltejs/cli-core/parsers';
55
import { addSlot } from '@sveltejs/cli-core/html';
66

7+
type Plugin = {
8+
id: string;
9+
package: string;
10+
version: string;
11+
identifier: string;
12+
};
13+
14+
const plugins: Plugin[] = [
15+
{
16+
id: 'typography',
17+
package: '@tailwindcss/typography',
18+
version: '^0.5.15',
19+
identifier: 'typography'
20+
},
21+
{
22+
id: 'forms',
23+
package: '@tailwindcss/forms',
24+
version: '^0.5.9',
25+
identifier: 'forms'
26+
}
27+
];
28+
29+
const options = defineAddonOptions({
30+
plugins: {
31+
type: 'multiselect',
32+
question: 'Which plugins would you like to add?',
33+
options: plugins.map((p) => ({ value: p.id, label: p.id, hint: p.package })),
34+
default: []
35+
}
36+
});
37+
738
export default defineAddon({
839
id: 'tailwindcss',
940
alias: 'tailwind',
1041
shortDescription: 'css framework',
1142
homepage: 'https://tailwindcss.com',
12-
options: {},
13-
run: ({ sv, typescript, kit, dependencyVersion }) => {
43+
options,
44+
run: ({ sv, options, typescript, kit, dependencyVersion }) => {
1445
const ext = typescript ? 'ts' : 'js';
1546
const prettierInstalled = Boolean(dependencyVersion('prettier'));
1647

@@ -19,6 +50,12 @@ export default defineAddon({
1950

2051
if (prettierInstalled) sv.devDependency('prettier-plugin-tailwindcss', '^0.6.11');
2152

53+
for (const plugin of plugins) {
54+
if (!options.plugins.includes(plugin.id)) continue;
55+
56+
sv.devDependency(plugin.package, plugin.version);
57+
}
58+
2259
// add the vite plugin
2360
sv.file(`vite.config.${ext}`, (content) => {
2461
const { ast, generateCode } = parseScript(content);
@@ -46,6 +83,12 @@ export default defineAddon({
4683

4784
const nodes = addImports(ast, ["'tailwindcss'"]);
4885

86+
for (const plugin of plugins) {
87+
if (!options.plugins.includes(plugin.id)) continue;
88+
89+
addAtRule(ast, 'plugin', `'${plugin.package}'`, true);
90+
}
91+
4992
if (
5093
originalFirst !== ast.first &&
5194
originalFirst?.type === 'atrule' &&

packages/addons/vitest-addon/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ export default defineAddon({
1313
sv.devDependency('vitest', '^3.0.0');
1414
sv.devDependency('@testing-library/svelte', '^5.2.4');
1515
sv.devDependency('@testing-library/jest-dom', '^6.6.3');
16-
sv.devDependency('jsdom', '^25.0.1');
16+
sv.devDependency('jsdom', '^26.0.0');
1717

1818
sv.file('package.json', (content) => {
1919
const { data, generateCode } = parseJson(content);

0 commit comments

Comments
 (0)