@wix/create-new 0.0.73 → 0.0.75
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/build/{chunk-FUS6MQZW.js → chunk-SP6CBGLK.js} +2 -2
- package/build/{chunk-FUS6MQZW.js.map → chunk-SP6CBGLK.js.map} +1 -1
- package/build/{generator-2JIICGOZ.js → generator-CUTI2BWL.js} +2 -2
- package/build/index.js +103 -122
- package/build/index.js.map +1 -1
- package/package.json +2 -2
- /package/build/{generator-2JIICGOZ.js.map → generator-CUTI2BWL.js.map} +0 -0
|
@@ -13,7 +13,7 @@ import {
|
|
|
13
13
|
require_lib,
|
|
14
14
|
temporaryDirectory,
|
|
15
15
|
updateEnvFile
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-SP6CBGLK.js";
|
|
17
17
|
import {
|
|
18
18
|
__toESM,
|
|
19
19
|
init_esm_shims
|
|
@@ -115,4 +115,4 @@ async function generateApp({
|
|
|
115
115
|
export {
|
|
116
116
|
generateApp
|
|
117
117
|
};
|
|
118
|
-
//# sourceMappingURL=generator-
|
|
118
|
+
//# sourceMappingURL=generator-CUTI2BWL.js.map
|
package/build/index.js
CHANGED
|
@@ -118,7 +118,7 @@ import {
|
|
|
118
118
|
writeJson,
|
|
119
119
|
writePackageJson,
|
|
120
120
|
zod_default
|
|
121
|
-
} from "./chunk-
|
|
121
|
+
} from "./chunk-SP6CBGLK.js";
|
|
122
122
|
import {
|
|
123
123
|
__commonJS,
|
|
124
124
|
__dirname,
|
|
@@ -65643,7 +65643,7 @@ ${errorMessage2}`
|
|
|
65643
65643
|
}
|
|
65644
65644
|
);
|
|
65645
65645
|
},
|
|
65646
|
-
|
|
65646
|
+
HeadlessArgumentIsInvalid: ({ errorMessage: errorMessage2 }) => {
|
|
65647
65647
|
return () => /* @__PURE__ */ import_react83.default.createElement(
|
|
65648
65648
|
ErrorMessage,
|
|
65649
65649
|
{
|
|
@@ -81801,7 +81801,7 @@ function getTasks({
|
|
|
81801
81801
|
cause: e2
|
|
81802
81802
|
});
|
|
81803
81803
|
}
|
|
81804
|
-
const { generateApp } = await import("./generator-
|
|
81804
|
+
const { generateApp } = await import("./generator-CUTI2BWL.js");
|
|
81805
81805
|
await generateApp({
|
|
81806
81806
|
packageName,
|
|
81807
81807
|
packageFolder,
|
|
@@ -82343,22 +82343,48 @@ import process26 from "node:process";
|
|
|
82343
82343
|
|
|
82344
82344
|
// ../create-new-packages/headless-command/src/validations/validate-business-name.ts
|
|
82345
82345
|
init_esm_shims();
|
|
82346
|
+
|
|
82347
|
+
// ../create-new-packages/headless-command/src/project-slug.ts
|
|
82348
|
+
init_esm_shims();
|
|
82349
|
+
var import_kebabCase4 = __toESM(require_kebabCase(), 1);
|
|
82350
|
+
import { randomBytes as randomBytes2 } from "node:crypto";
|
|
82351
|
+
var INVALID_PROJECT_SLUG_MESSAGE = "The business name must include at least one English letter or number so we can generate a valid project URL.";
|
|
82352
|
+
function isProjectSlugValid(name) {
|
|
82353
|
+
const projectSlug = getProjectSlugBase(name);
|
|
82354
|
+
if (!projectSlug) {
|
|
82355
|
+
throw new InvalidArgumentError(INVALID_PROJECT_SLUG_MESSAGE);
|
|
82356
|
+
}
|
|
82357
|
+
}
|
|
82358
|
+
function getProjectSlugBase(name) {
|
|
82359
|
+
return (0, import_kebabCase4.default)(name).replaceAll(/[^a-z0-9-]/gi, "").replace(/^-+/, "").slice(0, 10).replace(/-+$/, "");
|
|
82360
|
+
}
|
|
82361
|
+
function generateProjectSlug(name) {
|
|
82362
|
+
const base = getProjectSlugBase(name);
|
|
82363
|
+
if (!base) {
|
|
82364
|
+
throw new Error(INVALID_PROJECT_SLUG_MESSAGE);
|
|
82365
|
+
}
|
|
82366
|
+
const salt = randomBytes2(4).toString("hex");
|
|
82367
|
+
return `${base}-${salt}`;
|
|
82368
|
+
}
|
|
82369
|
+
|
|
82370
|
+
// ../create-new-packages/headless-command/src/validations/validate-business-name.ts
|
|
82346
82371
|
var schema3 = external_exports.string().min(1).max(255);
|
|
82347
82372
|
var validateBusinessName = (value2) => {
|
|
82348
82373
|
const result = schema3.safeParse(value2);
|
|
82349
82374
|
if (!result.success) {
|
|
82350
82375
|
throw new InvalidArgumentError("The name must be 1 to 255 characters long");
|
|
82351
82376
|
}
|
|
82377
|
+
isProjectSlugValid(value2);
|
|
82352
82378
|
return value2;
|
|
82353
82379
|
};
|
|
82354
82380
|
|
|
82355
|
-
// ../create-new-packages/headless-command/src/validations/
|
|
82381
|
+
// ../create-new-packages/headless-command/src/validations/folder-name.ts
|
|
82356
82382
|
init_esm_shims();
|
|
82357
|
-
var
|
|
82358
|
-
const re = /^[a-z0-9]
|
|
82383
|
+
var validateFolderName = (value2) => {
|
|
82384
|
+
const re = /^[a-z0-9][a-z0-9-]*$/;
|
|
82359
82385
|
if (!re.test(value2)) {
|
|
82360
82386
|
throw new InvalidArgumentError(
|
|
82361
|
-
"The value must
|
|
82387
|
+
"The value must contain only lowercase letters, numbers, and hyphens."
|
|
82362
82388
|
);
|
|
82363
82389
|
}
|
|
82364
82390
|
return value2;
|
|
@@ -82542,14 +82568,7 @@ var import_variant47 = __toESM(require_lib(), 1);
|
|
|
82542
82568
|
|
|
82543
82569
|
// ../create-new-packages/headless-command/src/hooks/create-project.ts
|
|
82544
82570
|
init_esm_shims();
|
|
82545
|
-
var import_kebabCase4 = __toESM(require_kebabCase(), 1);
|
|
82546
|
-
import { randomBytes as randomBytes2 } from "node:crypto";
|
|
82547
82571
|
var DEFAULT_ENVIRONMENT_NAME2 = "system_global";
|
|
82548
|
-
function generateSlug(projectName) {
|
|
82549
|
-
const base = (0, import_kebabCase4.default)(projectName).replaceAll(/[^a-z0-9-]/gi, "").slice(0, 10).replace(/-$/, "");
|
|
82550
|
-
const salt = randomBytes2(4).toString("hex");
|
|
82551
|
-
return `${base}-${salt}`;
|
|
82552
|
-
}
|
|
82553
82572
|
function truncateName(name, maxLength) {
|
|
82554
82573
|
if (name.length > maxLength) {
|
|
82555
82574
|
return `${name.slice(0, maxLength - 3)}...`;
|
|
@@ -82563,7 +82582,7 @@ var useCreateProject = (businessId) => {
|
|
|
82563
82582
|
const { createAppProject: createAppProject2, upsertAppEnvironment: upsertAppEnvironment2 } = useBackendAsAServiceClient();
|
|
82564
82583
|
return useAsyncCallback3(
|
|
82565
82584
|
async (_2, {
|
|
82566
|
-
|
|
82585
|
+
businessName,
|
|
82567
82586
|
cloudProviders
|
|
82568
82587
|
}) => {
|
|
82569
82588
|
const { id: projectId } = await createCompanionApp();
|
|
@@ -82571,8 +82590,8 @@ var useCreateProject = (businessId) => {
|
|
|
82571
82590
|
const publicKeyAndSecret = await getAppSecret({ appId: projectId });
|
|
82572
82591
|
const appProject = await createAppProject2({
|
|
82573
82592
|
id: projectId,
|
|
82574
|
-
displayName: truncateName(
|
|
82575
|
-
slug:
|
|
82593
|
+
displayName: truncateName(businessName, 50),
|
|
82594
|
+
slug: generateProjectSlug(businessName),
|
|
82576
82595
|
cloudProvider: cloudProviders?.[0],
|
|
82577
82596
|
projectType: "HEADLESS"
|
|
82578
82597
|
});
|
|
@@ -82608,7 +82627,7 @@ var useCreateProject = (businessId) => {
|
|
|
82608
82627
|
);
|
|
82609
82628
|
const projectData = {
|
|
82610
82629
|
projectId,
|
|
82611
|
-
|
|
82630
|
+
businessName,
|
|
82612
82631
|
instanceId: appInstall.appInstance.id,
|
|
82613
82632
|
appSecret: publicKeyAndSecret.appSecret,
|
|
82614
82633
|
webhookPublicKey: publicKeyAndSecret.webhookPublicKey,
|
|
@@ -82621,12 +82640,7 @@ var useCreateProject = (businessId) => {
|
|
|
82621
82640
|
};
|
|
82622
82641
|
|
|
82623
82642
|
// ../create-new-packages/headless-command/src/components/CreateProject.tsx
|
|
82624
|
-
var CreateProject = ({
|
|
82625
|
-
onSubmit,
|
|
82626
|
-
projectName: providedProjectName,
|
|
82627
|
-
businessId,
|
|
82628
|
-
cloudProviders
|
|
82629
|
-
}) => {
|
|
82643
|
+
var CreateProject = ({ onSubmit, businessName, businessId, cloudProviders }) => {
|
|
82630
82644
|
const { status, execute } = useCreateProject(businessId);
|
|
82631
82645
|
(0, import_react139.useEffect)(() => {
|
|
82632
82646
|
if ((0, import_variant47.isType)(status, "Success")) {
|
|
@@ -82634,27 +82648,11 @@ var CreateProject = ({
|
|
|
82634
82648
|
}
|
|
82635
82649
|
}, [status, onSubmit]);
|
|
82636
82650
|
(0, import_react139.useEffect)(() => {
|
|
82637
|
-
if (
|
|
82638
|
-
void execute({
|
|
82639
|
-
}
|
|
82640
|
-
}, [providedProjectName, cloudProviders, execute]);
|
|
82641
|
-
const validate3 = (0, import_react139.useCallback)(async (projectName) => {
|
|
82642
|
-
try {
|
|
82643
|
-
validateProjectName(projectName);
|
|
82644
|
-
return true;
|
|
82645
|
-
} catch (e2) {
|
|
82646
|
-
return e2.message;
|
|
82651
|
+
if (businessName) {
|
|
82652
|
+
void execute({ businessName, cloudProviders });
|
|
82647
82653
|
}
|
|
82648
|
-
}, []);
|
|
82649
|
-
return /* @__PURE__ */ import_react139.default.createElement(import_react139.default.Fragment, null,
|
|
82650
|
-
TextInput2,
|
|
82651
|
-
{
|
|
82652
|
-
label: "Enter the name of your Custom Frontend project.",
|
|
82653
|
-
onSubmit: (projectName) => execute({ projectName, cloudProviders }),
|
|
82654
|
-
validate: validate3,
|
|
82655
|
-
inCreateFlow: true
|
|
82656
|
-
}
|
|
82657
|
-
), (0, import_variant47.match)(status, {
|
|
82654
|
+
}, [businessName, cloudProviders, execute]);
|
|
82655
|
+
return /* @__PURE__ */ import_react139.default.createElement(import_react139.default.Fragment, null, (0, import_variant47.match)(status, {
|
|
82658
82656
|
Error: () => null,
|
|
82659
82657
|
Loading: () => /* @__PURE__ */ import_react139.default.createElement(Box_default, { marginBottom: 1 }, /* @__PURE__ */ import_react139.default.createElement(Spinner2, { text: "Creating your project..." })),
|
|
82660
82658
|
Success: () => /* @__PURE__ */ import_react139.default.createElement(Box_default, { marginLeft: -2, marginBottom: 1 }, /* @__PURE__ */ import_react139.default.createElement(Alert, { type: "success" }, /* @__PURE__ */ import_react139.default.createElement(Badge, { skin: "success" }, "Success"), " ", /* @__PURE__ */ import_react139.default.createElement(Text2, null, "Project created."))),
|
|
@@ -91874,7 +91872,6 @@ async function hasAstroConfigurationFile(projectFolder) {
|
|
|
91874
91872
|
}
|
|
91875
91873
|
var LinkCommand = ({
|
|
91876
91874
|
projectFolder,
|
|
91877
|
-
projectName: preEnteredProjectName,
|
|
91878
91875
|
businessName: preEnteredBusinessName
|
|
91879
91876
|
}) => {
|
|
91880
91877
|
const [businessName, setBusinessName] = (0, import_react144.useState)(preEnteredBusinessName);
|
|
@@ -91934,7 +91931,7 @@ var LinkCommand = ({
|
|
|
91934
91931
|
CreateProject,
|
|
91935
91932
|
{
|
|
91936
91933
|
businessId,
|
|
91937
|
-
|
|
91934
|
+
businessName,
|
|
91938
91935
|
onSubmit: (data) => setProjectData(data)
|
|
91939
91936
|
}
|
|
91940
91937
|
)),
|
|
@@ -92044,23 +92041,20 @@ function parseProviderString(cloudProvider) {
|
|
|
92044
92041
|
return CloudProvider.KUBERNETES;
|
|
92045
92042
|
default:
|
|
92046
92043
|
throw new CliError({
|
|
92047
|
-
code: CliErrorCode.
|
|
92044
|
+
code: CliErrorCode.HeadlessArgumentIsInvalid({
|
|
92048
92045
|
errorMessage: `Invalid cloud provider: "${cloudProvider}".`
|
|
92049
92046
|
}),
|
|
92050
92047
|
cause: null
|
|
92051
92048
|
});
|
|
92052
92049
|
}
|
|
92053
92050
|
}
|
|
92054
|
-
function parseCloudProviders(
|
|
92051
|
+
function parseCloudProviders() {
|
|
92055
92052
|
const envProviders = process.env.WIX_CLOUD_PROVIDERS;
|
|
92056
92053
|
if (envProviders) {
|
|
92057
|
-
const providers = envProviders.split(",").map((
|
|
92054
|
+
const providers = envProviders.split(",").map((provider) => provider.trim()).filter(Boolean);
|
|
92058
92055
|
return providers.map(parseProviderString);
|
|
92059
92056
|
}
|
|
92060
|
-
|
|
92061
|
-
return [CloudProvider.CLOUD_FLARE];
|
|
92062
|
-
}
|
|
92063
|
-
return [parseProviderString(cloudProvider)];
|
|
92057
|
+
return [CloudProvider.CLOUD_FLARE];
|
|
92064
92058
|
}
|
|
92065
92059
|
async function parseTemplateOptions2(options) {
|
|
92066
92060
|
if (options.siteTemplate) {
|
|
@@ -92091,57 +92085,54 @@ async function parseTemplateOptions2(options) {
|
|
|
92091
92085
|
return TemplateSource2.HeadlessApp(appTemplate);
|
|
92092
92086
|
}
|
|
92093
92087
|
}
|
|
92094
|
-
async function
|
|
92095
|
-
const
|
|
92096
|
-
if (
|
|
92097
|
-
if (!await validateDirectory2(join12(targetParentFolder2,
|
|
92088
|
+
async function parseFolderNameOptions(targetParentFolder2, options) {
|
|
92089
|
+
const folderName = options.folderName;
|
|
92090
|
+
if (folderName) {
|
|
92091
|
+
if (!await validateDirectory2(join12(targetParentFolder2, folderName))) {
|
|
92098
92092
|
throw new CliError({
|
|
92099
|
-
code: CliErrorCode.
|
|
92100
|
-
errorMessage: `"${
|
|
92093
|
+
code: CliErrorCode.HeadlessArgumentIsInvalid({
|
|
92094
|
+
errorMessage: `"${folderName}" directory is not empty`
|
|
92101
92095
|
}),
|
|
92102
92096
|
cause: void 0
|
|
92103
92097
|
});
|
|
92104
92098
|
}
|
|
92105
|
-
const npmValidationErrors = await validatePackageName2(
|
|
92099
|
+
const npmValidationErrors = await validatePackageName2(folderName);
|
|
92106
92100
|
if ((0, import_variant52.isType)(npmValidationErrors, "Error")) {
|
|
92107
92101
|
throw new CliError({
|
|
92108
|
-
code: CliErrorCode.
|
|
92109
|
-
errorMessage: `Invalid package name "${
|
|
92102
|
+
code: CliErrorCode.HeadlessArgumentIsInvalid({
|
|
92103
|
+
errorMessage: `Invalid package name "${folderName}". Fix the following issues: ${npmValidationErrors.payload.join(", ")}`
|
|
92110
92104
|
}),
|
|
92111
92105
|
cause: void 0
|
|
92112
92106
|
});
|
|
92113
92107
|
}
|
|
92114
|
-
return
|
|
92108
|
+
return folderName;
|
|
92115
92109
|
}
|
|
92116
92110
|
return;
|
|
92117
92111
|
}
|
|
92118
92112
|
var processPublish = ({
|
|
92119
92113
|
template,
|
|
92120
|
-
|
|
92114
|
+
folderName,
|
|
92121
92115
|
businessName,
|
|
92122
92116
|
publish
|
|
92123
92117
|
}) => {
|
|
92124
|
-
if (template &&
|
|
92118
|
+
if (template && folderName && businessName) {
|
|
92125
92119
|
return publish ?? false;
|
|
92126
92120
|
}
|
|
92127
92121
|
return publish;
|
|
92128
92122
|
};
|
|
92129
92123
|
async function parseCommandOptions2(targetParentFolder2, options) {
|
|
92130
92124
|
const template = await parseTemplateOptions2(options);
|
|
92131
|
-
const
|
|
92132
|
-
|
|
92133
|
-
options
|
|
92134
|
-
);
|
|
92135
|
-
const cloudProviders = parseCloudProviders(options.cloudProvider);
|
|
92125
|
+
const cloudProviders = parseCloudProviders();
|
|
92126
|
+
const folderName = await parseFolderNameOptions(targetParentFolder2, options);
|
|
92136
92127
|
const publish = processPublish({
|
|
92137
92128
|
template,
|
|
92138
|
-
|
|
92129
|
+
folderName,
|
|
92139
92130
|
businessName: options.businessName,
|
|
92140
92131
|
publish: options.publish
|
|
92141
92132
|
});
|
|
92142
92133
|
return {
|
|
92143
92134
|
template,
|
|
92144
|
-
|
|
92135
|
+
folderName,
|
|
92145
92136
|
businessName: options.businessName,
|
|
92146
92137
|
cloudProviders,
|
|
92147
92138
|
publish
|
|
@@ -92184,19 +92175,6 @@ function validateTemplateParams2(value2) {
|
|
|
92184
92175
|
}
|
|
92185
92176
|
}
|
|
92186
92177
|
|
|
92187
|
-
// ../create-new-packages/headless-command/src/validations/validate-cloud-provider.ts
|
|
92188
|
-
init_esm_shims();
|
|
92189
|
-
var validateCloudProvider = (value2) => {
|
|
92190
|
-
const allowedValues = ["cloudflare", "kubernetes"];
|
|
92191
|
-
const normalizedValue = value2.toLowerCase();
|
|
92192
|
-
if (!allowedValues.includes(normalizedValue)) {
|
|
92193
|
-
throw new Error(
|
|
92194
|
-
`Invalid cloud provider: ${value2}. Allowed values are: ${allowedValues.join(", ")}`
|
|
92195
|
-
);
|
|
92196
|
-
}
|
|
92197
|
-
return normalizedValue;
|
|
92198
|
-
};
|
|
92199
|
-
|
|
92200
92178
|
// ../create-new-packages/headless-command/src/components/ProcessCommand.tsx
|
|
92201
92179
|
init_esm_shims();
|
|
92202
92180
|
var import_react155 = __toESM(require_react(), 1);
|
|
@@ -92214,11 +92192,16 @@ init_esm_shims();
|
|
|
92214
92192
|
var import_react145 = __toESM(require_react(), 1);
|
|
92215
92193
|
var import_variant53 = __toESM(require_lib(), 1);
|
|
92216
92194
|
import { join as join13 } from "node:path";
|
|
92217
|
-
var
|
|
92218
|
-
|
|
92219
|
-
|
|
92195
|
+
var validateAppFolder = async (targetParentFolder2, appFolder) => {
|
|
92196
|
+
try {
|
|
92197
|
+
validateFolderName(appFolder);
|
|
92198
|
+
} catch (error) {
|
|
92199
|
+
return error.message;
|
|
92200
|
+
}
|
|
92201
|
+
if (!await validateDirectory2(join13(targetParentFolder2, appFolder))) {
|
|
92202
|
+
return `Provided directory "${appFolder}" is not empty`;
|
|
92220
92203
|
}
|
|
92221
|
-
const npmValidationErrors = await validatePackageName2(
|
|
92204
|
+
const npmValidationErrors = await validatePackageName2(appFolder);
|
|
92222
92205
|
return (0, import_variant53.match)(npmValidationErrors, {
|
|
92223
92206
|
Ok: () => true,
|
|
92224
92207
|
Error: ({ payload: payload7 }) => `Invalid folder name. Fix the following issues: ${payload7.join(", ")}`
|
|
@@ -92226,7 +92209,7 @@ var validateAppDirectory = async (targetParentFolder2, packageName) => {
|
|
|
92226
92209
|
};
|
|
92227
92210
|
var ChooseFolder = ({ initialFolderName, targetParentFolder: targetParentFolder2, onSubmit }) => {
|
|
92228
92211
|
const validate3 = (0, import_react145.useCallback)(
|
|
92229
|
-
async (
|
|
92212
|
+
async (appFolder) => validateAppFolder(targetParentFolder2, appFolder),
|
|
92230
92213
|
[targetParentFolder2]
|
|
92231
92214
|
);
|
|
92232
92215
|
return /* @__PURE__ */ import_react145.default.createElement(
|
|
@@ -93660,7 +93643,7 @@ var CreateHeadlessSiteCommand = ({
|
|
|
93660
93643
|
commandOptions,
|
|
93661
93644
|
template: defaultTemplate,
|
|
93662
93645
|
publish,
|
|
93663
|
-
|
|
93646
|
+
folderName: defaultFolderName,
|
|
93664
93647
|
businessName: defaultBusinessName,
|
|
93665
93648
|
cloudProviders
|
|
93666
93649
|
}) => {
|
|
@@ -93669,7 +93652,7 @@ var CreateHeadlessSiteCommand = ({
|
|
|
93669
93652
|
);
|
|
93670
93653
|
const [selectedTemplate, setSelectedTemplate] = (0, import_react154.useState)(defaultTemplate);
|
|
93671
93654
|
const [folderName, setFolderName] = (0, import_react154.useState)(
|
|
93672
|
-
|
|
93655
|
+
defaultFolderName
|
|
93673
93656
|
);
|
|
93674
93657
|
const [businessId, setBusinessId] = (0, import_react154.useState)();
|
|
93675
93658
|
const [projectData, setProjectData] = (0, import_react154.useState)();
|
|
@@ -93727,10 +93710,10 @@ var CreateHeadlessSiteCommand = ({
|
|
|
93727
93710
|
onDone: ({ businessId: businessId2 }) => setBusinessId(businessId2)
|
|
93728
93711
|
}
|
|
93729
93712
|
)),
|
|
93730
|
-
!
|
|
93713
|
+
!defaultFolderName && businessName && selectedTemplate && businessId && /* @__PURE__ */ import_react154.default.createElement(
|
|
93731
93714
|
ChooseFolder,
|
|
93732
93715
|
{
|
|
93733
|
-
initialFolderName: (0, import_kebabCase5.default)(businessName),
|
|
93716
|
+
initialFolderName: folderName ?? (0, import_kebabCase5.default)(businessName),
|
|
93734
93717
|
targetParentFolder: targetParentFolder2,
|
|
93735
93718
|
onSubmit: ({ folderName: folderName2 }) => setFolderName(folderName2)
|
|
93736
93719
|
}
|
|
@@ -93739,7 +93722,7 @@ var CreateHeadlessSiteCommand = ({
|
|
|
93739
93722
|
CreateProject,
|
|
93740
93723
|
{
|
|
93741
93724
|
businessId,
|
|
93742
|
-
|
|
93725
|
+
businessName,
|
|
93743
93726
|
cloudProviders,
|
|
93744
93727
|
onSubmit: (data) => setProjectData(data)
|
|
93745
93728
|
}
|
|
@@ -93794,14 +93777,14 @@ var ProcessCommand = ({ targetParentFolder: targetParentFolder2, commandOptions
|
|
|
93794
93777
|
targetParentFolder2,
|
|
93795
93778
|
commandOptions
|
|
93796
93779
|
);
|
|
93797
|
-
if (result.
|
|
93798
|
-
const dirValidationResult = await
|
|
93780
|
+
if (result.folderName) {
|
|
93781
|
+
const dirValidationResult = await validateAppFolder(
|
|
93799
93782
|
targetParentFolder2,
|
|
93800
|
-
result.
|
|
93783
|
+
result.folderName
|
|
93801
93784
|
);
|
|
93802
93785
|
if (dirValidationResult !== true) {
|
|
93803
93786
|
throw new CliError({
|
|
93804
|
-
code: CliErrorCode.
|
|
93787
|
+
code: CliErrorCode.HeadlessArgumentIsInvalid({
|
|
93805
93788
|
errorMessage: dirValidationResult
|
|
93806
93789
|
}),
|
|
93807
93790
|
cause: void 0
|
|
@@ -93814,7 +93797,7 @@ var ProcessCommand = ({ targetParentFolder: targetParentFolder2, commandOptions
|
|
|
93814
93797
|
Error: () => null,
|
|
93815
93798
|
Loading: () => /* @__PURE__ */ import_react155.default.createElement(Spinner2, { text: "Loading..." }),
|
|
93816
93799
|
Success: ({
|
|
93817
|
-
result: { template,
|
|
93800
|
+
result: { template, folderName, businessName, cloudProviders, publish }
|
|
93818
93801
|
}) => {
|
|
93819
93802
|
return /* @__PURE__ */ import_react155.default.createElement(
|
|
93820
93803
|
CreateHeadlessSiteCommand,
|
|
@@ -93822,7 +93805,7 @@ var ProcessCommand = ({ targetParentFolder: targetParentFolder2, commandOptions
|
|
|
93822
93805
|
targetParentFolder: targetParentFolder2,
|
|
93823
93806
|
commandOptions,
|
|
93824
93807
|
template,
|
|
93825
|
-
|
|
93808
|
+
folderName,
|
|
93826
93809
|
businessName,
|
|
93827
93810
|
cloudProviders,
|
|
93828
93811
|
publish
|
|
@@ -93940,7 +93923,18 @@ var InitHeadlessSiteCommand = ({ targetParentFolder: targetParentFolder2 }) => {
|
|
|
93940
93923
|
});
|
|
93941
93924
|
}
|
|
93942
93925
|
const name = basename(targetParentFolder2).trim();
|
|
93943
|
-
|
|
93926
|
+
const businessName = (0, import_startCase.default)(name).slice(0, 255);
|
|
93927
|
+
try {
|
|
93928
|
+
validateBusinessName(businessName);
|
|
93929
|
+
} catch (error) {
|
|
93930
|
+
throw new CliError({
|
|
93931
|
+
code: CliErrorCode.BusinessNameArgumentIsInvalid({
|
|
93932
|
+
errorMessage: error.message
|
|
93933
|
+
}),
|
|
93934
|
+
cause: void 0
|
|
93935
|
+
});
|
|
93936
|
+
}
|
|
93937
|
+
return { businessName };
|
|
93944
93938
|
}, []);
|
|
93945
93939
|
return (0, import_variant62.match)(status, {
|
|
93946
93940
|
Error: () => null,
|
|
@@ -93968,7 +93962,7 @@ var InitHeadlessSiteCommand = ({ targetParentFolder: targetParentFolder2 }) => {
|
|
|
93968
93962
|
CreateProject,
|
|
93969
93963
|
{
|
|
93970
93964
|
businessId,
|
|
93971
|
-
|
|
93965
|
+
businessName,
|
|
93972
93966
|
onSubmit: (data) => setProjectData(data)
|
|
93973
93967
|
}
|
|
93974
93968
|
)),
|
|
@@ -94053,19 +94047,12 @@ var getHeadlessCommand = ({
|
|
|
94053
94047
|
"--business-name <business-name>",
|
|
94054
94048
|
"The name of your business"
|
|
94055
94049
|
).argParser(validateBusinessName)
|
|
94056
|
-
).addOption(
|
|
94057
|
-
new Option(
|
|
94058
|
-
"--project-name <project-name>",
|
|
94059
|
-
"The name of your Custom Frontend project"
|
|
94060
|
-
).argParser(validateProjectName)
|
|
94061
94050
|
).action(async (options, command) => {
|
|
94062
94051
|
errorReporter2.setContext("Command Info", {
|
|
94063
94052
|
Arguments: command.args,
|
|
94064
94053
|
Options: command.opts()
|
|
94065
94054
|
});
|
|
94066
|
-
assertInteractiveTerminalIfNeeded(
|
|
94067
|
-
Boolean(options.businessName && options.projectName)
|
|
94068
|
-
);
|
|
94055
|
+
assertInteractiveTerminalIfNeeded(Boolean(options.businessName));
|
|
94069
94056
|
const { biLogger, reportCommandStartEvent: reportCommandStartEvent2 } = await createBiLogger3({
|
|
94070
94057
|
errorReporter: errorReporter2,
|
|
94071
94058
|
cliVersion,
|
|
@@ -94081,7 +94068,6 @@ var getHeadlessCommand = ({
|
|
|
94081
94068
|
/* @__PURE__ */ import_react159.default.createElement(BiProvider, { value: biLogger }, /* @__PURE__ */ import_react159.default.createElement(ErrorReporterProvider, { value: errorReporter2 }, /* @__PURE__ */ import_react159.default.createElement(PanoramaProvider, { value: panorama2 }, /* @__PURE__ */ import_react159.default.createElement(
|
|
94082
94069
|
LinkCommand,
|
|
94083
94070
|
{
|
|
94084
|
-
projectName: options.projectName,
|
|
94085
94071
|
businessName: options.businessName,
|
|
94086
94072
|
projectFolder: targetParentFolder2
|
|
94087
94073
|
}
|
|
@@ -94133,14 +94119,9 @@ var getHeadlessCommand = ({
|
|
|
94133
94119
|
).argParser(validateBusinessName)
|
|
94134
94120
|
).addOption(
|
|
94135
94121
|
new Option(
|
|
94136
|
-
"--
|
|
94137
|
-
"The name of your
|
|
94138
|
-
).argParser(
|
|
94139
|
-
).addOption(
|
|
94140
|
-
new Option(
|
|
94141
|
-
"--cloud-provider <cloud-provider>",
|
|
94142
|
-
"Cloud provider for deployment"
|
|
94143
|
-
).argParser(validateCloudProvider).hideHelp()
|
|
94122
|
+
"--folder-name <folder-name>",
|
|
94123
|
+
"The name of your project folder"
|
|
94124
|
+
).argParser(validateFolderName)
|
|
94144
94125
|
).addOption(
|
|
94145
94126
|
new Option(
|
|
94146
94127
|
"--no-publish",
|
|
@@ -94155,7 +94136,7 @@ var getHeadlessCommand = ({
|
|
|
94155
94136
|
});
|
|
94156
94137
|
assertInteractiveTerminalIfNeeded(
|
|
94157
94138
|
Boolean(
|
|
94158
|
-
options.siteTemplate && options.businessName && options.
|
|
94139
|
+
options.siteTemplate && options.businessName && options.folderName
|
|
94159
94140
|
)
|
|
94160
94141
|
);
|
|
94161
94142
|
const { biLogger, reportCommandStartEvent: reportCommandStartEvent2 } = await createBiLogger3({
|
|
@@ -94196,7 +94177,7 @@ import { randomUUID as randomUUID3 } from "node:crypto";
|
|
|
94196
94177
|
var package_default = {
|
|
94197
94178
|
name: "@wix/create-new",
|
|
94198
94179
|
description: "General entry point for creating Wix projects",
|
|
94199
|
-
version: "0.0.
|
|
94180
|
+
version: "0.0.75",
|
|
94200
94181
|
bin: "bin/index.cjs",
|
|
94201
94182
|
devDependencies: {
|
|
94202
94183
|
"@commander-js/extra-typings": "^13.0.0",
|