Ctrl K
ComunidadGuías…

frontend/eslint.config.js

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
// Configuració d'ESLint del frontend.
//   npm run lint
import js from '@eslint/js'
import pluginVue from 'eslint-plugin-vue'
import globals from 'globals'
import errorUnic from './eslint-rules/errors-unics.js'

export default [
  { ignores: ['dist/**', 'dist-e2e/**', '.vite/**', 'test-results/**', 'playwright-report/**'] },
  js.configs.recommended,
  // Regles bàsiques ara; strongly-recommended i recommended, més endavant.
  ...pluginVue.configs['flat/essential'],
  {
    files: ['**/*.{js,vue}'],
    languageOptions: {
      ecmaVersion: 'latest',
      sourceType: 'module',
      globals: { ...globals.browser },
    },
  },
  {
    // Fitxers de configuració: s'executen amb Node, no al navegador.
    files: ['*.config.js', 'e2e/**/*.js'],
    languageOptions: { globals: { ...globals.node } },
  },
  {
    rules: {
      // `_nom`: paràmetre que es rep però no es fa servir; i el patró
      // `({ a, b, ...rest }) => rest` per treure camps d'un objecte.
      'no-unused-vars': ['error', { argsIgnorePattern: '^_', ignoreRestSiblings: true }],
    },
  },
  {
    files: ['src/**/*.{js,vue}'],
    plugins: { avisos: { rules: { 'error-unic': errorUnic } } },
    rules: { 'avisos/error-unic': 'error' },
  },
  {
    // El botó d'acceptar de les confirmacions d'esborrar, sempre vermell i
    // des d'un sol lloc: useConfirmaEsborrar (composables/useConfirmaEsborrar.js).
    files: ['src/**/*.{js,vue}'],
    ignores: ['src/composables/useConfirmaEsborrar.js'],
    rules: {
      'no-restricted-syntax': [
        'error',
        {
          selector: "Property[key.name='acceptClass']",
          message: "Les confirmacions d'esborrar, amb useConfirmaEsborrar: el botó ja hi surt vermell.",
        },
        {
          selector: "CallExpression[callee.property.name='require'] Property[key.name='acceptLabel'] Literal[value='common.delete']",
          message: "Una confirmació amb «Elimina» s'ha de fer amb useConfirmaEsborrar, perquè el botó surti vermell.",
        },
      ],
    },
  },
]