metalint 0.8.8 → 0.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (87) hide show
  1. package/LICENSE +21 -255
  2. package/README.md +35 -46
  3. package/package.json +67 -57
  4. package/{help/index.txt → src/bin/help.txt} +0 -0
  5. package/src/bin/index.js +140 -0
  6. package/src/core/formatter/checkstyle.js +165 -0
  7. package/{lib → src/core}/formatter/console.js +96 -66
  8. package/src/core/formatter/csv.js +103 -0
  9. package/src/core/formatter/json.js +86 -0
  10. package/src/core/formatter/unix.js +102 -0
  11. package/{lib → src/core}/glob.js +49 -50
  12. package/src/core/index.js +90 -0
  13. package/src/core/normalize.js +484 -0
  14. package/{lib → src/core}/severity.js +1 -6
  15. package/{lib → src/core}/wrapper/addons-linter.js +17 -26
  16. package/src/core/wrapper/coffeelint.js +41 -0
  17. package/src/core/wrapper/csslint.js +44 -0
  18. package/src/core/wrapper/doiuse.js +50 -0
  19. package/src/core/wrapper/eslint.js +62 -0
  20. package/{lib → src/core}/wrapper/flow-bin.js +24 -37
  21. package/src/core/wrapper/htmlhint.js +44 -0
  22. package/src/core/wrapper/htmllint.js +42 -0
  23. package/src/core/wrapper/jshint.js +45 -0
  24. package/src/core/wrapper/json-lint.js +47 -0
  25. package/{lib → src/core}/wrapper/jsonlint-mod.js +11 -21
  26. package/{lib → src/core}/wrapper/jsonlint.js +11 -21
  27. package/src/core/wrapper/lesshint.js +56 -0
  28. package/src/core/wrapper/markdownlint.js +49 -0
  29. package/src/core/wrapper/purgecss.js +58 -0
  30. package/{lib → src/core}/wrapper/standard.js +7 -19
  31. package/src/core/wrapper/stylelint.js +47 -0
  32. package/src/core/wrapper/yaml-lint.js +47 -0
  33. package/src/types.d.ts +33 -0
  34. package/types/formatter/checkstyle.d.ts +46 -0
  35. package/types/formatter/console.d.ts +42 -0
  36. package/types/formatter/csv.d.ts +38 -0
  37. package/types/formatter/json.d.ts +60 -0
  38. package/types/formatter/unix.d.ts +50 -0
  39. package/types/glob.d.ts +30 -0
  40. package/types/index.d.ts +14 -0
  41. package/types/normalize.d.ts +18 -0
  42. package/types/severity.d.ts +8 -0
  43. package/types/wrapper/addons-linter.d.ts +2 -0
  44. package/types/wrapper/coffeelint.d.ts +2 -0
  45. package/types/wrapper/csslint.d.ts +2 -0
  46. package/types/wrapper/doiuse.d.ts +2 -0
  47. package/types/wrapper/eslint.d.ts +2 -0
  48. package/types/wrapper/flow-bin.d.ts +2 -0
  49. package/types/wrapper/htmlhint.d.ts +2 -0
  50. package/types/wrapper/htmllint.d.ts +2 -0
  51. package/types/wrapper/jshint.d.ts +2 -0
  52. package/types/wrapper/json-lint.d.ts +2 -0
  53. package/types/wrapper/jsonlint-mod.d.ts +2 -0
  54. package/types/wrapper/jsonlint.d.ts +2 -0
  55. package/types/wrapper/lesshint.d.ts +2 -0
  56. package/types/wrapper/markdownlint.d.ts +2 -0
  57. package/types/wrapper/purgecss.d.ts +2 -0
  58. package/types/wrapper/standard.d.ts +2 -0
  59. package/types/wrapper/stylelint.d.ts +2 -0
  60. package/types/wrapper/yaml-lint.d.ts +2 -0
  61. package/CHANGELOG.md +0 -43
  62. package/bin/cli.js +0 -20
  63. package/bin/index.js +0 -143
  64. package/bin/init.js +0 -99
  65. package/help/init.txt +0 -17
  66. package/lib/formatter/checkstyle.js +0 -136
  67. package/lib/formatter/csv.js +0 -84
  68. package/lib/formatter/json.js +0 -51
  69. package/lib/formatter/unix.js +0 -77
  70. package/lib/index.js +0 -106
  71. package/lib/normalize.js +0 -462
  72. package/lib/wrapper/coffeelint.js +0 -65
  73. package/lib/wrapper/csslint.js +0 -67
  74. package/lib/wrapper/david.js +0 -114
  75. package/lib/wrapper/doiuse.js +0 -58
  76. package/lib/wrapper/eslint.js +0 -80
  77. package/lib/wrapper/htmlhint.js +0 -67
  78. package/lib/wrapper/htmllint.js +0 -61
  79. package/lib/wrapper/jscs.js +0 -68
  80. package/lib/wrapper/jshint.js +0 -63
  81. package/lib/wrapper/json-lint.js +0 -56
  82. package/lib/wrapper/lesshint.js +0 -75
  83. package/lib/wrapper/markdownlint.js +0 -72
  84. package/lib/wrapper/purgecss.js +0 -82
  85. package/lib/wrapper/stylelint.js +0 -71
  86. package/lib/wrapper/tslint.js +0 -77
  87. package/lib/wrapper/yaml-lint.js +0 -64
