5.4.1 • Published 7 months ago
@padoa/eslint-plugin v5.4.1
Padoa Lint
Ce package contient l'ensemble des règles de linting et formatage commune pour les repo Typescript de Padoa, ainsi que les repo Frontend :
- ESLint
- configurations à combiner (base, backend & prettier par exemple)
- un plugin ajoutant des règles custom Padoa
- des configurations de règles à réutiliser (ex:
const { noRestrictedImportsPaths } = require('@padoa/eslint-plugin/lib/rule-config');
)
Liste des règles :
- https://eslint.org/docs/rules/
- https://github.com/typescript-eslint/typescript-eslint/tree/main/packages/eslint-plugin#supported-rules
- https://github.com/angular-eslint/angular-eslint#functionality
- https://github.com/jest-community/eslint-plugin-jest#rules
- https://github.com/veritem/eslint-plugin-vitest#rules
Problèmes connus
Aucun en ce moment. 🤞
Backend or package config (EsLint + Prettier)
1- Installation
yarn add @padoa/eslint-plugin @padoa/prettier -D
2- Créer un fichier .eslintrc.mjs
à la racine du repository avec cette config
module.exports = {
parser: '@typescript-eslint/parser',
parserOptions: {
project: './tsconfig.json',
tsconfigRootDir: __dirname,
},
extends: [
'plugin:@padoa/base',
'plugin:@padoa/backend',
'plugin:@padoa/prettier',
],
plugins: ['@padoa'],
rules: {
// Si besoin d'ajouter ou surcharger des règles spécifiques au TypeScript
},
};
Frontend config (EsLint + angular-eslint + Prettier)
1- Installation
yarn add @padoa/eslint-plugin @padoa/prettier @angular-eslint/builder @angular-eslint/eslint-plugin @angular-eslint/eslint-plugin-template @angular-eslint/schematics @angular-eslint/template-parser -D
2- Créer un fichier .eslintrc.mjs
à la racine du repository avec cette config
module.exports = {
overrides: [
{
files: ['*.ts'],
parser: '@typescript-eslint/parser',
parserOptions: {
project: './tsconfig.json',
tsconfigRootDir: __dirname,
},
extends: [
'plugin:@padoa/base',
'plugin:@padoa/angular',
'plugin:@padoa/prettier',
],
plugins: ['@padoa'],
rules: {
// Si besoin d'ajouter ou surcharger des règles spécifiques au TypeScript
},
},
{
files: ['*.html'],
extends: [
'plugin:@padoa/base',
'plugin:@padoa/angular-template',
'plugin:@padoa/prettier',
],
plugins: ['@padoa'],
rules: {
// Si besoin d'ajouter ou surcharger des règles spécifiques au HTML et template Angular
}
},
],
};
3- Ajouter cette configuration pour les fichiers des style à lint-stagged
dans votre package.json
**
"lint-staged": {
"*.{js,ts,html}": "eslint --fix"
},