@decaf-ts/utils 0.4.7 → 0.4.8
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 +1 -1
- package/dist/utils.cjs +1 -1
- package/dist/utils.cjs.map +1 -1
- package/dist/utils.js +1 -1
- package/dist/utils.js.map +1 -1
- package/lib/cli/commands/build-scripts.cjs +12 -4
- package/lib/cli/commands/build-scripts.js.map +1 -1
- package/lib/cli/commands/index.cjs +0 -1
- package/lib/cli/commands/index.d.ts +0 -1
- package/lib/cli/commands/index.js.map +1 -1
- package/lib/esm/cli/commands/build-scripts.js +13 -5
- package/lib/esm/cli/commands/build-scripts.js.map +1 -1
- package/lib/esm/cli/commands/index.d.ts +0 -1
- package/lib/esm/cli/commands/index.js +0 -1
- package/lib/esm/cli/commands/index.js.map +1 -1
- package/lib/esm/index.d.ts +1 -1
- package/lib/esm/index.js +1 -1
- package/lib/esm/utils/fs.d.ts +3 -0
- package/lib/esm/utils/fs.js +63 -0
- package/lib/esm/utils/fs.js.map +1 -1
- package/lib/index.cjs +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/utils/fs.cjs +65 -0
- package/lib/utils/fs.d.ts +3 -0
- package/lib/utils/fs.js.map +1 -1
- package/package.json +1 -1
- package/lib/bin/update-scripts.cjs +0 -13
- package/lib/bin/update-scripts.d.ts +0 -1
- package/lib/bin/update-scripts.js.map +0 -1
- package/lib/cli/commands/update-scripts.cjs +0 -516
- package/lib/cli/commands/update-scripts.d.ts +0 -211
- package/lib/cli/commands/update-scripts.js.map +0 -1
- package/lib/esm/bin/update-scripts.d.ts +0 -1
- package/lib/esm/bin/update-scripts.js +0 -10
- package/lib/esm/bin/update-scripts.js.map +0 -1
- package/lib/esm/cli/commands/update-scripts.d.ts +0 -211
- package/lib/esm/cli/commands/update-scripts.js +0 -509
- package/lib/esm/cli/commands/update-scripts.js.map +0 -1
|
@@ -1,509 +0,0 @@
|
|
|
1
|
-
/* istanbul ignore file */
|
|
2
|
-
import path from "path";
|
|
3
|
-
import { Command } from "./../command.js";
|
|
4
|
-
import { getPackage, HttpClient, patchFile, runCommand, setPackageAttribute, SetupScriptKey, Tokens, writeFile, } from "./../../utils/index.js";
|
|
5
|
-
import { UserInput } from "./../../input/index.js";
|
|
6
|
-
import fs from "fs";
|
|
7
|
-
import { patchString } from "@decaf-ts/logging";
|
|
8
|
-
const baseUrl = "https://raw.githubusercontent.com/decaf-ts/ts-workspace/master";
|
|
9
|
-
const options = {
|
|
10
|
-
templates: [
|
|
11
|
-
".github/ISSUE_TEMPLATE/bug_report.md",
|
|
12
|
-
".github/ISSUE_TEMPLATE/feature_request.md",
|
|
13
|
-
".github/FUNDING.yml",
|
|
14
|
-
],
|
|
15
|
-
workflows: [
|
|
16
|
-
".github/workflows/codeql-analysis.yml",
|
|
17
|
-
".github/workflows/jest-coverage.yaml",
|
|
18
|
-
".github/workflows/nodejs-build-prod.yaml",
|
|
19
|
-
".github/workflows/pages.yaml",
|
|
20
|
-
".github/workflows/publish-on-release.yaml",
|
|
21
|
-
".github/workflows/release-on-tag.yaml",
|
|
22
|
-
".github/workflows/snyk-analysis.yaml",
|
|
23
|
-
],
|
|
24
|
-
ide: [
|
|
25
|
-
".idea/runConfigurations/All Tests.run.xml",
|
|
26
|
-
".idea/runConfigurations/build.run.xml",
|
|
27
|
-
".idea/runConfigurations/build_prod.run.xml",
|
|
28
|
-
".idea/runConfigurations/coverage.run.xml",
|
|
29
|
-
".idea/runConfigurations/docs.run.xml",
|
|
30
|
-
".idea/runConfigurations/drawings.run.xml",
|
|
31
|
-
".idea/runConfigurations/flash-forward.run.xml",
|
|
32
|
-
".idea/runConfigurations/Integration_Tests.run.xml",
|
|
33
|
-
".idea/runConfigurations/Bundling_Tests.run.xml",
|
|
34
|
-
".idea/runConfigurations/lint-fix.run.xml",
|
|
35
|
-
".idea/runConfigurations/release.run.xml",
|
|
36
|
-
".idea/runConfigurations/test_circular.run.xml",
|
|
37
|
-
".idea/runConfigurations/uml.run.xml",
|
|
38
|
-
".idea/runConfigurations/Unit Tests.run.xml",
|
|
39
|
-
".idea/runConfigurations/update-scripts.run.xml",
|
|
40
|
-
],
|
|
41
|
-
docs: [
|
|
42
|
-
"workdocs/tutorials/Contributing.md",
|
|
43
|
-
"workdocs/tutorials/Documentation.md",
|
|
44
|
-
"workdocs/tutorials/For Developers.md",
|
|
45
|
-
"workdocs/2-Badges.md",
|
|
46
|
-
"workdocs/jsdocs.json",
|
|
47
|
-
"workdocs/readme-md.json",
|
|
48
|
-
],
|
|
49
|
-
styles: [".prettierrc", "eslint.config.js"],
|
|
50
|
-
scripts: [
|
|
51
|
-
"bin/update-scripts.cjs",
|
|
52
|
-
"bin/tag-release.cjs",
|
|
53
|
-
"bin/build-scripts.cjs",
|
|
54
|
-
],
|
|
55
|
-
tests: ["jest.config.ts", "workdocs/reports/jest.coverage.config.ts"],
|
|
56
|
-
typescript: ["tsconfig.json"],
|
|
57
|
-
docker: ["Dockerfile"],
|
|
58
|
-
automation: [
|
|
59
|
-
"workdocs/confluence/Continuous Integration-Deployment/GitHub.md",
|
|
60
|
-
"workdocs/confluence/Continuous Integration-Deployment/Jira.md",
|
|
61
|
-
"workdocs/confluence/Continuous Integration-Deployment/Teams.md",
|
|
62
|
-
],
|
|
63
|
-
};
|
|
64
|
-
const argzz = {
|
|
65
|
-
// init attributes
|
|
66
|
-
boot: {
|
|
67
|
-
type: "boolean",
|
|
68
|
-
},
|
|
69
|
-
org: {
|
|
70
|
-
type: "string",
|
|
71
|
-
short: "o",
|
|
72
|
-
},
|
|
73
|
-
name: {
|
|
74
|
-
type: "string",
|
|
75
|
-
short: "n",
|
|
76
|
-
default: undefined,
|
|
77
|
-
},
|
|
78
|
-
author: {
|
|
79
|
-
type: "string",
|
|
80
|
-
short: "a",
|
|
81
|
-
default: undefined,
|
|
82
|
-
},
|
|
83
|
-
// update attributes
|
|
84
|
-
all: {
|
|
85
|
-
type: "boolean",
|
|
86
|
-
},
|
|
87
|
-
license: {
|
|
88
|
-
type: "string",
|
|
89
|
-
message: "Pick the license",
|
|
90
|
-
},
|
|
91
|
-
scripts: {
|
|
92
|
-
type: "boolean",
|
|
93
|
-
},
|
|
94
|
-
styles: {
|
|
95
|
-
type: "boolean",
|
|
96
|
-
},
|
|
97
|
-
docs: {
|
|
98
|
-
type: "boolean",
|
|
99
|
-
},
|
|
100
|
-
ide: {
|
|
101
|
-
type: "boolean",
|
|
102
|
-
},
|
|
103
|
-
workflows: {
|
|
104
|
-
type: "boolean",
|
|
105
|
-
},
|
|
106
|
-
templates: {
|
|
107
|
-
type: "boolean",
|
|
108
|
-
},
|
|
109
|
-
typescript: {
|
|
110
|
-
type: "boolean",
|
|
111
|
-
},
|
|
112
|
-
docker: {
|
|
113
|
-
type: "boolean",
|
|
114
|
-
},
|
|
115
|
-
pkg: {
|
|
116
|
-
type: "boolean",
|
|
117
|
-
},
|
|
118
|
-
dependencies: {
|
|
119
|
-
type: "boolean",
|
|
120
|
-
},
|
|
121
|
-
tests: {
|
|
122
|
-
type: "boolean",
|
|
123
|
-
},
|
|
124
|
-
automation: {
|
|
125
|
-
type: "boolean",
|
|
126
|
-
},
|
|
127
|
-
};
|
|
128
|
-
/**
|
|
129
|
-
* @class TemplateSync
|
|
130
|
-
* @extends {Command}
|
|
131
|
-
* @category scripts
|
|
132
|
-
* @description A command-line tool for synchronizing project templates and configurations.
|
|
133
|
-
* @summary This class provides functionality to download and update various project files and configurations from a remote repository.
|
|
134
|
-
* It supports updating licenses, IDE configurations, scripts, styles, documentation, workflows, and templates.
|
|
135
|
-
*
|
|
136
|
-
* @param {CommandOptions} args - The command options for TemplateSync
|
|
137
|
-
*/
|
|
138
|
-
export class TemplateSync extends Command {
|
|
139
|
-
constructor() {
|
|
140
|
-
super("TemplateSync", argzz);
|
|
141
|
-
this.replacements = {};
|
|
142
|
-
/**
|
|
143
|
-
* @description Downloads style configuration files.
|
|
144
|
-
* @returns {Promise<void>}
|
|
145
|
-
*/
|
|
146
|
-
this.getStyles = () => this.downloadOption("styles");
|
|
147
|
-
/**
|
|
148
|
-
* @description Downloads template files.
|
|
149
|
-
* @returns {Promise<void>}
|
|
150
|
-
*/
|
|
151
|
-
this.getTemplates = () => this.downloadOption("templates");
|
|
152
|
-
/**
|
|
153
|
-
* @description Downloads workflow configuration files.
|
|
154
|
-
* @returns {Promise<void>}
|
|
155
|
-
*/
|
|
156
|
-
this.getWorkflows = () => this.downloadOption("workflows");
|
|
157
|
-
/**
|
|
158
|
-
* @description Downloads documentation files.
|
|
159
|
-
* @returns {Promise<void>}
|
|
160
|
-
*/
|
|
161
|
-
this.getDocs = () => this.downloadOption("docs");
|
|
162
|
-
/**
|
|
163
|
-
* @description Downloads typescript config files.
|
|
164
|
-
* @returns {Promise<void>}
|
|
165
|
-
*/
|
|
166
|
-
this.getTypescript = () => this.downloadOption("typescript");
|
|
167
|
-
/**
|
|
168
|
-
* @description Downloads automation documentation files.
|
|
169
|
-
* @returns {Promise<void>}
|
|
170
|
-
*/
|
|
171
|
-
this.getAutomation = () => this.downloadOption("automation");
|
|
172
|
-
/**
|
|
173
|
-
* @description Downloads automation documentation files.
|
|
174
|
-
* @returns {Promise<void>}
|
|
175
|
-
*/
|
|
176
|
-
this.getTests = () => this.downloadOption("tests");
|
|
177
|
-
/**
|
|
178
|
-
* @description Downloads docker image files.
|
|
179
|
-
* @returns {Promise<void>}
|
|
180
|
-
*/
|
|
181
|
-
this.getDocker = () => this.downloadOption("docker");
|
|
182
|
-
}
|
|
183
|
-
loadValuesFromPackage() {
|
|
184
|
-
const p = process.cwd();
|
|
185
|
-
const author = getPackage(p, "author");
|
|
186
|
-
const scopedName = getPackage(p, "name");
|
|
187
|
-
let name = scopedName;
|
|
188
|
-
let org;
|
|
189
|
-
if (name.startsWith("@")) {
|
|
190
|
-
const split = name.split("/");
|
|
191
|
-
name = split[1];
|
|
192
|
-
org = split[0].replace("@", "");
|
|
193
|
-
}
|
|
194
|
-
["Tiago Venceslau", "TiagoVenceslau", "${author}"].forEach((el) => (this.replacements[el] = author));
|
|
195
|
-
["TS-Workspace", "ts-workspace", "${name}"].forEach((el) => (this.replacements[el] = name));
|
|
196
|
-
["decaf-ts", "${org}"].forEach((el) => (this.replacements[el] = org || '""'));
|
|
197
|
-
this.replacements["${org_or_owner}"] = org || name;
|
|
198
|
-
}
|
|
199
|
-
/**
|
|
200
|
-
* @description Downloads files for a specific option category.
|
|
201
|
-
* @summary This method downloads all files associated with a given option key from the remote repository.
|
|
202
|
-
* @param {string} key - The key representing the option category to download
|
|
203
|
-
* @returns {Promise<void>}
|
|
204
|
-
* @throws {Error} If the specified option key is not found
|
|
205
|
-
*/
|
|
206
|
-
async downloadOption(key) {
|
|
207
|
-
if (!(key in options)) {
|
|
208
|
-
throw new Error(`Option "${key}" not found in options`);
|
|
209
|
-
}
|
|
210
|
-
const files = options[key];
|
|
211
|
-
for (const file of files) {
|
|
212
|
-
this.log.info(`Downloading ${file}`);
|
|
213
|
-
let data = await HttpClient.downloadFile(`${baseUrl}/${file}`);
|
|
214
|
-
data = patchString(data, this.replacements);
|
|
215
|
-
writeFile(path.join(process.cwd(), file), data);
|
|
216
|
-
}
|
|
217
|
-
}
|
|
218
|
-
/**
|
|
219
|
-
* @description Downloads and sets up the specified license.
|
|
220
|
-
* @summary This method downloads the chosen license file, saves it to the project, and updates the package.json license field.
|
|
221
|
-
* @param {"MIT" | "GPL" | "Apache" | "LGPL" | "AGPL"} license - The license to download and set up
|
|
222
|
-
* @returns {Promise<void>}
|
|
223
|
-
*/
|
|
224
|
-
async getLicense(license) {
|
|
225
|
-
this.log.info(`Downloading ${license} license`);
|
|
226
|
-
const url = `${baseUrl}/workdocs/licenses/${license}.md`;
|
|
227
|
-
let data = await HttpClient.downloadFile(url);
|
|
228
|
-
data = patchString(data, this.replacements);
|
|
229
|
-
writeFile(path.join(process.cwd(), "LICENSE.md"), data);
|
|
230
|
-
setPackageAttribute("license", license);
|
|
231
|
-
}
|
|
232
|
-
/**
|
|
233
|
-
* @description Downloads IDE configuration files.
|
|
234
|
-
* @returns {Promise<void>}
|
|
235
|
-
*/
|
|
236
|
-
async getIde() {
|
|
237
|
-
fs.mkdirSync(path.join(process.cwd(), ".idea", "runConfigurations"), {
|
|
238
|
-
recursive: true,
|
|
239
|
-
});
|
|
240
|
-
await this.downloadOption("ide");
|
|
241
|
-
}
|
|
242
|
-
/**
|
|
243
|
-
* @description Update npm scripts
|
|
244
|
-
* @returns {Promise<void>}
|
|
245
|
-
*/
|
|
246
|
-
async getScripts() {
|
|
247
|
-
await this.downloadOption("scripts");
|
|
248
|
-
this.log.info("please re-run the command");
|
|
249
|
-
process.exit(0);
|
|
250
|
-
}
|
|
251
|
-
async initPackage(pkgName, author, license) {
|
|
252
|
-
try {
|
|
253
|
-
const pkg = getPackage();
|
|
254
|
-
delete pkg[SetupScriptKey];
|
|
255
|
-
pkg.name = pkgName;
|
|
256
|
-
pkg.version = "0.0.1";
|
|
257
|
-
pkg.author = author;
|
|
258
|
-
pkg.license = license;
|
|
259
|
-
fs.writeFileSync("package.json", JSON.stringify(pkg, null, 2));
|
|
260
|
-
}
|
|
261
|
-
catch (e) {
|
|
262
|
-
throw new Error(`Error fixing package.json: ${e}`);
|
|
263
|
-
}
|
|
264
|
-
}
|
|
265
|
-
async updatePackageScrips() {
|
|
266
|
-
try {
|
|
267
|
-
const originalPkg = JSON.parse(await HttpClient.downloadFile(`${baseUrl}/package.json`));
|
|
268
|
-
const { scripts } = originalPkg;
|
|
269
|
-
const pkg = getPackage();
|
|
270
|
-
Object.keys(pkg.scripts).forEach((key) => {
|
|
271
|
-
if (key in scripts) {
|
|
272
|
-
const replaced = patchString(scripts[key], this.replacements);
|
|
273
|
-
if (replaced !== scripts[key]) {
|
|
274
|
-
pkg.scripts[key] = replaced;
|
|
275
|
-
}
|
|
276
|
-
}
|
|
277
|
-
});
|
|
278
|
-
pkg["exports"]["require"] = originalPkg["exports"]["require"];
|
|
279
|
-
pkg["exports"]["import"] = originalPkg["exports"]["import"];
|
|
280
|
-
pkg["types"] = originalPkg["types"];
|
|
281
|
-
fs.writeFileSync("package.json", JSON.stringify(pkg, null, 2));
|
|
282
|
-
}
|
|
283
|
-
catch (e) {
|
|
284
|
-
throw new Error(`Error fixing package.json scripts: ${e}`);
|
|
285
|
-
}
|
|
286
|
-
}
|
|
287
|
-
async createTokenFiles() {
|
|
288
|
-
const log = this.log.for(this.createTokenFiles);
|
|
289
|
-
const gitToken = await UserInput.insistForText("token", "please input your github token", (res) => {
|
|
290
|
-
return !!res.match(/^ghp_[0-9a-zA-Z]{36}$/g);
|
|
291
|
-
});
|
|
292
|
-
Object.values(Tokens).forEach((token) => {
|
|
293
|
-
try {
|
|
294
|
-
let status;
|
|
295
|
-
try {
|
|
296
|
-
status = fs.existsSync(token);
|
|
297
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
298
|
-
}
|
|
299
|
-
catch (e) {
|
|
300
|
-
log.info(`Token file ${token} not found. Creating a new one...`);
|
|
301
|
-
fs.writeFileSync(token, token === ".token" ? gitToken : "");
|
|
302
|
-
return;
|
|
303
|
-
}
|
|
304
|
-
if (!status) {
|
|
305
|
-
fs.writeFileSync(token, token === ".token" ? gitToken : "");
|
|
306
|
-
}
|
|
307
|
-
}
|
|
308
|
-
catch (e) {
|
|
309
|
-
throw new Error(`Error creating token file ${token}: ${e}`);
|
|
310
|
-
}
|
|
311
|
-
});
|
|
312
|
-
}
|
|
313
|
-
async getOrg() {
|
|
314
|
-
const org = await UserInput.askText("Organization", "Enter the organization name (will be used to scope your npm project. leave blank to create a unscoped project):");
|
|
315
|
-
const confirmation = await UserInput.askConfirmation("Confirm organization", "Is this organization correct?", true);
|
|
316
|
-
if (!confirmation)
|
|
317
|
-
return this.getOrg();
|
|
318
|
-
return org;
|
|
319
|
-
}
|
|
320
|
-
async auditFix() {
|
|
321
|
-
return await runCommand("npm audit fix --force").promise;
|
|
322
|
-
}
|
|
323
|
-
patchFiles() {
|
|
324
|
-
const files = [
|
|
325
|
-
...fs
|
|
326
|
-
.readdirSync(path.join(process.cwd(), "src"), {
|
|
327
|
-
recursive: true,
|
|
328
|
-
withFileTypes: true,
|
|
329
|
-
})
|
|
330
|
-
.filter((entry) => entry.isFile())
|
|
331
|
-
.map((entry) => path.join(entry.parentPath, entry.name)),
|
|
332
|
-
...fs
|
|
333
|
-
.readdirSync(path.join(process.cwd(), "workdocs"), {
|
|
334
|
-
recursive: true,
|
|
335
|
-
withFileTypes: true,
|
|
336
|
-
})
|
|
337
|
-
.filter((entry) => entry.isFile() && entry.name.endsWith(".md"))
|
|
338
|
-
.map((entry) => path.join(entry.parentPath, entry.name)),
|
|
339
|
-
path.join(process.cwd(), ".gitlab-ci.yml"),
|
|
340
|
-
path.join(process.cwd(), "workdocs", "jsdocs.json"),
|
|
341
|
-
];
|
|
342
|
-
for (const file of files) {
|
|
343
|
-
patchFile(file, this.replacements);
|
|
344
|
-
}
|
|
345
|
-
}
|
|
346
|
-
async updateDependencies() {
|
|
347
|
-
try {
|
|
348
|
-
const originalPkg = JSON.parse(await HttpClient.downloadFile(`${baseUrl}/package.json`));
|
|
349
|
-
const { devDependencies } = originalPkg;
|
|
350
|
-
const pkg = getPackage();
|
|
351
|
-
Object.keys(pkg.scripts).forEach((key) => {
|
|
352
|
-
if (key in devDependencies) {
|
|
353
|
-
const replaced = devDependencies[key];
|
|
354
|
-
if (replaced !== devDependencies[key]) {
|
|
355
|
-
pkg["devDependencies"] =
|
|
356
|
-
pkg["devDependencies"] || {};
|
|
357
|
-
pkg["devDependencies"][key] = replaced;
|
|
358
|
-
}
|
|
359
|
-
}
|
|
360
|
-
});
|
|
361
|
-
fs.writeFileSync("package.json", JSON.stringify(pkg, null, 2));
|
|
362
|
-
await runCommand("npm install").promise;
|
|
363
|
-
}
|
|
364
|
-
catch (e) {
|
|
365
|
-
throw new Error(`Error fixing package.json dependencies: ${e}`);
|
|
366
|
-
}
|
|
367
|
-
}
|
|
368
|
-
/**
|
|
369
|
-
* @description Runs the template synchronization process.
|
|
370
|
-
* @summary This method orchestrates the downloading of various project components based on the provided arguments.
|
|
371
|
-
* @param {ParseArgsResult} args - The parsed command-line arguments
|
|
372
|
-
* @returns {Promise<void>}
|
|
373
|
-
*
|
|
374
|
-
* @mermaid
|
|
375
|
-
* sequenceDiagram
|
|
376
|
-
* participant T as TemplateSync
|
|
377
|
-
* participant L as getLicense
|
|
378
|
-
* participant I as getIde
|
|
379
|
-
* participant S as getScripts
|
|
380
|
-
* participant St as getStyles
|
|
381
|
-
* participant D as getDocs
|
|
382
|
-
* participant W as getWorkflows
|
|
383
|
-
* participant Te as getTemplates
|
|
384
|
-
* T->>T: Parse arguments
|
|
385
|
-
* alt all flag is true
|
|
386
|
-
* T->>T: Set all component flags to true
|
|
387
|
-
* end
|
|
388
|
-
* alt license is specified
|
|
389
|
-
* T->>L: getLicense(license)
|
|
390
|
-
* end
|
|
391
|
-
* alt ide flag is true
|
|
392
|
-
* T->>I: getIde()
|
|
393
|
-
* end
|
|
394
|
-
* alt scripts flag is true
|
|
395
|
-
* T->>S: getScripts()
|
|
396
|
-
* end
|
|
397
|
-
* alt styles flag is true
|
|
398
|
-
* T->>St: getStyles()
|
|
399
|
-
* end
|
|
400
|
-
* alt docs flag is true
|
|
401
|
-
* T->>D: getDocs()
|
|
402
|
-
* end
|
|
403
|
-
* alt workflows flag is true
|
|
404
|
-
* T->>W: getWorkflows()
|
|
405
|
-
* end
|
|
406
|
-
* alt templates flag is true
|
|
407
|
-
* T->>Te: getTemplates()
|
|
408
|
-
* end
|
|
409
|
-
*/
|
|
410
|
-
async run(args) {
|
|
411
|
-
let { license } = args;
|
|
412
|
-
const { boot } = args;
|
|
413
|
-
let { all, scripts, styles, docs, ide, workflows, templates, docker, typescript, dependencies, tests, automation, pkg, } = args;
|
|
414
|
-
if (scripts ||
|
|
415
|
-
styles ||
|
|
416
|
-
docs ||
|
|
417
|
-
ide ||
|
|
418
|
-
workflows ||
|
|
419
|
-
templates ||
|
|
420
|
-
docker ||
|
|
421
|
-
typescript ||
|
|
422
|
-
automation ||
|
|
423
|
-
dependencies ||
|
|
424
|
-
tests ||
|
|
425
|
-
pkg)
|
|
426
|
-
all = false;
|
|
427
|
-
if (boot) {
|
|
428
|
-
const org = await this.getOrg();
|
|
429
|
-
const name = await UserInput.insistForText("Project name", "Enter the project name:", (res) => res.length > 1);
|
|
430
|
-
const author = await UserInput.insistForText("Author", "Enter the author name:", (res) => res.length > 1);
|
|
431
|
-
const pkgName = org ? `@${org}/${name}` : name;
|
|
432
|
-
await this.initPackage(pkgName, author, license);
|
|
433
|
-
await this.createTokenFiles();
|
|
434
|
-
await this.auditFix();
|
|
435
|
-
this.patchFiles();
|
|
436
|
-
}
|
|
437
|
-
if (all) {
|
|
438
|
-
scripts = false;
|
|
439
|
-
styles = true;
|
|
440
|
-
docs = true;
|
|
441
|
-
ide = true;
|
|
442
|
-
workflows = true;
|
|
443
|
-
templates = true;
|
|
444
|
-
docker = true;
|
|
445
|
-
typescript = true;
|
|
446
|
-
pkg = true;
|
|
447
|
-
dependencies = true;
|
|
448
|
-
tests = true;
|
|
449
|
-
automation = false;
|
|
450
|
-
}
|
|
451
|
-
if (typeof scripts === "undefined")
|
|
452
|
-
scripts = await UserInput.askConfirmation("scripts", "Do you want to get scripts?", true);
|
|
453
|
-
if (scripts)
|
|
454
|
-
await this.getScripts();
|
|
455
|
-
this.loadValuesFromPackage();
|
|
456
|
-
if (!all && typeof license === "undefined") {
|
|
457
|
-
const confirmation = await UserInput.askConfirmation("license", "Do you want to set a license?", true);
|
|
458
|
-
if (confirmation)
|
|
459
|
-
license = await UserInput.insistForText("license", "Enter the desired License (MIT|GPL|Apache|LGPL|AGPL):", (val) => !!val && !!val.match(/^(MIT|GPL|Apache|LGPL|AGPL)$/g));
|
|
460
|
-
}
|
|
461
|
-
if (typeof license !== "undefined")
|
|
462
|
-
await this.getLicense(license);
|
|
463
|
-
if (typeof ide === "undefined")
|
|
464
|
-
ide = await UserInput.askConfirmation("ide", "Do you want to get ide configs?", true);
|
|
465
|
-
if (ide)
|
|
466
|
-
await this.getIde();
|
|
467
|
-
if (typeof typescript === "undefined")
|
|
468
|
-
typescript = await UserInput.askConfirmation("typescript", "Do you want to get typescript configs?", true);
|
|
469
|
-
if (typescript)
|
|
470
|
-
await this.getTypescript();
|
|
471
|
-
if (typeof docker === "undefined")
|
|
472
|
-
docker = await UserInput.askConfirmation("docker", "Do you want to get docker configs?", true);
|
|
473
|
-
if (docker)
|
|
474
|
-
await this.getDocker();
|
|
475
|
-
if (typeof automation === "undefined")
|
|
476
|
-
automation = await UserInput.askConfirmation("automation", "Do you want to get automation configs?", true);
|
|
477
|
-
if (automation)
|
|
478
|
-
await this.getAutomation();
|
|
479
|
-
if (typeof styles === "undefined")
|
|
480
|
-
styles = await UserInput.askConfirmation("styles", "Do you want to get styles?", true);
|
|
481
|
-
if (styles)
|
|
482
|
-
await this.getStyles();
|
|
483
|
-
if (typeof docs === "undefined")
|
|
484
|
-
docs = await UserInput.askConfirmation("docs", "Do you want to get docs?", true);
|
|
485
|
-
if (docs)
|
|
486
|
-
await this.getDocs();
|
|
487
|
-
if (typeof workflows === "undefined")
|
|
488
|
-
workflows = await UserInput.askConfirmation("workflows", "Do you want to get workflows?", true);
|
|
489
|
-
if (workflows)
|
|
490
|
-
await this.getWorkflows();
|
|
491
|
-
if (typeof templates === "undefined")
|
|
492
|
-
templates = await UserInput.askConfirmation("templates", "Do you want to get templates?", true);
|
|
493
|
-
if (templates)
|
|
494
|
-
await this.getTemplates();
|
|
495
|
-
if (typeof pkg === "undefined")
|
|
496
|
-
pkg = await UserInput.askConfirmation("pkg", "Do you want to update your package.json scripts?", true);
|
|
497
|
-
if (pkg)
|
|
498
|
-
await this.updatePackageScrips();
|
|
499
|
-
if (typeof tests === "undefined")
|
|
500
|
-
tests = await UserInput.askConfirmation("pkg", "Do you want to update your test configs?", true);
|
|
501
|
-
if (tests)
|
|
502
|
-
await this.getTests();
|
|
503
|
-
if (typeof dependencies === "undefined")
|
|
504
|
-
dependencies = await UserInput.askConfirmation("pkg", "Do you want to update dev dependencies?", true);
|
|
505
|
-
if (dependencies)
|
|
506
|
-
await this.updateDependencies();
|
|
507
|
-
}
|
|
508
|
-
}
|
|
509
|
-
//# sourceMappingURL=update-scripts.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"update-scripts.js","sourceRoot":"","sources":["../../../../src/cli/commands/update-scripts.ts"],"names":[],"mappings":"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"}
|