@starterlib/eslint-config 0.10.2 → 0.10.3
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.
- package/index.mjs +33 -0
- package/package.json +1 -1
package/index.mjs
CHANGED
|
@@ -112,6 +112,19 @@ const IMPORTS_INTERDITS = {
|
|
|
112
112
|
],
|
|
113
113
|
};
|
|
114
114
|
|
|
115
|
+
/**
|
|
116
|
+
* Aucun appel HTTP ecrit a la main dans le code de l'application (lot 175, ADR web 0008) : le client
|
|
117
|
+
* d'API est ENGENDRE depuis le contrat du service, dans `src/app/donnees/genere/`, avec ses DTO ; un
|
|
118
|
+
* DTO recopie a la main derivait du contrat sans que rien le signale. Les essais gardent le client
|
|
119
|
+
* HTTP d'essai ; le client engendre, lui, importe `HttpClient`.
|
|
120
|
+
*/
|
|
121
|
+
const HTTP_ECRIT_A_LA_MAIN = {
|
|
122
|
+
name: '@angular/common/http',
|
|
123
|
+
importNames: ['HttpClient'],
|
|
124
|
+
message:
|
|
125
|
+
"Le client d'API est engendre depuis le contrat du service (src/app/donnees/genere/, ADR web 0008) : aucun appel ecrit a la main.",
|
|
126
|
+
};
|
|
127
|
+
|
|
115
128
|
/** Ce qu'un remote n'a pas le droit de FOURNIR : l'hote le fait (ADR 0029 §2, plan SPA §4). */
|
|
116
129
|
const FOURNI_PAR_L_HOTE = [
|
|
117
130
|
{
|
|
@@ -271,6 +284,26 @@ export function configurationDuSocle({ prefixe, racine, role = 'remote', ignores
|
|
|
271
284
|
},
|
|
272
285
|
}
|
|
273
286
|
: {},
|
|
287
|
+
{
|
|
288
|
+
// Le code de l'application, essais et client engendre a part : aucun appel HTTP ecrit a la
|
|
289
|
+
// main (lot 175). Les options d'une regle ne se fusionnent pas d'un bloc a l'autre : ce bloc,
|
|
290
|
+
// le dernier, reprend les imports interdits de son role et y ajoute `HttpClient`.
|
|
291
|
+
files: ['src/app/**/*.ts'],
|
|
292
|
+
ignores: ['src/app/**/*.spec.ts', 'src/app/donnees/genere/**'],
|
|
293
|
+
rules: {
|
|
294
|
+
'no-restricted-imports': [
|
|
295
|
+
'error',
|
|
296
|
+
{
|
|
297
|
+
...IMPORTS_INTERDITS,
|
|
298
|
+
paths: [
|
|
299
|
+
...IMPORTS_INTERDITS.paths,
|
|
300
|
+
...(role === 'remote' ? FOURNI_PAR_L_HOTE : []),
|
|
301
|
+
HTTP_ECRIT_A_LA_MAIN,
|
|
302
|
+
],
|
|
303
|
+
},
|
|
304
|
+
],
|
|
305
|
+
},
|
|
306
|
+
},
|
|
274
307
|
);
|
|
275
308
|
}
|
|
276
309
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@starterlib/eslint-config",
|
|
3
|
-
"version": "0.10.
|
|
3
|
+
"version": "0.10.3",
|
|
4
4
|
"description": "Configuration ESLint d'une SPA du socle frontal starter, parametree par son prefixe, et configuration stylelint de ses feuilles. Remplace les eslint.config.mjs recopies.",
|
|
5
5
|
"license": "UNLICENSED",
|
|
6
6
|
"type": "module",
|