.eslintrc.cjs 1.44 KB
const babelParserPath = require.resolve('@babel/eslint-parser', {
  paths: [require.resolve('eslint-config-taro')],
})
const vuePluginPath = require.resolve('eslint-plugin-vue')
const vueParserPath = require.resolve('vue-eslint-parser')

module.exports = {
  root: true,
  env: {
    es6: true,
    node: true,
    browser: true,
    commonjs: true,
    es2021: true,
  },
  extends: ['eslint:recommended'],
  parser: babelParserPath,
  parserOptions: {
    ecmaVersion: 'latest',
    sourceType: 'module',
    requireConfigFile: false,
    babelOptions: {
      configFile: false,
    },
  },
  globals: {
    wx: 'readonly',
    getCurrentPages: 'readonly',
    defineProps: 'readonly',
    defineEmits: 'readonly',
    defineExpose: 'readonly',
    defineOptions: 'readonly',
    defineSlots: 'readonly',
    withDefaults: 'readonly',
  },
  rules: {
    'no-console': ['error', { allow: ['warn', 'error'] }],
  },
  overrides: [
    {
      files: ['**/*.vue'],
      parser: vueParserPath,
      plugins: ['vue'],
      parserOptions: {
        parser: babelParserPath,
        ecmaVersion: 'latest',
        sourceType: 'module',
        requireConfigFile: false,
        babelOptions: {
          configFile: false,
        },
      },
      rules: {
        'vue/script-setup-uses-vars': 'error',
      },
      settings: {
        'import/resolver': {
          node: true,
        },
      },
    },
  ],
  settings: {
    vue: {
      version: '3.0',
    },
  },
}