@lenne.tech/cli 0.0.113 → 0.0.114

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,364 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ const axios_1 = require("axios");
13
+ const fs = require("fs");
14
+ const glob = require("glob");
15
+ const gluegun_1 = require("gluegun");
16
+ const path = require("path");
17
+ const AddComponentCommand = {
18
+ description: 'Adds a specific block to another Nuxt project',
19
+ name: 'add',
20
+ run: (toolbox) => __awaiter(void 0, void 0, void 0, function* () {
21
+ const { parameters } = toolbox;
22
+ const blockName = parameters.first;
23
+ yield addBlock(toolbox, blockName);
24
+ process.exit();
25
+ return 'add';
26
+ }),
27
+ };
28
+ function getConfigForBlock(fileName, toolbox) {
29
+ return __awaiter(this, void 0, void 0, function* () {
30
+ const { print } = toolbox;
31
+ const configSpinner = print.spin('Checking the config for block...');
32
+ const data = yield getConfig();
33
+ const name = fileName.split('.').slice(0, -1).join('.');
34
+ const rootName = name.split('/')[0];
35
+ configSpinner.succeed(`Config for ${rootName} loaded successfully`);
36
+ return data.config[rootName] || {};
37
+ });
38
+ }
39
+ function getConfig() {
40
+ return __awaiter(this, void 0, void 0, function* () {
41
+ const githubApiUrl = 'https://raw.githubusercontent.com/lenneTech/nuxt-base-components/main/config.json';
42
+ const response = yield axios_1.default.get(githubApiUrl);
43
+ if (response.status === 200) {
44
+ return response.data;
45
+ }
46
+ else {
47
+ throw new Error(`Error when retrieving the configuration from GitHub: ${response.statusText}`);
48
+ }
49
+ });
50
+ }
51
+ function processConfig(config, toolbox) {
52
+ return __awaiter(this, void 0, void 0, function* () {
53
+ if (config === null || config === void 0 ? void 0 : config.npm) {
54
+ const npmPackages = config.npm;
55
+ for (const npmPackage of npmPackages) {
56
+ yield installPackage(npmPackage, toolbox);
57
+ }
58
+ }
59
+ if (config === null || config === void 0 ? void 0 : config.composables) {
60
+ const composables = config.composables;
61
+ for (const composable of composables) {
62
+ yield copyComposable(composable, toolbox);
63
+ }
64
+ }
65
+ if (config === null || config === void 0 ? void 0 : config.components) {
66
+ const components = config.components;
67
+ for (const component of components) {
68
+ if (component.endsWith('/*')) {
69
+ const folderName = component.split('/')[0];
70
+ const directoryFiles = yield getComponentsInfo(folderName);
71
+ for (const file of directoryFiles) {
72
+ yield copyComponent({ name: `${folderName}/${file.name}`, type: 'dir' }, toolbox);
73
+ }
74
+ }
75
+ else {
76
+ yield copyComponent({ name: `${component}.vue`, type: 'file' }, toolbox);
77
+ }
78
+ }
79
+ }
80
+ });
81
+ }
82
+ function installPackage(packageName, toolbox) {
83
+ return __awaiter(this, void 0, void 0, function* () {
84
+ const { print, prompt, system } = toolbox;
85
+ const nameWithoutVersion = packageName.split('@')[0] || packageName;
86
+ const packageJsonPath = path.resolve(process.cwd(), 'package.json');
87
+ const packageJson = gluegun_1.filesystem.read(packageJsonPath, 'json');
88
+ const isInstalled = (packageJson.dependencies && packageJson.dependencies[nameWithoutVersion])
89
+ || (packageJson.devDependencies && packageJson.devDependencies[nameWithoutVersion]);
90
+ if (!isInstalled) {
91
+ const confirm = yield prompt.confirm(`The npm package ${nameWithoutVersion} is required. Would you like to install it?`);
92
+ if (!confirm) {
93
+ return;
94
+ }
95
+ const installSpinner = print.spin(`Install npm package ${nameWithoutVersion}...`);
96
+ yield system.run(`npm install ${packageName} --save-exact`);
97
+ installSpinner.succeed(`npm package ${nameWithoutVersion} successfully installed`);
98
+ }
99
+ else {
100
+ print.info(`npm package ${nameWithoutVersion} is already installed`);
101
+ }
102
+ });
103
+ }
104
+ function copyComposable(composable, toolbox) {
105
+ return __awaiter(this, void 0, void 0, function* () {
106
+ const { print, prompt } = toolbox;
107
+ const apiUrl = `https://raw.githubusercontent.com/lenneTech/nuxt-base-components/main/composables/${composable}.ts`;
108
+ const response = yield axios_1.default.get(apiUrl);
109
+ if (response.status === 200) {
110
+ const sourceCode = response.data;
111
+ const cwd = process.cwd();
112
+ let targetDirectory;
113
+ if (fs.existsSync(path.resolve(cwd, 'composables'))) {
114
+ targetDirectory = path.resolve(cwd, 'composables');
115
+ }
116
+ else {
117
+ const directories = glob.sync('*/composables', { cwd });
118
+ if (directories.length > 0) {
119
+ targetDirectory = path.join(cwd, directories[0]);
120
+ }
121
+ else {
122
+ targetDirectory = cwd;
123
+ }
124
+ }
125
+ // check composable already exists
126
+ if (fs.existsSync(path.join(targetDirectory, `${composable}.ts`))) {
127
+ print.info(`The composable ${composable} already exists`);
128
+ return;
129
+ }
130
+ const confirm = yield prompt.confirm(`The composable ${composable} is required. Would you like to add it?`);
131
+ if (!confirm) {
132
+ return;
133
+ }
134
+ const targetPath = path.join(targetDirectory, `${composable}.ts`);
135
+ const spinner = print.spin(`Copy the composable ${composable} to ${targetPath}...`);
136
+ fs.writeFileSync(targetPath, sourceCode);
137
+ spinner.succeed(`The composable ${composable} was successfully copied to ${targetPath}`);
138
+ }
139
+ else {
140
+ print.error(`Error retrieving the file from GitHub: ${response.statusText}`);
141
+ }
142
+ });
143
+ }
144
+ function getComponentsInfo(path) {
145
+ return __awaiter(this, void 0, void 0, function* () {
146
+ const githubApiUrl = `https://api.github.com/repos/lenneTech/nuxt-base-components/contents/components${path ? `/${path}` : ''}`;
147
+ const response = yield axios_1.default.get(githubApiUrl);
148
+ if (response.status === 200) {
149
+ return response.data.map((file) => {
150
+ return {
151
+ name: file.name,
152
+ type: file.type,
153
+ };
154
+ });
155
+ }
156
+ else {
157
+ throw new Error(`Error when retrieving the file list from GitHub: ${response.statusText}`);
158
+ }
159
+ });
160
+ }
161
+ function getBlockInfo(path) {
162
+ return __awaiter(this, void 0, void 0, function* () {
163
+ const githubApiUrl = `https://api.github.com/repos/lenneTech/nuxt-base-components/contents/blocks${path ? `/${path}` : ''}`;
164
+ const response = yield axios_1.default.get(githubApiUrl);
165
+ if (response.status === 200) {
166
+ return response.data.map((file) => {
167
+ return {
168
+ name: file.name,
169
+ type: file.type,
170
+ };
171
+ });
172
+ }
173
+ else {
174
+ throw new Error(`Error when retrieving the file list from GitHub: ${response.statusText}`);
175
+ }
176
+ });
177
+ }
178
+ function addBlock(toolbox, blockName) {
179
+ return __awaiter(this, void 0, void 0, function* () {
180
+ const { print, prompt } = toolbox;
181
+ try {
182
+ const compSpinner = print.spin('Load block selection from GitHub...');
183
+ const possibleBlocks = yield getBlockInfo();
184
+ compSpinner.succeed('Blocks selection successfully loaded from GitHub');
185
+ if (possibleBlocks.length > 0) {
186
+ let selectedBlock = '';
187
+ if (!blockName) {
188
+ const response = yield prompt.ask({
189
+ choices: possibleBlocks,
190
+ message: 'Which block would you like to add?',
191
+ name: 'blockType',
192
+ type: 'select',
193
+ });
194
+ selectedBlock = response.blockType;
195
+ }
196
+ else {
197
+ const foundComponent = possibleBlocks.find(e => e.name.toLowerCase() === `${blockName.toLowerCase()}.vue` || e.name.toLowerCase() === blockName.toLowerCase());
198
+ selectedBlock = foundComponent.name;
199
+ }
200
+ const selectedFile = possibleBlocks.find(e => e.name.toLowerCase() === selectedBlock.toLowerCase());
201
+ if ((selectedFile === null || selectedFile === void 0 ? void 0 : selectedFile.type) === 'dir') {
202
+ print.success(`The directory ${selectedFile.name} has been selected.`);
203
+ const directoryFiles = yield getBlockInfo(selectedFile.name);
204
+ if (directoryFiles.length > 0) {
205
+ for (const file of directoryFiles) {
206
+ yield copyBlock({
207
+ name: `${selectedFile.name}/${file.name}`,
208
+ type: 'dir',
209
+ }, toolbox);
210
+ }
211
+ print.success(`All files from the directory ${selectedFile.name} have been successfully copied.`);
212
+ }
213
+ else {
214
+ print.error(`The directory ${selectedFile.name} is empty.`);
215
+ }
216
+ }
217
+ else if ((selectedFile === null || selectedFile === void 0 ? void 0 : selectedFile.type) === 'file') {
218
+ print.success(`The block ${selectedFile.name} was selected.`);
219
+ yield copyBlock(selectedFile, toolbox);
220
+ }
221
+ }
222
+ else {
223
+ print.error('No block found on GitHub.');
224
+ }
225
+ }
226
+ catch (error) {
227
+ print.error(`Error when adding/selecting the block: ${error.message}`);
228
+ }
229
+ });
230
+ }
231
+ function copyBlock(file, toolbox) {
232
+ return __awaiter(this, void 0, void 0, function* () {
233
+ const { print } = toolbox;
234
+ const apiUrl = `https://raw.githubusercontent.com/lenneTech/nuxt-base-components/main/blocks/${file.name}`;
235
+ return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
236
+ try {
237
+ const config = yield getConfigForBlock(file.name, toolbox);
238
+ if (config) {
239
+ yield processConfig(config, toolbox);
240
+ }
241
+ const compSpinner = print.spin(`Load block ${file.name} from GitHub...`);
242
+ const response = yield axios_1.default.get(apiUrl);
243
+ compSpinner.succeed(`Block ${file.name} successfully loaded from GitHub`);
244
+ if (response.status === 200) {
245
+ const sourceCode = response.data;
246
+ const cwd = process.cwd();
247
+ let targetDirectory;
248
+ if (fs.existsSync(path.resolve(cwd, 'pages'))) {
249
+ targetDirectory = path.resolve(cwd, 'pages');
250
+ }
251
+ else {
252
+ const directories = glob.sync('*/pages', { cwd });
253
+ if (directories.length > 0) {
254
+ targetDirectory = path.join(cwd, directories[0]);
255
+ }
256
+ else {
257
+ targetDirectory = cwd;
258
+ }
259
+ }
260
+ const targetName = file.name.replace(/([a-z])([A-Z])/g, '$1-$2')
261
+ .toLowerCase()
262
+ .replace(/^block-/, '');
263
+ const targetPath = path.join(targetDirectory, `${targetName}`);
264
+ // check if block already exists
265
+ if (fs.existsSync(targetPath)) {
266
+ print.info(`The block ${file.name} already exists`);
267
+ resolve(targetPath);
268
+ return;
269
+ }
270
+ if (!fs.existsSync(targetDirectory)) {
271
+ const targetDirSpinner = print.spin('Creating the target directory...');
272
+ fs.mkdirSync(targetDirectory, { recursive: true });
273
+ targetDirSpinner.succeed();
274
+ }
275
+ if (file.type === 'dir') {
276
+ const dirName = file.name.split('/')[0];
277
+ const dirPath = path.join(targetDirectory, dirName);
278
+ if (!fs.existsSync(dirPath)) {
279
+ fs.mkdirSync(dirPath, { recursive: true });
280
+ }
281
+ }
282
+ const spinner = print.spin(`Copy the block ${targetName} to ${targetPath}...`);
283
+ fs.writeFileSync(targetPath, sourceCode);
284
+ spinner.succeed(`The block ${targetName} was successfully copied to ${targetPath}`);
285
+ resolve(targetPath);
286
+ }
287
+ else {
288
+ print.error(`Error retrieving the file from GitHub: ${response.statusText}`);
289
+ reject(response.statusText);
290
+ }
291
+ }
292
+ catch (error) {
293
+ print.error(`Error when copying the block ${file.name}: ${error.message}`);
294
+ reject(error);
295
+ }
296
+ }));
297
+ });
298
+ }
299
+ function copyComponent(file, toolbox) {
300
+ return __awaiter(this, void 0, void 0, function* () {
301
+ const { print } = toolbox;
302
+ const apiUrl = `https://raw.githubusercontent.com/lenneTech/nuxt-base-components/main/components/${file.name}`;
303
+ return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
304
+ try {
305
+ const config = yield getConfigForBlock(file.name, toolbox);
306
+ if (config) {
307
+ yield processConfig(config, toolbox);
308
+ }
309
+ const compSpinner = print.spin(`Load component ${file.name} from GitHub...`);
310
+ const response = yield axios_1.default.get(apiUrl);
311
+ compSpinner.succeed(`Component ${file.name} successfully loaded from GitHub`);
312
+ if (response.status === 200) {
313
+ const sourceCode = response.data;
314
+ const cwd = process.cwd();
315
+ let targetDirectory;
316
+ if (fs.existsSync(path.resolve(cwd, 'components'))) {
317
+ targetDirectory = path.resolve(cwd, 'components');
318
+ }
319
+ else {
320
+ const directories = glob.sync('*/components', { cwd });
321
+ if (directories.length > 0) {
322
+ targetDirectory = path.join(cwd, directories[0]);
323
+ }
324
+ else {
325
+ targetDirectory = cwd;
326
+ }
327
+ }
328
+ const targetPath = path.join(targetDirectory, `${file.name}`);
329
+ if (fs.existsSync(targetPath)) {
330
+ print.info(`The component ${file.name} already exists`);
331
+ resolve(targetPath);
332
+ return;
333
+ }
334
+ if (!fs.existsSync(targetDirectory)) {
335
+ const targetDirSpinner = print.spin('Creating the target directory...');
336
+ fs.mkdirSync(targetDirectory, { recursive: true });
337
+ targetDirSpinner.succeed();
338
+ }
339
+ if (file.type === 'dir' || file.name.split('/').length > 1) {
340
+ const dirName = file.name.split('/')[0];
341
+ const dirPath = path.join(targetDirectory, dirName);
342
+ if (!fs.existsSync(dirPath)) {
343
+ fs.mkdirSync(dirPath, { recursive: true });
344
+ }
345
+ }
346
+ const spinner = print.spin(`Copy the component ${file.name} to ${targetPath}...`);
347
+ fs.writeFileSync(targetPath, sourceCode);
348
+ spinner.succeed(`The component ${file.name} was successfully copied to ${targetPath}`);
349
+ resolve(targetPath);
350
+ }
351
+ else {
352
+ print.error(`Error retrieving the file from GitHub: ${response.statusText}`);
353
+ reject(response.statusText);
354
+ }
355
+ }
356
+ catch (error) {
357
+ print.error(`Error when copying the component ${file.name}: ${error.message}`);
358
+ reject(error);
359
+ }
360
+ }));
361
+ });
362
+ }
363
+ exports.default = AddComponentCommand;
364
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbW1hbmRzL2Jsb2Nrcy9hZGQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQSxpQ0FBMEI7QUFDMUIseUJBQXlCO0FBQ3pCLDZCQUE2QjtBQUM3QixxQ0FBcUQ7QUFDckQsNkJBQTZCO0FBSTdCLE1BQU0sbUJBQW1CLEdBQW1CO0lBQzFDLFdBQVcsRUFBRSwrQ0FBK0M7SUFDNUQsSUFBSSxFQUFFLEtBQUs7SUFDWCxHQUFHLEVBQUUsQ0FBTyxPQUErQixFQUFFLEVBQUU7UUFDN0MsTUFBTSxFQUFFLFVBQVUsRUFBRSxHQUFHLE9BQU8sQ0FBQztRQUMvQixNQUFNLFNBQVMsR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDO1FBQ25DLE1BQU0sUUFBUSxDQUFDLE9BQU8sRUFBRSxTQUFTLENBQUMsQ0FBQztRQUNuQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDZixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUMsQ0FBQTtDQUNGLENBQUM7QUFFRixTQUFlLGlCQUFpQixDQUFDLFFBQWdCLEVBQUUsT0FBK0I7O1FBQ2hGLE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBRyxPQUFPLENBQUM7UUFDMUIsTUFBTSxhQUFhLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDO1FBRXJFLE1BQU0sSUFBSSxHQUFHLE1BQU0sU0FBUyxFQUFFLENBQUM7UUFDL0IsTUFBTSxJQUFJLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3hELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFcEMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxj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
@@ -10,16 +10,16 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  /**
13
- * Angular commands
13
+ * Blocks commands
14
14
  */
