@dojo/cli
Version:
35 lines • 1.22 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const tslib_1 = require("tslib");
const ejs_1 = require("ejs");
const fs_extra_1 = require("fs-extra");
const path = require("path");
const chalk_1 = require("chalk");
function ejsRender(source, replacements) {
return new Promise((resolve, reject) => {
ejs_1.renderFile(source, replacements, (err, str) => {
if (err) {
reject(err);
return;
}
resolve(str);
});
});
}
exports.ejsRender = ejsRender;
function writeRenderedFile(str, destination) {
const parsedPath = path.parse(destination);
return fs_extra_1.ensureDir(parsedPath.dir).then(() => {
return fs_extra_1.writeFile(destination, str);
});
}
exports.writeRenderedFile = writeRenderedFile;
function default_1(source, destination, replacements) {
return tslib_1.__awaiter(this, void 0, void 0, function* () {
console.info(chalk_1.default.green.bold(' create ') + destination);
const str = yield ejsRender(source, replacements);
yield writeRenderedFile(str, destination);
});
}
exports.default = default_1;
//# sourceMappingURL=template.js.map