X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?p=it%2Fotf.git;a=blobdiff_plain;f=otf-frontend%2Fng-add-pug-loader.js;fp=otf-frontend%2Fng-add-pug-loader.js;h=086f8d73f6b9eef9e4f468443887187263284898;hp=0000000000000000000000000000000000000000;hb=321c6b595a3f05db9e4327c16af85c16752f9ec2;hpb=29cd8447ada8036b91ad2ca75a3c1c3fe0d8ba55 diff --git a/otf-frontend/ng-add-pug-loader.js b/otf-frontend/ng-add-pug-loader.js new file mode 100644 index 0000000..086f8d7 --- /dev/null +++ b/otf-frontend/ng-add-pug-loader.js @@ -0,0 +1,26 @@ +/** + * Adds the pug-loader inside Angular CLI's webpack config, if not there yet. + * @see https://github.com/danguilherme/ng-cli-pug-loader + */ +const fs = require('fs'); +const commonCliConfig = 'node_modules/@angular-devkit/build-angular/src/angular-cli-files/models/webpack-configs/common.js'; +const pugRules = ` { test: /\.(pug|jade)$/, exclude: /\.(include|partial)\.(pug|jade)$/, use: [ { loader: 'apply-loader' }, { loader: 'pug-loader' } ] }, { test: /\.(include|partial)\.(pug|jade)$/, loader: 'pug-loader' },`; + +fs.readFile(commonCliConfig, (err, data) => { + if (err) throw err; + + const configText = data.toString(); + // make sure we don't add the rule if it already exists + if (configText.indexOf(pugRules) > -1) { return; } + + // Insert the pug webpack rule + const position = configText.indexOf('rules: [') + 8; + const output = [configText.slice(0, position), pugRules, configText.slice(position)].join(''); + const file = fs.openSync(commonCliConfig, 'r+'); + fs.writeFile(file, output, error => { + if (error) + console.error("An error occurred while overwriting Angular CLI's Webpack config"); + + fs.close(file, () => {}); + }); +});