Skip to content

Commit 0e09bdd

Browse files
authored
chore: unify language (#858)
* parseSvelte & ensureScript * typescript to ext * ext to language * Revert things * even fixing stuff! * good catch! * fixing test! good catch!!!
1 parent 46773d5 commit 0e09bdd

File tree

21 files changed

+82
-78
lines changed

21 files changed

+82
-78
lines changed

community-addon-template/src/index.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ export default defineAddon({
1414
setup: ({ kit, unsupported }) => {
1515
if (!kit) unsupported('Requires SvelteKit');
1616
},
17-
run: ({ sv, options, typescript }) => {
17+
run: ({ sv, options, language }) => {
1818
sv.file('addon-template-demo.txt', (content) => {
1919
if (options.demo) {
2020
return 'This is a text file made by the Community Addon Template demo!';
@@ -25,7 +25,7 @@ export default defineAddon({
2525
sv.file('src/DemoComponent.svelte', (content) => {
2626
if (!options.demo) return content;
2727
const { ast, generateCode } = parseSvelte(content);
28-
svelte.ensureScript(ast, { langTs: typescript });
28+
svelte.ensureScript(ast, { language });
2929
js.imports.addDefault(ast.instance.content, {
3030
from: '../addon-template-demo.txt?raw',
3131
as: 'demo'

packages/sv/lib/addons/_tests/devtools-json/test.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@ const { test, testCases } = setupTest(
1212
test.concurrent.for(testCases)('devtools-json $variant', (testCase, ctx) => {
1313
const cwd = ctx.cwd(testCase);
1414

15-
const ext = testCase.variant.includes('ts') ? 'ts' : 'js';
16-
const viteFile = path.resolve(cwd, `vite.config.${ext}`);
15+
const language = testCase.variant.includes('ts') ? 'ts' : 'js';
16+
const viteFile = path.resolve(cwd, `vite.config.${language}`);
1717
const viteContent = fs.readFileSync(viteFile, 'utf8');
1818

1919
// Check if we have the import part

packages/sv/lib/addons/_tests/lucia/test.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,8 @@ test.concurrent.for(testCases)('lucia $variant', async (testCase, { page, ...ctx
2525
// kill server process when we're done
2626
ctx.onTestFinished(async () => await close());
2727

28-
const ext = testCase.variant.includes('ts') ? 'ts' : 'js';
29-
const filePath = path.resolve(cwd, `src/routes/demo/lucia/+page.server.${ext}`);
28+
const language = testCase.variant.includes('ts') ? 'ts' : 'js';
29+
const filePath = path.resolve(cwd, `src/routes/demo/lucia/+page.server.${language}`);
3030
const fileContent = fs.readFileSync(filePath, 'utf8');
3131
expect(fileContent).toContain(`export const actions`);
3232
});

packages/sv/lib/addons/_tests/playwright/test.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@ const { test, testCases } = setupTest(
1111
test.concurrent.for(testCases)('playwright $variant', (testCase, { expect, ...ctx }) => {
1212
const cwd = ctx.cwd(testCase);
1313

14-
const ext = testCase.variant.includes('ts') ? 'ts' : 'js';
15-
const playwrightConfig = path.resolve(cwd, `playwright.config.${ext}`);
14+
const language = testCase.variant.includes('ts') ? 'ts' : 'js';
15+
const playwrightConfig = path.resolve(cwd, `playwright.config.${language}`);
1616
const configContent = fs.readFileSync(playwrightConfig, 'utf8');
1717

1818
// Check if we have the imports

packages/sv/lib/addons/_tests/vitest/test.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@ test.concurrent.for(testCases)('vitest $variant', (testCase, { expect, ...ctx })
1818

1919
expect(() => execSync('pnpm test', { cwd, stdio: 'pipe' })).not.toThrow();
2020

21-
const ext = testCase.variant.includes('ts') ? 'ts' : 'js';
22-
const viteFile = path.resolve(cwd, `vite.config.${ext}`);
21+
const language = testCase.variant.includes('ts') ? 'ts' : 'js';
22+
const viteFile = path.resolve(cwd, `vite.config.${language}`);
2323
const viteContent = fs.readFileSync(viteFile, 'utf8');
2424

2525
expect(viteContent).toContain(`vitest/config`);

packages/sv/lib/addons/common.ts

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
import { imports, exports, common } from '../core/tooling/js/index.ts';
2-
import { toFragment, type SvelteAst, ensureScript } from '../core/tooling/svelte/index.ts';
2+
import { toFragment, type SvelteAst } from '../core/tooling/svelte/index.ts';
33
import { parseScript, parseSvelte } from '../core/tooling/parsers.ts';
44
import process from 'node:process';
5+
import { svelte } from '../core/index.ts';
56

67
export function addEslintConfigPrettier(content: string): string {
78
const { ast, generateCode } = parseScript(content);
@@ -64,8 +65,13 @@ export function addEslintConfigPrettier(content: string): string {
6465
return generateCode();
6566
}
6667

67-
export function addToDemoPage(existingContent: string, path: string, langTs: boolean): string {
68+
export function addToDemoPage(
69+
existingContent: string,
70+
path: string,
71+
language: 'ts' | 'js'
72+
): string {
6873
const { ast, generateCode } = parseSvelte(existingContent);
74+
svelte.ensureScript(ast, { language });
6975

7076
for (const node of ast.fragment.nodes) {
7177
if (node.type === 'RegularElement') {
@@ -86,7 +92,6 @@ export function addToDemoPage(existingContent: string, path: string, langTs: boo
8692
}
8793
}
8894

89-
ensureScript(ast, { langTs });
9095
imports.addNamed(ast.instance.content, { imports: ['resolve'], from: '$app/paths' });
9196

9297
ast.fragment.nodes.unshift(...toFragment(`<a href={resolve('/demo/${path}')}>${path}</a>`));

packages/sv/lib/addons/drizzle/index.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -85,15 +85,15 @@ export default defineAddon({
8585

8686
if (!kit) return unsupported('Requires SvelteKit');
8787
},
88-
run: ({ sv, typescript, options, kit, dependencyVersion, cwd, cancel, files }) => {
88+
run: ({ sv, language, options, kit, dependencyVersion, cwd, cancel, files }) => {
8989
if (!kit) throw new Error('SvelteKit is required');
9090

91-
const ext = typescript ? 'ts' : 'js';
91+
const typescript = language === 'ts';
9292
const baseDBPath = path.resolve(cwd, kit.libDirectory, 'server', 'db');
9393
const paths = {
94-
'drizzle config': path.resolve(cwd, `drizzle.config.${ext}`),
95-
'database schema': path.resolve(baseDBPath, `schema.${ext}`),
96-
database: path.resolve(baseDBPath, `index.${ext}`)
94+
'drizzle config': path.resolve(cwd, `drizzle.config.${language}`),
95+
'database schema': path.resolve(baseDBPath, `schema.${language}`),
96+
database: path.resolve(baseDBPath, `index.${language}`)
9797
};
9898

9999
for (const [fileType, filePath] of Object.entries(paths)) {

packages/sv/lib/addons/eslint/index.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,8 @@ export default defineAddon({
1717
shortDescription: 'linter',
1818
homepage: 'https://eslint.org',
1919
options: {},
20-
run: ({ sv, typescript, dependencyVersion, files }) => {
20+
run: ({ sv, language, dependencyVersion, files }) => {
21+
const typescript = language === 'ts';
2122
const prettierInstalled = Boolean(dependencyVersion('prettier'));
2223

2324
sv.devDependency('eslint', '^9.39.1');

packages/sv/lib/addons/lucia/index.ts

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -45,8 +45,8 @@ export default defineAddon({
4545

4646
runsAfter('tailwindcss');
4747
},
48-
run: ({ sv, typescript, options, kit, dependencyVersion }) => {
49-
const ext = typescript ? 'ts' : 'js';
48+
run: ({ sv, language, options, kit, dependencyVersion }) => {
49+
const typescript = language === 'ts';
5050

5151
sv.devDependency('@oslojs/crypto', '^1.0.1');
5252
sv.devDependency('@oslojs/encoding', '^1.1.0');
@@ -56,7 +56,7 @@ export default defineAddon({
5656
sv.dependency('@node-rs/argon2', '^2.0.2');
5757
}
5858

59-
sv.file(`drizzle.config.${ext}`, (content) => {
59+
sv.file(`drizzle.config.${language}`, (content) => {
6060
const { ast, generateCode } = parseScript(content);
6161
const isProp = (name: string, node: AstTypes.Property) =>
6262
node.key.type === 'Identifier' && node.key.name === name;
@@ -222,7 +222,7 @@ export default defineAddon({
222222
return code;
223223
});
224224

225-
sv.file(`${kit?.libDirectory}/server/auth.${ext}`, (content) => {
225+
sv.file(`${kit?.libDirectory}/server/auth.${language}`, (content) => {
226226
const { ast, generateCode } = parseScript(content);
227227

228228
js.imports.addNamespace(ast, { from: '$lib/server/db/schema', as: 'table' });
@@ -383,11 +383,11 @@ export default defineAddon({
383383
});
384384
}
385385

386-
sv.file(`src/hooks.server.${ext}`, (content) => {
386+
sv.file(`src/hooks.server.${language}`, (content) => {
387387
const { ast, generateCode } = parseScript(content);
388388
js.imports.addNamespace(ast, { from: '$lib/server/auth', as: 'auth' });
389389
js.kit.addHooksHandle(ast, {
390-
typescript,
390+
language,
391391
newHandleName: 'handleAuth',
392392
handleContent: getAuthHandleContent()
393393
});
@@ -396,10 +396,10 @@ export default defineAddon({
396396

397397
if (options.demo) {
398398
sv.file(`${kit?.routesDirectory}/demo/+page.svelte`, (content) => {
399-
return addToDemoPage(content, 'lucia', typescript);
399+
return addToDemoPage(content, 'lucia', language);
400400
});
401401

402-
sv.file(`${kit!.routesDirectory}/demo/lucia/login/+page.server.${ext}`, (content) => {
402+
sv.file(`${kit!.routesDirectory}/demo/lucia/login/+page.server.${language}`, (content) => {
403403
if (content) {
404404
const filePath = `${kit!.routesDirectory}/demo/lucia/login/+page.server.${typescript ? 'ts' : 'js'}`;
405405
log.warn(`Existing ${colors.yellow(filePath)} file. Could not update.`);
@@ -572,7 +572,7 @@ export default defineAddon({
572572
`;
573573
});
574574

575-
sv.file(`${kit!.routesDirectory}/demo/lucia/+page.server.${ext}`, (content) => {
575+
sv.file(`${kit!.routesDirectory}/demo/lucia/+page.server.${language}`, (content) => {
576576
if (content) {
577577
const filePath = `${kit!.routesDirectory}/demo/lucia/+page.server.${typescript ? 'ts' : 'js'}`;
578578
log.warn(`Existing ${colors.yellow(filePath)} file. Could not update.`);

packages/sv/lib/addons/paraglide/index.ts

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -62,8 +62,7 @@ export default defineAddon({
6262
setup: ({ kit, unsupported }) => {
6363
if (!kit) unsupported('Requires SvelteKit');
6464
},
65-
run: ({ sv, options, files, typescript, kit }) => {
66-
const ext = typescript ? 'ts' : 'js';
65+
run: ({ sv, options, files, language, kit }) => {
6766
if (!kit) throw new Error('SvelteKit is required');
6867

6968
const paraglideOutDir = 'src/lib/paraglide';
@@ -87,7 +86,7 @@ export default defineAddon({
8786
});
8887

8988
// reroute hook
90-
sv.file(`src/hooks.${ext}`, (content) => {
89+
sv.file(`src/hooks.${language}`, (content) => {
9190
const { ast, generateCode } = parseScript(content);
9291
imports.addNamed(ast, {
9392
from: '$lib/paraglide/runtime',
@@ -113,7 +112,7 @@ export default defineAddon({
113112
});
114113

115114
// handle hook
116-
sv.file(`src/hooks.server.${ext}`, (content) => {
115+
sv.file(`src/hooks.server.${language}`, (content) => {
117116
const { ast, generateCode } = parseScript(content);
118117
imports.addNamed(ast, {
119118
from: '$lib/paraglide/server',
@@ -127,7 +126,7 @@ export default defineAddon({
127126
});
128127
});`;
129128
kitJs.addHooksHandle(ast, {
130-
typescript,
129+
language,
131130
newHandleName: 'handleParaglide',
132131
handleContent: hookHandleContent
133132
});
@@ -182,7 +181,7 @@ export default defineAddon({
182181

183182
sv.file(`${kit.routesDirectory}/+layout.svelte`, (content) => {
184183
const { ast, generateCode } = parseSvelte(content);
185-
svelte.ensureScript(ast);
184+
svelte.ensureScript(ast, { language });
186185
imports.addNamed(ast.instance.content, {
187186
imports: ['locales', 'localizeHref'],
188187
from: '$lib/paraglide/runtime'
@@ -200,14 +199,13 @@ export default defineAddon({
200199

201200
if (options.demo) {
202201
sv.file(`${kit.routesDirectory}/demo/+page.svelte`, (content) => {
203-
return addToDemoPage(content, 'paraglide', typescript);
202+
return addToDemoPage(content, 'paraglide', language);
204203
});
205204

206205
// add usage example
207206
sv.file(`${kit.routesDirectory}/demo/paraglide/+page.svelte`, (content) => {
208207
const { ast, generateCode } = parseSvelte(content);
209-
svelte.ensureScript(ast, { langTs: typescript });
210-
208+
svelte.ensureScript(ast, { language });
211209
imports.addNamed(ast.instance.content, {
212210
imports: { m: 'm' },
213211
from: '$lib/paraglide/messages.js'

0 commit comments

Comments
 (0)