You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
50 lines
1.2 KiB
50 lines
1.2 KiB
const DEPS_MAP = {
|
|
base: {
|
|
eslint: '^6.7.2',
|
|
'eslint-plugin-vue': '^6.2.2'
|
|
},
|
|
airbnb: {
|
|
'@vue/eslint-config-airbnb': '^5.0.2',
|
|
'eslint-plugin-import': '^2.20.2'
|
|
},
|
|
prettier: {
|
|
'@vue/eslint-config-prettier': '^6.0.0',
|
|
'eslint-plugin-prettier': '^3.3.1',
|
|
prettier: '^2.2.1'
|
|
},
|
|
standard: {
|
|
'@vue/eslint-config-standard': '^5.1.2',
|
|
'eslint-plugin-import': '^2.20.2',
|
|
'eslint-plugin-node': '^11.1.0',
|
|
'eslint-plugin-promise': '^4.2.1',
|
|
'eslint-plugin-standard': '^4.0.0'
|
|
},
|
|
typescript: {
|
|
'@vue/eslint-config-typescript': '^7.0.0',
|
|
'@typescript-eslint/eslint-plugin': '^4.18.0',
|
|
'@typescript-eslint/parser': '^4.18.0'
|
|
}
|
|
}
|
|
|
|
exports.DEPS_MAP = DEPS_MAP
|
|
|
|
exports.getDeps = function (api, preset, rootOptions = {}) {
|
|
const deps = Object.assign({}, DEPS_MAP.base, DEPS_MAP[preset])
|
|
|
|
if (rootOptions.vueVersion === '3') {
|
|
Object.assign(deps, { 'eslint-plugin-vue': '^7.0.0' })
|
|
}
|
|
|
|
if (api.hasPlugin('typescript')) {
|
|
Object.assign(deps, DEPS_MAP.typescript)
|
|
}
|
|
|
|
if (api.hasPlugin('babel') && !api.hasPlugin('typescript')) {
|
|
Object.assign(deps, {
|
|
'babel-eslint': '^10.1.0'
|
|
})
|
|
}
|
|
|
|
return deps
|
|
}
|