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.
- package/dist/cjs/create-gui-constants.js +5 -0
- package/dist/cjs/create-gui-constants.js.map +1 -0
- package/dist/cjs/helpers/asciiArts.js +43 -0
- package/dist/cjs/helpers/asciiArts.js.map +1 -0
- package/dist/cjs/helpers/cloneStarter.js +192 -0
- package/dist/cjs/helpers/cloneStarter.js.map +1 -0
- package/dist/cjs/helpers/getProjectName.js +46 -0
- package/dist/cjs/helpers/getProjectName.js.map +1 -0
- package/dist/cjs/helpers/getTemplateInfo.js +31 -0
- package/dist/cjs/helpers/getTemplateInfo.js.map +1 -0
- package/dist/cjs/helpers/installDependencies.js +26 -0
- package/dist/cjs/helpers/installDependencies.js.map +1 -0
- package/dist/cjs/helpers/rainbowChalk.js +20 -0
- package/dist/cjs/helpers/rainbowChalk.js.map +1 -0
- package/dist/cjs/helpers/validateNpmPackage.js +16 -0
- package/dist/cjs/helpers/validateNpmPackage.js.map +1 -0
- package/dist/cjs/here.js +6 -0
- package/dist/cjs/here.js.map +1 -0
- package/dist/cjs/index.js +165 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/manifest.js +8 -0
- package/dist/cjs/manifest.js.map +1 -0
- package/dist/cjs/package.json +1 -0
- package/dist/cjs/steps/expo-router.js +18 -0
- package/dist/cjs/steps/expo-router.js.map +1 -0
- package/dist/cjs/steps/remix.js +22 -0
- package/dist/cjs/steps/remix.js.map +1 -0
- package/dist/cjs/steps/starter-free.js +35 -0
- package/dist/cjs/steps/starter-free.js.map +1 -0
- package/dist/cjs/steps/takeout.js +174 -0
- package/dist/cjs/steps/takeout.js.map +1 -0
- package/dist/cjs/steps/types.js +3 -0
- package/dist/cjs/steps/types.js.map +1 -0
- package/dist/cjs/templates.js +97 -0
- package/dist/cjs/templates.js.map +1 -0
- package/dist/esm/create-gui-constants.js +2 -0
- package/dist/esm/create-gui-constants.js.map +1 -0
- package/dist/esm/helpers/asciiArts.js +39 -0
- package/dist/esm/helpers/asciiArts.js.map +1 -0
- package/dist/esm/helpers/cloneStarter.js +187 -0
- package/dist/esm/helpers/cloneStarter.js.map +1 -0
- package/dist/esm/helpers/getProjectName.js +41 -0
- package/dist/esm/helpers/getProjectName.js.map +1 -0
- package/dist/esm/helpers/getTemplateInfo.js +26 -0
- package/dist/esm/helpers/getTemplateInfo.js.map +1 -0
- package/dist/esm/helpers/installDependencies.js +22 -0
- package/dist/esm/helpers/installDependencies.js.map +1 -0
- package/dist/esm/helpers/rainbowChalk.js +15 -0
- package/dist/esm/helpers/rainbowChalk.js.map +1 -0
- package/dist/esm/helpers/validateNpmPackage.js +12 -0
- package/dist/esm/helpers/validateNpmPackage.js.map +1 -0
- package/dist/esm/here.js +3 -0
- package/dist/esm/here.js.map +1 -0
- package/dist/esm/index.js +162 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/manifest.js +5 -0
- package/dist/esm/manifest.js.map +1 -0
- package/dist/esm/steps/expo-router.js +15 -0
- package/dist/esm/steps/expo-router.js.map +1 -0
- package/dist/esm/steps/remix.js +19 -0
- package/dist/esm/steps/remix.js.map +1 -0
- package/dist/esm/steps/starter-free.js +32 -0
- package/dist/esm/steps/starter-free.js.map +1 -0
- package/dist/esm/steps/takeout.js +171 -0
- package/dist/esm/steps/takeout.js.map +1 -0
- package/dist/esm/steps/types.js +2 -0
- package/dist/esm/steps/types.js.map +1 -0
- package/dist/esm/templates.js +93 -0
- package/dist/esm/templates.js.map +1 -0
- package/package.json +38 -30
- package/src/create-gui-constants.ts +1 -0
- package/src/helpers/asciiArts.ts +49 -0
- package/src/helpers/cloneStarter.ts +220 -0
- package/src/helpers/getProjectName.ts +48 -0
- package/src/helpers/getTemplateInfo.ts +34 -0
- package/src/helpers/installDependencies.ts +23 -0
- package/src/helpers/rainbowChalk.ts +17 -0
- package/src/helpers/validateNpmPackage.ts +16 -0
- package/src/here.cjs.ts +3 -0
- package/src/here.ts +2 -0
- package/src/index.ts +223 -0
- package/src/manifest.ts +10 -0
- package/src/steps/expo-router.ts +20 -0
- package/src/steps/remix.ts +24 -0
- package/src/steps/starter-free.ts +40 -0
- package/src/steps/takeout.ts +210 -0
- package/src/steps/types.ts +5 -0
- package/src/templates.ts +116 -0
- package/types/create-gui-constants.d.ts +2 -0
- package/types/create-gui-constants.d.ts.map +1 -0
- package/types/helpers/asciiArts.d.ts +5 -0
- package/types/helpers/asciiArts.d.ts.map +1 -0
- package/types/helpers/cloneStarter.d.ts +3 -0
- package/types/helpers/cloneStarter.d.ts.map +1 -0
- package/types/helpers/getProjectName.d.ts +2 -0
- package/types/helpers/getProjectName.d.ts.map +1 -0
- package/types/helpers/getTemplateInfo.d.ts +3 -0
- package/types/helpers/getTemplateInfo.d.ts.map +1 -0
- package/types/helpers/installDependencies.d.ts +2 -0
- package/types/helpers/installDependencies.d.ts.map +1 -0
- package/types/helpers/rainbowChalk.d.ts +3 -0
- package/types/helpers/rainbowChalk.d.ts.map +1 -0
- package/types/helpers/validateNpmPackage.d.ts +5 -0
- package/types/helpers/validateNpmPackage.d.ts.map +1 -0
- package/types/here.d.ts +2 -0
- package/types/here.d.ts.map +1 -0
- package/types/index.d.ts +3 -0
- package/types/index.d.ts.map +1 -0
- package/types/manifest.d.ts +5 -0
- package/types/manifest.d.ts.map +1 -0
- package/types/steps/expo-router.d.ts +4 -0
- package/types/steps/expo-router.d.ts.map +1 -0
- package/types/steps/remix.d.ts +4 -0
- package/types/steps/remix.d.ts.map +1 -0
- package/types/steps/starter-free.d.ts +4 -0
- package/types/steps/starter-free.d.ts.map +1 -0
- package/types/steps/takeout.d.ts +4 -0
- package/types/steps/takeout.d.ts.map +1 -0
- package/types/steps/types.d.ts +6 -0
- package/types/steps/types.d.ts.map +1 -0
- package/types/templates.d.ts +16 -0
- package/types/templates.d.ts.map +1 -0
- package/dist/index.cjs +0 -929
- package/dist/index.native.js +0 -930
- package/run.js +0 -12
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import path from 'node:path';
|
|
2
|
+
import chalk from 'chalk';
|
|
3
|
+
import prompts from 'prompts';
|
|
4
|
+
import { validateNpmName } from './validateNpmPackage.js';
|
|
5
|
+
import { packageJson } from '../manifest.js';
|
|
6
|
+
export const getProjectName = async (projectPath) => {
|
|
7
|
+
if (typeof projectPath === 'string') {
|
|
8
|
+
projectPath = projectPath.trim();
|
|
9
|
+
}
|
|
10
|
+
if (!projectPath) {
|
|
11
|
+
const res = await prompts({
|
|
12
|
+
type: 'text',
|
|
13
|
+
name: 'path',
|
|
14
|
+
message: 'Project name:',
|
|
15
|
+
initial: 'myapp',
|
|
16
|
+
validate: (name) => {
|
|
17
|
+
const validation = validateNpmName(path.basename(path.resolve(name)));
|
|
18
|
+
if (validation.valid) {
|
|
19
|
+
return true;
|
|
20
|
+
}
|
|
21
|
+
return 'Invalid project name: ' + validation.problems[0];
|
|
22
|
+
},
|
|
23
|
+
});
|
|
24
|
+
if (typeof res.path === 'string') {
|
|
25
|
+
projectPath = res.path.trim();
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
if (!projectPath) {
|
|
29
|
+
console.info();
|
|
30
|
+
console.info('Please specify the project directory:');
|
|
31
|
+
console.info(` ${chalk.cyan(packageJson.name)} ${chalk.green('<project-directory>')}`);
|
|
32
|
+
console.info();
|
|
33
|
+
console.info('For example:');
|
|
34
|
+
console.info(` ${chalk.cyan(packageJson.name)} ${chalk.green('my-hanzogui-app')}`);
|
|
35
|
+
console.info();
|
|
36
|
+
console.info(`Run ${chalk.cyan(`${packageJson.name} --help`)} to see all options.`);
|
|
37
|
+
process.exit(1);
|
|
38
|
+
}
|
|
39
|
+
return projectPath;
|
|
40
|
+
};
|
|
41
|
+
//# sourceMappingURL=getProjectName.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getProjectName.js","sourceRoot":"","sources":["../../../src/helpers/getProjectName.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAA;AAE5B,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,OAAO,MAAM,SAAS,CAAA;AAE7B,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAE5C,MAAM,CAAC,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,OAAO,CAAC;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,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,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,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,KAAK,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,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAA;QACnF,OAAO,CAAC,IAAI,EAAE,CAAA;QACd,OAAO,CAAC,IAAI,CAAC,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,IAAI,SAAS,CAAC,sBAAsB,CAAC,CAAA;QACnF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IACD,OAAO,WAAW,CAAA;AACpB,CAAC,CAAA"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import prompts from 'prompts';
|
|
2
|
+
import { templates } from '../templates.js';
|
|
3
|
+
const validTemplates = templates.map(({ value }) => value).join(', ');
|
|
4
|
+
export const getTemplateInfo = async (template) => {
|
|
5
|
+
let res = getValidTemplate(template);
|
|
6
|
+
if (template && !res) {
|
|
7
|
+
console.warn(`template ${template} is not valid. valid options: ${validTemplates}`);
|
|
8
|
+
process.exit(1);
|
|
9
|
+
}
|
|
10
|
+
if (!res) {
|
|
11
|
+
template = (await prompts({
|
|
12
|
+
name: 'template',
|
|
13
|
+
type: 'select',
|
|
14
|
+
message: `Pick a template:`,
|
|
15
|
+
choices: templates.filter((t) => !t.hidden),
|
|
16
|
+
})).template;
|
|
17
|
+
}
|
|
18
|
+
res = getValidTemplate(`${template}`);
|
|
19
|
+
if (!res) {
|
|
20
|
+
console.warn(`template ${template} is not valid. valid options: ${validTemplates}`);
|
|
21
|
+
process.exit(1);
|
|
22
|
+
}
|
|
23
|
+
return res;
|
|
24
|
+
};
|
|
25
|
+
const getValidTemplate = (template) => typeof template === 'string' && templates.find(({ value }) => value === template);
|
|
26
|
+
//# sourceMappingURL=getTemplateInfo.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getTemplateInfo.js","sourceRoot":"","sources":["../../../src/helpers/getTemplateInfo.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAA;AAE7B,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAE3C,MAAM,cAAc,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AAErE,MAAM,CAAC,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,OAAO,CAAC;YACZ,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,kBAAkB;YAC3B,OAAO,EAAE,SAAS,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;AAED,MAAM,gBAAgB,GAAG,CAAC,QAAiB,EAAE,EAAE,CAC7C,OAAO,QAAQ,KAAK,QAAQ,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAA"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import * as PackageManager from '@expo/package-manager';
|
|
2
|
+
export async function installDependencies(projectRoot, packageManager) {
|
|
3
|
+
// Check if Vitest 2 is running
|
|
4
|
+
if (process.env.VITEST) {
|
|
5
|
+
console.warn('Skipping dependency installation because Vitest 2 is running.');
|
|
6
|
+
return;
|
|
7
|
+
}
|
|
8
|
+
const options = { cwd: projectRoot };
|
|
9
|
+
if (packageManager === 'yarn') {
|
|
10
|
+
await new PackageManager.YarnPackageManager(options).installAsync();
|
|
11
|
+
}
|
|
12
|
+
else if (packageManager === 'pnpm') {
|
|
13
|
+
await new PackageManager.PnpmPackageManager(options).installAsync();
|
|
14
|
+
}
|
|
15
|
+
else if (packageManager === 'bun') {
|
|
16
|
+
await new PackageManager.BunPackageManager(options).installAsync();
|
|
17
|
+
}
|
|
18
|
+
else {
|
|
19
|
+
await new PackageManager.NpmPackageManager(options).installAsync();
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=installDependencies.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"installDependencies.js","sourceRoot":"","sources":["../../../src/helpers/installDependencies.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,cAAc,MAAM,uBAAuB,CAAA;AAEvD,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,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,15 @@
|
|
|
1
|
+
import chalk from 'chalk';
|
|
2
|
+
export const rainbowColors = [
|
|
3
|
+
'#f76808',
|
|
4
|
+
'#f5d90a',
|
|
5
|
+
'#30a46c',
|
|
6
|
+
'#0091ff',
|
|
7
|
+
'#8e4ec6',
|
|
8
|
+
'#d6409f',
|
|
9
|
+
'#e5484d',
|
|
10
|
+
];
|
|
11
|
+
export const makeRainbowChalk = (text) => text
|
|
12
|
+
.split('')
|
|
13
|
+
.map((char, idx) => chalk.hex(rainbowColors[idx % rainbowColors.length])(char))
|
|
14
|
+
.join('');
|
|
15
|
+
//# sourceMappingURL=rainbowChalk.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rainbowChalk.js","sourceRoot":"","sources":["../../../src/helpers/rainbowChalk.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;CACV,CAAA;AAED,MAAM,CAAC,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,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;KAC9E,IAAI,CAAC,EAAE,CAAC,CAAA"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import validateProjectName from 'validate-npm-package-name';
|
|
2
|
+
export function validateNpmName(name) {
|
|
3
|
+
const nameValidation = validateProjectName(name);
|
|
4
|
+
if (nameValidation.validForNewPackages) {
|
|
5
|
+
return { valid: true };
|
|
6
|
+
}
|
|
7
|
+
return {
|
|
8
|
+
valid: false,
|
|
9
|
+
problems: [...(nameValidation.errors || []), ...(nameValidation.warnings || [])],
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=validateNpmPackage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validateNpmPackage.js","sourceRoot":"","sources":["../../../src/helpers/validateNpmPackage.ts"],"names":[],"mappings":"AAAA,OAAO,mBAAmB,MAAM,2BAA2B,CAAA;AAE3D,MAAM,UAAU,eAAe,CAAC,IAAY;IAI1C,MAAM,cAAc,GAAG,mBAAmB,CAAC,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"}
|
package/dist/esm/here.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"here.js","sourceRoot":"","sources":["../../src/here.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,MAAM,CAAC,MAAM,GAAG,GAAG,OAAO,IAAI,CAAC,GAAG,CAAA"}
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
// inspired by https://github.com/vercel/next.js/blob/0355e5f63f87db489f36db8d814958cb4c2b828b/packages/create-next-app/helpers/examples.ts#L71
|
|
3
|
+
import chalk from 'chalk';
|
|
4
|
+
import { Command } from 'commander';
|
|
5
|
+
import { detect } from 'detect-package-manager';
|
|
6
|
+
import { existsSync, readFileSync, writeFileSync } from 'node:fs';
|
|
7
|
+
import { execSync } from 'node:child_process';
|
|
8
|
+
import fs from 'node:fs';
|
|
9
|
+
import path from 'node:path';
|
|
10
|
+
import { cwd } from 'node:process';
|
|
11
|
+
import open from 'opener';
|
|
12
|
+
import prompts from 'prompts';
|
|
13
|
+
import { IS_TEST } from './create-gui-constants.js';
|
|
14
|
+
import { hanzoguiDuckAsciiArt, hanzoguiRainbowAsciiArt } from './helpers/asciiArts.js';
|
|
15
|
+
import { cloneStarter } from './helpers/cloneStarter.js';
|
|
16
|
+
import { getProjectName } from './helpers/getProjectName.js';
|
|
17
|
+
import { getTemplateInfo } from './helpers/getTemplateInfo.js';
|
|
18
|
+
import { installDependencies } from './helpers/installDependencies.js';
|
|
19
|
+
import { validateNpmName } from './helpers/validateNpmPackage.js';
|
|
20
|
+
import { packageJson } from './manifest.js';
|
|
21
|
+
let projectPath = '';
|
|
22
|
+
if (IS_TEST) {
|
|
23
|
+
console.info(`🧐 Running create-gui in test mode 🧐`);
|
|
24
|
+
}
|
|
25
|
+
function exit() {
|
|
26
|
+
process.exit(0);
|
|
27
|
+
}
|
|
28
|
+
process.on('SIGTERM', exit);
|
|
29
|
+
process.on('SIGINT', exit);
|
|
30
|
+
const program = new Command(packageJson.name)
|
|
31
|
+
.version(packageJson.version)
|
|
32
|
+
.arguments('[project-directory]')
|
|
33
|
+
.action((name) => {
|
|
34
|
+
projectPath = name;
|
|
35
|
+
})
|
|
36
|
+
.option(`--info`, 'Just shows the setup guide for the starter.')
|
|
37
|
+
.option(`-t, --template <template>`, 'Choose between four or more starter templates.', '')
|
|
38
|
+
.allowUnknownOption()
|
|
39
|
+
.usage(`${chalk.green('<project-directory>')} [options]
|
|
40
|
+
|
|
41
|
+
Example usage:
|
|
42
|
+
|
|
43
|
+
${chalk.blueBright(`npx ${packageJson.name} next-expo`)}`)
|
|
44
|
+
.parse(process.argv);
|
|
45
|
+
if (process.argv.includes('--version')) {
|
|
46
|
+
console.info(packageJson.version);
|
|
47
|
+
process.exit(0);
|
|
48
|
+
}
|
|
49
|
+
const options = program.opts();
|
|
50
|
+
const info = !!options.info;
|
|
51
|
+
async function run() {
|
|
52
|
+
try {
|
|
53
|
+
if (info) {
|
|
54
|
+
let template = await getTemplateInfo(options.template);
|
|
55
|
+
if (template?.extraSteps) {
|
|
56
|
+
await template.extraSteps({
|
|
57
|
+
isFullClone: false,
|
|
58
|
+
projectName: path.basename(cwd()),
|
|
59
|
+
projectPath: cwd(),
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
process.exit(0);
|
|
63
|
+
}
|
|
64
|
+
console.info();
|
|
65
|
+
console.info(chalk.bold(' Note: You may need to run "npm create hanzogui@latest" to get the latest version!'));
|
|
66
|
+
console.info();
|
|
67
|
+
console.info(); // this newline prevents the ascii art from breaking
|
|
68
|
+
console.info(hanzoguiRainbowAsciiArt);
|
|
69
|
+
console.info(chalk.bold('Creating hanzogui app...'));
|
|
70
|
+
const gitVersionString = Number.parseFloat(execSync(`git --version`).toString().replace(`git version `, '').trim());
|
|
71
|
+
if (gitVersionString < 2.27) {
|
|
72
|
+
console.error(`\n\n ⚠️ Gui can't install: Git version must be >= 2.27\n\n`);
|
|
73
|
+
process.exit(1);
|
|
74
|
+
}
|
|
75
|
+
projectPath || (projectPath = await getProjectName(projectPath));
|
|
76
|
+
let template = await getTemplateInfo(options.template);
|
|
77
|
+
if (template.type === 'premium') {
|
|
78
|
+
const didPurchase = (await prompts({
|
|
79
|
+
type: 'confirm',
|
|
80
|
+
name: 'purchased',
|
|
81
|
+
message: `Have you purchased Takeout on https://hanzogui.dev/takeout`,
|
|
82
|
+
})).purchased;
|
|
83
|
+
if (!didPurchase) {
|
|
84
|
+
open(`https://hanzogui.dev/takeout`);
|
|
85
|
+
console.info(`\nOpening Takeout website - once you purchase you can restart the create process. Thank you!\n`);
|
|
86
|
+
process.exit(0);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
// space
|
|
90
|
+
console.info();
|
|
91
|
+
const resolvedProjectPath = path.resolve(process.cwd(), projectPath);
|
|
92
|
+
const projectName = path.basename(resolvedProjectPath);
|
|
93
|
+
const { valid, problems } = validateNpmName(projectName);
|
|
94
|
+
if (!valid) {
|
|
95
|
+
console.error(`Could not create a project called ${chalk.red(`"${projectName}"`)} because of npm naming restrictions:`);
|
|
96
|
+
problems.forEach((p) => console.error(` ${chalk.red.bold('*')} ${p}`));
|
|
97
|
+
process.exit(1);
|
|
98
|
+
}
|
|
99
|
+
if (fs.existsSync(resolvedProjectPath)) {
|
|
100
|
+
console.info();
|
|
101
|
+
console.info(chalk.red('🚨 [hanzogui] error'), `You tried to make a project called ${chalk.underline(chalk.blueBright(projectName))}, but a folder with that name already exists: ${chalk.blueBright(resolvedProjectPath)}
|
|
102
|
+
|
|
103
|
+
${chalk.bold(chalk.red(`Please pick a different project name 🥸`))}`);
|
|
104
|
+
console.info();
|
|
105
|
+
console.info();
|
|
106
|
+
process.exit(1);
|
|
107
|
+
}
|
|
108
|
+
console.info();
|
|
109
|
+
console.info(`Creating a new hanzogui app ${chalk.blueBright(resolvedProjectPath)}...`);
|
|
110
|
+
fs.mkdirSync(resolvedProjectPath);
|
|
111
|
+
console.info(chalk.green(`${projectName} folder created.`));
|
|
112
|
+
try {
|
|
113
|
+
await cloneStarter(template, resolvedProjectPath, projectName);
|
|
114
|
+
process.chdir(resolvedProjectPath);
|
|
115
|
+
// space
|
|
116
|
+
console.info();
|
|
117
|
+
}
|
|
118
|
+
catch (e) {
|
|
119
|
+
console.error(`[hanzogui] Failed to copy example into ${resolvedProjectPath}\n\n`, e);
|
|
120
|
+
process.exit(1);
|
|
121
|
+
}
|
|
122
|
+
// change root package.json's name to project name
|
|
123
|
+
updatePackageJsonName(projectName, resolvedProjectPath);
|
|
124
|
+
console.info('Installing packages. This might take a couple of minutes.');
|
|
125
|
+
console.info();
|
|
126
|
+
const packageManager = ('packageManager' in template ? template.packageManager : undefined) ||
|
|
127
|
+
(await detect());
|
|
128
|
+
try {
|
|
129
|
+
console.info('installing with ' + packageManager);
|
|
130
|
+
await installDependencies(resolvedProjectPath, packageManager);
|
|
131
|
+
}
|
|
132
|
+
catch (e) {
|
|
133
|
+
console.error('[hanzogui] error installing with ' + packageManager + '\n' + `${e}`);
|
|
134
|
+
process.exit(1);
|
|
135
|
+
}
|
|
136
|
+
await template?.extraSteps?.({
|
|
137
|
+
isFullClone: true,
|
|
138
|
+
projectName,
|
|
139
|
+
projectPath: resolvedProjectPath,
|
|
140
|
+
});
|
|
141
|
+
console.info();
|
|
142
|
+
console.info(chalk.gray(hanzoguiDuckAsciiArt));
|
|
143
|
+
process.exit(0);
|
|
144
|
+
}
|
|
145
|
+
catch (error) {
|
|
146
|
+
console.error('An unexpected error occurred:', error);
|
|
147
|
+
process.exit(1);
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
function updatePackageJsonName(projectName, dir) {
|
|
151
|
+
const packageJsonPath = path.join(dir, 'package.json');
|
|
152
|
+
if (existsSync(packageJsonPath)) {
|
|
153
|
+
const content = readFileSync(packageJsonPath).toString();
|
|
154
|
+
const contentWithUpdatedName = content.replace(/("name": ")(.*)(",)/, `$1${projectName}$3`);
|
|
155
|
+
writeFileSync(packageJsonPath, contentWithUpdatedName);
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
run().catch((error) => {
|
|
159
|
+
console.error('An unexpected error occurred:', error);
|
|
160
|
+
process.exit(1);
|
|
161
|
+
});
|
|
162
|
+
//# 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,5 @@
|
|
|
1
|
+
import { readFileSync } from 'node:fs';
|
|
2
|
+
import { url } from './here.js';
|
|
3
|
+
// This package's own manifest, read from the package root at run time.
|
|
4
|
+
export const packageJson = JSON.parse(readFileSync(new URL('../../package.json', url), 'utf8'));
|
|
5
|
+
//# sourceMappingURL=manifest.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../src/manifest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AACtC,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAA;AAE/B,uEAAuE;AACvE,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CACnC,YAAY,CAAC,IAAI,GAAG,CAAC,oBAAoB,EAAE,GAAG,CAAC,EAAE,MAAM,CAAC,CAIzD,CAAA"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import chalk from 'chalk';
|
|
2
|
+
const packageManager = 'bun';
|
|
3
|
+
const runCommand = (scriptName) => `${packageManager} run ${scriptName}`;
|
|
4
|
+
const main = async ({ isFullClone, projectName }) => {
|
|
5
|
+
if (isFullClone) {
|
|
6
|
+
console.info(`
|
|
7
|
+
${chalk.green.bold('Done!')} created a new project under ./${projectName}
|
|
8
|
+
|
|
9
|
+
visit your project:
|
|
10
|
+
${chalk.green('cd')} ${projectName}
|
|
11
|
+
`);
|
|
12
|
+
}
|
|
13
|
+
};
|
|
14
|
+
export default main;
|
|
15
|
+
//# sourceMappingURL=expo-router.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"expo-router.js","sourceRoot":"","sources":["../../../src/steps/expo-router.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,MAAM,cAAc,GAAG,KAAK,CAAA;AAE5B,MAAM,UAAU,GAAG,CAAC,UAAkB,EAAE,EAAE,CAAC,GAAG,cAAc,QAAQ,UAAU,EAAE,CAAA;AAEhF,MAAM,IAAI,GAAe,KAAK,EAAE,EAAE,WAAW,EAAE,WAAW,EAAE,EAAE,EAAE;IAC9D,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO,CAAC,IAAI,CAAC;IACb,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,kCAAkC,WAAW;;;IAGtE,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,WAAW;CACnC,CAAC,CAAA;IACA,CAAC;AACH,CAAC,CAAA;AAED,eAAe,IAAI,CAAA"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import chalk from 'chalk';
|
|
2
|
+
const packageManager = 'bun';
|
|
3
|
+
const runCommand = (scriptName) => `${packageManager} run ${scriptName}`;
|
|
4
|
+
const main = async ({ isFullClone, projectName }) => {
|
|
5
|
+
if (isFullClone) {
|
|
6
|
+
console.info(`
|
|
7
|
+
${chalk.green.bold('Done!')} created a new project under ./${projectName}
|
|
8
|
+
|
|
9
|
+
visit your project:
|
|
10
|
+
${chalk.green('cd')} ${projectName}
|
|
11
|
+
`);
|
|
12
|
+
}
|
|
13
|
+
console.info(`
|
|
14
|
+
To start the Remix development server, run:
|
|
15
|
+
${chalk.green(runCommand('dev'))}
|
|
16
|
+
`);
|
|
17
|
+
};
|
|
18
|
+
export default main;
|
|
19
|
+
//# sourceMappingURL=remix.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remix.js","sourceRoot":"","sources":["../../../src/steps/remix.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,MAAM,cAAc,GAAG,KAAK,CAAA;AAE5B,MAAM,UAAU,GAAG,CAAC,UAAkB,EAAE,EAAE,CAAC,GAAG,cAAc,QAAQ,UAAU,EAAE,CAAA;AAEhF,MAAM,IAAI,GAAe,KAAK,EAAE,EAAE,WAAW,EAAE,WAAW,EAAE,EAAE,EAAE;IAC9D,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO,CAAC,IAAI,CAAC;IACb,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,kCAAkC,WAAW;;;IAGtE,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,WAAW;CACnC,CAAC,CAAA;IACA,CAAC;IACD,OAAO,CAAC,IAAI,CAAC;;MAET,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;CACnC,CAAC,CAAA;AACF,CAAC,CAAA;AAED,eAAe,IAAI,CAAA"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import chalk from 'chalk';
|
|
2
|
+
const packageManager = 'bun';
|
|
3
|
+
const runCommand = (scriptName) => `${packageManager} run ${scriptName}`;
|
|
4
|
+
const main = async ({ isFullClone, projectName }) => {
|
|
5
|
+
console.info(`Note: you need bun for this repo.`);
|
|
6
|
+
if (isFullClone) {
|
|
7
|
+
console.info(`${chalk.green.bold('Done!')} created a new project under ./${projectName}
|
|
8
|
+
|
|
9
|
+
visit your project:
|
|
10
|
+
${chalk.green('cd')} ${projectName}
|
|
11
|
+
`);
|
|
12
|
+
}
|
|
13
|
+
console.info(`
|
|
14
|
+
To start the Next.js development server, run:
|
|
15
|
+
${chalk.green(runCommand('web'))}
|
|
16
|
+
|
|
17
|
+
To start Expo Go for mobile development, run:
|
|
18
|
+
${chalk.green(runCommand('native'))}
|
|
19
|
+
|
|
20
|
+
You can also create Expo development builds by doing:
|
|
21
|
+
|
|
22
|
+
${chalk.green(`cd apps/expo`)}
|
|
23
|
+
then:
|
|
24
|
+
${chalk.green(runCommand('ios'))}
|
|
25
|
+
or...
|
|
26
|
+
${chalk.green(runCommand('android'))}
|
|
27
|
+
|
|
28
|
+
Be sure to replace yourprojectsname in app.json with the uid you'd like for your app.
|
|
29
|
+
`);
|
|
30
|
+
};
|
|
31
|
+
export default main;
|
|
32
|
+
//# sourceMappingURL=starter-free.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"starter-free.js","sourceRoot":"","sources":["../../../src/steps/starter-free.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,MAAM,cAAc,GAAG,KAAK,CAAA;AAE5B,MAAM,UAAU,GAAG,CAAC,UAAkB,EAAE,EAAE,CAAC,GAAG,cAAc,QAAQ,UAAU,EAAE,CAAA;AAEhF,MAAM,IAAI,GAAe,KAAK,EAAE,EAAE,WAAW,EAAE,WAAW,EAAE,EAAE,EAAE;IAC9D,OAAO,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAA;IAEjD,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAC9B,OAAO,CACR,kCAAkC,WAAW;;;IAG9C,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,WAAW;CACnC,CAAC,CAAA;IACA,CAAC;IACD,OAAO,CAAC,IAAI,CAAC;;MAET,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;;;MAG9B,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;;;;MAIjC,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC;;MAE3B,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;;MAE9B,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;;;CAGvC,CAAC,CAAA;AACF,CAAC,CAAA;AAED,eAAe,IAAI,CAAA"}
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
import { execSync } from 'node:child_process';
|
|
2
|
+
import { existsSync, readFileSync, renameSync } from 'node:fs';
|
|
3
|
+
import fs from 'node:fs/promises';
|
|
4
|
+
import path from 'node:path';
|
|
5
|
+
import chalk from 'chalk';
|
|
6
|
+
import prompts from 'prompts';
|
|
7
|
+
import { takeoutAsciiArt, hanzoguiRainbowAsciiArt } from '../helpers/asciiArts.js';
|
|
8
|
+
const packageManager = 'bun';
|
|
9
|
+
const runCommand = (scriptName) => `${packageManager} run ${scriptName}`;
|
|
10
|
+
const main = async ({ isFullClone, projectName, projectPath }) => {
|
|
11
|
+
console.info(`
|
|
12
|
+
${hanzoguiRainbowAsciiArt
|
|
13
|
+
.split('\n')
|
|
14
|
+
.map((line) => ` ${line}`)
|
|
15
|
+
.join('\n')}
|
|
16
|
+
${takeoutAsciiArt}
|
|
17
|
+
|
|
18
|
+
`);
|
|
19
|
+
console.info();
|
|
20
|
+
const { setupSupabase } = await prompts({
|
|
21
|
+
name: 'setupSupabase',
|
|
22
|
+
message: 'Set up Supabase?',
|
|
23
|
+
type: 'confirm',
|
|
24
|
+
initial: true,
|
|
25
|
+
});
|
|
26
|
+
if (setupSupabase) {
|
|
27
|
+
console.info();
|
|
28
|
+
const { startLocalSupabase } = await prompts({
|
|
29
|
+
name: 'startLocalSupabase',
|
|
30
|
+
type: 'confirm',
|
|
31
|
+
message: 'Start local Supabase instance for you? (Requires Docker)',
|
|
32
|
+
initial: true,
|
|
33
|
+
});
|
|
34
|
+
if (startLocalSupabase) {
|
|
35
|
+
const supabaseStarted = await runRetryableCommand(`bun run supa start`);
|
|
36
|
+
if (supabaseStarted) {
|
|
37
|
+
console.info();
|
|
38
|
+
const { setUpSupabaseEnv } = await prompts({
|
|
39
|
+
name: 'setUpSupabaseEnv',
|
|
40
|
+
type: 'confirm',
|
|
41
|
+
message: 'Do you want us to add the local env variables for you? This will create a file called .env.local.',
|
|
42
|
+
initial: true,
|
|
43
|
+
});
|
|
44
|
+
if (setUpSupabaseEnv) {
|
|
45
|
+
const envs = getEnvFromSupabaseStatus(execSync('bun run supa status').toString());
|
|
46
|
+
const newEnvContent = Object.entries(envs)
|
|
47
|
+
.map(([key, value]) => `${key}=${value}`)
|
|
48
|
+
.join('\n');
|
|
49
|
+
if (existsSync(path.join(projectPath, '.env.local'))) {
|
|
50
|
+
if (readFileSync(path.join(projectPath, '.env.local')).toString() !==
|
|
51
|
+
newEnvContent) {
|
|
52
|
+
renameSync(path.join(projectPath, '.env.local'), path.join(projectPath, `.env.local.old-${Number(new Date())}`));
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
await fs.writeFile(path.join(projectPath, './.env.local'), newEnvContent);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
console.info();
|
|
60
|
+
const { setupRemoteSupabase } = await prompts({
|
|
61
|
+
name: 'setupRemoteSupabase',
|
|
62
|
+
type: 'confirm',
|
|
63
|
+
message: 'Link remote Supabase instance for you? (Create a project on https://app.supabase.com/projects first)',
|
|
64
|
+
initial: true,
|
|
65
|
+
});
|
|
66
|
+
if (setupRemoteSupabase) {
|
|
67
|
+
await runRetryableCommand(`npx supabase login`);
|
|
68
|
+
console.info();
|
|
69
|
+
await linkSupabase();
|
|
70
|
+
// console.info()
|
|
71
|
+
// const { runSupabaseMigrations } = await prompts({ name: 'runSupabaseMigrations', type: 'confirm', message: 'Run Supabase migrations on your remote Supabase instance?' })
|
|
72
|
+
// if (runSupabaseMigrations) {
|
|
73
|
+
// execSync(`yarn supa migrate`, { stdio: 'inherit' })
|
|
74
|
+
// }
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
if (isFullClone) {
|
|
78
|
+
console.info(`
|
|
79
|
+
${chalk.green.bold('Done!')} created a new project under ./${projectName}
|
|
80
|
+
|
|
81
|
+
visit your project:
|
|
82
|
+
${chalk.green(' cd')} ${projectName}
|
|
83
|
+
`);
|
|
84
|
+
}
|
|
85
|
+
console.info(`
|
|
86
|
+
To start the Next.js development server, run:
|
|
87
|
+
${chalk.green(runCommand('web'))}
|
|
88
|
+
|
|
89
|
+
To start developing with Expo for native, run:
|
|
90
|
+
${chalk.green(runCommand('native'))}
|
|
91
|
+
|
|
92
|
+
To start developing for Expo dev build, run:
|
|
93
|
+
${chalk.green(runCommand('ios'))}
|
|
94
|
+
${chalk.green(runCommand('android'))}
|
|
95
|
+
|
|
96
|
+
To run Supabase scripts, cd into the supabase package:
|
|
97
|
+
${chalk.green('cd supabase')}
|
|
98
|
+
|
|
99
|
+
${chalk.green('yarn reset')} - Resets local database
|
|
100
|
+
${chalk.green('yarn generate')} - Generates new types
|
|
101
|
+
|
|
102
|
+
Find info on the rest of the scripts in ${chalk.cyan(`supabase/README.md`)}
|
|
103
|
+
|
|
104
|
+
If you've purchased and gained access to font and icon packages, you can run:
|
|
105
|
+
${chalk.green('yarn add:icon')}
|
|
106
|
+
${chalk.green('yarn add:font')}
|
|
107
|
+
`);
|
|
108
|
+
};
|
|
109
|
+
export default main;
|
|
110
|
+
async function runRetryableCommand(cmd, retriesCount = 0) {
|
|
111
|
+
try {
|
|
112
|
+
execSync(cmd, { stdio: 'inherit' });
|
|
113
|
+
return true;
|
|
114
|
+
}
|
|
115
|
+
catch (error) {
|
|
116
|
+
const { tryAgain } = await prompts({
|
|
117
|
+
name: 'tryAgain',
|
|
118
|
+
message: 'An error occurred. Do you want to try again?',
|
|
119
|
+
type: 'confirm',
|
|
120
|
+
initial: true,
|
|
121
|
+
});
|
|
122
|
+
if (tryAgain) {
|
|
123
|
+
await runRetryableCommand(cmd, retriesCount + 1);
|
|
124
|
+
}
|
|
125
|
+
else {
|
|
126
|
+
console.info(chalk.yellow(`⚠️ Skipping this step. You can try running this command later. The failed command was \`${chalk.underline(cmd)}\`.`));
|
|
127
|
+
return false;
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
async function linkSupabase() {
|
|
132
|
+
const { supabaseRefId } = await prompts({
|
|
133
|
+
name: 'supabaseRefId',
|
|
134
|
+
type: 'text',
|
|
135
|
+
message: "Enter your supabase project's ID (e.g. abcdefghijklmnopqrst)",
|
|
136
|
+
initial: true,
|
|
137
|
+
});
|
|
138
|
+
const cmd = `npx supabase link --project-ref ${supabaseRefId.trim()}`;
|
|
139
|
+
try {
|
|
140
|
+
execSync(cmd, {
|
|
141
|
+
stdio: 'inherit',
|
|
142
|
+
});
|
|
143
|
+
return true;
|
|
144
|
+
}
|
|
145
|
+
catch (error) {
|
|
146
|
+
const { tryAgain } = await prompts({
|
|
147
|
+
name: 'tryAgain',
|
|
148
|
+
message: 'An error occurred. Do you want to try again?',
|
|
149
|
+
type: 'confirm',
|
|
150
|
+
initial: true,
|
|
151
|
+
});
|
|
152
|
+
if (tryAgain) {
|
|
153
|
+
await linkSupabase();
|
|
154
|
+
}
|
|
155
|
+
else {
|
|
156
|
+
console.info(chalk.yellow(`⚠️ Skipping this step. You can try running this command later. The failed command was \`${chalk.underline(cmd)}\`.`));
|
|
157
|
+
return false;
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
function getEnvFromSupabaseStatus(status) {
|
|
162
|
+
return {
|
|
163
|
+
NEXT_PUBLIC_SUPABASE_URL: status.match(/API URL: (.*)/)?.[1],
|
|
164
|
+
NEXT_PUBLIC_SUPABASE_GRAPHQL_URL: status.match(/GraphQL URL: (.*)/)?.[1],
|
|
165
|
+
SUPABASE_DB_URL: status.match(/DB URL: (.*)/)?.[1],
|
|
166
|
+
NEXT_PUBLIC_SUPABASE_ANON_KEY: status.match(/anon key: (.*)/)?.[1],
|
|
167
|
+
SUPABASE_SERVICE_ROLE: status.match(/service_role key: (.*)/)?.[1],
|
|
168
|
+
SUPABASE_JWT_SECRET: status.match(/JWT secret: (.*)/)?.[1],
|
|
169
|
+
};
|
|
170
|
+
}
|
|
171
|
+
//# sourceMappingURL=takeout.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"takeout.js","sourceRoot":"","sources":["../../../src/steps/takeout.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/steps/types.ts"],"names":[],"mappings":""}
|