1 | "use strict";
|
2 | var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
3 | return new (P || (P = Promise))(function (resolve, reject) {
|
4 | function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
5 | function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
6 | function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
|
7 | step((generator = generator.apply(thisArg, _arguments || [])).next());
|
8 | });
|
9 | };
|
10 | Object.defineProperty(exports, "__esModule", { value: true });
|
11 |
|
12 |
|
13 |
|
14 | const path_1 = require("path");
|
15 | const create_yargs_1 = require("./create.yargs");
|
16 | const Prompt_1 = require("../utils/Prompt");
|
17 | const fs = require("fs-extra");
|
18 | exports.default = (argv) => __awaiter(this, void 0, void 0, function* () {
|
19 | const prompt = new Prompt_1.Prompt();
|
20 | let name = argv.name;
|
21 | let license = 'MIT';
|
22 | let answer;
|
23 | answer = yield prompt.ask(`Give the name of your project [${name}]:\n`);
|
24 | if (answer !== undefined && answer.trim() !== '') {
|
25 | name = answer.trim();
|
26 | }
|
27 | answer = yield prompt.ask(`Give the license of your project [${license}]:\n`);
|
28 | if (answer !== undefined && answer.trim() !== '') {
|
29 | license = answer.trim();
|
30 | }
|
31 | prompt.close();
|
32 | const projectPath = path_1.resolve(process.cwd(), argv.name);
|
33 | if (fs.existsSync(projectPath)) {
|
34 | console.error(`Directory ${argv.name} already exists`);
|
35 | process.exit(0);
|
36 | }
|
37 | fs.copySync(path_1.resolve(__dirname, '..', '..', 'sample'), projectPath);
|
38 | const packageJsonPath = path_1.resolve(projectPath, 'package.json');
|
39 | const packageJson = JSON.parse(fs.readFileSync(packageJsonPath).toString('utf8'));
|
40 | packageJson.name = name;
|
41 | packageJson.license = license;
|
42 | fs.writeFileSync(packageJsonPath, JSON.stringify(packageJson, null, 2));
|
43 | });
|
44 | if (!module.parent) {
|
45 | create_yargs_1.handler(create_yargs_1.builder().argv)
|
46 | .catch(err => {
|
47 | console.log(err.stack);
|
48 | });
|
49 | }
|
50 |
|
\ | No newline at end of file |