15
15
  module.exports = {
16
- alias: ['a'],
17
- description: 'Angular commands',
16
+ alias: ['n'],
17
+ description: 'Base blocks for Nuxt',
18
18
  hidden: true,
19
- name: 'angular',
19
+ name: 'blocks',
20
20
  run: (toolbox) => __awaiter(void 0, void 0, void 0, function* () {
21
- yield toolbox.helper.showMenu('angular');
22
- return 'angular';
21
+ yield toolbox.helper.showMenu('blocks');
22
+ return 'blocks';
23
23
  }),
24
24
  };
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21tYW5kcy9hbmd1bGFyL2FuZ3VsYXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFFQTs7R0FFRztBQUNILE1BQU0sQ0FBQyxPQUFPLEdBQUc7SUFDZixLQUFLLEVBQUUsQ0FBQyxHQUFHLENBQUM7SUFDWixXQUFXLEVBQUUsa0JBQWtCO0lBQy9CLE1BQU0sRUFBRSxJQUFJO0lBQ1osSUFBSSxFQUFFLFNBQVM7SUFDZixHQUFHLEVBQUUsQ0FBTyxPQUErQixFQUFFLEVBQUU7UUFDN0MsTUFBTSxPQUFPLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN6QyxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDLENBQUE7Q0FDRixDQUFDIn0=
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxvY2tzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbW1hbmRzL2Jsb2Nrcy9ibG9ja3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFFQTs7R0FFRztBQUNILE1BQU0sQ0FBQyxPQUFPLEdBQUc7SUFDYixLQUFLLEVBQUUsQ0FBQyxHQUFHLENBQUM7SUFDWixXQUFXLEVBQUUsc0JBQXNCO0lBQ25DLE1BQU0sRUFBRSxJQUFJO0lBQ1osSUFBSSxFQUFFLFFBQVE7SUFDZCxHQUFHLEVBQUUsQ0FBTyxPQUErQixFQUFFLEVBQUU7UUFDM0MsTUFBTSxPQUFPLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN4QyxPQUFPLFFBQVEsQ0FBQztJQUNwQixDQUFDLENBQUE7Q0FDSixDQUFDIn0=
@@ -252,7 +252,7 @@ function copyComponent(file, toolbox) {
252
252
  fs.mkdirSync(targetDirectory, { recursive: true });
253
253
  targetDirSpinner.succeed();
254
254
  }
