diff options
author | John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com> | 2021-03-25 11:33:10 +0300 |
---|---|---|
committer | Julius Härtl <jus@bitgrid.net> | 2021-03-30 10:33:27 +0300 |
commit | ce808da6152c9292f37a6b3ea787fdea48655122 (patch) | |
tree | a9134bde4a34b3fb1d94c911d8f1b2825b675f37 /webpack.js | |
parent | 1d4752b4d70b524044559f7502416ad19d10e4d1 (diff) |
Migrate to @nextcloud/webpack-vue-config
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
Diffstat (limited to 'webpack.js')
-rw-r--r-- | webpack.js | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/webpack.js b/webpack.js new file mode 100644 index 00000000..43ce6fb5 --- /dev/null +++ b/webpack.js @@ -0,0 +1,43 @@ +const { merge } = require('webpack-merge') +const path = require('path') + +const webpackConfig = require('@nextcloud/webpack-vue-config') +const BabelLoaderExcludeNodeModulesExcept = require('babel-loader-exclude-node-modules-except') + +const config = { + entry: { + viewer: path.join(__dirname, 'src', 'viewer.js'), + files: path.join(__dirname, 'src', 'files.js'), + document: path.join(__dirname, 'src', 'document.js'), + admin: path.join(__dirname, 'src', 'admin.js'), + personal: path.join(__dirname, 'src', 'personal.js'), + }, + module: { + rules: [ + { + test: /\.js$/, + loader: 'babel-loader', + exclude: BabelLoaderExcludeNodeModulesExcept([ + '@nextcloud/dialogs', + '@nextcloud/event-bus' + ]), + }, + { + test: /\.tsx?$/, + use: ['babel-loader', 'ts-loader'], + exclude: /node_modules/ + }, + ], + }, + resolve: { + extensions: ['*', '.js', '.vue', '.json', '.tsx'] + } +} + +const mergedConfigs = merge(config, webpackConfig) + +// Remove duplicate rules by the `test` key +mergedConfigs.module.rules = mergedConfigs.module.rules.filter((v, i, a) => a.findIndex(t => (t.test.toString() === v.test.toString())) === i) + +// Merge rules by replacing existing tests +module.exports = mergedConfigs |