beast-core-create 0.0.12
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/README.md +93 -0
- package/dist/bcl/diagnostics/dxDebug.js +83 -0
- package/dist/bcl/diagnostics/dxProcess.js +79 -0
- package/dist/bcl/dxEnvironment.js +162 -0
- package/dist/bcl/dxResult.js +29 -0
- package/dist/bcl/dxStringUtils.js +12 -0
- package/dist/bcl/index.js +8 -0
- package/dist/bcl/io/dxFile.js +103 -0
- package/dist/bcl/keyValuePair.js +17 -0
- package/dist/bin.js +15 -0
- package/dist/dependenciesManager.js +68 -0
- package/dist/dxApp.js +438 -0
- package/dist/index.js +6 -0
- package/dist/models/enumerations/dxBackendFramework.js +9 -0
- package/dist/models/enumerations/dxFrontendFramework.js +10 -0
- package/dist/models/enumerations/dxProjectType.js +9 -0
- package/dist/models/iDxProjectConfig.js +3 -0
- package/dist/nameReferencesManager.js +273 -0
- package/package.json +35 -0
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.dependenciesManager = exports.BcDependenciesManager = void 0;
|
|
16
|
+
const axios_1 = __importDefault(require("axios"));
|
|
17
|
+
const promises_1 = require("fs/promises");
|
|
18
|
+
const path_1 = __importDefault(require("path"));
|
|
19
|
+
const dxProcess_1 = require("./bcl/diagnostics/dxProcess");
|
|
20
|
+
class BcDependenciesManager {
|
|
21
|
+
saveArchiveAsync(dep, file) {
|
|
22
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
23
|
+
try {
|
|
24
|
+
//Save payload to disk
|
|
25
|
+
const buffer = Buffer.from(file);
|
|
26
|
+
const archivePath = path_1.default.join(dep.savePath, dep.name);
|
|
27
|
+
yield (0, promises_1.writeFile)(archivePath, buffer);
|
|
28
|
+
if (process.platform != "win32") {
|
|
29
|
+
const repoUpdateProc = new dxProcess_1.DxProcess();
|
|
30
|
+
yield repoUpdateProc.startAsync("chmod", ["+x", archivePath]);
|
|
31
|
+
//Helm3 does not throw an error if it cannot update a chart. For purposes of this component, we should. https://github.com/helm/helm/issues/10016
|
|
32
|
+
if (!repoUpdateProc.isSuccess) {
|
|
33
|
+
throw new Error(`Failed to make ${archivePath} executable`);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
catch (e) {
|
|
38
|
+
throw new Error(`Unable to save dependency: ${dep.name}. Details: ${e}`);
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
downloadAsync(dep) {
|
|
43
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
44
|
+
try {
|
|
45
|
+
const response = yield axios_1.default.get(dep.url, {
|
|
46
|
+
responseType: 'arraybuffer'
|
|
47
|
+
});
|
|
48
|
+
if (response.status < 199 && response.status > 299) {
|
|
49
|
+
throw new Error(`Unable to fetch the template...`);
|
|
50
|
+
}
|
|
51
|
+
// let contentDispHeader: string = response.headers["content-disposition"];
|
|
52
|
+
// contentDispHeader = contentDispHeader.replace("attachment; filename=", "")
|
|
53
|
+
// .replaceAll('"', "")
|
|
54
|
+
// .replace(".zip", "");
|
|
55
|
+
// this._archiveName = contentDispHeader;
|
|
56
|
+
//Save archive to disk
|
|
57
|
+
yield this.saveArchiveAsync(dep, yield response.data);
|
|
58
|
+
}
|
|
59
|
+
catch (e) {
|
|
60
|
+
throw new Error(`Network error. Unable to fetch the dependency ${dep.name} :(`);
|
|
61
|
+
}
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
exports.BcDependenciesManager = BcDependenciesManager;
|
|
66
|
+
const dependenciesManager = new BcDependenciesManager();
|
|
67
|
+
exports.dependenciesManager = dependenciesManager;
|
|
68
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwZW5kZW5jaWVzTWFuYWdlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9kZXBlbmRlbmNpZXNNYW5hZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGtEQUEwQjtBQUMxQiwwQ0FBd0M7QUFDeEMsZ0RBQXdCO0FBQ3hCLDJEQUF3RDtBQVF4RCxNQUFhLHFCQUFxQjtJQUNoQixnQkFBZ0IsQ0FBQyxHQUFrQixFQUFFLElBQWlCOztZQUNoRSxJQUFJLENBQUM7Z0JBQ0Qsc0JBQXNCO2dCQUN0QixNQUFNLE1BQU0sR0FBVyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUN6QyxNQUFNLFdBQVcsR0FBVyxjQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUU5RCxNQUFNLElBQUEsb0JBQVMsRUFBQyxXQUFXLEVBQUUsTUFBTSxDQUFDLENBQUM7Z0JBRXJDLElBQUksT0FBTyxDQUFDLFFBQVEsSUFBSSxPQUFPLEVBQUUsQ0FBQztvQkFDOUIsTUFBTSxjQUFjLEdBQWMsSUFBSSxxQkFBUyxFQUFFLENBQUM7b0JBQ2xELE1BQU0sY0FBYyxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxJQUFJLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQztvQkFDOUQsbUpBQW1KO29CQUNuSixJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsRUFBRSxDQUFDO3dCQUM1QixNQUFNLElBQUksS0FBSyxDQUFDLGtCQUFrQixXQUFXLGFBQWEsQ0FBQyxDQUFDO29CQUNoRSxDQUFDO2dCQUNMLENBQUM7WUFDTCxDQUFDO1lBQ0QsT0FBTyxDQUFDLEVBQUUsQ0FBQztnQkFDUCxNQUFNLElBQUksS0FBSyxDQUFDLDhCQUE4QixHQUFHLENBQUMsSUFBSSxlQUFlLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDOUUsQ0FBQztRQUNMLENBQUM7S0FBQTtJQUVZLGFBQWEsQ0FBQyxHQUFrQjs7WUFDekMsSUFBSSxDQUFDO2dCQUNELE1BQU0sUUFBUSxHQUFHLE1BQU0sZUFBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFO29CQUN0QyxZQUFZLEVBQUUsYUFBYTtpQkFDOUIsQ0FBQyxDQUFDO2dCQUNILElBQUksUUFBUSxDQUFDLE1BQU0sR0FBRyxHQUFHLElBQUksUUFBUSxDQUFDLE1BQU0sR0FBRyxHQUFHLEVBQUUsQ0FBQztvQkFDakQsTUFBTSxJQUFJLEtBQUssQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFDO2dCQUN2RCxDQUFDO2dCQUVELDJFQUEyRTtnQkFDM0UsNkVBQTZFO2dCQUM3RSwyQkFBMkI7Z0JBQzNCLDRCQUE0QjtnQkFDNUIseUNBQXlDO2dCQUV6QyxzQkFBc0I7Z0JBQ3RCLE1BQU0sSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsRUFBRSxNQUFNLFFBQVEsQ0FBQyxJQUFtQixDQUFDLENBQUM7WUFDekUsQ0FBQztZQUNELE9BQU8sQ0FBQyxFQUFFLENBQUM7Z0JBQ1AsTUFBTSxJQUFJLEtBQUssQ0FBQyxrREFBa0QsR0FBRyxDQUFDLElBQUksS0FBSyxDQUFDLENBQUM7WUFDckYsQ0FBQztRQUNMLENBQUM7S0FBQTtDQUNKO0FBN0NELHNEQTZDQztBQUVELE1BQU0sbUJBQW1CLEdBQTBCLElBQUkscUJBQXFCLEVBQUUsQ0FBQztBQUN0RSxrREFBbUIifQ==
|
package/dist/dxApp.js
ADDED
|
@@ -0,0 +1,438 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
36
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
37
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
38
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
39
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
40
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
41
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
42
|
+
});
|
|
43
|
+
};
|
|
44
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
45
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
46
|
+
};
|
|
47
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
48
|
+
exports.DxApp = void 0;
|
|
49
|
+
const input_1 = __importDefault(require("@inquirer/input"));
|
|
50
|
+
const dxProjectType_1 = require("./models/enumerations/dxProjectType");
|
|
51
|
+
const select_1 = __importDefault(require("@inquirer/select"));
|
|
52
|
+
const dxFrontendFramework_1 = require("./models/enumerations/dxFrontendFramework");
|
|
53
|
+
const dxBackendFramework_1 = require("./models/enumerations/dxBackendFramework");
|
|
54
|
+
const promises_1 = require("fs/promises");
|
|
55
|
+
const path_1 = __importDefault(require("path"));
|
|
56
|
+
const axios_1 = __importDefault(require("axios"));
|
|
57
|
+
const dependenciesManager_1 = require("./dependenciesManager");
|
|
58
|
+
const nameReferencesManager_1 = require("./nameReferencesManager");
|
|
59
|
+
const tar = __importStar(require("tar"));
|
|
60
|
+
class DxApp {
|
|
61
|
+
constructor() {
|
|
62
|
+
this._currentPath = process.cwd();
|
|
63
|
+
this._projectPath = "";
|
|
64
|
+
this._promptCreateSubFolder = false;
|
|
65
|
+
this._binsPath = "";
|
|
66
|
+
this._tmpPath = "";
|
|
67
|
+
this._archiveName = "";
|
|
68
|
+
this._archiveUrl = "https://gitlab.phactory.beast-code.com/api/v4/projects/1725/repository/archive.tar.gz";
|
|
69
|
+
this.showPreRoll();
|
|
70
|
+
}
|
|
71
|
+
showPreRoll() {
|
|
72
|
+
const banner = " __ ___ __ ___ __ __ __ ___ __ __ \n" +
|
|
73
|
+
"|__) |__ /\\ /__` | / ` / \\ |__) |__ /__` | \\ |__/ \n" +
|
|
74
|
+
"|__) |___ /~~\\ .__/ | \\__, \\__/ | \\ |___ .__/ |__/ | \\ Michael Devlin's Manifestation";
|
|
75
|
+
console.log(banner);
|
|
76
|
+
console.log("=================================================================================================");
|
|
77
|
+
console.log("(c) 2025 Beast Code LLC. All Rights Reserved.\n");
|
|
78
|
+
}
|
|
79
|
+
mainAsync() {
|
|
80
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
81
|
+
var _a;
|
|
82
|
+
try {
|
|
83
|
+
yield this.ensureVpnConnectedAsync();
|
|
84
|
+
yield this.getUserInputAsync();
|
|
85
|
+
this.showLoadingIndicator(`Scaffolding project in ${this._projectPath}...`);
|
|
86
|
+
yield this.setupFoldersAsync();
|
|
87
|
+
yield this.downloadDependenciesAsync();
|
|
88
|
+
yield this.downloadTemplateAsync();
|
|
89
|
+
yield this.updateNameReferencesAsync();
|
|
90
|
+
yield this.removeFrontendFilesAsync();
|
|
91
|
+
//await this.removeDevContainerAsync();
|
|
92
|
+
yield this.cleanupAsync();
|
|
93
|
+
this.hideLoadingIndicator(true);
|
|
94
|
+
console.log(`│\n└ Done. Now run:\n\n cd ${(_a = this._projectConfig) === null || _a === void 0 ? void 0 : _a.name}\n code .\n`); // Now run:\n cd ${this._projectConfig?.name}\n for VS Code: code .`);
|
|
95
|
+
console.log(`Optional: Initialize Git in your project directory with:\n│\n└ git init && git add -A commit -m "initial commit"`);
|
|
96
|
+
}
|
|
97
|
+
catch (e) {
|
|
98
|
+
if (this._loadingTimer != null) {
|
|
99
|
+
this.hideLoadingIndicator(false);
|
|
100
|
+
}
|
|
101
|
+
//Hides the stack trace on sigint
|
|
102
|
+
if (e.name == "ExitPromptError") {
|
|
103
|
+
console.error("Thanks for trying the sdk. See you again soon!");
|
|
104
|
+
return;
|
|
105
|
+
}
|
|
106
|
+
console.error(e);
|
|
107
|
+
process.exit(-1);
|
|
108
|
+
}
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
showLoadingIndicator(msg) {
|
|
112
|
+
this.hideLoadingIndicator();
|
|
113
|
+
const frames = ['⠋', '⠙', '⠹', '⠸', '⠼', '⠴', '⠦', '⠧', '⠇', '⠏'];
|
|
114
|
+
let i = 0;
|
|
115
|
+
this._loadingTimer = setInterval(() => {
|
|
116
|
+
process.stdout.write(`\r${frames[i++]} ${msg}`);
|
|
117
|
+
i = i >= frames.length ? 0 : i;
|
|
118
|
+
}, 150);
|
|
119
|
+
}
|
|
120
|
+
hideLoadingIndicator(isSuccess = true) {
|
|
121
|
+
const icon = isSuccess ? "✔" : "✘";
|
|
122
|
+
if (this._loadingTimer == null) {
|
|
123
|
+
return;
|
|
124
|
+
}
|
|
125
|
+
clearInterval(this._loadingTimer);
|
|
126
|
+
this._loadingTimer = undefined;
|
|
127
|
+
process.stdout.write(`\r${icon}\n`);
|
|
128
|
+
}
|
|
129
|
+
ensureVpnConnectedAsync() {
|
|
130
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
131
|
+
try {
|
|
132
|
+
const originalStdErrWrite = process.stderr.write;
|
|
133
|
+
process.stderr.write = (data) => {
|
|
134
|
+
//Intercepted content
|
|
135
|
+
const content = data.toString();
|
|
136
|
+
if (content.includes("NODE_TLS_REJECT_UNAUTHORIZED")) {
|
|
137
|
+
return originalStdErrWrite.call(process.stderr, "");
|
|
138
|
+
}
|
|
139
|
+
console.log("ERROR: ", data);
|
|
140
|
+
//Do something here
|
|
141
|
+
//Forward to the original stderr
|
|
142
|
+
return originalStdErrWrite.call(process.stderr, data);
|
|
143
|
+
};
|
|
144
|
+
//Fix windows self-signed cert error
|
|
145
|
+
process.env['NODE_TLS_REJECT_UNAUTHORIZED'] = "0";
|
|
146
|
+
// Make a request for a user with a given IDzip
|
|
147
|
+
const resp = yield axios_1.default.head(`${this._archiveUrl}?private_token=glpat-1guUuP6FwUcnpSJaQd6R`, {
|
|
148
|
+
responseType: 'arraybuffer'
|
|
149
|
+
});
|
|
150
|
+
//Reset the standard error
|
|
151
|
+
process.stderr.write = originalStdErrWrite;
|
|
152
|
+
if (resp.status > 199 && resp.status < 300) {
|
|
153
|
+
this.hideLoadingIndicator();
|
|
154
|
+
return;
|
|
155
|
+
}
|
|
156
|
+
throw new Error("VPN connection required");
|
|
157
|
+
}
|
|
158
|
+
catch (e) {
|
|
159
|
+
throw new Error(`Unable to connect to the Beast Code internal gitlab instance. Please connect to the Beast Code VPN and try again. Details: ${e}`);
|
|
160
|
+
}
|
|
161
|
+
});
|
|
162
|
+
}
|
|
163
|
+
downloadDependenciesAsync() {
|
|
164
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
165
|
+
switch (process.platform) {
|
|
166
|
+
case "linux":
|
|
167
|
+
yield dependenciesManager_1.dependenciesManager.downloadAsync({
|
|
168
|
+
name: "yq",
|
|
169
|
+
url: "https://github.com/mikefarah/yq/releases/download/v4.45.4/yq_linux_amd64",
|
|
170
|
+
savePath: this._binsPath
|
|
171
|
+
});
|
|
172
|
+
break;
|
|
173
|
+
case "win32":
|
|
174
|
+
yield dependenciesManager_1.dependenciesManager.downloadAsync({
|
|
175
|
+
name: "yq.exe",
|
|
176
|
+
url: "https://github.com/mikefarah/yq/releases/download/v4.45.4/yq_windows_amd64.exe",
|
|
177
|
+
savePath: this._binsPath
|
|
178
|
+
});
|
|
179
|
+
break;
|
|
180
|
+
case "darwin":
|
|
181
|
+
yield dependenciesManager_1.dependenciesManager.downloadAsync({
|
|
182
|
+
name: "yq",
|
|
183
|
+
url: "https://github.com/mikefarah/yq/releases/download/v4.45.4/yq_darwin_amd64",
|
|
184
|
+
savePath: this._binsPath
|
|
185
|
+
});
|
|
186
|
+
break;
|
|
187
|
+
}
|
|
188
|
+
});
|
|
189
|
+
}
|
|
190
|
+
getUserInputAsync() {
|
|
191
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
192
|
+
//Ask for project name
|
|
193
|
+
const projName = yield (0, input_1.default)({
|
|
194
|
+
message: "Project name",
|
|
195
|
+
required: true,
|
|
196
|
+
validate: (value) => {
|
|
197
|
+
if (value.match("[a-z]+(_[a-z]+)*")) {
|
|
198
|
+
return true;
|
|
199
|
+
}
|
|
200
|
+
return "The project name must be lower_case_snake and match the regex: [a-z]+(_[a-z]+)*";
|
|
201
|
+
}
|
|
202
|
+
});
|
|
203
|
+
//Would you like to create the project in new directory or existing directory
|
|
204
|
+
//Existing Directory
|
|
205
|
+
//New Directory
|
|
206
|
+
this._promptCreateSubFolder = yield (0, select_1.default)({
|
|
207
|
+
message: `Would you like to create the project in it's own sub-directory?`,
|
|
208
|
+
choices: [
|
|
209
|
+
{
|
|
210
|
+
name: `No`,
|
|
211
|
+
value: false
|
|
212
|
+
},
|
|
213
|
+
{
|
|
214
|
+
name: `Yes`,
|
|
215
|
+
value: true
|
|
216
|
+
}
|
|
217
|
+
]
|
|
218
|
+
});
|
|
219
|
+
//Set the project path
|
|
220
|
+
this._projectPath = this._promptCreateSubFolder ? path_1.default.join(process.cwd(), projName) : process.cwd();
|
|
221
|
+
//Ensure folder does not already exist
|
|
222
|
+
if (this._promptCreateSubFolder && (yield this.checkFolderExistsAsync(this._projectPath))) {
|
|
223
|
+
const promptRemoveExistingFiles = yield (0, select_1.default)({
|
|
224
|
+
message: `Target directory "${projName}" is not empty. Remove existing files and continue?`,
|
|
225
|
+
choices: [
|
|
226
|
+
{
|
|
227
|
+
name: 'Yes',
|
|
228
|
+
value: true
|
|
229
|
+
},
|
|
230
|
+
{
|
|
231
|
+
name: 'No',
|
|
232
|
+
value: false
|
|
233
|
+
}
|
|
234
|
+
]
|
|
235
|
+
});
|
|
236
|
+
if (!promptRemoveExistingFiles) {
|
|
237
|
+
console.error("✘ Operation cancelled");
|
|
238
|
+
process.exit(-1);
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
//Ask for project type
|
|
242
|
+
const projectType = yield (0, select_1.default)({
|
|
243
|
+
message: 'Select a project type',
|
|
244
|
+
choices: [
|
|
245
|
+
{
|
|
246
|
+
name: 'Plugin',
|
|
247
|
+
value: dxProjectType_1.DxProjectType.Plugin,
|
|
248
|
+
description: 'Create a Beast Core plugin',
|
|
249
|
+
},
|
|
250
|
+
{
|
|
251
|
+
name: 'Service',
|
|
252
|
+
value: dxProjectType_1.DxProjectType.Service,
|
|
253
|
+
description: "Create a Beast Core service"
|
|
254
|
+
}
|
|
255
|
+
]
|
|
256
|
+
});
|
|
257
|
+
const frontendFramework = projectType != dxProjectType_1.DxProjectType.Plugin
|
|
258
|
+
? dxFrontendFramework_1.DxFrontendFramework.None
|
|
259
|
+
: yield (0, select_1.default)({
|
|
260
|
+
message: 'Select a frontend framework',
|
|
261
|
+
choices: [
|
|
262
|
+
{
|
|
263
|
+
name: 'Vue',
|
|
264
|
+
value: dxFrontendFramework_1.DxFrontendFramework.Vue,
|
|
265
|
+
description: 'Use the Vue framework to create a Beast Core plugin',
|
|
266
|
+
},
|
|
267
|
+
{
|
|
268
|
+
name: 'React',
|
|
269
|
+
value: dxFrontendFramework_1.DxFrontendFramework.React,
|
|
270
|
+
description: "Use the React framework to create a Beast Core service"
|
|
271
|
+
}
|
|
272
|
+
]
|
|
273
|
+
});
|
|
274
|
+
//Ask for backend framework
|
|
275
|
+
const backendFramework = yield (0, select_1.default)({
|
|
276
|
+
message: 'Select a backend framework',
|
|
277
|
+
choices: [
|
|
278
|
+
{
|
|
279
|
+
name: '.NET',
|
|
280
|
+
value: dxBackendFramework_1.DxBackendFramework.DotNet,
|
|
281
|
+
description: 'Use the .NET framework for the backend',
|
|
282
|
+
},
|
|
283
|
+
{
|
|
284
|
+
name: 'NodeJS',
|
|
285
|
+
value: dxBackendFramework_1.DxBackendFramework.Node,
|
|
286
|
+
description: "Use the NodeJS framework for the backend"
|
|
287
|
+
}
|
|
288
|
+
]
|
|
289
|
+
});
|
|
290
|
+
//Ask if devcontainer is desired
|
|
291
|
+
const isDevContainerEnabled = yield (0, select_1.default)({
|
|
292
|
+
message: 'Would you like to use a devcontainer?',
|
|
293
|
+
choices: [
|
|
294
|
+
{
|
|
295
|
+
name: 'Use a devcontainer',
|
|
296
|
+
value: true
|
|
297
|
+
},
|
|
298
|
+
{
|
|
299
|
+
name: 'Do not use a devcontainer',
|
|
300
|
+
value: false
|
|
301
|
+
}
|
|
302
|
+
]
|
|
303
|
+
});
|
|
304
|
+
this._projectConfig = {
|
|
305
|
+
name: projName,
|
|
306
|
+
type: projectType,
|
|
307
|
+
frontendFramework,
|
|
308
|
+
backendFramework,
|
|
309
|
+
isDevContainerEnabled
|
|
310
|
+
};
|
|
311
|
+
});
|
|
312
|
+
}
|
|
313
|
+
setupFoldersAsync() {
|
|
314
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
315
|
+
try {
|
|
316
|
+
this._tmpPath = path_1.default.join(this._currentPath, "tmp");
|
|
317
|
+
this._binsPath = path_1.default.join(this._tmpPath, "bin");
|
|
318
|
+
yield (0, promises_1.mkdir)(this._binsPath, { recursive: true });
|
|
319
|
+
}
|
|
320
|
+
catch (e) {
|
|
321
|
+
throw new Error(`Unable to create project directory. Details: ${e}`);
|
|
322
|
+
}
|
|
323
|
+
});
|
|
324
|
+
}
|
|
325
|
+
downloadTemplateAsync() {
|
|
326
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
327
|
+
try {
|
|
328
|
+
const response = yield axios_1.default.get(`${this._archiveUrl}?private_token=glpat-1guUuP6FwUcnpSJaQd6R`, {
|
|
329
|
+
responseType: 'arraybuffer'
|
|
330
|
+
});
|
|
331
|
+
if (response.status < 199 && response.status > 299) {
|
|
332
|
+
throw new Error(`Unable to fetch the project template...`);
|
|
333
|
+
}
|
|
334
|
+
let contentDispHeader = response.headers["content-disposition"];
|
|
335
|
+
contentDispHeader = contentDispHeader.replace("attachment; filename=", "")
|
|
336
|
+
.replaceAll('"', "")
|
|
337
|
+
.replace(".tar.gz", "");
|
|
338
|
+
this._archiveName = contentDispHeader;
|
|
339
|
+
//Save archive to disk
|
|
340
|
+
yield this.saveArchiveAsync(yield response.data);
|
|
341
|
+
}
|
|
342
|
+
catch (e) {
|
|
343
|
+
throw new Error(`Network error. Unable to fetch the template :(`);
|
|
344
|
+
}
|
|
345
|
+
});
|
|
346
|
+
}
|
|
347
|
+
saveArchiveAsync(file) {
|
|
348
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
349
|
+
try {
|
|
350
|
+
//Save payload to disk
|
|
351
|
+
const buffer = Buffer.from(file);
|
|
352
|
+
const archivePath = path_1.default.join(this._tmpPath, `${this._archiveName}.tar.gz`);
|
|
353
|
+
yield (0, promises_1.writeFile)(archivePath, buffer);
|
|
354
|
+
//Check if the folder exists
|
|
355
|
+
if (this._promptCreateSubFolder && (yield this.checkFolderExistsAsync(this._projectPath))) {
|
|
356
|
+
//Remove the folder
|
|
357
|
+
yield (0, promises_1.rm)(this._projectPath, { recursive: true, force: true });
|
|
358
|
+
}
|
|
359
|
+
if (this._promptCreateSubFolder) {
|
|
360
|
+
//Create the folder
|
|
361
|
+
yield (0, promises_1.mkdir)(this._projectPath);
|
|
362
|
+
}
|
|
363
|
+
//Extract the archive
|
|
364
|
+
yield tar.extract({ cwd: this._projectPath, file: archivePath, strip: 1 });
|
|
365
|
+
// //Rename the extracted folder to the project name
|
|
366
|
+
// await rename(this._archiveName, this._projectConfig!.name);
|
|
367
|
+
}
|
|
368
|
+
catch (e) {
|
|
369
|
+
throw new Error(`Unable to setup templates. Details: ${e}`);
|
|
370
|
+
}
|
|
371
|
+
});
|
|
372
|
+
}
|
|
373
|
+
checkFolderExistsAsync(folderPath) {
|
|
374
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
375
|
+
try {
|
|
376
|
+
yield (0, promises_1.access)(folderPath);
|
|
377
|
+
return true; // Folder exists
|
|
378
|
+
}
|
|
379
|
+
catch (error) {
|
|
380
|
+
return false; // Folder does not exist or access is denied
|
|
381
|
+
}
|
|
382
|
+
});
|
|
383
|
+
}
|
|
384
|
+
removeFrontendFilesAsync() {
|
|
385
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
386
|
+
var _a;
|
|
387
|
+
if (((_a = this._projectConfig) === null || _a === void 0 ? void 0 : _a.type) != dxProjectType_1.DxProjectType.Service) {
|
|
388
|
+
return;
|
|
389
|
+
}
|
|
390
|
+
//Delete the frontend folder
|
|
391
|
+
const frontendPath = path_1.default.join(this._projectPath, "frontend");
|
|
392
|
+
try {
|
|
393
|
+
yield (0, promises_1.rm)(frontendPath, { recursive: true, force: true });
|
|
394
|
+
console.debug('Frontend removed successfully!');
|
|
395
|
+
}
|
|
396
|
+
catch (err) {
|
|
397
|
+
throw new Error(`Error removing frontend directory. Details: ${err}`);
|
|
398
|
+
}
|
|
399
|
+
});
|
|
400
|
+
}
|
|
401
|
+
removeDevContainerAsync() {
|
|
402
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
403
|
+
var _a;
|
|
404
|
+
if ((_a = this._projectConfig) === null || _a === void 0 ? void 0 : _a.isDevContainerEnabled) {
|
|
405
|
+
return;
|
|
406
|
+
}
|
|
407
|
+
//Delete the frontend folder
|
|
408
|
+
const frontendPath = path_1.default.join(this._projectPath, ".devcontainer");
|
|
409
|
+
try {
|
|
410
|
+
yield (0, promises_1.rm)(frontendPath, { recursive: true, force: true });
|
|
411
|
+
console.debug('Dev Container removed successfully!');
|
|
412
|
+
}
|
|
413
|
+
catch (err) {
|
|
414
|
+
throw new Error(`Error removing Dev Container directory. Details: ${err}`);
|
|
415
|
+
}
|
|
416
|
+
});
|
|
417
|
+
}
|
|
418
|
+
updateNameReferencesAsync() {
|
|
419
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
420
|
+
yield new nameReferencesManager_1.BcNameReferencesManager().initAsync(this._projectPath, this._projectConfig.name);
|
|
421
|
+
});
|
|
422
|
+
}
|
|
423
|
+
cleanupAsync() {
|
|
424
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
425
|
+
try {
|
|
426
|
+
yield (0, promises_1.rm)(this._tmpPath, { recursive: true, force: true });
|
|
427
|
+
//console.debug('Temporay files removed successfully');
|
|
428
|
+
}
|
|
429
|
+
catch (err) {
|
|
430
|
+
throw new Error(`Failed to remove temporary files. Details: ${err}`);
|
|
431
|
+
}
|
|
432
|
+
});
|
|
433
|
+
}
|
|
434
|
+
}
|
|
435
|
+
exports.DxApp = DxApp;
|
|
436
|
+
// │
|
|
437
|
+
// └ Done. Now run:
|
|
438
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHhBcHAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvZHhBcHAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsNERBQW9DO0FBQ3BDLHVFQUFvRTtBQUNwRSw4REFBc0M7QUFDdEMsbUZBQWdGO0FBQ2hGLGlGQUE4RTtBQUM5RSwwQ0FBc0U7QUFFdEUsZ0RBQXdCO0FBQ3hCLGtEQUEwQjtBQUMxQiwrREFBNEQ7QUFDNUQsbUVBQWtFO0FBQ2xFLHlDQUEwQjtBQUcxQixNQUFhLEtBQUs7SUFXZDtRQVZRLGlCQUFZLEdBQVcsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ3JDLGlCQUFZLEdBQVcsRUFBRSxDQUFDO1FBQzFCLDJCQUFzQixHQUFZLEtBQUssQ0FBQztRQUN4QyxjQUFTLEdBQVcsRUFBRSxDQUFDO1FBQ3ZCLGFBQVEsR0FBVyxFQUFFLENBQUM7UUFDdEIsaUJBQVksR0FBVyxFQUFFLENBQUM7UUFJMUIsZ0JBQVcsR0FBVyx1RkFBdUYsQ0FBQztRQUVsSCxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUNPLFdBQVc7UUFDZixNQUFNLE1BQU0sR0FDUixxRUFBcUU7WUFDckUsd0VBQXdFO1lBQ3hFLHVHQUF1RyxDQUFDO1FBQzVHLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDcEIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxtR0FBbUcsQ0FBQyxDQUFDO1FBQ2pILE9BQU8sQ0FBQyxHQUFHLENBQUMsaURBQWlELENBQUMsQ0FBQztJQUNuRSxDQUFDO0lBRVksU0FBUzs7O1lBQ2xCLElBQUksQ0FBQztnQkFDRCxNQUFNLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO2dCQUNyQyxNQUFNLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO2dCQUMvQixJQUFJLENBQUMsb0JBQW9CLENBQUMsMEJB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
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DxApp = void 0;
|
|
4
|
+
const dxApp_1 = require("./dxApp");
|
|
5
|
+
Object.defineProperty(exports, "DxApp", { enumerable: true, get: function () { return dxApp_1.DxApp; } });
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbUNBQWdDO0FBQ3ZCLHNGQURBLGFBQUssT0FDQSJ9
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DxBackendFramework = void 0;
|
|
4
|
+
var DxBackendFramework;
|
|
5
|
+
(function (DxBackendFramework) {
|
|
6
|
+
DxBackendFramework["DotNet"] = "dotnet";
|
|
7
|
+
DxBackendFramework["Node"] = "node";
|
|
8
|
+
})(DxBackendFramework || (exports.DxBackendFramework = DxBackendFramework = {}));
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHhCYWNrZW5kRnJhbWV3b3JrLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21vZGVscy9lbnVtZXJhdGlvbnMvZHhCYWNrZW5kRnJhbWV3b3JrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLElBQVksa0JBR1g7QUFIRCxXQUFZLGtCQUFrQjtJQUMxQix1Q0FBaUIsQ0FBQTtJQUNqQixtQ0FBYSxDQUFBO0FBQ2pCLENBQUMsRUFIVyxrQkFBa0Isa0NBQWxCLGtCQUFrQixRQUc3QiJ9
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DxFrontendFramework = void 0;
|
|
4
|
+
var DxFrontendFramework;
|
|
5
|
+
(function (DxFrontendFramework) {
|
|
6
|
+
DxFrontendFramework["None"] = "none";
|
|
7
|
+
DxFrontendFramework["Vue"] = "vue";
|
|
8
|
+
DxFrontendFramework["React"] = "react";
|
|
9
|
+
})(DxFrontendFramework || (exports.DxFrontendFramework = DxFrontendFramework = {}));
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHhGcm9udGVuZEZyYW1ld29yay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tb2RlbHMvZW51bWVyYXRpb25zL2R4RnJvbnRlbmRGcmFtZXdvcmsudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsSUFBWSxtQkFJWDtBQUpELFdBQVksbUJBQW1CO0lBQzNCLG9DQUFhLENBQUE7SUFDYixrQ0FBVyxDQUFBO0lBQ1gsc0NBQWUsQ0FBQTtBQUNuQixDQUFDLEVBSlcsbUJBQW1CLG1DQUFuQixtQkFBbUIsUUFJOUIifQ==
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DxProjectType = void 0;
|
|
4
|
+
var DxProjectType;
|
|
5
|
+
(function (DxProjectType) {
|
|
6
|
+
DxProjectType["Plugin"] = "plugin";
|
|
7
|
+
DxProjectType["Service"] = "service";
|
|
8
|
+
})(DxProjectType || (exports.DxProjectType = DxProjectType = {}));
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHhQcm9qZWN0VHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tb2RlbHMvZW51bWVyYXRpb25zL2R4UHJvamVjdFR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsSUFBWSxhQUdYO0FBSEQsV0FBWSxhQUFhO0lBQ3JCLGtDQUFpQixDQUFBO0lBQ2pCLG9DQUFtQixDQUFBO0FBQ3ZCLENBQUMsRUFIVyxhQUFhLDZCQUFiLGFBQWEsUUFHeEIifQ==
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaUR4UHJvamVjdENvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tb2RlbHMvaUR4UHJvamVjdENvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIn0=
|