'use strict' const globals = require('globals') const configEslint = require('eslint-config-eslint') const configPrettier = require('eslint-config-prettier') const pluginImport = require('eslint-plugin-import') const pluginJs = require('@eslint/js') const pluginN = require('eslint-plugin-n') const pluginPromise = require('eslint-plugin-promise') /** * @type { import("eslint").Linter.Config[] } config eslint configuration. */ module.exports = [ ...configEslint, { linterOptions: { reportUnusedDisableDirectives: 'warn' }, rules: { 'func-style': [ 'error', 'declaration', { allowArrowFunctions: true } ] } }, { files: ['**/*.{js,mjs,cjs}'], languageOptions: { globals: { ...globals.browser, ...globals.commonjs, ...globals.es2021, ...globals.node }, parserOptions: { ecmaVersion: 12 } } }, pluginJs.configs.recommended, { plugins: { n: pluginN, import: pluginImport, promise: pluginPromise } }, configPrettier, { ignores: ['coverage/', 'dist/', 'lib/', 'node_modules/'] } ]