UNPKG

1.98 kBJavaScriptView Raw
1"use strict";
2
3exports.__esModule = true;
4exports.default = void 0;
5
6var _chalk = _interopRequireDefault(require("chalk"));
7
8var _path = _interopRequireDefault(require("path"));
9
10var _fsExtra = _interopRequireDefault(require("fs-extra"));
11
12var _fs = _interopRequireDefault(require("fs"));
13
14var _pkgDir = _interopRequireDefault(require("pkg-dir"));
15
16function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
18const BASIC = "templates/basic/app";
19const BASIC_CDN = "templates/basic-cdn/app";
20const CALCITE = "templates/calcite/app";
21const CALCITE_CDN = "templates/calcite-cdn/app";
22const REACT = "templates/react/app";
23const VUE = "templates/vue/app";
24const gitignore = `
25node_modules/*
26.vscode/*
27build/*
28dist/*
29output/*
30html-report/*
31~tmp/*
32.baseDir*
33.tsdrc
34.tscache
35npm-debug.log
36yarn.lock
37package-lock.json
38coverage-final.*
39*.env
40coverage/*
41`;
42
43const copyTemplate = async (arg, init = false) => {
44 let templateDirectory = BASIC;
45
46 if (arg.cdn) {
47 templateDirectory = BASIC_CDN;
48 }
49
50 if (arg.type === "react") {
51 templateDirectory = REACT;
52 } else if (arg.type === "vue") {
53 templateDirectory = VUE;
54 } else if (arg.type === "calcite") {
55 templateDirectory = CALCITE;
56
57 if (arg.cdn) {
58 templateDirectory = CALCITE_CDN;
59 }
60 }
61
62 let target;
63
64 if (!init) {
65 target = _path.default.resolve(process.cwd(), arg.dest || arg.name);
66
67 if (!_fs.default.existsSync(target)) {
68 console.info(_chalk.default.green.bold(" create : ") + target);
69
70 _fs.default.mkdirSync(target);
71 }
72 } else {
73 target = _path.default.resolve(process.cwd());
74 }
75
76 try {
77 const rootDir = await (0, _pkgDir.default)(__dirname);
78 await _fsExtra.default.copy(`${rootDir}/${templateDirectory}`, `${target}`);
79 await _fsExtra.default.writeFile(`${target}/.gitignore`, gitignore);
80 } catch (error) {
81 console.info(error.message);
82 }
83
84 return target;
85};
86
87var _default = copyTemplate;
88exports.default = _default;
\No newline at end of file