@monorepolint/rules 0.6.0-alpha.4 → 0.6.0-alpha.6
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/.turbo/turbo-clean.log +1 -1
- package/.turbo/turbo-compile-typescript.log +1 -1
- package/.turbo/turbo-lint.log +1 -1
- package/.turbo/turbo-test.log +443 -92
- package/.turbo/turbo-transpile-typescript.log +5 -5
- package/CHANGELOG.md +112 -0
- package/build/js/index.js +413 -368
- package/build/js/index.js.map +1 -1
- package/build/tsconfig.tsbuildinfo +1 -1
- package/build/types/REMOVE.d.ts +2 -0
- package/build/types/REMOVE.d.ts.map +1 -0
- package/build/types/__tests__/alphabeticalDependencies.spec.d.ts +8 -0
- package/build/types/__tests__/alphabeticalDependencies.spec.d.ts.map +1 -0
- package/build/types/__tests__/forceError.spec.d.ts +8 -0
- package/build/types/__tests__/forceError.spec.d.ts.map +1 -0
- package/build/types/__tests__/oncePerPackage.spec.d.ts +8 -0
- package/build/types/__tests__/oncePerPackage.spec.d.ts.map +1 -0
- package/build/types/__tests__/standardTsconfig.spec.d.ts +8 -0
- package/build/types/__tests__/standardTsconfig.spec.d.ts.map +1 -0
- package/build/types/bannedDependencies.d.ts +9 -33
- package/build/types/bannedDependencies.d.ts.map +1 -1
- package/build/types/consistentDependencies.d.ts +6 -6
- package/build/types/consistentDependencies.d.ts.map +1 -1
- package/build/types/consistentVersions.d.ts +6 -10
- package/build/types/consistentVersions.d.ts.map +1 -1
- package/build/types/fileContents.d.ts +3 -2
- package/build/types/fileContents.d.ts.map +1 -1
- package/build/types/index.d.ts +1 -0
- package/build/types/index.d.ts.map +1 -1
- package/build/types/mustSatisfyPeerDependencies.d.ts +12 -190
- package/build/types/mustSatisfyPeerDependencies.d.ts.map +1 -1
- package/build/types/nestedWorkspaces.d.ts +2 -2
- package/build/types/nestedWorkspaces.d.ts.map +1 -1
- package/build/types/oncePerPackage.d.ts +6 -6
- package/build/types/oncePerPackage.d.ts.map +1 -1
- package/build/types/packageEntry.d.ts +11 -33
- package/build/types/packageEntry.d.ts.map +1 -1
- package/build/types/packageOrder.d.ts +2 -1
- package/build/types/packageOrder.d.ts.map +1 -1
- package/build/types/packageScript.d.ts +13 -22
- package/build/types/packageScript.d.ts.map +1 -1
- package/build/types/requireDependency.d.ts +5 -20
- package/build/types/requireDependency.d.ts.map +1 -1
- package/build/types/standardTsconfig.d.ts +12 -19
- package/build/types/standardTsconfig.d.ts.map +1 -1
- package/build/types/util/zodSchemas.d.ts +14 -0
- package/build/types/util/zodSchemas.d.ts.map +1 -0
- package/coverage/block-navigation.js +1 -1
- package/coverage/clover.xml +1420 -1452
- package/coverage/coverage-final.json +21 -19
- package/coverage/index.html +27 -27
- package/coverage/sorter.js +21 -7
- package/coverage/src/REMOVE.ts.html +88 -0
- package/coverage/src/alphabeticalDependencies.ts.html +15 -15
- package/coverage/src/alphabeticalScripts.ts.html +5 -5
- package/coverage/src/bannedDependencies.ts.html +20 -53
- package/coverage/src/consistentDependencies.ts.html +20 -14
- package/coverage/src/consistentVersions.ts.html +330 -183
- package/coverage/src/fileContents.ts.html +223 -88
- package/coverage/src/forceError.ts.html +31 -31
- package/coverage/src/index.html +104 -89
- package/coverage/src/index.ts.html +11 -5
- package/coverage/src/mustSatisfyPeerDependencies.ts.html +15 -501
- package/coverage/src/nestedWorkspaces.ts.html +5 -5
- package/coverage/src/oncePerPackage.ts.html +31 -31
- package/coverage/src/packageEntry.ts.html +121 -91
- package/coverage/src/packageOrder.ts.html +44 -14
- package/coverage/src/packageScript.ts.html +235 -88
- package/coverage/src/requireDependency.ts.html +241 -82
- package/coverage/src/standardTsconfig.ts.html +212 -212
- package/coverage/src/util/checkAlpha.ts.html +40 -40
- package/coverage/src/util/createRuleFactory.ts.html +19 -19
- package/coverage/src/util/index.html +30 -15
- package/coverage/src/util/makeDirectory.ts.html +11 -11
- package/coverage/src/util/packageDependencyGraphService.ts.html +1 -1
- package/coverage/src/util/zodSchemas.ts.html +130 -0
- package/package.json +15 -15
- package/src/REMOVE.ts +1 -0
- package/src/__tests__/alphabeticalDependencies.spec.ts +102 -0
- package/src/__tests__/alphabeticalScripts.spec.ts +18 -0
- package/src/__tests__/bannedDependencies.spec.ts +49 -0
- package/src/__tests__/consistentDependencies.spec.ts +23 -0
- package/src/__tests__/consistentVersions.spec.ts +142 -0
- package/src/__tests__/fileContents.spec.ts +348 -0
- package/src/__tests__/forceError.spec.ts +70 -0
- package/src/__tests__/mustSatisfyPeerDependencies.spec.ts +44 -0
- package/src/__tests__/nestedWorkspaces.spec.ts +14 -0
- package/src/__tests__/oncePerPackage.spec.ts +75 -0
- package/src/__tests__/packageEntry.spec.ts +177 -0
- package/src/__tests__/packageOrder.spec.ts +22 -0
- package/src/__tests__/packageScript.spec.ts +549 -0
- package/src/__tests__/requireDependency.spec.ts +259 -2
- package/src/__tests__/standardTsconfig.spec.ts +91 -0
- package/src/bannedDependencies.ts +14 -25
- package/src/consistentDependencies.ts +10 -8
- package/src/consistentVersions.ts +132 -83
- package/src/fileContents.ts +80 -35
- package/src/index.ts +2 -0
- package/src/mustSatisfyPeerDependencies.ts +10 -172
- package/src/nestedWorkspaces.ts +4 -4
- package/src/oncePerPackage.ts +6 -6
- package/src/packageEntry.ts +60 -50
- package/src/packageOrder.ts +19 -9
- package/src/packageScript.ts +67 -18
- package/src/requireDependency.ts +84 -31
- package/src/standardTsconfig.ts +26 -26
- package/src/util/zodSchemas.ts +15 -0
|
@@ -23,30 +23,30 @@
|
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">94.
|
|
26
|
+
<span class="strong">94.62% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>176/186</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
33
|
<span class="strong">90.9% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>30/33</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
40
|
<span class="strong">100% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>7/7</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">94.
|
|
47
|
+
<span class="strong">94.62% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>176/186</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -236,7 +236,56 @@
|
|
|
236
236
|
<a name='L171'></a><a href='#L171'>171</a>
|
|
237
237
|
<a name='L172'></a><a href='#L172'>172</a>
|
|
238
238
|
<a name='L173'></a><a href='#L173'>173</a>
|
|
239
|
-
<a name='L174'></a><a href='#L174'>174</a
|
|
239
|
+
<a name='L174'></a><a href='#L174'>174</a>
|
|
240
|
+
<a name='L175'></a><a href='#L175'>175</a>
|
|
241
|
+
<a name='L176'></a><a href='#L176'>176</a>
|
|
242
|
+
<a name='L177'></a><a href='#L177'>177</a>
|
|
243
|
+
<a name='L178'></a><a href='#L178'>178</a>
|
|
244
|
+
<a name='L179'></a><a href='#L179'>179</a>
|
|
245
|
+
<a name='L180'></a><a href='#L180'>180</a>
|
|
246
|
+
<a name='L181'></a><a href='#L181'>181</a>
|
|
247
|
+
<a name='L182'></a><a href='#L182'>182</a>
|
|
248
|
+
<a name='L183'></a><a href='#L183'>183</a>
|
|
249
|
+
<a name='L184'></a><a href='#L184'>184</a>
|
|
250
|
+
<a name='L185'></a><a href='#L185'>185</a>
|
|
251
|
+
<a name='L186'></a><a href='#L186'>186</a>
|
|
252
|
+
<a name='L187'></a><a href='#L187'>187</a>
|
|
253
|
+
<a name='L188'></a><a href='#L188'>188</a>
|
|
254
|
+
<a name='L189'></a><a href='#L189'>189</a>
|
|
255
|
+
<a name='L190'></a><a href='#L190'>190</a>
|
|
256
|
+
<a name='L191'></a><a href='#L191'>191</a>
|
|
257
|
+
<a name='L192'></a><a href='#L192'>192</a>
|
|
258
|
+
<a name='L193'></a><a href='#L193'>193</a>
|
|
259
|
+
<a name='L194'></a><a href='#L194'>194</a>
|
|
260
|
+
<a name='L195'></a><a href='#L195'>195</a>
|
|
261
|
+
<a name='L196'></a><a href='#L196'>196</a>
|
|
262
|
+
<a name='L197'></a><a href='#L197'>197</a>
|
|
263
|
+
<a name='L198'></a><a href='#L198'>198</a>
|
|
264
|
+
<a name='L199'></a><a href='#L199'>199</a>
|
|
265
|
+
<a name='L200'></a><a href='#L200'>200</a>
|
|
266
|
+
<a name='L201'></a><a href='#L201'>201</a>
|
|
267
|
+
<a name='L202'></a><a href='#L202'>202</a>
|
|
268
|
+
<a name='L203'></a><a href='#L203'>203</a>
|
|
269
|
+
<a name='L204'></a><a href='#L204'>204</a>
|
|
270
|
+
<a name='L205'></a><a href='#L205'>205</a>
|
|
271
|
+
<a name='L206'></a><a href='#L206'>206</a>
|
|
272
|
+
<a name='L207'></a><a href='#L207'>207</a>
|
|
273
|
+
<a name='L208'></a><a href='#L208'>208</a>
|
|
274
|
+
<a name='L209'></a><a href='#L209'>209</a>
|
|
275
|
+
<a name='L210'></a><a href='#L210'>210</a>
|
|
276
|
+
<a name='L211'></a><a href='#L211'>211</a>
|
|
277
|
+
<a name='L212'></a><a href='#L212'>212</a>
|
|
278
|
+
<a name='L213'></a><a href='#L213'>213</a>
|
|
279
|
+
<a name='L214'></a><a href='#L214'>214</a>
|
|
280
|
+
<a name='L215'></a><a href='#L215'>215</a>
|
|
281
|
+
<a name='L216'></a><a href='#L216'>216</a>
|
|
282
|
+
<a name='L217'></a><a href='#L217'>217</a>
|
|
283
|
+
<a name='L218'></a><a href='#L218'>218</a>
|
|
284
|
+
<a name='L219'></a><a href='#L219'>219</a>
|
|
285
|
+
<a name='L220'></a><a href='#L220'>220</a>
|
|
286
|
+
<a name='L221'></a><a href='#L221'>221</a>
|
|
287
|
+
<a name='L222'></a><a href='#L222'>222</a>
|
|
288
|
+
<a name='L223'></a><a href='#L223'>223</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
|
|
240
289
|
<span class="cline-any cline-neutral"> </span>
|
|
241
290
|
<span class="cline-any cline-neutral"> </span>
|
|
242
291
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -260,76 +309,120 @@
|
|
|
260
309
|
<span class="cline-any cline-yes">1x</span>
|
|
261
310
|
<span class="cline-any cline-yes">1x</span>
|
|
262
311
|
<span class="cline-any cline-neutral"> </span>
|
|
263
|
-
<span class="cline-any cline-yes">
|
|
264
|
-
<span class="cline-any cline-yes">
|
|
265
|
-
<span class="cline-any cline-yes">
|
|
266
|
-
<span class="cline-any cline-yes">
|
|
267
|
-
<span class="cline-any cline-yes">
|
|
268
|
-
<span class="cline-any cline-yes">
|
|
269
|
-
<span class="cline-any cline-yes">
|
|
312
|
+
<span class="cline-any cline-yes">17x</span>
|
|
313
|
+
<span class="cline-any cline-yes">17x</span>
|
|
314
|
+
<span class="cline-any cline-yes">17x</span>
|
|
315
|
+
<span class="cline-any cline-yes">17x</span>
|
|
316
|
+
<span class="cline-any cline-yes">17x</span>
|
|
317
|
+
<span class="cline-any cline-yes">17x</span>
|
|
318
|
+
<span class="cline-any cline-yes">17x</span>
|
|
319
|
+
<span class="cline-any cline-yes">22x</span>
|
|
320
|
+
<span class="cline-any cline-yes">7x</span>
|
|
321
|
+
<span class="cline-any cline-yes">7x</span>
|
|
322
|
+
<span class="cline-any cline-yes">7x</span>
|
|
323
|
+
<span class="cline-any cline-yes">7x</span>
|
|
324
|
+
<span class="cline-any cline-yes">7x</span>
|
|
325
|
+
<span class="cline-any cline-yes">22x</span>
|
|
270
326
|
<span class="cline-any cline-yes">15x</span>
|
|
271
|
-
<span class="cline-any cline-yes">6x</span>
|
|
272
|
-
<span class="cline-any cline-yes">6x</span>
|
|
273
|
-
<span class="cline-any cline-yes">6x</span>
|
|
274
|
-
<span class="cline-any cline-yes">6x</span>
|
|
275
|
-
<span class="cline-any cline-yes">6x</span>
|
|
276
327
|
<span class="cline-any cline-yes">15x</span>
|
|
277
|
-
<span class="cline-any cline-yes">9x</span>
|
|
278
|
-
<span class="cline-any cline-yes">9x</span>
|
|
279
|
-
<span class="cline-any cline-yes">9x</span>
|
|
280
|
-
<span class="cline-any cline-yes">9x</span>
|
|
281
|
-
<span class="cline-any cline-yes">9x</span>
|
|
282
|
-
<span class="cline-any cline-yes">9x</span>
|
|
283
328
|
<span class="cline-any cline-yes">15x</span>
|
|
284
|
-
<span class="cline-any cline-yes">
|
|
329
|
+
<span class="cline-any cline-yes">15x</span>
|
|
330
|
+
<span class="cline-any cline-yes">15x</span>
|
|
331
|
+
<span class="cline-any cline-yes">15x</span>
|
|
332
|
+
<span class="cline-any cline-yes">22x</span>
|
|
333
|
+
<span class="cline-any cline-yes">17x</span>
|
|
334
|
+
<span class="cline-any cline-neutral"> </span>
|
|
335
|
+
<span class="cline-any cline-yes">1x</span>
|
|
336
|
+
<span class="cline-any cline-yes">20x</span>
|
|
337
|
+
<span class="cline-any cline-yes">20x</span>
|
|
338
|
+
<span class="cline-any cline-yes">20x</span>
|
|
339
|
+
<span class="cline-any cline-yes">20x</span>
|
|
340
|
+
<span class="cline-any cline-yes">20x</span>
|
|
341
|
+
<span class="cline-any cline-yes">20x</span>
|
|
342
|
+
<span class="cline-any cline-yes">5x</span>
|
|
343
|
+
<span class="cline-any cline-yes">5x</span>
|
|
344
|
+
<span class="cline-any cline-neutral"> </span>
|
|
345
|
+
<span class="cline-any cline-yes">15x</span>
|
|
346
|
+
<span class="cline-any cline-yes">15x</span>
|
|
347
|
+
<span class="cline-any cline-yes">20x</span>
|
|
285
348
|
<span class="cline-any cline-neutral"> </span>
|
|
286
349
|
<span class="cline-any cline-yes">1x</span>
|
|
287
|
-
<span class="cline-any cline-yes">
|
|
288
|
-
<span class="cline-any cline-yes">
|
|
289
|
-
<span class="cline-any cline-yes">
|
|
290
|
-
<span class="cline-any cline-yes">
|
|
291
|
-
<span class="cline-any cline-yes">
|
|
292
|
-
<span class="cline-any cline-yes">
|
|
350
|
+
<span class="cline-any cline-yes">8x</span>
|
|
351
|
+
<span class="cline-any cline-yes">8x</span>
|
|
352
|
+
<span class="cline-any cline-yes">8x</span>
|
|
353
|
+
<span class="cline-any cline-yes">8x</span>
|
|
354
|
+
<span class="cline-any cline-yes">8x</span>
|
|
355
|
+
<span class="cline-any cline-yes">1x</span>
|
|
356
|
+
<span class="cline-any cline-yes">1x</span>
|
|
293
357
|
<span class="cline-any cline-neutral"> </span>
|
|
294
|
-
<span class="cline-any cline-yes">
|
|
295
|
-
<span class="cline-any cline-yes">
|
|
296
|
-
<span class="cline-any cline-
|
|
297
|
-
<span class="cline-any cline-
|
|
358
|
+
<span class="cline-any cline-yes">7x</span>
|
|
359
|
+
<span class="cline-any cline-yes">8x</span>
|
|
360
|
+
<span class="cline-any cline-no"> </span>
|
|
361
|
+
<span class="cline-any cline-no"> </span>
|
|
362
|
+
<span class="cline-any cline-neutral"> </span>
|
|
363
|
+
<span class="cline-any cline-yes">7x</span>
|
|
364
|
+
<span class="cline-any cline-yes">7x</span>
|
|
365
|
+
<span class="cline-any cline-yes">7x</span>
|
|
366
|
+
<span class="cline-any cline-yes">7x</span>
|
|
367
|
+
<span class="cline-any cline-neutral"> </span>
|
|
368
|
+
<span class="cline-any cline-yes">1x</span>
|
|
369
|
+
<span class="cline-any cline-yes">15x</span>
|
|
370
|
+
<span class="cline-any cline-yes">15x</span>
|
|
371
|
+
<span class="cline-any cline-yes">15x</span>
|
|
372
|
+
<span class="cline-any cline-yes">15x</span>
|
|
373
|
+
<span class="cline-any cline-yes">15x</span>
|
|
374
|
+
<span class="cline-any cline-yes">15x</span>
|
|
375
|
+
<span class="cline-any cline-neutral"> </span>
|
|
376
|
+
<span class="cline-any cline-neutral"> </span>
|
|
377
|
+
<span class="cline-any cline-yes">15x</span>
|
|
378
|
+
<span class="cline-any cline-yes">15x</span>
|
|
379
|
+
<span class="cline-any cline-neutral"> </span>
|
|
380
|
+
<span class="cline-any cline-yes">15x</span>
|
|
381
|
+
<span class="cline-any cline-yes">10x</span>
|
|
382
|
+
<span class="cline-any cline-yes">10x</span>
|
|
298
383
|
<span class="cline-any cline-no"> </span>
|
|
299
384
|
<span class="cline-any cline-no"> </span>
|
|
300
385
|
<span class="cline-any cline-no"> </span>
|
|
301
386
|
<span class="cline-any cline-no"> </span>
|
|
387
|
+
<span class="cline-any cline-yes">10x</span>
|
|
302
388
|
<span class="cline-any cline-neutral"> </span>
|
|
303
|
-
<span class="cline-any cline-yes">
|
|
304
|
-
<span class="cline-any cline-yes">
|
|
305
|
-
<span class="cline-any cline-
|
|
306
|
-
<span class="cline-any cline-yes">
|
|
307
|
-
<span class="cline-any cline-yes">
|
|
308
|
-
<span class="cline-any cline-yes">
|
|
309
|
-
<span class="cline-any cline-yes">
|
|
310
|
-
<span class="cline-any cline-yes">
|
|
311
|
-
<span class="cline-any cline-yes">
|
|
312
|
-
<span class="cline-any cline-yes">
|
|
313
|
-
<span class="cline-any cline-
|
|
314
|
-
<span class="cline-any cline-yes">
|
|
315
|
-
<span class="cline-any cline-yes">
|
|
316
|
-
<span class="cline-any cline-yes">
|
|
317
|
-
<span class="cline-any cline-yes">
|
|
389
|
+
<span class="cline-any cline-yes">15x</span>
|
|
390
|
+
<span class="cline-any cline-yes">15x</span>
|
|
391
|
+
<span class="cline-any cline-neutral"> </span>
|
|
392
|
+
<span class="cline-any cline-yes">15x</span>
|
|
393
|
+
<span class="cline-any cline-yes">13x</span>
|
|
394
|
+
<span class="cline-any cline-yes">13x</span>
|
|
395
|
+
<span class="cline-any cline-yes">13x</span>
|
|
396
|
+
<span class="cline-any cline-yes">13x</span>
|
|
397
|
+
<span class="cline-any cline-yes">13x</span>
|
|
398
|
+
<span class="cline-any cline-yes">13x</span>
|
|
399
|
+
<span class="cline-any cline-neutral"> </span>
|
|
400
|
+
<span class="cline-any cline-yes">13x</span>
|
|
401
|
+
<span class="cline-any cline-yes">3x</span>
|
|
402
|
+
<span class="cline-any cline-yes">3x</span>
|
|
403
|
+
<span class="cline-any cline-yes">3x</span>
|
|
404
|
+
<span class="cline-any cline-yes">3x</span>
|
|
405
|
+
<span class="cline-any cline-yes">3x</span>
|
|
318
406
|
<span class="cline-any cline-yes">2x</span>
|
|
319
407
|
<span class="cline-any cline-yes">2x</span>
|
|
320
408
|
<span class="cline-any cline-yes">2x</span>
|
|
321
409
|
<span class="cline-any cline-yes">2x</span>
|
|
410
|
+
<span class="cline-any cline-yes">3x</span>
|
|
411
|
+
<span class="cline-any cline-yes">3x</span>
|
|
412
|
+
<span class="cline-any cline-yes">13x</span>
|
|
322
413
|
<span class="cline-any cline-neutral"> </span>
|
|
323
|
-
<span class="cline-any cline-yes">
|
|
324
|
-
<span class="cline-any cline-yes">
|
|
325
|
-
<span class="cline-any cline-
|
|
326
|
-
<span class="cline-any cline-yes">
|
|
327
|
-
<span class="cline-any cline-yes">
|
|
328
|
-
<span class="cline-any cline-yes">
|
|
329
|
-
<span class="cline-any cline-yes">
|
|
330
|
-
<span class="cline-any cline-yes">
|
|
331
|
-
<span class="cline-any cline-yes">
|
|
332
|
-
<span class="cline-any cline-yes">
|
|
414
|
+
<span class="cline-any cline-yes">15x</span>
|
|
415
|
+
<span class="cline-any cline-yes">12x</span>
|
|
416
|
+
<span class="cline-any cline-neutral"> </span>
|
|
417
|
+
<span class="cline-any cline-yes">15x</span>
|
|
418
|
+
<span class="cline-any cline-yes">7x</span>
|
|
419
|
+
<span class="cline-any cline-yes">7x</span>
|
|
420
|
+
<span class="cline-any cline-yes">7x</span>
|
|
421
|
+
<span class="cline-any cline-yes">7x</span>
|
|
422
|
+
<span class="cline-any cline-yes">7x</span>
|
|
423
|
+
<span class="cline-any cline-yes">7x</span>
|
|
424
|
+
<span class="cline-any cline-neutral"> </span>
|
|
425
|
+
<span class="cline-any cline-yes">7x</span>
|
|
333
426
|
<span class="cline-any cline-yes">2x</span>
|
|
334
427
|
<span class="cline-any cline-yes">2x</span>
|
|
335
428
|
<span class="cline-any cline-yes">2x</span>
|
|
@@ -341,41 +434,46 @@
|
|
|
341
434
|
<span class="cline-any cline-yes">2x</span>
|
|
342
435
|
<span class="cline-any cline-yes">2x</span>
|
|
343
436
|
<span class="cline-any cline-yes">2x</span>
|
|
344
|
-
<span class="cline-any cline-yes">
|
|
437
|
+
<span class="cline-any cline-yes">7x</span>
|
|
438
|
+
<span class="cline-any cline-yes">15x</span>
|
|
345
439
|
<span class="cline-any cline-neutral"> </span>
|
|
346
440
|
<span class="cline-any cline-yes">1x</span>
|
|
347
|
-
<span class="cline-any cline-yes">
|
|
348
|
-
<span class="cline-any cline-yes">
|
|
349
|
-
<span class="cline-any cline-yes">
|
|
350
|
-
<span class="cline-any cline-yes">
|
|
351
|
-
<span class="cline-any cline-yes">
|
|
352
|
-
<span class="cline-any cline-yes">
|
|
441
|
+
<span class="cline-any cline-yes">7x</span>
|
|
442
|
+
<span class="cline-any cline-yes">7x</span>
|
|
443
|
+
<span class="cline-any cline-yes">7x</span>
|
|
444
|
+
<span class="cline-any cline-yes">7x</span>
|
|
445
|
+
<span class="cline-any cline-yes">7x</span>
|
|
446
|
+
<span class="cline-any cline-yes">7x</span>
|
|
353
447
|
<span class="cline-any cline-neutral"> </span>
|
|
354
|
-
<span class="cline-any cline-
|
|
355
|
-
<span class="cline-any cline-yes">
|
|
356
|
-
<span class="cline-any cline-yes">
|
|
357
|
-
<span class="cline-any cline-
|
|
358
|
-
<span class="cline-any cline-yes">
|
|
359
|
-
<span class="cline-any cline-yes">
|
|
448
|
+
<span class="cline-any cline-neutral"> </span>
|
|
449
|
+
<span class="cline-any cline-yes">7x</span>
|
|
450
|
+
<span class="cline-any cline-yes">7x</span>
|
|
451
|
+
<span class="cline-any cline-neutral"> </span>
|
|
452
|
+
<span class="cline-any cline-yes">7x</span>
|
|
453
|
+
<span class="cline-any cline-yes">7x</span>
|
|
454
|
+
<span class="cline-any cline-yes">17x</span>
|
|
455
|
+
<span class="cline-any cline-yes">17x</span>
|
|
456
|
+
<span class="cline-any cline-yes">17x</span>
|
|
457
|
+
<span class="cline-any cline-yes">17x</span>
|
|
360
458
|
<span class="cline-any cline-no"> </span>
|
|
361
459
|
<span class="cline-any cline-no"> </span>
|
|
362
460
|
<span class="cline-any cline-no"> </span>
|
|
363
461
|
<span class="cline-any cline-no"> </span>
|
|
364
|
-
<span class="cline-any cline-yes">
|
|
365
|
-
<span class="cline-any cline-yes">
|
|
366
|
-
<span class="cline-any cline-yes">
|
|
462
|
+
<span class="cline-any cline-yes">17x</span>
|
|
463
|
+
<span class="cline-any cline-yes">17x</span>
|
|
464
|
+
<span class="cline-any cline-yes">7x</span>
|
|
367
465
|
<span class="cline-any cline-neutral"> </span>
|
|
368
|
-
<span class="cline-any cline-yes">
|
|
369
|
-
<span class="cline-any cline-yes">
|
|
370
|
-
<span class="cline-any cline-
|
|
371
|
-
<span class="cline-any cline-yes">
|
|
372
|
-
<span class="cline-any cline-yes">
|
|
373
|
-
<span class="cline-any cline-yes">
|
|
374
|
-
<span class="cline-any cline-yes">
|
|
375
|
-
<span class="cline-any cline-yes">
|
|
376
|
-
<span class="cline-any cline-yes">
|
|
377
|
-
<span class="cline-any cline-
|
|
378
|
-
<span class="cline-any cline-yes">
|
|
466
|
+
<span class="cline-any cline-yes">7x</span>
|
|
467
|
+
<span class="cline-any cline-yes">7x</span>
|
|
468
|
+
<span class="cline-any cline-neutral"> </span>
|
|
469
|
+
<span class="cline-any cline-yes">7x</span>
|
|
470
|
+
<span class="cline-any cline-yes">7x</span>
|
|
471
|
+
<span class="cline-any cline-yes">7x</span>
|
|
472
|
+
<span class="cline-any cline-yes">7x</span>
|
|
473
|
+
<span class="cline-any cline-yes">7x</span>
|
|
474
|
+
<span class="cline-any cline-yes">7x</span>
|
|
475
|
+
<span class="cline-any cline-neutral"> </span>
|
|
476
|
+
<span class="cline-any cline-yes">7x</span>
|
|
379
477
|
<span class="cline-any cline-yes">2x</span>
|
|
380
478
|
<span class="cline-any cline-yes">2x</span>
|
|
381
479
|
<span class="cline-any cline-yes">2x</span>
|
|
@@ -385,21 +483,18 @@
|
|
|
385
483
|
<span class="cline-any cline-yes">2x</span>
|
|
386
484
|
<span class="cline-any cline-yes">2x</span>
|
|
387
485
|
<span class="cline-any cline-yes">2x</span>
|
|
486
|
+
<span class="cline-any cline-yes">7x</span>
|
|
388
487
|
<span class="cline-any cline-neutral"> </span>
|
|
488
|
+
<span class="cline-any cline-yes">7x</span>
|
|
389
489
|
<span class="cline-any cline-yes">6x</span>
|
|
390
|
-
<span class="cline-any cline-
|
|
391
|
-
<span class="cline-any cline-yes">
|
|
392
|
-
<span class="cline-any cline-yes">
|
|
393
|
-
<span class="cline-any cline-yes">6x</span>
|
|
394
|
-
<span class="cline-any cline-yes">6x</span>
|
|
395
|
-
<span class="cline-any cline-yes">6x</span>
|
|
490
|
+
<span class="cline-any cline-neutral"> </span>
|
|
491
|
+
<span class="cline-any cline-yes">7x</span>
|
|
492
|
+
<span class="cline-any cline-yes">1x</span>
|
|
396
493
|
<span class="cline-any cline-yes">1x</span>
|
|
397
494
|
<span class="cline-any cline-yes">1x</span>
|
|
398
|
-
<span class="cline-any cline-yes">2x</span>
|
|
399
|
-
<span class="cline-any cline-yes">2x</span>
|
|
400
495
|
<span class="cline-any cline-yes">1x</span>
|
|
401
|
-
<span class="cline-any cline-yes">6x</span>
|
|
402
496
|
<span class="cline-any cline-yes">1x</span>
|
|
497
|
+
<span class="cline-any cline-neutral"> </span>
|
|
403
498
|
<span class="cline-any cline-yes">1x</span>
|
|
404
499
|
<span class="cline-any cline-yes">1x</span>
|
|
405
500
|
<span class="cline-any cline-yes">1x</span>
|
|
@@ -408,7 +503,10 @@
|
|
|
408
503
|
<span class="cline-any cline-yes">1x</span>
|
|
409
504
|
<span class="cline-any cline-yes">1x</span>
|
|
410
505
|
<span class="cline-any cline-yes">1x</span>
|
|
411
|
-
<span class="cline-any cline-yes">
|
|
506
|
+
<span class="cline-any cline-yes">1x</span>
|
|
507
|
+
<span class="cline-any cline-yes">1x</span>
|
|
508
|
+
<span class="cline-any cline-yes">1x</span>
|
|
509
|
+
<span class="cline-any cline-yes">7x</span>
|
|
412
510
|
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">/*!
|
|
413
511
|
* Copyright 2020 Palantir Technologies, Inc.
|
|
414
512
|
*
|
|
@@ -418,19 +516,19 @@
|
|
|
418
516
|
|
|
419
517
|
import { Context } from "@monorepolint/config";
|
|
420
518
|
import { mutateJson, PackageJson } from "@monorepolint/utils";
|
|
421
|
-
import * as r from "runtypes";
|
|
422
519
|
import { coerce, SemVer } from "semver";
|
|
520
|
+
import { z } from "zod";
|
|
423
521
|
import { createRuleFactory } from "./util/createRuleFactory.js";
|
|
424
|
-
export const Options =
|
|
425
|
-
matchDependencyVersions:
|
|
522
|
+
export const Options = z.object({
|
|
523
|
+
matchDependencyVersions: z.record(z.string(), z.union([z.string(), z.array(z.string())])),
|
|
426
524
|
});
|
|
427
525
|
|
|
428
|
-
export type Options =
|
|
526
|
+
export type Options = z.infer<typeof Options>;
|
|
429
527
|
|
|
430
528
|
export const consistentVersions = createRuleFactory({
|
|
431
529
|
name: "consistentVersions",
|
|
432
530
|
check: checkConsistentVersions,
|
|
433
|
-
validateOptions: Options.
|
|
531
|
+
validateOptions: Options.parse,
|
|
434
532
|
});
|
|
435
533
|
|
|
436
534
|
function checkConsistentVersions(context: Context, options: Options) {
|
|
@@ -456,6 +554,39 @@ function checkConsistentVersions(context: Context, options: Options) {
|
|
|
456
554
|
}
|
|
457
555
|
}
|
|
458
556
|
|
|
557
|
+
const shouldUpdateVersion = (
|
|
558
|
+
actualValue: string,
|
|
559
|
+
expectedValue: string,
|
|
560
|
+
isProtocolVersionString: boolean,
|
|
561
|
+
expectedSemVer: SemVer | null,
|
|
562
|
+
): boolean => {
|
|
563
|
+
if (isProtocolVersionString) {
|
|
564
|
+
return actualValue !== expectedValue;
|
|
565
|
+
}
|
|
566
|
+
|
|
567
|
+
const actualSemVer = coerce(actualValue);
|
|
568
|
+
return actualSemVer != null && actualSemVer.raw !== expectedSemVer!.raw;
|
|
569
|
+
};
|
|
570
|
+
|
|
571
|
+
const matchesAnyVersion = (
|
|
572
|
+
actualValue: string,
|
|
573
|
+
protocolVersions: string[],
|
|
574
|
+
acceptedSemVerVersions: SemVer[],
|
|
575
|
+
): boolean => {
|
|
576
|
+
if (protocolVersions.includes(actualValue)) {
|
|
577
|
+
return true;
|
|
578
|
+
}
|
|
579
|
+
|
|
580
|
+
const actualSemVer = coerce(actualValue);
|
|
581
|
+
if (actualSemVer == null) <span class="branch-0 cbranch-no" title="branch not covered" >{</span>
|
|
582
|
+
<span class="cstat-no" title="statement not covered" > return false;</span>
|
|
583
|
+
<span class="cstat-no" title="statement not covered" > }</span>
|
|
584
|
+
|
|
585
|
+
return acceptedSemVerVersions.some(
|
|
586
|
+
(acceptedSemVer) => actualSemVer.raw === acceptedSemVer.raw,
|
|
587
|
+
);
|
|
588
|
+
};
|
|
589
|
+
|
|
459
590
|
const ensurePackageIsCorrectVersion = (
|
|
460
591
|
context: Context,
|
|
461
592
|
dependencyPackageName: string,
|
|
@@ -464,55 +595,67 @@ const ensurePackageIsCorrectVersion = (
|
|
|
464
595
|
const packageJson = context.getPackageJson();
|
|
465
596
|
const packageJsonPath = context.getPackageJsonPath();
|
|
466
597
|
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
<span class="
|
|
474
|
-
<span class="cstat-no" title="statement not covered" >
|
|
598
|
+
// Allow protocol version strings like "catalog:", "workspace:", etc.
|
|
599
|
+
const isProtocolVersion = expectedPackageDependencyValue.endsWith(":");
|
|
600
|
+
let expectedPackageDependencyVersion: SemVer | null = null;
|
|
601
|
+
|
|
602
|
+
if (!isProtocolVersion) {
|
|
603
|
+
expectedPackageDependencyVersion = coerce(expectedPackageDependencyValue);
|
|
604
|
+
if (expectedPackageDependencyVersion == null) <span class="branch-0 cbranch-no" title="branch not covered" >{</span>
|
|
605
|
+
<span class="cstat-no" title="statement not covered" > throw new Error(</span>
|
|
606
|
+
<span class="cstat-no" title="statement not covered" > `Malformed expected package dependency version defined in monorepolint configuration: ${dependencyPackageName} @ '${expectedPackageDependencyValue}'`,</span>
|
|
607
|
+
<span class="cstat-no" title="statement not covered" > );</span>
|
|
608
|
+
<span class="cstat-no" title="statement not covered" > }</span>
|
|
609
|
+
}
|
|
475
610
|
|
|
476
611
|
const actualPackageDependencyValue = packageJson.dependencies
|
|
477
612
|
&& packageJson.dependencies[dependencyPackageName];
|
|
478
|
-
|
|
479
|
-
if (
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
613
|
+
|
|
614
|
+
if (actualPackageDependencyValue != null) {
|
|
615
|
+
const shouldUpdate = shouldUpdateVersion(
|
|
616
|
+
actualPackageDependencyValue,
|
|
617
|
+
expectedPackageDependencyValue,
|
|
618
|
+
isProtocolVersion,
|
|
619
|
+
expectedPackageDependencyVersion,
|
|
620
|
+
);
|
|
621
|
+
|
|
622
|
+
if (shouldUpdate) {
|
|
623
|
+
context.addError({
|
|
624
|
+
file: packageJsonPath,
|
|
625
|
+
message:
|
|
626
|
+
`Expected dependency on ${dependencyPackageName} to match version defined in monorepolint configuration '${expectedPackageDependencyValue}', got '${actualPackageDependencyValue}' instead.`,
|
|
627
|
+
fixer: () =>
|
|
628
|
+
mutateJson<PackageJson>(packageJsonPath, context.host, (input) => {
|
|
629
|
+
input.dependencies![dependencyPackageName] = expectedPackageDependencyValue;
|
|
630
|
+
return input;
|
|
631
|
+
}),
|
|
632
|
+
});
|
|
633
|
+
}
|
|
494
634
|
}
|
|
495
635
|
|
|
496
636
|
const actualPackageDevDependencyValue = packageJson.devDependencies
|
|
497
637
|
&& packageJson.devDependencies[dependencyPackageName];
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
638
|
+
|
|
639
|
+
if (actualPackageDevDependencyValue != null) {
|
|
640
|
+
const shouldUpdateDev = shouldUpdateVersion(
|
|
641
|
+
actualPackageDevDependencyValue,
|
|
642
|
+
expectedPackageDependencyValue,
|
|
643
|
+
isProtocolVersion,
|
|
644
|
+
expectedPackageDependencyVersion,
|
|
645
|
+
);
|
|
646
|
+
|
|
647
|
+
if (shouldUpdateDev) {
|
|
648
|
+
context.addError({
|
|
649
|
+
file: packageJsonPath,
|
|
650
|
+
message:
|
|
651
|
+
`Expected devDependency on ${dependencyPackageName} to match version defined in monorepolint configuration '${expectedPackageDependencyValue}', got '${actualPackageDevDependencyValue}' instead`,
|
|
652
|
+
fixer: () =>
|
|
653
|
+
mutateJson<PackageJson>(packageJsonPath, context.host, (input) => {
|
|
654
|
+
input.devDependencies![dependencyPackageName] = expectedPackageDependencyValue;
|
|
655
|
+
return input;
|
|
656
|
+
}),
|
|
657
|
+
});
|
|
658
|
+
}
|
|
516
659
|
}
|
|
517
660
|
};
|
|
518
661
|
|
|
@@ -524,7 +667,11 @@ const ensurePackageMatchesSomeVersion = (
|
|
|
524
667
|
const packageJson = context.getPackageJson();
|
|
525
668
|
const packageJsonPath = context.getPackageJsonPath();
|
|
526
669
|
|
|
527
|
-
|
|
670
|
+
// Separate protocol versions from regular semver versions
|
|
671
|
+
const protocolVersions = acceptedPackageDependencyValues.filter(val => val.endsWith(":"));
|
|
672
|
+
const regularVersions = acceptedPackageDependencyValues.filter(val => !val.endsWith(":"));
|
|
673
|
+
|
|
674
|
+
const acceptedPackageDependencyVersions: SemVer[] = regularVersions.map(
|
|
528
675
|
(acceptedPackageDependencyValue) => {
|
|
529
676
|
const acceptedPackageDependencyVersion = coerce(
|
|
530
677
|
acceptedPackageDependencyValue,
|
|
@@ -540,46 +687,46 @@ const ensurePackageMatchesSomeVersion = (
|
|
|
540
687
|
|
|
541
688
|
const actualPackageDependencyValue = packageJson.dependencies
|
|
542
689
|
&& packageJson.dependencies[dependencyPackageName];
|
|
543
|
-
|
|
544
|
-
if (
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
690
|
+
|
|
691
|
+
if (actualPackageDependencyValue != null) {
|
|
692
|
+
const matches = matchesAnyVersion(
|
|
693
|
+
actualPackageDependencyValue,
|
|
694
|
+
protocolVersions,
|
|
695
|
+
acceptedPackageDependencyVersions,
|
|
696
|
+
);
|
|
697
|
+
|
|
698
|
+
if (!matches) {
|
|
699
|
+
context.addError({
|
|
700
|
+
file: packageJsonPath,
|
|
701
|
+
message: `Expected dependency on ${dependencyPackageName} to match one of '${
|
|
702
|
+
JSON.stringify(
|
|
703
|
+
acceptedPackageDependencyValues,
|
|
704
|
+
)
|
|
705
|
+
}', got '${actualPackageDependencyValue}' instead.`,
|
|
706
|
+
});
|
|
707
|
+
}
|
|
560
708
|
}
|
|
561
709
|
|
|
562
710
|
const actualPackageDevDependencyValue = packageJson.devDependencies
|
|
563
711
|
&& packageJson.devDependencies[dependencyPackageName];
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
});
|
|
712
|
+
|
|
713
|
+
if (actualPackageDevDependencyValue != null) {
|
|
714
|
+
const matches = matchesAnyVersion(
|
|
715
|
+
actualPackageDevDependencyValue,
|
|
716
|
+
protocolVersions,
|
|
717
|
+
acceptedPackageDependencyVersions,
|
|
718
|
+
);
|
|
719
|
+
|
|
720
|
+
if (!matches) {
|
|
721
|
+
context.addError({
|
|
722
|
+
file: packageJsonPath,
|
|
723
|
+
message: `Expected devDependency on ${dependencyPackageName} to match one of '${
|
|
724
|
+
JSON.stringify(
|
|
725
|
+
acceptedPackageDependencyValues,
|
|
726
|
+
)
|
|
727
|
+
}', got '${actualPackageDevDependencyValue}' instead.`,
|
|
728
|
+
});
|
|
729
|
+
}
|
|
583
730
|
}
|
|
584
731
|
};
|
|
585
732
|
</pre></td></tr></table></pre>
|
|
@@ -589,7 +736,7 @@ const ensurePackageMatchesSomeVersion = (
|
|
|
589
736
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
590
737
|
Code coverage generated by
|
|
591
738
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
592
|
-
at 2025-
|
|
739
|
+
at 2025-11-07T18:00:58.549Z
|
|
593
740
|
</div>
|
|
594
741
|
<script src="../prettify.js"></script>
|
|
595
742
|
<script>
|