create-gui 8.2.1 → 8.3.2

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.
Files changed (125) hide show
  1. package/dist/cjs/create-gui-constants.js +5 -0
  2. package/dist/cjs/create-gui-constants.js.map +1 -0
  3. package/dist/cjs/helpers/asciiArts.js +43 -0
  4. package/dist/cjs/helpers/asciiArts.js.map +1 -0
  5. package/dist/cjs/helpers/cloneStarter.js +192 -0
  6. package/dist/cjs/helpers/cloneStarter.js.map +1 -0
  7. package/dist/cjs/helpers/getProjectName.js +46 -0
  8. package/dist/cjs/helpers/getProjectName.js.map +1 -0
  9. package/dist/cjs/helpers/getTemplateInfo.js +31 -0
  10. package/dist/cjs/helpers/getTemplateInfo.js.map +1 -0
  11. package/dist/cjs/helpers/installDependencies.js +26 -0
  12. package/dist/cjs/helpers/installDependencies.js.map +1 -0
  13. package/dist/cjs/helpers/rainbowChalk.js +20 -0
  14. package/dist/cjs/helpers/rainbowChalk.js.map +1 -0
  15. package/dist/cjs/helpers/validateNpmPackage.js +16 -0
  16. package/dist/cjs/helpers/validateNpmPackage.js.map +1 -0
  17. package/dist/cjs/here.js +6 -0
  18. package/dist/cjs/here.js.map +1 -0
  19. package/dist/cjs/index.js +165 -0
  20. package/dist/cjs/index.js.map +1 -0
  21. package/dist/cjs/manifest.js +8 -0
  22. package/dist/cjs/manifest.js.map +1 -0
  23. package/dist/cjs/package.json +1 -0
  24. package/dist/cjs/steps/expo-router.js +18 -0
  25. package/dist/cjs/steps/expo-router.js.map +1 -0
  26. package/dist/cjs/steps/remix.js +22 -0
  27. package/dist/cjs/steps/remix.js.map +1 -0
  28. package/dist/cjs/steps/starter-free.js +35 -0
  29. package/dist/cjs/steps/starter-free.js.map +1 -0
  30. package/dist/cjs/steps/takeout.js +174 -0
  31. package/dist/cjs/steps/takeout.js.map +1 -0
  32. package/dist/cjs/steps/types.js +3 -0
  33. package/dist/cjs/steps/types.js.map +1 -0
  34. package/dist/cjs/templates.js +97 -0
  35. package/dist/cjs/templates.js.map +1 -0
  36. package/dist/esm/create-gui-constants.js +2 -0
  37. package/dist/esm/create-gui-constants.js.map +1 -0
  38. package/dist/esm/helpers/asciiArts.js +39 -0
  39. package/dist/esm/helpers/asciiArts.js.map +1 -0
  40. package/dist/esm/helpers/cloneStarter.js +187 -0
  41. package/dist/esm/helpers/cloneStarter.js.map +1 -0
  42. package/dist/esm/helpers/getProjectName.js +41 -0
  43. package/dist/esm/helpers/getProjectName.js.map +1 -0
  44. package/dist/esm/helpers/getTemplateInfo.js +26 -0
  45. package/dist/esm/helpers/getTemplateInfo.js.map +1 -0
  46. package/dist/esm/helpers/installDependencies.js +22 -0
  47. package/dist/esm/helpers/installDependencies.js.map +1 -0
  48. package/dist/esm/helpers/rainbowChalk.js +15 -0
  49. package/dist/esm/helpers/rainbowChalk.js.map +1 -0
  50. package/dist/esm/helpers/validateNpmPackage.js +12 -0
  51. package/dist/esm/helpers/validateNpmPackage.js.map +1 -0
  52. package/dist/esm/here.js +3 -0
  53. package/dist/esm/here.js.map +1 -0
  54. package/dist/esm/index.js +162 -0
  55. package/dist/esm/index.js.map +1 -0
  56. package/dist/esm/manifest.js +5 -0
  57. package/dist/esm/manifest.js.map +1 -0
  58. package/dist/esm/steps/expo-router.js +15 -0
  59. package/dist/esm/steps/expo-router.js.map +1 -0
  60. package/dist/esm/steps/remix.js +19 -0
  61. package/dist/esm/steps/remix.js.map +1 -0
  62. package/dist/esm/steps/starter-free.js +32 -0
  63. package/dist/esm/steps/starter-free.js.map +1 -0
  64. package/dist/esm/steps/takeout.js +171 -0
  65. package/dist/esm/steps/takeout.js.map +1 -0
  66. package/dist/esm/steps/types.js +2 -0
  67. package/dist/esm/steps/types.js.map +1 -0
  68. package/dist/esm/templates.js +93 -0
  69. package/dist/esm/templates.js.map +1 -0
  70. package/package.json +38 -30
  71. package/src/create-gui-constants.ts +1 -0
  72. package/src/helpers/asciiArts.ts +49 -0
  73. package/src/helpers/cloneStarter.ts +220 -0
  74. package/src/helpers/getProjectName.ts +48 -0
  75. package/src/helpers/getTemplateInfo.ts +34 -0
  76. package/src/helpers/installDependencies.ts +23 -0
  77. package/src/helpers/rainbowChalk.ts +17 -0
  78. package/src/helpers/validateNpmPackage.ts +16 -0
  79. package/src/here.cjs.ts +3 -0
  80. package/src/here.ts +2 -0
  81. package/src/index.ts +223 -0
  82. package/src/manifest.ts +10 -0
  83. package/src/steps/expo-router.ts +20 -0
  84. package/src/steps/remix.ts +24 -0
  85. package/src/steps/starter-free.ts +40 -0
  86. package/src/steps/takeout.ts +210 -0
  87. package/src/steps/types.ts +5 -0
  88. package/src/templates.ts +116 -0
  89. package/types/create-gui-constants.d.ts +2 -0
  90. package/types/create-gui-constants.d.ts.map +1 -0
  91. package/types/helpers/asciiArts.d.ts +5 -0
  92. package/types/helpers/asciiArts.d.ts.map +1 -0
  93. package/types/helpers/cloneStarter.d.ts +3 -0
  94. package/types/helpers/cloneStarter.d.ts.map +1 -0
  95. package/types/helpers/getProjectName.d.ts +2 -0
  96. package/types/helpers/getProjectName.d.ts.map +1 -0
  97. package/types/helpers/getTemplateInfo.d.ts +3 -0
  98. package/types/helpers/getTemplateInfo.d.ts.map +1 -0
  99. package/types/helpers/installDependencies.d.ts +2 -0
  100. package/types/helpers/installDependencies.d.ts.map +1 -0
  101. package/types/helpers/rainbowChalk.d.ts +3 -0
  102. package/types/helpers/rainbowChalk.d.ts.map +1 -0
  103. package/types/helpers/validateNpmPackage.d.ts +5 -0
  104. package/types/helpers/validateNpmPackage.d.ts.map +1 -0
  105. package/types/here.d.ts +2 -0
  106. package/types/here.d.ts.map +1 -0
  107. package/types/index.d.ts +3 -0
  108. package/types/index.d.ts.map +1 -0
  109. package/types/manifest.d.ts +5 -0
  110. package/types/manifest.d.ts.map +1 -0
  111. package/types/steps/expo-router.d.ts +4 -0
  112. package/types/steps/expo-router.d.ts.map +1 -0
  113. package/types/steps/remix.d.ts +4 -0
  114. package/types/steps/remix.d.ts.map +1 -0
  115. package/types/steps/starter-free.d.ts +4 -0
  116. package/types/steps/starter-free.d.ts.map +1 -0
  117. package/types/steps/takeout.d.ts +4 -0
  118. package/types/steps/takeout.d.ts.map +1 -0
  119. package/types/steps/types.d.ts +6 -0
  120. package/types/steps/types.d.ts.map +1 -0
  121. package/types/templates.d.ts +16 -0
  122. package/types/templates.d.ts.map +1 -0
  123. package/dist/index.cjs +0 -929
  124. package/dist/index.native.js +0 -930
  125. package/run.js +0 -12
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.IS_TEST = void 0;
4
+ exports.IS_TEST = process.env.NODE_ENV === 'test';
5
+ //# sourceMappingURL=create-gui-constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-gui-constants.js","sourceRoot":"","sources":["../../src/create-gui-constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM,CAAA"}
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.hanzoguiDuckAsciiArt = exports.takeoutAsciiArt = exports.hanzoguiRainbowAsciiArt = exports.hanzoguiAsciiArt = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const chalk_1 = tslib_1.__importDefault(require("chalk"));
6
+ const rainbowChalk_ts_1 = require("./rainbowChalk.js");
7
+ exports.hanzoguiAsciiArt = `▀█▀ ▄▀█ █▀▄▀█ ▄▀█ █▀▀ █ █ █
8
+ █  █▀█ █ ▀ █ █▀█ █▄█ █▄█ █`;
9
+ exports.hanzoguiRainbowAsciiArt = (function () {
10
+ const char0_1 = chalk_1.default.hex(rainbowChalk_ts_1.rainbowColors[0])('▀█▀');
11
+ const char0_2 = chalk_1.default.hex(rainbowChalk_ts_1.rainbowColors[0])(' █ ');
12
+ const char1_1 = chalk_1.default.hex(rainbowChalk_ts_1.rainbowColors[1])('▄▀█');
13
+ const char1_2 = chalk_1.default.hex(rainbowChalk_ts_1.rainbowColors[1])('█▀█');
14
+ const char2_1 = chalk_1.default.hex(rainbowChalk_ts_1.rainbowColors[2])('█▀▄▀█');
15
+ const char2_2 = chalk_1.default.hex(rainbowChalk_ts_1.rainbowColors[2])('█ ▀ █');
16
+ const char3_1 = chalk_1.default.hex(rainbowChalk_ts_1.rainbowColors[3])('▄▀█');
17
+ const char3_2 = chalk_1.default.hex(rainbowChalk_ts_1.rainbowColors[3])('█▀█');
18
+ const char4_1 = chalk_1.default.hex(rainbowChalk_ts_1.rainbowColors[4])('█▀▀');
19
+ const char4_2 = chalk_1.default.hex(rainbowChalk_ts_1.rainbowColors[4])('█▄█');
20
+ const char5_1 = chalk_1.default.hex(rainbowChalk_ts_1.rainbowColors[5])('█ █');
21
+ const char5_2 = chalk_1.default.hex(rainbowChalk_ts_1.rainbowColors[5])('█▄█');
22
+ const char6_1 = chalk_1.default.hex(rainbowChalk_ts_1.rainbowColors[6])('█');
23
+ const char6_2 = chalk_1.default.hex(rainbowChalk_ts_1.rainbowColors[6])('█');
24
+ return `${char0_1} ${char1_1} ${char2_1} ${char3_1} ${char4_1} ${char5_1} ${char6_1}
25
+ ${char0_2} ${char1_2} ${char2_2} ${char3_2} ${char4_2} ${char5_2} ${char6_2}
26
+ `;
27
+ })();
28
+ exports.takeoutAsciiArt = `████████╗░█████╗░██╗░░██╗███████╗░█████╗░██╗░░░██╗████████╗
29
+ ╚══██╔══╝██╔══██╗██║░██╔╝██╔════╝██╔══██╗██║░░░██║╚══██╔══╝
30
+ ░░░██║░░░███████║█████═╝░█████╗░░██║░░██║██║░░░██║░░░██║░░░
31
+ ░░░██║░░░██╔══██║██╔═██╗░██╔══╝░░██║░░██║██║░░░██║░░░██║░░░
32
+ ░░░██║░░░██║░░██║██║░╚██╗███████╗╚█████╔╝╚██████╔╝░░░██║░░░
33
+ ░░░╚═╝░░░╚═╝░░╚═╝╚═╝░░╚═╝╚══════╝░╚════╝░░╚═════╝░░░░╚═╝░░░`;
34
+ exports.hanzoguiDuckAsciiArt = ` ████████████
35
+ ██ ██
36
+ ██ ██ ██████
37
+ ██ ██ ██
38
+ ██ ████████
39
+ ██ ██
40
+ ██ ████
41
+ ██ ██
42
+ ██ ██ `;
43
+ //# sourceMappingURL=asciiArts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"asciiArts.js","sourceRoot":"","sources":["../../../src/helpers/asciiArts.ts"],"names":[],"mappings":";;;;AAAA,0DAAyB;AAEzB,uDAAiD;AAEpC,QAAA,gBAAgB,GAAG;4BACJ,CAAA;AAEf,QAAA,uBAAuB,GAAG,CAAC;IACtC,MAAM,OAAO,GAAG,eAAK,CAAC,GAAG,CAAC,+BAAa,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;IAClD,MAAM,OAAO,GAAG,eAAK,CAAC,GAAG,CAAC,+BAAa,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;IAElD,MAAM,OAAO,GAAG,eAAK,CAAC,GAAG,CAAC,+BAAa,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;IAClD,MAAM,OAAO,GAAG,eAAK,CAAC,GAAG,CAAC,+BAAa,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;IAElD,MAAM,OAAO,GAAG,eAAK,CAAC,GAAG,CAAC,+BAAa,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;IACpD,MAAM,OAAO,GAAG,eAAK,CAAC,GAAG,CAAC,+BAAa,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;IAEpD,MAAM,OAAO,GAAG,eAAK,CAAC,GAAG,CAAC,+BAAa,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;IAClD,MAAM,OAAO,GAAG,eAAK,CAAC,GAAG,CAAC,+BAAa,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;IAElD,MAAM,OAAO,GAAG,eAAK,CAAC,GAAG,CAAC,+BAAa,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;IAClD,MAAM,OAAO,GAAG,eAAK,CAAC,GAAG,CAAC,+BAAa,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;IAElD,MAAM,OAAO,GAAG,eAAK,CAAC,GAAG,CAAC,+BAAa,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;IAClD,MAAM,OAAO,GAAG,eAAK,CAAC,GAAG,CAAC,+BAAa,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;IAElD,MAAM,OAAO,GAAG,eAAK,CAAC,GAAG,CAAC,+BAAa,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;IAChD,MAAM,OAAO,GAAG,eAAK,CAAC,GAAG,CAAC,+BAAa,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;IAChD,OAAO,GAAG,OAAO,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO;EACnF,OAAO,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO;CAC1E,CAAA;AACD,CAAC,CAAC,EAAE,CAAA;AAES,QAAA,eAAe,GAAG;;;;;4DAK6B,CAAA;AAE/C,QAAA,oBAAoB,GAAG;;;;;;;;+BAQL,CAAA"}
@@ -0,0 +1,192 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.cloneStarter = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const node_child_process_1 = require("node:child_process");
6
+ const node_fs_1 = require("node:fs");
7
+ const node_os_1 = require("node:os");
8
+ const node_path_1 = require("node:path");
9
+ const chalk_1 = tslib_1.__importDefault(require("chalk"));
10
+ const esm_1 = require("fs-extra/esm");
11
+ const rimraf_1 = require("rimraf");
12
+ const opener_1 = tslib_1.__importDefault(require("opener"));
13
+ const exec = (cmd, options) => {
14
+ console.info(`$ `, cmd);
15
+ return (0, node_child_process_1.execSync)(cmd, {
16
+ stdio: process.env.DEBUG ? 'inherit' : 'ignore',
17
+ ...options,
18
+ });
19
+ };
20
+ const hanzoguiDir = (0, node_path_1.join)((0, node_os_1.homedir)(), '.hanzogui-repo-cache');
21
+ let targetGitDir = '';
22
+ const cloneStarter = async (template, resolvedProjectPath, projectName) => {
23
+ targetGitDir = (0, node_path_1.join)(hanzoguiDir, 'hanzogui', template.repo.url.split('/').at(-1));
24
+ console.info();
25
+ await setupGuiDotDir(template);
26
+ const starterDir = (0, node_path_1.join)(targetGitDir, ...template.repo.dir);
27
+ console.info();
28
+ console.info(`Copying starter from ${starterDir} into ${chalk_1.default.blueBright(projectName)}...`);
29
+ console.info();
30
+ // if (!(await pathExists(starterDir))) {
31
+ // console.error(`Missing template for ${template.value} in ${starterDir}`)
32
+ // process.exit(1)
33
+ // }
34
+ await (0, esm_1.copy)(starterDir, resolvedProjectPath);
35
+ await (0, rimraf_1.rimraf)(`${resolvedProjectPath}/.git`);
36
+ // rewrite workspace:* versions to real published versions
37
+ rewriteWorkspaceVersions(resolvedProjectPath);
38
+ console.info(chalk_1.default.green(`${projectName} created!`));
39
+ console.info();
40
+ };
41
+ exports.cloneStarter = cloneStarter;
42
+ async function setupGuiDotDir(template) {
43
+ console.info(`Setting up ${chalk_1.default.blueBright(targetGitDir)}...`);
44
+ if (process.env.GITHUB_HEAD_REF) {
45
+ try {
46
+ (0, node_child_process_1.execSync)(`git switch -c ${process.env.GITHUB_HEAD_REF}`, {
47
+ cwd: targetGitDir,
48
+ stdio: 'ignore',
49
+ });
50
+ }
51
+ catch {
52
+ // re-tries branch already exists
53
+ }
54
+ }
55
+ const branch = template.repo.branch;
56
+ await (0, esm_1.ensureDir)(hanzoguiDir);
57
+ const isInSubDir = template.repo.dir.length > 0;
58
+ const sourceGitRepo = template.repo.url;
59
+ const sourceGitRepoSshFallback = template.repo.sshFallback;
60
+ if (!(await (0, esm_1.pathExists)(targetGitDir))) {
61
+ console.info(`Cloning hanzogui base directory`);
62
+ console.info();
63
+ const cmd = `git clone --branch ${branch} ${isInSubDir ? '--depth 1 --sparse --filter=blob:none ' : ''}${sourceGitRepo} "${targetGitDir}"`;
64
+ try {
65
+ try {
66
+ console.info(`$ ${cmd}`);
67
+ console.info();
68
+ exec(cmd);
69
+ }
70
+ catch (error) {
71
+ if (cmd.includes('https://')) {
72
+ console.info(`https failed - trying with ssh now...`);
73
+ const sshCmd = cmd.replace(sourceGitRepo, sourceGitRepoSshFallback);
74
+ console.info(`$ ${sshCmd}`);
75
+ console.info();
76
+ exec(sshCmd);
77
+ }
78
+ else {
79
+ throw error;
80
+ }
81
+ }
82
+ }
83
+ catch (error) {
84
+ if (error instanceof Error) {
85
+ if (template.value === 'takeout-pro' ||
86
+ template.value === 'takeout-pro-classic') {
87
+ if (error?.stderr?.includes('Repository not found')) {
88
+ console.info(chalk_1.default.yellow(`You don't have access to this starter. Check 🥡 Gui Takeout (https://hanzogui.dev/takeout) for more info.`));
89
+ (0, opener_1.default)('https://hanzogui.dev/takeout');
90
+ process.exit(0);
91
+ }
92
+ }
93
+ }
94
+ throw error;
95
+ }
96
+ }
97
+ else {
98
+ if (!(await (0, esm_1.pathExists)((0, node_path_1.join)(targetGitDir, '.git')))) {
99
+ console.error(`Corrupt Gui directory, please delete ${targetGitDir} and re-run`);
100
+ process.exit(1);
101
+ }
102
+ }
103
+ if (isInSubDir) {
104
+ const cmd = `git sparse-checkout set apps/starters`;
105
+ exec(cmd, { cwd: targetGitDir });
106
+ console.info();
107
+ }
108
+ try {
109
+ const remoteName = getDefaultRemoteName();
110
+ if (await (0, esm_1.pathExists)((0, node_path_1.join)(targetGitDir, '.git'))) {
111
+ const cmd2 = `git pull --rebase --allow-unrelated-histories --depth 1 ${remoteName} ${branch}`;
112
+ // this can fail with "could not parse commit" but if you re-run it generally works
113
+ try {
114
+ exec(cmd2, {
115
+ cwd: targetGitDir,
116
+ });
117
+ }
118
+ catch {
119
+ // so lets just retry on first failure at least
120
+ exec(cmd2, {
121
+ cwd: targetGitDir,
122
+ });
123
+ }
124
+ console.info();
125
+ }
126
+ else {
127
+ console.warn(`Warning: ${targetGitDir} is not a git repository. Skipping pull operation.`);
128
+ }
129
+ }
130
+ catch (err) {
131
+ await (0, esm_1.remove)(targetGitDir);
132
+ console.info(`Error updating: ${err.message} ${err.stack}`);
133
+ console.info(`We removed the old template cache, so re-running may fix. If not, please file an issue: https://github.com/hanzoai/gui/issues/new?assignees=&labels=&template=bug_report.md&title=`);
134
+ process.exit(1);
135
+ }
136
+ }
137
+ function rewriteWorkspaceVersions(projectPath) {
138
+ const pkgPath = (0, node_path_1.join)(projectPath, 'package.json');
139
+ try {
140
+ const pkg = JSON.parse((0, node_fs_1.readFileSync)(pkgPath, 'utf-8'));
141
+ // if the copied project is itself a workspace root (e.g. takeout-pro copies
142
+ // the whole monorepo, packages/* included), leave `workspace:*` alone —
143
+ // bun/yarn/pnpm resolve it natively against the local packages. rewriting
144
+ // would point at versions that don't exist on npm.
145
+ if (pkg.workspaces) {
146
+ return;
147
+ }
148
+ // read create-gui's own version as the target
149
+ const ctPkgPath = require.resolve('create-gui/package.json');
150
+ const ctPkg = JSON.parse((0, node_fs_1.readFileSync)(ctPkgPath, 'utf-8'));
151
+ const version = `^${ctPkg.version}`;
152
+ let changed = false;
153
+ for (const field of ['dependencies', 'devDependencies']) {
154
+ const deps = pkg[field];
155
+ if (!deps)
156
+ continue;
157
+ for (const [key, val] of Object.entries(deps)) {
158
+ if (val === 'workspace:*') {
159
+ deps[key] = version;
160
+ changed = true;
161
+ }
162
+ }
163
+ }
164
+ if (changed) {
165
+ (0, node_fs_1.writeFileSync)(pkgPath, JSON.stringify(pkg, null, 2) + '\n');
166
+ console.info(chalk_1.default.dim(` Rewrote workspace:* → ${version}`));
167
+ }
168
+ }
169
+ catch {
170
+ // non-fatal, user can fix manually
171
+ }
172
+ }
173
+ // Get the default remote name
174
+ const getDefaultRemoteName = () => {
175
+ try {
176
+ if (!(0, esm_1.pathExists)((0, node_path_1.join)(targetGitDir, '.git'))) {
177
+ console.warn('Warning: Not in a git repository. Using default remote name "origin".');
178
+ return 'origin';
179
+ }
180
+ const remotes = (0, node_child_process_1.execSync)('git remote', { cwd: targetGitDir })
181
+ .toString()
182
+ .trim()
183
+ .split('\n');
184
+ return remotes[0] || 'origin';
185
+ }
186
+ catch (error) {
187
+ console.warn('Error getting default remote name:', error);
188
+ console.warn('Using default remote name "origin".');
189
+ return 'origin';
190
+ }
191
+ };
192
+ //# sourceMappingURL=cloneStarter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cloneStarter.js","sourceRoot":"","sources":["../../../src/helpers/cloneStarter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getProjectName = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const node_path_1 = tslib_1.__importDefault(require("node:path"));
6
+ const chalk_1 = tslib_1.__importDefault(require("chalk"));
7
+ const prompts_1 = tslib_1.__importDefault(require("prompts"));
8
+ const validateNpmPackage_ts_1 = require("./validateNpmPackage.js");
9
+ const manifest_ts_1 = require("../manifest.js");
10
+ const getProjectName = async (projectPath) => {
11
+ if (typeof projectPath === 'string') {
12
+ projectPath = projectPath.trim();
13
+ }
14
+ if (!projectPath) {
15
+ const res = await (0, prompts_1.default)({
16
+ type: 'text',
17
+ name: 'path',
18
+ message: 'Project name:',
19
+ initial: 'myapp',
20
+ validate: (name) => {
21
+ const validation = (0, validateNpmPackage_ts_1.validateNpmName)(node_path_1.default.basename(node_path_1.default.resolve(name)));
22
+ if (validation.valid) {
23
+ return true;
24
+ }
25
+ return 'Invalid project name: ' + validation.problems[0];
26
+ },
27
+ });
28
+ if (typeof res.path === 'string') {
29
+ projectPath = res.path.trim();
30
+ }
31
+ }
32
+ if (!projectPath) {
33
+ console.info();
34
+ console.info('Please specify the project directory:');
35
+ console.info(` ${chalk_1.default.cyan(manifest_ts_1.packageJson.name)} ${chalk_1.default.green('<project-directory>')}`);
36
+ console.info();
37
+ console.info('For example:');
38
+ console.info(` ${chalk_1.default.cyan(manifest_ts_1.packageJson.name)} ${chalk_1.default.green('my-hanzogui-app')}`);
39
+ console.info();
40
+ console.info(`Run ${chalk_1.default.cyan(`${manifest_ts_1.packageJson.name} --help`)} to see all options.`);
41
+ process.exit(1);
42
+ }
43
+ return projectPath;
44
+ };
45
+ exports.getProjectName = getProjectName;
46
+ //# sourceMappingURL=getProjectName.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getProjectName.js","sourceRoot":"","sources":["../../../src/helpers/getProjectName.ts"],"names":[],"mappings":";;;;AAAA,kEAA4B;AAE5B,0DAAyB;AACzB,8DAA6B;AAE7B,mEAAyD;AACzD,gDAA4C;AAErC,MAAM,cAAc,GAAG,KAAK,EAAE,WAAoB,EAAE,EAAE;IAC3D,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE,CAAC;QACpC,WAAW,GAAG,WAAW,CAAC,IAAI,EAAE,CAAA;IAClC,CAAC;IAED,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,GAAG,GAAG,MAAM,IAAA,iBAAO,EAAC;YACxB,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,eAAe;YACxB,OAAO,EAAE,OAAO;YAChB,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE;gBACjB,MAAM,UAAU,GAAG,IAAA,uCAAe,EAAC,mBAAI,CAAC,QAAQ,CAAC,mBAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;gBACrE,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;oBACrB,OAAO,IAAI,CAAA;gBACb,CAAC;gBACD,OAAO,wBAAwB,GAAG,UAAU,CAAC,QAAS,CAAC,CAAC,CAAC,CAAA;YAC3D,CAAC;SACF,CAAC,CAAA;QAEF,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACjC,WAAW,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAA;QAC/B,CAAC;IACH,CAAC;IAED,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,CAAC,IAAI,EAAE,CAAA;QACd,OAAO,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAA;QACrD,OAAO,CAAC,IAAI,CACV,KAAK,eAAK,CAAC,IAAI,CAAC,yBAAW,CAAC,IAAI,CAAC,IAAI,eAAK,CAAC,KAAK,CAAC,qBAAqB,CAAC,EAAE,CAC1E,CAAA;QACD,OAAO,CAAC,IAAI,EAAE,CAAA;QACd,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;QAC5B,OAAO,CAAC,IAAI,CAAC,KAAK,eAAK,CAAC,IAAI,CAAC,yBAAW,CAAC,IAAI,CAAC,IAAI,eAAK,CAAC,KAAK,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAA;QACnF,OAAO,CAAC,IAAI,EAAE,CAAA;QACd,OAAO,CAAC,IAAI,CAAC,OAAO,eAAK,CAAC,IAAI,CAAC,GAAG,yBAAW,CAAC,IAAI,SAAS,CAAC,sBAAsB,CAAC,CAAA;QACnF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IACD,OAAO,WAAW,CAAA;AACpB,CAAC,CAAA;AAvCY,QAAA,cAAc,GAAd,cAAc,CAuC1B"}
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getTemplateInfo = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const prompts_1 = tslib_1.__importDefault(require("prompts"));
6
+ const templates_ts_1 = require("../templates.js");
7
+ const validTemplates = templates_ts_1.templates.map(({ value }) => value).join(', ');
8
+ const getTemplateInfo = async (template) => {
9
+ let res = getValidTemplate(template);
10
+ if (template && !res) {
11
+ console.warn(`template ${template} is not valid. valid options: ${validTemplates}`);
12
+ process.exit(1);
13
+ }
14
+ if (!res) {
15
+ template = (await (0, prompts_1.default)({
16
+ name: 'template',
17
+ type: 'select',
18
+ message: `Pick a template:`,
19
+ choices: templates_ts_1.templates.filter((t) => !t.hidden),
20
+ })).template;
21
+ }
22
+ res = getValidTemplate(`${template}`);
23
+ if (!res) {
24
+ console.warn(`template ${template} is not valid. valid options: ${validTemplates}`);
25
+ process.exit(1);
26
+ }
27
+ return res;
28
+ };
29
+ exports.getTemplateInfo = getTemplateInfo;
30
+ const getValidTemplate = (template) => typeof template === 'string' && templates_ts_1.templates.find(({ value }) => value === template);
31
+ //# sourceMappingURL=getTemplateInfo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getTemplateInfo.js","sourceRoot":"","sources":["../../../src/helpers/getTemplateInfo.ts"],"names":[],"mappings":";;;;AAAA,8DAA6B;AAE7B,kDAA2C;AAE3C,MAAM,cAAc,GAAG,wBAAS,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AAE9D,MAAM,eAAe,GAAG,KAAK,EAClC,QAAiB,EACoB,EAAE;IACvC,IAAI,GAAG,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAA;IACpC,IAAI,QAAQ,IAAI,CAAC,GAAG,EAAE,CAAC;QACrB,OAAO,CAAC,IAAI,CAAC,YAAY,QAAQ,iCAAiC,cAAc,EAAE,CAAC,CAAA;QACnF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IACD,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,QAAQ,GAAG,CACT,MAAM,IAAA,iBAAO,EAAC;YACZ,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,kBAAkB;YAC3B,OAAO,EAAE,wBAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;SAC5C,CAAC,CACH,CAAC,QAAQ,CAAA;IACZ,CAAC;IACD,GAAG,GAAG,gBAAgB,CAAC,GAAG,QAAQ,EAAE,CAAC,CAAA;IACrC,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,CAAC,IAAI,CAAC,YAAY,QAAQ,iCAAiC,cAAc,EAAE,CAAC,CAAA;QACnF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA;AAxBY,QAAA,eAAe,GAAf,eAAe,CAwB3B;AAED,MAAM,gBAAgB,GAAG,CAAC,QAAiB,EAAE,EAAE,CAC7C,OAAO,QAAQ,KAAK,QAAQ,IAAI,wBAAS,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAA"}
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.installDependencies = installDependencies;
4
+ const tslib_1 = require("tslib");
5
+ const PackageManager = tslib_1.__importStar(require("@expo/package-manager"));
6
+ async function installDependencies(projectRoot, packageManager) {
7
+ // Check if Vitest 2 is running
8
+ if (process.env.VITEST) {
9
+ console.warn('Skipping dependency installation because Vitest 2 is running.');
10
+ return;
11
+ }
12
+ const options = { cwd: projectRoot };
13
+ if (packageManager === 'yarn') {
14
+ await new PackageManager.YarnPackageManager(options).installAsync();
15
+ }
16
+ else if (packageManager === 'pnpm') {
17
+ await new PackageManager.PnpmPackageManager(options).installAsync();
18
+ }
19
+ else if (packageManager === 'bun') {
20
+ await new PackageManager.BunPackageManager(options).installAsync();
21
+ }
22
+ else {
23
+ await new PackageManager.NpmPackageManager(options).installAsync();
24
+ }
25
+ }
26
+ //# sourceMappingURL=installDependencies.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"installDependencies.js","sourceRoot":"","sources":["../../../src/helpers/installDependencies.ts"],"names":[],"mappings":";;;;AAAA,MAAY,cAAc,0DAA6B;AAEhD,KAAK,8BACV,WAAmB,EACnB,cAA+C;IAE/C,+BAA+B;IAC/B,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;QACvB,OAAO,CAAC,IAAI,CAAC,+DAA+D,CAAC,CAAA;QAC7E,OAAM;IACR,CAAC;IAED,MAAM,OAAO,GAAG,EAAE,GAAG,EAAE,WAAW,EAAE,CAAA;IACpC,IAAI,cAAc,KAAK,MAAM,EAAE,CAAC;QAC9B,MAAM,IAAI,cAAc,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,YAAY,EAAE,CAAA;IACrE,CAAC;SAAM,IAAI,cAAc,KAAK,MAAM,EAAE,CAAC;QACrC,MAAM,IAAI,cAAc,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,YAAY,EAAE,CAAA;IACrE,CAAC;SAAM,IAAI,cAAc,KAAK,KAAK,EAAE,CAAC;QACpC,MAAM,IAAI,cAAc,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,YAAY,EAAE,CAAA;IACpE,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,cAAc,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,YAAY,EAAE,CAAA;IACpE,CAAC;AACH,CAAC"}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.makeRainbowChalk = exports.rainbowColors = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const chalk_1 = tslib_1.__importDefault(require("chalk"));
6
+ exports.rainbowColors = [
7
+ '#f76808',
8
+ '#f5d90a',
9
+ '#30a46c',
10
+ '#0091ff',
11
+ '#8e4ec6',
12
+ '#d6409f',
13
+ '#e5484d',
14
+ ];
15
+ const makeRainbowChalk = (text) => text
16
+ .split('')
17
+ .map((char, idx) => chalk_1.default.hex(exports.rainbowColors[idx % exports.rainbowColors.length])(char))
18
+ .join('');
19
+ exports.makeRainbowChalk = makeRainbowChalk;
20
+ //# sourceMappingURL=rainbowChalk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rainbowChalk.js","sourceRoot":"","sources":["../../../src/helpers/rainbowChalk.ts"],"names":[],"mappings":";;;;AAAA,0DAAyB;AAEZ,QAAA,aAAa,GAAG;IAC3B,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;CACV,CAAA;AAEM,MAAM,gBAAgB,GAAG,CAAC,IAAY,EAAE,EAAE,CAC/C,IAAI;KACD,KAAK,CAAC,EAAE,CAAC;KACT,GAAG,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,eAAK,CAAC,GAAG,CAAC,QAAA,aAAa,CAAC,GAAG,GAAG,QAAA,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;KAC9E,IAAI,CAAC,EAAE,CAAC,CAAA;AAJA,QAAA,gBAAgB,GAAhB,gBAAgB,CAIhB"}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validateNpmName = validateNpmName;
4
+ const tslib_1 = require("tslib");
5
+ const validate_npm_package_name_1 = tslib_1.__importDefault(require("validate-npm-package-name"));
6
+ function validateNpmName(name) {
7
+ const nameValidation = (0, validate_npm_package_name_1.default)(name);
8
+ if (nameValidation.validForNewPackages) {
9
+ return { valid: true };
10
+ }
11
+ return {
12
+ valid: false,
13
+ problems: [...(nameValidation.errors || []), ...(nameValidation.warnings || [])],
14
+ };
15
+ }
16
+ //# sourceMappingURL=validateNpmPackage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validateNpmPackage.js","sourceRoot":"","sources":["../../../src/helpers/validateNpmPackage.ts"],"names":[],"mappings":";;;;AAAA,kGAA2D;AAE3D,yBAAgC,IAAY;IAI1C,MAAM,cAAc,GAAG,IAAA,mCAAmB,EAAC,IAAI,CAAC,CAAA;IAChD,IAAI,cAAc,CAAC,mBAAmB,EAAE,CAAC;QACvC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAA;IACxB,CAAC;IAED,OAAO;QACL,KAAK,EAAE,KAAK;QACZ,QAAQ,EAAE,CAAC,GAAG,CAAC,cAAc,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;KACjF,CAAA;AACH,CAAC"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.url = void 0;
4
+ const node_url_1 = require("node:url");
5
+ exports.url = (0, node_url_1.pathToFileURL)(__filename).href;
6
+ //# sourceMappingURL=here.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"here.cjs.js","sourceRoot":"","sources":["../../src/here.cjs.ts"],"names":[],"mappings":";;;AAAA,uCAAwC;AAE3B,QAAA,GAAG,GAAG,IAAA,wBAAa,EAAC,UAAU,CAAC,CAAC,IAAI,CAAA"}
@@ -0,0 +1,165 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ // inspired by https://github.com/vercel/next.js/blob/0355e5f63f87db489f36db8d814958cb4c2b828b/packages/create-next-app/helpers/examples.ts#L71
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ const tslib_1 = require("tslib");
6
+ const chalk_1 = tslib_1.__importDefault(require("chalk"));
7
+ const commander_1 = require("commander");
8
+ const detect_package_manager_1 = require("detect-package-manager");
9
+ const node_fs_1 = require("node:fs");
10
+ const node_child_process_1 = require("node:child_process");
11
+ const node_fs_2 = tslib_1.__importDefault(require("node:fs"));
12
+ const node_path_1 = tslib_1.__importDefault(require("node:path"));
13
+ const node_process_1 = require("node:process");
14
+ const opener_1 = tslib_1.__importDefault(require("opener"));
15
+ const prompts_1 = tslib_1.__importDefault(require("prompts"));
16
+ const create_gui_constants_ts_1 = require("./create-gui-constants.js");
17
+ const asciiArts_ts_1 = require("./helpers/asciiArts.js");
18
+ const cloneStarter_ts_1 = require("./helpers/cloneStarter.js");
19
+ const getProjectName_ts_1 = require("./helpers/getProjectName.js");
20
+ const getTemplateInfo_ts_1 = require("./helpers/getTemplateInfo.js");
21
+ const installDependencies_ts_1 = require("./helpers/installDependencies.js");
22
+ const validateNpmPackage_ts_1 = require("./helpers/validateNpmPackage.js");
23
+ const manifest_ts_1 = require("./manifest.js");
24
+ let projectPath = '';
25
+ if (create_gui_constants_ts_1.IS_TEST) {
26
+ console.info(`🧐 Running create-gui in test mode 🧐`);
27
+ }
28
+ function exit() {
29
+ process.exit(0);
30
+ }
31
+ process.on('SIGTERM', exit);
32
+ process.on('SIGINT', exit);
33
+ const program = new commander_1.Command(manifest_ts_1.packageJson.name)
34
+ .version(manifest_ts_1.packageJson.version)
35
+ .arguments('[project-directory]')
36
+ .action((name) => {
37
+ projectPath = name;
38
+ })
39
+ .option(`--info`, 'Just shows the setup guide for the starter.')
40
+ .option(`-t, --template <template>`, 'Choose between four or more starter templates.', '')
41
+ .allowUnknownOption()
42
+ .usage(`${chalk_1.default.green('<project-directory>')} [options]
43
+
44
+ Example usage:
45
+
46
+ ${chalk_1.default.blueBright(`npx ${manifest_ts_1.packageJson.name} next-expo`)}`)
47
+ .parse(process.argv);
48
+ if (process.argv.includes('--version')) {
49
+ console.info(manifest_ts_1.packageJson.version);
50
+ process.exit(0);
51
+ }
52
+ const options = program.opts();
53
+ const info = !!options.info;
54
+ async function run() {
55
+ try {
56
+ if (info) {
57
+ let template = await (0, getTemplateInfo_ts_1.getTemplateInfo)(options.template);
58
+ if (template?.extraSteps) {
59
+ await template.extraSteps({
60
+ isFullClone: false,
61
+ projectName: node_path_1.default.basename((0, node_process_1.cwd)()),
62
+ projectPath: (0, node_process_1.cwd)(),
63
+ });
64
+ }
65
+ process.exit(0);
66
+ }
67
+ console.info();
68
+ console.info(chalk_1.default.bold(' Note: You may need to run "npm create hanzogui@latest" to get the latest version!'));
69
+ console.info();
70
+ console.info(); // this newline prevents the ascii art from breaking
71
+ console.info(asciiArts_ts_1.hanzoguiRainbowAsciiArt);
72
+ console.info(chalk_1.default.bold('Creating hanzogui app...'));
73
+ const gitVersionString = Number.parseFloat((0, node_child_process_1.execSync)(`git --version`).toString().replace(`git version `, '').trim());
74
+ if (gitVersionString < 2.27) {
75
+ console.error(`\n\n ⚠️ Gui can't install: Git version must be >= 2.27\n\n`);
76
+ process.exit(1);
77
+ }
78
+ projectPath || (projectPath = await (0, getProjectName_ts_1.getProjectName)(projectPath));
79
+ let template = await (0, getTemplateInfo_ts_1.getTemplateInfo)(options.template);
80
+ if (template.type === 'premium') {
81
+ const didPurchase = (await (0, prompts_1.default)({
82
+ type: 'confirm',
83
+ name: 'purchased',
84
+ message: `Have you purchased Takeout on https://hanzogui.dev/takeout`,
85
+ })).purchased;
86
+ if (!didPurchase) {
87
+ (0, opener_1.default)(`https://hanzogui.dev/takeout`);
88
+ console.info(`\nOpening Takeout website - once you purchase you can restart the create process. Thank you!\n`);
89
+ process.exit(0);
90
+ }
91
+ }
92
+ // space
93
+ console.info();
94
+ const resolvedProjectPath = node_path_1.default.resolve(process.cwd(), projectPath);
95
+ const projectName = node_path_1.default.basename(resolvedProjectPath);
96
+ const { valid, problems } = (0, validateNpmPackage_ts_1.validateNpmName)(projectName);
97
+ if (!valid) {
98
+ console.error(`Could not create a project called ${chalk_1.default.red(`"${projectName}"`)} because of npm naming restrictions:`);
99
+ problems.forEach((p) => console.error(` ${chalk_1.default.red.bold('*')} ${p}`));
100
+ process.exit(1);
101
+ }
102
+ if (node_fs_2.default.existsSync(resolvedProjectPath)) {
103
+ console.info();
104
+ console.info(chalk_1.default.red('🚨 [hanzogui] error'), `You tried to make a project called ${chalk_1.default.underline(chalk_1.default.blueBright(projectName))}, but a folder with that name already exists: ${chalk_1.default.blueBright(resolvedProjectPath)}
105
+
106
+ ${chalk_1.default.bold(chalk_1.default.red(`Please pick a different project name 🥸`))}`);
107
+ console.info();
108
+ console.info();
109
+ process.exit(1);
110
+ }
111
+ console.info();
112
+ console.info(`Creating a new hanzogui app ${chalk_1.default.blueBright(resolvedProjectPath)}...`);
113
+ node_fs_2.default.mkdirSync(resolvedProjectPath);
114
+ console.info(chalk_1.default.green(`${projectName} folder created.`));
115
+ try {
116
+ await (0, cloneStarter_ts_1.cloneStarter)(template, resolvedProjectPath, projectName);
117
+ process.chdir(resolvedProjectPath);
118
+ // space
119
+ console.info();
120
+ }
121
+ catch (e) {
122
+ console.error(`[hanzogui] Failed to copy example into ${resolvedProjectPath}\n\n`, e);
123
+ process.exit(1);
124
+ }
125
+ // change root package.json's name to project name
126
+ updatePackageJsonName(projectName, resolvedProjectPath);
127
+ console.info('Installing packages. This might take a couple of minutes.');
128
+ console.info();
129
+ const packageManager = ('packageManager' in template ? template.packageManager : undefined) ||
130
+ (await (0, detect_package_manager_1.detect)());
131
+ try {
132
+ console.info('installing with ' + packageManager);
133
+ await (0, installDependencies_ts_1.installDependencies)(resolvedProjectPath, packageManager);
134
+ }
135
+ catch (e) {
136
+ console.error('[hanzogui] error installing with ' + packageManager + '\n' + `${e}`);
137
+ process.exit(1);
138
+ }
139
+ await template?.extraSteps?.({
140
+ isFullClone: true,
141
+ projectName,
142
+ projectPath: resolvedProjectPath,
143
+ });
144
+ console.info();
145
+ console.info(chalk_1.default.gray(asciiArts_ts_1.hanzoguiDuckAsciiArt));
146
+ process.exit(0);
147
+ }
148
+ catch (error) {
149
+ console.error('An unexpected error occurred:', error);
150
+ process.exit(1);
151
+ }
152
+ }
153
+ function updatePackageJsonName(projectName, dir) {
154
+ const packageJsonPath = node_path_1.default.join(dir, 'package.json');
155
+ if ((0, node_fs_1.existsSync)(packageJsonPath)) {
156
+ const content = (0, node_fs_1.readFileSync)(packageJsonPath).toString();
157
+ const contentWithUpdatedName = content.replace(/("name": ")(.*)(",)/, `$1${projectName}$3`);
158
+ (0, node_fs_1.writeFileSync)(packageJsonPath, contentWithUpdatedName);
159
+ }
160
+ }
161
+ run().catch((error) => {
162
+ console.error('An unexpected error occurred:', error);
163
+ process.exit(1);
164
+ });
165
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.packageJson = void 0;
4
+ const node_fs_1 = require("node:fs");
5
+ const here_ts_1 = require("./here.js");
6
+ // This package's own manifest, read from the package root at run time.
7
+ exports.packageJson = JSON.parse((0, node_fs_1.readFileSync)(new URL('../../package.json', here_ts_1.url), 'utf8'));
8
+ //# sourceMappingURL=manifest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../src/manifest.ts"],"names":[],"mappings":";;;AAAA,qCAAsC;AACtC,uCAA+B;AAE/B,uEAAuE;AAC1D,QAAA,WAAW,GAAG,IAAI,CAAC,KAAK,CACnC,IAAA,sBAAY,EAAC,IAAI,GAAG,CAAC,oBAAoB,EAAE,aAAG,CAAC,EAAE,MAAM,CAAC,CAIzD,CAAA"}
@@ -0,0 +1 @@
1
+ { "type": "commonjs" }