create-vxrn 2.0.0-beta.99.1 → 2.6.0
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 +2 -2
- package/dist/cjs/create.cjs +19 -19
- package/dist/cjs/create.native.cjs +21 -21
- package/dist/cjs/create.native.js +21 -21
- package/dist/cjs/create.native.js.map +1 -1
- package/dist/cjs/helpers/cloneStarter.cjs +4 -4
- package/dist/cjs/helpers/cloneStarter.native.cjs +6 -6
- package/dist/cjs/helpers/cloneStarter.native.js +6 -6
- package/dist/cjs/helpers/cloneStarter.native.js.map +1 -1
- package/dist/cjs/helpers/getProjectName.native.cjs +2 -2
- package/dist/cjs/helpers/getProjectName.native.js +2 -2
- package/dist/cjs/helpers/getProjectName.native.js.map +1 -1
- package/dist/cjs/helpers/getTemplateInfo.native.cjs +2 -2
- package/dist/cjs/helpers/getTemplateInfo.native.js +2 -2
- package/dist/cjs/helpers/getTemplateInfo.native.js.map +1 -1
- package/dist/cjs/index.cjs +4 -1
- package/dist/cjs/index.native.cjs +4 -1
- package/dist/cjs/index.native.js +4 -1
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/cjs/steps/bare.native.cjs +1 -1
- package/dist/cjs/steps/bare.native.js +1 -1
- package/dist/cjs/steps/bare.native.js.map +1 -1
- package/dist/cjs/steps/fullstack.native.cjs +2 -2
- package/dist/cjs/steps/fullstack.native.js +2 -2
- package/dist/cjs/steps/fullstack.native.js.map +1 -1
- package/dist/cjs/steps/one.native.cjs +3 -3
- package/dist/cjs/steps/one.native.js +3 -3
- package/dist/cjs/steps/one.native.js.map +1 -1
- package/dist/cjs/templates.cjs +1 -1
- package/dist/cjs/templates.native.cjs +1 -1
- package/dist/cjs/templates.native.js +1 -1
- package/dist/cjs/templates.native.js.map +1 -1
- package/dist/esm/create.mjs +19 -19
- package/dist/esm/create.mjs.map +1 -1
- package/dist/esm/create.native.js +21 -21
- package/dist/esm/create.native.js.map +1 -1
- package/dist/esm/helpers/cloneStarter.mjs +4 -4
- package/dist/esm/helpers/cloneStarter.mjs.map +1 -1
- package/dist/esm/helpers/cloneStarter.native.js +6 -6
- package/dist/esm/helpers/cloneStarter.native.js.map +1 -1
- package/dist/esm/helpers/getProjectName.native.js +2 -2
- package/dist/esm/helpers/getProjectName.native.js.map +1 -1
- package/dist/esm/helpers/getTemplateInfo.native.js +2 -2
- package/dist/esm/helpers/getTemplateInfo.native.js.map +1 -1
- package/dist/esm/index.mjs +4 -1
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/index.native.js +4 -1
- package/dist/esm/index.native.js.map +1 -1
- package/dist/esm/steps/bare.native.js +1 -1
- package/dist/esm/steps/bare.native.js.map +1 -1
- package/dist/esm/steps/fullstack.native.js +2 -2
- package/dist/esm/steps/fullstack.native.js.map +1 -1
- package/dist/esm/steps/one.native.js +3 -3
- package/dist/esm/steps/one.native.js.map +1 -1
- package/dist/esm/templates.mjs +1 -1
- package/dist/esm/templates.mjs.map +1 -1
- package/dist/esm/templates.native.js +1 -1
- package/dist/esm/templates.native.js.map +1 -1
- package/package.json +10 -8
- package/src/create.ts +25 -26
- package/src/helpers/cloneStarter.ts +6 -4
- package/src/index.ts +1 -1
- package/src/templates.ts +1 -1
- package/types/create.d.ts +5 -0
- package/types/create.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/validateNpmPackage.d.ts +5 -0
- package/types/helpers/validateNpmPackage.d.ts.map +1 -0
- package/types/index.d.ts +3 -0
- package/types/index.d.ts.map +1 -0
- package/types/steps/bare.d.ts +5 -0
- package/types/steps/bare.d.ts.map +1 -0
- package/types/steps/fullstack.d.ts +4 -0
- package/types/steps/fullstack.d.ts.map +1 -0
- package/types/steps/one.d.ts +4 -0
- package/types/steps/one.d.ts.map +1 -0
- package/types/steps/types.d.ts +9 -0
- package/types/steps/types.d.ts.map +1 -0
- package/types/templates.d.ts +41 -0
- package/types/templates.d.ts.map +1 -0
- package/dist/esm/index.js +0 -72
- package/dist/esm/index.js.map +0 -1
|
@@ -6,8 +6,9 @@ import { exec, execPromiseQuiet } from "@vxrn/utils";
|
|
|
6
6
|
|
|
7
7
|
var home = homedir();
|
|
8
8
|
var vxrnDir = join(home, ".vxrn");
|
|
9
|
-
var cloneStarter = async function(template, resolvedProjectPath) {
|
|
10
|
-
var
|
|
9
|
+
var cloneStarter = async function cloneStarter2(template, resolvedProjectPath) {
|
|
10
|
+
var branch = template.repo.branch;
|
|
11
|
+
var dir = await setupVxrnDotDir(template, branch, join(vxrnDir, "vxrn", `${template.repo.url.split("/").at(-1)}-${branch}`));
|
|
11
12
|
if (!await pathExists(dir)) {
|
|
12
13
|
console.error(`Missing template for ${template.value} in ${dir}`);
|
|
13
14
|
process.exit(1);
|
|
@@ -18,9 +19,8 @@ var cloneStarter = async function(template, resolvedProjectPath) {
|
|
|
18
19
|
await execPromiseQuiet(`git init`, { cwd: resolvedProjectPath });
|
|
19
20
|
}
|
|
20
21
|
};
|
|
21
|
-
async function setupVxrnDotDir(template, targetGitDir) {
|
|
22
|
-
var isRetry = arguments.length >
|
|
23
|
-
var branch = template.repo.branch;
|
|
22
|
+
async function setupVxrnDotDir(template, branch, targetGitDir) {
|
|
23
|
+
var isRetry = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : false;
|
|
24
24
|
await ensureDir(vxrnDir);
|
|
25
25
|
var isInSubDir = template.repo.dir.length > 0;
|
|
26
26
|
if (!await pathExists(targetGitDir)) {
|
|
@@ -77,7 +77,7 @@ ${err.stack}` : "trying from fresh."}`);
|
|
|
77
77
|
process.exit(1);
|
|
78
78
|
}
|
|
79
79
|
await rimraf(targetGitDir);
|
|
80
|
-
return await setupVxrnDotDir(template, targetGitDir, true);
|
|
80
|
+
return await setupVxrnDotDir(template, branch, targetGitDir, true);
|
|
81
81
|
}
|
|
82
82
|
}
|
|
83
83
|
function isInGitRepo() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cloneStarter.native.js","names":[],"sources":["esm/helpers/cloneStarter.native.js"],"sourcesContent":["import { copy, ensureDir, pathExists } from \"fs-extra\";\nimport { homedir } from \"os\";\nimport { join, sep } from \"path\";\nimport { rimraf } from \"rimraf\";\nimport { exec, execPromiseQuiet } from \"@vxrn/utils\";\nvar home = homedir();\nvar vxrnDir = join(home, \".vxrn\");\nvar cloneStarter = async function(template, resolvedProjectPath) {\n var dir = await setupVxrnDotDir(template, join(vxrnDir, \"vxrn\", template.repo.url.split(\"/\").at(-1)));\n if (!await pathExists(dir)) {\n console.error(`Missing template for ${template.value} in ${dir}`);\n process.exit(1);\n }\n await copy(dir, resolvedProjectPath);\n await rimraf(join(resolvedProjectPath, \".git\"));\n if (!isInGitRepo()) {\n await execPromiseQuiet(`git init`, {\n cwd: resolvedProjectPath\n });\n }\n};\nasync function setupVxrnDotDir(template, targetGitDir) {\n var isRetry = arguments.length >
|
|
1
|
+
{"version":3,"file":"cloneStarter.native.js","names":[],"sources":["esm/helpers/cloneStarter.native.js"],"sourcesContent":["import { copy, ensureDir, pathExists } from \"fs-extra\";\nimport { homedir } from \"os\";\nimport { join, sep } from \"path\";\nimport { rimraf } from \"rimraf\";\nimport { exec, execPromiseQuiet } from \"@vxrn/utils\";\nvar home = homedir();\nvar vxrnDir = join(home, \".vxrn\");\nvar cloneStarter = async function cloneStarter2(template, resolvedProjectPath) {\n var branch = template.repo.branch;\n var dir = await setupVxrnDotDir(template, branch, join(vxrnDir, \"vxrn\", `${template.repo.url.split(\"/\").at(-1)}-${branch}`));\n if (!await pathExists(dir)) {\n console.error(`Missing template for ${template.value} in ${dir}`);\n process.exit(1);\n }\n await copy(dir, resolvedProjectPath);\n await rimraf(join(resolvedProjectPath, \".git\"));\n if (!isInGitRepo()) {\n await execPromiseQuiet(`git init`, {\n cwd: resolvedProjectPath\n });\n }\n};\nasync function setupVxrnDotDir(template, branch, targetGitDir) {\n var isRetry = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : false;\n await ensureDir(vxrnDir);\n var isInSubDir = template.repo.dir.length > 0;\n if (!await pathExists(targetGitDir)) {\n var sourceGitRepo = template.repo.url;\n var sourceGitRepoSshFallback = template.repo.sshFallback;\n var cmd = `git clone --branch ${branch} ${isInSubDir ? \"--depth 1 --sparse --filter=blob:none \" : \"\"}${sourceGitRepo} \"${targetGitDir}\"`;\n try {\n await execPromiseQuiet(cmd);\n } catch (error) {\n if (cmd.includes(\"https://\")) {\n console.info(`https failed - trying with ssh now...`);\n var sshCmd = cmd.replace(sourceGitRepo, sourceGitRepoSshFallback);\n await execPromiseQuiet(sshCmd);\n } else {\n throw error;\n }\n }\n } else {\n if (!await pathExists(join(targetGitDir, \".git\"))) {\n console.error(`Corrupt vxrn directory, please delete ${targetGitDir} folder and re-run`);\n process.exit(1);\n }\n }\n if (isInSubDir) {\n try {\n var _template_repo_dir_join;\n var cmd1 = `git sparse-checkout set ${(_template_repo_dir_join = template.repo.dir.join(sep)) !== null && _template_repo_dir_join !== void 0 ? _template_repo_dir_join : \".\"}`;\n await execPromiseQuiet(cmd1, {\n cwd: targetGitDir\n });\n } catch (err) {\n if (`${err}`.includes(`code 128`)) {\n console.warn(`\\u26A0\\uFE0F Note: you need to be sure you can git clone from Github, your SSH key isn't valid.\n \n - See: https://docs.github.com/en/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account\n\n`);\n }\n throw err;\n }\n }\n try {\n var cmd2 = `git pull --rebase --allow-unrelated-histories --depth 1 origin ${branch}`;\n await execPromiseQuiet(cmd2, {\n cwd: targetGitDir\n });\n console.info();\n var dir = join(targetGitDir, ...template.repo.dir);\n if (!await pathExists(dir)) {\n throw new Error(`Re-clone...`);\n }\n return dir;\n } catch (err) {\n if (isRetry) {\n console.info(`Error updating: ${err.message} ${isRetry ? `failing.\n${err.stack}` : \"trying from fresh.\"}`);\n console.info(`Please file an issue: https://github.com/onejs/one/issues/new?assignees=&labels=&template=bug_report.md&title=`);\n process.exit(1);\n }\n await rimraf(targetGitDir);\n return await setupVxrnDotDir(template, branch, targetGitDir, true);\n }\n}\nfunction isInGitRepo() {\n try {\n exec(\"git rev-parse --is-inside-work-tree\", {\n stdio: \"ignore\"\n });\n return true;\n } catch (error) {\n return false;\n }\n}\nexport {\n cloneStarter\n};\n//# sourceMappingURL=cloneStarter.js.map\n"],"mappings":";;;;;;;AAKA,IAAI,OAAO,QAAQ;AACnB,IAAI,UAAU,KAAK,MAAM,OAAO;AAChC,IAAI,eAAe,eAAe,cAAc,UAAU,qBAAqB;CAC7E,IAAI,SAAS,SAAS,KAAK;CAC3B,IAAI,MAAM,MAAM,gBAAgB,UAAU,QAAQ,KAAK,SAAS,QAAQ,GAAG,SAAS,KAAK,IAAI,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,QAAQ,CAAC;CAC3H,IAAI,CAAC,MAAM,WAAW,GAAG,GAAG;EAC1B,QAAQ,MAAM,wBAAwB,SAAS,MAAM,MAAM,KAAK;EAChE,QAAQ,KAAK,CAAC;CAChB;CACA,MAAM,KAAK,KAAK,mBAAmB;CACnC,MAAM,OAAO,KAAK,qBAAqB,MAAM,CAAC;CAC9C,IAAI,CAAC,YAAY,GAAG;EAClB,MAAM,iBAAiB,YAAY,EACjC,KAAK,oBACP,CAAC;CACH;AACF;AACA,eAAe,gBAAgB,UAAU,QAAQ,cAAc;CAC7D,IAAI,UAAU,UAAU,SAAS,KAAK,UAAU,OAAO,KAAK,IAAI,UAAU,KAAK;CAC/E,MAAM,UAAU,OAAO;CACvB,IAAI,aAAa,SAAS,KAAK,IAAI,SAAS;CAC5C,IAAI,CAAC,MAAM,WAAW,YAAY,GAAG;EACnC,IAAI,gBAAgB,SAAS,KAAK;EAClC,IAAI,2BAA2B,SAAS,KAAK;EAC7C,IAAI,MAAM,sBAAsB,OAAO,GAAG,aAAa,2CAA2C,KAAK,cAAc,IAAI,aAAa;EACtI,IAAI;GACF,MAAM,iBAAiB,GAAG;EAC5B,SAAS,OAAO;GACd,IAAI,IAAI,SAAS,UAAU,GAAG;IAC5B,QAAQ,KAAK,uCAAuC;IACpD,IAAI,SAAS,IAAI,QAAQ,eAAe,wBAAwB;IAChE,MAAM,iBAAiB,MAAM;GAC/B,OAAO;IACL,MAAM;GACR;EACF;CACF,OAAO;EACL,IAAI,CAAC,MAAM,WAAW,KAAK,cAAc,MAAM,CAAC,GAAG;GACjD,QAAQ,MAAM,yCAAyC,aAAa,mBAAmB;GACvF,QAAQ,KAAK,CAAC;EAChB;CACF;CACA,IAAI,YAAY;EACd,IAAI;GACF,IAAI;GACJ,IAAI,OAAO,4BAA4B,0BAA0B,SAAS,KAAK,IAAI,KAAK,GAAG,OAAO,QAAQ,4BAA4B,KAAK,IAAI,0BAA0B;GACzK,MAAM,iBAAiB,MAAM,EAC3B,KAAK,aACP,CAAC;EACH,SAAS,KAAK;GACZ,IAAI,GAAG,MAAM,SAAS,UAAU,GAAG;IACjC,QAAQ,KAAK;;;;CAIpB;GACK;GACA,MAAM;EACR;CACF;CACA,IAAI;EACF,IAAI,OAAO,kEAAkE;EAC7E,MAAM,iBAAiB,MAAM,EAC3B,KAAK,aACP,CAAC;EACD,QAAQ,KAAK;EACb,IAAI,MAAM,KAAK,cAAc,GAAG,SAAS,KAAK,GAAG;EACjD,IAAI,CAAC,MAAM,WAAW,GAAG,GAAG;GAC1B,MAAM,IAAI,MAAM,aAAa;EAC/B;EACA,OAAO;CACT,SAAS,KAAK;EACZ,IAAI,SAAS;GACX,QAAQ,KAAK,mBAAmB,IAAI,QAAQ,GAAG,UAAU;EAC7D,IAAI,UAAU,sBAAsB;GAChC,QAAQ,KAAK,gHAAgH;GAC7H,QAAQ,KAAK,CAAC;EAChB;EACA,MAAM,OAAO,YAAY;EACzB,OAAO,MAAM,gBAAgB,UAAU,QAAQ,cAAc,IAAI;CACnE;AACF;AACA,SAAS,cAAc;CACrB,IAAI;EACF,KAAK,uCAAuC,EAC1C,OAAO,SACT,CAAC;EACD,OAAO;CACT,SAAS,OAAO;EACd,OAAO;CACT;AACF"}
|
|
@@ -3,7 +3,7 @@ import ansis from "ansis";
|
|
|
3
3
|
import prompts from "prompts";
|
|
4
4
|
import { validateNpmName } from "./validateNpmPackage.native.js";
|
|
5
5
|
|
|
6
|
-
var getProjectName = async function(projectPath) {
|
|
6
|
+
var getProjectName = async function getProjectName2(projectPath) {
|
|
7
7
|
if (typeof projectPath === "string") {
|
|
8
8
|
projectPath = projectPath.trim();
|
|
9
9
|
}
|
|
@@ -17,7 +17,7 @@ var getProjectName = async function(projectPath) {
|
|
|
17
17
|
name: "path",
|
|
18
18
|
message: "Name",
|
|
19
19
|
initial: defaultName,
|
|
20
|
-
validate: function(name2) {
|
|
20
|
+
validate: function validate(name2) {
|
|
21
21
|
var validation = validateNpmName(path.basename(path.resolve(name2)));
|
|
22
22
|
if (validation.valid) {
|
|
23
23
|
return true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getProjectName.native.js","names":[],"sources":["esm/helpers/getProjectName.native.js"],"sourcesContent":["import path from \"path\";\nimport ansis from \"ansis\";\nimport prompts from \"prompts\";\nimport { validateNpmName } from \"./validateNpmPackage\";\nvar getProjectName = async function(projectPath) {\n if (typeof projectPath === \"string\") {\n projectPath = projectPath.trim();\n }\n console.info();\n console.info(ansis.yellow(` Hello. Let's create a new ${ansis.yellowBright(`\\u2460`)} app...`));\n console.info();\n if (!projectPath) {\n var defaultName = \"hello-world\";\n var res = await prompts({\n type: \"text\",\n name: \"path\",\n message: \"Name\",\n initial: defaultName,\n validate: function(name2) {\n var validation = validateNpmName(path.basename(path.resolve(name2)));\n if (validation.valid) {\n return true;\n }\n return \"Invalid name: \" + validation.problems[0];\n }\n });\n if (typeof res.path === \"string\") {\n projectPath = res.path.trim() || defaultName;\n }\n }\n if (!projectPath) {\n var name = `create-vxrn`;\n console.info();\n console.info(\"Please specify the project directory:\");\n console.info(` ${ansis.cyan(name)} ${ansis.green(\"<project-directory>\")}`);\n console.info();\n console.info(\"For example:\");\n console.info(` ${ansis.cyan(name)} ${ansis.green(\"my-app\")}`);\n console.info();\n console.info(`Run ${ansis.cyan(`${name} --help`)} to see all options.`);\n process.exit(1);\n }\n return projectPath;\n};\nexport {\n getProjectName\n};\n//# sourceMappingURL=getProjectName.js.map\n"],"mappings":";;;;;;AAIA,IAAI,iBAAiB,eAAe,aAAa;CAC/
|
|
1
|
+
{"version":3,"file":"getProjectName.native.js","names":[],"sources":["esm/helpers/getProjectName.native.js"],"sourcesContent":["import path from \"path\";\nimport ansis from \"ansis\";\nimport prompts from \"prompts\";\nimport { validateNpmName } from \"./validateNpmPackage\";\nvar getProjectName = async function getProjectName2(projectPath) {\n if (typeof projectPath === \"string\") {\n projectPath = projectPath.trim();\n }\n console.info();\n console.info(ansis.yellow(` Hello. Let's create a new ${ansis.yellowBright(`\\u2460`)} app...`));\n console.info();\n if (!projectPath) {\n var defaultName = \"hello-world\";\n var res = await prompts({\n type: \"text\",\n name: \"path\",\n message: \"Name\",\n initial: defaultName,\n validate: function validate(name2) {\n var validation = validateNpmName(path.basename(path.resolve(name2)));\n if (validation.valid) {\n return true;\n }\n return \"Invalid name: \" + validation.problems[0];\n }\n });\n if (typeof res.path === \"string\") {\n projectPath = res.path.trim() || defaultName;\n }\n }\n if (!projectPath) {\n var name = `create-vxrn`;\n console.info();\n console.info(\"Please specify the project directory:\");\n console.info(` ${ansis.cyan(name)} ${ansis.green(\"<project-directory>\")}`);\n console.info();\n console.info(\"For example:\");\n console.info(` ${ansis.cyan(name)} ${ansis.green(\"my-app\")}`);\n console.info();\n console.info(`Run ${ansis.cyan(`${name} --help`)} to see all options.`);\n process.exit(1);\n }\n return projectPath;\n};\nexport {\n getProjectName\n};\n//# sourceMappingURL=getProjectName.js.map\n"],"mappings":";;;;;;AAIA,IAAI,iBAAiB,eAAe,gBAAgB,aAAa;CAC/D,IAAI,OAAO,gBAAgB,UAAU;EACnC,cAAc,YAAY,KAAK;CACjC;CACA,QAAQ,KAAK;CACb,QAAQ,KAAK,MAAM,OAAO,+BAA+B,MAAM,aAAa,QAAQ,EAAE,SAAS,CAAC;CAChG,QAAQ,KAAK;CACb,IAAI,CAAC,aAAa;EAChB,IAAI,cAAc;EAClB,IAAI,MAAM,MAAM,QAAQ;GACtB,MAAM;GACN,MAAM;GACN,SAAS;GACT,SAAS;GACT,UAAU,SAAS,SAAS,OAAO;IACjC,IAAI,aAAa,gBAAgB,KAAK,SAAS,KAAK,QAAQ,KAAK,CAAC,CAAC;IACnE,IAAI,WAAW,OAAO;KACpB,OAAO;IACT;IACA,OAAO,mBAAmB,WAAW,SAAS;GAChD;EACF,CAAC;EACD,IAAI,OAAO,IAAI,SAAS,UAAU;GAChC,cAAc,IAAI,KAAK,KAAK,KAAK;EACnC;CACF;CACA,IAAI,CAAC,aAAa;EAChB,IAAI,OAAO;EACX,QAAQ,KAAK;EACb,QAAQ,KAAK,uCAAuC;EACpD,QAAQ,KAAK,KAAK,MAAM,KAAK,IAAI,EAAE,GAAG,MAAM,MAAM,qBAAqB,GAAG;EAC1E,QAAQ,KAAK;EACb,QAAQ,KAAK,cAAc;EAC3B,QAAQ,KAAK,KAAK,MAAM,KAAK,IAAI,EAAE,GAAG,MAAM,MAAM,QAAQ,GAAG;EAC7D,QAAQ,KAAK;EACb,QAAQ,KAAK,OAAO,MAAM,KAAK,GAAG,KAAK,QAAQ,EAAE,qBAAqB;EACtE,QAAQ,KAAK,CAAC;CAChB;CACA,OAAO;AACT"}
|
|
@@ -5,7 +5,7 @@ var validTemplates = templates.map(function(param) {
|
|
|
5
5
|
var { value } = param;
|
|
6
6
|
return value;
|
|
7
7
|
}).join(", ");
|
|
8
|
-
var getTemplateInfo = async function(template) {
|
|
8
|
+
var getTemplateInfo = async function getTemplateInfo2(template) {
|
|
9
9
|
var res = getValidTemplate(template);
|
|
10
10
|
if (template && !res) {
|
|
11
11
|
console.warn(`template ${template} is not valid. valid options: ${validTemplates}`);
|
|
@@ -29,7 +29,7 @@ var getTemplateInfo = async function(template) {
|
|
|
29
29
|
}
|
|
30
30
|
return res;
|
|
31
31
|
};
|
|
32
|
-
var getValidTemplate = function(template) {
|
|
32
|
+
var getValidTemplate = function getValidTemplate2(template) {
|
|
33
33
|
return typeof template === "string" && templates.find(function(param) {
|
|
34
34
|
var { value } = param;
|
|
35
35
|
return value === template;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getTemplateInfo.native.js","names":[],"sources":["esm/helpers/getTemplateInfo.native.js"],"sourcesContent":["import prompts from \"prompts\";\nimport { templates } from \"../templates\";\nvar validTemplates = templates.map(function(param) {\n var { value } = param;\n return value;\n}).join(\", \");\nvar getTemplateInfo = async function(template) {\n var res = getValidTemplate(template);\n if (template && !res) {\n console.warn(`template ${template} is not valid. valid options: ${validTemplates}`);\n process.exit(1);\n }\n if (!res) {\n console.info();\n template = (await prompts({\n name: \"template\",\n type: \"select\",\n message: `Template`,\n choices: templates.filter(function(t) {\n return !t.hidden;\n })\n })).template;\n }\n res = getValidTemplate(`${template}`);\n if (!res) {\n console.warn(`template ${template} is not valid. valid options: ${validTemplates}`);\n process.exit(1);\n }\n return res;\n};\nvar getValidTemplate = function(template) {\n return typeof template === \"string\" && templates.find(function(param) {\n var { value } = param;\n return value === template;\n });\n};\nexport {\n getTemplateInfo\n};\n//# sourceMappingURL=getTemplateInfo.js.map\n"],"mappings":";;;;AAEA,IAAI,iBAAiB,UAAU,IAAI,SAAS,OAAO;CACjD,IAAI,EAAE,UAAU;CAChB,OAAO;AACT,CAAC,CAAC,CAAC,KAAK,IAAI;AACZ,IAAI,kBAAkB,eAAe,UAAU;
|
|
1
|
+
{"version":3,"file":"getTemplateInfo.native.js","names":[],"sources":["esm/helpers/getTemplateInfo.native.js"],"sourcesContent":["import prompts from \"prompts\";\nimport { templates } from \"../templates\";\nvar validTemplates = templates.map(function(param) {\n var { value } = param;\n return value;\n}).join(\", \");\nvar getTemplateInfo = async function getTemplateInfo2(template) {\n var res = getValidTemplate(template);\n if (template && !res) {\n console.warn(`template ${template} is not valid. valid options: ${validTemplates}`);\n process.exit(1);\n }\n if (!res) {\n console.info();\n template = (await prompts({\n name: \"template\",\n type: \"select\",\n message: `Template`,\n choices: templates.filter(function(t) {\n return !t.hidden;\n })\n })).template;\n }\n res = getValidTemplate(`${template}`);\n if (!res) {\n console.warn(`template ${template} is not valid. valid options: ${validTemplates}`);\n process.exit(1);\n }\n return res;\n};\nvar getValidTemplate = function getValidTemplate2(template) {\n return typeof template === \"string\" && templates.find(function(param) {\n var { value } = param;\n return value === template;\n });\n};\nexport {\n getTemplateInfo\n};\n//# sourceMappingURL=getTemplateInfo.js.map\n"],"mappings":";;;;AAEA,IAAI,iBAAiB,UAAU,IAAI,SAAS,OAAO;CACjD,IAAI,EAAE,UAAU;CAChB,OAAO;AACT,CAAC,CAAC,CAAC,KAAK,IAAI;AACZ,IAAI,kBAAkB,eAAe,iBAAiB,UAAU;CAC9D,IAAI,MAAM,iBAAiB,QAAQ;CACnC,IAAI,YAAY,CAAC,KAAK;EACpB,QAAQ,KAAK,YAAY,SAAS,gCAAgC,gBAAgB;EAClF,QAAQ,KAAK,CAAC;CAChB;CACA,IAAI,CAAC,KAAK;EACR,QAAQ,KAAK;EACb,YAAY,MAAM,QAAQ;GACxB,MAAM;GACN,MAAM;GACN,SAAS;GACT,SAAS,UAAU,OAAO,SAAS,GAAG;IACpC,OAAO,CAAC,EAAE;GACZ,CAAC;EACH,CAAC,EAAC,CAAE;CACN;CACA,MAAM,iBAAiB,GAAG,UAAU;CACpC,IAAI,CAAC,KAAK;EACR,QAAQ,KAAK,YAAY,SAAS,gCAAgC,gBAAgB;EAClF,QAAQ,KAAK,CAAC;CAChB;CACA,OAAO;AACT;AACA,IAAI,mBAAmB,SAAS,kBAAkB,UAAU;CAC1D,OAAO,OAAO,aAAa,YAAY,UAAU,KAAK,SAAS,OAAO;EACpE,IAAI,EAAE,UAAU;EAChB,OAAO,UAAU;CACnB,CAAC;AACH"}
|
package/dist/esm/index.mjs
CHANGED
|
@@ -49,7 +49,10 @@ const main = defineCommand({
|
|
|
49
49
|
}
|
|
50
50
|
console.info();
|
|
51
51
|
console.info(ansis.bold("Creating vxrn app..."));
|
|
52
|
-
await create({
|
|
52
|
+
await create({
|
|
53
|
+
name: args.directory,
|
|
54
|
+
template: args.template
|
|
55
|
+
});
|
|
53
56
|
}
|
|
54
57
|
});
|
|
55
58
|
runMain(main);
|
package/dist/esm/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["esm/index.js"],"sourcesContent":["#!/usr/bin/env node\nimport ansis from \"ansis\";\nimport { defineCommand, runMain } from \"citty\";\nimport path from \"node:path\";\nimport { cwd } from \"node:process\";\nimport { getTemplateInfo } from \"./helpers/getTemplateInfo\";\nimport { create } from \"./create\";\nimport { fileURLToPath } from \"node:url\";\nimport { readFileSync } from \"node:fs\";\nfunction exit() {\n process.exit(0);\n}\nprocess.on(\"SIGTERM\", exit);\nprocess.on(\"SIGINT\", exit);\nconst main = defineCommand({\n meta: {\n name: \"main\",\n version: \"0.0.0\",\n description: \"Welcome to vxrn\"\n },\n args: {\n directory: {\n type: \"positional\",\n description: \"Directory to copy into\",\n default: \"\"\n },\n template: {\n type: \"string\",\n required: false,\n description: \"Choose a template in advance (avoid selection screen).\"\n },\n info: {\n type: \"boolean\",\n description: \"Output the post-install instructions for the template.\"\n }\n },\n async run({ args }) {\n if (args.info) {\n let template = await getTemplateInfo(args.template);\n if (\"extraSteps\" in template) {\n await template.extraSteps({\n isFullClone: false,\n projectName: path.basename(cwd()),\n projectPath: cwd()\n });\n }\n return;\n }\n console.info();\n console.info(ansis.bold(\"Creating vxrn app...\"));\n await create({ template: args.template });\n }\n});\nrunMain(main);\nfunction getPackageVersion() {\n let dirname;\n if (typeof __dirname !== \"undefined\") {\n dirname = __dirname;\n } else {\n dirname = path.dirname(fileURLToPath(import.meta.url));\n }\n const packagePath = path.join(dirname, \"..\", \"..\", \"package.json\");\n const packageJson = JSON.parse(readFileSync(packagePath, \"utf-8\"));\n return packageJson.version;\n}\nif (process.argv.includes(\"--version\")) {\n console.info(getPackageVersion());\n process.exit(0);\n}\n//# sourceMappingURL=index.js.map\n"],"mappings":";;;;;;;;;;;AASA,SAAS,OAAO;CACd,QAAQ,KAAK,CAAC;AAChB;AACA,QAAQ,GAAG,WAAW,IAAI;AAC1B,QAAQ,GAAG,UAAU,IAAI;AACzB,MAAM,OAAO,cAAc;CACzB,MAAM;EACJ,MAAM;EACN,SAAS;EACT,aAAa;CACf;CACA,MAAM;EACJ,WAAW;GACT,MAAM;GACN,aAAa;GACb,SAAS;EACX;EACA,UAAU;GACR,MAAM;GACN,UAAU;GACV,aAAa;EACf;EACA,MAAM;GACJ,MAAM;GACN,aAAa;EACf;CACF;CACA,MAAM,IAAI,EAAE,QAAQ;EAClB,IAAI,KAAK,MAAM;GACb,IAAI,WAAW,MAAM,gBAAgB,KAAK,QAAQ;GAClD,IAAI,gBAAgB,UAAU;IAC5B,MAAM,SAAS,WAAW;KACxB,aAAa;KACb,aAAa,KAAK,SAAS,IAAI,CAAC;KAChC,aAAa,IAAI;IACnB,CAAC;GACH;GACA;EACF;EACA,QAAQ,KAAK;EACb,QAAQ,KAAK,MAAM,KAAK,sBAAsB,CAAC;EAC/C,MAAM,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["esm/index.js"],"sourcesContent":["#!/usr/bin/env node\nimport ansis from \"ansis\";\nimport { defineCommand, runMain } from \"citty\";\nimport path from \"node:path\";\nimport { cwd } from \"node:process\";\nimport { getTemplateInfo } from \"./helpers/getTemplateInfo\";\nimport { create } from \"./create\";\nimport { fileURLToPath } from \"node:url\";\nimport { readFileSync } from \"node:fs\";\nfunction exit() {\n process.exit(0);\n}\nprocess.on(\"SIGTERM\", exit);\nprocess.on(\"SIGINT\", exit);\nconst main = defineCommand({\n meta: {\n name: \"main\",\n version: \"0.0.0\",\n description: \"Welcome to vxrn\"\n },\n args: {\n directory: {\n type: \"positional\",\n description: \"Directory to copy into\",\n default: \"\"\n },\n template: {\n type: \"string\",\n required: false,\n description: \"Choose a template in advance (avoid selection screen).\"\n },\n info: {\n type: \"boolean\",\n description: \"Output the post-install instructions for the template.\"\n }\n },\n async run({ args }) {\n if (args.info) {\n let template = await getTemplateInfo(args.template);\n if (\"extraSteps\" in template) {\n await template.extraSteps({\n isFullClone: false,\n projectName: path.basename(cwd()),\n projectPath: cwd()\n });\n }\n return;\n }\n console.info();\n console.info(ansis.bold(\"Creating vxrn app...\"));\n await create({ name: args.directory, template: args.template });\n }\n});\nrunMain(main);\nfunction getPackageVersion() {\n let dirname;\n if (typeof __dirname !== \"undefined\") {\n dirname = __dirname;\n } else {\n dirname = path.dirname(fileURLToPath(import.meta.url));\n }\n const packagePath = path.join(dirname, \"..\", \"..\", \"package.json\");\n const packageJson = JSON.parse(readFileSync(packagePath, \"utf-8\"));\n return packageJson.version;\n}\nif (process.argv.includes(\"--version\")) {\n console.info(getPackageVersion());\n process.exit(0);\n}\n//# sourceMappingURL=index.js.map\n"],"mappings":";;;;;;;;;;;AASA,SAAS,OAAO;CACd,QAAQ,KAAK,CAAC;AAChB;AACA,QAAQ,GAAG,WAAW,IAAI;AAC1B,QAAQ,GAAG,UAAU,IAAI;AACzB,MAAM,OAAO,cAAc;CACzB,MAAM;EACJ,MAAM;EACN,SAAS;EACT,aAAa;CACf;CACA,MAAM;EACJ,WAAW;GACT,MAAM;GACN,aAAa;GACb,SAAS;EACX;EACA,UAAU;GACR,MAAM;GACN,UAAU;GACV,aAAa;EACf;EACA,MAAM;GACJ,MAAM;GACN,aAAa;EACf;CACF;CACA,MAAM,IAAI,EAAE,QAAQ;EAClB,IAAI,KAAK,MAAM;GACb,IAAI,WAAW,MAAM,gBAAgB,KAAK,QAAQ;GAClD,IAAI,gBAAgB,UAAU;IAC5B,MAAM,SAAS,WAAW;KACxB,aAAa;KACb,aAAa,KAAK,SAAS,IAAI,CAAC;KAChC,aAAa,IAAI;IACnB,CAAC;GACH;GACA;EACF;EACA,QAAQ,KAAK;EACb,QAAQ,KAAK,MAAM,KAAK,sBAAsB,CAAC;EAC/C,MAAM,OAAO;GAAE,MAAM,KAAK;GAAW,UAAU,KAAK;EAAS,CAAC;CAChE;AACF,CAAC;AACD,QAAQ,IAAI;AACZ,SAAS,oBAAoB;CAC3B,IAAI;CACJ,IAAI,OAAO,cAAc,aAAa;EACpC,UAAU;CACZ,OAAO;EACL,UAAU,KAAK,QAAQ,cAAc,YAAY,GAAG,CAAC;CACvD;CACA,MAAM,cAAc,KAAK,KAAK,SAAS,MAAM,MAAM,cAAc;CACjE,MAAM,cAAc,KAAK,MAAM,aAAa,aAAa,OAAO,CAAC;CACjE,OAAO,YAAY;AACrB;AACA,IAAI,QAAQ,KAAK,SAAS,WAAW,GAAG;CACtC,QAAQ,KAAK,kBAAkB,CAAC;CAChC,QAAQ,KAAK,CAAC;AAChB"}
|
package/dist/esm/index.native.js
CHANGED
|
@@ -50,7 +50,10 @@ var main = defineCommand({
|
|
|
50
50
|
}
|
|
51
51
|
console.info();
|
|
52
52
|
console.info(ansis.bold("Creating vxrn app..."));
|
|
53
|
-
await create({
|
|
53
|
+
await create({
|
|
54
|
+
name: args.directory,
|
|
55
|
+
template: args.template
|
|
56
|
+
});
|
|
54
57
|
}
|
|
55
58
|
});
|
|
56
59
|
runMain(main);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.native.js","names":[],"sources":["esm/index.native.js"],"sourcesContent":["#!/usr/bin/env node\nimport ansis from \"ansis\";\nimport { defineCommand, runMain } from \"citty\";\nimport path from \"path\";\nimport { cwd } from \"process\";\nimport { getTemplateInfo } from \"./helpers/getTemplateInfo\";\nimport { create } from \"./create\";\nimport { fileURLToPath } from \"url\";\nimport { readFileSync } from \"fs\";\nfunction exit() {\n process.exit(0);\n}\nprocess.on(\"SIGTERM\", exit);\nprocess.on(\"SIGINT\", exit);\nvar main = defineCommand({\n meta: {\n name: \"main\",\n version: \"0.0.0\",\n description: \"Welcome to vxrn\"\n },\n args: {\n directory: {\n type: \"positional\",\n description: \"Directory to copy into\",\n default: \"\"\n },\n template: {\n type: \"string\",\n required: false,\n description: \"Choose a template in advance (avoid selection screen).\"\n },\n info: {\n type: \"boolean\",\n description: \"Output the post-install instructions for the template.\"\n }\n },\n async run(param) {\n var { args } = param;\n if (args.info) {\n var template = await getTemplateInfo(args.template);\n if (\"extraSteps\" in template) {\n await template.extraSteps({\n isFullClone: false,\n projectName: path.basename(cwd()),\n projectPath: cwd()\n });\n }\n return;\n }\n console.info();\n console.info(ansis.bold(\"Creating vxrn app...\"));\n await create({\n template: args.template\n });\n }\n});\nrunMain(main);\nfunction getPackageVersion() {\n var dirname;\n if (typeof __dirname !== \"undefined\") {\n dirname = __dirname;\n } else {\n dirname = path.dirname(fileURLToPath(import.meta.url));\n }\n var packagePath = path.join(dirname, \"..\", \"..\", \"package.json\");\n var packageJson = JSON.parse(readFileSync(packagePath, \"utf-8\"));\n return packageJson.version;\n}\nif (process.argv.includes(\"--version\")) {\n console.info(getPackageVersion());\n process.exit(0);\n}\n//# sourceMappingURL=index.js.map\n"],"mappings":";;;;;;;;;;;AASA,SAAS,OAAO;CACd,QAAQ,KAAK,CAAC;AAChB;AACA,QAAQ,GAAG,WAAW,IAAI;AAC1B,QAAQ,GAAG,UAAU,IAAI;AACzB,IAAI,OAAO,cAAc;CACvB,MAAM;EACJ,MAAM;EACN,SAAS;EACT,aAAa;CACf;CACA,MAAM;EACJ,WAAW;GACT,MAAM;GACN,aAAa;GACb,SAAS;EACX;EACA,UAAU;GACR,MAAM;GACN,UAAU;GACV,aAAa;EACf;EACA,MAAM;GACJ,MAAM;GACN,aAAa;EACf;CACF;CACA,MAAM,IAAI,OAAO;EACf,IAAI,EAAE,SAAS;EACf,IAAI,KAAK,MAAM;GACb,IAAI,WAAW,MAAM,gBAAgB,KAAK,QAAQ;GAClD,IAAI,gBAAgB,UAAU;IAC5B,MAAM,SAAS,WAAW;KACxB,aAAa;KACb,aAAa,KAAK,SAAS,IAAI,CAAC;KAChC,aAAa,IAAI;IACnB,CAAC;GACH;GACA;EACF;EACA,QAAQ,KAAK;EACb,QAAQ,KAAK,MAAM,KAAK,sBAAsB,CAAC;EAC/C,MAAM,OAAO,
|
|
1
|
+
{"version":3,"file":"index.native.js","names":[],"sources":["esm/index.native.js"],"sourcesContent":["#!/usr/bin/env node\nimport ansis from \"ansis\";\nimport { defineCommand, runMain } from \"citty\";\nimport path from \"path\";\nimport { cwd } from \"process\";\nimport { getTemplateInfo } from \"./helpers/getTemplateInfo\";\nimport { create } from \"./create\";\nimport { fileURLToPath } from \"url\";\nimport { readFileSync } from \"fs\";\nfunction exit() {\n process.exit(0);\n}\nprocess.on(\"SIGTERM\", exit);\nprocess.on(\"SIGINT\", exit);\nvar main = defineCommand({\n meta: {\n name: \"main\",\n version: \"0.0.0\",\n description: \"Welcome to vxrn\"\n },\n args: {\n directory: {\n type: \"positional\",\n description: \"Directory to copy into\",\n default: \"\"\n },\n template: {\n type: \"string\",\n required: false,\n description: \"Choose a template in advance (avoid selection screen).\"\n },\n info: {\n type: \"boolean\",\n description: \"Output the post-install instructions for the template.\"\n }\n },\n async run(param) {\n var { args } = param;\n if (args.info) {\n var template = await getTemplateInfo(args.template);\n if (\"extraSteps\" in template) {\n await template.extraSteps({\n isFullClone: false,\n projectName: path.basename(cwd()),\n projectPath: cwd()\n });\n }\n return;\n }\n console.info();\n console.info(ansis.bold(\"Creating vxrn app...\"));\n await create({\n name: args.directory,\n template: args.template\n });\n }\n});\nrunMain(main);\nfunction getPackageVersion() {\n var dirname;\n if (typeof __dirname !== \"undefined\") {\n dirname = __dirname;\n } else {\n dirname = path.dirname(fileURLToPath(import.meta.url));\n }\n var packagePath = path.join(dirname, \"..\", \"..\", \"package.json\");\n var packageJson = JSON.parse(readFileSync(packagePath, \"utf-8\"));\n return packageJson.version;\n}\nif (process.argv.includes(\"--version\")) {\n console.info(getPackageVersion());\n process.exit(0);\n}\n//# sourceMappingURL=index.js.map\n"],"mappings":";;;;;;;;;;;AASA,SAAS,OAAO;CACd,QAAQ,KAAK,CAAC;AAChB;AACA,QAAQ,GAAG,WAAW,IAAI;AAC1B,QAAQ,GAAG,UAAU,IAAI;AACzB,IAAI,OAAO,cAAc;CACvB,MAAM;EACJ,MAAM;EACN,SAAS;EACT,aAAa;CACf;CACA,MAAM;EACJ,WAAW;GACT,MAAM;GACN,aAAa;GACb,SAAS;EACX;EACA,UAAU;GACR,MAAM;GACN,UAAU;GACV,aAAa;EACf;EACA,MAAM;GACJ,MAAM;GACN,aAAa;EACf;CACF;CACA,MAAM,IAAI,OAAO;EACf,IAAI,EAAE,SAAS;EACf,IAAI,KAAK,MAAM;GACb,IAAI,WAAW,MAAM,gBAAgB,KAAK,QAAQ;GAClD,IAAI,gBAAgB,UAAU;IAC5B,MAAM,SAAS,WAAW;KACxB,aAAa;KACb,aAAa,KAAK,SAAS,IAAI,CAAC;KAChC,aAAa,IAAI;IACnB,CAAC;GACH;GACA;EACF;EACA,QAAQ,KAAK;EACb,QAAQ,KAAK,MAAM,KAAK,sBAAsB,CAAC;EAC/C,MAAM,OAAO;GACX,MAAM,KAAK;GACX,UAAU,KAAK;EACjB,CAAC;CACH;AACF,CAAC;AACD,QAAQ,IAAI;AACZ,SAAS,oBAAoB;CAC3B,IAAI;CACJ,IAAI,OAAO,cAAc,aAAa;EACpC,UAAU;CACZ,OAAO;EACL,UAAU,KAAK,QAAQ,cAAc,YAAY,GAAG,CAAC;CACvD;CACA,IAAI,cAAc,KAAK,KAAK,SAAS,MAAM,MAAM,cAAc;CAC/D,IAAI,cAAc,KAAK,MAAM,aAAa,aAAa,OAAO,CAAC;CAC/D,OAAO,YAAY;AACrB;AACA,IAAI,QAAQ,KAAK,SAAS,WAAW,GAAG;CACtC,QAAQ,KAAK,kBAAkB,CAAC;CAChC,QAAQ,KAAK,CAAC;AAChB"}
|
|
@@ -29,7 +29,7 @@ async function replaceNameInUTF8File(filePath, projectName, templateName) {
|
|
|
29
29
|
await fs.writeFile(filePath, replacedFileContent, "utf8");
|
|
30
30
|
}
|
|
31
31
|
}
|
|
32
|
-
var main = async function(param) {
|
|
32
|
+
var main = async function main2(param) {
|
|
33
33
|
var { isFullClone, projectName } = param;
|
|
34
34
|
var placeholderName = "bare";
|
|
35
35
|
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bare.native.js","names":[],"sources":["esm/steps/bare.native.js"],"sourcesContent":["import ansis from \"ansis\";\nimport fs from \"fs-extra\";\nimport { basename, dirname, join } from \"path\";\nfunction shouldIgnoreFile(filePath) {\n return filePath.match(/node_modules|yarn.lock|package-lock.json/g);\n}\nfunction shouldRenameFile(filePath, nameToReplace) {\n return basename(filePath).includes(nameToReplace);\n}\nasync function renameFile(filePath, oldName, newName) {\n var newFileName = join(dirname(filePath), basename(filePath).replace(new RegExp(oldName, \"g\"), newName));\n await fs.rename(filePath, newFileName);\n}\nfunction walk(current) {\n if (!fs.lstatSync(current).isDirectory()) {\n return [\n current\n ];\n }\n var files = fs.readdirSync(current).map(function(child) {\n return walk(join(current, child));\n });\n var result = [];\n return result.concat.apply([\n current\n ], files);\n}\nasync function replaceNameInUTF8File(filePath, projectName, templateName) {\n var fileContent = await fs.readFile(filePath, \"utf8\");\n var replacedFileContent = fileContent.replace(new RegExp(templateName, \"g\"), projectName).replace(new RegExp(templateName.toLowerCase(), \"g\"), projectName.toLowerCase());\n if (fileContent !== replacedFileContent) {\n await fs.writeFile(filePath, replacedFileContent, \"utf8\");\n }\n}\nvar main = async function(param) {\n var { isFullClone, projectName } = param;\n var placeholderName = \"bare\";\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = walk(process.cwd()).reverse()[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var filePath = _step.value;\n if (shouldIgnoreFile(filePath)) {\n continue;\n }\n if (!(await fs.stat(filePath)).isDirectory()) {\n await replaceNameInUTF8File(filePath, projectName, \"bare\");\n }\n if (shouldRenameFile(filePath, placeholderName)) {\n await renameFile(filePath, placeholderName, projectName);\n } else if (shouldRenameFile(filePath, placeholderName.toLowerCase())) {\n await renameFile(filePath, placeholderName.toLowerCase(), projectName.toLowerCase());\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 if (isFullClone) {\n console.info(`\n${ansis.green.bold(\"Done!\")} Created a new project under ./${ansis.greenBright(projectName)} visit your project:\n \\u2022 ${ansis.green(\"cd\")} ${projectName}\n\n${ansis.green(`Run instructions for ${ansis.bold(\"Android\")}:`)}\n \\u2022 Have an Android emulator running (quickest way to get started), or a device connected.\n \\u2022 npx react-native run-android\n\n${ansis.blue(`Run instructions for ${ansis.bold(\"iOS\")}:`)}\n \\u2022 Install Cocoapods\n \\u2022 bundle install # you need to run this only once in your project.\n \\u2022 bundle exec pod install\n \\u2022 cd ..\n\n \\u2022 npx react-native run-ios\n ${ansis.gray(\"- or -\")}\n \\u2022 Open ${projectName}/ios/${projectName}.xcworkspace in Xcode or run \"xed -b ios\"\n \\u2022 Hit the Run button\n\n`);\n }\n};\nvar bare_default = main;\nexport {\n bare_default as default,\n replaceNameInUTF8File\n};\n//# sourceMappingURL=bare.js.map\n"],"mappings":";;;;;AAGA,SAAS,iBAAiB,UAAU;CAClC,OAAO,SAAS,MAAM,2CAA2C;AACnE;AACA,SAAS,iBAAiB,UAAU,eAAe;CACjD,OAAO,SAAS,QAAQ,CAAC,CAAC,SAAS,aAAa;AAClD;AACA,eAAe,WAAW,UAAU,SAAS,SAAS;CACpD,IAAI,cAAc,KAAK,QAAQ,QAAQ,GAAG,SAAS,QAAQ,CAAC,CAAC,QAAQ,IAAI,OAAO,SAAS,GAAG,GAAG,OAAO,CAAC;CACvG,MAAM,GAAG,OAAO,UAAU,WAAW;AACvC;AACA,SAAS,KAAK,SAAS;CACrB,IAAI,CAAC,GAAG,UAAU,OAAO,CAAC,CAAC,YAAY,GAAG;EACxC,OAAO,CACL,OACF;CACF;CACA,IAAI,QAAQ,GAAG,YAAY,OAAO,CAAC,CAAC,IAAI,SAAS,OAAO;EACtD,OAAO,KAAK,KAAK,SAAS,KAAK,CAAC;CAClC,CAAC;CACD,IAAI,SAAS,CAAC;CACd,OAAO,OAAO,OAAO,MAAM,CACzB,OACF,GAAG,KAAK;AACV;AACA,eAAe,sBAAsB,UAAU,aAAa,cAAc;CACxE,IAAI,cAAc,MAAM,GAAG,SAAS,UAAU,MAAM;CACpD,IAAI,sBAAsB,YAAY,QAAQ,IAAI,OAAO,cAAc,GAAG,GAAG,WAAW,CAAC,CAAC,QAAQ,IAAI,OAAO,aAAa,YAAY,GAAG,GAAG,GAAG,YAAY,YAAY,CAAC;CACxK,IAAI,gBAAgB,qBAAqB;EACvC,MAAM,GAAG,UAAU,UAAU,qBAAqB,MAAM;CAC1D;AACF;AACA,IAAI,OAAO,eAAe,OAAO;
|
|
1
|
+
{"version":3,"file":"bare.native.js","names":[],"sources":["esm/steps/bare.native.js"],"sourcesContent":["import ansis from \"ansis\";\nimport fs from \"fs-extra\";\nimport { basename, dirname, join } from \"path\";\nfunction shouldIgnoreFile(filePath) {\n return filePath.match(/node_modules|yarn.lock|package-lock.json/g);\n}\nfunction shouldRenameFile(filePath, nameToReplace) {\n return basename(filePath).includes(nameToReplace);\n}\nasync function renameFile(filePath, oldName, newName) {\n var newFileName = join(dirname(filePath), basename(filePath).replace(new RegExp(oldName, \"g\"), newName));\n await fs.rename(filePath, newFileName);\n}\nfunction walk(current) {\n if (!fs.lstatSync(current).isDirectory()) {\n return [\n current\n ];\n }\n var files = fs.readdirSync(current).map(function(child) {\n return walk(join(current, child));\n });\n var result = [];\n return result.concat.apply([\n current\n ], files);\n}\nasync function replaceNameInUTF8File(filePath, projectName, templateName) {\n var fileContent = await fs.readFile(filePath, \"utf8\");\n var replacedFileContent = fileContent.replace(new RegExp(templateName, \"g\"), projectName).replace(new RegExp(templateName.toLowerCase(), \"g\"), projectName.toLowerCase());\n if (fileContent !== replacedFileContent) {\n await fs.writeFile(filePath, replacedFileContent, \"utf8\");\n }\n}\nvar main = async function main2(param) {\n var { isFullClone, projectName } = param;\n var placeholderName = \"bare\";\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = walk(process.cwd()).reverse()[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var filePath = _step.value;\n if (shouldIgnoreFile(filePath)) {\n continue;\n }\n if (!(await fs.stat(filePath)).isDirectory()) {\n await replaceNameInUTF8File(filePath, projectName, \"bare\");\n }\n if (shouldRenameFile(filePath, placeholderName)) {\n await renameFile(filePath, placeholderName, projectName);\n } else if (shouldRenameFile(filePath, placeholderName.toLowerCase())) {\n await renameFile(filePath, placeholderName.toLowerCase(), projectName.toLowerCase());\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 if (isFullClone) {\n console.info(`\n${ansis.green.bold(\"Done!\")} Created a new project under ./${ansis.greenBright(projectName)} visit your project:\n \\u2022 ${ansis.green(\"cd\")} ${projectName}\n\n${ansis.green(`Run instructions for ${ansis.bold(\"Android\")}:`)}\n \\u2022 Have an Android emulator running (quickest way to get started), or a device connected.\n \\u2022 npx react-native run-android\n\n${ansis.blue(`Run instructions for ${ansis.bold(\"iOS\")}:`)}\n \\u2022 Install Cocoapods\n \\u2022 bundle install # you need to run this only once in your project.\n \\u2022 bundle exec pod install\n \\u2022 cd ..\n\n \\u2022 npx react-native run-ios\n ${ansis.gray(\"- or -\")}\n \\u2022 Open ${projectName}/ios/${projectName}.xcworkspace in Xcode or run \"xed -b ios\"\n \\u2022 Hit the Run button\n\n`);\n }\n};\nvar bare_default = main;\nexport {\n bare_default as default,\n replaceNameInUTF8File\n};\n//# sourceMappingURL=bare.js.map\n"],"mappings":";;;;;AAGA,SAAS,iBAAiB,UAAU;CAClC,OAAO,SAAS,MAAM,2CAA2C;AACnE;AACA,SAAS,iBAAiB,UAAU,eAAe;CACjD,OAAO,SAAS,QAAQ,CAAC,CAAC,SAAS,aAAa;AAClD;AACA,eAAe,WAAW,UAAU,SAAS,SAAS;CACpD,IAAI,cAAc,KAAK,QAAQ,QAAQ,GAAG,SAAS,QAAQ,CAAC,CAAC,QAAQ,IAAI,OAAO,SAAS,GAAG,GAAG,OAAO,CAAC;CACvG,MAAM,GAAG,OAAO,UAAU,WAAW;AACvC;AACA,SAAS,KAAK,SAAS;CACrB,IAAI,CAAC,GAAG,UAAU,OAAO,CAAC,CAAC,YAAY,GAAG;EACxC,OAAO,CACL,OACF;CACF;CACA,IAAI,QAAQ,GAAG,YAAY,OAAO,CAAC,CAAC,IAAI,SAAS,OAAO;EACtD,OAAO,KAAK,KAAK,SAAS,KAAK,CAAC;CAClC,CAAC;CACD,IAAI,SAAS,CAAC;CACd,OAAO,OAAO,OAAO,MAAM,CACzB,OACF,GAAG,KAAK;AACV;AACA,eAAe,sBAAsB,UAAU,aAAa,cAAc;CACxE,IAAI,cAAc,MAAM,GAAG,SAAS,UAAU,MAAM;CACpD,IAAI,sBAAsB,YAAY,QAAQ,IAAI,OAAO,cAAc,GAAG,GAAG,WAAW,CAAC,CAAC,QAAQ,IAAI,OAAO,aAAa,YAAY,GAAG,GAAG,GAAG,YAAY,YAAY,CAAC;CACxK,IAAI,gBAAgB,qBAAqB;EACvC,MAAM,GAAG,UAAU,UAAU,qBAAqB,MAAM;CAC1D;AACF;AACA,IAAI,OAAO,eAAe,MAAM,OAAO;CACrC,IAAI,EAAE,aAAa,gBAAgB;CACnC,IAAI,kBAAkB;CACtB,IAAI,4BAA4B,MAAM,oBAAoB,OAAO,iBAAiB,KAAK;CACvF,IAAI;EACF,KAAK,IAAI,YAAY,KAAK,QAAQ,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,OAAO,SAAS,CAAC,GAAG,OAAO,EAAE,6BAA6B,QAAQ,UAAU,KAAK,EAAC,CAAE,OAAO,4BAA4B,MAAM;GAC9K,IAAI,WAAW,MAAM;GACrB,IAAI,iBAAiB,QAAQ,GAAG;IAC9B;GACF;GACA,IAAI,EAAE,MAAM,GAAG,KAAK,QAAQ,EAAC,CAAE,YAAY,GAAG;IAC5C,MAAM,sBAAsB,UAAU,aAAa,MAAM;GAC3D;GACA,IAAI,iBAAiB,UAAU,eAAe,GAAG;IAC/C,MAAM,WAAW,UAAU,iBAAiB,WAAW;GACzD,OAAO,IAAI,iBAAiB,UAAU,gBAAgB,YAAY,CAAC,GAAG;IACpE,MAAM,WAAW,UAAU,gBAAgB,YAAY,GAAG,YAAY,YAAY,CAAC;GACrF;EACF;CACF,SAAS,KAAK;EACZ,oBAAoB;EACpB,iBAAiB;CACnB,UAAU;EACR,IAAI;GACF,IAAI,CAAC,6BAA6B,UAAU,UAAU,MAAM;IAC1D,UAAU,OAAO;GACnB;EACF,UAAU;GACR,IAAI,mBAAmB;IACrB,MAAM;GACR;EACF;CACF;CACA,IAAI,aAAa;EACf,QAAQ,KAAK;EACf,MAAM,MAAM,KAAK,OAAO,EAAE,iCAAiC,MAAM,YAAY,WAAW,EAAE;WACjF,MAAM,MAAM,IAAI,EAAE,GAAG,YAAY;;EAE1C,MAAM,MAAM,wBAAwB,MAAM,KAAK,SAAS,EAAE,EAAE,EAAE;;;;EAI9D,MAAM,KAAK,wBAAwB,MAAM,KAAK,KAAK,EAAE,EAAE,EAAE;;;;;;;IAOvD,MAAM,KAAK,QAAQ,EAAE;gBACT,YAAY,OAAO,YAAY;;;CAG9C;CACC;AACF;AACA,IAAI,eAAe"}
|
|
@@ -2,10 +2,10 @@ import ansis from "ansis";
|
|
|
2
2
|
|
|
3
3
|
var packageManager = "yarn";
|
|
4
4
|
var useYarn = packageManager === "yarn";
|
|
5
|
-
var runCommand = function(scriptName) {
|
|
5
|
+
var runCommand = function runCommand2(scriptName) {
|
|
6
6
|
return `${packageManager} ${useYarn ? "" : "run "}${scriptName}`;
|
|
7
7
|
};
|
|
8
|
-
var main = async function(param) {
|
|
8
|
+
var main = async function main2(param) {
|
|
9
9
|
var { isFullClone, projectName } = param;
|
|
10
10
|
if (isFullClone) {
|
|
11
11
|
console.info(`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fullstack.native.js","names":[],"sources":["esm/steps/fullstack.native.js"],"sourcesContent":["import ansis from \"ansis\";\nvar packageManager = \"yarn\";\nvar useYarn = packageManager === \"yarn\";\nvar runCommand = function(scriptName) {\n return `${packageManager} ${useYarn ? \"\" : \"run \"}${scriptName}`;\n};\nvar main = async function(param) {\n var { isFullClone, projectName } = param;\n if (isFullClone) {\n console.info(`\n${ansis.green.bold(\"Done!\")} Created a new project under ./${ansis.greenBright(projectName)} visit your project:\n \\u2022 ${ansis.green(\"cd\")} ${projectName}\n`);\n }\n console.info(`\nTo start the dev server, run: ${ansis.green(runCommand(\"dev\"))}\n`);\n};\nvar fullstack_default = main;\nexport {\n fullstack_default as default\n};\n//# sourceMappingURL=fullstack.js.map\n"],"mappings":";;;AACA,IAAI,iBAAiB;AACrB,IAAI,UAAU,mBAAmB;AACjC,IAAI,aAAa,SAAS,YAAY;
|
|
1
|
+
{"version":3,"file":"fullstack.native.js","names":[],"sources":["esm/steps/fullstack.native.js"],"sourcesContent":["import ansis from \"ansis\";\nvar packageManager = \"yarn\";\nvar useYarn = packageManager === \"yarn\";\nvar runCommand = function runCommand2(scriptName) {\n return `${packageManager} ${useYarn ? \"\" : \"run \"}${scriptName}`;\n};\nvar main = async function main2(param) {\n var { isFullClone, projectName } = param;\n if (isFullClone) {\n console.info(`\n${ansis.green.bold(\"Done!\")} Created a new project under ./${ansis.greenBright(projectName)} visit your project:\n \\u2022 ${ansis.green(\"cd\")} ${projectName}\n`);\n }\n console.info(`\nTo start the dev server, run: ${ansis.green(runCommand(\"dev\"))}\n`);\n};\nvar fullstack_default = main;\nexport {\n fullstack_default as default\n};\n//# sourceMappingURL=fullstack.js.map\n"],"mappings":";;;AACA,IAAI,iBAAiB;AACrB,IAAI,UAAU,mBAAmB;AACjC,IAAI,aAAa,SAAS,YAAY,YAAY;CAChD,OAAO,GAAG,eAAe,GAAG,UAAU,KAAK,SAAS;AACtD;AACA,IAAI,OAAO,eAAe,MAAM,OAAO;CACrC,IAAI,EAAE,aAAa,gBAAgB;CACnC,IAAI,aAAa;EACf,QAAQ,KAAK;EACf,MAAM,MAAM,KAAK,OAAO,EAAE,iCAAiC,MAAM,YAAY,WAAW,EAAE;UAClF,MAAM,MAAM,IAAI,EAAE,GAAG,YAAY;CAC1C;CACC;CACA,QAAQ,KAAK;gCACiB,MAAM,MAAM,WAAW,KAAK,CAAC,EAAE;CAC9D;AACD;AACA,IAAI,oBAAoB"}
|
|
@@ -3,10 +3,10 @@ import FSExtra from "fs-extra";
|
|
|
3
3
|
import { join } from "path";
|
|
4
4
|
import { execPromise } from "@vxrn/utils";
|
|
5
5
|
|
|
6
|
-
var extraSteps = async function(param) {
|
|
6
|
+
var extraSteps = async function extraSteps2(param) {
|
|
7
7
|
var { isFullClone, projectName, packageManager } = param;
|
|
8
8
|
var useBun = packageManager === "bun";
|
|
9
|
-
var runCommand = function(scriptName) {
|
|
9
|
+
var runCommand = function runCommand2(scriptName) {
|
|
10
10
|
return `${packageManager} ${useBun ? "" : "run "}${scriptName}`;
|
|
11
11
|
};
|
|
12
12
|
if (isFullClone) {
|
|
@@ -20,7 +20,7 @@ To run:
|
|
|
20
20
|
${ansis.green(runCommand("dev"))}
|
|
21
21
|
`);
|
|
22
22
|
};
|
|
23
|
-
var preInstall = async function(param) {
|
|
23
|
+
var preInstall = async function preInstall2(param) {
|
|
24
24
|
var { projectName, packageManager, projectPath } = param;
|
|
25
25
|
var path = projectPath || projectName;
|
|
26
26
|
var envExample = join(path, ".env.example");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"one.native.js","names":[],"sources":["esm/steps/one.native.js"],"sourcesContent":["import ansis from \"ansis\";\nimport FSExtra from \"fs-extra\";\nimport { join } from \"path\";\nimport { execPromise } from \"@vxrn/utils\";\nvar extraSteps = async function(param) {\n var { isFullClone, projectName, packageManager } = param;\n var useBun = packageManager === \"bun\";\n var runCommand = function(scriptName) {\n return `${packageManager} ${useBun ? \"\" : \"run \"}${scriptName}`;\n };\n if (isFullClone) {\n console.info(`\n${ansis.green.bold(\"Done!\")} Created a new project under ./${ansis.greenBright(projectName)}`);\n }\n console.info(`\nTo run: \n\n ${ansis.green(\"cd\")} ${projectName}\n ${ansis.green(runCommand(\"dev\"))}\n`);\n};\nvar preInstall = async function(param) {\n var { projectName, packageManager, projectPath } = param;\n var path = projectPath || projectName;\n var envExample = join(path, \".env.example\");\n if (FSExtra.existsSync(envExample)) {\n await FSExtra.move(envExample, join(path, \".env\"));\n console.info(`Moved .env.example to .env`);\n }\n if (packageManager === \"pnpm\") {\n await FSExtra.writeFile(join(path, `.npmrc`), `node-linker=hoisted\n`);\n console.info(`Set up .npmrc to avoid symlinked node_modules\n\nNote! \\u{1F44B}\n\nIf you are working in a monorepo, you need to move the .npmrc with the node-linker\nconfiguration to the root of the monorepo rather than here.\n\n`);\n }\n if (packageManager === \"yarn\") {\n await FSExtra.writeFile(join(path, \".yarnrc.yml\"), `\ncompressionLevel: mixed\nenableGlobalCache: false\nenableTelemetry: false\nnodeLinker: node-modules\n\nlogFilters:\n - code: YN0002\n level: discard\n - code: YN0060\n level: discard\n - code: YN0006\n level: discard\n - code: YN0076\n level: discard\n`);\n await execPromise(`yarn set version stable`);\n await FSExtra.writeFile(join(path, \"yarn.lock\"), \"\");\n console.info(`Set up yarn for latest version`);\n }\n};\nexport {\n extraSteps,\n preInstall\n};\n//# sourceMappingURL=one.js.map\n"],"mappings":";;;;;;AAIA,IAAI,aAAa,eAAe,OAAO;
|
|
1
|
+
{"version":3,"file":"one.native.js","names":[],"sources":["esm/steps/one.native.js"],"sourcesContent":["import ansis from \"ansis\";\nimport FSExtra from \"fs-extra\";\nimport { join } from \"path\";\nimport { execPromise } from \"@vxrn/utils\";\nvar extraSteps = async function extraSteps2(param) {\n var { isFullClone, projectName, packageManager } = param;\n var useBun = packageManager === \"bun\";\n var runCommand = function runCommand2(scriptName) {\n return `${packageManager} ${useBun ? \"\" : \"run \"}${scriptName}`;\n };\n if (isFullClone) {\n console.info(`\n${ansis.green.bold(\"Done!\")} Created a new project under ./${ansis.greenBright(projectName)}`);\n }\n console.info(`\nTo run: \n\n ${ansis.green(\"cd\")} ${projectName}\n ${ansis.green(runCommand(\"dev\"))}\n`);\n};\nvar preInstall = async function preInstall2(param) {\n var { projectName, packageManager, projectPath } = param;\n var path = projectPath || projectName;\n var envExample = join(path, \".env.example\");\n if (FSExtra.existsSync(envExample)) {\n await FSExtra.move(envExample, join(path, \".env\"));\n console.info(`Moved .env.example to .env`);\n }\n if (packageManager === \"pnpm\") {\n await FSExtra.writeFile(join(path, `.npmrc`), `node-linker=hoisted\n`);\n console.info(`Set up .npmrc to avoid symlinked node_modules\n\nNote! \\u{1F44B}\n\nIf you are working in a monorepo, you need to move the .npmrc with the node-linker\nconfiguration to the root of the monorepo rather than here.\n\n`);\n }\n if (packageManager === \"yarn\") {\n await FSExtra.writeFile(join(path, \".yarnrc.yml\"), `\ncompressionLevel: mixed\nenableGlobalCache: false\nenableTelemetry: false\nnodeLinker: node-modules\n\nlogFilters:\n - code: YN0002\n level: discard\n - code: YN0060\n level: discard\n - code: YN0006\n level: discard\n - code: YN0076\n level: discard\n`);\n await execPromise(`yarn set version stable`);\n await FSExtra.writeFile(join(path, \"yarn.lock\"), \"\");\n console.info(`Set up yarn for latest version`);\n }\n};\nexport {\n extraSteps,\n preInstall\n};\n//# sourceMappingURL=one.js.map\n"],"mappings":";;;;;;AAIA,IAAI,aAAa,eAAe,YAAY,OAAO;CACjD,IAAI,EAAE,aAAa,aAAa,mBAAmB;CACnD,IAAI,SAAS,mBAAmB;CAChC,IAAI,aAAa,SAAS,YAAY,YAAY;EAChD,OAAO,GAAG,eAAe,GAAG,SAAS,KAAK,SAAS;CACrD;CACA,IAAI,aAAa;EACf,QAAQ,KAAK;EACf,MAAM,MAAM,KAAK,OAAO,EAAE,iCAAiC,MAAM,YAAY,WAAW,GAAG;CAC3F;CACA,QAAQ,KAAK;;;IAGX,MAAM,MAAM,IAAI,EAAE,GAAG,YAAY;IACjC,MAAM,MAAM,WAAW,KAAK,CAAC,EAAE;CAClC;AACD;AACA,IAAI,aAAa,eAAe,YAAY,OAAO;CACjD,IAAI,EAAE,aAAa,gBAAgB,gBAAgB;CACnD,IAAI,OAAO,eAAe;CAC1B,IAAI,aAAa,KAAK,MAAM,cAAc;CAC1C,IAAI,QAAQ,WAAW,UAAU,GAAG;EAClC,MAAM,QAAQ,KAAK,YAAY,KAAK,MAAM,MAAM,CAAC;EACjD,QAAQ,KAAK,4BAA4B;CAC3C;CACA,IAAI,mBAAmB,QAAQ;EAC7B,MAAM,QAAQ,UAAU,KAAK,MAAM,QAAQ,GAAG;CACjD;EACG,QAAQ,KAAK;;;;;;;CAOhB;CACC;CACA,IAAI,mBAAmB,QAAQ;EAC7B,MAAM,QAAQ,UAAU,KAAK,MAAM,aAAa,GAAG;;;;;;;;;;;;;;;CAetD;EACG,MAAM,YAAY,yBAAyB;EAC3C,MAAM,QAAQ,UAAU,KAAK,MAAM,WAAW,GAAG,EAAE;EACnD,QAAQ,KAAK,gCAAgC;CAC/C;AACF"}
|
package/dist/esm/templates.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"templates.js","names":[],"sources":["esm/templates.js"],"sourcesContent":["import * as BasicTemplateSteps from \"./steps/one\";\nconst templates = [\n {\n title: `Basic`,\n value: \"Basic\",\n description: \"The simplest starting point, vanilla
|
|
1
|
+
{"version":3,"file":"templates.js","names":[],"sources":["esm/templates.js"],"sourcesContent":["import * as BasicTemplateSteps from \"./steps/one\";\nconst templates = [\n {\n title: `Basic`,\n value: \"Basic\",\n description: \"The simplest starting point, vanilla React Native\",\n type: \"included-in-monorepo\",\n hidden: false,\n repo: {\n url: `https://github.com/onejs/one.git`,\n sshFallback: `git@github.com:onejs/one.git`,\n dir: [`examples`, `one-basic`],\n branch: \"main\"\n },\n ...BasicTemplateSteps\n },\n {\n title: `Takeout Free`,\n value: \"Takeout\",\n description: \"One, Tamagui, Zero, Better Auth\",\n type: \"external-repo\",\n hidden: false,\n repo: {\n url: `https://github.com/tamagui/takeout-free.git`,\n sshFallback: `git@github.com:tamagui/takeout-free.git`,\n dir: [],\n branch: \"main\"\n },\n ...BasicTemplateSteps\n },\n {\n title: `Takeout Production`,\n value: \"TakeoutPro\",\n description: \"Takeout + a startup in a repo. Refined stack that's production ready. Home/Terms/Docs, CI/CD, IaC, Integration Tests, Onboarding, Notifications, OTA Updates, Screens, >50 Components, >25 Agent Docs, >30 Scripts. See https://takeout.tamagui.dev\",\n type: \"external-link\",\n hidden: false,\n externalUrl: \"https://takeout.tamagui.dev\"\n }\n];\nexport {\n templates\n};\n//# sourceMappingURL=templates.js.map\n"],"mappings":";;;AACA,MAAM,YAAY;CAChB;EACE,OAAO;EACP,OAAO;EACP,aAAa;EACb,MAAM;EACN,QAAQ;EACR,MAAM;GACJ,KAAK;GACL,aAAa;GACb,KAAK,CAAC,YAAY,WAAW;GAC7B,QAAQ;EACV;EACA,GAAG;CACL;CACA;EACE,OAAO;EACP,OAAO;EACP,aAAa;EACb,MAAM;EACN,QAAQ;EACR,MAAM;GACJ,KAAK;GACL,aAAa;GACb,KAAK,CAAC;GACN,QAAQ;EACV;EACA,GAAG;CACL;CACA;EACE,OAAO;EACP,OAAO;EACP,aAAa;EACb,MAAM;EACN,QAAQ;EACR,aAAa;CACf;AACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"templates.native.js","names":[],"sources":["esm/templates.native.js"],"sourcesContent":["import * as BasicTemplateSteps from \"./steps/one\";\nvar templates = [\n {\n title: `Basic`,\n value: \"Basic\",\n description: \"The simplest starting point, vanilla
|
|
1
|
+
{"version":3,"file":"templates.native.js","names":[],"sources":["esm/templates.native.js"],"sourcesContent":["import * as BasicTemplateSteps from \"./steps/one\";\nvar templates = [\n {\n title: `Basic`,\n value: \"Basic\",\n description: \"The simplest starting point, vanilla React Native\",\n type: \"included-in-monorepo\",\n hidden: false,\n repo: {\n url: `https://github.com/onejs/one.git`,\n sshFallback: `git@github.com:onejs/one.git`,\n dir: [\n `examples`,\n `one-basic`\n ],\n branch: \"main\"\n },\n ...BasicTemplateSteps\n },\n {\n title: `Takeout Free`,\n value: \"Takeout\",\n description: \"One, Tamagui, Zero, Better Auth\",\n type: \"external-repo\",\n hidden: false,\n repo: {\n url: `https://github.com/tamagui/takeout-free.git`,\n sshFallback: `git@github.com:tamagui/takeout-free.git`,\n dir: [],\n branch: \"main\"\n },\n ...BasicTemplateSteps\n },\n {\n title: `Takeout Production`,\n value: \"TakeoutPro\",\n description: \"Takeout + a startup in a repo. Refined stack that's production ready. Home/Terms/Docs, CI/CD, IaC, Integration Tests, Onboarding, Notifications, OTA Updates, Screens, >50 Components, >25 Agent Docs, >30 Scripts. See https://takeout.tamagui.dev\",\n type: \"external-link\",\n hidden: false,\n externalUrl: \"https://takeout.tamagui.dev\"\n }\n];\nexport {\n templates\n};\n//# sourceMappingURL=templates.js.map\n"],"mappings":";;;AACA,IAAI,YAAY;CACd;EACE,OAAO;EACP,OAAO;EACP,aAAa;EACb,MAAM;EACN,QAAQ;EACR,MAAM;GACJ,KAAK;GACL,aAAa;GACb,KAAK,CACH,YACA,WACF;GACA,QAAQ;EACV;EACA,GAAG;CACL;CACA;EACE,OAAO;EACP,OAAO;EACP,aAAa;EACb,MAAM;EACN,QAAQ;EACR,MAAM;GACJ,KAAK;GACL,aAAa;GACb,KAAK,CAAC;GACN,QAAQ;EACV;EACA,GAAG;CACL;CACA;EACE,OAAO;EACP,OAAO;EACP,aAAa;EACb,MAAM;EACN,QAAQ;EACR,aAAa;CACf;AACF"}
|
package/package.json
CHANGED
|
@@ -1,17 +1,18 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "create-vxrn",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.6.0",
|
|
4
4
|
"bin": {
|
|
5
5
|
"create-vxrn": "run.js"
|
|
6
6
|
},
|
|
7
|
-
"main": "dist/cjs",
|
|
8
|
-
"module": "dist/esm",
|
|
7
|
+
"main": "dist/cjs/index.cjs",
|
|
8
|
+
"module": "dist/esm/index.mjs",
|
|
9
|
+
"types": "./types/index.d.ts",
|
|
9
10
|
"scripts": {
|
|
10
11
|
"start": "./run.js",
|
|
11
12
|
"prerelease": "rimraf ./dist/",
|
|
12
13
|
"prepublish": "bun run build",
|
|
13
14
|
"typecheck": "tsc --noEmit",
|
|
14
|
-
"build": "tamagui-build
|
|
15
|
+
"build": "tamagui-build",
|
|
15
16
|
"watch": "bun run build --watch",
|
|
16
17
|
"clean": "tamagui-build clean",
|
|
17
18
|
"clean:build": "tamagui-build clean:build"
|
|
@@ -21,17 +22,17 @@
|
|
|
21
22
|
".": {
|
|
22
23
|
"types": "./types/index.d.ts",
|
|
23
24
|
"import": "./dist/esm/index.mjs",
|
|
24
|
-
"require": "./dist/cjs/index.
|
|
25
|
+
"require": "./dist/cjs/index.cjs"
|
|
25
26
|
},
|
|
26
27
|
"./create": {
|
|
27
28
|
"types": "./types/create.d.ts",
|
|
28
29
|
"import": "./dist/esm/create.mjs",
|
|
29
|
-
"require": "./dist/cjs/create.
|
|
30
|
+
"require": "./dist/cjs/create.cjs"
|
|
30
31
|
}
|
|
31
32
|
},
|
|
32
33
|
"dependencies": {
|
|
33
34
|
"@types/validate-npm-package-name": "^4.0.2",
|
|
34
|
-
"@vxrn/utils": "2.
|
|
35
|
+
"@vxrn/utils": "2.6.0",
|
|
35
36
|
"ansis": "^3.1.0",
|
|
36
37
|
"async-retry": "1.3.1",
|
|
37
38
|
"citty": "^0.1.6",
|
|
@@ -43,13 +44,14 @@
|
|
|
43
44
|
"yocto-spinner": "^0.1.0"
|
|
44
45
|
},
|
|
45
46
|
"devDependencies": {
|
|
46
|
-
"@tamagui/build": "3.0.
|
|
47
|
+
"@tamagui/build": "3.0.3",
|
|
47
48
|
"@types/prompts": "^2.4.9",
|
|
48
49
|
"typescript": "7.0.2"
|
|
49
50
|
},
|
|
50
51
|
"publishConfig": {
|
|
51
52
|
"access": "public"
|
|
52
53
|
},
|
|
54
|
+
"releaseSourceCommit": "9822993504bd9422425d1d6ee9bfbe96f84c909c",
|
|
53
55
|
"repository": {
|
|
54
56
|
"type": "git",
|
|
55
57
|
"url": "git+https://github.com/onejs/one.git",
|
package/src/create.ts
CHANGED
|
@@ -99,23 +99,6 @@ export async function create(args: { template?: string; name?: string }) {
|
|
|
99
99
|
},
|
|
100
100
|
}).start()
|
|
101
101
|
|
|
102
|
-
await FSExtra.mkdir(resolvedProjectPath)
|
|
103
|
-
|
|
104
|
-
try {
|
|
105
|
-
await cloneStarter(template as any, resolvedProjectPath)
|
|
106
|
-
process.chdir(resolvedProjectPath)
|
|
107
|
-
} catch (e) {
|
|
108
|
-
console.error(`[vxrn] Failed to copy example into ${resolvedProjectPath}\n\n`, e)
|
|
109
|
-
process.exit(1)
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
spinner.stop()
|
|
113
|
-
console.info()
|
|
114
|
-
console.info()
|
|
115
|
-
console.info(ansis.green(`${projectName} created!`))
|
|
116
|
-
console.info()
|
|
117
|
-
console.info()
|
|
118
|
-
|
|
119
102
|
const packageJson = await (async () => {
|
|
120
103
|
const errorMessages: string[] = []
|
|
121
104
|
|
|
@@ -150,6 +133,23 @@ export async function create(args: { template?: string; name?: string }) {
|
|
|
150
133
|
}
|
|
151
134
|
})()
|
|
152
135
|
|
|
136
|
+
await FSExtra.mkdir(resolvedProjectPath)
|
|
137
|
+
|
|
138
|
+
try {
|
|
139
|
+
await cloneStarter(template as any, resolvedProjectPath)
|
|
140
|
+
process.chdir(resolvedProjectPath)
|
|
141
|
+
} catch (e) {
|
|
142
|
+
console.error(`[vxrn] Failed to copy example into ${resolvedProjectPath}\n\n`, e)
|
|
143
|
+
process.exit(1)
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
spinner.stop()
|
|
147
|
+
console.info()
|
|
148
|
+
console.info()
|
|
149
|
+
console.info(ansis.green(`${projectName} created!`))
|
|
150
|
+
console.info()
|
|
151
|
+
console.info()
|
|
152
|
+
|
|
153
153
|
// change root package.json's name to project name
|
|
154
154
|
updatePackageJsonName(projectName, resolvedProjectPath)
|
|
155
155
|
// replace `"workspace:*"` with the actual version
|
|
@@ -163,7 +163,8 @@ export async function create(args: { template?: string; name?: string }) {
|
|
|
163
163
|
}
|
|
164
164
|
const found = await detectPackageManager()
|
|
165
165
|
|
|
166
|
-
|
|
166
|
+
// found maps every manager to whether it is installed; count only the installed ones
|
|
167
|
+
const allFound = (Object.keys(found) as PackageManagerName[]).filter((x) => found[x])
|
|
167
168
|
|
|
168
169
|
if (allFound.length === 1) {
|
|
169
170
|
return allFound[0]
|
|
@@ -173,9 +174,7 @@ export async function create(args: { template?: string; name?: string }) {
|
|
|
173
174
|
name: 'packageManager',
|
|
174
175
|
type: 'select',
|
|
175
176
|
message: `Package Manager:`,
|
|
176
|
-
choices: allFound
|
|
177
|
-
.filter((x) => found[x])
|
|
178
|
-
.map((name) => ({
|
|
177
|
+
choices: allFound.map((name) => ({
|
|
179
178
|
title: name,
|
|
180
179
|
value: name,
|
|
181
180
|
})),
|
|
@@ -240,11 +239,11 @@ function updatePackageJsonVersions(version: string, dir: string) {
|
|
|
240
239
|
const packageJsonPath = path.join(dir, 'package.json')
|
|
241
240
|
if (existsSync(packageJsonPath)) {
|
|
242
241
|
const content = readFileSync(packageJsonPath).toString()
|
|
243
|
-
//
|
|
244
|
-
const contentWithUpdatedVersions = content
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
242
|
+
// pin the matching release; ranges can resolve to unrelated legacy packages
|
|
243
|
+
const contentWithUpdatedVersions = content.replace(
|
|
244
|
+
/"workspace:(?:\^|~|\*)"/gm,
|
|
245
|
+
`"${version}"`
|
|
246
|
+
)
|
|
248
247
|
writeFileSync(packageJsonPath, contentWithUpdatedVersions)
|
|
249
248
|
}
|
|
250
249
|
}
|
|
@@ -12,9 +12,12 @@ export const cloneStarter = async (
|
|
|
12
12
|
template: CloneableTemplate,
|
|
13
13
|
resolvedProjectPath: string
|
|
14
14
|
) => {
|
|
15
|
+
const branch = template.repo.branch
|
|
16
|
+
|
|
15
17
|
const dir = await setupVxrnDotDir(
|
|
16
18
|
template,
|
|
17
|
-
|
|
19
|
+
branch,
|
|
20
|
+
join(vxrnDir, 'vxrn', `${template.repo.url.split('/').at(-1)!}-${branch}`)
|
|
18
21
|
)
|
|
19
22
|
|
|
20
23
|
if (!(await pathExists(dir))) {
|
|
@@ -36,11 +39,10 @@ export const cloneStarter = async (
|
|
|
36
39
|
|
|
37
40
|
async function setupVxrnDotDir(
|
|
38
41
|
template: CloneableTemplate,
|
|
42
|
+
branch: string,
|
|
39
43
|
targetGitDir: string,
|
|
40
44
|
isRetry = false
|
|
41
45
|
) {
|
|
42
|
-
const branch = template.repo.branch
|
|
43
|
-
|
|
44
46
|
await ensureDir(vxrnDir)
|
|
45
47
|
|
|
46
48
|
const isInSubDir = template.repo.dir.length > 0
|
|
@@ -113,7 +115,7 @@ async function setupVxrnDotDir(
|
|
|
113
115
|
process.exit(1)
|
|
114
116
|
}
|
|
115
117
|
await rimraf(targetGitDir)
|
|
116
|
-
return await setupVxrnDotDir(template, targetGitDir, true)
|
|
118
|
+
return await setupVxrnDotDir(template, branch, targetGitDir, true)
|
|
117
119
|
}
|
|
118
120
|
}
|
|
119
121
|
|
package/src/index.ts
CHANGED
|
@@ -57,7 +57,7 @@ const main = defineCommand({
|
|
|
57
57
|
console.info() // this newline prevents the ascii art from breaking
|
|
58
58
|
console.info(ansis.bold('Creating vxrn app...'))
|
|
59
59
|
|
|
60
|
-
await create({ template: args.template })
|
|
60
|
+
await create({ name: args.directory, template: args.template })
|
|
61
61
|
},
|
|
62
62
|
})
|
|
63
63
|
|
package/src/templates.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../src/create.ts"],"names":[],"mappings":"AAiBA,wBAAsB,MAAM,CAAC,IAAI,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,iBA8MtE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cloneStarter.d.ts","sourceRoot":"","sources":["../../src/helpers/cloneStarter.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAMrD,eAAO,MAAM,YAAY,aACb,iBAAiB,uBACN,MAAM,kBAyB5B,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getProjectName.d.ts","sourceRoot":"","sources":["../../src/helpers/getProjectName.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,cAAc,iBAAwB,MAAM,oBA6CxD,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getTemplateInfo.d.ts","sourceRoot":"","sources":["../../src/helpers/getTemplateInfo.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAIxC,eAAO,MAAM,eAAe,cACf,MAAM,KAChB,OAAO,CAAC,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,CAAC,CAuBpC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"installDependencies.d.ts","sourceRoot":"","sources":["../../src/helpers/installDependencies.ts"],"names":[],"mappings":"AAEA,wBAAsB,mBAAmB,CACvC,WAAW,EAAE,MAAM,EACnB,cAAc,EAAE,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,iBA2BhD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validateNpmPackage.d.ts","sourceRoot":"","sources":["../../src/helpers/validateNpmPackage.ts"],"names":[],"mappings":"AAEA,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG;IAC7C,KAAK,EAAE,OAAO,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;CACpB,CAUA"}
|
package/types/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}
|