diff options
author | Mike Greiling <mike@pixelcog.com> | 2018-06-06 03:25:13 -0500 |
---|---|---|
committer | Mike Greiling <mike@pixelcog.com> | 2018-06-07 16:35:34 -0500 |
commit | 6d96b9dd6be8d27d3030e7a6de08ec3ba419643e (patch) | |
tree | 0bd8b7d742677734ca563cfa02658d40fdc17f3b /config/webpack.config.js | |
parent | 41aa6bd8776570b491747b95c146255c0b58a870 (diff) | |
download | gitlab-ce-6d96b9dd6be8d27d3030e7a6de08ec3ba419643e.tar.gz |
add monaco-editor-webpack-plugin and update webpack config
Diffstat (limited to 'config/webpack.config.js')
-rw-r--r-- | config/webpack.config.js | 36 |
1 files changed, 4 insertions, 32 deletions
diff --git a/config/webpack.config.js b/config/webpack.config.js index d6ab32972fb..e760ce1cb8c 100644 --- a/config/webpack.config.js +++ b/config/webpack.config.js @@ -4,8 +4,8 @@ const glob = require('glob'); const webpack = require('webpack'); const VueLoaderPlugin = require('vue-loader/lib/plugin'); const StatsWriterPlugin = require('webpack-stats-plugin').StatsWriterPlugin; -const CopyWebpackPlugin = require('copy-webpack-plugin'); const CompressionPlugin = require('compression-webpack-plugin'); +const MonacoWebpackPlugin = require('monaco-editor-webpack-plugin'); const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin; const ROOT_PATH = path.resolve(__dirname, '..'); @@ -168,15 +168,7 @@ module.exports = { name: '[name].[hash:8].[ext]', }, }, - { - test: /monaco-editor\/\w+\/vs\/loader\.js$/, - use: [ - { loader: 'exports-loader', options: 'l.global' }, - { loader: 'imports-loader', options: 'l=>{},this=>l,AMDLoader=>this,module=>undefined' }, - ], - }, ], - noParse: [/monaco-editor\/\w+\/vs\//], }, optimization: { @@ -226,6 +218,9 @@ module.exports = { // enable vue-loader to use existing loader rules for other module types new VueLoaderPlugin(), + // automatically configure monaco editor web workers + new MonacoWebpackPlugin(), + // prevent pikaday from including moment.js new webpack.IgnorePlugin(/moment/, /pikaday/), @@ -235,29 +230,6 @@ module.exports = { jQuery: 'jquery', }), - // copy pre-compiled vendor libraries verbatim - new CopyWebpackPlugin([ - { - from: path.join( - ROOT_PATH, - `node_modules/monaco-editor/${IS_PRODUCTION ? 'min' : 'dev'}/vs` - ), - to: 'monaco-editor/vs', - transform: function(content, path) { - if (/\.js$/.test(path) && !/worker/i.test(path) && !/typescript/i.test(path)) { - return ( - '(function(){\n' + - 'var define = this.define, require = this.require;\n' + - 'window.define = define; window.require = require;\n' + - content + - '\n}.call(window.__monaco_context__ || (window.__monaco_context__ = {})));' - ); - } - return content; - }, - }, - ]), - // compression can require a lot of compute time and is disabled in CI IS_PRODUCTION && !NO_COMPRESSION && new CompressionPlugin(), |