diff options
author | silverwind <me@silverwind.io> | 2019-11-17 22:39:06 +0100 |
---|---|---|
committer | Lauris BH <lauris@nix.lv> | 2019-11-17 23:39:06 +0200 |
commit | f8bd90ba60b0c362d3e39ddf702cac0e0df2b0ab (patch) | |
tree | bf0d009550720440d5e7db505b5dafec1450777e /webpack.config.js | |
parent | 06984bbcbf43ca1ebb8ef8cee98553a41e3c2e0f (diff) | |
download | gitea-f8bd90ba60b0c362d3e39ddf702cac0e0df2b0ab.tar.gz gitea-f8bd90ba60b0c362d3e39ddf702cac0e0df2b0ab.zip |
enable lazy-loading of gitgraph.js (#9036)
- moved gitgraph.js to web_src and made it importable and es6-compatible
- created new webpack chunk for gitgraph
- enabled CSS loader in webpack
- enabled async/await syntax via regenerator-runtime
- added script to ensure webpack chunks are loaded correctly
- disable terser's comment extraction to prevent .LICENCE files
gitgraph.js has many issues:
1. it is incompatible with ES6 because of strict-mode violations
1. it does not export anything
1. it's css has weird styles like for `body`
1. it is not available on npm
I fixed points 1-3 in our version so it's now loadable in webpack. We should eventually consider alternatives.
Diffstat (limited to 'webpack.config.js')
-rw-r--r-- | webpack.config.js | 27 |
1 files changed, 23 insertions, 4 deletions
diff --git a/webpack.config.js b/webpack.config.js index 4fdf4ba5a4..7efde9503e 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -4,17 +4,24 @@ const TerserPlugin = require('terser-webpack-plugin'); module.exports = { mode: 'production', entry: { - index: ['./web_src/js/index', './web_src/js/draw'] + index: ['./web_src/js/index'] }, devtool: 'source-map', output: { path: path.resolve(__dirname, 'public/js'), - filename: 'index.js' + filename: 'index.js', + chunkFilename: '[name].js', }, optimization: { minimize: true, minimizer: [new TerserPlugin({ sourceMap: true, + extractComments: false, + terserOptions: { + output: { + comments: false, + }, + }, })], }, module: { @@ -33,10 +40,22 @@ module.exports = { corejs: 3, } ] - ] + ], + plugins: [ + [ + '@babel/plugin-transform-runtime', + { + regenerator: true, + } + ] + ], } } - } + }, + { + test: /\.css$/i, + use: ['style-loader', 'css-loader'], + }, ] } }; |