create-vxrn 2.0.0-beta.99.1 → 2.6.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.
Files changed (89) hide show
  1. package/.turbo/turbo-build.log +2 -2
  2. package/dist/cjs/create.cjs +19 -28
  3. package/dist/cjs/create.native.cjs +21 -30
  4. package/dist/cjs/create.native.js +21 -30
  5. package/dist/cjs/create.native.js.map +1 -1
  6. package/dist/cjs/helpers/cloneStarter.cjs +4 -4
  7. package/dist/cjs/helpers/cloneStarter.native.cjs +6 -6
  8. package/dist/cjs/helpers/cloneStarter.native.js +6 -6
  9. package/dist/cjs/helpers/cloneStarter.native.js.map +1 -1
  10. package/dist/cjs/helpers/getProjectName.native.cjs +2 -2
  11. package/dist/cjs/helpers/getProjectName.native.js +2 -2
  12. package/dist/cjs/helpers/getProjectName.native.js.map +1 -1
  13. package/dist/cjs/helpers/getTemplateInfo.native.cjs +2 -2
  14. package/dist/cjs/helpers/getTemplateInfo.native.js +2 -2
  15. package/dist/cjs/helpers/getTemplateInfo.native.js.map +1 -1
  16. package/dist/cjs/index.cjs +4 -1
  17. package/dist/cjs/index.native.cjs +4 -1
  18. package/dist/cjs/index.native.js +4 -1
  19. package/dist/cjs/index.native.js.map +1 -1
  20. package/dist/cjs/steps/bare.native.cjs +1 -1
  21. package/dist/cjs/steps/bare.native.js +1 -1
  22. package/dist/cjs/steps/bare.native.js.map +1 -1
  23. package/dist/cjs/steps/fullstack.native.cjs +2 -2
  24. package/dist/cjs/steps/fullstack.native.js +2 -2
  25. package/dist/cjs/steps/fullstack.native.js.map +1 -1
  26. package/dist/cjs/steps/one.native.cjs +3 -3
  27. package/dist/cjs/steps/one.native.js +3 -3
  28. package/dist/cjs/steps/one.native.js.map +1 -1
  29. package/dist/cjs/templates.cjs +25 -36
  30. package/dist/cjs/templates.native.cjs +25 -36
  31. package/dist/cjs/templates.native.js +25 -36
  32. package/dist/cjs/templates.native.js.map +1 -1
  33. package/dist/esm/create.mjs +20 -29
  34. package/dist/esm/create.mjs.map +1 -1
  35. package/dist/esm/create.native.js +22 -31
  36. package/dist/esm/create.native.js.map +1 -1
  37. package/dist/esm/helpers/cloneStarter.mjs +4 -4
  38. package/dist/esm/helpers/cloneStarter.mjs.map +1 -1
  39. package/dist/esm/helpers/cloneStarter.native.js +6 -6
  40. package/dist/esm/helpers/cloneStarter.native.js.map +1 -1
  41. package/dist/esm/helpers/getProjectName.native.js +2 -2
  42. package/dist/esm/helpers/getProjectName.native.js.map +1 -1
  43. package/dist/esm/helpers/getTemplateInfo.native.js +2 -2
  44. package/dist/esm/helpers/getTemplateInfo.native.js.map +1 -1
  45. package/dist/esm/index.mjs +4 -1
  46. package/dist/esm/index.mjs.map +1 -1
  47. package/dist/esm/index.native.js +4 -1
  48. package/dist/esm/index.native.js.map +1 -1
  49. package/dist/esm/steps/bare.native.js +1 -1
  50. package/dist/esm/steps/bare.native.js.map +1 -1
  51. package/dist/esm/steps/fullstack.native.js +2 -2
  52. package/dist/esm/steps/fullstack.native.js.map +1 -1
  53. package/dist/esm/steps/one.native.js +3 -3
  54. package/dist/esm/steps/one.native.js.map +1 -1
  55. package/dist/esm/templates.mjs +25 -36
  56. package/dist/esm/templates.mjs.map +1 -1
  57. package/dist/esm/templates.native.js +25 -36
  58. package/dist/esm/templates.native.js.map +1 -1
  59. package/package.json +10 -8
  60. package/src/create.ts +26 -43
  61. package/src/helpers/cloneStarter.ts +6 -4
  62. package/src/index.ts +1 -1
  63. package/src/templates.ts +4 -14
  64. package/types/create.d.ts +5 -0
  65. package/types/create.d.ts.map +1 -0
  66. package/types/helpers/cloneStarter.d.ts +3 -0
  67. package/types/helpers/cloneStarter.d.ts.map +1 -0
  68. package/types/helpers/getProjectName.d.ts +2 -0
  69. package/types/helpers/getProjectName.d.ts.map +1 -0
  70. package/types/helpers/getTemplateInfo.d.ts +3 -0
  71. package/types/helpers/getTemplateInfo.d.ts.map +1 -0
  72. package/types/helpers/installDependencies.d.ts +2 -0
  73. package/types/helpers/installDependencies.d.ts.map +1 -0
  74. package/types/helpers/validateNpmPackage.d.ts +5 -0
  75. package/types/helpers/validateNpmPackage.d.ts.map +1 -0
  76. package/types/index.d.ts +3 -0
  77. package/types/index.d.ts.map +1 -0
  78. package/types/steps/bare.d.ts +5 -0
  79. package/types/steps/bare.d.ts.map +1 -0
  80. package/types/steps/fullstack.d.ts +4 -0
  81. package/types/steps/fullstack.d.ts.map +1 -0
  82. package/types/steps/one.d.ts +4 -0
  83. package/types/steps/one.d.ts.map +1 -0
  84. package/types/steps/types.d.ts +9 -0
  85. package/types/steps/types.d.ts.map +1 -0
  86. package/types/templates.d.ts +34 -0
  87. package/types/templates.d.ts.map +1 -0
  88. package/dist/esm/index.js +0 -72
  89. package/dist/esm/index.js.map +0 -1
