-
Notifications
You must be signed in to change notification settings - Fork 1
/
import-template.js
30 lines (25 loc) · 1.12 KB
/
import-template.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
const fs = require('fs-extra');
const path = require('path');
const ejs = require('ejs');
const {getFilesInDir, readFile, writeFile} = require('./helpers/file-helper')
module.exports.importTemplate = async function importTemplate(args) {
const {name, author} = args
if(!name) throw new Error("Name not provided")
if(!author) throw new Error("Author not provided")
const templateDir = path.join(__dirname, 'templates');
const targetDir = process.cwd()+ "/test"
const files = getFilesInDir(targetDir)
//if(files.includes('.mkfile')) throw new Error("Template already imported or make sure your current directory is empty")
fs.copySync(templateDir, targetDir);
console.log(files)
if(files.includes('package.json')){
const targetFile = `${targetDir}/package.json`;
const packageObj = JSON.parse(readFile(targetFile))
packageObj.name = name;
packageObj.author = author
const updatedData = JSON.stringify(packageObj, null, 2)
console.log("upd", updatedData)
writeFile(targetFile, updatedData);
}
console.log('Template imported successfully!');
}