create-vxrn 1.14.4 → 1.14.5

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 (82) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/dist/cjs/create.cjs +156 -93
  3. package/dist/cjs/create.native.js +165 -102
  4. package/dist/cjs/create.native.js.map +1 -1
  5. package/dist/cjs/helpers/cloneStarter.cjs +77 -45
  6. package/dist/cjs/helpers/cloneStarter.native.js +79 -47
  7. package/dist/cjs/helpers/cloneStarter.native.js.map +1 -1
  8. package/dist/cjs/helpers/getProjectName.cjs +61 -40
  9. package/dist/cjs/helpers/getProjectName.native.js +67 -46
  10. package/dist/cjs/helpers/getProjectName.native.js.map +1 -1
  11. package/dist/cjs/helpers/getTemplateInfo.cjs +50 -35
  12. package/dist/cjs/helpers/getTemplateInfo.native.js +59 -44
  13. package/dist/cjs/helpers/getTemplateInfo.native.js.map +1 -1
  14. package/dist/cjs/helpers/installDependencies.cjs +16 -12
  15. package/dist/cjs/helpers/installDependencies.native.js +19 -15
  16. package/dist/cjs/helpers/installDependencies.native.js.map +1 -1
  17. package/dist/cjs/helpers/validateNpmPackage.cjs +31 -26
  18. package/dist/cjs/helpers/validateNpmPackage.native.js +31 -26
  19. package/dist/cjs/helpers/validateNpmPackage.native.js.map +1 -1
  20. package/dist/cjs/index.cjs +39 -25
  21. package/dist/cjs/index.native.js +39 -26
  22. package/dist/cjs/index.native.js.map +1 -1
  23. package/dist/cjs/steps/bare.cjs +53 -32
  24. package/dist/cjs/steps/bare.native.js +75 -52
  25. package/dist/cjs/steps/bare.native.js.map +1 -1
  26. package/dist/cjs/steps/fullstack.cjs +37 -32
  27. package/dist/cjs/steps/fullstack.native.js +42 -37
  28. package/dist/cjs/steps/fullstack.native.js.map +1 -1
  29. package/dist/cjs/steps/one.cjs +65 -47
  30. package/dist/cjs/steps/one.native.js +70 -52
  31. package/dist/cjs/steps/one.native.js.map +1 -1
  32. package/dist/cjs/steps/types.cjs +7 -5
  33. package/dist/cjs/steps/types.native.js +7 -5
  34. package/dist/cjs/steps/types.native.js.map +1 -1
  35. package/dist/cjs/templates.cjs +35 -33
  36. package/dist/cjs/templates.native.js +59 -57
  37. package/dist/cjs/templates.native.js.map +1 -1
  38. package/dist/esm/create.mjs +112 -51
  39. package/dist/esm/create.mjs.map +1 -1
  40. package/dist/esm/create.native.js +127 -66
  41. package/dist/esm/create.native.js.map +1 -1
  42. package/dist/esm/helpers/cloneStarter.mjs +60 -30
  43. package/dist/esm/helpers/cloneStarter.mjs.map +1 -1
  44. package/dist/esm/helpers/cloneStarter.native.js +62 -32
  45. package/dist/esm/helpers/cloneStarter.native.js.map +1 -1
  46. package/dist/esm/helpers/getProjectName.mjs +33 -14
  47. package/dist/esm/helpers/getProjectName.mjs.map +1 -1
  48. package/dist/esm/helpers/getProjectName.native.js +33 -14
  49. package/dist/esm/helpers/getProjectName.native.js.map +1 -1
  50. package/dist/esm/helpers/getTemplateInfo.mjs +24 -11
  51. package/dist/esm/helpers/getTemplateInfo.mjs.map +1 -1
  52. package/dist/esm/helpers/getTemplateInfo.native.js +32 -19
  53. package/dist/esm/helpers/getTemplateInfo.native.js.map +1 -1
  54. package/dist/esm/helpers/installDependencies.mjs +4 -2
  55. package/dist/esm/helpers/installDependencies.mjs.map +1 -1
  56. package/dist/esm/helpers/installDependencies.native.js +7 -5
  57. package/dist/esm/helpers/installDependencies.native.js.map +1 -1
  58. package/dist/esm/helpers/validateNpmPackage.mjs +7 -4
  59. package/dist/esm/helpers/validateNpmPackage.mjs.map +1 -1
  60. package/dist/esm/helpers/validateNpmPackage.native.js +7 -4
  61. package/dist/esm/helpers/validateNpmPackage.native.js.map +1 -1
  62. package/dist/esm/index.js +22 -10
  63. package/dist/esm/index.js.map +1 -1
  64. package/dist/esm/index.mjs +22 -10
  65. package/dist/esm/index.mjs.map +1 -1
  66. package/dist/esm/index.native.js +22 -11
  67. package/dist/esm/index.native.js.map +1 -1
  68. package/dist/esm/steps/bare.mjs +26 -7
  69. package/dist/esm/steps/bare.mjs.map +1 -1
  70. package/dist/esm/steps/bare.native.js +48 -27
  71. package/dist/esm/steps/bare.native.js.map +1 -1
  72. package/dist/esm/steps/fullstack.mjs +13 -10
  73. package/dist/esm/steps/fullstack.mjs.map +1 -1
  74. package/dist/esm/steps/fullstack.native.js +17 -14
  75. package/dist/esm/steps/fullstack.native.js.map +1 -1
  76. package/dist/esm/steps/one.mjs +37 -21
  77. package/dist/esm/steps/one.mjs.map +1 -1
  78. package/dist/esm/steps/one.native.js +41 -25
  79. package/dist/esm/steps/one.native.js.map +1 -1
  80. package/dist/esm/templates.mjs +11 -11
  81. package/dist/esm/templates.native.js +11 -11
  82. package/package.json +3 -3
