Skip to content

Commit c0a5c82

Browse files
authored
rename to file, isKit, directory (#999)
1 parent c0aed8b commit c0a5c82

17 files changed

Lines changed: 141 additions & 134 deletions

File tree

.changeset/icy-mice-jump.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+
api: rename `files` to `file`, `kit` to `isKit` & `directory`

packages/sv/src/addons/better-auth.ts

Lines changed: 18 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -35,16 +35,14 @@ export default defineAddon({
3535
shortDescription: 'auth library',
3636
homepage: 'https://www.better-auth.com',
3737
options,
38-
setup: ({ kit, dependencyVersion, unsupported, dependsOn, runsAfter }) => {
39-
if (!kit) unsupported('Requires SvelteKit');
38+
setup: ({ isKit, dependencyVersion, unsupported, dependsOn, runsAfter }) => {
39+
if (!isKit) unsupported('Requires SvelteKit');
4040
if (!dependencyVersion('drizzle-orm')) dependsOn('drizzle');
4141

4242
runsAfter('sveltekitAdapter');
4343
runsAfter('tailwindcss');
4444
},
45-
run: ({ sv, language, options, kit, dependencyVersion, files }) => {
46-
if (!kit) throw new Error('SvelteKit is required');
47-
45+
run: ({ sv, language, options, directory, dependencyVersion, file }) => {
4846
const demoPassword = options.demo.includes('password');
4947
const demoGithub = options.demo.includes('github');
5048
const hasDemo = demoPassword || demoGithub;
@@ -89,7 +87,7 @@ export default defineAddon({
8987
sv.file('.env', (content) => generateEnvFileContent(content, demoGithub, false));
9088
sv.file('.env.example', (content) => generateEnvFileContent(content, demoGithub, true));
9189

92-
sv.file(`${kit?.libDirectory}/server/auth.${language}`, (content) => {
90+
sv.file(`${directory.lib}/server/auth.${language}`, (content) => {
9391
const { ast, generateCode, comments } = parse.script(content);
9492

9593
js.imports.addNamed(ast, { from: '$lib/server/db', imports: [d1 ? 'getDb' : 'db'] });
@@ -165,10 +163,10 @@ export default defineAddon({
165163
return generateCode();
166164
});
167165

168-
const authConfigPath = `${kit?.libDirectory}/server/auth.${language}`;
169-
const authSchemaPath = `${kit?.libDirectory}/server/db/auth.schema.${language}`;
166+
const authConfigPath = `${directory.lib}/server/auth.${language}`;
167+
const authSchemaPath = `${directory.lib}/server/db/auth.schema.${language}`;
170168

171-
sv.file(files.package, (content) => {
169+
sv.file(file.package, (content) => {
172170
const { data, generateCode } = parse.json(content);
173171
json.packageScriptsUpsert(
174172
data,
@@ -178,14 +176,14 @@ export default defineAddon({
178176
return generateCode();
179177
});
180178

181-
sv.file(`${kit?.libDirectory}/server/db/auth.schema.${language}`, (content) => {
179+
sv.file(`${directory.lib}/server/db/auth.schema.${language}`, (content) => {
182180
if (content) return content;
183181
return dedent`
184182
// If you see this file, you have not run the auth:schema script yet, but you should!
185183
`;
186184
});
187185

188-
sv.file(`${kit?.libDirectory}/server/db/schema.${language}`, (content) => {
186+
sv.file(`${directory.lib}/server/db/schema.${language}`, (content) => {
189187
const { ast, generateCode } = parse.script(content);
190188

191189
js.exports.addNamespace(ast, { from: './auth.schema' });
@@ -276,15 +274,15 @@ export default defineAddon({
276274
});
277275

278276
if (hasDemo) {
279-
sv.file(`${kit?.routesDirectory}/demo/+page.svelte`, (content) => {
277+
sv.file(`${directory.kitRoutes}/demo/+page.svelte`, (content) => {
280278
return addToDemoPage(content, 'better-auth', language);
281279
});
282280

283281
sv.file(
284-
`${kit!.routesDirectory}/demo/better-auth/login/+page.server.${language}`,
282+
`${directory.kitRoutes}/demo/better-auth/login/+page.server.${language}`,
285283
(content) => {
286284
if (content) {
287-
const filePath = `${kit!.routesDirectory}/demo/better-auth/login/+page.server.${language}`;
285+
const filePath = `${directory.kitRoutes}/demo/better-auth/login/+page.server.${language}`;
288286
log.warn(`Existing ${color.warning(filePath)} file. Could not update.`);
289287
return content;
290288
}
@@ -386,9 +384,9 @@ export default defineAddon({
386384
}
387385
);
388386

389-
sv.file(`${kit!.routesDirectory}/demo/better-auth/login/+page.svelte`, (content) => {
387+
sv.file(`${directory.kitRoutes}/demo/better-auth/login/+page.svelte`, (content) => {
390388
if (content) {
391-
const filePath = `${kit!.routesDirectory}/demo/better-auth/login/+page.svelte`;
389+
const filePath = `${directory.kitRoutes}/demo/better-auth/login/+page.svelte`;
392390
log.warn(`Existing ${color.warning(filePath)} file. Could not update.`);
393391
return content;
394392
}
@@ -450,9 +448,9 @@ export default defineAddon({
450448
`;
451449
});
452450

453-
sv.file(`${kit!.routesDirectory}/demo/better-auth/+page.server.${language}`, (content) => {
451+
sv.file(`${directory.kitRoutes}/demo/better-auth/+page.server.${language}`, (content) => {
454452
if (content) {
455-
const filePath = `${kit!.routesDirectory}/demo/better-auth/+page.server.${language}`;
453+
const filePath = `${directory.kitRoutes}/demo/better-auth/+page.server.${language}`;
456454
log.warn(`Existing ${color.warning(filePath)} file. Could not update.`);
457455
return content;
458456
}
@@ -483,9 +481,9 @@ export default defineAddon({
483481
`;
484482
});
485483

486-
sv.file(`${kit!.routesDirectory}/demo/better-auth/+page.svelte`, (content) => {
484+
sv.file(`${directory.kitRoutes}/demo/better-auth/+page.svelte`, (content) => {
487485
if (content) {
488-
const filePath = `${kit!.routesDirectory}/demo/better-auth/+page.svelte`;
486+
const filePath = `${directory.kitRoutes}/demo/better-auth/+page.svelte`;
489487
log.warn(`Existing ${color.warning(filePath)} file. Could not update.`);
490488
return content;
491489
}

packages/sv/src/addons/devtools-json.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,11 @@ export default defineAddon({
77
homepage: 'https://github.com/ChromeDevTools/vite-plugin-devtools-json',
88
options: {},
99

10-
run: ({ sv, files }) => {
10+
run: ({ sv, file }) => {
1111
sv.devDependency('vite-plugin-devtools-json', '^1.0.0');
1212

1313
// add the vite plugin
14-
sv.file(files.viteConfig, (content) => {
14+
sv.file(file.viteConfig, (content) => {
1515
const { ast, generateCode } = parse.script(content);
1616

1717
const vitePluginName = 'devtoolsJson';

packages/sv/src/addons/drizzle.ts

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -84,21 +84,19 @@ export default defineAddon({
8484
shortDescription: 'database orm',
8585
homepage: 'https://orm.drizzle.team',
8686
options,
87-
setup: ({ kit, unsupported, runsAfter }) => {
87+
setup: ({ isKit, unsupported, runsAfter }) => {
8888
runsAfter('prettier');
8989
runsAfter('sveltekitAdapter');
9090

91-
if (!kit) return unsupported('Requires SvelteKit');
91+
if (!isKit) return unsupported('Requires SvelteKit');
9292
},
93-
run: ({ sv, language, options, kit, dependencyVersion, cwd, cancel, files }) => {
94-
if (!kit) throw new Error('SvelteKit is required');
95-
93+
run: ({ sv, language, options, directory, dependencyVersion, cwd, cancel, file }) => {
9694
if (options.database === 'd1' && !dependencyVersion('@sveltejs/adapter-cloudflare')) {
9795
return cancel('Cloudflare D1 requires @sveltejs/adapter-cloudflare — add the adapter first');
9896
}
9997

10098
const typescript = language === 'ts';
101-
const baseDBPath = path.resolve(cwd, kit.libDirectory, 'server', 'db');
99+
const baseDBPath = path.resolve(cwd, directory.lib, 'server', 'db');
102100
const paths = {
103101
'drizzle config': path.resolve(cwd, `drizzle.config.${language}`),
104102
'database schema': path.resolve(baseDBPath, `schema.${language}`),
@@ -194,7 +192,7 @@ export default defineAddon({
194192
});
195193
}
196194

197-
sv.file(files.package, (content) => {
195+
sv.file(file.package, (content) => {
198196
const { data, generateCode } = parse.json(content);
199197

200198
if (options.docker) json.packageScriptsUpsert(data, 'db:start', 'docker compose up');
@@ -208,13 +206,13 @@ export default defineAddon({
208206

209207
const hasPrettier = Boolean(dependencyVersion('prettier'));
210208
if (hasPrettier) {
211-
sv.file(files.prettierignore, (content) => {
209+
sv.file(file.prettierignore, (content) => {
212210
return text.upsert(content, '/drizzle/');
213211
});
214212
}
215213

216214
if (options.database === 'sqlite') {
217-
sv.file(files.gitignore, (content) => {
215+
sv.file(file.gitignore, (content) => {
218216
if (content.length === 0) return content;
219217
return text.upsert(content, '*.db', { comment: 'SQLite' });
220218
});
@@ -270,7 +268,7 @@ export default defineAddon({
270268
js.exports.createDefault(ast, {
271269
fallback: js.common.parseExpression(`
272270
defineConfig({
273-
schema: "./src/lib/server/db/schema.${language}",
271+
schema: "./${directory.lib}/server/db/schema.${language}",
274272
dialect: "${getDialect()}",
275273
${d1 ? "driver: 'd1-http'," : ''}
276274
dbCredentials: {

packages/sv/src/addons/eslint.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ export default defineAddon({
88
shortDescription: 'linter',
99
homepage: 'https://eslint.org',
1010
options: {},
11-
run: ({ sv, language, dependencyVersion, files }) => {
11+
run: ({ sv, language, dependencyVersion, file }) => {
1212
const typescript = language === 'ts';
1313
const prettierInstalled = Boolean(dependencyVersion('prettier'));
1414

@@ -23,15 +23,15 @@ export default defineAddon({
2323

2424
if (prettierInstalled) sv.devDependency('eslint-config-prettier', '^10.1.8');
2525

26-
sv.file(files.package, (content) => {
26+
sv.file(file.package, (content) => {
2727
const { data, generateCode } = parse.json(content);
2828

2929
json.packageScriptsUpsert(data, 'lint', 'eslint .');
3030

3131
return generateCode();
3232
});
3333

34-
sv.file(files.eslintConfig, (content) => {
34+
sv.file(file.eslintConfig, (content) => {
3535
const { ast, comments, generateCode } = parse.script(content);
3636

3737
const eslintConfigs: Array<AstTypes.Expression | AstTypes.SpreadElement> = [];
@@ -140,14 +140,14 @@ export default defineAddon({
140140
return generateCode();
141141
});
142142

143-
sv.file(files.vscodeExtensions, (content) => {
143+
sv.file(file.vscodeExtensions, (content) => {
144144
const { data, generateCode } = parse.json(content);
145145
json.arrayUpsert(data, 'recommendations', 'dbaeumer.vscode-eslint');
146146
return generateCode();
147147
});
148148

149149
if (prettierInstalled) {
150-
sv.file(files.eslintConfig, addEslintConfigPrettier);
150+
sv.file(file.eslintConfig, addEslintConfigPrettier);
151151
}
152152
}
153153
});

packages/sv/src/addons/mdsvex.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,10 @@ export default defineAddon({
66
shortDescription: 'svelte + markdown',
77
homepage: 'https://mdsvex.pngwn.io',
88
options: {},
9-
run: ({ sv, files }) => {
9+
run: ({ sv, file }) => {
1010
sv.devDependency('mdsvex', '^0.12.6');
1111

12-
sv.file(files.svelteConfig, (content) => {
12+
sv.file(file.svelteConfig, (content) => {
1313
const { ast, generateCode } = parse.script(content);
1414

1515
js.imports.addNamed(ast, { from: 'mdsvex', imports: ['mdsvex'] });

packages/sv/src/addons/paraglide.ts

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -50,18 +50,16 @@ export default defineAddon({
5050
shortDescription: 'i18n',
5151
homepage: 'https://inlang.com/m/gerre34r/library-inlang-paraglideJs',
5252
options,
53-
setup: ({ kit, unsupported }) => {
54-
if (!kit) unsupported('Requires SvelteKit');
53+
setup: ({ isKit, unsupported }) => {
54+
if (!isKit) unsupported('Requires SvelteKit');
5555
},
56-
run: ({ sv, options, files, language, kit }) => {
57-
if (!kit) throw new Error('SvelteKit is required');
58-
59-
const paraglideOutDir = 'src/lib/paraglide';
56+
run: ({ sv, options, file, language, directory }) => {
57+
const paraglideOutDir = `${directory.lib}/paraglide`;
6058

6159
sv.devDependency('@inlang/paraglide-js', '^2.10.0');
6260

6361
// add the vite plugin
64-
sv.file(files.viteConfig, (content) => {
62+
sv.file(file.viteConfig, (content) => {
6563
const { ast, generateCode } = parse.script(content);
6664

6765
const vitePluginName = 'paraglideVitePlugin';
@@ -166,7 +164,7 @@ export default defineAddon({
166164
return generateCode();
167165
});
168166

169-
sv.file(files.gitignore, (content) => {
167+
sv.file(file.gitignore, (content) => {
170168
if (!content) return content;
171169

172170
content = text.upsert(content, paraglideOutDir, { comment: 'Paraglide' });
@@ -192,7 +190,7 @@ export default defineAddon({
192190
return generateCode();
193191
});
194192

195-
sv.file(`${kit.routesDirectory}/+layout.svelte`, (content) => {
193+
sv.file(`${directory.kitRoutes}/+layout.svelte`, (content) => {
196194
const { ast, generateCode } = parse.svelte(content);
197195
svelte.ensureScript(ast, { language });
198196
js.imports.addNamed(ast.instance.content, {
@@ -212,12 +210,12 @@ export default defineAddon({
212210
});
213211

214212
if (options.demo) {
215-
sv.file(`${kit.routesDirectory}/demo/+page.svelte`, (content) => {
213+
sv.file(`${directory.kitRoutes}/demo/+page.svelte`, (content) => {
216214
return addToDemoPage(content, 'paraglide', language);
217215
});
218216

219217
// add usage example
220-
sv.file(`${kit.routesDirectory}/demo/paraglide/+page.svelte`, (content) => {
218+
sv.file(`${directory.kitRoutes}/demo/paraglide/+page.svelte`, (content) => {
221219
const { ast, generateCode } = parse.svelte(content);
222220
svelte.ensureScript(ast, { language });
223221

packages/sv/src/addons/playwright.ts

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,10 @@ export default defineAddon({
88
shortDescription: 'browser testing',
99
homepage: 'https://playwright.dev',
1010
options: {},
11-
run: ({ sv, language, files, kit }) => {
11+
run: ({ sv, language, file, isKit, directory }) => {
1212
sv.devDependency('@playwright/test', '^1.58.2');
1313

14-
sv.file(files.package, (content) => {
14+
sv.file(file.package, (content) => {
1515
const { data, generateCode } = parse.json(content);
1616

1717
json.packageScriptsUpsert(data, 'test:e2e', 'playwright test');
@@ -20,16 +20,16 @@ export default defineAddon({
2020
return generateCode();
2121
});
2222

23-
sv.file(files.gitignore, (content) => {
23+
sv.file(file.gitignore, (content) => {
2424
if (!content) return content;
2525
return text.upsert(content, 'test-results', { comment: 'Playwright' });
2626
});
2727

28-
const testDir = kit ? `${kit.routesDirectory}/demo/playwright` : 'src';
29-
const testRoute = kit ? '/demo/playwright' : '/';
28+
const testDir = isKit ? `${directory.kitRoutes}/demo/playwright` : directory.src;
29+
const testRoute = isKit ? '/demo/playwright' : '/';
3030

31-
if (kit) {
32-
sv.file(`${kit.routesDirectory}/demo/+page.svelte`, (content) => {
31+
if (isKit) {
32+
sv.file(`${directory.kitRoutes}/demo/+page.svelte`, (content) => {
3333
return addToDemoPage(content, 'playwright', language);
3434
});
3535

@@ -42,7 +42,7 @@ export default defineAddon({
4242
});
4343
}
4444

45-
sv.file(`${testDir}/${kit ? 'page' : 'app'}.svelte.e2e.${language}`, (content) => {
45+
sv.file(`${testDir}/${isKit ? 'page' : 'app'}.svelte.e2e.${language}`, (content) => {
4646
if (content) return content;
4747

4848
return dedent`
@@ -83,12 +83,12 @@ export default defineAddon({
8383
});
8484
},
8585

86-
nextSteps: ({ kit }) => {
86+
nextSteps: ({ isKit }) => {
8787
const steps: string[] = [];
8888

8989
steps.push(`Run ${color.command('npx playwright install')} to download browsers`);
9090

91-
if (kit) {
91+
if (isKit) {
9292
steps.push(`Visit ${color.route('/demo/playwright')} to see the demo page`);
9393
}
9494

0 commit comments

Comments
 (0)