@wix/create-new 0.0.27 → 0.0.28

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.
@@ -0,0 +1,118 @@
1
+ import { createRequire as _createRequire } from 'node:module';
2
+ const require = _createRequire(import.meta.url);
3
+ import {
4
+ CliError,
5
+ CliErrorCode,
6
+ RepoType,
7
+ generator,
8
+ getEnvFilePath,
9
+ getTestOverrides,
10
+ gitClone,
11
+ pathExists,
12
+ require_is_git_url,
13
+ require_lib,
14
+ temporaryDirectory,
15
+ updateEnvFile
16
+ } from "./chunk-OVBB732R.js";
17
+ import {
18
+ __toESM,
19
+ init_esm_shims
20
+ } from "./chunk-4EFJZ3GQ.js";
21
+
22
+ // ../create-new-packages/app-command/src/services/generator/index.ts
23
+ init_esm_shims();
24
+
25
+ // ../create-new-packages/app-command/src/services/generator/generator-service.ts
26
+ init_esm_shims();
27
+ var import_variant = __toESM(require_lib(), 1);
28
+ import { randomUUID } from "node:crypto";
29
+
30
+ // ../create-new-packages/app-command/src/services/generator/template-fetcher.ts
31
+ init_esm_shims();
32
+ import { join } from "node:path";
33
+ import { rm } from "node:fs/promises";
34
+ var import_is_git_url = __toESM(require_is_git_url(), 1);
35
+ async function downloadAndExtractRepo(url, branch) {
36
+ const repoDir = temporaryDirectory({ prefix: "wix-create-app" });
37
+ try {
38
+ await gitClone(url, repoDir, branch);
39
+ await rm(join(repoDir, ".git"), { recursive: true, force: true });
40
+ return repoDir;
41
+ } catch (e) {
42
+ throw new CliError({
43
+ code: CliErrorCode.FailedToCloneRepo(),
44
+ cause: e
45
+ });
46
+ }
47
+ }
48
+ async function fetchTemplate(url, path = ".", branch) {
49
+ if (!(0, import_is_git_url.default)(url)) {
50
+ throw new CliError({
51
+ code: CliErrorCode.InvalidGitUrl({ url }),
52
+ info: { url },
53
+ cause: null
54
+ });
55
+ }
56
+ const repoDir = await downloadAndExtractRepo(url, branch);
57
+ const templateDirInRepo = join(repoDir, path);
58
+ if (!await pathExists(templateDirInRepo)) {
59
+ throw new CliError({
60
+ code: CliErrorCode.TemplatePathNotFound({ templatePath: path }),
61
+ info: { templatePath: path },
62
+ cause: null
63
+ });
64
+ }
65
+ return templateDirInRepo;
66
+ }
67
+
68
+ // ../create-new-packages/app-command/src/services/generator/generator-service.ts
69
+ var { wixCliDependencyVersion, wixCliAppDependencyVersion } = getTestOverrides();
70
+ async function generateApp({
71
+ packageName,
72
+ packageFolder,
73
+ appData,
74
+ packageManager,
75
+ repoType,
76
+ template,
77
+ templateParams,
78
+ ideForMcp,
79
+ environmentVariables
80
+ }) {
81
+ const model = {
82
+ packageName,
83
+ devCenter: appData,
84
+ deps: {
85
+ "@wix/cli": wixCliDependencyVersion ?? "^1.0.0",
86
+ "@wix/cli-app": wixCliAppDependencyVersion ?? "^1.0.0"
87
+ },
88
+ packageManager: {
89
+ name: packageManager.name,
90
+ installCmd: packageManager.getInstallCmd(),
91
+ runCmd: packageManager.getRunCmd()
92
+ },
93
+ isMonorepo: (0, import_variant.isType)(repoType, RepoType.Monorepo),
94
+ templateParams,
95
+ generatePageID: () => randomUUID(),
96
+ ideForMcpType: ideForMcp?.type
97
+ };
98
+ const templateFolder = await (0, import_variant.match)(template, {
99
+ App: ({ payload: { cliCloneData } }) => fetchTemplate(
100
+ cliCloneData.repositoryUrl,
101
+ cliCloneData.pathInRepository,
102
+ "astro-app-template"
103
+ ),
104
+ GitRepo: ({ url, path }) => fetchTemplate(url, path),
105
+ Local: ({ path }) => path,
106
+ Default: ({ path }) => path
107
+ });
108
+ await generator({
109
+ template: templateFolder,
110
+ cwd: packageFolder,
111
+ data: model
112
+ });
113
+ await updateEnvFile(getEnvFilePath(packageFolder), environmentVariables);
114
+ }
115
+ export {
116
+ generateApp
117
+ };
118
+ //# sourceMappingURL=generator-MFLMNWRL.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../create-new-packages/app-command/src/services/generator/index.ts","../../create-new-packages/app-command/src/services/generator/generator-service.ts","../../create-new-packages/app-command/src/services/generator/template-fetcher.ts"],"sourcesContent":["export { generateApp } from './generator-service.js';\n","import { randomUUID } from 'node:crypto';\nimport { isType, match } from 'variant';\nimport { generator } from '@wix/gena';\nimport { getTestOverrides } from '@wix/cli-test-overrides';\nimport type { IPackageManager } from '@wix/package-manager';\nimport { RepoType } from '@wix/package-manager';\nimport { updateEnvFile } from '@wix/cli-fs';\nimport { getEnvFilePath } from '@wix/cli-astro-definitions';\nimport type { AppData } from '../../types.js';\nimport type { TemplateSource } from '../../parse-command-options.js';\nimport type { TemplateParams } from '../../validations/index.js';\nimport { fetchTemplate } from './template-fetcher.js';\nimport type { IdeForMcp } from '../../components/mcp/ConfigMcp.js';\n\ninterface GenerateAppOptions {\n packageName: string;\n packageFolder: string;\n packageManager: IPackageManager;\n repoType: RepoType;\n appData: AppData;\n template: TemplateSource;\n templateParams?: TemplateParams;\n ideForMcp?: IdeForMcp | void;\n environmentVariables: Record<string, string>;\n}\n\ninterface TemplateModelJSON {\n packageName: string;\n devCenter: { appId: string; appName: string };\n packageManager: { name: string; installCmd: string; runCmd: string };\n isMonorepo: boolean;\n deps: Record<string, string>;\n generatePageID: () => string;\n templateParams?: TemplateParams;\n ideForMcpType?: string;\n}\n\nconst { wixCliDependencyVersion, wixCliAppDependencyVersion } =\n getTestOverrides();\n\nexport async function generateApp({\n packageName,\n packageFolder,\n appData,\n packageManager,\n repoType,\n template,\n templateParams,\n ideForMcp,\n environmentVariables,\n}: GenerateAppOptions): Promise<void> {\n const model: TemplateModelJSON = {\n packageName,\n devCenter: appData,\n deps: {\n '@wix/cli': wixCliDependencyVersion ?? '^1.0.0',\n '@wix/cli-app': wixCliAppDependencyVersion ?? '^1.0.0',\n },\n packageManager: {\n name: packageManager.name,\n installCmd: packageManager.getInstallCmd(),\n runCmd: packageManager.getRunCmd(),\n },\n isMonorepo: isType(repoType, RepoType.Monorepo),\n templateParams,\n generatePageID: () => randomUUID(),\n ideForMcpType: ideForMcp?.type,\n };\n\n const templateFolder = await match(template, {\n App: ({ payload: { cliCloneData } }) =>\n fetchTemplate(\n cliCloneData.repositoryUrl,\n cliCloneData.pathInRepository,\n 'astro-app-template'\n ),\n GitRepo: ({ url, path }) => fetchTemplate(url, path),\n Local: ({ path }) => path,\n Default: ({ path }) => path,\n });\n\n await generator({\n template: templateFolder,\n cwd: packageFolder,\n data: model,\n });\n\n await updateEnvFile(getEnvFilePath(packageFolder), environmentVariables);\n}\n","import { join } from 'node:path';\nimport { rm } from 'node:fs/promises';\nimport { temporaryDirectory } from 'tempy';\nimport isGitUrl from 'is-git-url';\nimport { pathExists } from '@wix/cli-fs';\nimport { CliError, CliErrorCode } from '@wix/cli-error';\nimport { gitClone } from '@wix/package-manager';\n\nasync function downloadAndExtractRepo(url: string, branch?: string) {\n const repoDir = temporaryDirectory({ prefix: 'wix-create-app' });\n\n try {\n await gitClone(url, repoDir, branch);\n await rm(join(repoDir, '.git'), { recursive: true, force: true });\n\n return repoDir;\n } catch (e) {\n throw new CliError({\n code: CliErrorCode.FailedToCloneRepo(),\n cause: e,\n });\n }\n}\n\nexport async function fetchTemplate(url: string, path = '.', branch?: string) {\n if (!isGitUrl(url)) {\n throw new CliError({\n code: CliErrorCode.InvalidGitUrl({ url }),\n info: { url },\n cause: null,\n });\n }\n\n const repoDir = await downloadAndExtractRepo(url, branch);\n const templateDirInRepo = join(repoDir, path);\n\n if (!(await pathExists(templateDirInRepo))) {\n throw new CliError({\n code: CliErrorCode.TemplatePathNotFound({ templatePath: path }),\n info: { templatePath: path },\n cause: null,\n });\n }\n\n return templateDirInRepo;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA;;;ACAA;AACA,qBAA8B;AAD9B,SAAS,kBAAkB;;;ACA3B;AAAA,SAAS,YAAY;AACrB,SAAS,UAAU;AAEnB,wBAAqB;AAKrB,eAAe,uBAAuB,KAAa,QAAiB;AAClE,QAAM,UAAU,mBAAmB,EAAE,QAAQ,iBAAiB,CAAC;AAE/D,MAAI;AACF,UAAM,SAAS,KAAK,SAAS,MAAM;AACnC,UAAM,GAAG,KAAK,SAAS,MAAM,GAAG,EAAE,WAAW,MAAM,OAAO,KAAK,CAAC;AAEhE,WAAO;AAAA,EACT,SAAS,GAAG;AACV,UAAM,IAAI,SAAS;AAAA,MACjB,MAAM,aAAa,kBAAkB;AAAA,MACrC,OAAO;AAAA,IACT,CAAC;AAAA,EACH;AACF;AAEA,eAAsB,cAAc,KAAa,OAAO,KAAK,QAAiB;AAC5E,MAAI,KAAC,kBAAAA,SAAS,GAAG,GAAG;AAClB,UAAM,IAAI,SAAS;AAAA,MACjB,MAAM,aAAa,cAAc,EAAE,IAAI,CAAC;AAAA,MACxC,MAAM,EAAE,IAAI;AAAA,MACZ,OAAO;AAAA,IACT,CAAC;AAAA,EACH;AAEA,QAAM,UAAU,MAAM,uBAAuB,KAAK,MAAM;AACxD,QAAM,oBAAoB,KAAK,SAAS,IAAI;AAE5C,MAAI,CAAE,MAAM,WAAW,iBAAiB,GAAI;AAC1C,UAAM,IAAI,SAAS;AAAA,MACjB,MAAM,aAAa,qBAAqB,EAAE,cAAc,KAAK,CAAC;AAAA,MAC9D,MAAM,EAAE,cAAc,KAAK;AAAA,MAC3B,OAAO;AAAA,IACT,CAAC;AAAA,EACH;AAEA,SAAO;AACT;;;ADRA,IAAM,EAAE,yBAAyB,2BAA2B,IAC1D,iBAAiB;AAEnB,eAAsB,YAAY;AAAA,EAChC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAAsC;AACpC,QAAM,QAA2B;AAAA,IAC/B;AAAA,IACA,WAAW;AAAA,IACX,MAAM;AAAA,MACJ,YAAY,2BAA2B;AAAA,MACvC,gBAAgB,8BAA8B;AAAA,IAChD;AAAA,IACA,gBAAgB;AAAA,MACd,MAAM,eAAe;AAAA,MACrB,YAAY,eAAe,cAAc;AAAA,MACzC,QAAQ,eAAe,UAAU;AAAA,IACnC;AAAA,IACA,gBAAY,uBAAO,UAAU,SAAS,QAAQ;AAAA,IAC9C;AAAA,IACA,gBAAgB,MAAM,WAAW;AAAA,IACjC,eAAe,WAAW;AAAA,EAC5B;AAEA,QAAM,iBAAiB,UAAM,sBAAM,UAAU;AAAA,IAC3C,KAAK,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,MAChC;AAAA,MACE,aAAa;AAAA,MACb,aAAa;AAAA,MACb;AAAA,IACF;AAAA,IACF,SAAS,CAAC,EAAE,KAAK,KAAK,MAAM,cAAc,KAAK,IAAI;AAAA,IACnD,OAAO,CAAC,EAAE,KAAK,MAAM;AAAA,IACrB,SAAS,CAAC,EAAE,KAAK,MAAM;AAAA,EACzB,CAAC;AAED,QAAM,UAAU;AAAA,IACd,UAAU;AAAA,IACV,KAAK;AAAA,IACL,MAAM;AAAA,EACR,CAAC;AAED,QAAM,cAAc,eAAe,aAAa,GAAG,oBAAoB;AACzE;","names":["isGitUrl"]}