UNPKG

generator-portals-clientside

Version:

Generates a SharePoint clientside project skeleton. Brought to you by Skyline's Portals & Collaboration Team.

36 lines (32 loc) 1.29 kB
var fs = require("fs"); module.exports = { write1: function() { templateFile(this, "index.js"); templateFile(this, "menuTemplate.js"); templateFile(this, "menuData.js"); templateFile(this, "topnav.css"); templateFile(this, "constants.js"); this.fs.copy(this.templatePath("MenuListSchema.xml"), 'ProvisioningSchemas/MenuListSchema.xml'); this.fs.copy(this.templatePath("MenuSeedData.xlsx"), 'ProvisioningSchemas/MenuSeedData.xlsx'); updateComponentsIndex(this); } } var templateFile = function(generator, filename) { generator.fs.copyTpl( generator.templatePath("component/" + 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); } }