31 lines
856 B
JavaScript
31 lines
856 B
JavaScript
|
exports.config = api => {
|
||
|
const config = {
|
||
|
root: true,
|
||
|
env: { node: true },
|
||
|
extends: ['plugin:vue/essential'],
|
||
|
rules: {
|
||
|
'no-console': makeJSOnlyValue(`process.env.NODE_ENV === 'production' ? 'error' : 'off'`),
|
||
|
'no-debugger': makeJSOnlyValue(`process.env.NODE_ENV === 'production' ? 'error' : 'off'`)
|
||
|
}
|
||
|
}
|
||
|
if (!api.hasPlugin('typescript')) {
|
||
|
config.parserOptions = {
|
||
|
parser: 'babel-eslint'
|
||
|
}
|
||
|
}
|
||
|
return config
|
||
|
}
|
||
|
|
||
|
// __expression is a special flag that allows us to customize stringification
|
||
|
// output when extracting configs into standalone files
|
||
|
function makeJSOnlyValue (str) {
|
||
|
const fn = () => {}
|
||
|
fn.__expression = str
|
||
|
return fn
|
||
|
}
|
||
|
|
||
|
const baseExtensions = ['.js', '.jsx', '.vue']
|
||
|
exports.extensions = api => api.hasPlugin('typescript')
|
||
|
? baseExtensions.concat('.ts', '.tsx')
|
||
|
: baseExtensions
|