@@ -1 +1 @@
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
+ {"version":3,"file":"create.js","names":[],"sources":["esm/create.js"],"sourcesContent":["import ansis from \"ansis\";\nimport FSExtra from \"fs-extra\";\nimport { execSync } 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 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 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 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 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).filter((x) => found[x]);\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.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(\n /\"workspace:(?:\\^|~|\\*)\"/gm,\n `\"${version}\"`\n );\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 { exec, execSync } from "child_process";
3
+ import { execSync } from "child_process";
4
4
  import fs from "fs";
5
5
  import path from "path";
6
6
  import { promisify } from "util";
@@ -47,15 +47,6 @@ async function create(args) {
47
47
  }
48
48
  console.info();
49
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
50
  var { valid, problems } = validateNpmName(projectName);
60
51
  if (!valid) {
61
52
  console.error(`Could not create a project called ${ansis.red(`"${projectName}"`)} because of npm naming restrictions:`);
@@ -86,22 +77,6 @@ async function create(args) {
86
77
  interval: 100
87
78
  }
88
79
  }).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}
95
-
96
- `, e);
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
80
  var packageJson = await (async function() {
106
81
  var errorMessages = [];
107
82
  try {
@@ -143,6 +118,22 @@ async function create(args) {
143
118
  throw e;
144
119
  }
145
120
  })();
121
+ await FSExtra.mkdir(resolvedProjectPath);
122
+ try {
123
+ await cloneStarter(template, resolvedProjectPath);
124
+ process.chdir(resolvedProjectPath);
125
+ } catch (e) {
126
+ console.error(`[vxrn] Failed to copy example into ${resolvedProjectPath}
127
+
128
+ `, e);
129
+ process.exit(1);
130
+ }
131
+ spinner.stop();
132
+ console.info();
133
+ console.info();
134
+ console.info(ansis.green(`${projectName} created!`));
135
+ console.info();
136
+ console.info();
146
137
  updatePackageJsonName(projectName, resolvedProjectPath);
147
138
  updatePackageJsonVersions(packageJson.version, resolvedProjectPath);
148
139
  updateAppJsonName(projectName, resolvedProjectPath);
@@ -151,7 +142,9 @@ async function create(args) {
151
142
  return template.packageManager;
152
143
  }
153
144
  var found = await detectPackageManager();
154
- var allFound = Object.keys(found);
145
+ var allFound = Object.keys(found).filter(function(x) {
146
+ return found[x];
147
+ });
155
148
  if (allFound.length === 1) {
156
149
  return allFound[0];
157
150
  }
@@ -159,9 +152,7 @@ async function create(args) {
159
152
  name: "packageManager",
160
153
  type: "select",
161
154
  message: `Package Manager:`,
162
- choices: allFound.filter(function(x) {
163
- return found[x];
164
- }).map(function(name) {
155
+ choices: allFound.map(function(name) {
165
156
  return {
166
157
  title: name,
167
158
  value: name
@@ -216,7 +207,7 @@ function updatePackageJsonVersions(version, dir) {
216
207
  var packageJsonPath = path.join(dir, "package.json");
217
208
  if (existsSync(packageJsonPath)) {
218
209
  var content = readFileSync(packageJsonPath).toString();
219
- var contentWithUpdatedVersions = content.replace(/"workspace:\^"/gm, `"^${version}"`).replace(/"workspace:~"/gm, `"~${version}"`).replace(/"workspace:\*"/gm, `"^${version}"`);
210
+ var contentWithUpdatedVersions = content.replace(/"workspace:(?:\^|~|\*)"/gm, `"${version}"`);
220
211
  writeFileSync(packageJsonPath, contentWithUpdatedVersions);
221
212
  }
222
213
  }
@@ -1 +1 @@
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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"}
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 } 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 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 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 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 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).filter(function(x) {\n return found[x];\n });\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.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}\"`);\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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"}
@@ -7,7 +7,8 @@ import { exec, execPromiseQuiet } from "@vxrn/utils";
7
7
  const home = homedir();
