diff options
author | John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com> | 2021-03-25 11:53:32 +0300 |
---|---|---|
committer | Julius Härtl <jus@bitgrid.net> | 2021-03-30 10:33:33 +0300 |
commit | d357789a71fbb535a7b0ad632f9d1ca84d38f368 (patch) | |
tree | c5e58e02729655fc850572d6639e068da0bcb879 /webpack.js | |
parent | ea9d7652a6bd564a5636fba097d9531514250a9b (diff) |
Lint fix
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
Diffstat (limited to 'webpack.js')
-rw-r--r-- | webpack.js | 62 |
1 files changed, 27 insertions, 35 deletions
@@ -1,43 +1,35 @@ -const { merge } = require('webpack-merge') const path = require('path') - const webpackConfig = require('@nextcloud/webpack-vue-config') +const webpackRules = require('@nextcloud/webpack-vue-config/rules') + 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'] - } +webpackConfig.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'), } -const mergedConfigs = merge(config, webpackConfig) +webpackRules.RULE_JS.test = /\.m?js$/ +webpackRules.RULE_JS.exclude = BabelLoaderExcludeNodeModulesExcept([ + '@nextcloud/dialogs', + '@nextcloud/event-bus' +]) + +// Replaces rules array +webpackConfig.module.rules = Object.values(webpackRules) + +// Add typescript rule +webpackConfig.module.rules.push({ + test: /\.tsx?$/, + use: ['babel-loader', 'ts-loader'], + exclude: /node_modules/ +}) -// 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) +// Add typescript extension resolver +webpackConfig.resolve.extensions.push('.tsx') -// Merge rules by replacing existing tests -module.exports = mergedConfigs +// Export final config +module.exports = webpackConfig |