UNPKG

generator-portals-clientside

Version:

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

58 lines (53 loc) 1.94 kB
var fs = require("fs"); var url = require("url"); module.exports = { write1: function() { this.fs.copyTpl( this.templatePath("index.js"), `src/scripts/components/${this.params.name}/index.js`, this.params ); this.fs.copyTpl( this.templatePath("webpart.dwp"), `src/webparts/${this.params.name}.dwp`, this.params ); this.fs.copyTpl( this.templatePath("webpart.html"), `src/webparts/${this.params.name}.html`, this.params ); updateComponentsIndex(this); } } // var updateInstallScript = function(generator) { // if (generator.params.addToPage) { // var urlObj = url.parse(generator.params.url); // var pageUrl = urlObj.path + "/" + generator.params.pageUrl; // var fileContents = generator.fs.read("powershell/install.ps1"); // var textToReplace = `#END_INSTALL` // if (fileContents.includes(textToReplace)) { // var newText = // ` // Set-PnPFileCheckedOut -Url "${pageUrl}" // Add-PnPWebPartToWebpartPage -Path "src/webparts/${generator.params.name}.dwp" -ServerRelativePageUrl "${pageUrl}" -ZoneId "${generator.params.zone}" -ZoneIndex 0 // Set-PnPFileCheckedIn -Url "${pageUrl}" // ${textToReplace}` // fileContents = fileContents.replace(textToReplace, newText); // console.log(fileContents); // fs.writeFileSync("powershell/install.ps1", fileContents); // } // } // } 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); } }