eslint.config.js (36 lines of code) (raw):

const { defineConfig, globalIgnores } = require('eslint/config'); const js = require('@eslint/js'); const tsParser = require('@typescript-eslint/parser'); const tsPlugin = require('@typescript-eslint/eslint-plugin'); const prettierPlugin = require('eslint-plugin-prettier'); const prettierConfig = require('eslint-config-prettier'); const globals = require('globals'); module.exports = defineConfig([ globalIgnores(['dist/**', 'jest.config.ts']), { ...js.configs.recommended, files: ['**/*.ts'], languageOptions: { parser: tsParser, parserOptions: { project: './tsconfig.json', }, globals: { ...globals.node, ...globals.jest, console: true, }, }, plugins: { '@typescript-eslint': tsPlugin, prettier: prettierPlugin, }, rules: { ...tsPlugin.configs.recommended.rules, ...prettierConfig.rules, 'prettier/prettier': 'error', '@typescript-eslint/no-unused-vars': ['warn', { argsIgnorePattern: '^_' }], '@typescript-eslint/ban-ts-comment': 'off' }, }, ]);