Mercurial > hg > ugly-duckling
view build-prod.js @ 365:9ba7d304a99d
Add css classes to the container divs for ngIf and ngSwitch to ensure they fill the height of their parents. The template needs tidying up to avoid these unnecessary divs.
author | Lucas Thompson <dev@lucas.im> |
---|---|
date | Tue, 30 May 2017 18:13:12 +0100 |
parents | efa231b10580 |
children | 7005b0d11509 |
line wrap: on
line source
/** * Created by lucas on 20/03/2017. */ 'use strict'; const webpack = require('webpack'); const cli = require('@angular/cli'); const fs = require('fs'); webpack.optimize = Object.assign({}, webpack.optimize, { UglifyJsPlugin: function () { this.apply = () => {}; } }); const bundlePrefixes = [ 'main', 'polyfills', 'scripts', 'styles', 'vendor', 'inline' ]; const distDir = './dist'; const tmpDir = `${distDir}/gh-pages`; const getGeneratedBundleNames = () => { return new Promise((res, rej) => { fs.readdir(distDir, (err, files) => { if (err) { rej(1); } else { res(files.filter(file => bundlePrefixes.find( prefix => file.startsWith(prefix) ))); } }) }); }; const throwIfBuildReportedError = (result) => { return new Promise((res, rej) => { if (typeof result === 'object' && result.exitCode != null) { if (result.exitCode === 0) { res(); } else { rej(result.exitCode); } } else if(typeof result === 'number') { if (result === 0) { res(); } else { rej(result); } } else { res(); } }); }; const copyToTmpDir = (bundles) => { // TODO should really handle errors for all of this // and it could be async but i'm too lazy & it doesn't really matter for this if (!fs.existsSync(tmpDir)){ fs.mkdirSync(tmpDir); } for (let bundle of bundles) { const parts = bundle.split('.'); const bundlePrefix = parts[0]; const bundleExtension = parts[parts.length - 1]; const contents = fs.readFileSync(`${distDir}/${bundle}`); fs.writeFileSync( `${tmpDir}/${bundlePrefix}.bundle.${bundleExtension}`, contents ); } }; cli({ cliArgs: ['build', '--prod', '--aot', 'false', '-bh', '/ugly-duckling/'], inputStream: process.stdin, outputStream: process.stdout }) .then(throwIfBuildReportedError) .then(getGeneratedBundleNames) .then(copyToTmpDir) .then(process.exit) .catch(process.exit);