eslint.config.mjs
Rama main · réplica de lectura del repositorio original.
import js from '@eslint/js';
import globals from 'globals';
const frontendProjectGlobals = {
MarkdownIt: 'readonly',
Prism: 'readonly',
QRCode: 'readonly',
mermaid: 'readonly',
};
const frontendStaticRules = {
'getter-return': 'error',
'no-constant-binary-expression': 'error',
'no-dupe-args': 'error',
'no-dupe-keys': 'error',
'no-self-assign': 'error',
'no-self-compare': 'error',
'no-unreachable': 'error',
'no-unsafe-finally': 'error',
'valid-typeof': 'error',
};
export default [
{
ignores: [
'**/*.min.js',
'frontend/js/vendor/**',
],
},
{
files: ['electron/**/*.js'],
languageOptions: {
ecmaVersion: 'latest',
sourceType: 'commonjs',
globals: {
...globals.node,
},
},
rules: frontendStaticRules,
},
{
files: ['electron/**/*.mjs'],
languageOptions: {
ecmaVersion: 'latest',
sourceType: 'module',
globals: {
...globals.node,
},
},
rules: frontendStaticRules,
},
{
files: ['frontend/js/**/*.test.js'],
languageOptions: {
ecmaVersion: 'latest',
sourceType: 'commonjs',
globals: {
...globals.node,
},
},
rules: frontendStaticRules,
},
{
files: ['frontend/js/**/*.js'],
ignores: ['frontend/js/**/*.test.js'],
languageOptions: {
ecmaVersion: 'latest',
sourceType: 'script',
globals: {
...globals.browser,
...frontendProjectGlobals,
},
},
rules: frontendStaticRules,
},
];