package/LICENSE CHANGED
@@ -1,255 +1,21 @@
1
- LICENCE PUBLIQUE DE L'UNION EUROPÉENNE v. 1.2
2
- EUPL © Union européenne 2007, 2016
3
-
4
- La présente licence publique de l'Union européenne («EUPL») s'applique à toute
5
- œuvre (telle que définie ci-dessous) fournie aux conditions prévues par la
6
- présente licence. Toute utilisation de l'œuvre autre que ce qu'autorise la
7
- présente licence est interdite (dans la mesure pareille utilisation est
8
- couverte par un droit du titulaire des droits d'auteur sur l'œuvre). L'œuvre
9
- est fournie aux conditions prévues par la présente licence quand le donneur de
10
- licence (tel que défini ci-dessous) a placé la mention suivante immédiatement
11
- après la déclaration relative au droit d'auteur sur l'œuvre:
12
- Sous licence EUPL
13
- ou a exprimé de toute autre manière sa volonté de fournir l'œuvre sous licence
14
- EUPL.
15
-
16
- 1.Définitions
17
- Dans la présente licence, on entend par:
18
- — «licence», la présente licence,
19
- — «œuvre originale», l'œuvre ou le logiciel distribué ou communiqué par le
20
- donneur de licence en vertu de la présente licence, sous forme de code source
21
- ou de code objet, selon le cas,
22
- — «œuvres dérivées», les œuvres ou logiciels qui pourraient être créés par le
23
- licencié sur la base de l'œuvre originale ou des modifications qui y auraient
24
- été appliquées. La présente licence ne définit pas le degré de modification ou
25
- de dépendance requis par rapport à l'œuvre originale pour qu'une œuvre soit
26
- qualifiée d'œuvre dérivée; cette question est réglée par la loi applicable en
27
- matière de droit d'auteur dans le pays visé à l'article 15,
28
- — «œuvre», l'œuvre originale ou ses œuvres dérivées,
29
- — «code source», la forme de l'œuvre, lisible par l'homme, la plus appropriée
30
- pour que des personnes puissent l'examiner et la modifier,
31
- — «code objet», l'œuvre codée, généralement après compilation, destinée à être
32
- exécutée en tant que programme par un ordinateur, — «donneur de licence», la
33
- personne physique ou morale qui distribue ou communique l'œuvre sous licence,
34
- — «contributeur», toute personne physique ou morale qui modifie l'œuvre sous
35
- licence, ou contribue de toute autre manière à en faire une œuvre dérivée,
36
- — «licencié» ou «vous», toute personne physique ou morale qui utilise l'œuvre
37
- conformément à la licence,
38
- — «distribution» ou «communication», tout acte de vente, don, prêt, location,
39
- distribution, communication, transmission ou mise à disposition, en ligne ou
40
- hors ligne, de copies de l'œuvre, et tout acte donnant accès à ses fonctions
41
- essentielles à toute autre personne physique ou morale.
42
-
43
- 2.Portée des droits accordés par la licence
44
- Par la présente, le donneur de licence vous concède, pour la durée de la
45
- protection de son droit d'auteur sur l'œuvre originale, une licence mondiale,
46
- libre de redevances, non exclusive et pouvant faire l'objet de sous-licences,
47
- en vertu de laquelle vous pouvez:
48
- — utiliser l'œuvre en toute circonstance et pour tout usage,
49
- — reproduire l'œuvre,
50
- — modifier l'œuvre et créer des œuvres dérivées sur la base de l'œuvre,
51
- — communiquer l'œuvre au public, ce qui inclut le droit de mettre à
52
- disposition du public ou de lui présenter l'œuvre ou des copies de l'œuvre et
53
- d'en effectuer des représentations publiques, le cas échéant,
54
- — distribuer l'œuvre ou des copies de celle-ci,
55
- — prêter et louer l'œuvre ou des copies de celles-ci,
56
- — accorder en sous-licence des droits sur l'œuvre ou sur des copies de
57
- celle-ci.
58
- Ces droits peuvent être exercés sur tout support et format, connu ou encore à
59
- inventer, dans la mesure où le droit applicable le permet. Dans les pays où des
60
- droits moraux s'appliquent, le donneur de licence renonce à son droit d'exercer
61
- son droit moral dans la mesure permise par la loi afin que la licence sur les
62
- droits patrimoniaux susmentionnés produise ses effets. Le donneur de licence
63
- vous concède un droit d'usage libre de redevances et non exclusif sur tout
64
- brevet qu'il détient, dans la mesure nécessaire à l'exercice des droits qui
65
- vous sont concédés sur l'œuvre sous licence.
66
-
67
- 3.Communication du code source
68
- Le donneur de licence fournit l'œuvre sous forme de code source ou de code
69
- objet. Si l'œuvre est fournie sous forme de code objet, le donneur de licence
70
- accompagne chacune des copies de l'œuvre qu'il distribue d'une copie lisible
71
- par machine du code source de l'œuvre ou indique, dans un avis qui suit la
72
- déclaration relative au droit d'auteur jointe à l'œuvre, l'endroit où le code
73
- source est aisément et gratuitement accessible aussi longtemps que le donneur
74
- de licence continue à distribuer ou communiquer l'œuvre.
75
-
76
- 4.Limitations du droit d'auteur
77
- Rien dans la présente licence n'a pour but de priver le licencié des avantages
78
- résultant de toute exception ou limitation aux droits exclusifs des titulaires
79
- de droits sur l'œuvre, de l'épuisement de ces droits ou de toute autre
80
- limitation qui s'y applique.
81
-
82
- 5.Obligations du licencié
83
- La concession des droits susmentionnés est soumise à des restrictions et à des
84
- obligations pour le licencié. Ces obligations sont les suivantes:
85
-
86
- Droit d'attribution: le licencié laisse intactes toutes les déclarations
87
- concernant le droit d'auteur, le brevet ou les marques et toutes les
88
- déclarations concernant la licence et l'exclusion de garantie. Le licencié
89
- assortit chaque copie de l'œuvre qu'il distribue ou communique d'une copie de
90
- ces déclarations et d'une copie de la licence. Le licencié veille à ce que
91
- toute œuvre dérivée soit assortie d'un avis bien visible indiquant que l'œuvre
92
- a été modifiée et mentionnant la date de la modification.
93
-
94
- Clause copyleft: si le licencié distribue ou communique des copies d'œuvres
95
- originales ou d'œuvres dérivées, cette distribution ou cette communication est
96
- effectuée dans les conditions prévues par la présente licence ou une version
97
- ultérieure de cette licence, sauf si l'œuvre originale est expressément
98
- distribuée en vertu de la présente version de la licence uniquement, par
99
- exemple au moyen de la mention «EUPL v. 1.2 seulement». Le licencié (qui
100
- devient donneur de licence) ne peut pas, en ce qui concerne l'œuvre ou les
101
- œuvres dérivées, offrir ou imposer des conditions supplémentaires qui
102
- restreignent ou modifient les conditions de la licence.
103
-
104
- Clause de compatibilité: si le licencié distribue ou communique des œuvres
105
- dérivées ou des copies de telles œuvres basées à la fois sur l'œuvre et sur une
106
- autre œuvre concédée sous une licence compatible, la distribution ou la
107
- communication peut être faite aux conditions de cette licence compatible. Aux
108
- fins de la présente clause, une «licence compatible» est l'une des licences
109
- énumérées dans l'appendice de la présente licence. Dans le cas où les
110
- obligations du licencié au titre de la licence compatible entrent en conflit
111
- avec les obligations du licencié au titre de la présente licence, les premières
112
- prévalent.
113
-
114
- Fourniture du code source: lorsqu'il distribue ou communique des copies de
115
- l'œuvre, le licencié fournit une copie lisible par machine du code source ou
116
- indique l'endroit où ce code source restera aisément et gratuitement accessible
117
- aussi longtemps que le donneur de licence continuera à distribuer ou
118
- communiquer l'œuvre.
119
-
120
- Protection des droits: la présente licence ne donne pas le droit d'utiliser les
121
- noms commerciaux, les marques commerciales, les marques de service ou les noms
122
- du donneur de licence, sauf dans la mesure nécessaire, conformément à une
123
- utilisation raisonnable et aux pratiques habituelles, pour décrire l'origine de
124
- l'œuvre et reproduire la déclaration concernant le droit d'auteur.
125
-
126
- 6.Chaîne d'auteurs
127
- Le donneur de licence initial garantit que les droits d'auteur sur l'œuvre
128
- originale concédés par la présente licence lui appartiennent ou lui ont été
129
- donnés sous licence, et qu'il a le pouvoir et la capacité de concéder la
130
- licence. Tout contributeur garantit que les droits d'auteur sur les
131
- modifications qu'il apporte à l'œuvre lui appartiennent ou lui ont été donnés
132
- sous licence, et qu'il a le pouvoir et la capacité de concéder la licence.
133
- Chaque fois que vous acceptez la licence, le donneur de licence initial et les
134
- contributeurs successifs vous concèdent une licence sur leurs contributions à
135
- l'œuvre selon les conditions de la présente licence.
136
-
137
- 7.Exclusion de garantie
138
- L'œuvre est un travail en cours, amélioré de manière continue par de nombreux
139
- contributeurs. Elle constitue un travail inachevé et peut dès lors contenir des
140
- défauts ou bogues inhérents à ce type de développement. Pour cette raison,
141
- l'œuvre est fournie sous licence telle quelle, sans aucune garantie d'aucune
142
- sorte la concernant, y compris, sans que cette liste soit exhaustive, eu égard
143
- à sa qualité marchande, son aptitude à un usage particulier, l'absence de
144
- défauts ou d'erreurs, l'exactitude ou la non-violation de droits de propriété
145
- intellectuelle autres que le droit d'auteur comme prévu à l'article 6 de la
146
- présente licence. Cette exclusion de garantie est une partie essentielle de la
147
- licence et une condition de la concession de droits sur l'œuvre.
148
-
149
- 8.Exclusion de responsabilité
150
- Sauf dans les cas de faute intentionnelle ou de dommages directement causés à
151
- des personnes physiques, le donneur de licence n'est en aucun cas responsable
152
- des dommages, quelle qu'en soit la nature, directs ou indirects, matériels ou
153
- moraux, résultant de la licence ou de l'utilisation de l'œuvre, y compris, sans
154
- que cette liste soit exhaustive, des dommages causés par les atteintes à la
155
- réputation, les interruptions de travail, les défaillances ou le mauvais
156
- fonctionnement de matériel informatique, les pertes de données ou tout autre
157
- dommage économique, même si le donneur de licence a été informé de la
158
- possibilité de tels dommages. Cependant, le donneur de licence est responsable
159
- en vertu des dispositions législatives et réglementaires relatives à la
160
- responsabilité du fait des produits, dans la mesure où celles-ci sont
161
- applicables à l'œuvre.
162
-
163
- 9.Accords additionnels
164
- Lorsque vous distribuez l'œuvre, vous pouvez choisir de conclure un accord
165
- additionnel définissant des obligations ou des services compatibles avec la
166
- présente licence. Cependant, si vous acceptez des obligations, vous ne pouvez
167
- agir qu'en votre nom et sous votre seule responsabilité, et non au nom du
168
- donneur de licence initial ou de tout autre contributeur, et seulement si vous
169
- acceptez d'indemniser, de défendre et de mettre hors de cause tous les
170
- contributeurs s'ils encourent une responsabilité quelconque ou si des
171
- réclamations sont formulées à leur encontre du fait que vous avez accepté des
172
- garanties ou des responsabilités additionnelles.
173
-
174
- 10.Acceptation de la licence
175
- Vous pouvez exprimer votre accord sur le contenu de la présente licence en
176
- cliquant sur l'icône «J'accepte» placée au bas d'une fenêtre faisant apparaître
177
- le texte de la présente licence, ou par toute autre manifestation de
178
- consentement similaire, conformément à la loi applicable. Le fait de cliquer
179
- sur cette icône indique votre acceptation claire et irrévocable de la présente
180
- licence et de toutes ses conditions. De même, vous acceptez irrévocablement la
181
- présente licence et toutes ses conditions dès lors que vous exercez un des
182
- droits qui vous sont concédés par l'article 2 de la présente licence, tels que
183
- l'utilisation de l'œuvre, la création d'une œuvre dérivée ou la distribution ou
184
- la communication de l'œuvre ou de copies de l'œuvre.
185
-
186
- 11.Information du public
187
- En cas de distribution ou de communication électronique de l'œuvre (par exemple
188
- en permettant son téléchargement à distance), le canal de distribution ou le
189
- support (par exemple un site web) doit au minimum fournir au public les
190
- informations requises par le droit applicable en ce qui concerne le donneur de
191
- licence et la licence ainsi que la manière dont le licencié peut accéder à
192
- celle-ci, la conclure, la stocker et la reproduire.
193
-
194
- 12.Fin de la licence
195
- La licence et les droits qu'elle concède prennent automatiquement fin dès que
196
- le licencié viole l'une de ses conditions. Un tel événement ne met pas fin aux
197
- licences des personnes ayant reçu l'œuvre sous licence de la part du licencié,
198
- pour autant que ces personnes respectent pleinement la licence.
199
-
200
- 13.Divers
201
- Sous réserve de l'article 9, la licence représente l'entièreté de l'accord
202
- entre les parties quant à l'œuvre. Le fait qu'une clause quelconque de la
203
- licence soit invalide ou inapplicable en vertu du droit applicable n'affecte
204
- pas la validité ou l'applicabilité de la licence dans son ensemble. Une telle
205
- clause sera interprétée ou modifiée dans la mesure nécessaire pour la rendre
206
- valide ou applicable. La Commission européenne peut publier d'autres versions
207
- linguistiques ou de nouvelles versions de la présente licence ou des versions
208
- actualisées de son appendice, dans la mesure de ce qui est nécessaire et
209
- raisonnable, sans réduire la portée des droits accordés par la licence. Les
210
- nouvelles versions de la licence seront publiées avec un numéro de version
211
- unique. Toutes les versions linguistiques de la présente licence, approuvées
212
- par la Commission européenne, ont la même valeur. Les parties peuvent se
213
- prévaloir de la version linguistique de leur choix.
214
-
215
- 14.Juridiction compétente
216
- Sans préjudice d'accords spécifiques entre les parties,
217
- — tout litige résultant de l'interprétation de la présente licence survenant
218
- entre des institutions, organes, bureaux ou agences de l'Union européenne en
219
- tant que donneurs de licence et un licencié relève de la juridiction de la Cour
220
- de justice de l'Union européenne, conformément à l'article 272 du traité sur le
221
- fonctionnement de l'Union européenne,
222
- — tout litige survenant entre d'autres parties et résultant de l'interprétation
223
- de la présente licence relève de la compétence exclusive de la juridiction
224
- compétente du lieu où le donneur de licence réside ou exerce son activité
225
- principale.
226
-
227
- 15.Droit applicable
228
- Sans préjudice d'accords spécifiques entre les parties,
229
- — la présente licence est régie par le droit de l'État membre de l'Union
230
- européenne où le donneur de licence réside ou a son siège social ou statutaire,
231
- — la présente licence est régie par le droit belge si le donneur de licence ne
232
- réside pas et n'a pas son siège social ou statutaire dans un État membre de
233
- l'Union européenne.
234
-
235
- Appendice
236
- Aux fins de l'article 5 de l'EUPL, les licences compatibles sont les suivantes:
237
- — GNU General Public License (GPL) v. 2, v. 3
238
- — GNU Affero General Public License (AGPL) v. 3
239
- — Open Software License (OSL) v. 2.1, v. 3.0
240
- — Eclipse Public License (EPL) v. 1.0
241
- — CeCILL v. 2.0, v. 2.1
242
- — Mozilla Public licence (MPL) v. 2
243
- — GNU Lesser General Public licence (LGPL) v. 2.1, v. 3
244
- — Creative Commons Attribution-ShareAlike v. 3.0 Unported (CC BY-SA 3.0) pour
245
- les œuvres autres que logicielles
246
- — Licence publique de l'Union européenne (EUPL) v. 1.1, v. 1.2
247
- — Licence libre du Québec — Réciprocité (LiLiQ-R) ou Réciprocité forte
248
- (LiLiQ-R+)
249
- La Commission européenne pourra actualiser le présent appendice afin d'y
250
- inclure des versions ultérieures des licences ci-dessus sans produire de
251
- nouvelle version de l'EUPL, dès lors que ces versions prévoient la concession
252
- des droits visés à l'article 2 de la présente licence et empêchent
253
- l'appropriation exclusive du code source couvert.
254
- Tout autre changement ou ajout au présent appendice requiert la production
255
- d'une nouvelle version de l'EUPL.
1
+ MIT License
2
+
3
+ Copyright (c) 2020-2022 Sébastien Règne
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -1,14 +1,11 @@
1
1
  # Metalint
