create-vxrn 1.27.1 → 2.0.0-beta.45.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.turbo/turbo-build.log +1 -1
- package/dist/cjs/create.cjs +193 -194
- package/dist/cjs/create.native.cjs +262 -0
- package/dist/cjs/create.native.js +218 -227
- package/dist/cjs/create.native.js.map +1 -1
- package/dist/cjs/helpers/cloneStarter.cjs +83 -95
- package/dist/cjs/helpers/cloneStarter.native.cjs +114 -0
- package/dist/cjs/helpers/cloneStarter.native.js +86 -97
- package/dist/cjs/helpers/cloneStarter.native.js.map +1 -1
- package/dist/cjs/helpers/getProjectName.cjs +56 -65
- package/dist/cjs/helpers/getProjectName.native.cjs +75 -0
- package/dist/cjs/helpers/getProjectName.native.js +56 -64
- package/dist/cjs/helpers/getProjectName.native.js.map +1 -1
- package/dist/cjs/helpers/getTemplateInfo.cjs +39 -52
- package/dist/cjs/helpers/getTemplateInfo.native.cjs +67 -0
- package/dist/cjs/helpers/getTemplateInfo.native.js +48 -60
- package/dist/cjs/helpers/getTemplateInfo.native.js.map +1 -1
- package/dist/cjs/helpers/installDependencies.cjs +37 -43
- package/dist/cjs/helpers/installDependencies.native.cjs +51 -0
- package/dist/cjs/helpers/installDependencies.native.js +37 -42
- package/dist/cjs/helpers/installDependencies.native.js.map +1 -1
- package/dist/cjs/helpers/validateNpmPackage.cjs +25 -36
- package/dist/cjs/helpers/validateNpmPackage.native.cjs +42 -0
- package/dist/cjs/helpers/validateNpmPackage.native.js +25 -35
- package/dist/cjs/helpers/validateNpmPackage.native.js.map +1 -1
- package/dist/cjs/index.cjs +60 -69
- package/dist/cjs/index.native.cjs +92 -0
- package/dist/cjs/index.native.js +61 -69
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/cjs/steps/bare.cjs +51 -61
- package/dist/cjs/steps/bare.native.cjs +121 -0
- package/dist/cjs/steps/bare.native.js +71 -82
- package/dist/cjs/steps/bare.native.js.map +1 -1
- package/dist/cjs/steps/fullstack.cjs +23 -35
- package/dist/cjs/steps/fullstack.native.cjs +50 -0
- package/dist/cjs/steps/fullstack.native.js +25 -36
- package/dist/cjs/steps/fullstack.native.js.map +1 -1
- package/dist/cjs/steps/one.cjs +42 -57
- package/dist/cjs/steps/one.native.cjs +97 -0
- package/dist/cjs/steps/one.native.js +46 -60
- package/dist/cjs/steps/one.native.js.map +1 -1
- package/dist/cjs/steps/types.cjs +9 -11
- package/dist/cjs/steps/types.native.cjs +18 -0
- package/dist/cjs/steps/types.native.js +9 -10
- package/dist/cjs/steps/types.native.js.map +1 -1
- package/dist/cjs/templates.cjs +54 -59
- package/dist/cjs/templates.native.cjs +70 -0
- package/dist/cjs/templates.native.js +55 -59
- package/dist/cjs/templates.native.js.map +1 -1
- package/dist/esm/create.mjs +179 -169
- package/dist/esm/create.mjs.map +1 -1
- package/dist/esm/create.native.js +204 -203
- package/dist/esm/create.native.js.map +1 -1
- package/dist/esm/helpers/cloneStarter.mjs +71 -77
- package/dist/esm/helpers/cloneStarter.mjs.map +1 -1
- package/dist/esm/helpers/cloneStarter.native.js +74 -80
- package/dist/esm/helpers/cloneStarter.native.js.map +1 -1
- package/dist/esm/helpers/getProjectName.mjs +41 -39
- package/dist/esm/helpers/getProjectName.mjs.map +1 -1
- package/dist/esm/helpers/getProjectName.native.js +41 -39
- package/dist/esm/helpers/getProjectName.native.js.map +1 -1
- package/dist/esm/helpers/getTemplateInfo.mjs +25 -27
- package/dist/esm/helpers/getTemplateInfo.mjs.map +1 -1
- package/dist/esm/helpers/getTemplateInfo.native.js +33 -35
- package/dist/esm/helpers/getTemplateInfo.native.js.map +1 -1
- package/dist/esm/helpers/installDependencies.mjs +25 -25
- package/dist/esm/helpers/installDependencies.mjs.map +1 -1
- package/dist/esm/helpers/installDependencies.native.js +25 -25
- package/dist/esm/helpers/installDependencies.native.js.map +1 -1
- package/dist/esm/helpers/validateNpmPackage.mjs +10 -10
- package/dist/esm/helpers/validateNpmPackage.mjs.map +1 -1
- package/dist/esm/helpers/validateNpmPackage.native.js +10 -10
- package/dist/esm/helpers/validateNpmPackage.native.js.map +1 -1
- package/dist/esm/index.js +51 -53
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/index.mjs +51 -53
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/index.native.js +52 -54
- package/dist/esm/index.native.js.map +1 -1
- package/dist/esm/steps/bare.mjs +35 -36
- package/dist/esm/steps/bare.mjs.map +1 -1
- package/dist/esm/steps/bare.native.js +55 -58
- package/dist/esm/steps/bare.native.js.map +1 -1
- package/dist/esm/steps/fullstack.mjs +8 -9
- package/dist/esm/steps/fullstack.mjs.map +1 -1
- package/dist/esm/steps/fullstack.native.js +10 -11
- package/dist/esm/steps/fullstack.native.js.map +1 -1
- package/dist/esm/steps/one.mjs +26 -32
- package/dist/esm/steps/one.mjs.map +1 -1
- package/dist/esm/steps/one.native.js +30 -36
- package/dist/esm/steps/one.native.js.map +1 -1
- package/dist/esm/steps/types.mjs +0 -2
- package/dist/esm/steps/types.native.js +0 -2
- package/dist/esm/templates.mjs +40 -34
- package/dist/esm/templates.mjs.map +1 -1
- package/dist/esm/templates.native.js +40 -34
- package/dist/esm/templates.native.js.map +1 -1
- package/package.json +4 -4
- package/dist/esm/steps/types.mjs.map +0 -1
- package/dist/esm/steps/types.native.js.map +0 -1
|
@@ -3,27 +3,23 @@ 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
|
-
|
|
6
|
+
for (var name in all) __defProp(target, name, {
|
|
7
|
+
get: all[name],
|
|
8
|
+
enumerable: true
|
|
9
|
+
});
|
|
10
10
|
};
|
|
11
11
|
var __copyProps = (to, from, except, desc) => {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
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, {
|
|
14
|
+
get: () => from[key],
|
|
15
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
19
|
};
|
|
20
|
-
var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
21
|
-
value: true
|
|
22
|
-
}), mod);
|
|
20
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
23
21
|
var cloneStarter_exports = {};
|
|
24
|
-
__export(cloneStarter_exports, {
|
|
25
|
-
cloneStarter: () => cloneStarter
|
|
26
|
-
});
|
|
22
|
+
__export(cloneStarter_exports, { cloneStarter: () => cloneStarter });
|
|
27
23
|
module.exports = __toCommonJS(cloneStarter_exports);
|
|
28
24
|
var import_fs_extra = require("fs-extra");
|
|
29
25
|
var import_node_os = require("node:os");
|
|
@@ -33,90 +29,82 @@ var import_utils = require("@vxrn/utils");
|
|
|
33
29
|
const home = (0, import_node_os.homedir)();
|
|
34
30
|
const vxrnDir = (0, import_node_path.join)(home, ".vxrn");
|
|
35
31
|
const cloneStarter = async (template, resolvedProjectPath) => {
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
});
|
|
47
|
-
}
|
|
32
|
+
const dir = await setupVxrnDotDir(template, (0, import_node_path.join)(vxrnDir, "vxrn", template.repo.url.split("/").at(-1)));
|
|
33
|
+
if (!await (0, import_fs_extra.pathExists)(dir)) {
|
|
34
|
+
console.error(`Missing template for ${template.value} in ${dir}`);
|
|
35
|
+
process.exit(1);
|
|
36
|
+
}
|
|
37
|
+
await (0, import_fs_extra.copy)(dir, resolvedProjectPath);
|
|
38
|
+
await (0, import_rimraf.rimraf)((0, import_node_path.join)(resolvedProjectPath, ".git"));
|
|
39
|
+
if (!isInGitRepo()) {
|
|
40
|
+
await (0, import_utils.execPromiseQuiet)(`git init`, { cwd: resolvedProjectPath });
|
|
41
|
+
}
|
|
48
42
|
};
|
|
49
43
|
async function setupVxrnDotDir(template, targetGitDir, isRetry = false) {
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
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.
|
|
44
|
+
const branch = template.repo.branch;
|
|
45
|
+
await (0, import_fs_extra.ensureDir)(vxrnDir);
|
|
46
|
+
const isInSubDir = template.repo.dir.length > 0;
|
|
47
|
+
if (!await (0, import_fs_extra.pathExists)(targetGitDir)) {
|
|
48
|
+
const sourceGitRepo = template.repo.url;
|
|
49
|
+
const sourceGitRepoSshFallback = template.repo.sshFallback;
|
|
50
|
+
const cmd = `git clone --branch ${branch} ${isInSubDir ? "--depth 1 --sparse --filter=blob:none " : ""}${sourceGitRepo} "${targetGitDir}"`;
|
|
51
|
+
try {
|
|
52
|
+
await (0, import_utils.execPromiseQuiet)(cmd);
|
|
53
|
+
} catch (error) {
|
|
54
|
+
if (cmd.includes("https://")) {
|
|
55
|
+
console.info(`https failed - trying with ssh now...`);
|
|
56
|
+
const sshCmd = cmd.replace(sourceGitRepo, sourceGitRepoSshFallback);
|
|
57
|
+
await (0, import_utils.execPromiseQuiet)(sshCmd);
|
|
58
|
+
} else {
|
|
59
|
+
throw error;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
} else {
|
|
63
|
+
if (!await (0, import_fs_extra.pathExists)((0, import_node_path.join)(targetGitDir, ".git"))) {
|
|
64
|
+
console.error(`Corrupt vxrn directory, please delete ${targetGitDir} folder and re-run`);
|
|
65
|
+
process.exit(1);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
if (isInSubDir) {
|
|
69
|
+
try {
|
|
70
|
+
const cmd = `git sparse-checkout set ${template.repo.dir.join(import_node_path.sep) ?? "."}`;
|
|
71
|
+
await (0, import_utils.execPromiseQuiet)(cmd, { cwd: targetGitDir });
|
|
72
|
+
} catch (err) {
|
|
73
|
+
if (`${err}`.includes(`code 128`)) {
|
|
74
|
+
console.warn(`\u26A0\uFE0F Note: you need to be sure you can git clone from Github, your SSH key isn't valid.
|
|
83
75
|
|
|
84
76
|
- See: https://docs.github.com/en/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account
|
|
85
77
|
|
|
86
78
|
`);
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
if (isRetry) {
|
|
104
|
-
console.info(`Error updating: ${err.message} ${isRetry ? `failing.
|
|
79
|
+
}
|
|
80
|
+
throw err;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
try {
|
|
84
|
+
const cmd2 = `git pull --rebase --allow-unrelated-histories --depth 1 origin ${branch}`;
|
|
85
|
+
await (0, import_utils.execPromiseQuiet)(cmd2, { cwd: targetGitDir });
|
|
86
|
+
console.info();
|
|
87
|
+
const dir = (0, import_node_path.join)(targetGitDir, ...template.repo.dir);
|
|
88
|
+
if (!await (0, import_fs_extra.pathExists)(dir)) {
|
|
89
|
+
throw new Error(`Re-clone...`);
|
|
90
|
+
}
|
|
91
|
+
return dir;
|
|
92
|
+
} catch (err) {
|
|
93
|
+
if (isRetry) {
|
|
94
|
+
console.info(`Error updating: ${err.message} ${isRetry ? `failing.
|
|
105
95
|
${err.stack}` : "trying from fresh."}`);
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
96
|
+
console.info(`Please file an issue: https://github.com/onejs/one/issues/new?assignees=&labels=&template=bug_report.md&title=`);
|
|
97
|
+
process.exit(1);
|
|
98
|
+
}
|
|
99
|
+
await (0, import_rimraf.rimraf)(targetGitDir);
|
|
100
|
+
return await setupVxrnDotDir(template, targetGitDir, true);
|
|
101
|
+
}
|
|
112
102
|
}
|
|
113
103
|
function isInGitRepo() {
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
}
|
|
122
|
-
}
|
|
104
|
+
try {
|
|
105
|
+
(0, import_utils.exec)("git rev-parse --is-inside-work-tree", { stdio: "ignore" });
|
|
106
|
+
return true;
|
|
107
|
+
} catch (error) {
|
|
108
|
+
return false;
|
|
109
|
+
}
|
|
110
|
+
}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __export = (target, all) => {
|
|
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, {
|
|
16
|
+
get: () => from[key],
|
|
17
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
return to;
|
|
21
|
+
};
|
|
22
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
23
|
+
var cloneStarter_exports = {};
|
|
24
|
+
__export(cloneStarter_exports, { cloneStarter: () => cloneStarter });
|
|
25
|
+
module.exports = __toCommonJS(cloneStarter_exports);
|
|
26
|
+
var import_fs_extra = require("fs-extra");
|
|
27
|
+
var import_os = require("os");
|
|
28
|
+
var import_path = require("path");
|
|
29
|
+
var import_rimraf = require("rimraf");
|
|
30
|
+
var import_utils = require("@vxrn/utils");
|
|
31
|
+
var home = (0, import_os.homedir)();
|
|
32
|
+
var vxrnDir = (0, import_path.join)(home, ".vxrn");
|
|
33
|
+
var cloneStarter = async function(template, resolvedProjectPath) {
|
|
34
|
+
var dir = await setupVxrnDotDir(template, (0, import_path.join)(vxrnDir, "vxrn", template.repo.url.split("/").at(-1)));
|
|
35
|
+
if (!await (0, import_fs_extra.pathExists)(dir)) {
|
|
36
|
+
console.error(`Missing template for ${template.value} in ${dir}`);
|
|
37
|
+
process.exit(1);
|
|
38
|
+
}
|
|
39
|
+
await (0, import_fs_extra.copy)(dir, resolvedProjectPath);
|
|
40
|
+
await (0, import_rimraf.rimraf)((0, import_path.join)(resolvedProjectPath, ".git"));
|
|
41
|
+
if (!isInGitRepo()) {
|
|
42
|
+
await (0, import_utils.execPromiseQuiet)(`git init`, { cwd: resolvedProjectPath });
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
async function setupVxrnDotDir(template, targetGitDir) {
|
|
46
|
+
var isRetry = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : false;
|
|
47
|
+
var branch = template.repo.branch;
|
|
48
|
+
await (0, import_fs_extra.ensureDir)(vxrnDir);
|
|
49
|
+
var isInSubDir = template.repo.dir.length > 0;
|
|
50
|
+
if (!await (0, import_fs_extra.pathExists)(targetGitDir)) {
|
|
51
|
+
var sourceGitRepo = template.repo.url;
|
|
52
|
+
var sourceGitRepoSshFallback = template.repo.sshFallback;
|
|
53
|
+
var cmd = `git clone --branch ${branch} ${isInSubDir ? "--depth 1 --sparse --filter=blob:none " : ""}${sourceGitRepo} "${targetGitDir}"`;
|
|
54
|
+
try {
|
|
55
|
+
await (0, import_utils.execPromiseQuiet)(cmd);
|
|
56
|
+
} catch (error) {
|
|
57
|
+
if (cmd.includes("https://")) {
|
|
58
|
+
console.info(`https failed - trying with ssh now...`);
|
|
59
|
+
var sshCmd = cmd.replace(sourceGitRepo, sourceGitRepoSshFallback);
|
|
60
|
+
await (0, import_utils.execPromiseQuiet)(sshCmd);
|
|
61
|
+
} else {
|
|
62
|
+
throw error;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
} else {
|
|
66
|
+
if (!await (0, import_fs_extra.pathExists)((0, import_path.join)(targetGitDir, ".git"))) {
|
|
67
|
+
console.error(`Corrupt vxrn directory, please delete ${targetGitDir} folder and re-run`);
|
|
68
|
+
process.exit(1);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
if (isInSubDir) {
|
|
72
|
+
try {
|
|
73
|
+
var _template_repo_dir_join;
|
|
74
|
+
var cmd1 = `git sparse-checkout set ${(_template_repo_dir_join = template.repo.dir.join(import_path.sep)) !== null && _template_repo_dir_join !== void 0 ? _template_repo_dir_join : "."}`;
|
|
75
|
+
await (0, import_utils.execPromiseQuiet)(cmd1, { cwd: targetGitDir });
|
|
76
|
+
} catch (err) {
|
|
77
|
+
if (`${err}`.includes(`code 128`)) {
|
|
78
|
+
console.warn(`\u26A0\uFE0F Note: you need to be sure you can git clone from Github, your SSH key isn't valid.
|
|
79
|
+
|
|
80
|
+
- See: https://docs.github.com/en/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account
|
|
81
|
+
|
|
82
|
+
`);
|
|
83
|
+
}
|
|
84
|
+
throw err;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
try {
|
|
88
|
+
var cmd2 = `git pull --rebase --allow-unrelated-histories --depth 1 origin ${branch}`;
|
|
89
|
+
await (0, import_utils.execPromiseQuiet)(cmd2, { cwd: targetGitDir });
|
|
90
|
+
console.info();
|
|
91
|
+
var dir = (0, import_path.join)(targetGitDir, ...template.repo.dir);
|
|
92
|
+
if (!await (0, import_fs_extra.pathExists)(dir)) {
|
|
93
|
+
throw new Error(`Re-clone...`);
|
|
94
|
+
}
|
|
95
|
+
return dir;
|
|
96
|
+
} catch (err) {
|
|
97
|
+
if (isRetry) {
|
|
98
|
+
console.info(`Error updating: ${err.message} ${isRetry ? `failing.
|
|
99
|
+
${err.stack}` : "trying from fresh."}`);
|
|
100
|
+
console.info(`Please file an issue: https://github.com/onejs/one/issues/new?assignees=&labels=&template=bug_report.md&title=`);
|
|
101
|
+
process.exit(1);
|
|
102
|
+
}
|
|
103
|
+
await (0, import_rimraf.rimraf)(targetGitDir);
|
|
104
|
+
return await setupVxrnDotDir(template, targetGitDir, true);
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
function isInGitRepo() {
|
|
108
|
+
try {
|
|
109
|
+
(0, import_utils.exec)("git rev-parse --is-inside-work-tree", { stdio: "ignore" });
|
|
110
|
+
return true;
|
|
111
|
+
} catch (error) {
|
|
112
|
+
return false;
|
|
113
|
+
}
|
|
114
|
+
}
|
|
@@ -5,27 +5,23 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
|
5
5
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
6
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
7
|
var __export = (target, all) => {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
8
|
+
for (var name in all) __defProp(target, name, {
|
|
9
|
+
get: all[name],
|
|
10
|
+
enumerable: true
|
|
11
|
+
});
|
|
12
12
|
};
|
|
13
13
|
var __copyProps = (to, from, except, desc) => {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
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, {
|
|
16
|
+
get: () => from[key],
|
|
17
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
return to;
|
|
21
21
|
};
|
|
22
|
-
var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
23
|
-
value: true
|
|
24
|
-
}), mod);
|
|
22
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
25
23
|
var cloneStarter_exports = {};
|
|
26
|
-
__export(cloneStarter_exports, {
|
|
27
|
-
cloneStarter: () => cloneStarter
|
|
28
|
-
});
|
|
24
|
+
__export(cloneStarter_exports, { cloneStarter: () => cloneStarter });
|
|
29
25
|
module.exports = __toCommonJS(cloneStarter_exports);
|
|
30
26
|
var import_fs_extra = require("fs-extra");
|
|
31
27
|
var import_os = require("os");
|
|
@@ -34,94 +30,87 @@ var import_rimraf = require("rimraf");
|
|
|
34
30
|
var import_utils = require("@vxrn/utils");
|
|
35
31
|
var home = (0, import_os.homedir)();
|
|
36
32
|
var vxrnDir = (0, import_path.join)(home, ".vxrn");
|
|
37
|
-
var cloneStarter = async function
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
});
|
|
49
|
-
}
|
|
33
|
+
var cloneStarter = async function(template, resolvedProjectPath) {
|
|
34
|
+
var dir = await setupVxrnDotDir(template, (0, import_path.join)(vxrnDir, "vxrn", template.repo.url.split("/").at(-1)));
|
|
35
|
+
if (!await (0, import_fs_extra.pathExists)(dir)) {
|
|
36
|
+
console.error(`Missing template for ${template.value} in ${dir}`);
|
|
37
|
+
process.exit(1);
|
|
38
|
+
}
|
|
39
|
+
await (0, import_fs_extra.copy)(dir, resolvedProjectPath);
|
|
40
|
+
await (0, import_rimraf.rimraf)((0, import_path.join)(resolvedProjectPath, ".git"));
|
|
41
|
+
if (!isInGitRepo()) {
|
|
42
|
+
await (0, import_utils.execPromiseQuiet)(`git init`, { cwd: resolvedProjectPath });
|
|
43
|
+
}
|
|
50
44
|
};
|
|
51
45
|
async function setupVxrnDotDir(template, targetGitDir) {
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
if (`${err}`.includes(`code 128`)) {
|
|
86
|
-
console.warn(`\u26A0\uFE0F Note: you need to be sure you can git clone from Github, your SSH key isn't valid.
|
|
46
|
+
var isRetry = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : false;
|
|
47
|
+
var branch = template.repo.branch;
|
|
48
|
+
await (0, import_fs_extra.ensureDir)(vxrnDir);
|
|
49
|
+
var isInSubDir = template.repo.dir.length > 0;
|
|
50
|
+
if (!await (0, import_fs_extra.pathExists)(targetGitDir)) {
|
|
51
|
+
var sourceGitRepo = template.repo.url;
|
|
52
|
+
var sourceGitRepoSshFallback = template.repo.sshFallback;
|
|
53
|
+
var cmd = `git clone --branch ${branch} ${isInSubDir ? "--depth 1 --sparse --filter=blob:none " : ""}${sourceGitRepo} "${targetGitDir}"`;
|
|
54
|
+
try {
|
|
55
|
+
await (0, import_utils.execPromiseQuiet)(cmd);
|
|
56
|
+
} catch (error) {
|
|
57
|
+
if (cmd.includes("https://")) {
|
|
58
|
+
console.info(`https failed - trying with ssh now...`);
|
|
59
|
+
var sshCmd = cmd.replace(sourceGitRepo, sourceGitRepoSshFallback);
|
|
60
|
+
await (0, import_utils.execPromiseQuiet)(sshCmd);
|
|
61
|
+
} else {
|
|
62
|
+
throw error;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
} else {
|
|
66
|
+
if (!await (0, import_fs_extra.pathExists)((0, import_path.join)(targetGitDir, ".git"))) {
|
|
67
|
+
console.error(`Corrupt vxrn directory, please delete ${targetGitDir} folder and re-run`);
|
|
68
|
+
process.exit(1);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
if (isInSubDir) {
|
|
72
|
+
try {
|
|
73
|
+
var _template_repo_dir_join;
|
|
74
|
+
var cmd1 = `git sparse-checkout set ${(_template_repo_dir_join = template.repo.dir.join(import_path.sep)) !== null && _template_repo_dir_join !== void 0 ? _template_repo_dir_join : "."}`;
|
|
75
|
+
await (0, import_utils.execPromiseQuiet)(cmd1, { cwd: targetGitDir });
|
|
76
|
+
} catch (err) {
|
|
77
|
+
if (`${err}`.includes(`code 128`)) {
|
|
78
|
+
console.warn(`\u26A0\uFE0F Note: you need to be sure you can git clone from Github, your SSH key isn't valid.
|
|
87
79
|
|
|
88
80
|
- See: https://docs.github.com/en/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account
|
|
89
81
|
|
|
90
82
|
`);
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
if (isRetry) {
|
|
108
|
-
console.info(`Error updating: ${err.message} ${isRetry ? `failing.
|
|
83
|
+
}
|
|
84
|
+
throw err;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
try {
|
|
88
|
+
var cmd2 = `git pull --rebase --allow-unrelated-histories --depth 1 origin ${branch}`;
|
|
89
|
+
await (0, import_utils.execPromiseQuiet)(cmd2, { cwd: targetGitDir });
|
|
90
|
+
console.info();
|
|
91
|
+
var dir = (0, import_path.join)(targetGitDir, ...template.repo.dir);
|
|
92
|
+
if (!await (0, import_fs_extra.pathExists)(dir)) {
|
|
93
|
+
throw new Error(`Re-clone...`);
|
|
94
|
+
}
|
|
95
|
+
return dir;
|
|
96
|
+
} catch (err) {
|
|
97
|
+
if (isRetry) {
|
|
98
|
+
console.info(`Error updating: ${err.message} ${isRetry ? `failing.
|
|
109
99
|
${err.stack}` : "trying from fresh."}`);
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
100
|
+
console.info(`Please file an issue: https://github.com/onejs/one/issues/new?assignees=&labels=&template=bug_report.md&title=`);
|
|
101
|
+
process.exit(1);
|
|
102
|
+
}
|
|
103
|
+
await (0, import_rimraf.rimraf)(targetGitDir);
|
|
104
|
+
return await setupVxrnDotDir(template, targetGitDir, true);
|
|
105
|
+
}
|
|
116
106
|
}
|
|
117
107
|
function isInGitRepo() {
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
return false;
|
|
125
|
-
}
|
|
108
|
+
try {
|
|
109
|
+
(0, import_utils.exec)("git rev-parse --is-inside-work-tree", { stdio: "ignore" });
|
|
110
|
+
return true;
|
|
111
|
+
} catch (error) {
|
|
112
|
+
return false;
|
|
113
|
+
}
|
|
126
114
|
}
|
|
115
|
+
|
|
127
116
|
//# sourceMappingURL=cloneStarter.native.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"cloneStarter.native.js","names":[],"sources":["cjs/helpers/cloneStarter.native.js"],"sourcesContent":["\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar cloneStarter_exports = {};\n__export(cloneStarter_exports, {\n cloneStarter: () => cloneStarter\n});\nmodule.exports = __toCommonJS(cloneStarter_exports);\nvar import_fs_extra = require(\"fs-extra\");\nvar import_os = require(\"os\");\nvar import_path = require(\"path\");\nvar import_rimraf = require(\"rimraf\");\nvar import_utils = require(\"@vxrn/utils\");\nvar home = (0, import_os.homedir)();\nvar vxrnDir = (0, import_path.join)(home, \".vxrn\");\nvar cloneStarter = async function(template, resolvedProjectPath) {\n var dir = await setupVxrnDotDir(template, (0, import_path.join)(vxrnDir, \"vxrn\", template.repo.url.split(\"/\").at(-1)));\n if (!await (0, import_fs_extra.pathExists)(dir)) {\n console.error(`Missing template for ${template.value} in ${dir}`);\n process.exit(1);\n }\n await (0, import_fs_extra.copy)(dir, resolvedProjectPath);\n await (0, import_rimraf.rimraf)((0, import_path.join)(resolvedProjectPath, \".git\"));\n if (!isInGitRepo()) {\n await (0, import_utils.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 (0, import_fs_extra.ensureDir)(vxrnDir);\n var isInSubDir = template.repo.dir.length > 0;\n if (!await (0, import_fs_extra.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 (0, import_utils.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 (0, import_utils.execPromiseQuiet)(sshCmd);\n } else {\n throw error;\n }\n }\n } else {\n if (!await (0, import_fs_extra.pathExists)((0, import_path.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(import_path.sep)) !== null && _template_repo_dir_join !== void 0 ? _template_repo_dir_join : \".\"}`;\n await (0, import_utils.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 (0, import_utils.execPromiseQuiet)(cmd2, {\n cwd: targetGitDir\n });\n console.info();\n var dir = (0, import_path.join)(targetGitDir, ...template.repo.dir);\n if (!await (0, import_fs_extra.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 (0, import_rimraf.rimraf)(targetGitDir);\n return await setupVxrnDotDir(template, targetGitDir, true);\n }\n}\nfunction isInGitRepo() {\n try {\n (0, import_utils.exec)(\"git rev-parse --is-inside-work-tree\", {\n stdio: \"ignore\"\n });\n return true;\n } catch (error) {\n return false;\n }\n}\n//# sourceMappingURL=cloneStarter.js.map\n"],"mappings":"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"}
|