@nextsparkjs/cli 0.1.0-beta.77 → 0.1.0-beta.79
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/cli.js +23 -35
- package/package.json +1 -1
package/dist/cli.js
CHANGED
|
@@ -531,7 +531,7 @@ function validateSlug(slug) {
|
|
|
531
531
|
return true;
|
|
532
532
|
}
|
|
533
533
|
async function promptProjectInfo() {
|
|
534
|
-
showSection("Project Information",
|
|
534
|
+
showSection("Project Information", 2, 10);
|
|
535
535
|
const projectName = await input({
|
|
536
536
|
message: "What is your project name?",
|
|
537
537
|
default: "My SaaS App",
|
|
@@ -569,7 +569,7 @@ var PROJECT_TYPE_OPTIONS = [
|
|
|
569
569
|
}
|
|
570
570
|
];
|
|
571
571
|
async function promptProjectType() {
|
|
572
|
-
showSection("Project Type",
|
|
572
|
+
showSection("Project Type", 1, 10);
|
|
573
573
|
const projectType = await select({
|
|
574
574
|
message: "What type of project do you want to create?",
|
|
575
575
|
choices: PROJECT_TYPE_OPTIONS,
|
|
@@ -1148,8 +1148,8 @@ import { confirm as confirm4, input as input3 } from "@inquirer/prompts";
|
|
|
1148
1148
|
|
|
1149
1149
|
// src/wizard/prompts/index.ts
|
|
1150
1150
|
async function runAllPrompts() {
|
|
1151
|
-
const projectInfo = await promptProjectInfo();
|
|
1152
1151
|
const projectTypeConfig = await promptProjectType();
|
|
1152
|
+
const projectInfo = await promptProjectInfo();
|
|
1153
1153
|
const teamConfig = await promptTeamConfig();
|
|
1154
1154
|
const i18nConfig = await promptI18nConfig();
|
|
1155
1155
|
const billingConfig = await promptBillingConfig();
|
|
@@ -1172,8 +1172,8 @@ async function runAllPrompts() {
|
|
|
1172
1172
|
};
|
|
1173
1173
|
}
|
|
1174
1174
|
async function runQuickPrompts() {
|
|
1175
|
-
const projectInfo = await promptProjectInfo();
|
|
1176
1175
|
const projectTypeConfig = await promptProjectType();
|
|
1176
|
+
const projectInfo = await promptProjectInfo();
|
|
1177
1177
|
const teamConfig = await promptTeamConfig();
|
|
1178
1178
|
const i18nConfig = await promptI18nConfig();
|
|
1179
1179
|
const billingConfig = await promptBillingConfig();
|
|
@@ -1196,8 +1196,8 @@ async function runQuickPrompts() {
|
|
|
1196
1196
|
};
|
|
1197
1197
|
}
|
|
1198
1198
|
async function runExpertPrompts() {
|
|
1199
|
-
const projectInfo = await promptProjectInfo();
|
|
1200
1199
|
const projectTypeConfig = await promptProjectType();
|
|
1200
|
+
const projectInfo = await promptProjectInfo();
|
|
1201
1201
|
const teamConfig = await promptTeamConfig();
|
|
1202
1202
|
const i18nConfig = await promptI18nConfig();
|
|
1203
1203
|
const billingConfig = await promptBillingConfig();
|
|
@@ -2930,7 +2930,8 @@ async function copyProjectFiles() {
|
|
|
2930
2930
|
{ src: "i18n.ts", dest: "i18n.ts", force: true },
|
|
2931
2931
|
{ src: "pnpm-workspace.yaml", dest: "pnpm-workspace.yaml", force: true },
|
|
2932
2932
|
// Enable workspace for themes/plugins - REQUIRED
|
|
2933
|
-
|
|
2933
|
+
// Note: .npmrc is NOT copied for web-only projects (not needed, pnpm default hoisting works fine)
|
|
2934
|
+
// For monorepo projects, monorepo-generator.ts creates a specific .npmrc with expo/react-native patterns
|
|
2934
2935
|
{ src: "tsconfig.cypress.json", dest: "tsconfig.cypress.json", force: false },
|
|
2935
2936
|
{ src: "cypress.d.ts", dest: "cypress.d.ts", force: false },
|
|
2936
2937
|
{ src: "eslint.config.mjs", dest: "eslint.config.mjs", force: false },
|
|
@@ -3463,22 +3464,6 @@ async function runWizard(options = { mode: "interactive" }) {
|
|
|
3463
3464
|
try {
|
|
3464
3465
|
let selectedTheme = null;
|
|
3465
3466
|
let selectedPlugins = [];
|
|
3466
|
-
if (options.theme !== void 0) {
|
|
3467
|
-
selectedTheme = options.theme === "none" ? null : options.theme;
|
|
3468
|
-
showInfo(`Reference theme: ${selectedTheme || "None"}`);
|
|
3469
|
-
} else if (!options.preset && options.mode !== "quick") {
|
|
3470
|
-
selectedTheme = await promptThemeSelection();
|
|
3471
|
-
}
|
|
3472
|
-
if (options.plugins !== void 0) {
|
|
3473
|
-
selectedPlugins = options.plugins;
|
|
3474
|
-
if (selectedPlugins.length > 0) {
|
|
3475
|
-
showInfo(`Selected plugins: ${selectedPlugins.join(", ")}`);
|
|
3476
|
-
}
|
|
3477
|
-
} else if (!options.preset && options.mode !== "quick" && !options.yes) {
|
|
3478
|
-
selectedPlugins = await promptPluginsSelection(selectedTheme);
|
|
3479
|
-
} else if (selectedTheme) {
|
|
3480
|
-
selectedPlugins = getRequiredPlugins(selectedTheme);
|
|
3481
|
-
}
|
|
3482
3467
|
let config2;
|
|
3483
3468
|
if (options.preset) {
|
|
3484
3469
|
config2 = await runPresetMode(options.preset, options);
|
|
@@ -3496,6 +3481,22 @@ async function runWizard(options = { mode: "interactive" }) {
|
|
|
3496
3481
|
break;
|
|
3497
3482
|
}
|
|
3498
3483
|
}
|
|
3484
|
+
if (options.theme !== void 0) {
|
|
3485
|
+
selectedTheme = options.theme === "none" ? null : options.theme;
|
|
3486
|
+
showInfo(`Reference theme: ${selectedTheme || "None"}`);
|
|
3487
|
+
} else if (!options.preset && options.mode !== "quick") {
|
|
3488
|
+
selectedTheme = await promptThemeSelection();
|
|
3489
|
+
}
|
|
3490
|
+
if (options.plugins !== void 0) {
|
|
3491
|
+
selectedPlugins = options.plugins;
|
|
3492
|
+
if (selectedPlugins.length > 0) {
|
|
3493
|
+
showInfo(`Selected plugins: ${selectedPlugins.join(", ")}`);
|
|
3494
|
+
}
|
|
3495
|
+
} else if (!options.preset && options.mode !== "quick" && !options.yes) {
|
|
3496
|
+
selectedPlugins = await promptPluginsSelection(selectedTheme);
|
|
3497
|
+
} else if (selectedTheme) {
|
|
3498
|
+
selectedPlugins = getRequiredPlugins(selectedTheme);
|
|
3499
|
+
}
|
|
3499
3500
|
showConfigSummary(config2);
|
|
3500
3501
|
showConfigPreview(config2);
|
|
3501
3502
|
if (!options.yes) {
|
|
@@ -3510,7 +3511,6 @@ async function runWizard(options = { mode: "interactive" }) {
|
|
|
3510
3511
|
process.exit(0);
|
|
3511
3512
|
}
|
|
3512
3513
|
}
|
|
3513
|
-
await copyNpmrc();
|
|
3514
3514
|
console.log("");
|
|
3515
3515
|
const coreInstalled = await installCore();
|
|
3516
3516
|
if (!coreInstalled) {
|
|
@@ -3789,18 +3789,6 @@ async function installCore() {
|
|
|
3789
3789
|
return false;
|
|
3790
3790
|
}
|
|
3791
3791
|
}
|
|
3792
|
-
async function copyNpmrc() {
|
|
3793
|
-
const npmrcPath = join7(process.cwd(), ".npmrc");
|
|
3794
|
-
if (existsSync7(npmrcPath)) {
|
|
3795
|
-
return;
|
|
3796
|
-
}
|
|
3797
|
-
const npmrcContent = `# Hoist @nextsparkjs/core dependencies so they're accessible from the project
|
|
3798
|
-
# This is required for pnpm to make peer dependencies available
|
|
3799
|
-
public-hoist-pattern[]=*
|
|
3800
|
-
`;
|
|
3801
|
-
const { writeFileSync: writeFileSync4 } = await import("fs");
|
|
3802
|
-
writeFileSync4(npmrcPath, npmrcContent);
|
|
3803
|
-
}
|
|
3804
3792
|
|
|
3805
3793
|
// src/commands/init.ts
|
|
3806
3794
|
function getWizardMode(options) {
|