sv 0.8.18 → 0.8.19

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.
@@ -1,4 +1,4 @@
1
- import { Element, T, Tag, __commonJS, __export, __toESM, __toESM$1, be, detect, esm_exports, getUserAgent, parseCss$1, parseHtml, parseHtml$1, parseJson$1, parseScript, parseScript$1, parseSvelte, require_picocolors as require_picocolors$1, require_picocolors$1 as require_picocolors, resolveCommand, serializeScript, stripAst, up, walk, walk_exports } from "./package-manager-DO5R9a6p.js";
1
+ import { Element, T, Tag, __commonJS, __export, __toESM as __toESM$1, __toESM$1 as __toESM, be, detect, esm_exports, getUserAgent, parseCss$1, parseHtml, parseHtml$1, parseJson$1, parseScript, parseScript$1, parseSvelte, require_picocolors as require_picocolors$1, require_picocolors$1 as require_picocolors, resolveCommand, serializeScript, stripAst, up, walk, walk_exports } from "./package-manager-DO5R9a6p.js";
2
2
  import fs, { existsSync, lstatSync, readdirSync } from "node:fs";
3
3
  import path, { dirname, join } from "node:path";
4
4
  import process$1, { stdin, stdout } from "node:process";
@@ -819,7 +819,7 @@ function isFunctionDeclaration(node, funcName) {
819
819
 
820
820
  //#endregion
821
821
  //#region packages/cli/commands/add/utils.ts
822
- var import_picocolors$5 = __toESM$1(require_picocolors(), 1);
822
+ var import_picocolors$5 = __toESM(require_picocolors(), 1);
823
823
  function getPackageJson(cwd) {
824
824
  const packageText = readFile(cwd, commonFilePaths.packageJson);
825
825
  if (!packageText) {
@@ -990,7 +990,7 @@ function parseKitOptions(cwd) {
990
990
 
991
991
  //#endregion
992
992
  //#region packages/cli/lib/install.ts
993
- var import_picocolors$4 = __toESM$1(require_picocolors(), 1);
993
+ var import_picocolors$4 = __toESM(require_picocolors(), 1);
994
994
  async function installAddon({ addons, cwd, options: options$6, packageManager = "npm" }) {
995
995
  const workspace = await createWorkspace({
996
996
  cwd,
@@ -1183,8 +1183,8 @@ else if (y > 0) ret += `${CSI}${y}B`;
1183
1183
  beep
1184
1184
  };
1185
1185
  } });
1186
- var import_src$1 = __toESM(require_src(), 1);
1187
- var import_picocolors$3 = __toESM(require_picocolors$1(), 1);
1186
+ var import_src$1 = __toESM$1(require_src(), 1);
1187
+ var import_picocolors$3 = __toESM$1(require_picocolors$1(), 1);
1188
1188
  function hu({ onlyFirst: e$1 = !1 } = {}) {
1189
1189
  const t = ["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?(?:\\u0007|\\u001B\\u005C|\\u009C))", "(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]))"].join("|");
1190
1190
  return new RegExp(t, e$1 ? void 0 : "g");
@@ -1919,9 +1919,9 @@ B$1 = new WeakMap(), k$1 = new WeakMap(), I = new WeakMap(), v$1 = new WeakMap()
1919
1919
  e$1 ? this.filteredOptions = D$1.filter((t) => x$1(this, I).call(this, e$1, t)) : this.filteredOptions = [...D$1], m(this, B$1, FD(this.focusedValue, this.filteredOptions)), this.focusedValue = this.filteredOptions[x$1(this, B$1)]?.value, this.multiple || (this.focusedValue !== void 0 ? this.toggleSelected(this.focusedValue) : this.deselectAll());
1920
1920
  }
1921
1921
  };
1922
- var import_picocolors$1 = __toESM(require_picocolors$1(), 1);
1923
- var import_picocolors$2 = __toESM(require_picocolors$1(), 1);
1924
- var import_src = __toESM(require_src(), 1);
1922
+ var import_picocolors$1 = __toESM$1(require_picocolors$1(), 1);
1923
+ var import_picocolors$2 = __toESM$1(require_picocolors$1(), 1);
1924
+ var import_src = __toESM$1(require_src(), 1);
1925
1925
  function Pe() {
1926
1926
  return process$1.platform !== "win32" ? process$1.env.TERM !== "linux" : !!process$1.env.CI || !!process$1.env.WT_SESSION || !!process$1.env.TERMINUS_SUBLIME || process$1.env.ConEmuTask === "{cmd::Cmder}" || process$1.env.TERM_PROGRAM === "Terminus-Sublime" || process$1.env.TERM_PROGRAM === "vscode" || process$1.env.TERM === "xterm-256color" || process$1.env.TERM === "alacritty" || process$1.env.TERMINAL_EMULATOR === "JetBrains-JediTerm";
1927
1927
  }
@@ -2593,7 +2593,35 @@ function createPrinter(...conditions) {
2593
2593
  });
2594
2594
  return printers;
2595
2595
  }
