UNPKG

776 BPlain TextView Raw
1import Berun from '@berun/berun'
2
3// FIX-DEPENDENCIES
4require.resolve('eslint-loader')
5
6/**
7 * run the linter.
8 * It's important to do this before Babel processes the JS.
9 */
10export const ruleESlint = (berun: Berun, options) => {
11 berun.webpack.module
12 .rule('eslint')
13 .test(/\.(js|jsx|mjs|ts|tsx)$/)
14 .enforce('pre')
15 .include.merge([options.paths.appSrc])
16 .end()
17 .exclude.add(/node_modules/)
18 .end()
19 .use('eslint')
20 .loader(require.resolve('eslint-loader'))
21 .end()
22
23 const _webpackOldToConfig = berun.webpack.toConfig
24 berun.webpack.toConfig = (...rest) => {
25 berun.webpack.module
26 .rule('eslint')
27 .use('eslint')
28 .options(berun.eslint.toConfig())
29
30 return _webpackOldToConfig.call(berun.webpack, ...rest)
31 }
32}