@@ -1,2 +1,2 @@
1
1
  $ tamagui-build --skip-types
2
- built create-vxrn in 493 ms
2
+ built create-vxrn in 246 ms
@@ -2,85 +2,115 @@ var __create = Object.create;
2
2
  var __defProp = Object.defineProperty;
3
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
4
  var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __getProtoOf = Object.getPrototypeOf,
6
- __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
7
  var __export = (target, all) => {
8
- for (var name in all) __defProp(target, name, {
9
- get: all[name],
10
- enumerable: !0
11
- });
12
- },
13
- __copyProps = (to, from, except, desc) => {
14
- if (from && typeof from == "object" || typeof from == "function") for (let key of __getOwnPropNames(from)) !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, {
8
+ for (var name in all) __defProp(target, name, {
9
+ get: all[name],
10
+ enumerable: true
11
+ });
12
+ };
13
+ var __copyProps = (to, from, except, desc) => {
14
+ if (from && typeof from === "object" || typeof from === "function") {
15
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
15
16
  get: () => from[key],
16
17
  enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
17
18
  });
18
- return to;
19
- };
19
+ }
20
+ return to;
21
+ };
20
22
  var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
- // If the importer is in node compatibility mode or this is not an ESM
22
- // file that has been converted to a CommonJS file using a Babel-
23
- // compatible transform (i.e. "__esModule" has not been set), then set
24
- // "default" to the CommonJS "module.exports" for node compatibility.
25
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
26
- value: mod,
27
- enumerable: !0
28
- }) : target, mod)),
29
- __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
30
- value: !0
31
- }), mod);
23
+ // If the importer is in node compatibility mode or this is not an ESM
24
+ // file that has been converted to a CommonJS file using a Babel-
25
+ // compatible transform (i.e. "__esModule" has not been set), then set
26
+ // "default" to the CommonJS "module.exports" for node compatibility.
27
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
28
+ value: mod,
29
+ enumerable: true
30
+ }) : target, mod));
31
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
32
+ value: true
33
+ }), mod);
32
34
  var create_exports = {};
