UNPKG

zoro-cli

Version:

https://github.com/vuejs/vue-cli

44 lines (41 loc) 1.21 kB
module.exports = ({ api, options }) => { const { lintOnSave } = options if (lintOnSave) { const extensions = ['.js', '.jsx', '.ts', '.tsx', '.vue'] // eslint-loader doesn't bust cache when eslint config changes // so we have to manually generate a cache identifier that takes the config // into account. const { cacheIdentifier } = api.genCacheConfig( 'eslint-loader', { 'eslint-loader': require('eslint-loader/package.json').version, eslint: require('eslint/package.json').version, }, [ '.eslintrc.js', '.eslintrc.yaml', '.eslintrc.yml', '.eslintrc.json', '.eslintrc', 'package.json', ] ) api.chainWebpack(webpackConfig => { webpackConfig.module .rule('eslint') .pre() .exclude.add(/node_modules/) .end() .test(/\.(vue|(j|t)sx?)$/) .use('eslint-loader') .loader('eslint-loader') .options({ extensions, cache: true, cacheIdentifier, emitWarning: options.lintOnSave !== 'error', formatter: require('eslint/lib/formatters/codeframe'), }) }) } }