js-lightning
Version:
Direct Javascript to Web interpreted server inspired by PHP
47 lines (34 loc) • 1.12 kB
JavaScript
;
const qt = require('qtools-functional-library');
const fs = require('fs');
const path = require('path');
//START OF moduleFunction() ============================================================
const moduleFunction = function(args = {}) {
const {
replacementObject,
templateDirectoryPath,
outputDirectoryPath
} = args;
const fileList = [];
fs.mkdirSync(outputDirectoryPath, { recursive: true }); //recursive true also prevents error if directory already exists
fs
.readdirSync(templateDirectoryPath)
.map(item => ({
outputFileContent: fs
.readFileSync(path.join(templateDirectoryPath, item))
.toString()
.qtTemplateReplace(replacementObject),
outputFilePath: path.join(
outputDirectoryPath,
item.replace(/\.template$/, '')
)
}))
.forEach(item => {
fileList.push(item.outputFilePath);
fs.writeFileSync(item.outputFilePath, item.outputFileContent);
});
return fileList;
};
//END OF moduleFunction() ============================================================
module.exports = args => new moduleFunction(args);