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.
@@ -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=