diff options
author | Richard Steinmetz <richard@steinmetz.cloud> | 2021-12-10 16:56:24 +0300 |
---|---|---|
committer | Richard Steinmetz <richard@steinmetz.cloud> | 2021-12-10 17:04:42 +0300 |
commit | 38a40a4ab66c184616a88490e98619b74fe74379 (patch) | |
tree | bf4a21aa3e68ce3aacf178d26649c56c83f837c6 /webpack.common.js | |
parent | d0017aa302b07964cd098f50b8c451e5076a1acc (diff) |
Lint webpack.common.js and improve js rule exclude
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
Diffstat (limited to 'webpack.common.js')
-rw-r--r-- | webpack.common.js | 54 |
1 files changed, 29 insertions, 25 deletions
diff --git a/webpack.common.js b/webpack.common.js index aa58521f5..8539ca98e 100644 --- a/webpack.common.js +++ b/webpack.common.js @@ -1,15 +1,16 @@ -const path = require('path'); -const CKEditorWebpackPlugin = require('@ckeditor/ckeditor5-dev-webpack-plugin'); -const {styles} = require('@ckeditor/ckeditor5-dev-utils'); -const { VueLoaderPlugin } = require('vue-loader'); +const path = require('path') +const CKEditorWebpackPlugin = require('@ckeditor/ckeditor5-dev-webpack-plugin') +const { styles } = require('@ckeditor/ckeditor5-dev-utils') +const { VueLoaderPlugin } = require('vue-loader') +const BabelLoaderExcludeNodeModulesExcept = require('babel-loader-exclude-node-modules-except') const plugins = [ // CKEditor needs its own plugin to be built using webpack. new CKEditorWebpackPlugin({ // See https://ckeditor.com/docs/ckeditor5/latest/features/ui-language.html - language: 'en' + language: 'en', }), - new VueLoaderPlugin() + new VueLoaderPlugin(), ] module.exports = { @@ -26,46 +27,49 @@ module.exports = { publicPath: '/js/', }, node: { - fs: 'empty' + fs: 'empty', }, module: { rules: [ { test: /\.css$/, - use: ['style-loader', 'css-loader'] + use: ['style-loader', 'css-loader'], }, { test: /\.scss$/, - use: ['style-loader', 'css-loader', 'sass-loader'] + use: ['style-loader', 'css-loader', 'sass-loader'], }, { test: /\.vue$/, - loader: 'vue-loader' + loader: 'vue-loader', }, { test: /\.js$/, loader: 'babel-loader', - exclude: /node_modules(?!(\/|\\)(@ckeditor|@nextcloud\/calendar-js|js-base64|)(\/|\\))/ + exclude: BabelLoaderExcludeNodeModulesExcept([ + '@ckeditor', + 'js-base64', + ]), }, { test: /\.(png|jpg|gif)$/, loader: 'file-loader', options: { - name: '[name].[ext]?[hash]' - } + name: '[name].[ext]?[hash]', + }, }, { test: /\.(svg)$/i, use: [ { - loader: 'svg-inline-loader' - } + loader: 'svg-inline-loader', + }, ], - exclude: path.join(__dirname, 'node_modules', '@ckeditor') + exclude: path.join(__dirname, 'node_modules', '@ckeditor'), }, { test: /ckeditor5-[^/\\]+[/\\]theme[/\\]icons[/\\][^/\\]+\.svg$/, - loader: 'raw-loader' + loader: 'raw-loader', }, { test: /ckeditor5-[^/\\]+[/\\].+\.css$/, @@ -74,14 +78,14 @@ module.exports = { themeImporter: { themePath: require.resolve('@ckeditor/ckeditor5-theme-lark'), }, - minify: true - }) - } - ] + minify: true, + }), + }, + ], }, - plugins: plugins, + plugins, resolve: { extensions: ['*', '.js', '.vue', '.json'], - symlinks: false - } -}; + symlinks: false, + }, +} |