X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=eslint.config.js;h=19a2957d2af4edc5bdb9dea8e7a8306d0227e365;hb=HEAD;hp=4b1c621a05269051d3476712155a562a754a407a;hpb=12c527c5cc57ef94ee1753a7e7a800838a6357ca;p=poolifier.git diff --git a/eslint.config.js b/eslint.config.js index 4b1c621a..6ec8d2a3 100644 --- a/eslint.config.js +++ b/eslint.config.js @@ -2,12 +2,9 @@ import cspellConfigs from '@cspell/eslint-plugin/configs' import js from '@eslint/js' import { defineFlatConfig } from 'eslint-define-config' import jsdoc from 'eslint-plugin-jsdoc' -import nodePlugin from 'eslint-plugin-n' import simpleImportSort from 'eslint-plugin-simple-import-sort' import globals from 'globals' -import neostandard from 'neostandard' -// eslint-disable-next-line n/no-extraneous-import -import tseslint from 'typescript-eslint' +import neostandard, { plugins } from 'neostandard' export default defineFlatConfig([ { @@ -15,19 +12,30 @@ export default defineFlatConfig([ }, cspellConfigs.recommended, js.configs.recommended, - ...nodePlugin.configs['flat/mixed-esm-and-cjs'], + plugins.promise.configs['flat/recommended'], + ...plugins.n.configs['flat/mixed-esm-and-cjs'], jsdoc.configs['flat/recommended-typescript'], - ...tseslint.config( - ...tseslint.configs.strictTypeChecked, - ...tseslint.configs.stylisticTypeChecked - ), + { + rules: { + 'jsdoc/check-tag-names': [ + 'warn', + { + typed: true, + definedTags: ['defaultValue', 'experimental', 'typeParam'], + }, + ], + }, + }, ...neostandard({ ts: true, globals: { - ...globals.node, ...globals.mocha, }, }), + ...plugins['typescript-eslint'].config( + ...plugins['typescript-eslint'].configs.strictTypeChecked, + ...plugins['typescript-eslint'].configs.stylisticTypeChecked + ), { languageOptions: { parserOptions: { @@ -54,7 +62,6 @@ export default defineFlatConfig([ 'Quadflieg', 'neostandard', 'poolifier', - 'tseslint', ], }, }, @@ -73,15 +80,21 @@ export default defineFlatConfig([ }, { files: ['**/*.js', '**/*.mjs', '**/*.cjs'], - ...tseslint.configs.disableTypeChecked, + ...plugins['typescript-eslint'].configs.disableTypeChecked, }, // examples specific configuration { files: ['examples/**/*.ts'], rules: { + '@typescript-eslint/no-unsafe-argument': 'off', '@typescript-eslint/no-unsafe-call': 'off', + '@typescript-eslint/no-unsafe-return': 'off', '@typescript-eslint/no-unsafe-assignment': 'off', '@typescript-eslint/no-unsafe-member-access': 'off', + '@typescript-eslint/no-unnecessary-type-assertion': 'off', + '@typescript-eslint/no-redundant-type-constituents': 'off', + '@typescript-eslint/return-await': 'off', + '@typescript-eslint/restrict-template-expressions': 'off', }, }, {