nk-cli
Version:
Initialize a vite app fast by NK-CLI
37 lines • 3.51 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.ejsRender = void 0;
const ejs = require("ejs");
const fs = require("fs-extra");
const path = require("path");
const prettier = require("prettier");
const options_1 = require("./options");
async function ejsRender(filePath) {
const file = path.parse(filePath);
const readFilePath = path.resolve(options_1.default.dest, file.dir, `${file.name}.ejs`);
const outputFilePath = path.resolve(options_1.default.dest, filePath);
const templateCode = await fs.readFile(readFilePath);
const code = ejs.render(templateCode.toString(), options_1.default);
const extname = path.extname(filePath).replace(/[.]/g, '');
let prettierCode;
await prettier.resolveConfig(options_1.default.src).then((opts) => {
switch (extname) {
case 'ts':
prettierCode = prettier.format(code, { parser: 'babel', ...opts });
break;
case 'js':
prettierCode = prettier.format(code, { parser: 'babel', ...opts });
break;
case 'vue':
prettierCode = prettier.format(code, Object.assign(opts, { parser: extname }));
break;
default:
prettierCode = prettier.format(code, { parser: extname });
break;
}
});
await fs.outputFile(outputFilePath, prettierCode);
await fs.remove(readFilePath);
}
exports.ejsRender = ejsRender;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlVGVtcGxhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvY3JlYXRlVGVtcGxhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsMkJBQTRCO0FBQzVCLCtCQUFnQztBQUNoQyw2QkFBOEI7QUFDOUIscUNBQXNDO0FBQ3RDLHVDQUFnQztBQUV6QixLQUFLLFVBQVUsU0FBUyxDQUFFLFFBQWdCO0lBQy9DLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDbEMsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxpQkFBTyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLElBQUksTUFBTSxDQUFDLENBQUM7SUFDOUUsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxpQkFBTyxDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQztJQUU1RCxNQUFNLFlBQVksR0FBRyxNQUFNLEVBQUUsQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUM7SUFFckQsTUFBTSxJQUFJLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLEVBQUUsaUJBQU8sQ0FBQyxDQUFDO0lBQzFELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQztJQUMzRCxJQUFJLFlBQW9CLENBQUE7SUFDeEIsTUFBTSxRQUFRLENBQUMsYUFBYSxDQUFDLGlCQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7UUFDdEQsUUFBUSxPQUFPLEVBQUU7WUFDZixLQUFLLElBQUk7Z0JBQ1AsWUFBWSxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLElBQUksRUFBQyxDQUFDLENBQUM7Z0JBQ2xFLE1BQU07WUFDUixLQUFLLElBQUk7Z0JBQ1AsWUFBWSxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLElBQUksRUFBQyxDQUFDLENBQUM7Z0JBQ2xFLE1BQU07WUFDUixLQUFLLEtBQUs7Z0JBQ1IsWUFBWSxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQztnQkFDL0UsTUFBTTtZQUNSO2dCQUNFLFlBQVksR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO2dCQUMxRCxNQUFNO1NBQ1Q7SUFDSCxDQUFDLENBQUMsQ0FBQztJQUVILE1BQU0sRUFBRSxDQUFDLFVBQVUsQ0FBQyxjQUFjLEVBQUUsWUFBWSxDQUFDLENBQUE7SUFDakQsTUFBTSxFQUFFLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFBO0FBQy9CLENBQUM7QUE3QkQsOEJBNkJDIn0=