UNPKG

kiss-cli

Version:

Keep It Stupid Simple - An agnostic file snippets :kiss:

41 lines (34 loc) 1.06 kB
const fs = require('fs'); const path = require('path'); function readTemplateContent(template) { const { file } = template; const templateContent = fs.readFileSync(file, 'utf8'); return templateContent; } function getTemplateType(type, file) { if (type) return type; const extension = path.extname(file).slice(1); return extension; } function getOutputFile(file, template) { const cwd = process.cwd(); const { ext } = template; const basename = path .basename(file) .split('.') .slice(0, 1); const outputFile = path.join(cwd, `${basename}${ext}`); return outputFile; } function write(file, content) { const writeOptions = { encoding: 'utf8' }; fs.writeFileSync(file, content, writeOptions); } const writeFile = (templates, type = null) => file => { const templateType = getTemplateType(type, file); const templateObj = templates[templateType]; const content = readTemplateContent(templateObj); const outputFile = getOutputFile(file, templateObj); write(outputFile, content); }; module.exports = writeFile;