5.4.1 • Published 7 months ago

@padoa/eslint-plugin v5.4.1

Weekly downloads
-
License
-
Repository
github
Last release
7 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"
},