diff options
author | Joas Schilling <213943+nickvergessen@users.noreply.github.com> | 2019-10-01 17:20:49 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-10-01 17:20:49 +0200 |
commit | 7dc5bbae39413e3986bbc35ad512582f073143cb (patch) | |
tree | 594bd3e5619d3876258ed21e71826fbd5af487a5 /webpack.common.js | |
parent | 6a2e2cfdf1cc805ebf852a8ca8abaafa2e5597b9 (diff) | |
parent | b9bc2417e7a8dc81feb0abe20359bedaf864f790 (diff) | |
download | nextcloud-server-7dc5bbae39413e3986bbc35ad512582f073143cb.tar.gz nextcloud-server-7dc5bbae39413e3986bbc35ad512582f073143cb.zip |
Merge pull request #17263 from nextcloud/enhancement/eslint
Add eslint global nextcloud config
Diffstat (limited to 'webpack.common.js')
-rw-r--r-- | webpack.common.js | 143 |
1 files changed, 78 insertions, 65 deletions
diff --git a/webpack.common.js b/webpack.common.js index 695dcc9c226..2dc69b201a4 100644 --- a/webpack.common.js +++ b/webpack.common.js @@ -1,20 +1,21 @@ -const path = require('path'); -const merge = require('webpack-merge'); -const { VueLoaderPlugin } = require('vue-loader'); +/* eslint-disable camelcase */ +const path = require('path') +const merge = require('webpack-merge') +const { VueLoaderPlugin } = require('vue-loader') -const core = require('./core/webpack'); -const accessibility = require('./apps/accessibility/webpack'); +const core = require('./core/webpack') -const comments = require('./apps/comments/webpack'); -const files_sharing = require('./apps/files_sharing/webpack'); -const files_trashbin = require('./apps/files_trashbin/webpack'); -const files_versions = require('./apps/files_versions/webpack'); -const oauth2 = require('./apps/oauth2/webpack'); -const systemtags = require('./apps/systemtags/webpack'); -const settings = require('./apps/settings/webpack'); -const twofactor_backupscodes = require('./apps/twofactor_backupcodes/webpack'); -const updatenotifications = require('./apps/updatenotification/webpack'); -const workflowengine = require('./apps/workflowengine/webpack'); +const accessibility = require('./apps/accessibility/webpack') +const comments = require('./apps/comments/webpack') +const files_sharing = require('./apps/files_sharing/webpack') +const files_trashbin = require('./apps/files_trashbin/webpack') +const files_versions = require('./apps/files_versions/webpack') +const oauth2 = require('./apps/oauth2/webpack') +const settings = require('./apps/settings/webpack') +const systemtags = require('./apps/systemtags/webpack') +const twofactor_backupscodes = require('./apps/twofactor_backupcodes/webpack') +const updatenotifications = require('./apps/updatenotification/webpack') +const workflowengine = require('./apps/workflowengine/webpack') module.exports = [] .concat( @@ -31,55 +32,67 @@ module.exports = [] updatenotifications, workflowengine ) - .map(config => - merge.smart({ - module: { - rules: [ - { - test: /\.css$/, - use: ['style-loader', 'css-loader'] - }, - { - test: /\.scss$/, - use: ['style-loader', 'css-loader', 'sass-loader'] - }, - { - test: /\.js$/, - loader: 'babel-loader', - exclude: /node_modules/ - }, - { - test: /\.vue$/, - loader: 'vue-loader' - }, - { - test: /\.(png|jpg|gif)$/, - loader: 'url-loader', - options: { - name: '[name].[ext]?[hash]', - limit: 8192 - } - }, - { - test: /\.handlebars/, - loader: "handlebars-loader", - query: { - extensions: '.handlebars' - } + .map(config => merge.smart({ + module: { + rules: [ + { + test: /\.css$/, + use: ['vue-style-loader', 'css-loader'] + }, + { + test: /\.scss$/, + use: ['vue-style-loader', 'css-loader', 'sass-loader'] + }, + { + test: /\.(js|vue)$/, + loader: 'eslint-loader', + // no checks against vendors, modules or handlebar compiled files + exclude: /node_modules|vendor|templates\.js/, + enforce: 'pre', + options: { + // we cannot simply use the eslint binary as we + // don't want to parse all the js files so let's + // use it from within webpack and only check + // against our compiled files + fix: process.env.ESLINT_FIX === 'true' } - ] - }, - plugins: [ - new VueLoaderPlugin() - ], - resolve: { - alias: { - OC: path.resolve(__dirname, './core/src/OC'), - OCA: path.resolve(__dirname, './core/src/OCA'), - // make sure to use the handlebar runtime when importing - handlebars: 'handlebars/runtime' }, - extensions: ['*', '.js', '.vue', '.json'] - } - }, config) - ); + { + test: /\.vue$/, + loader: 'vue-loader', + exclude: /node_modules/ + }, + { + test: /\.js$/, + loader: 'babel-loader', + exclude: /node_modules/ + }, + { + test: /\.(png|jpg|gif)$/, + loader: 'url-loader', + options: { + name: '[name].[ext]?[hash]', + limit: 8192 + } + }, + { + test: /\.handlebars/, + loader: 'handlebars-loader', + query: { + extensions: '.handlebars' + } + } + + ] + }, + plugins: [new VueLoaderPlugin()], + resolve: { + alias: { + OC: path.resolve(__dirname, './core/src/OC'), + OCA: path.resolve(__dirname, './core/src/OCA'), + // make sure to use the handlebar runtime when importing + handlebars: 'handlebars/runtime' + }, + extensions: ['*', '.js', '.vue'] + } + }, config)) |