| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- const js = require('@eslint/js')
- const tsPlugin = require('@typescript-eslint/eslint-plugin')
- const tsParser = require('@typescript-eslint/parser')
- const vuePlugin = require('eslint-plugin-vue')
- const vueParser = require('vue-eslint-parser')
- module.exports = [
- {
- ignores: [
- 'dist/**',
- 'node_modules/**',
- 'eslint.config.cjs'
- ]
- },
- js.configs.recommended,
- ...tsPlugin.configs['flat/recommended'],
- ...vuePlugin.configs['flat/recommended'],
- {
- files: ['**/*.{js,jsx,cjs,mjs,ts,tsx,cts,mts,vue}'],
- languageOptions: {
- ecmaVersion: 'latest',
- sourceType: 'module',
- globals: {
- window: 'readonly',
- document: 'readonly',
- navigator: 'readonly',
- localStorage: 'readonly',
- console: 'readonly',
- setTimeout: 'readonly',
- clearTimeout: 'readonly',
- setInterval: 'readonly',
- clearInterval: 'readonly',
- HTMLElement: 'readonly',
- HTMLInputElement: 'readonly',
- MouseEvent: 'readonly',
- Event: 'readonly',
- Node: 'readonly'
- },
- parserOptions: {
- parser: tsParser
- }
- },
- rules: {
- 'vue/multi-word-component-names': 'off'
- }
- },
- {
- files: ['**/*.vue'],
- languageOptions: {
- parser: vueParser,
- parserOptions: {
- ecmaVersion: 'latest',
- sourceType: 'module',
- parser: tsParser
- }
- }
- }
- ]
|