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.
- package/.turbo/turbo-build.log +1 -1
- package/dist/cjs/create.cjs +156 -93
- package/dist/cjs/create.native.js +165 -102
- package/dist/cjs/create.native.js.map +1 -1
- package/dist/cjs/helpers/cloneStarter.cjs +77 -45
- package/dist/cjs/helpers/cloneStarter.native.js +79 -47
- package/dist/cjs/helpers/cloneStarter.native.js.map +1 -1
- package/dist/cjs/helpers/getProjectName.cjs +61 -40
- package/dist/cjs/helpers/getProjectName.native.js +67 -46
- package/dist/cjs/helpers/getProjectName.native.js.map +1 -1
- package/dist/cjs/helpers/getTemplateInfo.cjs +50 -35
- package/dist/cjs/helpers/getTemplateInfo.native.js +59 -44
- package/dist/cjs/helpers/getTemplateInfo.native.js.map +1 -1
- package/dist/cjs/helpers/installDependencies.cjs +16 -12
- package/dist/cjs/helpers/installDependencies.native.js +19 -15
- package/dist/cjs/helpers/installDependencies.native.js.map +1 -1
- package/dist/cjs/helpers/validateNpmPackage.cjs +31 -26
- package/dist/cjs/helpers/validateNpmPackage.native.js +31 -26
- package/dist/cjs/helpers/validateNpmPackage.native.js.map +1 -1
- package/dist/cjs/index.cjs +39 -25
- package/dist/cjs/index.native.js +39 -26
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/cjs/steps/bare.cjs +53 -32
- package/dist/cjs/steps/bare.native.js +75 -52
- package/dist/cjs/steps/bare.native.js.map +1 -1
- package/dist/cjs/steps/fullstack.cjs +37 -32
- package/dist/cjs/steps/fullstack.native.js +42 -37
- package/dist/cjs/steps/fullstack.native.js.map +1 -1
- package/dist/cjs/steps/one.cjs +65 -47
- package/dist/cjs/steps/one.native.js +70 -52
- package/dist/cjs/steps/one.native.js.map +1 -1
- package/dist/cjs/steps/types.cjs +7 -5
- package/dist/cjs/steps/types.native.js +7 -5
- package/dist/cjs/steps/types.native.js.map +1 -1
- package/dist/cjs/templates.cjs +35 -33
- package/dist/cjs/templates.native.js +59 -57
- package/dist/cjs/templates.native.js.map +1 -1
- package/dist/esm/create.mjs +112 -51
- package/dist/esm/create.mjs.map +1 -1
- package/dist/esm/create.native.js +127 -66
- package/dist/esm/create.native.js.map +1 -1
- package/dist/esm/helpers/cloneStarter.mjs +60 -30
- package/dist/esm/helpers/cloneStarter.mjs.map +1 -1
- package/dist/esm/helpers/cloneStarter.native.js +62 -32
- package/dist/esm/helpers/cloneStarter.native.js.map +1 -1
- package/dist/esm/helpers/getProjectName.mjs +33 -14
- package/dist/esm/helpers/getProjectName.mjs.map +1 -1
- package/dist/esm/helpers/getProjectName.native.js +33 -14
- package/dist/esm/helpers/getProjectName.native.js.map +1 -1
- package/dist/esm/helpers/getTemplateInfo.mjs +24 -11
- package/dist/esm/helpers/getTemplateInfo.mjs.map +1 -1
- package/dist/esm/helpers/getTemplateInfo.native.js +32 -19
- package/dist/esm/helpers/getTemplateInfo.native.js.map +1 -1
- package/dist/esm/helpers/installDependencies.mjs +4 -2
- package/dist/esm/helpers/installDependencies.mjs.map +1 -1
- package/dist/esm/helpers/installDependencies.native.js +7 -5
- package/dist/esm/helpers/installDependencies.native.js.map +1 -1
- package/dist/esm/helpers/validateNpmPackage.mjs +7 -4
- package/dist/esm/helpers/validateNpmPackage.mjs.map +1 -1
- package/dist/esm/helpers/validateNpmPackage.native.js +7 -4
- package/dist/esm/helpers/validateNpmPackage.native.js.map +1 -1
- package/dist/esm/index.js +22 -10
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/index.mjs +22 -10
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/index.native.js +22 -11
- package/dist/esm/index.native.js.map +1 -1
- package/dist/esm/steps/bare.mjs +26 -7
- package/dist/esm/steps/bare.mjs.map +1 -1
- package/dist/esm/steps/bare.native.js +48 -27
- package/dist/esm/steps/bare.native.js.map +1 -1
- package/dist/esm/steps/fullstack.mjs +13 -10
- package/dist/esm/steps/fullstack.mjs.map +1 -1
- package/dist/esm/steps/fullstack.native.js +17 -14
- package/dist/esm/steps/fullstack.native.js.map +1 -1
- package/dist/esm/steps/one.mjs +37 -21
- package/dist/esm/steps/one.mjs.map +1 -1
- package/dist/esm/steps/one.native.js +41 -25
- package/dist/esm/steps/one.native.js.map +1 -1
- package/dist/esm/templates.mjs +11 -11
- package/dist/esm/templates.native.js +11 -11
- package/package.json +3 -3
|
@@ -4,55 +4,61 @@ var __create = Object.create;
|
|
|
4
4
|
var __defProp = Object.defineProperty;
|
|
5
5
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
6
6
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
7
|
-
var __getProtoOf = Object.getPrototypeOf
|
|
8
|
-
|
|
7
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
8
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
9
9
|
var __export = (target, all) => {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
10
|
+
for (var name in all) __defProp(target, name, {
|
|
11
|
+
get: all[name],
|
|
12
|
+
enumerable: true
|
|
13
|
+
});
|
|
14
|
+
};
|
|
15
|
+
var __copyProps = (to, from, except, desc) => {
|
|
16
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
17
|
+
for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
17
18
|
get: () => from[key],
|
|
18
19
|
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
19
20
|
});
|
|
20
|
-
|
|
21
|
-
|
|
21
|
+
}
|
|
22
|
+
return to;
|
|
23
|
+
};
|
|
22
24
|
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
25
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
26
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
27
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
28
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
29
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
|
|
30
|
+
value: mod,
|
|
31
|
+
enumerable: true
|
|
32
|
+
}) : target, mod));
|
|
33
|
+
var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
34
|
+
value: true
|
|
35
|
+
}), mod);
|
|
34
36
|
var create_exports = {};
|
|
35
37
|
__export(create_exports, {
|
|
36
38
|
create: () => create
|
|
37
39
|
});
|
|
38
40
|
module.exports = __toCommonJS(create_exports);
|
|
39
|
-
var import_ansis = __toESM(require("ansis"))
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
41
|
+
var import_ansis = __toESM(require("ansis"));
|
|
42
|
+
var import_fs_extra = __toESM(require("fs-extra"));
|
|
43
|
+
var import_child_process = require("child_process");
|
|
44
|
+
var import_fs = __toESM(require("fs"));
|
|
45
|
+
var import_path = __toESM(require("path"));
|
|
46
|
+
var import_util = require("util");
|
|
47
|
+
var import_url = require("url");
|
|
48
|
+
var import_cloneStarter = require("./helpers/cloneStarter.native.js");
|
|
49
|
+
var import_getProjectName = require("./helpers/getProjectName.native.js");
|
|
50
|
+
var import_getTemplateInfo = require("./helpers/getTemplateInfo.native.js");
|
|
51
|
+
var import_installDependencies = require("./helpers/installDependencies.native.js");
|
|
52
|
+
var import_validateNpmPackage = require("./helpers/validateNpmPackage.native.js");
|
|
53
|
+
var import_prompts = __toESM(require("prompts"));
|
|
54
|
+
var import_utils = require("@vxrn/utils");
|
|
53
55
|
const import_meta = {};
|
|
54
56
|
function _instanceof(left, right) {
|
|
55
|
-
|
|
57
|
+
if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
|
|
58
|
+
return !!right[Symbol.hasInstance](left);
|
|
59
|
+
} else {
|
|
60
|
+
return left instanceof right;
|
|
61
|
+
}
|
|
56
62
|
}
|
|
57
63
|
var {
|
|
58
64
|
existsSync,
|
|
@@ -60,96 +66,140 @@ var {
|
|
|
60
66
|
writeFileSync
|
|
61
67
|
} = import_fs_extra.default;
|
|
62
68
|
async function create(args) {
|
|
63
|
-
var gitVersionString = Number.parseFloat((0, import_child_process.execSync)(
|
|
64
|
-
gitVersionString < 2.27
|
|
69
|
+
var gitVersionString = Number.parseFloat((0, import_child_process.execSync)(`git --version`).toString().replace(`git version `, "").trim());
|
|
70
|
+
if (gitVersionString < 2.27) {
|
|
71
|
+
console.error(`
|
|
65
72
|
|
|
66
73
|
! vxrn can't install: Git version must be >= 2.27
|
|
67
74
|
|
|
68
|
-
`)
|
|
69
|
-
|
|
70
|
-
|
|
75
|
+
`);
|
|
76
|
+
process.exit(1);
|
|
77
|
+
}
|
|
78
|
+
var projectName = args.name || "";
|
|
79
|
+
var resolvedProjectPath = import_path.default.resolve(process.cwd(), projectName);
|
|
71
80
|
async function promptForName() {
|
|
72
|
-
projectName = await (0, import_getProjectName.getProjectName)()
|
|
81
|
+
projectName = await (0, import_getProjectName.getProjectName)();
|
|
82
|
+
resolvedProjectPath = import_path.default.resolve(process.cwd(), projectName);
|
|
83
|
+
}
|
|
84
|
+
if (projectName) {
|
|
85
|
+
if (import_fs.default.existsSync(resolvedProjectPath)) {
|
|
86
|
+
console.error(`Error: folder already exists: ${resolvedProjectPath}`);
|
|
87
|
+
process.exit(1);
|
|
88
|
+
}
|
|
89
|
+
} else {
|
|
90
|
+
await promptForName();
|
|
91
|
+
while (import_fs.default.existsSync(resolvedProjectPath)) {
|
|
92
|
+
console.info();
|
|
93
|
+
console.info(import_ansis.default.yellow("!"), `The folder ${import_ansis.default.underline(import_ansis.default.blueBright(projectName))} already exists, lets try another name`);
|
|
94
|
+
console.info();
|
|
95
|
+
console.info();
|
|
96
|
+
await promptForName();
|
|
97
|
+
}
|
|
73
98
|
}
|
|
74
|
-
if (projectName) import_fs.default.existsSync(resolvedProjectPath) && (console.error(`Error: folder already exists: ${resolvedProjectPath}`), process.exit(1));else for (await promptForName(); import_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();
|
|
75
99
|
console.info();
|
|
76
100
|
var template = await (0, import_getTemplateInfo.getTemplateInfo)(args.template);
|
|
77
101
|
if (template.type === "external-link") {
|
|
78
102
|
var url = template.externalUrl;
|
|
79
|
-
console.info()
|
|
103
|
+
console.info();
|
|
104
|
+
console.info(import_ansis.default.green(`Opening ${url}...`));
|
|
105
|
+
console.info();
|
|
80
106
|
var openCmd = process.platform === "darwin" ? "open" : process.platform === "win32" ? "start" : "xdg-open";
|
|
81
|
-
(0, import_child_process.exec)(`${openCmd} ${url}`)
|
|
107
|
+
(0, import_child_process.exec)(`${openCmd} ${url}`);
|
|
108
|
+
process.exit(0);
|
|
82
109
|
}
|
|
83
110
|
var {
|
|
84
111
|
valid,
|
|
85
112
|
problems
|
|
86
113
|
} = (0, import_validateNpmPackage.validateNpmName)(projectName);
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
114
|
+
if (!valid) {
|
|
115
|
+
console.error(`Could not create a project called ${import_ansis.default.red(`"${projectName}"`)} because of npm naming restrictions:`);
|
|
116
|
+
problems.forEach(function (p) {
|
|
117
|
+
return console.error(` ${import_ansis.default.red.bold("*")} ${p}`);
|
|
118
|
+
});
|
|
119
|
+
process.exit(1);
|
|
120
|
+
}
|
|
121
|
+
console.info();
|
|
90
122
|
var Spinner = await import("yocto-spinner").then(function (x) {
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
123
|
+
return x.default;
|
|
124
|
+
});
|
|
125
|
+
var spinner = Spinner({
|
|
126
|
+
text: `Creating...`,
|
|
127
|
+
spinner: {
|
|
128
|
+
frames: ["\u280B", "\u2819", "\u2839", "\u2838", "\u283C", "\u2834", "\u2826", "\u2827", "\u2807", "\u280F"],
|
|
129
|
+
interval: 100
|
|
130
|
+
}
|
|
131
|
+
}).start();
|
|
100
132
|
await import_fs_extra.default.mkdir(resolvedProjectPath);
|
|
101
133
|
try {
|
|
102
|
-
await (0, import_cloneStarter.cloneStarter)(template, resolvedProjectPath)
|
|
134
|
+
await (0, import_cloneStarter.cloneStarter)(template, resolvedProjectPath);
|
|
135
|
+
process.chdir(resolvedProjectPath);
|
|
103
136
|
} catch (e) {
|
|
104
137
|
console.error(`[vxrn] Failed to copy example into ${resolvedProjectPath}
|
|
105
138
|
|
|
106
|
-
`, e)
|
|
139
|
+
`, e);
|
|
140
|
+
process.exit(1);
|
|
107
141
|
}
|
|
108
|
-
spinner.stop()
|
|
142
|
+
spinner.stop();
|
|
143
|
+
console.info();
|
|
144
|
+
console.info();
|
|
145
|
+
console.info(import_ansis.default.green(`${projectName} created!`));
|
|
146
|
+
console.info();
|
|
147
|
+
console.info();
|
|
109
148
|
var packageJson = await async function () {
|
|
110
149
|
var errorMessages = [];
|
|
111
150
|
try {
|
|
112
|
-
var dirname = typeof __dirname
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
_didIteratorError =
|
|
151
|
+
var dirname = typeof __dirname !== "undefined" ? __dirname : import_path.default.dirname((0, import_url.fileURLToPath)(import_meta.url));
|
|
152
|
+
var possiblePaths = [import_path.default.join(dirname, "..", "package.json"), import_path.default.join(dirname, "..", "..", "package.json"), import_path.default.join(dirname, "..", "..", "..", "package.json")];
|
|
153
|
+
var readFile = (0, import_util.promisify)(import_fs.default.readFile);
|
|
154
|
+
var _iteratorNormalCompletion = true,
|
|
155
|
+
_didIteratorError = false,
|
|
117
156
|
_iteratorError = void 0;
|
|
118
157
|
try {
|
|
119
|
-
for (var _iterator = possiblePaths[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion =
|
|
158
|
+
for (var _iterator = possiblePaths[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
|
120
159
|
var p = _step.value;
|
|
121
160
|
try {
|
|
122
161
|
var data = JSON.parse(await readFile(p));
|
|
123
162
|
return data;
|
|
124
163
|
} catch (e) {
|
|
125
|
-
_instanceof(e, Error)
|
|
164
|
+
if (_instanceof(e, Error)) errorMessages.push(e.message);
|
|
126
165
|
}
|
|
127
166
|
}
|
|
128
167
|
} catch (err) {
|
|
129
|
-
_didIteratorError =
|
|
168
|
+
_didIteratorError = true;
|
|
169
|
+
_iteratorError = err;
|
|
130
170
|
} finally {
|
|
131
171
|
try {
|
|
132
|
-
!_iteratorNormalCompletion && _iterator.return != null
|
|
172
|
+
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
|
173
|
+
_iterator.return();
|
|
174
|
+
}
|
|
133
175
|
} finally {
|
|
134
|
-
if (_didIteratorError)
|
|
176
|
+
if (_didIteratorError) {
|
|
177
|
+
throw _iteratorError;
|
|
178
|
+
}
|
|
135
179
|
}
|
|
136
180
|
}
|
|
137
181
|
throw new Error("package.json not found in any of the expected locations.");
|
|
138
182
|
} catch (e) {
|
|
139
|
-
|
|
140
|
-
|
|
183
|
+
console.error("Failed to load package.json:", errorMessages.join("\n"));
|
|
184
|
+
throw e;
|
|
141
185
|
}
|
|
142
186
|
}();
|
|
143
|
-
updatePackageJsonName(projectName, resolvedProjectPath)
|
|
187
|
+
updatePackageJsonName(projectName, resolvedProjectPath);
|
|
188
|
+
updatePackageJsonVersions(packageJson.version, resolvedProjectPath);
|
|
189
|
+
updateAppJsonName(projectName, resolvedProjectPath);
|
|
144
190
|
var packageManager = await async function () {
|
|
145
|
-
if ("packageManager" in template)
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
191
|
+
if ("packageManager" in template) {
|
|
192
|
+
return template.packageManager;
|
|
193
|
+
}
|
|
194
|
+
var found = await (0, import_utils.detectPackageManager)();
|
|
195
|
+
var allFound = Object.keys(found);
|
|
196
|
+
if (allFound.length === 1) {
|
|
197
|
+
return allFound[0];
|
|
198
|
+
}
|
|
149
199
|
var response = await (0, import_prompts.default)({
|
|
150
200
|
name: "packageManager",
|
|
151
201
|
type: "select",
|
|
152
|
-
message:
|
|
202
|
+
message: `Package Manager:`,
|
|
153
203
|
choices: allFound.filter(function (x) {
|
|
154
204
|
return found[x];
|
|
155
205
|
}).map(function (name) {
|
|
@@ -161,49 +211,62 @@ async function create(args) {
|
|
|
161
211
|
});
|
|
162
212
|
return response.packageManager;
|
|
163
213
|
}();
|
|
164
|
-
console.info()
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
214
|
+
console.info();
|
|
215
|
+
if ("preInstall" in template) {
|
|
216
|
+
await template.preInstall({
|
|
217
|
+
packageManager,
|
|
218
|
+
isFullClone: true,
|
|
219
|
+
projectName,
|
|
220
|
+
projectPath: resolvedProjectPath
|
|
221
|
+
});
|
|
222
|
+
}
|
|
170
223
|
try {
|
|
171
|
-
console.info()
|
|
224
|
+
console.info();
|
|
225
|
+
console.info(import_ansis.default.green(`Installing with ${packageManager}...`));
|
|
226
|
+
console.info();
|
|
227
|
+
await (0, import_installDependencies.installDependencies)(resolvedProjectPath, packageManager);
|
|
172
228
|
} catch (e) {
|
|
173
229
|
console.error("[vxrn] error installing with " + packageManager + `
|
|
174
|
-
${e}`)
|
|
230
|
+
${e}`);
|
|
231
|
+
process.exit(1);
|
|
232
|
+
}
|
|
233
|
+
var envDefault = import_path.default.join(resolvedProjectPath, ".env.default");
|
|
234
|
+
var env = import_path.default.join(resolvedProjectPath, ".env");
|
|
235
|
+
if (existsSync(envDefault) && !existsSync(env)) {
|
|
236
|
+
await import_fs_extra.default.move(envDefault, env);
|
|
175
237
|
}
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
}
|
|
238
|
+
if ("extraSteps" in template) {
|
|
239
|
+
await template.extraSteps({
|
|
240
|
+
packageManager,
|
|
241
|
+
isFullClone: true,
|
|
242
|
+
projectName,
|
|
243
|
+
projectPath: resolvedProjectPath
|
|
244
|
+
});
|
|
245
|
+
}
|
|
246
|
+
console.info();
|
|
184
247
|
}
|
|
185
248
|
function updatePackageJsonName(projectName, dir) {
|
|
186
249
|
var packageJsonPath = import_path.default.join(dir, "package.json");
|
|
187
250
|
if (existsSync(packageJsonPath)) {
|
|
188
|
-
var content = readFileSync(packageJsonPath).toString()
|
|
189
|
-
|
|
251
|
+
var content = readFileSync(packageJsonPath).toString();
|
|
252
|
+
var contentWithUpdatedName = content.replace(/("name": ")(.*)(",)/, `$1${projectName}$3`);
|
|
190
253
|
writeFileSync(packageJsonPath, contentWithUpdatedName);
|
|
191
254
|
}
|
|
192
255
|
}
|
|
193
256
|
function updatePackageJsonVersions(version, dir) {
|
|
194
257
|
var packageJsonPath = import_path.default.join(dir, "package.json");
|
|
195
258
|
if (existsSync(packageJsonPath)) {
|
|
196
|
-
var content = readFileSync(packageJsonPath).toString()
|
|
197
|
-
|
|
259
|
+
var content = readFileSync(packageJsonPath).toString();
|
|
260
|
+
var contentWithUpdatedVersions = content.replace(/"workspace:\^"/gm, `"^${version}"`).replace(/"workspace:~"/gm, `"~${version}"`).replace(/"workspace:\*"/gm, `"^${version}"`);
|
|
198
261
|
writeFileSync(packageJsonPath, contentWithUpdatedVersions);
|
|
199
262
|
}
|
|
200
263
|
}
|
|
201
264
|
function updateAppJsonName(projectName, dir) {
|
|
202
265
|
var appJsonPath = import_path.default.join(dir, "app.json");
|
|
203
266
|
if (existsSync(appJsonPath)) {
|
|
204
|
-
var content = readFileSync(appJsonPath).toString()
|
|
205
|
-
|
|
206
|
-
|
|
267
|
+
var content = readFileSync(appJsonPath).toString();
|
|
268
|
+
var projectSlug = projectName.toLowerCase().replace(/\s/g, "-");
|
|
269
|
+
var contentWithUpdatedName = content.replace(/("name": ")(.*)(",)/, `$1${projectName}$3`).replace(/("slug": ")(.*)(",)/, `$1${projectSlug}$3`);
|
|
207
270
|
writeFileSync(appJsonPath, contentWithUpdatedName);
|
|
208
271
|
}
|
|
209
272
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","create_exports","__export","create","module","exports","import_ansis","__toESM","require","import_fs_extra","import_child_process","import_fs","import_path","import_util","import_url","import_cloneStarter","import_getProjectName","import_getTemplateInfo","import_installDependencies","import_validateNpmPackage","import_prompts","import_utils","import_meta","_instanceof","left","right","Symbol","hasInstance","existsSync","readFileSync","writeFileSync","default","args","gitVersionString","Number","parseFloat","execSync","toString","replace","trim","console","error","process","exit","projectName","name","resolvedProjectPath","resolve","cwd","promptForName","getProjectName","info","yellow","underline","blueBright","template","getTemplateInfo","type","url","externalUrl","green","openCmd","platform","exec","valid","problems","validateNpmName","red","forEach","p","bold","Spinner","then","x","spinner","text","frames","interval","start","mkdir","cloneStarter","chdir","e","stop","packageJson","errorMessages","dirname","__dirname","fileURLToPath","possiblePaths","join","readFile","promisify","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","iterator","_step","next","done","data","JSON","parse","Error","push","message","err","return","updatePackageJsonName","updatePackageJsonVersions","version","updateAppJsonName","packageManager","found","detectPackageManager","allFound","Object","keys","length","response","choices","filter","map","title","preInstall","isFullClone","projectPath","installDependencies","envDefault","env"],"sources":["../../src/create.ts"],"sourcesContent":[null],"mappings":"
|
|
1
|
+
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","create_exports","__export","create","module","exports","import_ansis","__toESM","require","import_fs_extra","import_child_process","import_fs","import_path","import_util","import_url","import_cloneStarter","import_getProjectName","import_getTemplateInfo","import_installDependencies","import_validateNpmPackage","import_prompts","import_utils","import_meta","_instanceof","left","right","Symbol","hasInstance","existsSync","readFileSync","writeFileSync","default","args","gitVersionString","Number","parseFloat","execSync","toString","replace","trim","console","error","process","exit","projectName","name","resolvedProjectPath","resolve","cwd","promptForName","getProjectName","info","yellow","underline","blueBright","template","getTemplateInfo","type","url","externalUrl","green","openCmd","platform","exec","valid","problems","validateNpmName","red","forEach","p","bold","Spinner","then","x","spinner","text","frames","interval","start","mkdir","cloneStarter","chdir","e","stop","packageJson","errorMessages","dirname","__dirname","fileURLToPath","possiblePaths","join","readFile","promisify","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","iterator","_step","next","done","data","JSON","parse","Error","push","message","err","return","updatePackageJsonName","updatePackageJsonVersions","version","updateAppJsonName","packageManager","found","detectPackageManager","allFound","Object","keys","length","response","choices","filter","map","title","preInstall","isFullClone","projectPath","installDependencies","envDefault","env","move","extraSteps"],"sources":["../../src/create.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -3,88 +3,120 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
|
3
3
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
4
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
5
|
var __export = (target, all) => {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
6
|
+
for (var name in all) __defProp(target, name, {
|
|
7
|
+
get: all[name],
|
|
8
|
+
enumerable: true
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __copyProps = (to, from, except, desc) => {
|
|
12
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
+
for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
13
14
|
get: () => from[key],
|
|
14
15
|
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
15
16
|
});
|
|
16
|
-
|
|
17
|
-
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
18
20
|
var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
19
|
-
value:
|
|
21
|
+
value: true
|
|
20
22
|
}), mod);
|
|
21
23
|
var cloneStarter_exports = {};
|
|
22
24
|
__export(cloneStarter_exports, {
|
|
23
25
|
cloneStarter: () => cloneStarter
|
|
24
26
|
});
|
|
25
27
|
module.exports = __toCommonJS(cloneStarter_exports);
|
|
26
|
-
var import_fs_extra = require("fs-extra")
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
const home = (0, import_node_os.homedir)()
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
28
|
+
var import_fs_extra = require("fs-extra");
|
|
29
|
+
var import_node_os = require("node:os");
|
|
30
|
+
var import_node_path = require("node:path");
|
|
31
|
+
var import_rimraf = require("rimraf");
|
|
32
|
+
var import_utils = require("@vxrn/utils");
|
|
33
|
+
const home = (0, import_node_os.homedir)();
|
|
34
|
+
const vxrnDir = (0, import_node_path.join)(home, ".vxrn");
|
|
35
|
+
const cloneStarter = async (template, resolvedProjectPath) => {
|
|
36
|
+
const dir = await setupVxrnDotDir(template, (0, import_node_path.join)(vxrnDir, "vxrn", template.repo.url.split("/").at(-1)));
|
|
37
|
+
if (!(await (0, import_fs_extra.pathExists)(dir))) {
|
|
38
|
+
console.error(`Missing template for ${template.value} in ${dir}`);
|
|
39
|
+
process.exit(1);
|
|
40
|
+
}
|
|
41
|
+
await (0, import_fs_extra.copy)(dir, resolvedProjectPath);
|
|
42
|
+
await (0, import_rimraf.rimraf)((0, import_node_path.join)(resolvedProjectPath, ".git"));
|
|
43
|
+
if (!isInGitRepo()) {
|
|
44
|
+
await (0, import_utils.execPromiseQuiet)(`git init`, {
|
|
36
45
|
cwd: resolvedProjectPath
|
|
37
|
-
})
|
|
38
|
-
}
|
|
39
|
-
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
async function setupVxrnDotDir(template, targetGitDir, isRetry = false) {
|
|
40
50
|
const branch = template.repo.branch;
|
|
41
51
|
await (0, import_fs_extra.ensureDir)(vxrnDir);
|
|
42
52
|
const isInSubDir = template.repo.dir.length > 0;
|
|
43
|
-
if (
|
|
44
|
-
const sourceGitRepo = template.repo.url
|
|
45
|
-
|
|
46
|
-
|
|
53
|
+
if (!(await (0, import_fs_extra.pathExists)(targetGitDir))) {
|
|
54
|
+
const sourceGitRepo = template.repo.url;
|
|
55
|
+
const sourceGitRepoSshFallback = template.repo.sshFallback;
|
|
56
|
+
const cmd = `git clone --branch ${branch} ${isInSubDir ? "--depth 1 --sparse --filter=blob:none " : ""}${sourceGitRepo} "${targetGitDir}"`;
|
|
47
57
|
try {
|
|
48
58
|
await (0, import_utils.execPromiseQuiet)(cmd);
|
|
49
59
|
} catch (error) {
|
|
50
60
|
if (cmd.includes("https://")) {
|
|
51
|
-
console.info(
|
|
61
|
+
console.info(`https failed - trying with ssh now...`);
|
|
52
62
|
const sshCmd = cmd.replace(sourceGitRepo, sourceGitRepoSshFallback);
|
|
53
63
|
await (0, import_utils.execPromiseQuiet)(sshCmd);
|
|
54
|
-
} else
|
|
64
|
+
} else {
|
|
65
|
+
throw error;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
} else {
|
|
69
|
+
if (!(await (0, import_fs_extra.pathExists)((0, import_node_path.join)(targetGitDir, ".git")))) {
|
|
70
|
+
console.error(`Corrupt vxrn directory, please delete ${targetGitDir} folder and re-run`);
|
|
71
|
+
process.exit(1);
|
|
55
72
|
}
|
|
56
73
|
}
|
|
57
|
-
if (isInSubDir)
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
74
|
+
if (isInSubDir) {
|
|
75
|
+
try {
|
|
76
|
+
const cmd = `git sparse-checkout set ${template.repo.dir.join(import_node_path.sep) ?? "."}`;
|
|
77
|
+
await (0, import_utils.execPromiseQuiet)(cmd, {
|
|
78
|
+
cwd: targetGitDir
|
|
79
|
+
});
|
|
80
|
+
} catch (err) {
|
|
81
|
+
if (`${err}`.includes(`code 128`)) {
|
|
82
|
+
console.warn(`\u26A0\uFE0F Note: you need to be sure you can git clone from Github, your SSH key isn't valid.
|
|
64
83
|
|
|
65
84
|
- See: https://docs.github.com/en/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account
|
|
66
85
|
|
|
67
|
-
`)
|
|
86
|
+
`);
|
|
87
|
+
}
|
|
88
|
+
throw err;
|
|
89
|
+
}
|
|
68
90
|
}
|
|
69
91
|
try {
|
|
70
92
|
const cmd2 = `git pull --rebase --allow-unrelated-histories --depth 1 origin ${branch}`;
|
|
71
93
|
await (0, import_utils.execPromiseQuiet)(cmd2, {
|
|
72
94
|
cwd: targetGitDir
|
|
73
|
-
})
|
|
95
|
+
});
|
|
96
|
+
console.info();
|
|
74
97
|
const dir = (0, import_node_path.join)(targetGitDir, ...template.repo.dir);
|
|
75
|
-
if (!(await (0, import_fs_extra.pathExists)(dir)))
|
|
98
|
+
if (!(await (0, import_fs_extra.pathExists)(dir))) {
|
|
99
|
+
throw new Error(`Re-clone...`);
|
|
100
|
+
}
|
|
76
101
|
return dir;
|
|
77
102
|
} catch (err) {
|
|
78
|
-
|
|
79
|
-
|
|
103
|
+
if (isRetry) {
|
|
104
|
+
console.info(`Error updating: ${err.message} ${isRetry ? `failing.
|
|
105
|
+
${err.stack}` : "trying from fresh."}`);
|
|
106
|
+
console.info(`Please file an issue: https://github.com/onejs/one/issues/new?assignees=&labels=&template=bug_report.md&title=`);
|
|
107
|
+
process.exit(1);
|
|
108
|
+
}
|
|
109
|
+
await (0, import_rimraf.rimraf)(targetGitDir);
|
|
110
|
+
return await setupVxrnDotDir(template, targetGitDir, true);
|
|
80
111
|
}
|
|
81
112
|
}
|
|
82
113
|
function isInGitRepo() {
|
|
83
114
|
try {
|
|
84
|
-
|
|
115
|
+
(0, import_utils.exec)("git rev-parse --is-inside-work-tree", {
|
|
85
116
|
stdio: "ignore"
|
|
86
|
-
})
|
|
87
|
-
|
|
88
|
-
|
|
117
|
+
});
|
|
118
|
+
return true;
|
|
119
|
+
} catch (error) {
|
|
120
|
+
return false;
|
|
89
121
|
}
|
|
90
122
|
}
|