Skip to content

Commit

Permalink
fix(eslint-config): split react and vue config correctly
Browse files Browse the repository at this point in the history
  • Loading branch information
JounQin committed Oct 22, 2019
1 parent 8ad8f86 commit ce82dd8
Showing 1 changed file with 32 additions and 19 deletions.
51 changes: 32 additions & 19 deletions packages/eslint-config/overrides.js
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ try {
require.resolve('@1stg/babel-preset/config')
} catch (e) {}

exports.js = {
const jsBase = {
files: '*.{mjs,js,jsx}',
parser: 'babel-eslint',
parserOptions: configFile && {
Expand All @@ -48,6 +48,8 @@ exports.js = {
},
}

exports.js = jsBase

const TS_CONFIGS = [
tryFile(resolve('tsconfig.eslint.json')) ||
tryFile(resolve('tsconfig.base.json')) ||
Expand Down Expand Up @@ -306,14 +308,13 @@ exports.angular = [
},
]

const jsx = {
const reactJsx = {
extends: [
'standard-jsx', // for Vue
isReactAvailable && 'standard-react',
isReactAvailable && 'plugin:react/recommended',
'standard-react',
'plugin:react/recommended',
'prettier',
isReactAvailable && 'prettier/react',
].filter(Boolean),
'prettier/react',
],
settings: {
react: {
version: 'detect',
Expand All @@ -336,7 +337,7 @@ exports.react = [
],
},
},
jsx,
reactJsx,
),
{
files: '*.tsx',
Expand All @@ -363,19 +364,31 @@ exports.reactTs = {
},
}

exports.vue = Object.assign({}, tsBase, {
files: ['*.vue'],
parserOptions: {
parser: '@typescript-eslint/parser',
extraFileExtensions: ['.vue'],
},
extends: tsBase.extends.concat('plugin:vue/recommended', 'prettier/vue'),
})
const vueExtends = ['standard-jsx', 'plugin:vue/recommended', 'prettier/vue']

exports.vue = [
Object.assign({}, jsBase, {
parser: 'vue-eslint-parser',
extends: vueExtends,
parserOptions: {
parser: jsBase.parser,
},
}),
Object.assign({}, tsBase, {
parser: 'vue-eslint-parser',
files: '*.{vue,ts,tsx}',
parserOptions: {
parser: '@typescript-eslint/parser',
extraFileExtensions: ['.vue'],
},
extends: tsBase.extends.concat(vueExtends),
}),
]

exports.mdx = Object.assign({}, jsx, {
exports.mdx = Object.assign({}, reactJsx, {
files: '*.{md,mdx}',
extends: jsx.extends.concat(['plugin:mdx/recommended']),
settings: Object.assign({}, jsx.settings, resolveSettings),
extends: reactJsx.extends.concat(['plugin:mdx/recommended']),
settings: Object.assign({}, reactJsx.settings, resolveSettings),
})

const nonSourceRules = {
Expand Down

0 comments on commit ce82dd8

Please sign in to comment.