generator-portals-clientside
Version:
Generates a SharePoint clientside project skeleton. Brought to you by Skyline's Portals & Collaboration Team.
29 lines (26 loc) • 914 B
JavaScript
var fs = require("fs");
module.exports = {
write1: function() {
templateFile(this, "index.js");
updateComponentsIndex(this);
}
}
var templateFile = function(generator, filename) {
generator.fs.copyTpl(
generator.templatePath(filename),
`src/scripts/components/${generator.params.name}/${filename}`,
generator.params
);
};
var updateComponentsIndex = function(generator) {
var indexFilePath = generator.destinationPath("src/scripts/components/index.js");
var fileContents = generator.fs.read(indexFilePath);
var textToReplace = "module.exports = components;"
if (fileContents.indexOf(textToReplace) > -1) {
var newText =
`components.${generator.params.name} = require('./${generator.params.name}');
${textToReplace}`
fileContents = fileContents.replace(textToReplace, newText);
fs.writeFileSync(indexFilePath, fileContents);
}
}