45 lines
1.2 KiB
JavaScript
45 lines
1.2 KiB
JavaScript
import eslint from '@eslint/js';
|
|
import node from 'eslint-plugin-node';
|
|
import jsdoc from 'eslint-plugin-jsdoc';
|
|
import prettier from 'eslint-plugin-prettier';
|
|
import unusedImports from 'eslint-plugin-unused-imports';
|
|
import globals from 'globals';
|
|
export default [
|
|
eslint.configs.recommended,
|
|
// prettier.configs.recommended,
|
|
{
|
|
files: ['src/**/*.js', 'src/**/*.d.js', 'src/**/*.dto.js', 'src/**/*.cjs'],
|
|
languageOptions: {
|
|
sourceType: 'module',
|
|
globals: {
|
|
...globals.node,
|
|
atob: 'readonly',
|
|
structuredClone: 'readonly',
|
|
},
|
|
},
|
|
plugins: {
|
|
node,
|
|
prettier,
|
|
jsdoc,
|
|
unusedImports,
|
|
},
|
|
rules: {
|
|
'no-async-promise-executor': 'off',
|
|
'jsdoc/check-param-names': 'error',
|
|
'jsdoc/check-types': 'error',
|
|
'jsdoc/require-param-type': 'error',
|
|
'jsdoc/require-returns-type': 'error',
|
|
'jsdoc/check-syntax': 'error',
|
|
'jsdoc/valid-types': 'warn',
|
|
'prettier/prettier': [
|
|
'error',
|
|
{
|
|
endOfLine: 'auto',
|
|
},
|
|
],
|
|
...prettier.configs.recommended.rules,
|
|
},
|
|
},
|
|
{ ignores: ['node_modules', '.dev', '.devsrc', '.local', '**/*.test.ts', '**/*.test.js', 'src/global.d.ts'] },
|
|
];
|