metalint
v0.18.0
Published
Un linter pour les gouverner tous.
Downloads
299
Maintainers
Readme
Metalint
Un linter pour les gouverner tous.
Description
Metalint est un outil pour analyser tous les fichiers de votre projet. L'analyse est déléguée à des linters (outils d'analyse statique de code source) :
Installation
Vous pouvez installer Metalint en utilisant npm :
npm install --save-dev --save-exact metalint
Configuration
Tous les fichiers de configuration sont à regrouper dans le répertoire
.metalint/
qui doit être placé à la racine du projet. Le fichier
metalint.config.js
export un objet JSON indiquant les linters à utiliser pour
chaque fichier. Les autres fichiers contiennent les options spécifiques pour les
linters.
Exemple
Dans cet exemple des fichiers de configuration, Metalint analyse les fichiers JavaScript (non-minifiés), HTML et CSS ; avec respectivement les linters ESLint, HTMLHint et Stylelint.
// .metalint/metalint.config.js
export default {
patterns: ["**", "!/.git/**", "!/node_modules/**"],
checkers: [
{
patterns: ["*.js", "!*.min.js"],
linters: "eslint",
},
{
patterns: "*.html",
linters: "htmlhint",
},
{
patterns: "*.css",
linters: "stylelint",
},
],
};
// .metalint/eslint.config.js
export default {
rules: {
quotes: ["error", "double"],
semi: ["error", "always"],
},
};
// .metalint/htmlhint.config.js
export default {
"attr-value-not-empty": false,
};
// .metalint/stylelint.config.js
export default {
rules: {
"color-no-invalid-hex": true,
},
};
Intégration
npm
Après avoir installé Metalint et les linters dans votre projet npm, vous pouvez
ajouter le script suivant dans votre package.json
:
{
"scripts": {
"lint": "metalint"
}
}
Metalint est maintenant utilisable avec la commande : npm run lint
GitHub Actions
Pour lancer Metalint dans vos GitHub Actions, vous pouvez utiliser le formateur
github
pour rapporter les problèmes dans les pull requests.
jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/setup-node@v4
- uses: actions/checkout@v4
with:
persist-credentials: false
- name: Install dependencies
run: npm ci
- name: Lint files
run: npm run lint -- --formatter github