sv 0.9.8 → 0.9.9
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 +52 -17
- package/dist/{create-G_G45yBx.js → create-CdiXN6U7.js} +1 -1
- package/dist/{install-DhHe_LP6.js → install-CD-dlXd7.js} +346 -204
- package/dist/lib/index.d.ts +3 -0
- package/dist/lib/index.js +2 -2
- package/dist/lib/testing.js +1 -1
- package/dist/shared.json +8 -0
- package/package.json +3 -3
package/dist/bin.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { AGENT_NAMES, Command, De, Fe, Ge, J, Ke, Option, T, Ue, Vu, We, __toESM, addPnpmBuildDependencies, create as create$1, detect, et, from, getUserAgent, installDependencies, installOption, isVersionUnsupportedBelow, ke, packageManagerPrompt, parseJson, parseScript, parseSvelte, program, require_picocolors, resolveCommand, templates, up as up$1, ze } from "./create-
|
|
3
|
-
import { addDefault, applyAddons, communityAddonIds, create as create$2, createDefault, createWorkspace, formatFiles, getAddonDetails, getCommunityAddon, getHighlighter, officialAddons, overrideProperties, setupAddons } from "./install-
|
|
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-CD-dlXd7.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.9";
|
|
16
16
|
var type = "module";
|
|
17
17
|
var description = "A CLI for creating and updating SvelteKit projects";
|
|
18
18
|
var license = "MIT";
|
|
@@ -842,7 +842,7 @@ const add = new Command("add").description("applies specified add-ons into a pro
|
|
|
842
842
|
});
|
|
843
843
|
});
|
|
844
844
|
async function runAddCommand(options$1, selectedAddonIds) {
|
|
845
|
-
|
|
845
|
+
let selectedAddons = selectedAddonIds.map((id) => ({
|
|
846
846
|
type: "official",
|
|
847
847
|
addon: getAddonDetails(id)
|
|
848
848
|
}));
|
|
@@ -1067,19 +1067,29 @@ async function runAddCommand(options$1, selectedAddonIds) {
|
|
|
1067
1067
|
const commDetails = Object.keys(community).map((id) => communityDetails.find((a) => a.id === id));
|
|
1068
1068
|
const details = officialDetails.concat(commDetails);
|
|
1069
1069
|
const addonMap = Object.assign({}, ...details.map((a) => ({ [a.id]: a })));
|
|
1070
|
-
const { filesToFormat, pnpmBuildDependencies
|
|
1070
|
+
const { filesToFormat, pnpmBuildDependencies, status } = await applyAddons({
|
|
1071
1071
|
workspace,
|
|
1072
1072
|
addonSetupResults,
|
|
1073
1073
|
addons: addonMap,
|
|
1074
1074
|
options: official
|
|
1075
1075
|
});
|
|
1076
|
-
|
|
1076
|
+
const addonSuccess = [];
|
|
1077
|
+
for (const [addonId, info] of Object.entries(status)) if (info === "success") addonSuccess.push(addonId);
|
|
1078
|
+
else {
|
|
1079
|
+
T.warn(`Canceled ${addonId}: ${info.join(", ")}`);
|
|
1080
|
+
selectedAddons = selectedAddons.filter((a) => a.addon.id !== addonId);
|
|
1081
|
+
}
|
|
1082
|
+
if (addonSuccess.length === 0) {
|
|
1083
|
+
De("All selected add-ons were canceled.");
|
|
1084
|
+
process.exit(1);
|
|
1085
|
+
} else if (addonSuccess.length === Object.entries(status).length) T.success("Successfully setup add-ons");
|
|
1086
|
+
else T.success(`Successfully setup: ${addonSuccess.join(", ")}`);
|
|
1077
1087
|
let packageManager;
|
|
1078
1088
|
if (options$1.install) {
|
|
1079
1089
|
packageManager = options$1.install === true ? await packageManagerPrompt(options$1.cwd) : options$1.install;
|
|
1080
1090
|
if (packageManager) {
|
|
1081
1091
|
workspace.packageManager = packageManager;
|
|
1082
|
-
await addPnpmBuildDependencies(workspace.cwd, packageManager, ["esbuild", ...
|
|
1092
|
+
await addPnpmBuildDependencies(workspace.cwd, packageManager, ["esbuild", ...pnpmBuildDependencies]);
|
|
1083
1093
|
await installDependencies(packageManager, options$1.cwd);
|
|
1084
1094
|
}
|
|
1085
1095
|
}
|
|
@@ -1103,13 +1113,14 @@ async function runAddCommand(options$1, selectedAddonIds) {
|
|
|
1103
1113
|
return {
|
|
1104
1114
|
nextSteps: selectedAddons.map(({ addon }) => {
|
|
1105
1115
|
if (!addon.nextSteps) return;
|
|
1106
|
-
let addonMessage = `${import_picocolors$2.default.green(addon.id)}:\n`;
|
|
1107
1116
|
const options$2 = official[addon.id];
|
|
1108
1117
|
const addonNextSteps = addon.nextSteps({
|
|
1109
1118
|
...workspace,
|
|
1110
1119
|
options: options$2,
|
|
1111
1120
|
highlighter
|
|
1112
1121
|
});
|
|
1122
|
+
if (addonNextSteps.length === 0) return;
|
|
1123
|
+
let addonMessage = `${import_picocolors$2.default.green(addon.id)}:\n`;
|
|
1113
1124
|
addonMessage += ` - ${addonNextSteps.join("\n - ")}`;
|
|
1114
1125
|
return addonMessage;
|
|
1115
1126
|
}).filter((msg) => msg !== void 0),
|
|
@@ -1286,26 +1297,50 @@ function extractPackageVersion(pkgName) {
|
|
|
1286
1297
|
if (pkgName.includes("@", 1)) [, version$1] = pkgName.split("@");
|
|
1287
1298
|
return version$1;
|
|
1288
1299
|
}
|
|
1289
|
-
function setupPlaygroundProject(playground, cwd, installDependencies$1) {
|
|
1300
|
+
function setupPlaygroundProject(url, playground, cwd, installDependencies$1, typescript) {
|
|
1290
1301
|
const mainFile = playground.files.find((file) => file.name === "App.svelte");
|
|
1291
1302
|
if (!mainFile) throw new Error("Failed to find `App.svelte` entrypoint.");
|
|
1292
1303
|
const dependencies = detectPlaygroundDependencies(playground.files);
|
|
1293
1304
|
for (const file of playground.files) {
|
|
1294
1305
|
for (const [pkg, version$1] of dependencies) if (version$1 !== "latest") file.content = file.content.replaceAll(`${pkg}@${version$1}`, pkg);
|
|
1295
|
-
const filePath$1 = path.join(cwd, "src", "
|
|
1306
|
+
const filePath$1 = path.join(cwd, "src", "lib", "playground", file.name);
|
|
1296
1307
|
fs.mkdirSync(path.dirname(filePath$1), { recursive: true });
|
|
1297
1308
|
fs.writeFileSync(filePath$1, file.content, "utf8");
|
|
1298
1309
|
}
|
|
1310
|
+
{
|
|
1311
|
+
const shared = dist("shared.json");
|
|
1312
|
+
const { files: files$1 } = JSON.parse(fs.readFileSync(shared, "utf-8"));
|
|
1313
|
+
const playgroundFiles = files$1.filter((file) => file.include.includes("playground"));
|
|
1314
|
+
for (const file of playgroundFiles) {
|
|
1315
|
+
let contentToWrite = file.contents;
|
|
1316
|
+
if (file.name === "src/lib/PlaygroundLayout.svelte") {
|
|
1317
|
+
const { script: script$1, template, css } = parseSvelte(file.contents);
|
|
1318
|
+
const { generateCode: generateCode$1 } = parseSvelte("", { typescript });
|
|
1319
|
+
contentToWrite = generateCode$1({
|
|
1320
|
+
script: script$1.generateCode().replaceAll("$sv-title-$sv", playground.name).replaceAll("$sv-url-$sv", url),
|
|
1321
|
+
template: template.generateCode().replaceAll("onclick=\"{switchTheme}\"", "onclick={switchTheme}"),
|
|
1322
|
+
css: css.generateCode()
|
|
1323
|
+
});
|
|
1324
|
+
}
|
|
1325
|
+
fs.writeFileSync(path.join(cwd, file.name), contentToWrite, "utf-8");
|
|
1326
|
+
}
|
|
1327
|
+
}
|
|
1299
1328
|
const filePath = path.join(cwd, "src/routes/+page.svelte");
|
|
1300
1329
|
const content = fs.readFileSync(filePath, "utf-8");
|
|
1301
|
-
const { script, generateCode } = parseSvelte(content);
|
|
1330
|
+
const { script, generateCode } = parseSvelte(content, { typescript });
|
|
1331
|
+
addDefault(script.ast, {
|
|
1332
|
+
as: "App",
|
|
1333
|
+
from: `$lib/playground/${mainFile.name}`
|
|
1334
|
+
});
|
|
1302
1335
|
addDefault(script.ast, {
|
|
1303
|
-
|
|
1304
|
-
|
|
1336
|
+
as: "PlaygroundLayout",
|
|
1337
|
+
from: `$lib/PlaygroundLayout.svelte`
|
|
1305
1338
|
});
|
|
1306
1339
|
const newContent = generateCode({
|
|
1307
1340
|
script: script.generateCode(),
|
|
1308
|
-
template: `<
|
|
1341
|
+
template: `<PlaygroundLayout>
|
|
1342
|
+
<App />
|
|
1343
|
+
</PlaygroundLayout>`
|
|
1309
1344
|
});
|
|
1310
1345
|
fs.writeFileSync(filePath, newContent, "utf-8");
|
|
1311
1346
|
const pkgPath = path.join(cwd, "package.json");
|
|
@@ -1468,7 +1503,7 @@ async function createProject(cwd, options$1) {
|
|
|
1468
1503
|
template,
|
|
1469
1504
|
types: language
|
|
1470
1505
|
});
|
|
1471
|
-
if (options$1.fromPlayground) await createProjectFromPlayground(options$1.fromPlayground, projectPath);
|
|
1506
|
+
if (options$1.fromPlayground) await createProjectFromPlayground(options$1.fromPlayground, projectPath, language === "typescript");
|
|
1472
1507
|
T.success("Project created");
|
|
1473
1508
|
let packageManager;
|
|
1474
1509
|
let addOnNextSteps = [];
|
|
@@ -1495,12 +1530,12 @@ async function createProject(cwd, options$1) {
|
|
|
1495
1530
|
packageManager
|
|
1496
1531
|
};
|
|
1497
1532
|
}
|
|
1498
|
-
async function createProjectFromPlayground(url, cwd) {
|
|
1533
|
+
async function createProjectFromPlayground(url, cwd, typescript) {
|
|
1499
1534
|
const urlData = parsePlaygroundUrl(url);
|
|
1500
1535
|
const playground = await downloadPlaygroundData(urlData);
|
|
1501
1536
|
const dependencies = detectPlaygroundDependencies(playground.files);
|
|
1502
1537
|
const installDependencies$1 = await confirmExternalDependencies(Array.from(dependencies.keys()));
|
|
1503
|
-
setupPlaygroundProject(playground, cwd, installDependencies$1);
|
|
1538
|
+
setupPlaygroundProject(url, playground, cwd, installDependencies$1, typescript);
|
|
1504
1539
|
}
|
|
1505
1540
|
async function confirmExternalDependencies(dependencies) {
|
|
1506
1541
|
if (dependencies.length === 0) return false;
|
|
@@ -32398,4 +32398,4 @@ function to_valid_package_name(name) {
|
|
|
32398
32398
|
}
|
|
32399
32399
|
|
|
32400
32400
|
//#endregion
|
|
32401
|
-
export { AGENT_NAMES, Command, De, Element, Fe, Ge, J, Ke, MagicString, Option, T, Tag, Ue, Vu, We, __commonJS, __require, __toESM, addPnpmBuildDependencies, any, be, create, createPrinter, dedent_default, defineAddon, defineAddonOptions, detect, et$1 as et, from, getUserAgent, import_picocolors, installDependencies, installOption, isVersionUnsupportedBelow, ke, packageManagerPrompt, parseCss, parseHtml, parseHtml$1, parseJson, parseScript, parseScript$1, parseSvelte, program, require_picocolors, resolveCommand, serializeScript, stripAst, templates, up, ve, walk, ze };
|
|
32401
|
+
export { AGENT_NAMES, Command, De, Element, Fe, Ge, J, Ke, MagicString, Option, T, Tag, Ue, Vu, We, __commonJS, __require, __toESM, addPnpmBuildDependencies, any, be, create, createPrinter, dedent_default, defineAddon, defineAddonOptions, detect, dist, et$1 as et, from, getUserAgent, import_picocolors, installDependencies, installOption, isVersionUnsupportedBelow, ke, packageManagerPrompt, parseCss, parseHtml, parseHtml$1, parseJson, parseScript, parseScript$1, parseSvelte, program, require_picocolors, resolveCommand, serializeScript, stripAst, templates, up, ve, walk, ze };
|