UNPKG

1.63 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3const copy = require("copy-template-dir");
4const fs = require("fs-extra");
5const path = require("path");
6function 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}
13exports.printFiles = printFiles;
14function 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}
29exports.copyFiles = copyFiles;
30function ensureFolderExists(path, empty = false) {
31 if (!fs.existsSync(path)) {
32 fs.mkdirpSync(path);
33 }
34 if (empty) {
35 fs.emptyDirSync(path);
36 }
37}
38exports.ensureFolderExists = ensureFolderExists;
39function 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}
49exports.ensureSymlinked = ensureSymlinked;
50function toParams(obj) {
51 return Object.keys(obj)
52 .map(key => [key, obj[key]].join('='))
53 .join('&');
54}
55exports.toParams = toParams;