feat!: ESLint 9 Fixes (#307)

* chore: update postinstall scripts
* chore(lint): eslint automated fixes
* feat!: drop standard, sonarjs to work with eslint9

- This config allows arrow functions.

BREAKING CHANGES:

- Switches to eslint-config-eslint from eslint-config-standard.
- Also drops eslint-plugins-sonarjs because it doesn't work well
  with eslint9, and wants eslint8 and related plugins.
- Switches from eslint-plugin-prettier to eslint-config-prettier.
This commit is contained in:
Ismo Vuorinen
2024-11-25 03:35:13 +02:00
committed by GitHub
parent 006dc9b947
commit 6d6f4582dd
16 changed files with 1295 additions and 760 deletions

View File

@@ -1,16 +1,32 @@
'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 standard = require('eslint-config-standard')
const pluginN = require('eslint-plugin-n')
const pluginPromise = require('eslint-plugin-promise')
const pluginImport = require('eslint-plugin-import')
const pluginPrettier = require('eslint-plugin-prettier')
const pluginSonarJS = require('eslint-plugin-sonarjs')
/**
* @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: {
@@ -30,12 +46,10 @@ module.exports = [
plugins: {
n: pluginN,
import: pluginImport,
promise: pluginPromise,
prettier: pluginPrettier,
sonarjs: pluginSonarJS
},
rules: standard.rules
promise: pluginPromise
}
},
configPrettier,
{
ignores: ['coverage/', 'dist/', 'lib/', 'node_modules/']
}