8
8
  const vxrnDir = join(home, ".vxrn");
9
9
  const cloneStarter = async (template, resolvedProjectPath) => {
10
- const dir = await setupVxrnDotDir(template, join(vxrnDir, "vxrn", template.repo.url.split("/").at(-1)));
10
+ const branch = template.repo.branch;
11
+ const 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,8 +19,7 @@ const cloneStarter = async (template, resolvedProjectPath) => {
18
19
  await execPromiseQuiet(`git init`, { cwd: resolvedProjectPath });
19
20
  }
20
21
  };
21
- async function setupVxrnDotDir(template, targetGitDir, isRetry = false) {
22
- const branch = template.repo.branch;
22
+ async function setupVxrnDotDir(template, branch, targetGitDir, isRetry = false) {
23
23
  await ensureDir(vxrnDir);
24
24
  const isInSubDir = template.repo.dir.length > 0;
25
25
  if (!await pathExists(targetGitDir)) {
@@ -75,7 +75,7 @@ ${err.stack}` : "trying from fresh."}`);
75
75
  process.exit(1);
76
76
  }
77
77
  await rimraf(targetGitDir);
78
- return await setupVxrnDotDir(template, targetGitDir, true);
78
+ return await setupVxrnDotDir(template, branch, targetGitDir, true);
79
79
  }
80
80
  }
