import type { Linter } from "eslint"; import jsdoc from "eslint-plugin-jsdoc"; const flatRecommended = jsdoc.configs["flat/recommended-typescript"]; const flatStylistic = jsdoc.configs["flat/stylistic-typescript"]; export const règlesJsDoc: Readonly = { name: "JSDoc", plugins: flatRecommended.plugins ?? {}, rules: { ...flatRecommended.rules, ...flatStylistic.rules, /** * Vérifie que l'indentation au sein des blocs _JSDoc_ est cohérente. * * @link [GitHub](https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/check-indentation.md) */ "jsdoc/check-indentation": "warn", /** * TODO: Finir la description. * * @link [GitHub](https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/check-line-alignment.md) */ "jsdoc/check-line-alignment": "warn", /** * TODO: Finir la description. * * @link [GitHub](https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/check-tag-names.md) */ "jsdoc/check-tag-names": ["warn", { definedTags: ["link"] }], /** * TODO: Finir la description * * @link [GitHub](https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/lines-before-block.md) */ "jsdoc/lines-before-block": "off", /** * TODO: Finir la description. * * @link [GitHub](https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/no-blank-block-descriptions.md) */ "jsdoc/no-blank-block-descriptions": "warn", /** * TODO: Finir la description. * * @link [GitHub](https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/no-blank-blocks.md) */ "jsdoc/no-blank-blocks": "warn", /** * TODO: Finir la description. * * @link [GitHub](https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-hyphen-before-param-description.md) */ "jsdoc/require-hyphen-before-param-description": ["warn", "never"], /** * TODO: Finir la description. * * @link [GitHub](https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-throws.md) */ "jsdoc/require-throws": "warn", /** * TODO: Finir la description. * * @link [GitHub](https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/sort-tags.md) */ "jsdoc/sort-tags": "warn", /** * Impose la présence de lignes (ou non) entre les _tags_. * * Désactivé ici car elle rentre en conflit avec l'extension _Prettier_ pour _JSDoc_. * * @link [GitHub](https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/tag-lines.md) */ "jsdoc/tag-lines": "off", }, };