create-vxrn 1.27.1 → 2.0.0-beta.45.1
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/.turbo/turbo-build.log +1 -1
- package/dist/cjs/create.cjs +193 -194
- package/dist/cjs/create.native.cjs +262 -0
- package/dist/cjs/create.native.js +218 -227
- package/dist/cjs/create.native.js.map +1 -1
- package/dist/cjs/helpers/cloneStarter.cjs +83 -95
- package/dist/cjs/helpers/cloneStarter.native.cjs +114 -0
- package/dist/cjs/helpers/cloneStarter.native.js +86 -97
- package/dist/cjs/helpers/cloneStarter.native.js.map +1 -1
- package/dist/cjs/helpers/getProjectName.cjs +56 -65
- package/dist/cjs/helpers/getProjectName.native.cjs +75 -0
- package/dist/cjs/helpers/getProjectName.native.js +56 -64
- package/dist/cjs/helpers/getProjectName.native.js.map +1 -1
- package/dist/cjs/helpers/getTemplateInfo.cjs +39 -52
- package/dist/cjs/helpers/getTemplateInfo.native.cjs +67 -0
- package/dist/cjs/helpers/getTemplateInfo.native.js +48 -60
- package/dist/cjs/helpers/getTemplateInfo.native.js.map +1 -1
- package/dist/cjs/helpers/installDependencies.cjs +37 -43
- package/dist/cjs/helpers/installDependencies.native.cjs +51 -0
- package/dist/cjs/helpers/installDependencies.native.js +37 -42
- package/dist/cjs/helpers/installDependencies.native.js.map +1 -1
- package/dist/cjs/helpers/validateNpmPackage.cjs +25 -36
- package/dist/cjs/helpers/validateNpmPackage.native.cjs +42 -0
- package/dist/cjs/helpers/validateNpmPackage.native.js +25 -35
- package/dist/cjs/helpers/validateNpmPackage.native.js.map +1 -1
- package/dist/cjs/index.cjs +60 -69
- package/dist/cjs/index.native.cjs +92 -0
- package/dist/cjs/index.native.js +61 -69
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/cjs/steps/bare.cjs +51 -61
- package/dist/cjs/steps/bare.native.cjs +121 -0
- package/dist/cjs/steps/bare.native.js +71 -82
- package/dist/cjs/steps/bare.native.js.map +1 -1
- package/dist/cjs/steps/fullstack.cjs +23 -35
- package/dist/cjs/steps/fullstack.native.cjs +50 -0
- package/dist/cjs/steps/fullstack.native.js +25 -36
- package/dist/cjs/steps/fullstack.native.js.map +1 -1
- package/dist/cjs/steps/one.cjs +42 -57
- package/dist/cjs/steps/one.native.cjs +97 -0
- package/dist/cjs/steps/one.native.js +46 -60
- package/dist/cjs/steps/one.native.js.map +1 -1
- package/dist/cjs/steps/types.cjs +9 -11
- package/dist/cjs/steps/types.native.cjs +18 -0
- package/dist/cjs/steps/types.native.js +9 -10
- package/dist/cjs/steps/types.native.js.map +1 -1
- package/dist/cjs/templates.cjs +54 -59
- package/dist/cjs/templates.native.cjs +70 -0
- package/dist/cjs/templates.native.js +55 -59
- package/dist/cjs/templates.native.js.map +1 -1
- package/dist/esm/create.mjs +179 -169
- package/dist/esm/create.mjs.map +1 -1
- package/dist/esm/create.native.js +204 -203
- package/dist/esm/create.native.js.map +1 -1
- package/dist/esm/helpers/cloneStarter.mjs +71 -77
- package/dist/esm/helpers/cloneStarter.mjs.map +1 -1
- package/dist/esm/helpers/cloneStarter.native.js +74 -80
- package/dist/esm/helpers/cloneStarter.native.js.map +1 -1
- package/dist/esm/helpers/getProjectName.mjs +41 -39
- package/dist/esm/helpers/getProjectName.mjs.map +1 -1
- package/dist/esm/helpers/getProjectName.native.js +41 -39
- package/dist/esm/helpers/getProjectName.native.js.map +1 -1
- package/dist/esm/helpers/getTemplateInfo.mjs +25 -27
- package/dist/esm/helpers/getTemplateInfo.mjs.map +1 -1
- package/dist/esm/helpers/getTemplateInfo.native.js +33 -35
- package/dist/esm/helpers/getTemplateInfo.native.js.map +1 -1
- package/dist/esm/helpers/installDependencies.mjs +25 -25
- package/dist/esm/helpers/installDependencies.mjs.map +1 -1
- package/dist/esm/helpers/installDependencies.native.js +25 -25
- package/dist/esm/helpers/installDependencies.native.js.map +1 -1
- package/dist/esm/helpers/validateNpmPackage.mjs +10 -10
- package/dist/esm/helpers/validateNpmPackage.mjs.map +1 -1
- package/dist/esm/helpers/validateNpmPackage.native.js +10 -10
- package/dist/esm/helpers/validateNpmPackage.native.js.map +1 -1
- package/dist/esm/index.js +51 -53
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/index.mjs +51 -53
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/index.native.js +52 -54
- package/dist/esm/index.native.js.map +1 -1
- package/dist/esm/steps/bare.mjs +35 -36
- package/dist/esm/steps/bare.mjs.map +1 -1
- package/dist/esm/steps/bare.native.js +55 -58
- package/dist/esm/steps/bare.native.js.map +1 -1
- package/dist/esm/steps/fullstack.mjs +8 -9
- package/dist/esm/steps/fullstack.mjs.map +1 -1
- package/dist/esm/steps/fullstack.native.js +10 -11
- package/dist/esm/steps/fullstack.native.js.map +1 -1
- package/dist/esm/steps/one.mjs +26 -32
- package/dist/esm/steps/one.mjs.map +1 -1
- package/dist/esm/steps/one.native.js +30 -36
- package/dist/esm/steps/one.native.js.map +1 -1
- package/dist/esm/steps/types.mjs +0 -2
- package/dist/esm/steps/types.native.js +0 -2
- package/dist/esm/templates.mjs +40 -34
- package/dist/esm/templates.mjs.map +1 -1
- package/dist/esm/templates.native.js +40 -34
- package/dist/esm/templates.native.js.map +1 -1
- package/package.json +4 -4
- package/dist/esm/steps/types.mjs.map +0 -1
- package/dist/esm/steps/types.native.js.map +0 -1
package/dist/esm/create.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["ansis","FSExtra","execSync","exec","fs","path","promisify","fileURLToPath","cloneStarter","getProjectName","getTemplateInfo","installDependencies","validateNpmName","prompts","detectPackageManager","existsSync","readFileSync","writeFileSync","create","args","gitVersionString","Number","parseFloat","toString","replace","trim","console","error","process","exit","projectName","name","resolvedProjectPath","resolve","cwd","promptForName","info","yellow","underline","blueBright","template","type","url","externalUrl","green","openCmd","platform","valid","problems","red","forEach","p","bold","Spinner","then","x","default","spinner","text","frames","interval","start","mkdir","chdir","e","stop","packageJson","errorMessages","dirname","__dirname","import","meta","possiblePaths","join","readFile","data","JSON","parse","Error","push","message","updatePackageJsonName","updatePackageJsonVersions","version","updateAppJsonName","packageManager","found","allFound","Object","keys","length","response","choices","filter","map","title","value","preInstall","isFullClone","projectPath","envDefault","env","move","extraSteps","dir","packageJsonPath","content","contentWithUpdatedName","contentWithUpdatedVersions","appJsonPath","projectSlug","toLowerCase"],"sources":["../../src/create.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"create.js","names":[],"sources":["esm/create.js"],"sourcesContent":["import ansis from \"ansis\";\nimport FSExtra from \"fs-extra\";\nimport { execSync, exec } from \"node:child_process\";\nimport fs from \"node:fs\";\nimport path from \"node:path\";\nimport { promisify } from \"node:util\";\nimport { fileURLToPath } from \"node:url\";\nimport { cloneStarter } from \"./helpers/cloneStarter\";\nimport { getProjectName } from \"./helpers/getProjectName\";\nimport { getTemplateInfo } from \"./helpers/getTemplateInfo\";\nimport { installDependencies } from \"./helpers/installDependencies\";\nimport { validateNpmName } from \"./helpers/validateNpmPackage\";\nimport prompts from \"prompts\";\nimport { detectPackageManager } from \"@vxrn/utils\";\nconst { existsSync, readFileSync, writeFileSync } = FSExtra;\nasync function create(args) {\n const gitVersionString = Number.parseFloat(\n execSync(`git --version`).toString().replace(`git version `, \"\").trim()\n );\n if (gitVersionString < 2.27) {\n console.error(`\n\n ! vxrn can't install: Git version must be >= 2.27\n\n`);\n process.exit(1);\n }\n let projectName = args.name || \"\";\n let resolvedProjectPath = path.resolve(process.cwd(), projectName);\n async function promptForName() {\n projectName = await getProjectName();\n resolvedProjectPath = path.resolve(process.cwd(), projectName);\n }\n if (projectName) {\n if (fs.existsSync(resolvedProjectPath)) {\n console.error(`Error: folder already exists: ${resolvedProjectPath}`);\n process.exit(1);\n }\n } else {\n await promptForName();\n while (fs.existsSync(resolvedProjectPath)) {\n console.info();\n console.info(\n ansis.yellow(\"!\"),\n `The folder ${ansis.underline(\n ansis.blueBright(projectName)\n )} already exists, lets try another name`\n );\n console.info();\n console.info();\n await promptForName();\n }\n }\n console.info();\n let template = await getTemplateInfo(args.template);\n if (template.type === \"external-link\") {\n const url = template.externalUrl;\n console.info();\n console.info(ansis.green(`Opening ${url}...`));\n console.info();\n const openCmd = process.platform === \"darwin\" ? \"open\" : process.platform === \"win32\" ? \"start\" : \"xdg-open\";\n exec(`${openCmd} ${url}`);\n process.exit(0);\n }\n const { valid, problems } = validateNpmName(projectName);\n if (!valid) {\n console.error(\n `Could not create a project called ${ansis.red(\n `\"${projectName}\"`\n )} because of npm naming restrictions:`\n );\n problems.forEach((p) => console.error(` ${ansis.red.bold(\"*\")} ${p}`));\n process.exit(1);\n }\n console.info();\n const Spinner = await import(\"yocto-spinner\").then((x) => x.default);\n const spinner = Spinner({\n text: `Creating...`,\n spinner: {\n frames: [\"\\u280B\", \"\\u2819\", \"\\u2839\", \"\\u2838\", \"\\u283C\", \"\\u2834\", \"\\u2826\", \"\\u2827\", \"\\u2807\", \"\\u280F\"],\n interval: 100\n }\n }).start();\n await FSExtra.mkdir(resolvedProjectPath);\n try {\n await cloneStarter(template, resolvedProjectPath);\n process.chdir(resolvedProjectPath);\n } catch (e) {\n console.error(`[vxrn] Failed to copy example into ${resolvedProjectPath}\n\n`, e);\n process.exit(1);\n }\n spinner.stop();\n console.info();\n console.info();\n console.info(ansis.green(`${projectName} created!`));\n console.info();\n console.info();\n const packageJson = await (async () => {\n const errorMessages = [];\n try {\n const dirname = typeof __dirname !== \"undefined\" ? __dirname : path.dirname(fileURLToPath(import.meta.url));\n const possiblePaths = [\n path.join(dirname, \"..\", \"package.json\"),\n path.join(dirname, \"..\", \"..\", \"package.json\"),\n path.join(dirname, \"..\", \"..\", \"..\", \"package.json\")\n ];\n const readFile = promisify(fs.readFile);\n for (const p of possiblePaths) {\n try {\n const data = JSON.parse(await readFile(p));\n return data;\n } catch (e) {\n if (e instanceof Error) errorMessages.push(e.message);\n }\n }\n throw new Error(\"package.json not found in any of the expected locations.\");\n } catch (e) {\n console.error(\"Failed to load package.json:\", errorMessages.join(\"\\n\"));\n throw e;\n }\n })();\n updatePackageJsonName(projectName, resolvedProjectPath);\n updatePackageJsonVersions(packageJson.version, resolvedProjectPath);\n updateAppJsonName(projectName, resolvedProjectPath);\n const packageManager = await (async () => {\n if (\"packageManager\" in template) {\n return template.packageManager;\n }\n const found = await detectPackageManager();\n const allFound = Object.keys(found);\n if (allFound.length === 1) {\n return allFound[0];\n }\n const response = await prompts({\n name: \"packageManager\",\n type: \"select\",\n message: `Package Manager:`,\n choices: allFound.filter((x) => found[x]).map((name) => ({\n title: name,\n value: name\n }))\n });\n return response.packageManager;\n })();\n console.info();\n if (\"preInstall\" in template) {\n await template.preInstall({\n packageManager,\n isFullClone: true,\n projectName,\n projectPath: resolvedProjectPath\n });\n }\n try {\n console.info();\n console.info(ansis.green(`Installing with ${packageManager}...`));\n console.info();\n await installDependencies(resolvedProjectPath, packageManager);\n } catch (e) {\n console.error(\"[vxrn] error installing with \" + packageManager + `\n${e}`);\n process.exit(1);\n }\n const envDefault = path.join(resolvedProjectPath, \".env.default\");\n const env = path.join(resolvedProjectPath, \".env\");\n if (existsSync(envDefault) && !existsSync(env)) {\n await FSExtra.move(envDefault, env);\n }\n if (\"extraSteps\" in template) {\n await template.extraSteps({\n packageManager,\n isFullClone: true,\n projectName,\n projectPath: resolvedProjectPath\n });\n }\n console.info();\n}\nfunction updatePackageJsonName(projectName, dir) {\n const packageJsonPath = path.join(dir, \"package.json\");\n if (existsSync(packageJsonPath)) {\n const content = readFileSync(packageJsonPath).toString();\n const contentWithUpdatedName = content.replace(\n /(\"name\": \")(.*)(\",)/,\n `$1${projectName}$3`\n );\n writeFileSync(packageJsonPath, contentWithUpdatedName);\n }\n}\nfunction updatePackageJsonVersions(version, dir) {\n const packageJsonPath = path.join(dir, \"package.json\");\n if (existsSync(packageJsonPath)) {\n const content = readFileSync(packageJsonPath).toString();\n const contentWithUpdatedVersions = content.replace(/\"workspace:\\^\"/gm, `\"^${version}\"`).replace(/\"workspace:~\"/gm, `\"~${version}\"`).replace(/\"workspace:\\*\"/gm, `\"^${version}\"`);\n writeFileSync(packageJsonPath, contentWithUpdatedVersions);\n }\n}\nfunction updateAppJsonName(projectName, dir) {\n const appJsonPath = path.join(dir, \"app.json\");\n if (existsSync(appJsonPath)) {\n const content = readFileSync(appJsonPath).toString();\n const projectSlug = projectName.toLowerCase().replace(/\\s/g, \"-\");\n const contentWithUpdatedName = content.replace(/(\"name\": \")(.*)(\",)/, `$1${projectName}$3`).replace(/(\"slug\": \")(.*)(\",)/, `$1${projectSlug}$3`);\n writeFileSync(appJsonPath, contentWithUpdatedName);\n }\n}\nexport {\n create\n};\n//# sourceMappingURL=create.js.map\n"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import ansis from "ansis";
|
|
2
2
|
import FSExtra from "fs-extra";
|
|
3
|
-
import {
|
|
3
|
+
import { exec, execSync } from "child_process";
|
|
4
4
|
import fs from "fs";
|
|
5
5
|
import path from "path";
|
|
6
6
|
import { promisify } from "util";
|
|
@@ -12,222 +12,223 @@ import { installDependencies } from "./helpers/installDependencies.native.js";
|
|
|
12
12
|
import { validateNpmName } from "./helpers/validateNpmPackage.native.js";
|
|
13
13
|
import prompts from "prompts";
|
|
14
14
|
import { detectPackageManager } from "@vxrn/utils";
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
return !!right[Symbol.hasInstance](left);
|
|
18
|
-
} else {
|
|
19
|
-
return left instanceof right;
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
var {
|
|
23
|
-
existsSync,
|
|
24
|
-
readFileSync,
|
|
25
|
-
writeFileSync
|
|
26
|
-
} = FSExtra;
|
|
15
|
+
|
|
16
|
+
var { existsSync, readFileSync, writeFileSync } = FSExtra;
|
|
27
17
|
async function create(args) {
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
18
|
+
var gitVersionString = Number.parseFloat(execSync(`git --version`).toString().replace(`git version `, "").trim());
|
|
19
|
+
if (gitVersionString < 2.27) {
|
|
20
|
+
console.error(`
|
|
31
21
|
|
|
32
22
|
! vxrn can't install: Git version must be >= 2.27
|
|
33
23
|
|
|
34
24
|
`);
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
25
|
+
process.exit(1);
|
|
26
|
+
}
|
|
27
|
+
var projectName = args.name || "";
|
|
28
|
+
var resolvedProjectPath = path.resolve(process.cwd(), projectName);
|
|
29
|
+
async function promptForName() {
|
|
30
|
+
projectName = await getProjectName();
|
|
31
|
+
resolvedProjectPath = path.resolve(process.cwd(), projectName);
|
|
32
|
+
}
|
|
33
|
+
if (projectName) {
|
|
34
|
+
if (fs.existsSync(resolvedProjectPath)) {
|
|
35
|
+
console.error(`Error: folder already exists: ${resolvedProjectPath}`);
|
|
36
|
+
process.exit(1);
|
|
37
|
+
}
|
|
38
|
+
} else {
|
|
39
|
+
await promptForName();
|
|
40
|
+
while (fs.existsSync(resolvedProjectPath)) {
|
|
41
|
+
console.info();
|
|
42
|
+
console.info(ansis.yellow("!"), `The folder ${ansis.underline(ansis.blueBright(projectName))} already exists, lets try another name`);
|
|
43
|
+
console.info();
|
|
44
|
+
console.info();
|
|
45
|
+
await promptForName();
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
console.info();
|
|
49
|
+
var template = await getTemplateInfo(args.template);
|
|
50
|
+
if (template.type === "external-link") {
|
|
51
|
+
var url = template.externalUrl;
|
|
52
|
+
console.info();
|
|
53
|
+
console.info(ansis.green(`Opening ${url}...`));
|
|
54
|
+
console.info();
|
|
55
|
+
var openCmd = process.platform === "darwin" ? "open" : process.platform === "win32" ? "start" : "xdg-open";
|
|
56
|
+
exec(`${openCmd} ${url}`);
|
|
57
|
+
process.exit(0);
|
|
58
|
+
}
|
|
59
|
+
var { valid, problems } = validateNpmName(projectName);
|
|
60
|
+
if (!valid) {
|
|
61
|
+
console.error(`Could not create a project called ${ansis.red(`"${projectName}"`)} because of npm naming restrictions:`);
|
|
62
|
+
problems.forEach(function(p) {
|
|
63
|
+
return console.error(` ${ansis.red.bold("*")} ${p}`);
|
|
64
|
+
});
|
|
65
|
+
process.exit(1);
|
|
66
|
+
}
|
|
67
|
+
console.info();
|
|
68
|
+
var Spinner = await import("yocto-spinner").then(function(x) {
|
|
69
|
+
return x.default;
|
|
70
|
+
});
|
|
71
|
+
var spinner = Spinner({
|
|
72
|
+
text: `Creating...`,
|
|
73
|
+
spinner: {
|
|
74
|
+
frames: [
|
|
75
|
+
"⠋",
|
|
76
|
+
"⠙",
|
|
77
|
+
"⠹",
|
|
78
|
+
"⠸",
|
|
79
|
+
"⠼",
|
|
80
|
+
"⠴",
|
|
81
|
+
"⠦",
|
|
82
|
+
"⠧",
|
|
83
|
+
"⠇",
|
|
84
|
+
"⠏"
|
|
85
|
+
],
|
|
86
|
+
interval: 100
|
|
87
|
+
}
|
|
88
|
+
}).start();
|
|
89
|
+
await FSExtra.mkdir(resolvedProjectPath);
|
|
90
|
+
try {
|
|
91
|
+
await cloneStarter(template, resolvedProjectPath);
|
|
92
|
+
process.chdir(resolvedProjectPath);
|
|
93
|
+
} catch (e) {
|
|
94
|
+
console.error(`[vxrn] Failed to copy example into ${resolvedProjectPath}
|
|
97
95
|
|
|
98
96
|
`, e);
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
97
|
+
process.exit(1);
|
|
98
|
+
}
|
|
99
|
+
spinner.stop();
|
|
100
|
+
console.info();
|
|
101
|
+
console.info();
|
|
102
|
+
console.info(ansis.green(`${projectName} created!`));
|
|
103
|
+
console.info();
|
|
104
|
+
console.info();
|
|
105
|
+
var packageJson = await (async function() {
|
|
106
|
+
var errorMessages = [];
|
|
107
|
+
try {
|
|
108
|
+
var dirname = typeof __dirname !== "undefined" ? __dirname : path.dirname(fileURLToPath(import.meta.url));
|
|
109
|
+
var possiblePaths = [
|
|
110
|
+
path.join(dirname, "..", "package.json"),
|
|
111
|
+
path.join(dirname, "..", "..", "package.json"),
|
|
112
|
+
path.join(dirname, "..", "..", "..", "package.json")
|
|
113
|
+
];
|
|
114
|
+
var readFile = promisify(fs.readFile);
|
|
115
|
+
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
|
|
116
|
+
try {
|
|
117
|
+
for (var _iterator = possiblePaths[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
|
118
|
+
var p = _step.value;
|
|
119
|
+
try {
|
|
120
|
+
var data = JSON.parse(await readFile(p));
|
|
121
|
+
return data;
|
|
122
|
+
} catch (e) {
|
|
123
|
+
if (e instanceof Error) errorMessages.push(e.message);
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
} catch (err) {
|
|
127
|
+
_didIteratorError = true;
|
|
128
|
+
_iteratorError = err;
|
|
129
|
+
} finally {
|
|
130
|
+
try {
|
|
131
|
+
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
|
132
|
+
_iterator.return();
|
|
133
|
+
}
|
|
134
|
+
} finally {
|
|
135
|
+
if (_didIteratorError) {
|
|
136
|
+
throw _iteratorError;
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
throw new Error("package.json not found in any of the expected locations.");
|
|
141
|
+
} catch (e) {
|
|
142
|
+
console.error("Failed to load package.json:", errorMessages.join("\n"));
|
|
143
|
+
throw e;
|
|
144
|
+
}
|
|
145
|
+
})();
|
|
146
|
+
updatePackageJsonName(projectName, resolvedProjectPath);
|
|
147
|
+
updatePackageJsonVersions(packageJson.version, resolvedProjectPath);
|
|
148
|
+
updateAppJsonName(projectName, resolvedProjectPath);
|
|
149
|
+
var packageManager = await (async function() {
|
|
150
|
+
if ("packageManager" in template) {
|
|
151
|
+
return template.packageManager;
|
|
152
|
+
}
|
|
153
|
+
var found = await detectPackageManager();
|
|
154
|
+
var allFound = Object.keys(found);
|
|
155
|
+
if (allFound.length === 1) {
|
|
156
|
+
return allFound[0];
|
|
157
|
+
}
|
|
158
|
+
var response = await prompts({
|
|
159
|
+
name: "packageManager",
|
|
160
|
+
type: "select",
|
|
161
|
+
message: `Package Manager:`,
|
|
162
|
+
choices: allFound.filter(function(x) {
|
|
163
|
+
return found[x];
|
|
164
|
+
}).map(function(name) {
|
|
165
|
+
return {
|
|
166
|
+
title: name,
|
|
167
|
+
value: name
|
|
168
|
+
};
|
|
169
|
+
})
|
|
170
|
+
});
|
|
171
|
+
return response.packageManager;
|
|
172
|
+
})();
|
|
173
|
+
console.info();
|
|
174
|
+
if ("preInstall" in template) {
|
|
175
|
+
await template.preInstall({
|
|
176
|
+
packageManager,
|
|
177
|
+
isFullClone: true,
|
|
178
|
+
projectName,
|
|
179
|
+
projectPath: resolvedProjectPath
|
|
180
|
+
});
|
|
181
|
+
}
|
|
182
|
+
try {
|
|
183
|
+
console.info();
|
|
184
|
+
console.info(ansis.green(`Installing with ${packageManager}...`));
|
|
185
|
+
console.info();
|
|
186
|
+
await installDependencies(resolvedProjectPath, packageManager);
|
|
187
|
+
} catch (e) {
|
|
188
|
+
console.error("[vxrn] error installing with " + packageManager + `
|
|
189
189
|
${e}`);
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
190
|
+
process.exit(1);
|
|
191
|
+
}
|
|
192
|
+
var envDefault = path.join(resolvedProjectPath, ".env.default");
|
|
193
|
+
var env = path.join(resolvedProjectPath, ".env");
|
|
194
|
+
if (existsSync(envDefault) && !existsSync(env)) {
|
|
195
|
+
await FSExtra.move(envDefault, env);
|
|
196
|
+
}
|
|
197
|
+
if ("extraSteps" in template) {
|
|
198
|
+
await template.extraSteps({
|
|
199
|
+
packageManager,
|
|
200
|
+
isFullClone: true,
|
|
201
|
+
projectName,
|
|
202
|
+
projectPath: resolvedProjectPath
|
|
203
|
+
});
|
|
204
|
+
}
|
|
205
|
+
console.info();
|
|
206
206
|
}
|
|
207
207
|
function updatePackageJsonName(projectName, dir) {
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
208
|
+
var packageJsonPath = path.join(dir, "package.json");
|
|
209
|
+
if (existsSync(packageJsonPath)) {
|
|
210
|
+
var content = readFileSync(packageJsonPath).toString();
|
|
211
|
+
var contentWithUpdatedName = content.replace(/("name": ")(.*)(",)/, `$1${projectName}$3`);
|
|
212
|
+
writeFileSync(packageJsonPath, contentWithUpdatedName);
|
|
213
|
+
}
|
|
214
214
|
}
|
|
215
215
|
function updatePackageJsonVersions(version, dir) {
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
216
|
+
var packageJsonPath = path.join(dir, "package.json");
|
|
217
|
+
if (existsSync(packageJsonPath)) {
|
|
218
|
+
var content = readFileSync(packageJsonPath).toString();
|
|
219
|
+
var contentWithUpdatedVersions = content.replace(/"workspace:\^"/gm, `"^${version}"`).replace(/"workspace:~"/gm, `"~${version}"`).replace(/"workspace:\*"/gm, `"^${version}"`);
|
|
220
|
+
writeFileSync(packageJsonPath, contentWithUpdatedVersions);
|
|
221
|
+
}
|
|
222
222
|
}
|
|
223
223
|
function updateAppJsonName(projectName, dir) {
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
224
|
+
var appJsonPath = path.join(dir, "app.json");
|
|
225
|
+
if (existsSync(appJsonPath)) {
|
|
226
|
+
var content = readFileSync(appJsonPath).toString();
|
|
227
|
+
var projectSlug = projectName.toLowerCase().replace(/\s/g, "-");
|
|
228
|
+
var contentWithUpdatedName = content.replace(/("name": ")(.*)(",)/, `$1${projectName}$3`).replace(/("slug": ")(.*)(",)/, `$1${projectSlug}$3`);
|
|
229
|
+
writeFileSync(appJsonPath, contentWithUpdatedName);
|
|
230
|
+
}
|
|
231
231
|
}
|
|
232
|
+
|
|
232
233
|
export { create };
|
|
233
234
|
//# sourceMappingURL=create.native.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["ansis","FSExtra","execSync","exec","fs","path","promisify","fileURLToPath","cloneStarter","getProjectName","getTemplateInfo","installDependencies","validateNpmName","prompts","detectPackageManager","_instanceof","left","right","Symbol","hasInstance","existsSync","readFileSync","writeFileSync","create","args","gitVersionString","Number","parseFloat","toString","replace","trim","console","error","process","exit","projectName","name","resolvedProjectPath","resolve","cwd","promptForName","info","yellow","underline","blueBright","template","type","url","externalUrl","green","openCmd","platform","valid","problems","red","forEach","p","bold","Spinner","then","x","default","spinner","text","frames","interval","start","mkdir","chdir","e","stop","packageJson","errorMessages","dirname","__dirname","import","meta","possiblePaths","join","readFile","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","iterator","_step","next","done","value","data","JSON","parse","Error","push","message","err","return","updatePackageJsonName","updatePackageJsonVersions","version","updateAppJsonName","packageManager","found","allFound","Object","keys","length","response","choices","filter","map","title","preInstall","isFullClone","projectPath","envDefault","env","move","extraSteps"],"sources":["../../src/create.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"create.native.js","names":[],"sources":["esm/create.native.js"],"sourcesContent":["import ansis from \"ansis\";\nimport FSExtra from \"fs-extra\";\nimport { execSync, exec } from \"child_process\";\nimport fs from \"fs\";\nimport path from \"path\";\nimport { promisify } from \"util\";\nimport { fileURLToPath } from \"url\";\nimport { cloneStarter } from \"./helpers/cloneStarter\";\nimport { getProjectName } from \"./helpers/getProjectName\";\nimport { getTemplateInfo } from \"./helpers/getTemplateInfo\";\nimport { installDependencies } from \"./helpers/installDependencies\";\nimport { validateNpmName } from \"./helpers/validateNpmPackage\";\nimport prompts from \"prompts\";\nimport { detectPackageManager } from \"@vxrn/utils\";\nvar { existsSync, readFileSync, writeFileSync } = FSExtra;\nasync function create(args) {\n var gitVersionString = Number.parseFloat(execSync(`git --version`).toString().replace(`git version `, \"\").trim());\n if (gitVersionString < 2.27) {\n console.error(`\n\n ! vxrn can't install: Git version must be >= 2.27\n\n`);\n process.exit(1);\n }\n var projectName = args.name || \"\";\n var resolvedProjectPath = path.resolve(process.cwd(), projectName);\n async function promptForName() {\n projectName = await getProjectName();\n resolvedProjectPath = path.resolve(process.cwd(), projectName);\n }\n if (projectName) {\n if (fs.existsSync(resolvedProjectPath)) {\n console.error(`Error: folder already exists: ${resolvedProjectPath}`);\n process.exit(1);\n }\n } else {\n await promptForName();\n while (fs.existsSync(resolvedProjectPath)) {\n console.info();\n console.info(ansis.yellow(\"!\"), `The folder ${ansis.underline(ansis.blueBright(projectName))} already exists, lets try another name`);\n console.info();\n console.info();\n await promptForName();\n }\n }\n console.info();\n var template = await getTemplateInfo(args.template);\n if (template.type === \"external-link\") {\n var url = template.externalUrl;\n console.info();\n console.info(ansis.green(`Opening ${url}...`));\n console.info();\n var openCmd = process.platform === \"darwin\" ? \"open\" : process.platform === \"win32\" ? \"start\" : \"xdg-open\";\n exec(`${openCmd} ${url}`);\n process.exit(0);\n }\n var { valid, problems } = validateNpmName(projectName);\n if (!valid) {\n console.error(`Could not create a project called ${ansis.red(`\"${projectName}\"`)} because of npm naming restrictions:`);\n problems.forEach(function(p) {\n return console.error(` ${ansis.red.bold(\"*\")} ${p}`);\n });\n process.exit(1);\n }\n console.info();\n var Spinner = await import(\"yocto-spinner\").then(function(x) {\n return x.default;\n });\n var spinner = Spinner({\n text: `Creating...`,\n spinner: {\n frames: [\n \"\\u280B\",\n \"\\u2819\",\n \"\\u2839\",\n \"\\u2838\",\n \"\\u283C\",\n \"\\u2834\",\n \"\\u2826\",\n \"\\u2827\",\n \"\\u2807\",\n \"\\u280F\"\n ],\n interval: 100\n }\n }).start();\n await FSExtra.mkdir(resolvedProjectPath);\n try {\n await cloneStarter(template, resolvedProjectPath);\n process.chdir(resolvedProjectPath);\n } catch (e) {\n console.error(`[vxrn] Failed to copy example into ${resolvedProjectPath}\n\n`, e);\n process.exit(1);\n }\n spinner.stop();\n console.info();\n console.info();\n console.info(ansis.green(`${projectName} created!`));\n console.info();\n console.info();\n var packageJson = await (async function() {\n var errorMessages = [];\n try {\n var dirname = typeof __dirname !== \"undefined\" ? __dirname : path.dirname(fileURLToPath(import.meta.url));\n var possiblePaths = [\n path.join(dirname, \"..\", \"package.json\"),\n path.join(dirname, \"..\", \"..\", \"package.json\"),\n path.join(dirname, \"..\", \"..\", \"..\", \"package.json\")\n ];\n var readFile = promisify(fs.readFile);\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = possiblePaths[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var p = _step.value;\n try {\n var data = JSON.parse(await readFile(p));\n return data;\n } catch (e) {\n if (e instanceof Error) errorMessages.push(e.message);\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n throw new Error(\"package.json not found in any of the expected locations.\");\n } catch (e) {\n console.error(\"Failed to load package.json:\", errorMessages.join(\"\\n\"));\n throw e;\n }\n })();\n updatePackageJsonName(projectName, resolvedProjectPath);\n updatePackageJsonVersions(packageJson.version, resolvedProjectPath);\n updateAppJsonName(projectName, resolvedProjectPath);\n var packageManager = await (async function() {\n if (\"packageManager\" in template) {\n return template.packageManager;\n }\n var found = await detectPackageManager();\n var allFound = Object.keys(found);\n if (allFound.length === 1) {\n return allFound[0];\n }\n var response = await prompts({\n name: \"packageManager\",\n type: \"select\",\n message: `Package Manager:`,\n choices: allFound.filter(function(x) {\n return found[x];\n }).map(function(name) {\n return {\n title: name,\n value: name\n };\n })\n });\n return response.packageManager;\n })();\n console.info();\n if (\"preInstall\" in template) {\n await template.preInstall({\n packageManager,\n isFullClone: true,\n projectName,\n projectPath: resolvedProjectPath\n });\n }\n try {\n console.info();\n console.info(ansis.green(`Installing with ${packageManager}...`));\n console.info();\n await installDependencies(resolvedProjectPath, packageManager);\n } catch (e) {\n console.error(\"[vxrn] error installing with \" + packageManager + `\n${e}`);\n process.exit(1);\n }\n var envDefault = path.join(resolvedProjectPath, \".env.default\");\n var env = path.join(resolvedProjectPath, \".env\");\n if (existsSync(envDefault) && !existsSync(env)) {\n await FSExtra.move(envDefault, env);\n }\n if (\"extraSteps\" in template) {\n await template.extraSteps({\n packageManager,\n isFullClone: true,\n projectName,\n projectPath: resolvedProjectPath\n });\n }\n console.info();\n}\nfunction updatePackageJsonName(projectName, dir) {\n var packageJsonPath = path.join(dir, \"package.json\");\n if (existsSync(packageJsonPath)) {\n var content = readFileSync(packageJsonPath).toString();\n var contentWithUpdatedName = content.replace(/(\"name\": \")(.*)(\",)/, `$1${projectName}$3`);\n writeFileSync(packageJsonPath, contentWithUpdatedName);\n }\n}\nfunction updatePackageJsonVersions(version, dir) {\n var packageJsonPath = path.join(dir, \"package.json\");\n if (existsSync(packageJsonPath)) {\n var content = readFileSync(packageJsonPath).toString();\n var contentWithUpdatedVersions = content.replace(/\"workspace:\\^\"/gm, `\"^${version}\"`).replace(/\"workspace:~\"/gm, `\"~${version}\"`).replace(/\"workspace:\\*\"/gm, `\"^${version}\"`);\n writeFileSync(packageJsonPath, contentWithUpdatedVersions);\n }\n}\nfunction updateAppJsonName(projectName, dir) {\n var appJsonPath = path.join(dir, \"app.json\");\n if (existsSync(appJsonPath)) {\n var content = readFileSync(appJsonPath).toString();\n var projectSlug = projectName.toLowerCase().replace(/\\s/g, \"-\");\n var contentWithUpdatedName = content.replace(/(\"name\": \")(.*)(\",)/, `$1${projectName}$3`).replace(/(\"slug\": \")(.*)(\",)/, `$1${projectSlug}$3`);\n writeFileSync(appJsonPath, contentWithUpdatedName);\n }\n}\nexport {\n create\n};\n//# sourceMappingURL=create.js.map\n"],"mappings":"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"}
|