1 | "use strict";
|
2 | Object.defineProperty(exports, "__esModule", { value: true });
|
3 | const copy = require("copy-template-dir");
|
4 | const fs = require("fs-extra");
|
5 | const path = require("path");
|
6 | function printFiles(command, files) {
|
7 | const base = process.cwd();
|
8 | const { gray, white } = command.colors;
|
9 | files.forEach(file => {
|
10 | command.log(gray(` create: `) + white(file.replace(`${base}/`, '')));
|
11 | });
|
12 | }
|
13 | exports.printFiles = printFiles;
|
14 | function copyFiles(command, sourceDirectory, outPutDirectory, vars, silent = false) {
|
15 | return new Promise((resolve, reject) => {
|
16 | copy(path.join(__dirname, '..', '..', 'templates', sourceDirectory), outPutDirectory, vars, (err, createdFiles) => {
|
17 | if (err) {
|
18 | reject(err);
|
19 | }
|
20 | else {
|
21 | if (!command.silent && !silent) {
|
22 | printFiles(command, createdFiles);
|
23 | }
|
24 | resolve(createdFiles);
|
25 | }
|
26 | });
|
27 | });
|
28 | }
|
29 | exports.copyFiles = copyFiles;
|
30 | function ensureFolderExists(path, empty = false) {
|
31 | if (!fs.existsSync(path)) {
|
32 | fs.mkdirpSync(path);
|
33 | }
|
34 | if (empty) {
|
35 | fs.emptyDirSync(path);
|
36 | }
|
37 | }
|
38 | exports.ensureFolderExists = ensureFolderExists;
|
39 | function ensureSymlinked(target, sourcePath) {
|
40 | try {
|
41 | fs.symlinkSync(target, sourcePath);
|
42 | }
|
43 | catch (e) {
|
44 | if (e.code !== 'EEXIST') {
|
45 | throw e;
|
46 | }
|
47 | }
|
48 | }
|
49 | exports.ensureSymlinked = ensureSymlinked;
|
50 | function toParams(obj) {
|
51 | return Object.keys(obj)
|
52 | .map(key => [key, obj[key]].join('='))
|
53 | .join('&');
|
54 | }
|
55 | exports.toParams = toParams;
|