@wix/create-new 0.0.74 → 0.0.76

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.
@@ -13,7 +13,7 @@ import {
13
13
  require_lib,
14
14
  temporaryDirectory,
15
15
  updateEnvFile
16
- } from "./chunk-FUS6MQZW.js";
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-2JIICGOZ.js.map
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-FUS6MQZW.js";
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
- ProjectNameArgumentIsInvalid: ({ errorMessage: errorMessage2 }) => {
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-2JIICGOZ.js");
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/validate-project-name.ts
82381
+ // ../create-new-packages/headless-command/src/validations/folder-name.ts
82356
82382
  init_esm_shims();
82357
- var validateProjectName = (value2) => {
82358
- const re = /^[a-z0-9]{3,20}$/;
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 be 3 to 20 characters long and contain only lowercase letters, numbers."
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)}...`;
@@ -82557,22 +82576,33 @@ function truncateName(name, maxLength) {
82557
82576
  return name;
82558
82577
  }
82559
82578
  var useCreateProject = (businessId) => {
82560
- const { updateOAuthApp: updateOAuthApp2, getAppSecret, createCompanionApp, installApp: installApp2 } = useDevCenterClient({
82579
+ const {
82580
+ updateOAuthApp: updateOAuthApp2,
82581
+ getAppSecret,
82582
+ createCompanionApp,
82583
+ installApp: installApp2,
82584
+ setNamespace: setNamespace2
82585
+ } = useDevCenterClient({
82561
82586
  siteId: businessId
82562
82587
  });
82563
82588
  const { createAppProject: createAppProject2, upsertAppEnvironment: upsertAppEnvironment2 } = useBackendAsAServiceClient();
82564
82589
  return useAsyncCallback3(
82565
82590
  async (_2, {
82566
- projectName,
82591
+ businessName,
82567
82592
  cloudProviders
82568
82593
  }) => {
82569
82594
  const { id: projectId } = await createCompanionApp();
82595
+ const slug = generateProjectSlug(businessName);
82596
+ await setNamespace2({
82597
+ appId: projectId,
82598
+ namespace: slug
82599
+ });
82570
82600
  const appInstall = await installApp2(businessId, projectId);
82571
82601
  const publicKeyAndSecret = await getAppSecret({ appId: projectId });
82572
82602
  const appProject = await createAppProject2({
82573
82603
  id: projectId,
82574
- displayName: truncateName(projectName, 50),
82575
- slug: generateSlug(projectName),
82604
+ displayName: truncateName(businessName, 50),
82605
+ slug,
82576
82606
  cloudProvider: cloudProviders?.[0],
82577
82607
  projectType: "HEADLESS"
82578
82608
  });
@@ -82608,7 +82638,7 @@ var useCreateProject = (businessId) => {
82608
82638
  );
82609
82639
  const projectData = {
82610
82640
  projectId,
82611
- projectName,
82641
+ businessName,
82612
82642
  instanceId: appInstall.appInstance.id,
82613
82643
  appSecret: publicKeyAndSecret.appSecret,
82614
82644
  webhookPublicKey: publicKeyAndSecret.webhookPublicKey,
@@ -82621,12 +82651,7 @@ var useCreateProject = (businessId) => {
82621
82651
  };
82622
82652
 
82623
82653
  // ../create-new-packages/headless-command/src/components/CreateProject.tsx
82624
- var CreateProject = ({
82625
- onSubmit,
82626
- projectName: providedProjectName,
82627
- businessId,
82628
- cloudProviders
82629
- }) => {
82654
+ var CreateProject = ({ onSubmit, businessName, businessId, cloudProviders }) => {
82630
82655
  const { status, execute } = useCreateProject(businessId);
82631
82656
  (0, import_react139.useEffect)(() => {
82632
82657
  if ((0, import_variant47.isType)(status, "Success")) {
@@ -82634,27 +82659,11 @@ var CreateProject = ({
82634
82659
  }
82635
82660
  }, [status, onSubmit]);
82636
82661
  (0, import_react139.useEffect)(() => {
82637
- if (providedProjectName) {
82638
- void execute({ projectName: providedProjectName, cloudProviders });
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;
82647
- }
82648
- }, []);
82649
- return /* @__PURE__ */ import_react139.default.createElement(import_react139.default.Fragment, null, !providedProjectName && /* @__PURE__ */ import_react139.default.createElement(
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
82662
+ if (businessName) {
82663
+ void execute({ businessName, cloudProviders });
82656
82664
  }
82657
- ), (0, import_variant47.match)(status, {
82665
+ }, [businessName, cloudProviders, execute]);
82666
+ return /* @__PURE__ */ import_react139.default.createElement(import_react139.default.Fragment, null, (0, import_variant47.match)(status, {
82658
82667
  Error: () => null,
82659
82668
  Loading: () => /* @__PURE__ */ import_react139.default.createElement(Box_default, { marginBottom: 1 }, /* @__PURE__ */ import_react139.default.createElement(Spinner2, { text: "Creating your project..." })),
82660
82669
  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 +91883,6 @@ async function hasAstroConfigurationFile(projectFolder) {
91874
91883
  }
91875
91884
  var LinkCommand = ({
91876
91885
  projectFolder,
91877
- projectName: preEnteredProjectName,
91878
91886
  businessName: preEnteredBusinessName
91879
91887
  }) => {
91880
91888
  const [businessName, setBusinessName] = (0, import_react144.useState)(preEnteredBusinessName);
@@ -91934,7 +91942,7 @@ var LinkCommand = ({
91934
91942
  CreateProject,
91935
91943
  {
91936
91944
  businessId,
91937
- projectName: preEnteredProjectName,
91945
+ businessName,
91938
91946
  onSubmit: (data) => setProjectData(data)
91939
91947
  }
91940
91948
  )),
@@ -92044,7 +92052,7 @@ function parseProviderString(cloudProvider) {
92044
92052
  return CloudProvider.KUBERNETES;
92045
92053
  default:
92046
92054
  throw new CliError({
92047
- code: CliErrorCode.ProjectNameArgumentIsInvalid({
92055
+ code: CliErrorCode.HeadlessArgumentIsInvalid({
92048
92056
  errorMessage: `Invalid cloud provider: "${cloudProvider}".`
92049
92057
  }),
92050
92058
  cause: null
@@ -92088,57 +92096,54 @@ async function parseTemplateOptions2(options) {
92088
92096
  return TemplateSource2.HeadlessApp(appTemplate);
92089
92097
  }
92090
92098
  }
92091
- async function parseProjectNameOptions(targetParentFolder2, options) {
92092
- const projectName = options.projectName;
92093
- if (projectName) {
92094
- if (!await validateDirectory2(join12(targetParentFolder2, projectName))) {
92099
+ async function parseFolderNameOptions(targetParentFolder2, options) {
92100
+ const folderName = options.folderName;
92101
+ if (folderName) {
92102
+ if (!await validateDirectory2(join12(targetParentFolder2, folderName))) {
92095
92103
  throw new CliError({
92096
- code: CliErrorCode.ProjectNameArgumentIsInvalid({
92097
- errorMessage: `"${projectName}" directory is not empty`
92104
+ code: CliErrorCode.HeadlessArgumentIsInvalid({
92105
+ errorMessage: `"${folderName}" directory is not empty`
92098
92106
  }),
92099
92107
  cause: void 0
92100
92108
  });
92101
92109
  }
92102
- const npmValidationErrors = await validatePackageName2(projectName);
92110
+ const npmValidationErrors = await validatePackageName2(folderName);
92103
92111
  if ((0, import_variant52.isType)(npmValidationErrors, "Error")) {
92104
92112
  throw new CliError({
92105
- code: CliErrorCode.ProjectNameArgumentIsInvalid({
92106
- errorMessage: `Invalid package name "${projectName}". Fix the following issues: ${npmValidationErrors.payload.join(", ")}`
92113
+ code: CliErrorCode.HeadlessArgumentIsInvalid({
92114
+ errorMessage: `Invalid package name "${folderName}". Fix the following issues: ${npmValidationErrors.payload.join(", ")}`
92107
92115
  }),
92108
92116
  cause: void 0
92109
92117
  });
92110
92118
  }
92111
- return projectName;
92119
+ return folderName;
92112
92120
  }
92113
92121
  return;
92114
92122
  }
92115
92123
  var processPublish = ({
92116
92124
  template,
92117
- projectName,
92125
+ folderName,
92118
92126
  businessName,
92119
92127
  publish
92120
92128
  }) => {
92121
- if (template && projectName && businessName) {
92129
+ if (template && folderName && businessName) {
92122
92130
  return publish ?? false;
92123
92131
  }
92124
92132
  return publish;
92125
92133
  };
92126
92134
  async function parseCommandOptions2(targetParentFolder2, options) {
92127
92135
  const template = await parseTemplateOptions2(options);
92128
- const projectName = await parseProjectNameOptions(
92129
- targetParentFolder2,
92130
- options
92131
- );
92132
92136
  const cloudProviders = parseCloudProviders();
92137
+ const folderName = await parseFolderNameOptions(targetParentFolder2, options);
92133
92138
  const publish = processPublish({
92134
92139
  template,
92135
- projectName,
92140
+ folderName,
92136
92141
  businessName: options.businessName,
92137
92142
  publish: options.publish
92138
92143
  });
92139
92144
  return {
92140
92145
  template,
92141
- projectName,
92146
+ folderName,
92142
92147
  businessName: options.businessName,
92143
92148
  cloudProviders,
92144
92149
  publish
@@ -92198,11 +92203,16 @@ init_esm_shims();
92198
92203
  var import_react145 = __toESM(require_react(), 1);
92199
92204
  var import_variant53 = __toESM(require_lib(), 1);
92200
92205
  import { join as join13 } from "node:path";
92201
- var validateAppDirectory = async (targetParentFolder2, packageName) => {
92202
- if (!await validateDirectory2(join13(targetParentFolder2, packageName))) {
92203
- return `Provided directory "${packageName}" is not empty`;
92206
+ var validateAppFolder = async (targetParentFolder2, appFolder) => {
92207
+ try {
92208
+ validateFolderName(appFolder);
92209
+ } catch (error) {
92210
+ return error.message;
92211
+ }
92212
+ if (!await validateDirectory2(join13(targetParentFolder2, appFolder))) {
92213
+ return `Provided directory "${appFolder}" is not empty`;
92204
92214
  }
92205
- const npmValidationErrors = await validatePackageName2(packageName);
92215
+ const npmValidationErrors = await validatePackageName2(appFolder);
92206
92216
  return (0, import_variant53.match)(npmValidationErrors, {
92207
92217
  Ok: () => true,
92208
92218
  Error: ({ payload: payload7 }) => `Invalid folder name. Fix the following issues: ${payload7.join(", ")}`
@@ -92210,7 +92220,7 @@ var validateAppDirectory = async (targetParentFolder2, packageName) => {
92210
92220
  };
92211
92221
  var ChooseFolder = ({ initialFolderName, targetParentFolder: targetParentFolder2, onSubmit }) => {
92212
92222
  const validate3 = (0, import_react145.useCallback)(
92213
- async (packageName) => validateAppDirectory(targetParentFolder2, packageName),
92223
+ async (appFolder) => validateAppFolder(targetParentFolder2, appFolder),
92214
92224
  [targetParentFolder2]
92215
92225
  );
92216
92226
  return /* @__PURE__ */ import_react145.default.createElement(
@@ -93644,7 +93654,7 @@ var CreateHeadlessSiteCommand = ({
93644
93654
  commandOptions,
93645
93655
  template: defaultTemplate,
93646
93656
  publish,
93647
- projectName: defaultProjectName,
93657
+ folderName: defaultFolderName,
93648
93658
  businessName: defaultBusinessName,
93649
93659
  cloudProviders
93650
93660
  }) => {
@@ -93653,7 +93663,7 @@ var CreateHeadlessSiteCommand = ({
93653
93663
  );
93654
93664
  const [selectedTemplate, setSelectedTemplate] = (0, import_react154.useState)(defaultTemplate);
93655
93665
  const [folderName, setFolderName] = (0, import_react154.useState)(
93656
- defaultProjectName
93666
+ defaultFolderName
93657
93667
  );
93658
93668
  const [businessId, setBusinessId] = (0, import_react154.useState)();
93659
93669
  const [projectData, setProjectData] = (0, import_react154.useState)();
@@ -93711,10 +93721,10 @@ var CreateHeadlessSiteCommand = ({
93711
93721
  onDone: ({ businessId: businessId2 }) => setBusinessId(businessId2)
93712
93722
  }
93713
93723
  )),
93714
- !defaultProjectName && businessName && selectedTemplate && businessId && /* @__PURE__ */ import_react154.default.createElement(
93724
+ !defaultFolderName && businessName && selectedTemplate && businessId && /* @__PURE__ */ import_react154.default.createElement(
93715
93725
  ChooseFolder,
93716
93726
  {
93717
- initialFolderName: (0, import_kebabCase5.default)(businessName),
93727
+ initialFolderName: folderName ?? (0, import_kebabCase5.default)(businessName),
93718
93728
  targetParentFolder: targetParentFolder2,
93719
93729
  onSubmit: ({ folderName: folderName2 }) => setFolderName(folderName2)
93720
93730
  }
@@ -93723,7 +93733,7 @@ var CreateHeadlessSiteCommand = ({
93723
93733
  CreateProject,
93724
93734
  {
93725
93735
  businessId,
93726
- projectName: businessName,
93736
+ businessName,
93727
93737
  cloudProviders,
93728
93738
  onSubmit: (data) => setProjectData(data)
93729
93739
  }
@@ -93778,14 +93788,14 @@ var ProcessCommand = ({ targetParentFolder: targetParentFolder2, commandOptions
93778
93788
  targetParentFolder2,
93779
93789
  commandOptions
93780
93790
  );
93781
- if (result.projectName) {
93782
- const dirValidationResult = await validateAppDirectory(
93791
+ if (result.folderName) {
93792
+ const dirValidationResult = await validateAppFolder(
93783
93793
  targetParentFolder2,
93784
- result.projectName
93794
+ result.folderName
93785
93795
  );
93786
93796
  if (dirValidationResult !== true) {
93787
93797
  throw new CliError({
93788
- code: CliErrorCode.ProjectNameArgumentIsInvalid({
93798
+ code: CliErrorCode.HeadlessArgumentIsInvalid({
93789
93799
  errorMessage: dirValidationResult
93790
93800
  }),
93791
93801
  cause: void 0
@@ -93798,7 +93808,7 @@ var ProcessCommand = ({ targetParentFolder: targetParentFolder2, commandOptions
93798
93808
  Error: () => null,
93799
93809
  Loading: () => /* @__PURE__ */ import_react155.default.createElement(Spinner2, { text: "Loading..." }),
93800
93810
  Success: ({
93801
- result: { template, projectName, businessName, cloudProviders, publish }
93811
+ result: { template, folderName, businessName, cloudProviders, publish }
93802
93812
  }) => {
93803
93813
  return /* @__PURE__ */ import_react155.default.createElement(
93804
93814
  CreateHeadlessSiteCommand,
@@ -93806,7 +93816,7 @@ var ProcessCommand = ({ targetParentFolder: targetParentFolder2, commandOptions
93806
93816
  targetParentFolder: targetParentFolder2,
93807
93817
  commandOptions,
93808
93818
  template,
93809
- projectName,
93819
+ folderName,
93810
93820
  businessName,
93811
93821
  cloudProviders,
93812
93822
  publish
@@ -93924,7 +93934,18 @@ var InitHeadlessSiteCommand = ({ targetParentFolder: targetParentFolder2 }) => {
93924
93934
  });
93925
93935
  }
93926
93936
  const name = basename(targetParentFolder2).trim();
93927
- return { businessName: (0, import_startCase.default)(name).slice(0, 255) };
93937
+ const businessName = (0, import_startCase.default)(name).slice(0, 255);
93938
+ try {
93939
+ validateBusinessName(businessName);
93940
+ } catch (error) {
93941
+ throw new CliError({
93942
+ code: CliErrorCode.BusinessNameArgumentIsInvalid({
93943
+ errorMessage: error.message
93944
+ }),
93945
+ cause: void 0
93946
+ });
93947
+ }
93948
+ return { businessName };
93928
93949
  }, []);
93929
93950
  return (0, import_variant62.match)(status, {
93930
93951
  Error: () => null,
@@ -93952,7 +93973,7 @@ var InitHeadlessSiteCommand = ({ targetParentFolder: targetParentFolder2 }) => {
93952
93973
  CreateProject,
93953
93974
  {
93954
93975
  businessId,
93955
- projectName: businessName,
93976
+ businessName,
93956
93977
  onSubmit: (data) => setProjectData(data)
93957
93978
  }
93958
93979
  )),
@@ -94037,19 +94058,12 @@ var getHeadlessCommand = ({
94037
94058
  "--business-name <business-name>",
94038
94059
  "The name of your business"
94039
94060
  ).argParser(validateBusinessName)
94040
- ).addOption(
94041
- new Option(
94042
- "--project-name <project-name>",
94043
- "The name of your Custom Frontend project"
94044
- ).argParser(validateProjectName)
94045
94061
  ).action(async (options, command) => {
94046
94062
  errorReporter2.setContext("Command Info", {
94047
94063
  Arguments: command.args,
94048
94064
  Options: command.opts()
94049
94065
  });
94050
- assertInteractiveTerminalIfNeeded(
94051
- Boolean(options.businessName && options.projectName)
94052
- );
94066
+ assertInteractiveTerminalIfNeeded(Boolean(options.businessName));
94053
94067
  const { biLogger, reportCommandStartEvent: reportCommandStartEvent2 } = await createBiLogger3({
94054
94068
  errorReporter: errorReporter2,
94055
94069
  cliVersion,
@@ -94065,7 +94079,6 @@ var getHeadlessCommand = ({
94065
94079
  /* @__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(
94066
94080
  LinkCommand,
94067
94081
  {
94068
- projectName: options.projectName,
94069
94082
  businessName: options.businessName,
94070
94083
  projectFolder: targetParentFolder2
94071
94084
  }
@@ -94117,9 +94130,9 @@ var getHeadlessCommand = ({
94117
94130
  ).argParser(validateBusinessName)
94118
94131
  ).addOption(
94119
94132
  new Option(
94120
- "--project-name <project-name>",
94121
- "The name of your Custom Frontend project"
94122
- ).argParser(validateProjectName)
94133
+ "--folder-name <folder-name>",
94134
+ "The name of your project folder"
94135
+ ).argParser(validateFolderName)
94123
94136
  ).addOption(
94124
94137
  new Option(
94125
94138
  "--no-publish",
@@ -94134,7 +94147,7 @@ var getHeadlessCommand = ({
94134
94147
  });
94135
94148
  assertInteractiveTerminalIfNeeded(
94136
94149
  Boolean(
94137
- options.siteTemplate && options.businessName && options.projectName
94150
+ options.siteTemplate && options.businessName && options.folderName
94138
94151
  )
94139
94152
  );
94140
94153
  const { biLogger, reportCommandStartEvent: reportCommandStartEvent2 } = await createBiLogger3({
@@ -94175,7 +94188,7 @@ import { randomUUID as randomUUID3 } from "node:crypto";
94175
94188
  var package_default = {
94176
94189
  name: "@wix/create-new",
94177
94190
  description: "General entry point for creating Wix projects",
94178
- version: "0.0.74",
94191
+ version: "0.0.76",
94179
94192
  bin: "bin/index.cjs",
94180
94193
  devDependencies: {
94181
94194
  "@commander-js/extra-typings": "^13.0.0",