81
81
  function isInGitRepo() {
@@ -1 +1 @@
1
- {"version":3,"file":"cloneStarter.js","names":[],"sources":["esm/helpers/cloneStarter.js"],"sourcesContent":["import { copy, ensureDir, pathExists } from \"fs-extra\";\nimport { homedir } from \"node:os\";\nimport { join, sep } from \"node:path\";\nimport { rimraf } from \"rimraf\";\nimport { exec, execPromiseQuiet } from \"@vxrn/utils\";\nconst home = homedir();\nconst vxrnDir = join(home, \".vxrn\");\nconst cloneStarter = async (template, resolvedProjectPath) => {\n const dir = await setupVxrnDotDir(\n template,\n join(vxrnDir, \"vxrn\", template.repo.url.split(\"/\").at(-1))\n );\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, isRetry = false) {\n const branch = template.repo.branch;\n await ensureDir(vxrnDir);\n const isInSubDir = template.repo.dir.length > 0;\n if (!await pathExists(targetGitDir)) {\n const sourceGitRepo = template.repo.url;\n const sourceGitRepoSshFallback = template.repo.sshFallback;\n const 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 const 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(\n `Corrupt vxrn directory, please delete ${targetGitDir} folder and re-run`\n );\n process.exit(1);\n }\n }\n if (isInSubDir) {\n try {\n const cmd = `git sparse-checkout set ${template.repo.dir.join(sep) ?? \".\"}`;\n await execPromiseQuiet(cmd, { cwd: targetGitDir });\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 const cmd2 = `git pull --rebase --allow-unrelated-histories --depth 1 origin ${branch}`;\n await execPromiseQuiet(cmd2, {\n cwd: targetGitDir\n });\n console.info();\n const 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(\n `Error updating: ${err.message} ${isRetry ? `failing.\n${err.stack}` : \"trying from fresh.\"}`\n );\n console.info(\n `Please file an issue: https://github.com/onejs/one/issues/new?assignees=&labels=&template=bug_report.md&title=`\n );\n process.exit(1);\n }\n await rimraf(targetGitDir);\n return await setupVxrnDotDir(template, targetGitDir, true);\n }\n}\nfunction isInGitRepo() {\n try {\n exec(\"git rev-parse --is-inside-work-tree\", { stdio: \"ignore\" });\n return true;\n } catch (error) {\n return false;\n }\n}\nexport {\n cloneStarter\n};\n//# sourceMappingURL=cloneStarter.js.map\n"],"mappings":";;;;;;;AAKA,MAAM,OAAO,QAAQ;AACrB,MAAM,UAAU,KAAK,MAAM,OAAO;AAClC,MAAM,eAAe,OAAO,UAAU,wBAAwB;CAC5D,MAAM,MAAM,MAAM,gBAChB,UACA,KAAK,SAAS,QAAQ,SAAS,KAAK,IAAI,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAC3D;CACA,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,cAAc,UAAU,OAAO;CACtE,MAAM,SAAS,SAAS,KAAK;CAC7B,MAAM,UAAU,OAAO;CACvB,MAAM,aAAa,SAAS,KAAK,IAAI,SAAS;CAC9C,IAAI,CAAC,MAAM,WAAW,YAAY,GAAG;EACnC,MAAM,gBAAgB,SAAS,KAAK;EACpC,MAAM,2BAA2B,SAAS,KAAK;EAC/C,MAAM,MAAM,sBAAsB,OAAO,GAAG,aAAa,2CAA2C,KAAK,cAAc,IAAI,aAAa;EACxI,IAAI;GACF,MAAM,iBAAiB,GAAG;EAC5B,SAAS,OAAO;GACd,IAAI,IAAI,SAAS,UAAU,GAAG;IAC5B,QAAQ,KAAK,uCAAuC;IACpD,MAAM,SAAS,IAAI,QAAQ,eAAe,wBAAwB;IAClE,MAAM,iBAAiB,MAAM;GAC/B,OAAO;IACL,MAAM;GACR;EACF;CACF,OAAO;EACL,IAAI,CAAC,MAAM,WAAW,KAAK,cAAc,MAAM,CAAC,GAAG;GACjD,QAAQ,MACN,yCAAyC,aAAa,mBACxD;GACA,QAAQ,KAAK,CAAC;EAChB;CACF;CACA,IAAI,YAAY;EACd,IAAI;GACF,MAAM,MAAM,2BAA2B,SAAS,KAAK,IAAI,KAAK,GAAG,KAAK;GACtE,MAAM,iBAAiB,KAAK,EAAE,KAAK,aAAa,CAAC;EACnD,SAAS,KAAK;GACZ,IAAI,GAAG,MAAM,SAAS,UAAU,GAAG;IACjC,QAAQ,KAAK;;;;CAIpB;GACK;GACA,MAAM;EACR;CACF;CACA,IAAI;EACF,MAAM,OAAO,kEAAkE;EAC/E,MAAM,iBAAiB,MAAM,EAC3B,KAAK,aACP,CAAC;EACD,QAAQ,KAAK;EACb,MAAM,MAAM,KAAK,cAAc,GAAG,SAAS,KAAK,GAAG;EACnD,IAAI,CAAC,MAAM,WAAW,GAAG,GAAG;GAC1B,MAAM,IAAI,MAAM,aAAa;EAC/B;EACA,OAAO;CACT,SAAS,KAAK;EACZ,IAAI,SAAS;GACX,QAAQ,KACN,mBAAmB,IAAI,QAAQ,GAAG,UAAU;EAClD,IAAI,UAAU,sBACV;GACA,QAAQ,KACN,gHACF;GACA,QAAQ,KAAK,CAAC;EAChB;EACA,MAAM,OAAO,YAAY;EACzB,OAAO,MAAM,gBAAgB,UAAU,cAAc,IAAI;CAC3D;AACF;AACA,SAAS,cAAc;CACrB,IAAI;EACF,KAAK,uCAAuC,EAAE,OAAO,SAAS,CAAC;EAC/D,OAAO;CACT,SAAS,OAAO;EACd,OAAO;CACT;AACF"}
1
+ {"version":3,"file":"cloneStarter.js","names":[],"sources":["esm/helpers/cloneStarter.js"],"sourcesContent":["import { copy, ensureDir, pathExists } from \"fs-extra\";\nimport { homedir } from \"node:os\";\nimport { join, sep } from \"node:path\";\nimport { rimraf } from \"rimraf\";\nimport { exec, execPromiseQuiet } from \"@vxrn/utils\";\nconst home = homedir();\nconst vxrnDir = join(home, \".vxrn\");\nconst cloneStarter = async (template, resolvedProjectPath) => {\n const branch = template.repo.branch;\n const dir = await setupVxrnDotDir(\n template,\n branch,\n join(vxrnDir, \"vxrn\", `${template.repo.url.split(\"/\").at(-1)}-${branch}`)\n );\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, isRetry = false) {\n await ensureDir(vxrnDir);\n const isInSubDir = template.repo.dir.length > 0;\n if (!await pathExists(targetGitDir)) {\n const sourceGitRepo = template.repo.url;\n const sourceGitRepoSshFallback = template.repo.sshFallback;\n const 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 const 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(\n `Corrupt vxrn directory, please delete ${targetGitDir} folder and re-run`\n );\n process.exit(1);\n }\n }\n if (isInSubDir) {\n try {\n const cmd = `git sparse-checkout set ${template.repo.dir.join(sep) ?? \".\"}`;\n await execPromiseQuiet(cmd, { cwd: targetGitDir });\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 const cmd2 = `git pull --rebase --allow-unrelated-histories --depth 1 origin ${branch}`;\n await execPromiseQuiet(cmd2, {\n cwd: targetGitDir\n });\n console.info();\n const 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(\n `Error updating: ${err.message} ${isRetry ? `failing.\n${err.stack}` : \"trying from fresh.\"}`\n );\n console.info(\n `Please file an issue: https://github.com/onejs/one/issues/new?assignees=&labels=&template=bug_report.md&title=`\n );\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\", { stdio: \"ignore\" });\n return true;\n } catch (error) {\n return false;\n }\n}\nexport {\n cloneStarter\n};\n//# sourceMappingURL=cloneStarter.js.map\n"],"mappings":";;;;;;;AAKA,MAAM,OAAO,QAAQ;AACrB,MAAM,UAAU,KAAK,MAAM,OAAO;AAClC,MAAM,eAAe,OAAO,UAAU,wBAAwB;CAC5D,MAAM,SAAS,SAAS,KAAK;CAC7B,MAAM,MAAM,MAAM,gBAChB,UACA,QACA,KAAK,SAAS,QAAQ,GAAG,SAAS,KAAK,IAAI,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,QAAQ,CAC1E;CACA,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,UAAU,OAAO;CAC9E,MAAM,UAAU,OAAO;CACvB,MAAM,aAAa,SAAS,KAAK,IAAI,SAAS;CAC9C,IAAI,CAAC,MAAM,WAAW,YAAY,GAAG;EACnC,MAAM,gBAAgB,SAAS,KAAK;EACpC,MAAM,2BAA2B,SAAS,KAAK;EAC/C,MAAM,MAAM,sBAAsB,OAAO,GAAG,aAAa,2CAA2C,KAAK,cAAc,IAAI,aAAa;EACxI,IAAI;GACF,MAAM,iBAAiB,GAAG;EAC5B,SAAS,OAAO;GACd,IAAI,IAAI,SAAS,UAAU,GAAG;IAC5B,QAAQ,KAAK,uCAAuC;IACpD,MAAM,SAAS,IAAI,QAAQ,eAAe,wBAAwB;IAClE,MAAM,iBAAiB,MAAM;GAC/B,OAAO;IACL,MAAM;GACR;EACF;CACF,OAAO;EACL,IAAI,CAAC,MAAM,WAAW,KAAK,cAAc,MAAM,CAAC,GAAG;GACjD,QAAQ,MACN,yCAAyC,aAAa,mBACxD;GACA,QAAQ,KAAK,CAAC;EAChB;CACF;CACA,IAAI,YAAY;EACd,IAAI;GACF,MAAM,MAAM,2BAA2B,SAAS,KAAK,IAAI,KAAK,GAAG,KAAK;GACtE,MAAM,iBAAiB,KAAK,EAAE,KAAK,aAAa,CAAC;EACnD,SAAS,KAAK;GACZ,IAAI,GAAG,MAAM,SAAS,UAAU,GAAG;IACjC,QAAQ,KAAK;;;;CAIpB;GACK;GACA,MAAM;EACR;CACF;CACA,IAAI;EACF,MAAM,OAAO,kEAAkE;EAC/E,MAAM,iBAAiB,MAAM,EAC3B,KAAK,aACP,CAAC;EACD,QAAQ,KAAK;EACb,MAAM,MAAM,KAAK,cAAc,GAAG,SAAS,KAAK,GAAG;EACnD,IAAI,CAAC,MAAM,WAAW,GAAG,GAAG;GAC1B,MAAM,IAAI,MAAM,aAAa;EAC/B;EACA,OAAO;CACT,SAAS,KAAK;EACZ,IAAI,SAAS;GACX,QAAQ,KACN,mBAAmB,IAAI,QAAQ,GAAG,UAAU;EAClD,IAAI,UAAU,sBACV;GACA,QAAQ,KACN,gHACF;GACA,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,EAAE,OAAO,SAAS,CAAC;EAC/D,OAAO;CACT,SAAS,OAAO;EACd,OAAO;CACT;AACF"}
@@ -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 dir = await setupVxrnDotDir(template, join(vxrnDir, "vxrn", template.repo.url.split("/").at(-1)));
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 > 2 && arguments[2] !== void 0 ? arguments[2] : false;
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 > 2 && arguments[2] !== void 0 ? arguments[2] : false;\n var branch = template.repo.branch;\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, 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,UAAU,qBAAqB;CAC/D,IAAI,MAAM,MAAM,gBAAgB,UAAU,KAAK,SAAS,QAAQ,SAAS,KAAK,IAAI,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CACpG,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,cAAc;CACrD,IAAI,UAAU,UAAU,SAAS,KAAK,UAAU,OAAO,KAAK,IAAI,UAAU,KAAK;CAC/E,IAAI,SAAS,SAAS,KAAK;CAC3B,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,cAAc,IAAI;CAC3D;AACF;AACA,SAAS,cAAc;CACrB,IAAI;EACF,KAAK,uCAAuC,EAC1C,OAAO,SACT,CAAC;EACD,OAAO;CACT,SAAS,OAAO;EACd,OAAO;CACT;AACF"}
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/C,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,OAAO;IACxB,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"}
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;CAC7C,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,UAAU;CACxC,OAAO,OAAO,aAAa,YAAY,UAAU,KAAK,SAAS,OAAO;EACpE,IAAI,EAAE,UAAU;EAChB,OAAO,UAAU;CACnB,CAAC;AACH"}
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"}
@@ -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({ template: args.template });
52
+ await create({
53
+ name: args.directory,
54
+ template: args.template
55
+ });
53
56
  }
54
57
  });
55
58
  runMain(main);
@@ -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,EAAE,UAAU,KAAK,SAAS,CAAC;CAC1C;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"}
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"}
@@ -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({ template: args.template });
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,EACX,UAAU,KAAK,SACjB,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"}
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;CAC/B,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"}
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;CACpC,OAAO,GAAG,eAAe,GAAG,UAAU,KAAK,SAAS;AACtD;AACA,IAAI,OAAO,eAAe,OAAO;CAC/B,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"}
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;CACrC,IAAI,EAAE,aAAa,aAAa,mBAAmB;CACnD,IAAI,SAAS,mBAAmB;CAChC,IAAI,aAAa,SAAS,YAAY;EACpC,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,OAAO;CACrC,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"}
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"}