summaryrefslogtreecommitdiffstats
path: root/webpack.config.js
diff options
context:
space:
mode:
authorsilverwind <me@silverwind.io>2019-11-17 22:39:06 +0100
committerLauris BH <lauris@nix.lv>2019-11-17 23:39:06 +0200
commitf8bd90ba60b0c362d3e39ddf702cac0e0df2b0ab (patch)
treebf0d009550720440d5e7db505b5dafec1450777e /webpack.config.js
parent06984bbcbf43ca1ebb8ef8cee98553a41e3c2e0f (diff)
downloadgitea-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.js27
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'],
+ },
]
}
};