forked from CentroGeo/sisdai-graficas
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy patheslint.config.js
More file actions
121 lines (115 loc) · 4.23 KB
/
Copy patheslint.config.js
File metadata and controls
121 lines (115 loc) · 4.23 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
import js from '@eslint/js'
import pluginVue from 'eslint-plugin-vue'
import globals from 'globals'
import pluginVitest from '@vitest/eslint-plugin'
import skipFormatting from '@vue/eslint-config-prettier/skip-formatting'
/**
* Propiedades que configuran el eslint de este proyecto
*
* @property {Array} files Indica las extensiones de los archivos a los
* que le aplicará el linteo.
* @property {Array} ignores Indica los archivos y/o directorios que
* ignorará el linteo.
* @property {Object} languageOptions El ecosistema de Javascript tiene
* un variedad de tiempos de ejecución, versiones, extensiones y
* frameworks. Cada uno de estos tiene un soporte distinto para la
* sintaxis y las variables globales.
*
* - @property {string} languageOptions.ecmaVersion (default: "latest")
* Indica la versión de ECMAScript que soporta. Puede indicarse con el
* año (i.e., 2022) o la versiòn (i.e., 5). Eliga "latest" para utilizar
* la versión compatible más reciente.
* - @property {string} languageOptions.sourceType (default: "module")
* Indica el tipo código fuente de Javascript. Las opciones válidas son:
* - "script": para archivos de script tradicionales
* - "module": para" ECMAScript modules (ESM) .js y .mjs
* - "commonjs": para archivos CommonJS .cjs
* - @property {Object} languageOptions.globals Indica los objetos
* adicionales que deben agregarse de manera global durante el linteo.
* Por ejemplo:
*
* - Variables globales predefinidas. Eslint no proporciona conjuntos de
* variables globales predefinidas, además de las variables globales con
* el estándar ECMAScript que dependen de la version configurada. Puede
* utilizar el 'globals' package para habilitar todos los globals para un
* entorno específico.
*
* - Utilizando archivos de configuración. Para configurar variables globales
* dentro de un archivo de configuración, indique la propiedad de
* configuración en un objeto con el nombre clave para cada variable que
* necesite. Para cada variable global clave, asigne el color
* correspondiente igual a "writable" para permitir que la variable se
* sobrescriba o "readonly" para deshabilitar la sobrescritura.
*
* @property {Object} plugins Indica los complementos disponibles para el
* linteo de archivos. Los complementos pueden incluir:
*
* - Reglas personalizadas para validar si el código cumple cierta
* expectativa y qué hacer si no.
*
* - Configuraciones personalizadas. Por favor revisa la documentación del
* plugin para más detalles en cómo utilizar estas configuraciones.
*
* - Procesadores personalizados para extraer código Javscript desde otro
* tipo de archivos o código de preprocesamiento antes del linteo.
*
* @property {Object} rules Indica las reglas que cumplen con la
* expetativa del linteo. Pueden contener opciones de configuración
* adicional, modificar las ya existentes o agregar más mediante plugins.
* Para cambiar la exigencia de una regla se establece el id de la regla
* mediante:
*
* - "off" o 0: desactiva la regla.
* - "warn" o 1: activa la regla como advertencia
* - "error" o 2: activarla regla como error.
*/
export default [
{
name: 'app/files-to-lint',
files: ['**/*.{js,mjs,jsx,vue}'],
},
{
name: 'app/files-to-ignore',
ignores: [
'**/node_modules',
'**/package.json',
'**/package-lock.json',
'**/dist',
'docs/.vitepress/dist',
'docs/.vitepress/cache',
'**/coverage',
'**/libs',
'**/deprecated',
],
},
{
// @see https://eslint.org/docs/latest/use/configure/language-options
languageOptions: {
globals: {
...globals.browser,
},
},
// @see https://eslint.org/docs/latest/rules/
// @see https://eslint.org/docs/latest/use/configure/rules
// @see https://eslint.vuejs.org/rules/multi-word-component-names.html
rules: {
'no-new': 0,
eqeqeq: 'error',
'no-console': 'off',
'no-debugger': 'off',
'vue/multi-word-component-names': [
'error',
{
ignores: ['Layout', 'basico', 'default'],
},
],
},
},
js.configs.recommended,
...pluginVue.configs['flat/essential'],
{
...pluginVitest.configs.recommended,
files: ['src/**/__tests__/*'],
},
skipFormatting,
]