UNPKG

3.95 kBMarkdownView Raw
1# Metalint
2
3[![Version][img-version]][link-version]
4[![Build][img-build]][link-build]
5[![Dependencies][img-dependencies]][link-dependencies]
6[![Coverage][img-coverage]][link-coverage]
7[![License][img-license]][link-license]
8
9> *Un linter pour les gouverner tous.*
10
11[Site Internet](https://regseb.github.io/metalint/)
12
13## Description
14
15**Metalint** est un outil pour analyser tous les fichiers de votre projet.
16L'analyse est déléguée à des linters (outils d'analyse statique de code source)
17ou des utilitaires selon le type de fichier :
18
19- Add-on de Firefox (WebExtension) :
20 [Add-ons
21 Linter](https://regseb.github.io/metalint/user/linters/addons-linter/) ;
22- CoffeeScript :
23 [CoffeeLint](https://regseb.github.io/metalint/user/linters/coffeelint/) ;
24- CSS (SCSS, Sass, Less) :
25 [CSSLint](https://regseb.github.io/metalint/user/linters/csslint/),
26 [doiuse](https://regseb.github.io/metalint/user/linters/doiuse/),
27 [lesshint](https://regseb.github.io/metalint/user/linters/lesshint/),
28 [PurgeCSS](https://regseb.github.io/metalint/user/linters/purgecss/) et
29 [stylelint](https://regseb.github.io/metalint/user/linters/stylelint/) ;
30- HTML : [HTMLHint](https://regseb.github.io/metalint/user/linters/htmlhint/) et
31 [htmllint](https://regseb.github.io/metalint/user/linters/htmllint/) ;
32- JavaScript : [ESLint](https://regseb.github.io/metalint/user/linters/eslint/),
33 [Flow](https://regseb.github.io/metalint/user/linters/flow-bin/),
34 [JSCS](https://regseb.github.io/metalint/user/linters/jscs/),
35 [JSHint](https://regseb.github.io/metalint/user/linters/jshint/) et
36 [JavaScript Standard
37 Style](https://regseb.github.io/metalint/user/linters/standard/) ;
38- JSON : [JSON-Lint](https://regseb.github.io/metalint/user/linters/json-lint/)
39 et [JSON Lint](https://regseb.github.io/metalint/user/linters/jsonlint/) ;
40- Markdown :
41 [MarkdownLint](https://regseb.github.io/metalint/user/linters/markdownlint/) ;
42- *package.json* (npm) :
43 [David DM](https://regseb.github.io/metalint/user/linters/david/) ;
44- TypeScript :
45 [TSLint](https://regseb.github.io/metalint/user/linters/tslint/) ;
46- YAML : [YAML Lint](https://regseb.github.io/metalint/user/linters/yaml-lint/).
47
48## Installation
49
50Vous pouvez installer Metalint en utilisant
51[npm](https://www.npmjs.com/package/metalint) :
52
53```shell
54npm install metalint --save-dev
55```
56
57## Configuration
58
59Tous les fichiers de configuration sont à regrouper dans le répertoire
60`.metalint/` qui doit être placé à la racine du projet. Le fichier
61`metalint.json` contient un objet JSON indiquant les linters à utiliser pour
62chaque fichier. Les autres fichiers contiennent les options spécifiques pour les
63linters.
64
65## Exemple
66
67Dans cet exemple du fichier de configuration `metalint.json`, Metalint analyse
68les fichiers JavaScript (non-minifiés), HTML et CSS ; avec respectivement les
69linters ESLint, HTMLHint et stylelint.
70
71```JSON
72{
73 "patterns": ["!/.git/", "!/node_modules/", "**"],
74 "checkers": [
75 {
76 "patterns": ["!*.min.js", "*.js"],
77 "linters": "eslint"
78 }, {
79 "patterns": "*.html",
80 "linters": "htmlhint"
81 }, {
82 "patterns": "*.css",
83 "linters": "stylelint"
84 }
85 ]
86}
87```
88
89## Usage
90
91```shell
92metalint
93```
94
95[img-version]:https://img.shields.io/npm/v/metalint.svg
96[img-build]:https://img.shields.io/travis/regseb/metalint.svg
97[img-dependencies]:https://img.shields.io/david/regseb/metalint.svg
98[img-coverage]:https://img.shields.io/coveralls/regseb/metalint.svg
99[img-license]:https://img.shields.io/badge/license-EUPL-blue.svg
100
101[link-version]:https://www.npmjs.com/package/metalint
102[link-build]:https://travis-ci.org/regseb/metalint
103[link-dependencies]:https://david-dm.org/regseb/metalint
104[link-coverage]:https://coveralls.io/github/regseb/metalint
105[link-license]:https://joinup.ec.europa.eu/collection/eupl/eupl-text-11-12
106 "Licence publique de l'Union européenne"