2596
- var import_picocolors = __toESM(require_picocolors$1(), 1);
2596
+ function splitVersion(str) {
2597
+ const [major, minor, patch] = str?.split(".") ?? [];
2598
+ function toVersionNumber(val) {
2599
+ return val !== undefined && val !== "" && !isNaN(Number(val)) ? Number(val) : undefined;
2600
+ }
2601
+ return {
2602
+ major: toVersionNumber(major),
2603
+ minor: toVersionNumber(minor),
2604
+ patch: toVersionNumber(patch)
2605
+ };
2606
+ }
2607
+ function isVersionUnsupportedBelow(versionStr, belowStr) {
2608
+ const version = splitVersion(versionStr);
2609
+ const below = splitVersion(belowStr);
2610
+ if (version.major === undefined || below.major === undefined) return undefined;
2611
+ if (version.major < below.major) return true;
2612
+ if (version.major > below.major) return false;
2613
+ if (version.minor === undefined || below.minor === undefined) if (version.major === below.major) return false;
2614
+ else return true;
2615
+ if (version.minor < below.minor) return true;
2616
+ if (version.minor > below.minor) return false;
2617
+ if (version.patch === undefined || below.patch === undefined) if (version.minor === below.minor) return false;
2618
+ else return true;
2619
+ if (version.patch < below.patch) return true;
2620
+ if (version.patch > below.patch) return false;
2621
+ if (version.patch === below.patch) return false;
2622
+ return undefined;
2623
+ }
2624
+ var import_picocolors = __toESM$1(require_picocolors$1(), 1);
2597
2625
  var colors = import_picocolors.default;
2598
2626
 
2599
2627
  //#endregion
@@ -5288,8 +5316,7 @@ var storybook_default = defineAddon({
5288
5316
  },
5289
5317
  run: async ({ sv }) => {
5290
5318
  const args = [
5291
- "storybook@latest",
5292
- "init",
5319
+ "create-storybook@latest",
5293
5320
  "--skip-install",
5294
5321
  "--no-dev"
5295
5322
  ];
@@ -5508,6 +5535,7 @@ else sv.file(`${kit?.routesDirectory}/+layout.svelte`, (content) => {
5508
5535
  data.plugins ??= [];
5509
5536
  const plugins$1 = data.plugins;
5510
5537
  if (!plugins$1.includes(PLUGIN_NAME)) plugins$1.push(PLUGIN_NAME);
5538
+ data.tailwindStylesheet ??= "./src/app.css";
5511
5539
  return generateCode();
5512
5540
  });
5513
5541
  }
@@ -5676,4 +5704,4 @@ async function getCommunityAddon(name) {
5676
5704
  }
5677
5705
 
5678
5706
  //#endregion
5679
- export { applyAddons, communityAddonIds, createWorkspace, formatFiles, getAddonDetails, getCommunityAddon, getHighlighter, installAddon, officialAddons, setupAddons };
5707
+ export { applyAddons, communityAddonIds, createWorkspace, formatFiles, getAddonDetails, getCommunityAddon, getHighlighter, installAddon, isVersionUnsupportedBelow, officialAddons, setupAddons };
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$1 as __toESM, addPnpmBuildDependencies, create, detect, et, from, getUserAgent, installDependencies, installOption, ke, packageManagerPrompt, program, require_picocolors$1 as require_picocolors, resolveCommand, templates, up, ze } from "./package-manager-DO5R9a6p.js";
3
- import { applyAddons, communityAddonIds, createWorkspace, formatFiles, getAddonDetails, getCommunityAddon, getHighlighter, officialAddons, setupAddons } from "./addons-Br9tic5t.js";
3
+ import { applyAddons, communityAddonIds, createWorkspace, formatFiles, getAddonDetails, getCommunityAddon, getHighlighter, isVersionUnsupportedBelow, officialAddons, setupAddons } from "./addons-BHPw2iRi.js";
4
4
  import fs, { existsSync } from "node:fs";
