1 | "use strict";
|
2 | Object.defineProperty(exports, "__esModule", { value: true });
|
3 | require('source-map-support/register');
|
4 | const path = require("path");
|
5 | const fse = require("fs-extra");
|
6 | const commander = require("commander");
|
7 | const altt_template_1 = require("./altt/altt-template");
|
8 | const altt_task_1 = require("./altt/altt-task");
|
9 | const altt_task_list_1 = require("./altt/altt-task-list");
|
10 | const package_1 = require("./altt/package");
|
11 | let projectName;
|
12 | commander
|
13 | .option('-y', '--yarn', 'Use yarn instead of npm')
|
14 | .option('--no-package', 'Skip package install')
|
15 | .arguments('[project-name]')
|
16 | .action(function (name) {
|
17 | projectName = name || '';
|
18 | })
|
19 | .parse(process.argv);
|
20 | if (projectName === '') {
|
21 | projectName = '.';
|
22 | }
|
23 | async function main() {
|
24 | const rootDir = path.normalize(path.join(process.cwd(), projectName));
|
25 | const name = path.basename(rootDir);
|
26 | const context = { name };
|
27 | const tasks = [
|
28 | altt_task_1.task('Create directory', async () => {
|
29 | await fse.ensureDir(path.join(rootDir, 'functions'));
|
30 | await fse.ensureDir(path.join(rootDir, 'common'));
|
31 | }),
|
32 | altt_task_1.task('Create files', async () => {
|
33 | await altt_template_1.template('project.altt.json', rootDir, context, 'altt.json');
|
34 | await altt_template_1.template('package.json', rootDir, context);
|
35 | await altt_template_1.template('gitignore', rootDir, context, '.gitignore');
|
36 | await altt_template_1.template('tsconfig.json', rootDir, context);
|
37 | }),
|
38 | ];
|
39 | if (commander.package !== false) {
|
40 | if (commander.Y) {
|
41 | tasks.push(altt_task_1.task('yarn install', async () => {
|
42 | await package_1.runInstall(rootDir, { installCmd: 'yarn install' });
|
43 | }));
|
44 | }
|
45 | else {
|
46 | tasks.push(altt_task_1.task('npm install', () => package_1.runInstall(rootDir, {})));
|
47 | }
|
48 | }
|
49 | return await altt_task_list_1.runTasks(tasks);
|
50 | }
|
51 | main().catch(err => {
|
52 | console.error(err);
|
53 | process.exit(1);
|
54 | });
|
55 |
|
\ | No newline at end of file |