Skip to content

Commit 1db2857

Browse files
anubhav7495addyosmani
authored andcommitted
minify service worker script before html inlining (#59) (#61)
1 parent e1a9e9a commit 1db2857

File tree

3 files changed

+14
-3
lines changed

3 files changed

+14
-3
lines changed

template/build/load-minified.js

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
var fs = require('fs')
2+
var UglifyJS = require('uglify-es')
3+
4+
module.exports = function(filePath) {
5+
var code = fs.readFileSync(filePath, 'utf-8')
6+
var result = UglifyJS.minify(code)
7+
if (result.error) return ''
8+
return result.code
9+
}

template/build/webpack.prod.conf.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ var HtmlWebpackPlugin = require('html-webpack-plugin')
1010
var ExtractTextPlugin = require('extract-text-webpack-plugin')
1111
var OptimizeCSSPlugin = require('optimize-css-assets-webpack-plugin')
1212
var SWPrecacheWebpackPlugin = require('sw-precache-webpack-plugin')
13+
var loadMinified = require('./load-minfied')
1314

1415
var env = {{#if_or unit e2e}}process.env.NODE_ENV === 'testing'
1516
? require('../config/test.env')
@@ -68,8 +69,8 @@ var webpackConfig = merge(baseWebpackConfig, {
6869
},
6970
// necessary to consistently work with multiple chunks via CommonsChunkPlugin
7071
chunksSortMode: 'dependency',
71-
serviceWorkerLoader: `<script>${fs.readFileSync(path.join(__dirname,
72-
'./service-worker-prod.js'), 'utf-8')}</script>`
72+
serviceWorkerLoader: `<script>${loadMinified(path.join(__dirname,
73+
'./service-worker-prod.js'))}</script>`
7374
}),
7475
// split vendor js into its own file
7576
new webpack.optimize.CommonsChunkPlugin({

template/package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,8 @@
9797
"webpack": "^2.6.1",
9898
"webpack-dev-middleware": "^1.10.0",
9999
"webpack-hot-middleware": "^2.18.0",
100-
"webpack-merge": "^4.1.0"
100+
"webpack-merge": "^4.1.0",
101+
"uglify-es": "^3.0.25"
101102
},
102103
"engines": {
103104
"node": ">= 4.0.0",

0 commit comments

Comments
 (0)