48 lines
1.4 KiB
JavaScript
48 lines
1.4 KiB
JavaScript
/* eslint-env node */
|
|
require('@rushstack/eslint-patch/modern-module-resolution')
|
|
|
|
module.exports = {
|
|
root: true,
|
|
env: {
|
|
browser: true,
|
|
node: true,
|
|
},
|
|
extends: [
|
|
'eslint:recommended',
|
|
'plugin:vue/vue3-essential',
|
|
'@vue/eslint-config-typescript/recommended',
|
|
'@vue/eslint-config-prettier',
|
|
],
|
|
overrides: [
|
|
{
|
|
files: ['cypress/e2e/**.{cy,spec}.{js,ts,jsx,tsx}'],
|
|
extends: ['plugin:cypress/recommended'],
|
|
},
|
|
{
|
|
// https://typescript-eslint.io/docs/linting/troubleshooting/#i-get-errors-from-the-no-undef-rule-about-global-variables-not-being-defined-even-though-there-are-no-typescript-errors
|
|
files: ['*.vue'],
|
|
rules: {
|
|
'no-undef': 'off',
|
|
},
|
|
},
|
|
{
|
|
files: ['*.story.vue', '*.story.controls.vue'],
|
|
rules: {
|
|
'@typescript-eslint/no-empty-function': 'off',
|
|
'@typescript-eslint/no-unused-vars': 'off',
|
|
'vue/require-v-for-key': 'off',
|
|
'vue/no-mutating-props': 'off',
|
|
},
|
|
},
|
|
],
|
|
rules: {
|
|
// see https://vuejs.org/guide/extras/reactivity-transform.html
|
|
'vue/no-setup-props-destructure': 'off',
|
|
// TODO: discuss if we want to force this
|
|
'vue/multi-word-component-names': 'off',
|
|
// see https://eslint.org/docs/latest/rules/no-prototype-builtins#when-not-to-use-it
|
|
'no-prototype-builtins': 'off',
|
|
// as long as it is explicit, it is fine to use any
|
|
'@typescript-eslint/no-explicit-any': 'off',
|
|
},
|
|
}
|