2
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]
3
+ [![npm][img-npm]][link-npm]
4
+ [![build][img-build]][link-build]
5
+ [![coverage][img-coverage]][link-coverage]
6
+ [![semver][img-semver]][link-semver]
8
7
 
9
- > *Un linter pour les gouverner tous.*
10
-
11
- [Site Internet](https://regseb.github.io/metalint/)
8
+ > _Un linter pour les gouverner tous._
12
9
 
13
10
  ## Description
14
11
 
@@ -16,9 +13,8 @@
16
13
  L'analyse est déléguée à des linters (outils d'analyse statique de code source)
17
14
  ou des utilitaires selon le type de fichier :
18
15
 
19
- - Add-on de Firefox (WebExtension) :
20
- [Add-ons
21
- Linter](https://regseb.github.io/metalint/user/linters/addons-linter/) ;
16
+ - WebExtension : [Add-ons
17
+ Linter](https://regseb.github.io/metalint/user/linters/addons-linter/) ;
22
18
  - CoffeeScript :
23
19
  [CoffeeLint](https://regseb.github.io/metalint/user/linters/coffeelint/) ;
24
20
  - CSS (SCSS, Sass, Less) :
@@ -31,26 +27,20 @@ ou des utilitaires selon le type de fichier :
31
27
  [htmllint](https://regseb.github.io/metalint/user/linters/htmllint/) ;
32
28
  - JavaScript : [ESLint](https://regseb.github.io/metalint/user/linters/eslint/),
33
29
  [Flow](https://regseb.github.io/metalint/user/linters/flow-bin/),
34
- [JSCS](https://regseb.github.io/metalint/user/linters/jscs/),
35
30
  [JSHint](https://regseb.github.io/metalint/user/linters/jshint/) et
36
31
  [JavaScript Standard
37
- Style](https://regseb.github.io/metalint/user/linters/standard/) ;
32
+ Style](https://regseb.github.io/metalint/user/linters/standard/) ;
38
33
  - JSON : [JSON-Lint](https://regseb.github.io/metalint/user/linters/json-lint/),
39
34
  [JSON Lint](https://regseb.github.io/metalint/user/linters/jsonlint/) et
40
35
  [JSON Lint
41
- (mod)](https://regseb.github.io/metalint/user/linters/jsonlint-mod/) ;
36
+ (mod)](https://regseb.github.io/metalint/user/linters/jsonlint-mod/) ;
42
37
  - Markdown :
43
38
  [MarkdownLint](https://regseb.github.io/metalint/user/linters/markdownlint/) ;
44
- - *package.json* (npm) :
45
- [David DM](https://regseb.github.io/metalint/user/linters/david/) ;
46
- - TypeScript :
47
- [TSLint](https://regseb.github.io/metalint/user/linters/tslint/) ;
48
39
  - YAML : [YAML Lint](https://regseb.github.io/metalint/user/linters/yaml-lint/).
49
40
 
50
41
  ## Installation
51
42
 
52
- Vous pouvez installer Metalint en utilisant
53
- [npm](https://www.npmjs.com/package/metalint) :
43
+ Vous pouvez installer Metalint en utilisant [npm][link-npm] :
54
44
 
55
45
  ```shell
56
46
  npm install metalint --save-dev
@@ -60,9 +50,9 @@ npm install metalint --save-dev
60
50
 
61
51
  Tous les fichiers de configuration sont à regrouper dans le répertoire
62
52
  `.metalint/` qui doit être placé à la racine du projet. Le fichier
63
- `metalint.json` contient un objet JSON indiquant les linters à utiliser pour
64
- chaque fichier. Les autres fichiers contiennent les options spécifiques pour les
65
- linters.
53
+ `metalint.config.js` contient un objet JSON indiquant les linters à utiliser
54
+ pour chaque fichier. Les autres fichiers contiennent les options spécifiques
55
+ pour les linters.
66
56
 
67
57
  ## Exemple
68
58
 
@@ -70,22 +60,22 @@ Dans cet exemple du fichier de configuration `metalint.json`, Metalint analyse
70
60
  les fichiers JavaScript (non-minifiés), HTML et CSS ; avec respectivement les
71
61
  linters ESLint, HTMLHint et stylelint.
72
62
 
73
- ```JSON
74
- {
75
- "patterns": ["!/.git/", "!/node_modules/", "**"],
76
- "checkers": [
63
+ ```JavaScript
64
+ export default {
65
+ patterns: ["!/.git/", "!/node_modules/", "**"],
66
+ checkers: [
77
67
  {
78
- "patterns": ["!*.min.js", "*.js"],
79
- "linters": "eslint"
68
+ patterns: ["!*.min.js", "*.js"],
69
+ linters: "eslint",
80
70
  }, {
81
- "patterns": "*.html",
82
- "linters": "htmlhint"
71
+ patterns: "*.html",
72
+ linters: "htmlhint",
83
73
  }, {
84
- "patterns": "*.css",
85
- "linters": "stylelint"
86
- }
87
- ]
88
- }
74
+ patterns: "*.css",
75
+ linters: "stylelint",
76
+ },
77
+ ],
78
+ };
89
79
  ```
90
80
 
91
81
  ## Usage
@@ -94,15 +84,14 @@ linters ESLint, HTMLHint et stylelint.
94
84
  metalint
95
85
  ```
96
86
 
97
- [img-version]:https://img.shields.io/npm/v/metalint.svg
98
- [img-build]:https://img.shields.io/travis/regseb/metalint.svg
99
- [img-dependencies]:https://img.shields.io/david/regseb/metalint.svg
100
- [img-coverage]:https://img.shields.io/coveralls/regseb/metalint.svg
101
- [img-license]:https://img.shields.io/badge/license-EUPL-blue.svg
87
+ <!-- Ne pas ajouter les logos car la couleur du logo de npm n'est pas
88
+ personnalisable. https://github.com/badges/shields/issues/6208 -->
89
+ [img-npm]:https://img.shields.io/npm/dm/metalint?label=npm
90
+ [img-build]:https://img.shields.io/github/workflow/status/regseb/metalint/CI
91
+ [img-coverage]:https://img.shields.io/coveralls/github/regseb/metalint
92
+ [img-semver]:https://img.shields.io/badge/semver-2.0.0-blue
102
93
 
103
- [link-version]:https://www.npmjs.com/package/metalint
104
- [link-build]:https://travis-ci.org/regseb/metalint
105
- [link-dependencies]:https://david-dm.org/regseb/metalint
94
+ [link-npm]:https://www.npmjs.com/package/metalint
95
+ [link-build]:https://github.com/regseb/metalint/actions/workflows/ci.yml?query=branch%3Amain
106
96
  [link-coverage]:https://coveralls.io/github/regseb/metalint
107
- [link-license]:https://joinup.ec.europa.eu/collection/eupl/eupl-text-11-12
108
- "Licence publique de l'Union européenne"
97
+ [link-semver]:https://semver.org/spec/v2.0.0.html "Semantic Versioning 2.0.0"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "metalint",
3
- "version": "0.8.8",
3
+ "version": "0.10.0",
4
4
  "description": "Un linter pour les gouverner tous.",
5
5
  "keywords": [
6
6
  "checker",
@@ -9,74 +9,84 @@
9
9
  "quality",
10
10
  "static-analysis"
11
11
  ],
12
- "homepage": "https://regseb.github.io/metalint/",
12
+ "homepage": "https://github.com/regseb/metalint#readme",
13
13
  "bugs": {
14
- "url": "https://github.com/regseb/metalint/issues"
14
+ "url": "https://github.com/regseb/metalint/issues",
15
+ "email": "regseb@gmail.com"
15
16
  },
16
- "license": "EUPL-1.2",
17
+ "license": "MIT",
17
18
  "author": "Sébastien Règne <regseb@gmail.com> (https://github.com/regseb)",
19
+ "funding": "https://www.paypal.me/sebastienregne",
18
20
  "files": [
19
- "bin/",
20
- "lib/",
21
- "help/"
21
+ "src/",
22
+ "types/"
22
23
  ],
23
- "main": "lib/index",
24
- "bin": "bin/cli.js",
25
- "repository": {
26
- "type": "git",
27
- "url": "https://github.com/regseb/metalint.git"
28
- },
29
- "funding": "https://www.paypal.me/sebastienregne",
24
+ "main": "src/core/index.js",
25
+ "bin": "src/bin/index.js",
26
+ "types": "types/index.d.ts",
27
+ "repository": "regseb/metalint",
28
+ "type": "module",
30
29
  "scripts": {
31
- "lint": "bin/cli.js",
32
- "test": "nyc mocha test/lib/",
33
- "coverage:html": "nyc report --reporter=html",
34
- "coverage:lcov": "nyc report --reporter=lcovonly",
35
- "jsdocs": "jsdoc -r -d jsdocs/ lib/",
30
+ "lint": "src/bin/index.js",
31
+ "lint:types": "tsc --project .tsconfig_lint.json",
32
+ "test": "c8 mocha test/",
33
+ "coverage:html": "c8 report --reporter html",
34
+ "coverage:lcov": "c8 report --reporter lcovonly",
35
+ "jsdocs": "typedoc --tsconfig .tsconfig_jsdocs.json --out jsdocs/ src/core/",
36
+ "prepare": "tsc --project .tsconfig_types.json",
36
37
  "release": "standard-version",
37
- "clean": "rm -rf .nyc_output/ coverage/ jsdocs/ node_modules/"
38
+ "clean": "node .script/clean.js"
38
39
  },
39
40
  "dependencies": {
40
- "colors": "^1.4.0",
41
- "jsonlint-mod": "^1.7.5",
42
- "npmlog": "^4.1.2",
43
- "yargs": "^15.3.1"
41
+ "chalk": "^5.0.1",
42
+ "yargs": "^17.3.1"
44
43
  },
45
44
  "devDependencies": {
46
- "addons-linter": "^1.24.0",
47
- "coffeelint": "^2.1.0",
48
- "csslint": "^1.0.5",
49
- "david": "^12.0.0",
50
- "doiuse": "^4.2.0",
51
- "eslint": "^7.0.0",
52
- "eslint-plugin-filenames": "^1.3.2",
53
- "eslint-plugin-jsdoc": "^25.0.1",
54
- "eslint-plugin-mocha": "^6.3.0",
55
- "eslint-plugin-node": "^11.1.0",
56
- "eslint-plugin-promise": "^4.2.1",
57
- "eslint-plugin-unicorn": "^19.0.1",
58
- "flow-bin": "^0.124.0",
59
- "htmlhint": "^0.11.0",
60
- "htmllint": "^0.8.0",
61
- "jscs": "^3.0.7",
62
- "jsdoc": "^3.6.4",
63
- "jshint": "^2.11.0",
64
- "json-lint": "^0.1.0",
65
- "jsonlint": "^1.6.3",
66
- "lesshint": "^6.3.7",
67
- "markdownlint": "^0.20.2",
68
- "memory-streams": "^0.1.3",
69
- "mocha": "^7.1.2",
70
- "nyc": "^15.0.1",
71
- "purgecss": "^2.2.1",
72
- "standard": "^14.3.3",
73
- "standard-version": "^8.0.0",
74
- "stylelint": "^13.3.3",
75
- "tslint": "^6.1.2",
76
- "typescript": "^3.8.3",
77
- "yaml-lint": "^1.2.4"
45
+ "@coffeelint/cli": "5.2.5",
46
+ "@types/eslint": "8.4.1",
47
+ "@types/htmlhint": "1.1.2",
48
+ "@types/jshint": "2.12.1",
49
+ "@types/mocha": "9.1.0",
50
+ "@types/mock-fs": "4.13.1",
51
+ "@types/node": "17.0.23",
52
+ "@types/sinon": "10.0.11",
53
+ "@types/yargs": "17.0.10",
54
+ "addons-linter": "5.0.0",
55
+ "c8": "7.11.0",
56
+ "coffeelint": "2.1.0",
57
+ "csslint": "1.0.5",
58
+ "doiuse": "4.4.1",
59
+ "eslint": "8.12.0",
60
+ "eslint-plugin-eslint-comments": "3.2.0",
61
+ "eslint-plugin-import": "2.25.4",
62
+ "eslint-plugin-jsdoc": "38.1.4",
63
+ "eslint-plugin-mocha": "10.0.3",
64
+ "eslint-plugin-no-unsanitized": "4.0.1",
65
+ "eslint-plugin-node": "11.1.0",
66
+ "eslint-plugin-promise": "6.0.0",
67
+ "eslint-plugin-regexp": "1.6.0",
68
+ "eslint-plugin-unicorn": "41.0.1",
69
+ "flow-bin": "0.174.1",
70
+ "htmlhint": "1.1.3",
71
+ "htmllint": "0.8.0",
72
+ "jshint": "2.13.4",
73
+ "json-lint": "0.1.0",
74
+ "jsonlint": "1.6.3",
75
+ "jsonlint-mod": "1.7.6",
76
+ "lesshint": "6.3.7",
77
+ "markdownlint": "0.25.1",
78
+ "mocha": "9.2.2",
79
+ "mock-fs": "5.1.2",
80
+ "purgecss": "4.1.3",
81
+ "sinon": "13.0.1",
82
+ "standard": "16.0.4",
83
+ "standard-version": "9.3.2",
84
+ "stylelint": "14.6.1",
85
+ "typedoc": "0.22.13",
86
+ "typescript": "4.6.3",
87
+ "yaml-lint": "1.2.4"
78
88
  },
79
89
  "engines": {
80
- "node": ">=12.0.0"
90
+ "node": ">=16.0.0"
81
91
  }
82
92
  }
File without changes