1 line
No EOL
2.5 KiB
JavaScript
1 line
No EOL
2.5 KiB
JavaScript
import{Linter as e}from"eslint";import{defineConfig as t,globalIgnores as n}from"eslint/config";import r from"globals";import i from"@eslint/js";import a from"eslint-plugin-functional";import o from"typescript-eslint";import s from"eslint-plugin-perfectionist";import c from"eslint-plugin-unicorn";const l={name:`JavaScript`,rules:{...i.configs.recommended.rules,"array-callback-return":[`error`,{allowVoid:!0,checkForEach:!0}],"max-params":[`error`,{max:3}],"no-nested-ternary":`off`,"no-unassigned-vars":`error`,"no-unneeded-ternary":[`error`,{defaultAssignment:!1}],"no-unreachable-loop":`error`,"no-use-before-define":`error`,"no-useless-assignment":`error`,yoda:[`error`,`never`]}},u={name:`Programmation fonctionnelle`,plugins:{functional:a},rules:{...a.configs.noExceptions.rules,...a.configs.noMutations.rules,...a.configs.externalTypeScriptRecommended.rules,...a.configs.stylistic.rules,"@typescript-eslint/array-type":[`error`,{default:`generic`,readonly:`generic`}],"functional/prefer-immutable-types":[`error`,{enforcement:`ReadonlyShallow`}],"functional/prefer-tacit":`off`,"functional/readonly-type":[`error`,`generic`],"functional/type-declaration-immutability":[`error`,{ignoreInterfaces:!1,rules:[{comparator:`AtLeast`,fixer:!1,identifiers:`^(?!I?Mutable).+`,immutability:`ReadonlyShallow`,suggestions:!1}]}]}},d={plugins:s.configs[`recommended-natural`].plugins??{},rules:s.configs[`recommended-natural`].rules??{}},f=(e,t)=>e.find(e=>e.name===t)??{},p=f(o.configs.strictTypeChecked,`typescript-eslint/base`),m=f(o.configs.strictTypeChecked,`typescript-eslint/eslint-recommended`),h=f(o.configs.strictTypeChecked,`typescript-eslint/strict-type-checked`),g=f(o.configs.stylisticTypeChecked,`typescript-eslint/stylistic-type-checked`),_={languageOptions:p.languageOptions??{},name:`TypeScript`,plugins:p.plugins??{},rules:{...m.rules,...h.rules,...g.rules}},v={name:`Unicorn`,plugins:{unicorn:c},rules:{...c.configs.unopinionated.rules,"unicorn/catch-error-name":[`error`],"unicorn/consistent-empty-array-spread":[`error`],"unicorn/custom-error-definition":[`error`],"unicorn/explicit-length-check":[`error`,{"non-zero":`not-equal`}],"unicorn/no-nested-ternary":[`error`]}},y=t([n([`dist/**/*`],`Ignore le dossier de compilation`),{files:[`**/*.js`,`**/*.ts`],name:`Fichiers à analyser`},{languageOptions:{ecmaVersion:`latest`,globals:{...r.browser,...r.builtin,...r.es2026,...r.node},parserOptions:{ecmaVersion:`latest`,projectService:!0,sourceType:`module`,tsconfigRootDir:import.meta.dirname}},name:`Configuration du projet`},l,_,u,v,d]);export{y as configTypescriptNavigateur}; |