5
5
  import path, { dirname, join } from "node:path";
6
6
  import { fileURLToPath } from "node:url";
@@ -12,7 +12,7 @@ import { pipeline } from "node:stream/promises";
12
12
 
13
13
  //#region packages/cli/package.json
14
14
  var name = "sv";
15
- var version = "0.8.18";
15
+ var version = "0.8.19";
16
16
  var type = "module";
17
17
  var description = "A CLI for creating and updating SvelteKit projects";
18
18
  var license = "MIT";
@@ -562,6 +562,9 @@ function formatDescription(arg) {
562
562
  async function runCommand(action) {
563
563
  try {
564
564
  Ge(`Welcome to the Svelte CLI! ${import_picocolors$3.default.gray(`(v${package_default.version})`)}`);
565
+ const minimumVersion = "18.3.0";
566
+ const unsupported = isVersionUnsupportedBelow(process.versions.node, minimumVersion);
567
+ if (unsupported) T.warn(`You are using Node.js ${import_picocolors$3.default.red(process.versions.node)}, please upgrade to Node.js ${import_picocolors$3.default.green(minimumVersion)} or higher.`);
565
568
  await action();
566
569
  Fe("You're all set!");
567
570
  } catch (e) {
@@ -834,7 +837,7 @@ const add = new Command("add").description("applies specified add-ons into a pro
834
837
  runCommand(async () => {
835
838
  const selectedAddonIds = selectedAddons.map(({ id }) => id);
836
839
  const { nextSteps } = await runAddCommand(options$1, selectedAddonIds);
837
- if (nextSteps) Ke(nextSteps, "Next steps", { format: (line) => line });
840
+ if (nextSteps.length > 0) Ke(nextSteps.join("\n"), "Next steps", { format: (line) => line });
838
841
  });
839
842
  });
840
843
  async function runAddCommand(options$1, selectedAddonIds) {
@@ -1063,7 +1066,10 @@ else if (official[addonId][id] !== undefined) throw new Error(`Incompatible '${a
1063
1066
  values[questionId] = answer;
1064
1067
  }
1065
1068
  }
1066
- if (selectedAddons.length === 0) return { packageManager: null };
1069
+ if (selectedAddons.length === 0) return {
1070
+ packageManager: null,
1071
+ nextSteps: []
1072
+ };
1067
1073
  const officialDetails = Object.keys(official).map((id) => getAddonDetails(id));
1068
1074
  const commDetails = Object.keys(community).map((id) => communityDetails.find((a) => a.id === id));
1069
1075
  const details = officialDetails.concat(commDetails);
@@ -1101,17 +1107,18 @@ else if (official[addonId][id] !== undefined) throw new Error(`Incompatible '${a
1101
1107
  }
1102
1108
  }
1103
1109
  const highlighter = getHighlighter();
1104
- const nextSteps = selectedAddons.filter(({ addon }) => addon.nextSteps).map(({ addon }) => {
1105
- let addonMessage = "";
1106
- if (selectedAddons.length > 1) addonMessage = `${import_picocolors$2.default.green(addon.id)}:\n`;
1110
+ const nextSteps = selectedAddons.map(({ addon }) => {
1111
+ if (!addon.nextSteps) return;
1112
+ let addonMessage = `${import_picocolors$2.default.green(addon.id)}:\n`;
1113
+ const options$2 = official[addon.id];
1107
1114
  const addonNextSteps = addon.nextSteps({
1108
1115
  ...workspace,
1109
- options: official[addon.id],
1116
+ options: options$2,
1110
1117
  highlighter
1111
1118
  });
1112
- addonMessage += `- ${addonNextSteps.join("\n- ")}`;
1119
+ addonMessage += ` - ${addonNextSteps.join("\n - ")}`;
1113
1120
  return addonMessage;
1114
- }).join("\n\n") || undefined;
1121
+ }).filter((msg) => msg !== undefined);
1115
1122
  return {
1116
1123
  nextSteps,
1117
1124
  packageManager
@@ -1222,12 +1229,12 @@ const create$1 = new Command("create").description("scaffolds a new SvelteKit pr
1222
1229
  const { directory, addOnNextSteps, packageManager } = await createProject(cwd, options$1);
1223
1230
  const highlight = (str) => import_picocolors$1.default.bold(import_picocolors$1.default.cyan(str));
1224
1231
  let i = 1;
1225
- const initialSteps = [];
1232
+ const initialSteps = ["📁 Project steps", ""];
1226
1233
  const relative = path.relative(process.cwd(), directory);
1227
1234
  const pm = packageManager ?? (await detect({ cwd: directory }))?.name ?? getUserAgent() ?? "npm";
1228
1235
  if (relative !== "") {
1229
1236
  const pathHasSpaces = relative.includes(" ");
1230
- initialSteps.push(`${i++}: ${highlight(`cd ${pathHasSpaces ? `"${relative}"` : relative}`)}`);
1237
+ initialSteps.push(` ${i++}: ${highlight(`cd ${pathHasSpaces ? `"${relative}"` : relative}`)}`);
1231
1238
  }
1232
1239
  if (!packageManager) {
1233
1240
  const { args: args$1, command: command$1 } = resolveCommand(pm, "install", []);
@@ -1237,15 +1244,20 @@ const create$1 = new Command("create").description("scaffolds a new SvelteKit pr
1237
1244
  const pmRunCmd = `${command} ${args.join(" ")}`;
1238
1245
  const steps = [
1239
1246
  ...initialSteps,
1240
- `${i++}: ${highlight("git init && git add -A && git commit -m \"Initial commit\"")} (optional)`,
1241
- `${i++}: ${highlight(pmRunCmd)}`,
1242
- "",
1243
- `To close the dev server, hit ${highlight("Ctrl-C")}`,
1247
+ ` ${i++}: ${highlight("git init && git add -A && git commit -m \"Initial commit\"")} (optional)`,
1248
+ ` ${i++}: ${highlight(pmRunCmd)}`,
1244
1249
  "",
1245
- `Stuck? Visit us at ${import_picocolors$1.default.cyan("https://svelte.dev/chat")}`
1250
+ `To close the dev server, hit ${highlight("Ctrl-C")}`
1246
1251
  ];
1247
- Ke(steps.join("\n"), "Project next steps", { format: (line) => line });
1248
- if (addOnNextSteps) Ke(addOnNextSteps, "Add-on next steps", { format: (line) => line });
1252
+ if (addOnNextSteps.length > 0) {
1253
+ steps.push("", "🧩 Add-on steps", "");
1254
+ for (const step of addOnNextSteps) {
1255
+ const indented = step.replaceAll(" -", " -");
1256
+ steps.push(` ${indented}`);
1257
+ }
1258
+ }
1259
+ steps.push("", `Stuck? Visit us at ${import_picocolors$1.default.cyan("https://svelte.dev/chat")}`);
1260
+ Ke(steps.join("\n"), "What's next?", { format: (line) => line });
1249
1261
  });
1250
1262
  });
1251
1263
  async function createProject(cwd, options$1) {
@@ -1316,7 +1328,7 @@ async function createProject(cwd, options$1) {
1316
1328
  });
1317
1329
  T.success("Project created");
1318
1330
  let packageManager;
1319
- let addOnNextSteps;
1331
+ let addOnNextSteps = [];
1320
1332
  const installDeps = async (install) => {
1321
1333
  packageManager = install === true ? await packageManagerPrompt(projectPath) : install;
1322
1334
  addPnpmBuildDependencies(projectPath, packageManager, ["esbuild"]);
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
1
  import { create } from "./package-manager-DO5R9a6p.js";
2
- import { installAddon, officialAddons } from "./addons-Br9tic5t.js";
2
+ import { installAddon, officialAddons } from "./addons-BHPw2iRi.js";
3
3
 
4
4
  export { create, installAddon, officialAddons };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sv",
3
- "version": "0.8.18",
3
+ "version": "0.8.19",
4
4
  "type": "module",
5
5
  "description": "A CLI for creating and updating SvelteKit projects",
6
6
  "license": "MIT",