33
35
  __export(create_exports, {
34
36
  create: () => create
35
37
  });
36
38
  module.exports = __toCommonJS(create_exports);
37
- var import_ansis = __toESM(require("ansis")),
38
- import_fs_extra = __toESM(require("fs-extra")),
39
- import_node_child_process = require("node:child_process"),
40
- import_node_fs = __toESM(require("node:fs")),
41
- import_node_path = __toESM(require("node:path")),
42
- import_node_util = require("node:util"),
43
- import_node_url = require("node:url"),
44
- import_cloneStarter = require("./helpers/cloneStarter.cjs"),
45
- import_getProjectName = require("./helpers/getProjectName.cjs"),
46
- import_getTemplateInfo = require("./helpers/getTemplateInfo.cjs"),
47
- import_installDependencies = require("./helpers/installDependencies.cjs"),
48
- import_validateNpmPackage = require("./helpers/validateNpmPackage.cjs"),
49
- import_prompts = __toESM(require("prompts")),
50
- import_utils = require("@vxrn/utils");
51
- const import_meta = {},
52
- {
53
- existsSync,
54
- readFileSync,
55
- writeFileSync
56
- } = import_fs_extra.default;
39
+ var import_ansis = __toESM(require("ansis"));
40
+ var import_fs_extra = __toESM(require("fs-extra"));
41
+ var import_node_child_process = require("node:child_process");
42
+ var import_node_fs = __toESM(require("node:fs"));
43
+ var import_node_path = __toESM(require("node:path"));
44
+ var import_node_util = require("node:util");
45
+ var import_node_url = require("node:url");
46
+ var import_cloneStarter = require("./helpers/cloneStarter.cjs");
47
+ var import_getProjectName = require("./helpers/getProjectName.cjs");
48
+ var import_getTemplateInfo = require("./helpers/getTemplateInfo.cjs");
49
+ var import_installDependencies = require("./helpers/installDependencies.cjs");
50
+ var import_validateNpmPackage = require("./helpers/validateNpmPackage.cjs");
51
+ var import_prompts = __toESM(require("prompts"));
52
+ var import_utils = require("@vxrn/utils");
53
+ const import_meta = {};
54
+ const {
55
+ existsSync,
56
+ readFileSync,
57
+ writeFileSync
58
+ } = import_fs_extra.default;
57
59
  async function create(args) {
58
- Number.parseFloat((0, import_node_child_process.execSync)("git --version").toString().replace("git version ", "").trim()) < 2.27 && (console.error(`
60
+ const gitVersionString = Number.parseFloat((0, import_node_child_process.execSync)(`git --version`).toString().replace(`git version `, "").trim());
61
+ if (gitVersionString < 2.27) {
62
+ console.error(`
59
63
 
60
64
  ! vxrn can't install: Git version must be >= 2.27
61
65
 
62
- `), process.exit(1));
63
- let projectName = args.name || "",
64
- resolvedProjectPath = import_node_path.default.resolve(process.cwd(), projectName);
66
+ `);
67
+ process.exit(1);
68
+ }
69
+ let projectName = args.name || "";
70
+ let resolvedProjectPath = import_node_path.default.resolve(process.cwd(), projectName);
65
71
  async function promptForName() {
66
- projectName = await (0, import_getProjectName.getProjectName)(), resolvedProjectPath = import_node_path.default.resolve(process.cwd(), projectName);
72
+ projectName = await (0, import_getProjectName.getProjectName)();
73
+ resolvedProjectPath = import_node_path.default.resolve(process.cwd(), projectName);
74
+ }
75
+ if (projectName) {
76
+ if (import_node_fs.default.existsSync(resolvedProjectPath)) {
77
+ console.error(`Error: folder already exists: ${resolvedProjectPath}`);
78
+ process.exit(1);
79
+ }
80
+ } else {
81
+ await promptForName();
82
+ while (import_node_fs.default.existsSync(resolvedProjectPath)) {
83
+ console.info();
84
+ console.info(import_ansis.default.yellow("!"), `The folder ${import_ansis.default.underline(import_ansis.default.blueBright(projectName))} already exists, lets try another name`);
85
+ console.info();
86
+ console.info();
87
+ await promptForName();
88
+ }
67
89
  }
68
- if (projectName) import_node_fs.default.existsSync(resolvedProjectPath) && (console.error(`Error: folder already exists: ${resolvedProjectPath}`), process.exit(1));else for (await promptForName(); import_node_fs.default.existsSync(resolvedProjectPath);) console.info(), console.info(import_ansis.default.yellow("!"), `The folder ${import_ansis.default.underline(import_ansis.default.blueBright(projectName))} already exists, lets try another name`), console.info(), console.info(), await promptForName();
69
90
  console.info();
70
91
  let template = await (0, import_getTemplateInfo.getTemplateInfo)(args.template);
71
92
  if (template.type === "external-link") {
72
93
  const url = template.externalUrl;
73
- console.info(), console.info(import_ansis.default.green(`Opening ${url}...`)), console.info();
94
+ console.info();
95
+ console.info(import_ansis.default.green(`Opening ${url}...`));
96
+ console.info();
74
97
  const openCmd = process.platform === "darwin" ? "open" : process.platform === "win32" ? "start" : "xdg-open";
75
- (0, import_node_child_process.exec)(`${openCmd} ${url}`), process.exit(0);
98
+ (0, import_node_child_process.exec)(`${openCmd} ${url}`);
99
+ process.exit(0);
76
100
  }
77
101
  const {
78
102
  valid,
79
103
  problems
80
104
  } = (0, import_validateNpmPackage.validateNpmName)(projectName);
81
- valid || (console.error(`Could not create a project called ${import_ansis.default.red(`"${projectName}"`)} because of npm naming restrictions:`), problems.forEach(p => console.error(` ${import_ansis.default.red.bold("*")} ${p}`)), process.exit(1)), console.info();
82
- const spinner = (await import("yocto-spinner").then(x => x.default))({
83
- text: "Creating...",
105
+ if (!valid) {
106
+ console.error(`Could not create a project called ${import_ansis.default.red(`"${projectName}"`)} because of npm naming restrictions:`);
107
+ problems.forEach(p => console.error(` ${import_ansis.default.red.bold("*")} ${p}`));
108
+ process.exit(1);
109
+ }
110
+ console.info();
111
+ const Spinner = await import("yocto-spinner").then(x => x.default);
112
+ const spinner = Spinner({
113
+ text: `Creating...`,
84
114
  spinner: {
85
115
  frames: ["\u280B", "\u2819", "\u2839", "\u2838", "\u283C", "\u2834", "\u2826", "\u2827", "\u2807", "\u280F"],
86
116
  interval: 100
@@ -88,86 +118,119 @@ async function create(args) {
88
118
  }).start();
89
119
  await import_fs_extra.default.mkdir(resolvedProjectPath);
90
120
  try {
91
- await (0, import_cloneStarter.cloneStarter)(template, resolvedProjectPath), process.chdir(resolvedProjectPath);
121
+ await (0, import_cloneStarter.cloneStarter)(template, resolvedProjectPath);
122
+ process.chdir(resolvedProjectPath);
92
123
  } catch (e) {
93
124
  console.error(`[vxrn] Failed to copy example into ${resolvedProjectPath}
94
125
 
95
- `, e), process.exit(1);
126
+ `, e);
127
+ process.exit(1);
96
128
  }
97
- spinner.stop(), console.info(), console.info(), console.info(import_ansis.default.green(`${projectName} created!`)), console.info(), console.info();
129
+ spinner.stop();
130
+ console.info();
131
+ console.info();
132
+ console.info(import_ansis.default.green(`${projectName} created!`));
133
+ console.info();
134
+ console.info();
98
135
  const packageJson = await (async () => {
99
136
  const errorMessages = [];
100
137
  try {
101
- const dirname = typeof __dirname < "u" ? __dirname : import_node_path.default.dirname((0, import_node_url.fileURLToPath)(import_meta.url)),
102
- possiblePaths = [import_node_path.default.join(dirname, "..", "package.json"), import_node_path.default.join(dirname, "..", "..", "package.json"), import_node_path.default.join(dirname, "..", "..", "..", "package.json")],
103
- readFile = (0, import_node_util.promisify)(import_node_fs.default.readFile);
104
- for (const p of possiblePaths) try {
105
- return JSON.parse(await readFile(p));
106
- } catch (e) {
107
- e instanceof Error && errorMessages.push(e.message);
138
+ const dirname = typeof __dirname !== "undefined" ? __dirname : import_node_path.default.dirname((0, import_node_url.fileURLToPath)(import_meta.url));
139
+ const possiblePaths = [import_node_path.default.join(dirname, "..", "package.json"), import_node_path.default.join(dirname, "..", "..", "package.json"), import_node_path.default.join(dirname, "..", "..", "..", "package.json")];
140
+ const readFile = (0, import_node_util.promisify)(import_node_fs.default.readFile);
141
+ for (const p of possiblePaths) {
142
+ try {
143
+ const data = JSON.parse(await readFile(p));
144
+ return data;
145
+ } catch (e) {
146
+ if (e instanceof Error) errorMessages.push(e.message);
147
+ }
108
148
  }
109
149
  throw new Error("package.json not found in any of the expected locations.");
110
150
  } catch (e) {
111
- throw console.error("Failed to load package.json:", errorMessages.join(`
112
- `)), e;
151
+ console.error("Failed to load package.json:", errorMessages.join("\n"));
152
+ throw e;
113
153
  }
114
154
  })();
115
- updatePackageJsonName(projectName, resolvedProjectPath), updatePackageJsonVersions(packageJson.version, resolvedProjectPath), updateAppJsonName(projectName, resolvedProjectPath);
155
+ updatePackageJsonName(projectName, resolvedProjectPath);
156
+ updatePackageJsonVersions(packageJson.version, resolvedProjectPath);
157
+ updateAppJsonName(projectName, resolvedProjectPath);
116
158
  const packageManager = await (async () => {
117
- if ("packageManager" in template) return template.packageManager;
118
- const found = await (0, import_utils.detectPackageManager)(),
119
- allFound = Object.keys(found);
120
- return allFound.length === 1 ? allFound[0] : (await (0, import_prompts.default)({
159
+ if ("packageManager" in template) {
160
+ return template.packageManager;
161
+ }
162
+ const found = await (0, import_utils.detectPackageManager)();
163
+ const allFound = Object.keys(found);
164
+ if (allFound.length === 1) {
165
+ return allFound[0];
166
+ }
167
+ const response = await (0, import_prompts.default)({
121
168
  name: "packageManager",
122
169
  type: "select",
123
- message: "Package Manager:",
170
+ message: `Package Manager:`,
124
171
  choices: allFound.filter(x => found[x]).map(name => ({
125
172
  title: name,
126
173
  value: name
127
174
  }))
128
- })).packageManager;
175
+ });
176
+ return response.packageManager;
129
177
  })();
130
- console.info(), "preInstall" in template && (await template.preInstall({
131
- packageManager,
132
- isFullClone: !0,
133
- projectName,
134
- projectPath: resolvedProjectPath
135
- }));
178
+ console.info();
179
+ if ("preInstall" in template) {
180
+ await template.preInstall({
181
+ packageManager,
182
+ isFullClone: true,
183
+ projectName,
184
+ projectPath: resolvedProjectPath
185
+ });
186
+ }
136
187
  try {
137
- console.info(), console.info(import_ansis.default.green(`Installing with ${packageManager}...`)), console.info(), await (0, import_installDependencies.installDependencies)(resolvedProjectPath, packageManager);
188
+ console.info();
189
+ console.info(import_ansis.default.green(`Installing with ${packageManager}...`));
190
+ console.info();
191
+ await (0, import_installDependencies.installDependencies)(resolvedProjectPath, packageManager);
138
192
  } catch (e) {
139
193
  console.error("[vxrn] error installing with " + packageManager + `
140
- ${e}`), process.exit(1);
194
+ ${e}`);
195
+ process.exit(1);
196
+ }
197
+ const envDefault = import_node_path.default.join(resolvedProjectPath, ".env.default");
198
+ const env = import_node_path.default.join(resolvedProjectPath, ".env");
199
+ if (existsSync(envDefault) && !existsSync(env)) {
200
+ await import_fs_extra.default.move(envDefault, env);
141
201
  }
142
- const envDefault = import_node_path.default.join(resolvedProjectPath, ".env.default"),
143
- env = import_node_path.default.join(resolvedProjectPath, ".env");
144
- existsSync(envDefault) && !existsSync(env) && (await import_fs_extra.default.move(envDefault, env)), "extraSteps" in template && (await template.extraSteps({
145
- packageManager,
146
- isFullClone: !0,
147
- projectName,
148
- projectPath: resolvedProjectPath
149
- })), console.info();
202
+ if ("extraSteps" in template) {
203
+ await template.extraSteps({
204
+ packageManager,
205
+ isFullClone: true,
206
+ projectName,
207
+ projectPath: resolvedProjectPath
208
+ });
209
+ }
210
+ console.info();
150
211
  }
151
212
  function updatePackageJsonName(projectName, dir) {
152
213
  const packageJsonPath = import_node_path.default.join(dir, "package.json");
153
214
  if (existsSync(packageJsonPath)) {
154
- const contentWithUpdatedName = readFileSync(packageJsonPath).toString().replace(/("name": ")(.*)(",)/, `$1${projectName}$3`);
215
+ const content = readFileSync(packageJsonPath).toString();
216
+ const contentWithUpdatedName = content.replace(/("name": ")(.*)(",)/, `$1${projectName}$3`);
155
217
  writeFileSync(packageJsonPath, contentWithUpdatedName);
156
218
  }
157
219
  }
158
220
  function updatePackageJsonVersions(version, dir) {
159
221
  const packageJsonPath = import_node_path.default.join(dir, "package.json");
160
222
  if (existsSync(packageJsonPath)) {
161
- const contentWithUpdatedVersions = readFileSync(packageJsonPath).toString().replace(/"workspace:\^"/gm, `"^${version}"`).replace(/"workspace:~"/gm, `"~${version}"`).replace(/"workspace:\*"/gm, `"^${version}"`);
223
+ const content = readFileSync(packageJsonPath).toString();
224
+ const contentWithUpdatedVersions = content.replace(/"workspace:\^"/gm, `"^${version}"`).replace(/"workspace:~"/gm, `"~${version}"`).replace(/"workspace:\*"/gm, `"^${version}"`);
162
225
  writeFileSync(packageJsonPath, contentWithUpdatedVersions);
163
226
  }
164
227
  }
165
228
  function updateAppJsonName(projectName, dir) {
166
229
  const appJsonPath = import_node_path.default.join(dir, "app.json");
167
230
  if (existsSync(appJsonPath)) {
168
- const content = readFileSync(appJsonPath).toString(),
169
- projectSlug = projectName.toLowerCase().replace(/\s/g, "-"),
170
- contentWithUpdatedName = content.replace(/("name": ")(.*)(",)/, `$1${projectName}$3`).replace(/("slug": ")(.*)(",)/, `$1${projectSlug}$3`);
231
+ const content = readFileSync(appJsonPath).toString();
232
+ const projectSlug = projectName.toLowerCase().replace(/\s/g, "-");
233
+ const contentWithUpdatedName = content.replace(/("name": ")(.*)(",)/, `$1${projectName}$3`).replace(/("slug": ")(.*)(",)/, `$1${projectSlug}$3`);
171
234
  writeFileSync(appJsonPath, contentWithUpdatedName);
172
235
  }
173
236
  }