255
- if (file.type === 'dir') {
255
+ if (file.type === 'dir' || file.name.split('/').length > 1) {
256
256
  const dirName = file.name.split('/')[0];
257
257
  const dirPath = path.join(targetDirectory, dirName);
258
258
  if (!fs.existsSync(dirPath)) {
@@ -277,4 +277,4 @@ function copyComponent(file, toolbox) {
277
277
  });
278
278
  }
279
279
  exports.default = AddComponentCommand;
280
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbW1hbmRzL2NvbXBvbmVudHMvYWRkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUEsaUNBQTBCO0FBQzFCLHlCQUF5QjtBQUN6Qiw2QkFBNkI7QUFDN0IscUNBQXFEO0FBQ3JELDZCQUE2QjtBQUk3QixNQUFNLG1CQUFtQixHQUFtQjtJQUMxQyxXQUFXLEVBQUUsbURBQW1EO0lBQ2hFLElBQUksRUFBRSxLQUFLO0lBQ1gsR0FBRyxFQUFFLENBQU8sT0FBK0IsRUFBRSxFQUFFO1FBQzdDLE1BQU0sRUFBRSxVQUFVLEVBQUUsR0FBRyxPQUFPLENBQUM7UUFDL0IsTUFBTSxhQUFhLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQztRQUN2QyxNQUFNLFlBQVksQ0FBQyxPQUFPLEVBQUUsYUFBYSxDQUFDLENBQUM7UUFDM0MsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2YsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDLENBQUE7Q0FDRixDQUFDO0FBRUYsU0FBZSxxQkFBcUIsQ0FBQyxRQUFnQixFQUFFLE9BQStCOztRQUNwRixNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsT0FBTyxDQUFDO1FBQzFCLE1BQU0sYUFBYSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsc0NBQXNDLENBQUMsQ0FBQztRQUV6RSxNQUFNLElBQUksR0FBRyxNQUFNLFNBQVMsRUFBRSxDQUFDO1FBQy9CLE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN4RCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRXBDLGFBQWEsQ0FBQyxPQUFPLENB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
280
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbW1hbmRzL2NvbXBvbmVudHMvYWRkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUEsaUNBQTBCO0FBQzFCLHlCQUF5QjtBQUN6Qiw2QkFBNkI7QUFDN0IscUNBQXFEO0FBQ3JELDZCQUE2QjtBQUk3QixNQUFNLG1CQUFtQixHQUFtQjtJQUMxQyxXQUFXLEVBQUUsbURBQW1EO0lBQ2hFLElBQUksRUFBRSxLQUFLO0lBQ1gsR0FBRyxFQUFFLENBQU8sT0FBK0IsRUFBRSxFQUFFO1FBQzdDLE1BQU0sRUFBRSxVQUFVLEVBQUUsR0FBRyxPQUFPLENBQUM7UUFDL0IsTUFBTSxhQUFhLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQztRQUN2QyxNQUFNLFlBQVksQ0FBQyxPQUFPLEVBQUUsYUFBYSxDQUFDLENBQUM7UUFDM0MsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2YsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDLENBQUE7Q0FDRixDQUFDO0FBRUYsU0FBZSxxQkFBcUIsQ0FBQyxRQUFnQixFQUFFLE9BQStCOztRQUNwRixNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsT0FBTyxDQUFDO1FBQzFCLE1BQU0sYUFBYSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsc0NBQXNDLENBQUMsQ0FBQztRQUV6RSxNQUFNLElBQUksR0FBRyxNQUFNLFNBQVMsRUFBRSxDQUFDO1FBQy9CLE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN4RCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRXBDLGFBQWEsQ0FBQyxPQUFPLENB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
@@ -0,0 +1,114 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ /**
13
+ * Create a new Angular workspace
14
+ */
15
+ const NewCommand = {
16
+ alias: ['a'],
17
+ description: 'Creates a new Angular workspace',
18
+ hidden: false,
19
+ name: 'angular',
20
+ run: (toolbox) => __awaiter(void 0, void 0, void 0, function* () {
21
+ var _a;
22
+ // Retrieve the tools we need
23
+ const { filesystem, git, helper, parameters, patching, print: { error, info, spin, success }, prompt: { confirm }, strings: { kebabCase }, system, } = toolbox;
24
+ // Start timer
25
+ const timer = system.startTimer();
26
+ // Info
27
+ info('Create a new Angular workspace');
28
+ // Check git
29
+ if (!(yield git.gitInstalled())) {
30
+ return;
31
+ }
32
+ // Get name of the workspace
33
+ const name = yield helper.getInput(parameters.first, {
34
+ name: 'workspace name',
35
+ showError: true,
36
+ });
37
+ if (!name) {
38
+ return;
39
+ }
40
+ // Set project directory
41
+ const projectDir = kebabCase(name);
42
+ // Check if directory already exists
43
+ if (filesystem.exists(projectDir)) {
44
+ info('');
45
+ error(`There's already a folder named "${projectDir}" here.`);
46
+ return undefined;
47
+ }
48
+ // Localize
49
+ const localize = ((_a = parameters.second) === null || _a === void 0 ? void 0 : _a.toLowerCase().includes('localize'))
50
+ || (!parameters.second && (yield confirm('Init localize for Angular?', true)));
51
+ const gitLink = (yield helper.getInput(null, {
52
+ name: 'Provide the URL of an empty repository (e.g., git@example.com:group/project.git, or leave empty to skip linking)',
53
+ showError: false,
54
+ })).trim();
55
+ const workspaceSpinner = spin(`Creating angular workspace ${projectDir}...`);
56
+ // Clone monorepo
57
+ yield system.run(`git clone https://github.com/lenneTech/ng-base-starter ${projectDir}`);
58
+ // Check for directory
59
+ if (!filesystem.isDirectory(`./${projectDir}`)) {
60
+ error(`The directory '${projectDir}' was not created.`);
61
+ return undefined;
62
+ }
63
+ // Remove git folder after clone
64
+ filesystem.remove(`${projectDir}/.git`);
65
+ // Install packages
66
+ yield system.run(`cd ${projectDir} && npm i`);
67
+ // Check if git init is active
68
+ const gitSpinner = spin('Initializing git...');
69
+ yield system.run(`cd ${projectDir} && git init --initial-branch=main`);
70
+ gitSpinner.succeed('Successfully initialized Git');
71
+ if (gitLink) {
72
+ yield system.run(`cd ${projectDir} && git remote add origin ${gitLink}`);
73
+ yield system.run(`cd ${projectDir} && git add .`);
74
+ yield system.run(`cd ${projectDir} && git commit -m "Initial commit"`);
75
+ yield system.run(`cd ${projectDir} && git push -u origin main`);
76
+ }
77
+ workspaceSpinner.succeed(`Workspace ${projectDir} created`);
78
+ if (filesystem.isDirectory(`./${projectDir}`)) {
79
+ // Remove husky from app project
80
+ filesystem.remove(`${projectDir}/.husky`);
81
+ yield patching.update(`${projectDir}/package.json`, (data) => {
82
+ delete data.scripts.prepare;
83
+ delete data.devDependencies.husky;
84
+ return data;
85
+ });
86
+ if (localize) {
87
+ const localizeSpinner = spin('Adding localization for Angular...');
88
+ yield system.run(`cd ${projectDir} && ng add @angular/localize --skip-confirmation`);
89
+ localizeSpinner.succeed('Added localization for Angular');
90
+ }
91
+ // Install all packages
92
+ const installSpinner = spin('Install all packages');
93
+ yield system.run(`cd ${projectDir} && npm run init`);
94
+ installSpinner.succeed('Successfully installed all packages');
95
+ // We're done, so show what to do next
96
+ info('');
97
+ success(`Generated Angular workspace ${projectDir} in ${helper.msToMinutesAndSeconds(timer())}m.`);
98
+ info('');
99
+ info('Next:');
100
+ info(` Test and run ${name}:`);
101
+ info(` $ cd ${projectDir}`);
102
+ info(' $ npm run test');
103
+ info(' $ npm run start');
104
+ info('');
105
+ if (!toolbox.parameters.options.fromGluegunMenu) {
106
+ process.exit();
107
+ }
108
+ // For tests
109
+ return `new workspace ${projectDir} with ${name}`;
110
+ }
111
+ }),
112
+ };
113
+ exports.default = NewCommand;
114
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21tYW5kcy9mcm9udGVuZC9hbmd1bGFyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBSUE7O0dBRUc7QUFDSCxNQUFNLFVBQVUsR0FBbUI7SUFDakMsS0FBSyxFQUFFLENBQUMsR0FBRyxDQUFDO0lBQ1osV0FBVyxFQUFFLGlDQUFpQztJQUM5QyxNQUFNLEVBQUUsS0FBSztJQUNiLElBQUksRUFBRSxTQUFTO0lBQ2YsR0FBRyxFQUFFLENBQU8sT0FBK0IsRUFBRSxFQUFFOztRQUM3Qyw2QkFBNkI7UUFDN0IsTUFBTSxFQUNKLFVBQVUsRUFDVixHQUFHLEVBQ0gsTUFBTSxFQUNOLFVBQVUsRUFDVixRQUFRLEVBQ1IsS0FBSyxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLEVBQ3JDLE1BQU0sRUFBRSxFQUFFLE9BQU8sRUFBRSxFQUNuQixPQUFPLEVBQUUsRUFBRSxTQUFTLEVBQUUsRUFDdEIsTUFBTSxHQUNQLEdBQUcsT0FBTyxDQUFDO1FBRVosY0FBYztRQUNkLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUVsQyxPQUFPO1FBQ1AsSUFBSSxDQUFDLGdDQUFnQyxDQUFDLENBQUM7UUFFdkMsWUFBWTtRQUNaLElBQUksQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUNoQyxPQUFPO1FBQ1QsQ0FBQztRQUVELDRCQUE0QjtRQUM1QixNQUFNLElBQUksR0FBRyxNQUFNLE1BQU0sQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRTtZQUNuRCxJQUFJLEVBQUUsZ0JBQWdCO1lBQ3RCLFNBQVMsRUFBRSxJQUFJO1NBQ2hCLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNWLE9BQU87UUFD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
@@ -0,0 +1,25 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ /**
13
+ * Frontend commands
14
+ */
15
+ module.exports = {
16
+ alias: ['f'],
17
+ description: 'Frontend commands',
18
+ hidden: true,
19
+ name: 'frontend',
20
+ run: (toolbox) => __awaiter(void 0, void 0, void 0, function* () {
21
+ yield toolbox.helper.showMenu('frontend');
22
+ return 'frontend';
23
+ }),
24
+ };
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJvbnRlbmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tbWFuZHMvZnJvbnRlbmQvZnJvbnRlbmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFFQTs7R0FFRztBQUNILE1BQU0sQ0FBQyxPQUFPLEdBQUc7SUFDZixLQUFLLEVBQUUsQ0FBQyxHQUFHLENBQUM7SUFDWixXQUFXLEVBQUUsbUJBQW1CO0lBQ2hDLE1BQU0sRUFBRSxJQUFJO0lBQ1osSUFBSSxFQUFFLFVBQVU7SUFDaEIsR0FBRyxFQUFFLENBQU8sT0FBK0IsRUFBRSxFQUFFO1FBQzdDLE1BQU0sT0FBTyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDMUMsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQyxDQUFBO0NBQ0YsQ0FBQyJ9
@@ -0,0 +1,40 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ /**
13
+ * Create a new nuxt workspace
14
+ */
15
+ const NewCommand = {
16
+ alias: ['n'],
17
+ description: 'Creates a new nuxt workspace',
18
+ hidden: false,
19
+ name: 'nuxt',
20
+ run: (toolbox) => __awaiter(void 0, void 0, void 0, function* () {
21
+ // Retrieve the tools we need
22
+ const { helper, print: { spin }, prompt: { ask }, strings: { kebabCase }, system, } = toolbox;
23
+ const projName = (yield ask({
24
+ message: 'What is the project\'s name?',
25
+ name: 'projectName',
26
+ required: true,
27
+ type: 'input',
28
+ })).projectName;
29
+ // Start timer
30
+ const timer = system.startTimer();
31
+ const baseSpinner = spin(`Creating nuxt-base with name '${kebabCase(projName)}'`);
32
+ yield system.run(`npx create-nuxt-base '${kebabCase(projName)}'`);
33
+ baseSpinner.succeed(`Successfully created nuxt workspace with name '${kebabCase(projName)}' in ${helper.msToMinutesAndSeconds(timer())}m.`);
34
+ if (!toolbox.parameters.options.fromGluegunMenu) {
35
+ process.exit();
36
+ }
37
+ }),
38
+ };
39
+ exports.default = NewCommand;
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21tYW5kcy9mcm9udGVuZC9udXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBSUE7O0dBRUc7QUFDSCxNQUFNLFVBQVUsR0FBbUI7SUFDakMsS0FBSyxFQUFFLENBQUMsR0FBRyxDQUFDO0lBQ1osV0FBVyxFQUFFLDhCQUE4QjtJQUMzQyxNQUFNLEVBQUUsS0FBSztJQUNiLElBQUksRUFBRSxNQUFNO0lBQ1osR0FBRyxFQUFFLENBQU8sT0FBK0IsRUFBRSxFQUFFO1FBQzdDLDZCQUE2QjtRQUM3QixNQUFNLEVBQ0osTUFBTSxFQUNOLEtBQUssRUFBRSxFQUFFLElBQUksRUFBRSxFQUNmLE1BQU0sRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUNmLE9BQU8sRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUN0QixNQUFNLEdBQ1AsR0FBRyxPQUFPLENBQUM7UUFHWixNQUFNLFFBQVEsR0FBRyxDQUNmLE1BQU0sR0FBRyxDQUFDO1lBQ1IsT0FBTyxFQUFFLDhCQUE4QjtZQUN2QyxJQUFJLEVBQUUsYUFBYTtZQUNuQixRQUFRLEVBQUUsSUFBSTtZQUNkLElBQUksRUFBRSxPQUFPO1NBQ2QsQ0FBQyxDQUNILENBQUMsV0FBVyxDQUFDO1FBRWQsY0FBYztRQUNkLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUVsQyxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsaUNBQWlDLFNBQVMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFbEYsTUFBTSxNQUFNLENBQUMsR0FBRyxDQUFDLHlCQUF5QixTQUFTLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBR2xFLFdBQVcsQ0FBQyxPQUFPLENBQUMsa0RBQWtELFNBQVMsQ0FBQyxRQUFRLENBQUMsUUFBUSxNQUFNLENBQUMscUJBQXFCLENBQzNILEtBQUssRUFBRSxDQUNSLElBQUksQ0FBQyxDQUFDO1FBRVAsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ2hELE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNqQixDQUFDO0lBRUgsQ0FBQyxDQUFBO0NBQ0YsQ0FBQztBQUVGLGtCQUFlLFVBQVUsQ0FBQyJ9
@@ -87,7 +87,7 @@ const NewCommand = {
87
87
  // Include example app
88
88
  const ngBaseSpinner = spin(`Integrate example for ${frontend}`);
89
89
  // Remove git folder after clone
90
- yield system.run(`cd ${projectDir} && rm -rf .git`);
90
+ filesystem.remove(`${projectDir}/.git`);
91
91
  // Check if git init is active
92
92
  if (addToGit) {
93
93
  yield system.run(`cd ${projectDir} && git init --initial-branch=dev`);
@@ -105,9 +105,9 @@ const NewCommand = {
105
105
  yield system.run(`cd ${projectDir}/projects && create-nuxt-base app`);
106
106
  }
107
107
  // Remove gitkeep file
108
- yield system.run(`cd ${projectDir}/projects && rm .gitkeep`);
108
+ filesystem.remove(`${projectDir}/projects/.gitkeep`);
109
109
  // Remove git folder after clone
110
- yield system.run(`cd ${projectDir}/projects/app && rm -rf .git`);
110
+ filesystem.remove(`${projectDir}/projects/app/.git`);
111
111
  // Integrate files
112
112
  if (filesystem.isDirectory(`./${projectDir}/projects/app`)) {
113
113
  // Check if git init is active
@@ -125,7 +125,7 @@ const NewCommand = {
125
125
  // Integrate files
126
126
  if (filesystem.isDirectory(`./${projectDir}/projects/api`)) {
127
127
  // Remove git folder from clone
128
- yield system.run(`cd ${projectDir}/projects/api && rm -rf .git`);
128
+ filesystem.remove(`${projectDir}/projects/api/.git`);
129
129
  // Prepare meta.json in api
130
130
  filesystem.write(`./${projectDir}/projects/api/src/meta.json`, {
131
131
  description: `API for ${name} app`,
@@ -166,4 +166,4 @@ const NewCommand = {
166
166
  }),
167
167
  };
168
168
  exports.default = NewCommand;
169
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5pdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21tYW5kcy9mdWxsc3RhY2svaW5pdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBLHFDQUFtRDtBQUtuRDs7R0FFRztBQUNILE1BQU0sVUFBVSxHQUFtQjtJQUNqQyxLQUFLLEVBQUUsQ0FBQyxNQUFNLENBQUM7SUFDZixXQUFXLEVBQUUsbUNBQW1DO0lBQ2hELE1BQU0sRUFBRSxLQUFLO0lBQ2IsSUFBSSxFQUFFLE1BQU07SUFDWixHQUFHLEVBQUUsQ0FBTyxPQUErQixFQUFFLEVBQUU7UUFDN0MsNkJBQTZCO1FBQzdCLE1BQU0sRUFDSixVQUFVLEVBQ1YsR0FBRyxFQUNILE1BQU0sRUFDTixVQUFVLEVBQ1YsS0FBSyxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLEVBQ3JDLE1BQU0sRUFBRSxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUUsRUFDeEIsTUFBTSxFQUNOLE9BQU8sRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUN0QixNQUFNLEdBQ1AsR0FBRyxPQUFPLENBQUM7UUFFWixjQUFjO1FBQ2QsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBRWxDLE9BQU87UUFDUCxJQUFJLENBQUMsa0NBQWtDLENBQUMsQ0FBQztRQUV6QyxZQUFZO1FBQ1osSUFBSSxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUMsRUFBRSxDQUFDO1lBQ2hDLE9BQU87UUFDVCxDQUFDO1FBRUQsNEJBQTRCO1FBQzVCLE1BQU0sSUFBSSxHQUFHLE1BQU0sTUFBTSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFO1lBQ25ELElBQUksRUFBRSxnQkFBZ0I7WUFDdEIsU0FBUyxFQUFFLElBQUk7U0FDaEIsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLElBQUksRUFBRSxD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
169
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5pdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21tYW5kcy9mdWxsc3RhY2svaW5pdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBLHFDQUFtRDtBQUtuRDs7R0FFRztBQUNILE1BQU0sVUFBVSxHQUFtQjtJQUNqQyxLQUFLLEVBQUUsQ0FBQyxNQUFNLENBQUM7SUFDZixXQUFXLEVBQUUsbUNBQW1DO0lBQ2hELE1BQU0sRUFBRSxLQUFLO0lBQ2IsSUFBSSxFQUFFLE1BQU07SUFDWixHQUFHLEVBQUUsQ0FBTyxPQUErQixFQUFFLEVBQUU7UUFDN0MsNkJBQTZCO1FBQzdCLE1BQU0sRUFDSixVQUFVLEVBQ1YsR0FBRyxFQUNILE1BQU0sRUFDTixVQUFVLEVBQ1YsS0FBSyxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLEVBQ3JDLE1BQU0sRUFBRSxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUUsRUFDeEIsTUFBTSxFQUNOLE9BQU8sRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUN0QixNQUFNLEdBQ1AsR0FBRyxPQUFPLENBQUM7UUFFWixjQUFjO1FBQ2QsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBRWxDLE9BQU87UUFDUCxJQUFJLENBQUMsa0NBQWtDLENBQUMsQ0FBQztRQUV6QyxZQUFZO1FBQ1osSUFBSSxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUMsRUFBRSxDQUFDO1lBQ2hDLE9BQU87UUFDVCxDQUFDO1FBRUQsNEJBQTRCO1FBQzVCLE1BQU0sSUFBSSxHQUFHLE1BQU0sTUFBTSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFO1lBQ25ELElBQUksRUFBRSxnQkFBZ0I7WUFDdEIsU0FBUyxFQUFFLElBQUk7U0FDaEIsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLElBQUksRUFBRSxD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
@@ -9,6 +9,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
9
  });
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
+ const gluegun_1 = require("gluegun");
12
13
  /**
13
14
  * Removed local merged branches
14
15
  */
@@ -49,13 +50,28 @@ const NewCommand = {
49
50
  // Start timer
50
51
  const timer = startTimer();
51
52
  // Reset soft
52
- const undoSpinner = spin('Start cleaning');
53
+ const undoSpinner = spin('Start cleaning\n');
53
54
  const resultFetch = yield run('git fetch -p');
54
55
  info(resultFetch);
55
56
  const resultpull = yield run('git pull');
56
57
  info(resultpull);
57
- const resultDelete = yield run('git branch --merged | egrep -v "(^\\*|main|dev|develop|beta|intern|release)" | xargs git branch -d');
58
- info(resultDelete);
58
+ const result = yield gluegun_1.system.run('git branch --merged');
59
+ const excludedBranches = ['main', 'dev', 'develop', 'beta', 'intern', 'release'];
60
+ // Local Branches into Array
61
+ const branches = result
62
+ .split('\n')
63
+ .map(branch => branch.trim().replace(/^\* /, '')) // Remove '* '
64
+ .filter(branch => branch && !excludedBranches.includes(branch));
65
+ if (branches.length === 0) {
66
+ info('No branches to delete.');
67
+ return;
68
+ }
69
+ info(`Deleting branches: ${branches.join(', ')}`);
70
+ // Delete branches
71
+ for (const branch of branches) {
72
+ yield gluegun_1.system.run(`git branch -d ${branch}`);
73
+ success(`Deleted branch: ${branch}`);
74
+ }
59
75
  undoSpinner.succeed();
60
76
  // Success
61
77
  success(`Successfull cleaned in ${helper.msToMinutesAndSeconds(timer())}m.`);
@@ -65,4 +81,4 @@ const NewCommand = {
65
81
  }),
66
82
  };
67
83
  exports.default = NewCommand;
68
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xlYW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tbWFuZHMvZ2l0L2NsZWFuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBSUE7O0dBRUc7QUFDSCxNQUFNLFVBQVUsR0FBbUI7SUFDakMsS0FBSyxFQUFFLENBQUMsSUFBSSxDQUFDO0lBQ2IsV0FBVyxFQUFFLCtCQUErQjtJQUM1QyxNQUFNLEVBQUUsS0FBSztJQUNiLElBQUksRUFBRSxPQUFPO0lBQ2IsR0FBRyxFQUFFLENBQU8sT0FBK0IsRUFBRSxFQUFFO1FBQzdDLDZCQUE2QjtRQUM3QixNQUFNLEVBQ0osR0FBRyxFQUNILE1BQU0sRUFDTixLQUFLLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxFQUM5QixNQUFNLEVBQUUsRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFFLEdBQzVCLEdBQUcsT0FBTyxDQUFDO1FBRVosWUFBWTtRQUNaLElBQUksQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUNoQyxPQUFPO1FBQ1QsQ0FBQztRQUVELHFCQUFxQjtRQUNyQixNQUFNLGFBQWEsR0FBRyxNQUFNLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUVoRCxJQUFJLE1BQU0sQ0FBQztRQUNYLElBQUksYUFBYSxLQUFLLEtBQUssSUFBSSxhQUFhLEtBQUssTUFBTSxFQUFFLENBQUM7WUFDeEQsZ0RBQWdEO1lBQ2hELE1BQU0sR0FBRyxNQUFNLEdBQUcsQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFO2dCQUNsQyxLQUFLLEVBQUUsS0FBSztnQkFDWixLQUFLLEVBQUUsS0FBSztnQkFDWixNQUFNLEVBQUUsS0FBSztnQkFDYixJQUFJLEVBQUUsSUFBSTthQUNYLENBQUMsQ0FBQztZQUVILElBQUksTUFBTSxLQUFLLEtBQUssRUFBRSxDQUFDO2dCQUNyQixNQUFNLEdBQUcsTUFBTSxHQUFHLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRTtvQkFDbkMsS0FBSyxFQUFFLElBQUk7b0JBQ1gsS0FBSyxFQUFFLEtBQUs7b0JBQ1osTUFBTSxFQUFFLEtBQUs7b0JBQ2IsSUFBSSxFQUFFLElBQUk7aUJBQ1gsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztZQUVELE1BQU0sR0FBRyxDQUFDLGdCQUFnQixNQUFNLEVBQUUsQ0FBQyxDQUFDO1lBQ3BDLElBQUksQ0FBQyxxQkFBcUIsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUN0QyxDQUFDO1FBRUQsY0FBYztRQUNkLE1BQU0sS0FBSyxHQUFHLFVBQVUsRUFBRSxDQUFDO1FBRTNCLGFBQWE7UUFDYixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUUzQyxNQUFNLFdBQVcsR0FBRyxNQUFNLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUM5QyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFbEIsTUFBTSxVQUFVLEdBQUcsTUFBTSxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDekMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRWpCLE1BQU0sWUFBWSxHQUFHLE1BQU0sR0FBRyxDQUM1QixvR0FBb0csQ0FDckcsQ0FBQztRQUNGLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUVuQixXQUFXLENBQUMsT0FBTyxFQUFFLENBQUM7UUFFdEIsVUFBVTtRQUNWLE9BQU8sQ0FBQywwQkFBMEIsTUFBTSxDQUFDLHFCQUFxQixDQUFDLEtBQUssRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzdFLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUVULFlBQVk7UUFDWixPQUFPLGVBQWUsQ0FBQztJQUN6QixDQUFDLENBQUE7Q0FDRixDQUFDO0FBRUYsa0JBQWUsVUFBVSxDQUFDIn0=
84
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xlYW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tbWFuZHMvZ2l0L2NsZWFuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUEscUNBQWlEO0FBSWpEOztHQUVHO0FBQ0gsTUFBTSxVQUFVLEdBQW1CO0lBQ2pDLEtBQUssRUFBRSxDQUFDLElBQUksQ0FBQztJQUNiLFdBQVcsRUFBRSwrQkFBK0I7SUFDNUMsTUFBTSxFQUFFLEtBQUs7SUFDYixJQUFJLEVBQUUsT0FBTztJQUNiLEdBQUcsRUFBRSxDQUFPLE9BQStCLEVBQUUsRUFBRTtRQUM3Qyw2QkFBNkI7UUFDN0IsTUFBTSxFQUNKLEdBQUcsRUFDSCxNQUFNLEVBQ04sS0FBSyxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsRUFDOUIsTUFBTSxFQUFFLEVBQUUsR0FBRyxFQUFFLFVBQVUsRUFBRSxHQUM1QixHQUFHLE9BQU8sQ0FBQztRQUVaLFlBQVk7UUFDWixJQUFJLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxFQUFFLENBQUM7WUFDaEMsT0FBTztRQUNULENBQUM7UUFFRCxxQkFBcUI7UUFDckIsTUFBTSxhQUFhLEdBQUcsTUFBTSxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7UUFFaEQsSUFBSSxNQUFNLENBQUM7UUFDWCxJQUFJLGFBQWEsS0FBSyxLQUFLLElBQUksYUFBYSxLQUFLLE1BQU0sRUFBRSxDQUFDO1lBQ3hELGdEQUFnRDtZQUNoRCxNQUFNLEdBQUcsTUFBTSxHQUFHLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRTtnQkFDbEMsS0FBSyxFQUFFLEtBQUs7Z0JBQ1osS0FBSyxFQUFFLEtBQUs7Z0JBQ1osTUFBTSxFQUFFLEtBQUs7Z0JBQ2IsSUFBSSxFQUFFLElBQUk7YUFDWCxDQUFDLENBQUM7WUFFSCxJQUFJLE1BQU0sS0FBSyxLQUFLLEVBQUUsQ0FBQztnQkFDckIsTUFB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
@@ -118,7 +118,7 @@ class Git {
118
118
  // Get branches
119
119
  const branches = yield system.run('git fetch && git show-branch --list');
120
120
  branches.split('\n').forEach((item) => {
121
- const matches = item.match(/\[(.*?)\]/);
121
+ const matches = item.match(/\[(.*?)]/);
122
122
  if (matches) {
123
123
  result.push(matches[1]);
124
124
  }
@@ -150,10 +150,20 @@ class Git {
150
150
  }
151
151
  // Toolbox features
152
152
  const { helper: { trim }, system: { run }, } = this.toolbox;
153
- const message = yield run(`git log ${baseBranch}..${branch} --oneline | tail -1`);
154
- const splitted = message.split(' ');
155
- splitted.shift();
156
- return trim(splitted.join(' '));
153
+ try {
154
+ const logCommand = `git log ${baseBranch}..${branch} --oneline`;
155
+ const output = yield run(logCommand);
156
+ if (!output) {
157
+ throw new Error('No commits found');
158
+ }
159
+ const commits = output.split('\n').filter(line => line.trim());
160
+ const firstCommit = commits[commits.length - 1];
161
+ const messageStart = firstCommit.indexOf(' ');
162
+ return trim(firstCommit.slice(messageStart + 1));
163
+ }
164
+ catch (error) {
165
+ throw new Error(`Failed to get first commit message: ${error.message}`);
166
+ }
157
167
  });
158
168
  }
159
169
  /**
@@ -215,14 +225,18 @@ class Git {
215
225
  spinText: 'Search branch',
216
226
  }, options);
217
227
  // Toolbox features
218
- const { helper: { trim }, print: { error, spin }, system, } = this.toolbox;
228
+ const { helper: { trim }, print: { error, info, spin }, system, } = this.toolbox;
219
229
  // Prepare spinner
220
230
  let searchSpin;
221
231
  if (opts.spin) {
222
232
  searchSpin = spin(opts.spinText);
223
233
  }
224
234
  // Update infos
225
- yield system.run('git fetch');
235
+ const fetch = yield system.run('git fetch');
236
+ if (fetch.length && !fetch.startsWith('remote')) {
237
+ info(`Could not update infos ${fetch.length}`);
238
+ process.exit(1);
239
+ }
226
240
  // Search branch
227
241
  if (opts.exact) {
228
242
  if (opts.remote) {
@@ -240,10 +254,12 @@ class Git {
240
254
  }
241
255
  }
242
256
  else {
243
- branch = (yield system.run(`git branch -a | grep ${branch} | cut -c 3- | head -1`))
244
- .replace(/\r?\n|\r/g, '') // remove line breaks
245
- .replace(/^.*origin\//, '') // remove remote path
246
- .replace(/^.*github\//, '') // remove remote path
257
+ branch = (yield system.run('git branch -a'))
258
+ .split(/\r?\n/)
259
+ .map(line => line.trim())
260
+ .find(line => line.includes(branch))
261
+ .replace(/^.*origin\//, '')
262
+ .replace(/^.*github\//, '')
247
263
  .trim();
248
264
  }
249
265
  if (!branch) {
@@ -361,4 +377,4 @@ exports.Git = Git;
361
377
  exports.default = (toolbox) => {
362
378
  toolbox.git = new Git(toolbox);
363
379
  };
364
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2l0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2V4dGVuc2lvbnMvZ2l0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUVBOztHQUVHO0FBQ0gsTUFBYSxHQUFHO0lBQ2Q7O09BRUc7SUFDSCxZQUFzQixPQUErQjtRQUEvQixZQUFPLEdBQVAsT0FBTyxDQUF3QjtJQUFHLENBQUM7SUFFekQ7O09BRUc7SUFDVSxXQUFXOzZEQUFDLFVBQXlFLEVBQUU7WUFDbEcsa0JBQWtCO1lBQ2xCLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQ3hCO2dCQUNFLFlBQVksRUFBRSxpQ0FBaUM7Z0JBQy9DLFNBQVMsRUFBRSxLQUFLO2dCQUNoQixJQUFJLEVBQUUsMkJBQTJCO2FBQ2xDLEVBQ0QsT0FBTyxDQUNSLENBQUM7WUFFRixtQkFBbUI7WUFDbkIsTUFBTSxFQUNKLEtBQUssRUFBRSxFQUFFLEtBQUssRUFBRSxFQUNoQixNQUFNLEVBQ04sTUFBTSxHQUNQLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztZQUVqQixrQ0FBa0M7WUFDbEMsTUFBTSxPQUFPLEdBQUcsTUFBTSxNQUFNLENBQUMsR0FBRyxDQUFDLHdCQUF3QixDQUFDLENBQUM7WUFDM0QsSUFBSSxPQUFPLEVBQUUsQ0FBQztnQkFDWixNQUFNLEtBQUssR0FBRyxNQUFNLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUM5QyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7b0JBQ1gsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7d0JBQ25CLEtBQUssQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7b0JBQzNCLENBQUM7b0JBQ0QsT0FBTyxLQUFLLENBQUM7Z0JBQ2YsQ0FBQztnQkFDRCxNQUFNLE1BQU0sQ0FBQyxHQUFHLENBQUMsbUNBQW1DLENBQUMsQ0FBQztZQUN4RCxDQUFDO1lBRUQsaUJB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
380
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2l0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2V4dGVuc2lvbnMvZ2l0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUVBOztHQUVHO0FBQ0gsTUFBYSxHQUFHO0lBQ2Q7O09BRUc7SUFDSCxZQUFzQixPQUErQjtRQUEvQixZQUFPLEdBQVAsT0FBTyxDQUF3QjtJQUFHLENBQUM7SUFFekQ7O09BRUc7SUFDVSxXQUFXOzZEQUFDLFVBQXlFLEVBQUU7WUFDbEcsa0JBQWtCO1lBQ2xCLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQ3hCO2dCQUNFLFlBQVksRUFBRSxpQ0FBaUM7Z0JBQy9DLFNBQVMsRUFBRSxLQUFLO2dCQUNoQixJQUFJLEVBQUUsMkJBQTJCO2FBQ2xDLEVBQ0QsT0FBTyxDQUNSLENBQUM7WUFFRixtQkFBbUI7WUFDbkIsTUFBTSxFQUNKLEtBQUssRUFBRSxFQUFFLEtBQUssRUFBRSxFQUNoQixNQUFNLEVBQ04sTUFBTSxHQUNQLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztZQUVqQixrQ0FBa0M7WUFDbEMsTUFBTSxPQUFPLEdBQUcsTUFBTSxNQUFNLENBQUMsR0FBRyxDQUFDLHdCQUF3QixDQUFDLENBQUM7WUFDM0QsSUFBSSxPQUFPLEVBQUUsQ0FBQztnQkFDWixNQUFNLEtBQUssR0FBRyxNQUFNLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUM5QyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7b0JBQ1gsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7d0JBQ25CLEtBQUssQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7b0JBQzNCLENBQUM7b0JBQ0QsT0FBTyxLQUFLLENBQUM7Z0JBQ2YsQ0FBQztnQkFDRCxNQUFNLE1BQU0sQ0FBQyxHQUFHLENBQUMsbUNBQW1DLENBQUMsQ0FBQztZQUN4RCxDQUFDO1lBRUQsaUJB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
@@ -299,7 +299,7 @@ class Server {
299
299
  properties: string[] = undefined;
300
300
 
301
301
  /**
302
- * User how has tested the ${this.pascalCase(modelName)}
302
+ * User who has tested the ${this.pascalCase(modelName)}
303
303
  */
304
304
  @Field(() => User, {
305
305
  description: 'User who has tested the ${this.pascalCase(modelName)}',
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lenne.tech/cli",
3
- "version": "0.0.113",
3
+ "version": "0.0.114",
4
4
  "description": "lenne.Tech CLI: lt",
5
5
  "keywords": [
6
6
  "lenne.Tech",
@@ -19,15 +19,15 @@
19
19
  },
20
20
  "scripts": {
21
21
  "build": "npm run lint && npm run test && npm run clean-build && npm run compile && npm run copy-templates",
22
- "clean-build": "rimraf ./build",
22
+ "clean-build": "npx rimraf ./build",
23
23
  "compile": "tsc -p .",
24
- "copy-templates": "cp -R ./src/templates ./build/templates",
24
+ "copy-templates": "npx shx cp -R ./src/templates ./build/templates",
25
25
  "coverage": "jest --coverage",
26
26
  "format": "prettier --write 'src/**/*.{js,ts,tsx,json}' '!src/templates/**/*'",
27
27
  "lint": "eslint \"{src,apps,libs,test}/**/*.ts\" --fix --cache",
28
28
  "prepublishOnly": "npm run build",
29
29
  "preversion": "npm run lint",
30
- "reinit": "rimraf package-lock.json && rimraf node_modules && npm cache clean --force && npm i && npm run build",
30
+ "reinit": "npx rimraf package-lock.json && npx rimraf node_modules && npm cache clean --force && npm i && npm run build",
31
31
  "snapupdate": "jest --updateSnapshot",
32
32
  "start": "node bin/lt",
33
33
  "start:build": "npm run build && node bin/lt --compiled-build",
@@ -66,7 +66,6 @@
66
66
  "@types/node": "20.16.10",
67
67
  "@typescript-eslint/eslint-plugin": "6.21.0",
68
68
  "@typescript-eslint/parser": "6.21.0",
69
- "cpy-cli": "5.0.0",
70
69
  "eslint": "8.57.1",
71
70
  "eslint-config-prettier": "9.1.0",
72
71
  "husky": "9.1.6",
@@ -1,195 +0,0 @@
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
- Object.defineProperty(exports, "__esModule", { value: true });
12
- const crypto = require("crypto");
13
- /**
14
- * Create a new server
15
- */
16
- const NewCommand = {
17
- alias: ['c'],
18
- description: 'Creates a new angular (fullstack) workspace',
19
- hidden: false,
20
- name: 'create',
21
- run: (toolbox) => __awaiter(void 0, void 0, void 0, function* () {
22
- var _a, _b;
23
- // Retrieve the tools we need
24
- const { filesystem, git, helper, parameters, patching, print: { error, info, spin, success }, prompt: { confirm }, strings: { camelCase, kebabCase, pascalCase }, system, template, } = toolbox;
25
- // Start timer
26
- const timer = system.startTimer();
27
- // Info
28
- info('Create a new Angular (fullstack) workspace');
29
- // Check git
30
- if (!(yield git.gitInstalled())) {
31
- return;
32
- }
33
- // Get name of the workspace
34
- const name = yield helper.getInput(parameters.first, {
35
- name: 'workspace name',
36
- showError: true,
37
- });
38
- if (!name) {
39
- return;
40
- }
41
- // Set project directory
42
- const projectDir = kebabCase(name);
43
- // Check if directory already exists
44
- if (filesystem.exists(projectDir)) {
45
- info('');
46
- error(`There's already a folder named "${projectDir}" here.`);
47
- return undefined;
48
- }
49
- // Localize
50
- const localize = ((_a = parameters.second) === null || _a === void 0 ? void 0 : _a.toLowerCase().includes('localize'))
51
- || (!parameters.second && (yield confirm('Init localize for Angular?', true)));
52
- // Nest-Server
53
- const nestServer = ((_b = parameters.second) === null || _b === void 0 ? void 0 : _b.toLowerCase().includes('nest'))
54
- || (!parameters.second && (yield confirm('Add API (Nest-Server)?', true)));
55
- const gitLink = (yield helper.getInput(null, {
56
- name: 'link to an empty repository (e.g. git@gitlab.lenne.tech:group/project.git or leave empty for no linking)',
57
- showError: false,
58
- })).trim();
59
- const workspaceSpinner = spin(`Create workspace ${projectDir} with ${name} app`);
60
- // Clone monorepo
61
- yield system.run(`git clone https://github.com/lenneTech/lt-monorepo.git ${projectDir}`);
62
- // Check for directory
63
- if (!filesystem.isDirectory(`./${projectDir}`)) {
64
- error(`The directory "${projectDir}" could not be created.`);
65
- return undefined;
66
- }
67
- // Remove git folder after clone
68
- yield system.run(`cd ${projectDir} && rm -rf .git`);
69
- // Set project name
70
- yield filesystem.write(`${projectDir}/lt.json`, JSON.stringify({ name }));
71
- yield patching.update(`${projectDir}/package.json`, (data) => {
72
- data.name = kebabCase(name);
73
- data.version = '0.0.0';
74
- return data;
75
- });
76
- // Set up initial props (to pass into templates)
77
- const nameCamel = camelCase(name);
78
- const nameKebab = kebabCase(name);
79
- const namePascal = pascalCase(name);
80
- // Install packages
81
- yield system.run(`cd ${projectDir} && npm i`);
82
- // Check if git init is active
83
- yield system.run(`cd ${projectDir} && git init --initial-branch=main`);
84
- if (gitLink) {
85
- yield system.run(`cd ${projectDir} && git remote add origin ${gitLink}`);
86
- yield system.run(`cd ${projectDir} && git add .`);
87
- yield system.run(`cd ${projectDir} && git commit -m "Initial commit"`);
88
- yield system.run(`cd ${projectDir} && git push -u origin main`);
89
- }
90
- workspaceSpinner.succeed(`Create workspace ${projectDir} for ${name} created`);
91
- // Include example app
92
- const ngBaseSpinner = spin('Integrate example for Angular');
93
- // Remove gitkeep file
94
- yield system.run(`cd ${projectDir}/projects && rm .gitkeep`);
95
- // Clone ng-base-starter
96
- yield system.run(`cd ${projectDir}/projects && git clone https://github.com/lenneTech/ng-base-starter.git app`);
97
- if (filesystem.isDirectory(`./${projectDir}/projects/app`)) {
98
- // Remove git folder after clone
99
- yield system.run(`cd ${projectDir}/projects/app && rm -rf .git`);
100
- // Remove husky from app project
101
- yield system.run(`rm -rf ${projectDir}/projects/app/.husky`);
102
- yield patching.update(`${projectDir}/projects/app/package.json`, (data) => {
103
- delete data.scripts.prepare;
104
- delete data.devDependencies.husky;
105
- return data;
106
- });
107
- if (localize) {
108
- yield system.run(`cd ${projectDir}/projects/app && ng add @angular/localize --skip-confirmation`);
109
- }
110
- // Commit changes
111
- yield system.run(`cd ${projectDir} && git add . && git commit -am "feat: Angular example integrated"`);
112
- // Check if git init is active
113
- if (gitLink) {
114
- `cd ${projectDir} && git push`;
115
- }
116
- // Angular example integration done
117
- ngBaseSpinner.succeed('Example for Angular integrated');
118
- // Include files from https://github.com/lenneTech/nest-server-starter
119
- if (nestServer) {
120
- // Init
121
- const serverSpinner = spin('Integrate Nest Server Starter');
122
- // Clone api
123
- yield system.run(`cd ${projectDir}/projects && git clone https://github.com/lenneTech/nest-server-starter api`);
124
- // Integrate files
125
- if (filesystem.isDirectory(`./${projectDir}/projects/api`)) {
126
- // Remove git folder from clone
127
- yield system.run(`cd ${projectDir}/projects/api && rm -rf .git`);
128
- // Remove husky from api project
129
- yield system.run(`rm -rf ${projectDir}/projects/api/.husky`);
130
- yield patching.update(`${projectDir}/projects/api/package.json`, (data) => {
131
- delete data.scripts.prepare;
132
- delete data.devDependencies.husky;
133
- return data;
134
- });
135
- // Prepare meta.json in api
136
- filesystem.write(`./${projectDir}/projects/api/src/meta.json`, {
137
- description: `API for ${name} app`,
138
- name: `${name}-api-server`,
139
- version: '0.0.0',
140
- });
141
- // Set configuration
142
- for (const env of ['LOCAL', 'DEV', 'TEST', 'PREV', 'PROD']) {
143
- yield patching.replace(`./${projectDir}/projects/api/src/config.env.ts`, `SECRET_OR_PRIVATE_KEY_${env}`, crypto.randomBytes(512).toString('base64'));
144
- yield patching.replace(`./${projectDir}/projects/api/src/config.env.ts`, `SECRET_OR_PRIVATE_KEY_${env}_REFRESH`, crypto.randomBytes(512).toString('base64'));
145
- }
146
- yield patching.update(`./${projectDir}/projects/api/src/config.env.ts`, data => data.replace(/nest-server-/g, `${projectDir}-`));
147
- // Set readme
148
- yield template.generate({
149
- props: { name, nameCamel, nameKebab, namePascal, repository: gitLink || 'REPOSITORY' },
150
- target: `./${projectDir}/README.md`,
151
- template: 'monorepro/README.md.ejs',
152
- });
153
- // Commit changes
154
- yield system.run(`cd ${projectDir} && git add . && git commit -am "feat: Nest Server Starter integrated"`);
155
- // Check if git init is active
156
- if (gitLink) {
157
- `cd ${projectDir} && git push`;
158
- }
159
- // Done
160
- serverSpinner.succeed('Nest Server Starter integrated');
161
- }
162
- else {
163
- serverSpinner.warn('Nest Server Starter not integrated');
164
- }
165
- }
166
- // Install all packages
167
- const installSpinner = spin('Install all packages');
168
- yield system.run(`cd ${projectDir} && npm run init`);
169
- // Commit changes
170
- yield system.run(`cd ${projectDir} && git add . && git commit -am "feat: Initialization of workspace done"`);
171
- // Check if git init is active
172
- if (gitLink) {
173
- `cd ${projectDir} && git push`;
174
- }
175
- installSpinner.succeed('Successfully installed all packages');
176
- // We're done, so show what to do next
177
- info('');
178
- success(`Generated workspace ${projectDir} with ${name} app in ${helper.msToMinutesAndSeconds(timer())}m.`);
179
- info('');
180
- info('Next:');
181
- info(` Test and run ${name}:`);
182
- info(` $ cd ${projectDir}`);
183
- info(' $ npm run test');
184
- info(' $ npm run start');
185
- info('');
186
- if (!toolbox.parameters.options.fromGluegunMenu) {
187
- process.exit();
188
- }
189
- // For tests
190
- return `new workspace ${projectDir} with ${name}`;
191
- }
192
- }),
193
- };
194
- exports.default = NewCommand;
195
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbW1hbmRzL2FuZ3VsYXIvY3JlYXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUEsaUNBQWlDO0FBS2pDOztHQUVHO0FBQ0gsTUFBTSxVQUFVLEdBQW1CO0lBQ2pDLEtBQUssRUFBRSxDQUFDLEdBQUcsQ0FBQztJQUNaLFdBQVcsRUFBRSw2Q0FBNkM7SUFDMUQsTUFBTSxFQUFFLEtBQUs7SUFDYixJQUFJLEVBQUUsUUFBUTtJQUNkLEdBQUcsRUFBRSxDQUFPLE9BQStCLEVBQUUsRUFBRTs7UUFDN0MsNkJBQTZCO1FBQzdCLE1BQU0sRUFDSixVQUFVLEVBQ1YsR0FBRyxFQUNILE1BQU0sRUFDTixVQUFVLEVBQ1YsUUFBUSxFQUNSLEtBQUssRUFBRSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxFQUNyQyxNQUFNLEVBQUUsRUFBRSxPQUFPLEVBQUUsRUFDbkIsT0FBTyxFQUFFLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsRUFDN0MsTUFBTSxFQUNOLFFBQVEsR0FDVCxHQUFHLE9BQU8sQ0FBQztRQUVaLGNBQWM7UUFDZCxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsVUFBVSxFQUFFLENBQUM7UUFFbEMsT0FBTztRQUNQLElBQUksQ0FBQyw0Q0FBNEMsQ0FBQyxDQUFDO1FBRW5ELFlBQVk7UUFDWixJQUFJLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxFQUFFLENBQUM7WUFDaEMsT0FBTztRQUNULENBQUM7UUFFRCw0QkFBNEI7UUFDNUIsTUFBTSxJQUFJLEdBQUcsTUFBTSxNQUFNLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUU7WUFDbkQsSUFBSSxFQUFFLGdCQUFnQjtZQUN0QixTQUFTLEVBQUUsSUFBSTtTQUNoQixDQUFDLENBQUM7UUFD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