5.4.1 • Published 10 months ago

@padoa/eslint-plugin v5.4.1

Weekly downloads
-
License
-
Repository
github
Last release
10 months ago

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 :

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"
},