sv 0.9.9 → 0.9.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bin.js +2 -2
- package/dist/{install-CD-dlXd7.js → install-CA9o73JK.js} +53 -41
- package/dist/lib/index.d.ts +4 -1
- package/dist/lib/index.js +1 -1
- package/dist/shared.json +3 -3
- package/dist/templates/demo/package.json +5 -5
- package/dist/templates/library/package.json +7 -7
- package/dist/templates/minimal/files.types=checkjs.json +1 -1
- package/dist/templates/minimal/files.types=none.json +1 -1
- package/dist/templates/minimal/files.types=typescript.json +1 -1
- package/dist/templates/minimal/package.json +5 -5
- package/package.json +3 -3
package/dist/bin.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { AGENT_NAMES, Command, De, Fe, Ge, J, Ke, Option, T, Ue, Vu, We, __toESM, addPnpmBuildDependencies, create as create$1, detect, dist, et, from, getUserAgent, installDependencies, installOption, isVersionUnsupportedBelow, ke, packageManagerPrompt, parseJson, parseScript, parseSvelte, program, require_picocolors, resolveCommand, templates, up as up$1, ze } from "./create-CdiXN6U7.js";
|
|
3
|
-
import { addDefault, applyAddons, communityAddonIds, create as create$2, createDefault, createWorkspace, formatFiles, getAddonDetails, getCommunityAddon, getHighlighter, officialAddons, overrideProperties, setupAddons } from "./install-
|
|
3
|
+
import { addDefault, applyAddons, communityAddonIds, create as create$2, createDefault, createWorkspace, formatFiles, getAddonDetails, getCommunityAddon, getHighlighter, officialAddons, overrideProperties, setupAddons } from "./install-CA9o73JK.js";
|
|
4
4
|
import { exec, execSync } from "node:child_process";
|
|
5
5
|
import path, { dirname, join } from "node:path";
|
|
6
6
|
import fs, { existsSync } from "node:fs";
|
|
@@ -12,7 +12,7 @@ import { pipeline } from "node:stream/promises";
|
|
|
12
12
|
|
|
13
13
|
//#region package.json
|
|
14
14
|
var name = "sv";
|
|
15
|
-
var version = "0.9.
|
|
15
|
+
var version = "0.9.11";
|
|
16
16
|
var type = "module";
|
|
17
17
|
var description = "A CLI for creating and updating SvelteKit projects";
|
|
18
18
|
var license = "MIT";
|
|
@@ -734,9 +734,9 @@ var devtools_json_default = defineAddon({
|
|
|
734
734
|
shortDescription: "devtools json",
|
|
735
735
|
homepage: "https://github.com/ChromeDevTools/vite-plugin-devtools-json",
|
|
736
736
|
options: {},
|
|
737
|
-
run: ({ sv,
|
|
737
|
+
run: ({ sv, files }) => {
|
|
738
738
|
sv.devDependency("vite-plugin-devtools-json", "^1.0.0");
|
|
739
|
-
sv.file(
|
|
739
|
+
sv.file(files.viteConfig, (content) => {
|
|
740
740
|
const { ast, generateCode } = parseScript(content);
|
|
741
741
|
const vitePluginName = "devtoolsJson";
|
|
742
742
|
addDefault(ast, {
|
|
@@ -904,13 +904,12 @@ var drizzle_default = defineAddon({
|
|
|
904
904
|
database: path.resolve(baseDBPath, `index.${ext}`)
|
|
905
905
|
};
|
|
906
906
|
for (const [fileType, filePath] of Object.entries(paths)) if (fs.existsSync(filePath)) return cancel(`Preexisting ${fileType} file at '${filePath}'`);
|
|
907
|
-
|
|
908
|
-
sv.devDependency("drizzle-
|
|
909
|
-
sv.devDependency("drizzle-kit", "^0.31.4");
|
|
907
|
+
sv.devDependency("drizzle-orm", "^0.44.6");
|
|
908
|
+
sv.devDependency("drizzle-kit", "^0.31.5");
|
|
910
909
|
sv.devDependency("@types/node", getNodeTypesVersion());
|
|
911
|
-
if (options$7.mysql === "mysql2") sv.dependency("mysql2", "^3.15.
|
|
910
|
+
if (options$7.mysql === "mysql2") sv.dependency("mysql2", "^3.15.2");
|
|
912
911
|
if (options$7.mysql === "planetscale") sv.dependency("@planetscale/database", "^1.19.0");
|
|
913
|
-
if (options$7.postgresql === "neon") sv.dependency("@neondatabase/serverless", "^1.0.
|
|
912
|
+
if (options$7.postgresql === "neon") sv.dependency("@neondatabase/serverless", "^1.0.2");
|
|
914
913
|
if (options$7.postgresql === "postgres.js") sv.dependency("postgres", "^3.4.7");
|
|
915
914
|
if (options$7.sqlite === "better-sqlite3") {
|
|
916
915
|
sv.dependency("better-sqlite3", "^12.4.1");
|
|
@@ -953,7 +952,7 @@ var drizzle_default = defineAddon({
|
|
|
953
952
|
POSTGRES_PASSWORD: ${PASSWORD}
|
|
954
953
|
POSTGRES_DB: ${DB_NAME}
|
|
955
954
|
volumes:
|
|
956
|
-
- pgdata:/var/lib/postgresql
|
|
955
|
+
- pgdata:/var/lib/postgresql
|
|
957
956
|
volumes:
|
|
958
957
|
pgdata:
|
|
959
958
|
`;
|
|
@@ -1231,13 +1230,13 @@ var eslint_default = defineAddon({
|
|
|
1231
1230
|
options: {},
|
|
1232
1231
|
run: ({ sv, typescript, dependencyVersion }) => {
|
|
1233
1232
|
const prettierInstalled = Boolean(dependencyVersion("prettier"));
|
|
1234
|
-
sv.devDependency("eslint", "^9.
|
|
1233
|
+
sv.devDependency("eslint", "^9.38.0");
|
|
1235
1234
|
sv.devDependency("@eslint/compat", "^1.4.0");
|
|
1236
1235
|
sv.devDependency("eslint-plugin-svelte", "^3.12.4");
|
|
1237
1236
|
sv.devDependency("globals", "^16.4.0");
|
|
1238
|
-
sv.devDependency("@eslint/js", "^9.
|
|
1237
|
+
sv.devDependency("@eslint/js", "^9.38.0");
|
|
1239
1238
|
sv.devDependency("@types/node", getNodeTypesVersion());
|
|
1240
|
-
if (typescript) sv.devDependency("typescript-eslint", "^8.
|
|
1239
|
+
if (typescript) sv.devDependency("typescript-eslint", "^8.46.1");
|
|
1241
1240
|
if (prettierInstalled) sv.devDependency("eslint-config-prettier", "^10.1.8");
|
|
1242
1241
|
sv.file("package.json", (content) => {
|
|
1243
1242
|
const { data, generateCode } = parseJson(content);
|
|
@@ -1976,9 +1975,9 @@ var mdsvex_default = defineAddon({
|
|
|
1976
1975
|
shortDescription: "svelte + markdown",
|
|
1977
1976
|
homepage: "https://mdsvex.pngwn.io",
|
|
1978
1977
|
options: {},
|
|
1979
|
-
run: ({ sv }) => {
|
|
1978
|
+
run: ({ sv, files }) => {
|
|
1980
1979
|
sv.devDependency("mdsvex", "^0.12.6");
|
|
1981
|
-
sv.file(
|
|
1980
|
+
sv.file(files.svelteConfig, (content) => {
|
|
1982
1981
|
const { ast, generateCode } = parseScript(content);
|
|
1983
1982
|
addNamed(ast, {
|
|
1984
1983
|
from: "mdsvex",
|
|
@@ -2069,11 +2068,11 @@ var paraglide_default = defineAddon({
|
|
|
2069
2068
|
setup: ({ kit, unsupported }) => {
|
|
2070
2069
|
if (!kit) unsupported("Requires SvelteKit");
|
|
2071
2070
|
},
|
|
2072
|
-
run: ({ sv, options: options$7,
|
|
2071
|
+
run: ({ sv, options: options$7, files, typescript, kit }) => {
|
|
2073
2072
|
const ext = typescript ? "ts" : "js";
|
|
2074
2073
|
if (!kit) throw new Error("SvelteKit is required");
|
|
2075
2074
|
const paraglideOutDir = "src/lib/paraglide";
|
|
2076
|
-
sv.devDependency("@inlang/paraglide-js", "^2.
|
|
2075
|
+
sv.devDependency("@inlang/paraglide-js", "^2.4.0");
|
|
2077
2076
|
sv.file("project.inlang/settings.json", (content) => {
|
|
2078
2077
|
if (content) return content;
|
|
2079
2078
|
const { data, generateCode } = parseJson(content);
|
|
@@ -2083,7 +2082,7 @@ var paraglide_default = defineAddon({
|
|
|
2083
2082
|
data.locales = validLanguageTags$1;
|
|
2084
2083
|
return generateCode();
|
|
2085
2084
|
});
|
|
2086
|
-
sv.file(
|
|
2085
|
+
sv.file(files.viteConfig, (content) => {
|
|
2087
2086
|
const { ast, generateCode } = parseScript(content);
|
|
2088
2087
|
const vitePluginName = "paraglideVitePlugin";
|
|
2089
2088
|
addNamed(ast, {
|
|
@@ -2335,7 +2334,7 @@ var playwright_default = defineAddon({
|
|
|
2335
2334
|
options: {},
|
|
2336
2335
|
run: ({ sv, typescript }) => {
|
|
2337
2336
|
const ext = typescript ? "ts" : "js";
|
|
2338
|
-
sv.devDependency("@playwright/test", "^1.
|
|
2337
|
+
sv.devDependency("@playwright/test", "^1.56.1");
|
|
2339
2338
|
sv.file("package.json", (content) => {
|
|
2340
2339
|
const { data, generateCode } = parseJson(content);
|
|
2341
2340
|
data.scripts ??= {};
|
|
@@ -2395,6 +2394,8 @@ var prettier_default = defineAddon({
|
|
|
2395
2394
|
homepage: "https://prettier.io",
|
|
2396
2395
|
options: {},
|
|
2397
2396
|
run: ({ sv, dependencyVersion }) => {
|
|
2397
|
+
const tailwindcssInstalled = Boolean(dependencyVersion("tailwindcss"));
|
|
2398
|
+
if (tailwindcssInstalled) sv.devDependency("prettier-plugin-tailwindcss", "^0.7.1");
|
|
2398
2399
|
sv.devDependency("prettier", "^3.6.2");
|
|
2399
2400
|
sv.devDependency("prettier-plugin-svelte", "^3.4.0");
|
|
2400
2401
|
sv.file(".prettierignore", (content) => {
|
|
@@ -2426,8 +2427,13 @@ var prettier_default = defineAddon({
|
|
|
2426
2427
|
data.printWidth = 100;
|
|
2427
2428
|
}
|
|
2428
2429
|
data.plugins ??= [];
|
|
2430
|
+
const plugins$1 = data.plugins;
|
|
2431
|
+
if (tailwindcssInstalled) {
|
|
2432
|
+
if (!plugins$1.includes("prettier-plugin-tailwindcss")) data.plugins.unshift("prettier-plugin-tailwindcss");
|
|
2433
|
+
data.tailwindStylesheet ??= "./src/app.css";
|
|
2434
|
+
}
|
|
2435
|
+
if (!plugins$1.includes("prettier-plugin-svelte")) data.plugins.unshift("prettier-plugin-svelte");
|
|
2429
2436
|
data.overrides ??= [];
|
|
2430
|
-
if (!data.plugins.includes("prettier-plugin-svelte")) data.plugins.unshift("prettier-plugin-svelte");
|
|
2431
2437
|
const overrides = data.overrides;
|
|
2432
2438
|
if (!overrides.find((o) => o?.options?.parser === "svelte")) overrides.push({
|
|
2433
2439
|
files: "*.svelte",
|
|
@@ -2490,32 +2496,32 @@ const adapters = [
|
|
|
2490
2496
|
{
|
|
2491
2497
|
id: "auto",
|
|
2492
2498
|
package: "@sveltejs/adapter-auto",
|
|
2493
|
-
version: "^
|
|
2499
|
+
version: "^7.0.0"
|
|
2494
2500
|
},
|
|
2495
2501
|
{
|
|
2496
2502
|
id: "node",
|
|
2497
2503
|
package: "@sveltejs/adapter-node",
|
|
2498
|
-
version: "^5.
|
|
2504
|
+
version: "^5.4.0"
|
|
2499
2505
|
},
|
|
2500
2506
|
{
|
|
2501
2507
|
id: "static",
|
|
2502
2508
|
package: "@sveltejs/adapter-static",
|
|
2503
|
-
version: "^3.0.
|
|
2509
|
+
version: "^3.0.10"
|
|
2504
2510
|
},
|
|
2505
2511
|
{
|
|
2506
2512
|
id: "vercel",
|
|
2507
2513
|
package: "@sveltejs/adapter-vercel",
|
|
2508
|
-
version: "^
|
|
2514
|
+
version: "^6.0.0"
|
|
2509
2515
|
},
|
|
2510
2516
|
{
|
|
2511
2517
|
id: "cloudflare",
|
|
2512
2518
|
package: "@sveltejs/adapter-cloudflare",
|
|
2513
|
-
version: "^7.2.
|
|
2519
|
+
version: "^7.2.4"
|
|
2514
2520
|
},
|
|
2515
2521
|
{
|
|
2516
2522
|
id: "netlify",
|
|
2517
2523
|
package: "@sveltejs/adapter-netlify",
|
|
2518
|
-
version: "^5.2.
|
|
2524
|
+
version: "^5.2.4"
|
|
2519
2525
|
}
|
|
2520
2526
|
];
|
|
2521
2527
|
const options$2 = defineAddonOptions().add("adapter", {
|
|
@@ -2537,7 +2543,7 @@ var sveltekit_adapter_default = defineAddon({
|
|
|
2537
2543
|
setup: ({ kit, unsupported }) => {
|
|
2538
2544
|
if (!kit) unsupported("Requires SvelteKit");
|
|
2539
2545
|
},
|
|
2540
|
-
run: ({ sv, options: options$7 }) => {
|
|
2546
|
+
run: ({ sv, options: options$7, files }) => {
|
|
2541
2547
|
const adapter = adapters.find((a) => a.id === options$7.adapter);
|
|
2542
2548
|
sv.file("package.json", (content) => {
|
|
2543
2549
|
const { data, generateCode } = parseJson(content);
|
|
@@ -2546,7 +2552,7 @@ var sveltekit_adapter_default = defineAddon({
|
|
|
2546
2552
|
return generateCode();
|
|
2547
2553
|
});
|
|
2548
2554
|
sv.devDependency(adapter.package, adapter.version);
|
|
2549
|
-
sv.file(
|
|
2555
|
+
sv.file(files.svelteConfig, (content) => {
|
|
2550
2556
|
const { ast, generateCode } = parseScript(content);
|
|
2551
2557
|
const adapterImportDecl = ast.body.filter((n) => n.type === "ImportDeclaration").find((importDecl) => typeof importDecl.source.value === "string" && importDecl.source.value.startsWith("@sveltejs/adapter-") && importDecl.importKind === "value");
|
|
2552
2558
|
let adapterName = "adapter";
|
|
@@ -2586,7 +2592,7 @@ var sveltekit_adapter_default = defineAddon({
|
|
|
2586
2592
|
const plugins = [{
|
|
2587
2593
|
id: "typography",
|
|
2588
2594
|
package: "@tailwindcss/typography",
|
|
2589
|
-
version: "^0.5.
|
|
2595
|
+
version: "^0.5.19"
|
|
2590
2596
|
}, {
|
|
2591
2597
|
id: "forms",
|
|
2592
2598
|
package: "@tailwindcss/forms",
|
|
@@ -2609,17 +2615,17 @@ var tailwindcss_default = defineAddon({
|
|
|
2609
2615
|
shortDescription: "css framework",
|
|
2610
2616
|
homepage: "https://tailwindcss.com",
|
|
2611
2617
|
options: options$1,
|
|
2612
|
-
run: ({ sv, options: options$7,
|
|
2618
|
+
run: ({ sv, options: options$7, files, typescript, kit, dependencyVersion }) => {
|
|
2613
2619
|
const prettierInstalled = Boolean(dependencyVersion("prettier"));
|
|
2614
|
-
sv.devDependency("tailwindcss", "^4.1.
|
|
2615
|
-
sv.devDependency("@tailwindcss/vite", "^4.1.
|
|
2620
|
+
sv.devDependency("tailwindcss", "^4.1.14");
|
|
2621
|
+
sv.devDependency("@tailwindcss/vite", "^4.1.14");
|
|
2616
2622
|
sv.pnpmBuildDependency("@tailwindcss/oxide");
|
|
2617
|
-
if (prettierInstalled) sv.devDependency("prettier-plugin-tailwindcss", "^0.
|
|
2623
|
+
if (prettierInstalled) sv.devDependency("prettier-plugin-tailwindcss", "^0.7.1");
|
|
2618
2624
|
for (const plugin of plugins) {
|
|
2619
2625
|
if (!options$7.plugins.includes(plugin.id)) continue;
|
|
2620
2626
|
sv.devDependency(plugin.package, plugin.version);
|
|
2621
2627
|
}
|
|
2622
|
-
sv.file(
|
|
2628
|
+
sv.file(files.viteConfig, (content) => {
|
|
2623
2629
|
const { ast, generateCode } = parseScript(content);
|
|
2624
2630
|
const vitePluginName = "tailwindcss";
|
|
2625
2631
|
addDefault(ast, {
|
|
@@ -2671,7 +2677,7 @@ var tailwindcss_default = defineAddon({
|
|
|
2671
2677
|
template: content.length === 0 ? template.generateCode() : void 0
|
|
2672
2678
|
});
|
|
2673
2679
|
});
|
|
2674
|
-
if (
|
|
2680
|
+
if (prettierInstalled) sv.file(".prettierrc", (content) => {
|
|
2675
2681
|
const { data, generateCode } = parseJson(content);
|
|
2676
2682
|
const PLUGIN_NAME = "prettier-plugin-tailwindcss";
|
|
2677
2683
|
data.plugins ??= [];
|
|
@@ -2703,7 +2709,7 @@ var vitest_addon_default = defineAddon({
|
|
|
2703
2709
|
shortDescription: "unit testing",
|
|
2704
2710
|
homepage: "https://vitest.dev",
|
|
2705
2711
|
options,
|
|
2706
|
-
run: ({ sv,
|
|
2712
|
+
run: ({ sv, files, typescript, kit, options: options$7 }) => {
|
|
2707
2713
|
const ext = typescript ? "ts" : "js";
|
|
2708
2714
|
const unitTesting = options$7.usages.includes("unit");
|
|
2709
2715
|
const componentTesting = options$7.usages.includes("component");
|
|
@@ -2711,7 +2717,7 @@ var vitest_addon_default = defineAddon({
|
|
|
2711
2717
|
if (componentTesting) {
|
|
2712
2718
|
sv.devDependency("@vitest/browser", "^3.2.4");
|
|
2713
2719
|
sv.devDependency("vitest-browser-svelte", "^1.1.0");
|
|
2714
|
-
sv.devDependency("playwright", "^1.
|
|
2720
|
+
sv.devDependency("playwright", "^1.56.1");
|
|
2715
2721
|
}
|
|
2716
2722
|
sv.file("package.json", (content) => {
|
|
2717
2723
|
const { data, generateCode } = parseJson(content);
|
|
@@ -2764,10 +2770,10 @@ var vitest_addon_default = defineAddon({
|
|
|
2764
2770
|
`;
|
|
2765
2771
|
});
|
|
2766
2772
|
}
|
|
2767
|
-
sv.file(
|
|
2773
|
+
sv.file(files.viteConfig, (content) => {
|
|
2768
2774
|
const { ast, generateCode } = parseScript(content);
|
|
2769
2775
|
const clientObjectExpression = create({
|
|
2770
|
-
extends: `./${
|
|
2776
|
+
extends: `./${files.viteConfig}`,
|
|
2771
2777
|
test: {
|
|
2772
2778
|
name: "client",
|
|
2773
2779
|
environment: "browser",
|
|
@@ -2782,7 +2788,7 @@ var vitest_addon_default = defineAddon({
|
|
|
2782
2788
|
}
|
|
2783
2789
|
});
|
|
2784
2790
|
const serverObjectExpression = create({
|
|
2785
|
-
extends: `./${
|
|
2791
|
+
extends: `./${files.viteConfig}`,
|
|
2786
2792
|
test: {
|
|
2787
2793
|
name: "server",
|
|
2788
2794
|
environment: "node",
|
|
@@ -2925,6 +2931,7 @@ function fileExists(cwd, filePath) {
|
|
|
2925
2931
|
const commonFilePaths = {
|
|
2926
2932
|
packageJson: "package.json",
|
|
2927
2933
|
svelteConfig: "svelte.config.js",
|
|
2934
|
+
svelteConfigTS: "svelte.config.ts",
|
|
2928
2935
|
jsconfig: "jsconfig.json",
|
|
2929
2936
|
tsconfig: "tsconfig.json",
|
|
2930
2937
|
viteConfig: "vite.config.js",
|
|
@@ -2946,7 +2953,9 @@ async function createWorkspace({ cwd, options: options$7 = {}, packageManager })
|
|
|
2946
2953
|
const resolvedCwd = path.resolve(cwd);
|
|
2947
2954
|
const usesTypescript = !any([commonFilePaths.jsconfig, commonFilePaths.tsconfig], { cwd })?.endsWith(commonFilePaths.jsconfig);
|
|
2948
2955
|
const viteConfigPath = path.join(resolvedCwd, commonFilePaths.viteConfigTS);
|
|
2949
|
-
const
|
|
2956
|
+
const viteConfig = fs.existsSync(viteConfigPath) ? commonFilePaths.viteConfigTS : commonFilePaths.viteConfig;
|
|
2957
|
+
const sveteConfigPath = path.join(resolvedCwd, commonFilePaths.svelteConfigTS);
|
|
2958
|
+
const svelteConfig = fs.existsSync(sveteConfigPath) ? commonFilePaths.svelteConfigTS : commonFilePaths.svelteConfig;
|
|
2950
2959
|
let dependencies = {};
|
|
2951
2960
|
let directory = resolvedCwd;
|
|
2952
2961
|
const workspaceRoot = findWorkspaceRoot(directory);
|
|
@@ -2969,7 +2978,10 @@ async function createWorkspace({ cwd, options: options$7 = {}, packageManager })
|
|
|
2969
2978
|
options: options$7,
|
|
2970
2979
|
packageManager: packageManager ?? (await detect({ cwd }))?.name ?? getUserAgent() ?? "npm",
|
|
2971
2980
|
typescript: usesTypescript,
|
|
2972
|
-
|
|
2981
|
+
files: {
|
|
2982
|
+
viteConfig,
|
|
2983
|
+
svelteConfig
|
|
2984
|
+
},
|
|
2973
2985
|
kit: dependencies["@sveltejs/kit"] ? parseKitOptions(resolvedCwd) : void 0,
|
|
2974
2986
|
dependencyVersion: (pkg) => dependencies[pkg]
|
|
2975
2987
|
};
|
|
@@ -3107,7 +3119,7 @@ async function runAddon({ addon, multiple, workspace }) {
|
|
|
3107
3119
|
let fileContent = fileExists(workspace.cwd, path$1) ? readFile(workspace.cwd, path$1) : "";
|
|
3108
3120
|
fileContent = content(fileContent);
|
|
3109
3121
|
if (!fileContent) return fileContent;
|
|
3110
|
-
writeFile(workspace, path$1, fileContent);
|
|
3122
|
+
writeFile(workspace, path$1, fileContent.replaceAll("<\\/script>", "<\/script>"));
|
|
3111
3123
|
files.add(path$1);
|
|
3112
3124
|
} catch (e) {
|
|
3113
3125
|
if (e instanceof Error) throw new Error(`Unable to process '${path$1}'. Reason: ${e.message}`);
|
package/dist/lib/index.d.ts
CHANGED
|
@@ -73,7 +73,10 @@ type Workspace<Args extends OptionDefinition> = {
|
|
|
73
73
|
*/
|
|
74
74
|
dependencyVersion: (pkg: string) => string | undefined;
|
|
75
75
|
typescript: boolean;
|
|
76
|
-
|
|
76
|
+
files: {
|
|
77
|
+
viteConfig: string;
|
|
78
|
+
svelteConfig: string;
|
|
79
|
+
};
|
|
77
80
|
kit: {
|
|
78
81
|
libDirectory: string;
|
|
79
82
|
routesDirectory: string;
|
package/dist/lib/index.js
CHANGED
package/dist/shared.json
CHANGED
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
"checkjs"
|
|
21
21
|
],
|
|
22
22
|
"exclude": [],
|
|
23
|
-
"contents": "{\n\t\"scripts\": {\n\t\t\"check\": \"svelte-kit sync && svelte-check --tsconfig ./jsconfig.json\",\n\t\t\"check:watch\": \"svelte-kit sync && svelte-check --tsconfig ./jsconfig.json --watch\"\n\t},\n\t\"devDependencies\": {\n\t\t\"svelte-check\": \"^4.3.
|
|
23
|
+
"contents": "{\n\t\"scripts\": {\n\t\t\"check\": \"svelte-kit sync && svelte-check --tsconfig ./jsconfig.json\",\n\t\t\"check:watch\": \"svelte-kit sync && svelte-check --tsconfig ./jsconfig.json --watch\"\n\t},\n\t\"devDependencies\": {\n\t\t\"svelte-check\": \"^4.3.3\",\n\t\t\"typescript\": \"^5.9.3\"\n\t}\n}\n"
|
|
24
24
|
},
|
|
25
25
|
{
|
|
26
26
|
"name": "README.md",
|
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
"playground"
|
|
45
45
|
],
|
|
46
46
|
"exclude": [],
|
|
47
|
-
"contents": "<script lang=\"ts\">\n\timport favicon from '$lib/assets/favicon.svg';\n\n\tlet { children } = $props();\n\n\tconst title = '$sv-title-$sv';\n\tconst href = '$sv-url-$sv';\n\n\tlet prefersDark = $state(true);\n\tlet isDark = $state(true);\n\n\tfunction switchTheme() {\n\t\tconst value = isDark ? 'light' : 'dark';\n\n\t\tisDark = value === 'dark';\n\t\tlocalStorage.setItem('sv:theme', isDark === prefersDark ? 'system' : value);\n\t}\n\n\t$effect(() => {\n\t\tdocument.documentElement.classList.remove('light', 'dark');\n\t\tprefersDark = window.matchMedia('(prefers-color-scheme: dark)').matches;\n\n\t\tconst theme = localStorage.getItem('sv:theme');\n\n\t\tisDark = !theme ? prefersDark : theme === 'dark' || (theme === 'system' && prefersDark);\n\t\tdocument.documentElement.classList.add(isDark ? 'dark' : 'light');\n\t});\n</script>\n\n<svelte:head>\n\t<title>--from-playground {title}</title>\n\t<script>\n\t\t{\n\t\t\tconst theme = localStorage.getItem('sv:theme');\n\n\t\t\tdocument.documentElement.classList.add(\n\t\t\t\t!theme || theme === 'system'\n\t\t\t\t\t? window.matchMedia('(prefers-color-scheme: dark)').matches\n\t\t\t\t\t\t? 'dark'\n\t\t\t\t\t\t: 'light'\n\t\t\t\t\t: theme\n\t\t\t);\n\t\t}\n\t</script>\n</svelte:head>\n\n<div class=\"layout\">\n\t<nav class=\"navbar\">\n\t\t<div class=\"nav-left\">\n\t\t\t<a href=\"/\" class=\"svelte-icon\">\n\t\t\t\t<img src={favicon} alt=\"Svelte\" width=\"32\" height=\"32\" />\n\t\t\t</a>\n\t\t\t<p class=\"title\">{title}</p>\n\t\t</div>\n\t\t<div class=\"nav-right\">\n\t\t\t<a {href} class=\"raised\" target=\"_blank\" rel=\"noopener noreferrer\">\n\t\t\t\t--to-playground\n\t\t\t\t<span aria-hidden=\"true\" style=\"margin-left:0.25em;\"> ↗</span>\n\t\t\t</a>\n\t\t\t<button class=\"raised theme-toggle\" onclick={switchTheme} aria-label=\"Toggle theme\">\n\t\t\t\t<span class=\"icon\"></span>\n\t\t\t</button>\n\t\t</div>\n\t</nav>\n\n\t<main class=\"content\">\n\t\t{@render children
|
|
47
|
+
"contents": "<script lang=\"ts\">\n\timport favicon from '$lib/assets/favicon.svg';\n\n\tlet { children } = $props();\n\n\tconst title = '$sv-title-$sv';\n\tconst href = '$sv-url-$sv';\n\n\tlet prefersDark = $state(true);\n\tlet isDark = $state(true);\n\n\tfunction switchTheme() {\n\t\tconst value = isDark ? 'light' : 'dark';\n\n\t\tisDark = value === 'dark';\n\t\tlocalStorage.setItem('sv:theme', isDark === prefersDark ? 'system' : value);\n\t}\n\n\t$effect(() => {\n\t\tdocument.documentElement.classList.remove('light', 'dark');\n\t\tprefersDark = window.matchMedia('(prefers-color-scheme: dark)').matches;\n\n\t\tconst theme = localStorage.getItem('sv:theme');\n\n\t\tisDark = !theme ? prefersDark : theme === 'dark' || (theme === 'system' && prefersDark);\n\t\tdocument.documentElement.classList.add(isDark ? 'dark' : 'light');\n\t});\n</script>\n\n<svelte:head>\n\t<title>--from-playground {title}</title>\n\t<script>\n\t\t{\n\t\t\tconst theme = localStorage.getItem('sv:theme');\n\n\t\t\tdocument.documentElement.classList.add(\n\t\t\t\t!theme || theme === 'system'\n\t\t\t\t\t? window.matchMedia('(prefers-color-scheme: dark)').matches\n\t\t\t\t\t\t? 'dark'\n\t\t\t\t\t\t: 'light'\n\t\t\t\t\t: theme\n\t\t\t);\n\t\t}\n\t</script>\n</svelte:head>\n\n<div class=\"layout\">\n\t<nav class=\"navbar\">\n\t\t<div class=\"nav-left\">\n\t\t\t<a href=\"/\" class=\"svelte-icon\">\n\t\t\t\t<img src={favicon} alt=\"Svelte\" width=\"32\" height=\"32\" />\n\t\t\t</a>\n\t\t\t<p class=\"title\">{title}</p>\n\t\t</div>\n\t\t<div class=\"nav-right\">\n\t\t\t<a {href} class=\"raised\" target=\"_blank\" rel=\"noopener noreferrer\">\n\t\t\t\t--to-playground\n\t\t\t\t<span aria-hidden=\"true\" style=\"margin-left:0.25em;\"> ↗</span>\n\t\t\t</a>\n\t\t\t<button class=\"raised theme-toggle\" onclick={switchTheme} aria-label=\"Toggle theme\">\n\t\t\t\t<span class=\"icon\"></span>\n\t\t\t</button>\n\t\t</div>\n\t</nav>\n\n\t<main class=\"content\">\n\t\t{@render children()}\n\t</main>\n</div>\n\n<style>\n\t:global(body) {\n\t\tmargin: 0;\n\t}\n\n\t:global(html) {\n\t\tmargin: 0;\n\t\t--bg-1: hsl(0, 0%, 100%);\n\t\t--bg-2: hsl(206, 20%, 90%);\n\t\t--bg-3: hsl(206, 20%, 80%);\n\t\t--navbar-bg: #fff;\n\t\t--fg-1: hsl(0, 0%, 13%);\n\t\t--fg-2: hsl(0, 0%, 50%);\n\t\t--fg-3: hsl(0, 0%, 60%);\n\t\t--link: hsl(208, 77%, 47%);\n\t\t--border-radius: 4px;\n\t\t--font:\n\t\t\t-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans',\n\t\t\t'Helvetica Neue', sans-serif;\n\t\tcolor-scheme: light;\n\t\tbackground: var(--bg-1);\n\t\tcolor: var(--fg-1);\n\t\tfont-family: var(--font);\n\t\tline-height: 1.5;\n\t\theight: calc(100vh - 2rem);\n\t\taccent-color: var(--link) !important;\n\t\tmin-height: 100vh;\n\t\tbackground-color: var(--bg-1);\n\t}\n\n\t:global(html.dark) {\n\t\tcolor-scheme: dark;\n\t\t--bg-1: hsl(0, 0%, 18%);\n\t\t--bg-2: hsl(0, 0%, 30%);\n\t\t--bg-3: hsl(0, 0%, 40%);\n\t\t--navbar-bg: hsl(220, 14%, 16%);\n\t\t--fg-1: hsl(0, 0%, 75%);\n\t\t--fg-2: hsl(0, 0%, 40%);\n\t\t--fg-3: hsl(0, 0%, 30%);\n\t\t--link: hsl(206, 96%, 72%);\n\t}\n\n\t.navbar {\n\t\tcolor: var(--fg-1);\n\t\tdisplay: flex;\n\t\tjustify-content: space-between;\n\t\talign-items: center;\n\t\tpadding: 0em 2.5rem;\n\t\theight: 3.7rem;\n\t\tbackground-color: var(--navbar-bg);\n\t\tbox-shadow:\n\t\t\t0 2px 8px 0 rgba(0, 0, 0, 0.08),\n\t\t\t0 1.5px 4px 0 rgba(0, 0, 0, 0.04);\n\t}\n\n\t.nav-left {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tgap: 0.5rem;\n\t}\n\n\t.svelte-icon {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\ttext-decoration: none;\n\t\ttransition: opacity 0.2s ease;\n\t}\n\n\t.svelte-icon:hover {\n\t\topacity: 0.8;\n\t}\n\n\t.title {\n\t\tfont-size: 1.5rem;\n\t\tfont-weight: 400;\n\t\tmargin: 0;\n\t}\n\n\t.nav-right {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tgap: 1rem;\n\t}\n\n\t.raised {\n\t\tbackground: var(--navbar-bg);\n\t\tborder-left: 0.5px solid var(--fg-3);\n\t\tborder-top: 0.5px solid var(--fg-3);\n\t\tborder-bottom: none;\n\t\tborder-right: none;\n\t\tborder-radius: var(--border-radius);\n\t\tcolor: var(--fg-1);\n\t\tcursor: pointer;\n\t\ttransition: all 0.2s ease;\n\t\tbox-shadow:\n\t\t\t0 2px 4px rgba(0, 0, 0, 0.1),\n\t\t\t0 1px 2px rgba(0, 0, 0, 0.06);\n\t\ttext-decoration: none;\n\t\tfont-weight: 500;\n\t\tpadding: 0.25rem 0.75rem;\n\t\tfont-size: 0.8rem;\n\t}\n\n\t.raised:hover {\n\t\tborder-left-color: var(--fg-2);\n\t\tborder-top-color: var(--fg-2);\n\t\tbox-shadow:\n\t\t\t0 4px 8px rgba(0, 0, 0, 0.15),\n\t\t\t0 2px 4px rgba(0, 0, 0, 0.1);\n\t\ttransform: translate(-1px, -1px);\n\t}\n\n\t.content {\n\t\tpadding: 1rem;\n\t\tcolor: var(--fg-1);\n\t}\n\n\t.theme-toggle {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\t\twidth: 1.8rem;\n\t\theight: 1.8rem;\n\t\tpadding: 0;\n\t\tmin-width: 2rem;\n\t}\n\n\t.icon {\n\t\tdisplay: inline-block;\n\t\twidth: 1.5rem;\n\t\theight: 1.5rem;\n\t\t-webkit-mask-size: 1.5rem;\n\t\tmask-size: 1.5rem;\n\t\t-webkit-mask-repeat: no-repeat;\n\t\tmask-repeat: no-repeat;\n\t\t-webkit-mask-position: center;\n\t\tmask-position: center;\n\t\tbackground-color: var(--fg-1);\n\t}\n\n\t.icon {\n\t\tmask-image: url('data:image/svg+xml,%3csvg%20xmlns=\"http://www.w3.org/2000/svg\"%20viewBox=\"0%200%2024%2024\"%3e%3cpath%20fill=\"%23666\"%20d=\"M12%2021q-3.775%200-6.388-2.613T3%2012q0-3.45%202.25-5.988T11%203.05q.625-.075.975.45t-.025%201.1q-.425.65-.638%201.375T11.1%207.5q0%202.25%201.575%203.825T16.5%2012.9q.775%200%201.538-.225t1.362-.625q.525-.35%201.075-.037t.475.987q-.35%203.45-2.937%205.725T12%2021Zm0-2q2.2%200%203.95-1.213t2.55-3.162q-.5.125-1%20.2t-1%20.075q-3.075%200-5.238-2.163T9.1%207.5q0-.5.075-1t.2-1q-1.95.8-3.163%202.55T5%2012q0%202.9%202.05%204.95T12%2019Zm-.25-6.75Z\"/%3e%3c/svg%3e');\n\t}\n\n\t:global(html.dark) .icon {\n\t\tmask-image: url(\"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%3e%3cpath%20fill='%23d4d4d4'%20d='M12%2019a1%201%200%200%201%20.993.883L13%2020v1a1%201%200%200%201-1.993.117L11%2021v-1a1%201%200%200%201%201-1zm6.313-2.09.094.083.7.7a1%201%200%200%201-1.32%201.497l-.094-.083-.7-.7a1%201%200%200%201%201.218-1.567l.102.07zm-11.306.083a1%201%200%200%201%20.083%201.32l-.083.094-.7.7a1%201%200%200%201-1.497-1.32l.083-.094.7-.7a1%201%200%200%201%201.414%200zM4%2011a1%201%200%200%201%20.117%201.993L4%2013H3a1%201%200%200%201-.117-1.993L3%2011h1zm17%200a1%201%200%200%201%20.117%201.993L21%2013h-1a1%201%200%200%201-.117-1.993L20%2011h1zM6.213%204.81l.094.083.7.7a1%201%200%200%201-1.32%201.497l-.094-.083-.7-.7A1%201%200%200%201%206.11%204.74l.102.07zm12.894.083a1%201%200%200%201%20.083%201.32l-.083.094-.7.7a1%201%200%200%201-1.497-1.32l.083-.094.7-.7a1%201%200%200%201%201.414%200zM12%202a1%201%200%200%201%20.993.883L13%203v1a1%201%200%200%201-1.993.117L11%204V3a1%201%200%200%201%201-1zm0%205a5%205%200%201%201-4.995%205.217L7%2012l.005-.217A5%205%200%200%201%2012%207z'/%3e%3c/svg%3e\");\n\t}\n</style>\n"
|
|
48
48
|
},
|
|
49
49
|
{
|
|
50
50
|
"name": "package.json",
|
|
@@ -52,7 +52,7 @@
|
|
|
52
52
|
"typescript"
|
|
53
53
|
],
|
|
54
54
|
"exclude": [],
|
|
55
|
-
"contents": "{\n\t\"scripts\": {\n\t\t\"check\": \"svelte-kit sync && svelte-check --tsconfig ./tsconfig.json\",\n\t\t\"check:watch\": \"svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch\"\n\t},\n\t\"devDependencies\": {\n\t\t\"svelte-check\": \"^4.3.
|
|
55
|
+
"contents": "{\n\t\"scripts\": {\n\t\t\"check\": \"svelte-kit sync && svelte-check --tsconfig ./tsconfig.json\",\n\t\t\"check:watch\": \"svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch\"\n\t},\n\t\"devDependencies\": {\n\t\t\"svelte-check\": \"^4.3.3\",\n\t\t\"typescript\": \"^5.9.3\"\n\t}\n}\n"
|
|
56
56
|
},
|
|
57
57
|
{
|
|
58
58
|
"name": "svelte.config.js",
|
|
@@ -12,10 +12,10 @@
|
|
|
12
12
|
"devDependencies": {
|
|
13
13
|
"@fontsource/fira-mono": "^5.2.7",
|
|
14
14
|
"@neoconfetti/svelte": "^2.2.2",
|
|
15
|
-
"@sveltejs/adapter-auto": "^
|
|
16
|
-
"@sveltejs/kit": "^2.
|
|
17
|
-
"@sveltejs/vite-plugin-svelte": "^6.2.
|
|
18
|
-
"svelte": "^5.
|
|
19
|
-
"vite": "^7.1.
|
|
15
|
+
"@sveltejs/adapter-auto": "^7.0.0",
|
|
16
|
+
"@sveltejs/kit": "^2.47.1",
|
|
17
|
+
"@sveltejs/vite-plugin-svelte": "^6.2.1",
|
|
18
|
+
"svelte": "^5.41.0",
|
|
19
|
+
"vite": "^7.1.10"
|
|
20
20
|
}
|
|
21
21
|
}
|
|
@@ -23,14 +23,14 @@
|
|
|
23
23
|
"svelte": "^5.0.0"
|
|
24
24
|
},
|
|
25
25
|
"devDependencies": {
|
|
26
|
-
"@sveltejs/adapter-auto": "^
|
|
27
|
-
"@sveltejs/kit": "^2.
|
|
26
|
+
"@sveltejs/adapter-auto": "^7.0.0",
|
|
27
|
+
"@sveltejs/kit": "^2.47.1",
|
|
28
28
|
"@sveltejs/package": "^2.5.4",
|
|
29
|
-
"@sveltejs/vite-plugin-svelte": "^6.2.
|
|
30
|
-
"publint": "^0.3.
|
|
31
|
-
"svelte": "^5.
|
|
32
|
-
"typescript": "^5.9.
|
|
33
|
-
"vite": "^7.1.
|
|
29
|
+
"@sveltejs/vite-plugin-svelte": "^6.2.1",
|
|
30
|
+
"publint": "^0.3.14",
|
|
31
|
+
"svelte": "^5.41.0",
|
|
32
|
+
"typescript": "^5.9.3",
|
|
33
|
+
"vite": "^7.1.10"
|
|
34
34
|
},
|
|
35
35
|
"keywords": ["svelte"]
|
|
36
36
|
}
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
},
|
|
10
10
|
{
|
|
11
11
|
"name": "src/routes/+layout.svelte",
|
|
12
|
-
"contents": "<script>\n\timport favicon from '$lib/assets/favicon.svg';\n\n\tlet { children } = $props();\n</script>\n\n<svelte:head>\n\t<link rel=\"icon\" href={favicon} />\n</svelte:head>\n\n{@render children
|
|
12
|
+
"contents": "<script>\n\timport favicon from '$lib/assets/favicon.svg';\n\n\tlet { children } = $props();\n</script>\n\n<svelte:head>\n\t<link rel=\"icon\" href={favicon} />\n</svelte:head>\n\n{@render children()}\n"
|
|
13
13
|
},
|
|
14
14
|
{
|
|
15
15
|
"name": "src/routes/+page.svelte",
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
},
|
|
6
6
|
{
|
|
7
7
|
"name": "src/routes/+layout.svelte",
|
|
8
|
-
"contents": "<script>\n\timport favicon from '$lib/assets/favicon.svg';\n\n\tlet { children } = $props();\n</script>\n\n<svelte:head>\n\t<link rel=\"icon\" href={favicon} />\n</svelte:head>\n\n{@render children
|
|
8
|
+
"contents": "<script>\n\timport favicon from '$lib/assets/favicon.svg';\n\n\tlet { children } = $props();\n</script>\n\n<svelte:head>\n\t<link rel=\"icon\" href={favicon} />\n</svelte:head>\n\n{@render children()}\n"
|
|
9
9
|
},
|
|
10
10
|
{
|
|
11
11
|
"name": "src/routes/+page.svelte",
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
},
|
|
10
10
|
{
|
|
11
11
|
"name": "src/routes/+layout.svelte",
|
|
12
|
-
"contents": "<script lang=\"ts\">\n\timport favicon from '$lib/assets/favicon.svg';\n\n\tlet { children } = $props();\n</script>\n\n<svelte:head>\n\t<link rel=\"icon\" href={favicon} />\n</svelte:head>\n\n{@render children
|
|
12
|
+
"contents": "<script lang=\"ts\">\n\timport favicon from '$lib/assets/favicon.svg';\n\n\tlet { children } = $props();\n</script>\n\n<svelte:head>\n\t<link rel=\"icon\" href={favicon} />\n</svelte:head>\n\n{@render children()}\n"
|
|
13
13
|
},
|
|
14
14
|
{
|
|
15
15
|
"name": "src/routes/+page.svelte",
|
|
@@ -10,10 +10,10 @@
|
|
|
10
10
|
"prepare": "svelte-kit sync || echo ''"
|
|
11
11
|
},
|
|
12
12
|
"devDependencies": {
|
|
13
|
-
"@sveltejs/adapter-auto": "^
|
|
14
|
-
"@sveltejs/kit": "^2.
|
|
15
|
-
"@sveltejs/vite-plugin-svelte": "^6.2.
|
|
16
|
-
"svelte": "^5.
|
|
17
|
-
"vite": "^7.1.
|
|
13
|
+
"@sveltejs/adapter-auto": "^7.0.0",
|
|
14
|
+
"@sveltejs/kit": "^2.47.1",
|
|
15
|
+
"@sveltejs/vite-plugin-svelte": "^6.2.1",
|
|
16
|
+
"svelte": "^5.41.0",
|
|
17
|
+
"vite": "^7.1.10"
|
|
18
18
|
}
|
|
19
19
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "sv",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.11",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "A CLI for creating and updating SvelteKit projects",
|
|
6
6
|
"license": "MIT",
|
|
@@ -36,9 +36,9 @@
|
|
|
36
36
|
"ps-tree": "^1.2.0",
|
|
37
37
|
"tinyexec": "^0.3.2",
|
|
38
38
|
"valibot": "^0.41.0",
|
|
39
|
-
"@sveltejs/
|
|
39
|
+
"@sveltejs/addons": "0.0.0",
|
|
40
40
|
"@sveltejs/create": "0.0.0",
|
|
41
|
-
"@sveltejs/
|
|
41
|
+
"@sveltejs/cli-core": "0.0.0"
|
|
42
42
|
},
|
|
43
43
|
"keywords": [
|
|
44
44
|
"create",
|