72 lines
2.0 KiB
JavaScript
72 lines
2.0 KiB
JavaScript
import withNuxt from './.nuxt/eslint.config.mjs'
|
|
|
|
export default withNuxt(
|
|
{
|
|
// https://eslint.org/docs/user-guide/configuring#configuration-cascading-and-hierarchy
|
|
// This option interrupts the configuration hierarchy at this file
|
|
// Remove this if you have an higher level ESLint config file (it usually happens into a monorepos)
|
|
root: true,
|
|
// parser: '@typescript-eslint/parser',
|
|
parserOptions: {
|
|
ecmaVersion: '2021', // Allows for the parsing of modern ECMAScript features
|
|
parser: '@typescript-eslint/parser',
|
|
},
|
|
env: {
|
|
node: true,
|
|
browser: true,
|
|
'vue/setup-compiler-macros': true,
|
|
},
|
|
|
|
// Rules order is important, please avoid shuffling them
|
|
extends: ['plugin:vue/vue3-recommended', 'eslint:recommended'],
|
|
plugins: [
|
|
// https://eslint.vuejs.org/user-guide/#why-doesn-t-it-work-on-vue-files
|
|
// required to lint *.vue files
|
|
'vue',
|
|
],
|
|
globals: {
|
|
ga: 'readonly', // Google Analytics
|
|
cordova: 'readonly',
|
|
__statics: 'readonly',
|
|
__QUASAR_SSR__: 'readonly',
|
|
__QUASAR_SSR_SERVER__: 'readonly',
|
|
__QUASAR_SSR_CLIENT__: 'readonly',
|
|
__QUASAR_SSR_PWA__: 'readonly',
|
|
process: 'readonly',
|
|
Capacitor: 'readonly',
|
|
chrome: 'readonly',
|
|
},
|
|
|
|
// add your custom rules here
|
|
rules: {
|
|
'no-param-reassign': 'off',
|
|
'no-void': 'off',
|
|
'no-nested-ternary': 'off',
|
|
'max-classes-per-file': 'off',
|
|
'prefer-promise-reject-errors': 'off',
|
|
|
|
// allow debugger during development only
|
|
'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off',
|
|
|
|
// custom
|
|
'vue/require-prop-types': 0,
|
|
'vue/html-indent': ['error', 'tab'],
|
|
'vue/multi-word-component-names': 0,
|
|
indent: ['error', 'tab'],
|
|
'linebreak-style': ['error', 'unix'],
|
|
quotes: ['error', 'single'],
|
|
semi: ['error', 'always'],
|
|
'space-before-function-paren': ['error', 'always'],
|
|
'comma-dangle': ['error', 'always-multiline'],
|
|
'no-multiple-empty-lines': ['error', { 'max': 1, 'maxEOF': 0 }],
|
|
},
|
|
overrides: [
|
|
{
|
|
files: ['*.html'],
|
|
rules: {
|
|
'vue/comment-directive': 'off',
|
|
},
|
|
},
|
|
],
|
|
}
|
|
) |