@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.
Files changed (107) hide show
  1. package/.turbo/turbo-clean.log +1 -1
  2. package/.turbo/turbo-compile-typescript.log +1 -1
  3. package/.turbo/turbo-lint.log +1 -1
  4. package/.turbo/turbo-test.log +443 -92
  5. package/.turbo/turbo-transpile-typescript.log +5 -5
  6. package/CHANGELOG.md +112 -0
  7. package/build/js/index.js +413 -368
  8. package/build/js/index.js.map +1 -1
  9. package/build/tsconfig.tsbuildinfo +1 -1
  10. package/build/types/REMOVE.d.ts +2 -0
  11. package/build/types/REMOVE.d.ts.map +1 -0
  12. package/build/types/__tests__/alphabeticalDependencies.spec.d.ts +8 -0
  13. package/build/types/__tests__/alphabeticalDependencies.spec.d.ts.map +1 -0
  14. package/build/types/__tests__/forceError.spec.d.ts +8 -0
  15. package/build/types/__tests__/forceError.spec.d.ts.map +1 -0
  16. package/build/types/__tests__/oncePerPackage.spec.d.ts +8 -0
  17. package/build/types/__tests__/oncePerPackage.spec.d.ts.map +1 -0
  18. package/build/types/__tests__/standardTsconfig.spec.d.ts +8 -0
  19. package/build/types/__tests__/standardTsconfig.spec.d.ts.map +1 -0
  20. package/build/types/bannedDependencies.d.ts +9 -33
  21. package/build/types/bannedDependencies.d.ts.map +1 -1
  22. package/build/types/consistentDependencies.d.ts +6 -6
  23. package/build/types/consistentDependencies.d.ts.map +1 -1
  24. package/build/types/consistentVersions.d.ts +6 -10
  25. package/build/types/consistentVersions.d.ts.map +1 -1
  26. package/build/types/fileContents.d.ts +3 -2
  27. package/build/types/fileContents.d.ts.map +1 -1
  28. package/build/types/index.d.ts +1 -0
  29. package/build/types/index.d.ts.map +1 -1
  30. package/build/types/mustSatisfyPeerDependencies.d.ts +12 -190
  31. package/build/types/mustSatisfyPeerDependencies.d.ts.map +1 -1
  32. package/build/types/nestedWorkspaces.d.ts +2 -2
  33. package/build/types/nestedWorkspaces.d.ts.map +1 -1
  34. package/build/types/oncePerPackage.d.ts +6 -6
  35. package/build/types/oncePerPackage.d.ts.map +1 -1
  36. package/build/types/packageEntry.d.ts +11 -33
  37. package/build/types/packageEntry.d.ts.map +1 -1
  38. package/build/types/packageOrder.d.ts +2 -1
  39. package/build/types/packageOrder.d.ts.map +1 -1
  40. package/build/types/packageScript.d.ts +13 -22
  41. package/build/types/packageScript.d.ts.map +1 -1
  42. package/build/types/requireDependency.d.ts +5 -20
  43. package/build/types/requireDependency.d.ts.map +1 -1
  44. package/build/types/standardTsconfig.d.ts +12 -19
  45. package/build/types/standardTsconfig.d.ts.map +1 -1
  46. package/build/types/util/zodSchemas.d.ts +14 -0
  47. package/build/types/util/zodSchemas.d.ts.map +1 -0
  48. package/coverage/block-navigation.js +1 -1
  49. package/coverage/clover.xml +1420 -1452
  50. package/coverage/coverage-final.json +21 -19
  51. package/coverage/index.html +27 -27
  52. package/coverage/sorter.js +21 -7
  53. package/coverage/src/REMOVE.ts.html +88 -0
  54. package/coverage/src/alphabeticalDependencies.ts.html +15 -15
  55. package/coverage/src/alphabeticalScripts.ts.html +5 -5
  56. package/coverage/src/bannedDependencies.ts.html +20 -53
  57. package/coverage/src/consistentDependencies.ts.html +20 -14
  58. package/coverage/src/consistentVersions.ts.html +330 -183
  59. package/coverage/src/fileContents.ts.html +223 -88
  60. package/coverage/src/forceError.ts.html +31 -31
  61. package/coverage/src/index.html +104 -89
  62. package/coverage/src/index.ts.html +11 -5
  63. package/coverage/src/mustSatisfyPeerDependencies.ts.html +15 -501
  64. package/coverage/src/nestedWorkspaces.ts.html +5 -5
  65. package/coverage/src/oncePerPackage.ts.html +31 -31
  66. package/coverage/src/packageEntry.ts.html +121 -91
  67. package/coverage/src/packageOrder.ts.html +44 -14
  68. package/coverage/src/packageScript.ts.html +235 -88
  69. package/coverage/src/requireDependency.ts.html +241 -82
  70. package/coverage/src/standardTsconfig.ts.html +212 -212
  71. package/coverage/src/util/checkAlpha.ts.html +40 -40
  72. package/coverage/src/util/createRuleFactory.ts.html +19 -19
  73. package/coverage/src/util/index.html +30 -15
  74. package/coverage/src/util/makeDirectory.ts.html +11 -11
  75. package/coverage/src/util/packageDependencyGraphService.ts.html +1 -1
  76. package/coverage/src/util/zodSchemas.ts.html +130 -0
  77. package/package.json +15 -15
  78. package/src/REMOVE.ts +1 -0
  79. package/src/__tests__/alphabeticalDependencies.spec.ts +102 -0
  80. package/src/__tests__/alphabeticalScripts.spec.ts +18 -0
  81. package/src/__tests__/bannedDependencies.spec.ts +49 -0
  82. package/src/__tests__/consistentDependencies.spec.ts +23 -0
  83. package/src/__tests__/consistentVersions.spec.ts +142 -0
  84. package/src/__tests__/fileContents.spec.ts +348 -0
  85. package/src/__tests__/forceError.spec.ts +70 -0
  86. package/src/__tests__/mustSatisfyPeerDependencies.spec.ts +44 -0
  87. package/src/__tests__/nestedWorkspaces.spec.ts +14 -0
  88. package/src/__tests__/oncePerPackage.spec.ts +75 -0
  89. package/src/__tests__/packageEntry.spec.ts +177 -0
  90. package/src/__tests__/packageOrder.spec.ts +22 -0
  91. package/src/__tests__/packageScript.spec.ts +549 -0
  92. package/src/__tests__/requireDependency.spec.ts +259 -2
  93. package/src/__tests__/standardTsconfig.spec.ts +91 -0
  94. package/src/bannedDependencies.ts +14 -25
  95. package/src/consistentDependencies.ts +10 -8
  96. package/src/consistentVersions.ts +132 -83
  97. package/src/fileContents.ts +80 -35
  98. package/src/index.ts +2 -0
  99. package/src/mustSatisfyPeerDependencies.ts +10 -172
  100. package/src/nestedWorkspaces.ts +4 -4
  101. package/src/oncePerPackage.ts +6 -6
  102. package/src/packageEntry.ts +60 -50
  103. package/src/packageOrder.ts +19 -9
  104. package/src/packageScript.ts +67 -18
  105. package/src/requireDependency.ts +84 -31
  106. package/src/standardTsconfig.ts +26 -26
  107. 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">100% </span>
26
+ <span class="strong">69.46% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>155/155</span>
28
+ <span class='fraction'>91/131</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">100% </span>
33
+ <span class="strong">66.66% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>0/0</span>
35
+ <span class='fraction'>12/18</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'>0/0</span>
42
+ <span class='fraction'>6/6</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">100% </span>
47
+ <span class="strong">69.46% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>155/155</span>
49
+ <span class='fraction'>91/131</span>
50
50
  </div>
51
51
 
52
52
 
@@ -61,7 +61,7 @@
61
61
  </div>
62
62
  </template>
63
63
  </div>
64
- <div class='status-line high'></div>
64
+ <div class='status-line medium'></div>
65
65
  <pre><table class="coverage">
66
66
  <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
67
67
  <a name='L2'></a><a href='#L2'>2</a>
@@ -221,12 +221,20 @@
221
221
  <a name='L156'></a><a href='#L156'>156</a>
222
222
  <a name='L157'></a><a href='#L157'>157</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
223
223
  <span class="cline-any cline-neutral">&nbsp;</span>
224
+ <span class="cline-any cline-neutral">&nbsp;</span>
225
+ <span class="cline-any cline-neutral">&nbsp;</span>
226
+ <span class="cline-any cline-neutral">&nbsp;</span>
227
+ <span class="cline-any cline-neutral">&nbsp;</span>
228
+ <span class="cline-any cline-neutral">&nbsp;</span>
229
+ <span class="cline-any cline-neutral">&nbsp;</span>
224
230
  <span class="cline-any cline-yes">1x</span>
225
231
  <span class="cline-any cline-yes">1x</span>
226
232
  <span class="cline-any cline-yes">1x</span>
227
233
  <span class="cline-any cline-yes">1x</span>
228
234
  <span class="cline-any cline-yes">1x</span>
235
+ <span class="cline-any cline-neutral">&nbsp;</span>
229
236
  <span class="cline-any cline-yes">1x</span>
237
+ <span class="cline-any cline-neutral">&nbsp;</span>
230
238
  <span class="cline-any cline-yes">1x</span>
231
239
  <span class="cline-any cline-yes">1x</span>
232
240
  <span class="cline-any cline-yes">1x</span>
@@ -236,145 +244,137 @@
236
244
  <span class="cline-any cline-yes">1x</span>
237
245
  <span class="cline-any cline-yes">1x</span>
238
246
  <span class="cline-any cline-yes">1x</span>
247
+ <span class="cline-any cline-yes">12x</span>
248
+ <span class="cline-any cline-yes">12x</span>
249
+ <span class="cline-any cline-yes">4x</span>
250
+ <span class="cline-any cline-yes">4x</span>
251
+ <span class="cline-any cline-yes">12x</span>
252
+ <span class="cline-any cline-yes">6x</span>
253
+ <span class="cline-any cline-yes">6x</span>
254
+ <span class="cline-any cline-yes">12x</span>
255
+ <span class="cline-any cline-yes">4x</span>
256
+ <span class="cline-any cline-yes">4x</span>
257
+ <span class="cline-any cline-neutral">&nbsp;</span>
258
+ <span class="cline-any cline-yes">12x</span>
239
259
  <span class="cline-any cline-yes">1x</span>
240
260
  <span class="cline-any cline-yes">1x</span>
241
261
  <span class="cline-any cline-yes">1x</span>
262
+ <span class="cline-any cline-neutral">&nbsp;</span>
263
+ <span class="cline-any cline-neutral">&nbsp;</span>
264
+ <span class="cline-any cline-neutral">&nbsp;</span>
265
+ <span class="cline-any cline-neutral">&nbsp;</span>
242
266
  <span class="cline-any cline-yes">1x</span>
243
267
  <span class="cline-any cline-yes">1x</span>
244
268
  <span class="cline-any cline-yes">1x</span>
269
+ <span class="cline-any cline-yes">4x</span>
270
+ <span class="cline-any cline-yes">4x</span>
271
+ <span class="cline-any cline-yes">4x</span>
272
+ <span class="cline-any cline-yes">4x</span>
273
+ <span class="cline-any cline-neutral">&nbsp;</span>
274
+ <span class="cline-any cline-yes">4x</span>
275
+ <span class="cline-any cline-yes">2x</span>
276
+ <span class="cline-any cline-yes">2x</span>
277
+ <span class="cline-any cline-neutral">&nbsp;</span>
278
+ <span class="cline-any cline-yes">4x</span>
279
+ <span class="cline-any cline-no">&nbsp;</span>
280
+ <span class="cline-any cline-no">&nbsp;</span>
281
+ <span class="cline-any cline-no">&nbsp;</span>
282
+ <span class="cline-any cline-no">&nbsp;</span>
283
+ <span class="cline-any cline-no">&nbsp;</span>
284
+ <span class="cline-any cline-no">&nbsp;</span>
285
+ <span class="cline-any cline-neutral">&nbsp;</span>
286
+ <span class="cline-any cline-yes">4x</span>
287
+ <span class="cline-any cline-yes">2x</span>
288
+ <span class="cline-any cline-yes">2x</span>
289
+ <span class="cline-any cline-yes">2x</span>
290
+ <span class="cline-any cline-yes">2x</span>
291
+ <span class="cline-any cline-yes">2x</span>
292
+ <span class="cline-any cline-yes">2x</span>
293
+ <span class="cline-any cline-yes">2x</span>
294
+ <span class="cline-any cline-yes">2x</span>
295
+ <span class="cline-any cline-yes">2x</span>
296
+ <span class="cline-any cline-yes">2x</span>
297
+ <span class="cline-any cline-yes">2x</span>
298
+ <span class="cline-any cline-yes">4x</span>
245
299
  <span class="cline-any cline-yes">1x</span>
246
300
  <span class="cline-any cline-yes">1x</span>
247
- <span class="cline-any cline-yes">1x</span>
248
- <span class="cline-any cline-yes">1x</span>
249
- <span class="cline-any cline-yes">1x</span>
250
- <span class="cline-any cline-yes">1x</span>
251
- <span class="cline-any cline-yes">1x</span>
252
- <span class="cline-any cline-yes">1x</span>
253
- <span class="cline-any cline-yes">1x</span>
254
- <span class="cline-any cline-yes">1x</span>
255
- <span class="cline-any cline-yes">1x</span>
256
- <span class="cline-any cline-yes">1x</span>
257
- <span class="cline-any cline-yes">1x</span>
258
- <span class="cline-any cline-yes">1x</span>
259
- <span class="cline-any cline-yes">1x</span>
260
- <span class="cline-any cline-yes">1x</span>
261
- <span class="cline-any cline-yes">1x</span>
262
- <span class="cline-any cline-yes">1x</span>
263
- <span class="cline-any cline-yes">1x</span>
264
- <span class="cline-any cline-yes">1x</span>
265
- <span class="cline-any cline-yes">1x</span>
266
- <span class="cline-any cline-yes">1x</span>
267
- <span class="cline-any cline-yes">1x</span>
268
- <span class="cline-any cline-yes">1x</span>
269
- <span class="cline-any cline-yes">1x</span>
270
- <span class="cline-any cline-yes">1x</span>
271
- <span class="cline-any cline-yes">1x</span>
272
- <span class="cline-any cline-yes">1x</span>
273
- <span class="cline-any cline-yes">1x</span>
274
- <span class="cline-any cline-yes">1x</span>
275
- <span class="cline-any cline-yes">1x</span>
276
- <span class="cline-any cline-yes">1x</span>
277
- <span class="cline-any cline-yes">1x</span>
278
- <span class="cline-any cline-yes">1x</span>
279
- <span class="cline-any cline-yes">1x</span>
280
- <span class="cline-any cline-yes">1x</span>
281
- <span class="cline-any cline-yes">1x</span>
282
- <span class="cline-any cline-yes">1x</span>
283
- <span class="cline-any cline-yes">1x</span>
284
- <span class="cline-any cline-yes">1x</span>
285
- <span class="cline-any cline-yes">1x</span>
286
- <span class="cline-any cline-yes">1x</span>
287
- <span class="cline-any cline-yes">1x</span>
288
- <span class="cline-any cline-yes">1x</span>
289
- <span class="cline-any cline-yes">1x</span>
290
- <span class="cline-any cline-yes">1x</span>
291
- <span class="cline-any cline-yes">1x</span>
292
- <span class="cline-any cline-yes">1x</span>
293
- <span class="cline-any cline-yes">1x</span>
294
- <span class="cline-any cline-yes">1x</span>
295
- <span class="cline-any cline-yes">1x</span>
296
- <span class="cline-any cline-yes">1x</span>
297
- <span class="cline-any cline-yes">1x</span>
298
- <span class="cline-any cline-yes">1x</span>
299
- <span class="cline-any cline-yes">1x</span>
300
- <span class="cline-any cline-yes">1x</span>
301
- <span class="cline-any cline-yes">1x</span>
302
- <span class="cline-any cline-yes">1x</span>
303
- <span class="cline-any cline-yes">1x</span>
304
- <span class="cline-any cline-yes">1x</span>
305
- <span class="cline-any cline-yes">1x</span>
306
- <span class="cline-any cline-yes">1x</span>
307
- <span class="cline-any cline-yes">1x</span>
308
- <span class="cline-any cline-yes">1x</span>
309
- <span class="cline-any cline-yes">1x</span>
310
- <span class="cline-any cline-yes">1x</span>
311
- <span class="cline-any cline-yes">1x</span>
312
- <span class="cline-any cline-yes">1x</span>
313
- <span class="cline-any cline-yes">1x</span>
314
- <span class="cline-any cline-yes">1x</span>
315
- <span class="cline-any cline-yes">1x</span>
316
- <span class="cline-any cline-yes">1x</span>
317
- <span class="cline-any cline-yes">1x</span>
318
- <span class="cline-any cline-yes">1x</span>
319
- <span class="cline-any cline-yes">1x</span>
320
- <span class="cline-any cline-yes">1x</span>
321
- <span class="cline-any cline-yes">1x</span>
322
- <span class="cline-any cline-yes">1x</span>
323
- <span class="cline-any cline-yes">1x</span>
324
- <span class="cline-any cline-yes">1x</span>
325
- <span class="cline-any cline-yes">1x</span>
326
- <span class="cline-any cline-yes">1x</span>
327
- <span class="cline-any cline-yes">1x</span>
328
- <span class="cline-any cline-yes">1x</span>
329
- <span class="cline-any cline-yes">1x</span>
330
- <span class="cline-any cline-yes">1x</span>
331
- <span class="cline-any cline-yes">1x</span>
332
- <span class="cline-any cline-yes">1x</span>
333
- <span class="cline-any cline-yes">1x</span>
334
- <span class="cline-any cline-yes">1x</span>
335
- <span class="cline-any cline-yes">1x</span>
336
- <span class="cline-any cline-yes">1x</span>
337
- <span class="cline-any cline-yes">1x</span>
338
- <span class="cline-any cline-yes">1x</span>
339
- <span class="cline-any cline-yes">1x</span>
340
- <span class="cline-any cline-yes">1x</span>
341
- <span class="cline-any cline-yes">1x</span>
342
- <span class="cline-any cline-yes">1x</span>
343
- <span class="cline-any cline-yes">1x</span>
344
- <span class="cline-any cline-yes">1x</span>
345
- <span class="cline-any cline-yes">1x</span>
346
- <span class="cline-any cline-yes">1x</span>
347
- <span class="cline-any cline-yes">1x</span>
348
- <span class="cline-any cline-yes">1x</span>
349
- <span class="cline-any cline-yes">1x</span>
350
- <span class="cline-any cline-yes">1x</span>
351
- <span class="cline-any cline-yes">1x</span>
352
- <span class="cline-any cline-yes">1x</span>
353
- <span class="cline-any cline-yes">1x</span>
354
- <span class="cline-any cline-yes">1x</span>
355
- <span class="cline-any cline-yes">1x</span>
356
- <span class="cline-any cline-yes">1x</span>
357
- <span class="cline-any cline-yes">1x</span>
358
- <span class="cline-any cline-yes">1x</span>
359
- <span class="cline-any cline-yes">1x</span>
360
- <span class="cline-any cline-yes">1x</span>
361
- <span class="cline-any cline-yes">1x</span>
362
- <span class="cline-any cline-yes">1x</span>
363
- <span class="cline-any cline-yes">1x</span>
364
- <span class="cline-any cline-yes">1x</span>
365
- <span class="cline-any cline-yes">1x</span>
366
- <span class="cline-any cline-yes">1x</span>
367
- <span class="cline-any cline-yes">1x</span>
368
- <span class="cline-any cline-yes">1x</span>
369
- <span class="cline-any cline-yes">1x</span>
370
- <span class="cline-any cline-yes">1x</span>
371
- <span class="cline-any cline-yes">1x</span>
372
- <span class="cline-any cline-yes">1x</span>
373
- <span class="cline-any cline-yes">1x</span>
374
- <span class="cline-any cline-yes">1x</span>
375
- <span class="cline-any cline-yes">1x</span>
376
- <span class="cline-any cline-yes">1x</span>
377
- <span class="cline-any cline-yes">1x</span>
301
+ <span class="cline-any cline-neutral">&nbsp;</span>
302
+ <span class="cline-any cline-yes">4x</span>
303
+ <span class="cline-any cline-yes">4x</span>
304
+ <span class="cline-any cline-no">&nbsp;</span>
305
+ <span class="cline-any cline-yes">4x</span>
306
+ <span class="cline-any cline-no">&nbsp;</span>
307
+ <span class="cline-any cline-no">&nbsp;</span>
308
+ <span class="cline-any cline-no">&nbsp;</span>
309
+ <span class="cline-any cline-no">&nbsp;</span>
310
+ <span class="cline-any cline-no">&nbsp;</span>
311
+ <span class="cline-any cline-neutral">&nbsp;</span>
312
+ <span class="cline-any cline-no">&nbsp;</span>
313
+ <span class="cline-any cline-no">&nbsp;</span>
314
+ <span class="cline-any cline-no">&nbsp;</span>
315
+ <span class="cline-any cline-no">&nbsp;</span>
316
+ <span class="cline-any cline-no">&nbsp;</span>
317
+ <span class="cline-any cline-no">&nbsp;</span>
318
+ <span class="cline-any cline-yes">4x</span>
319
+ <span class="cline-any cline-yes">4x</span>
320
+ <span class="cline-any cline-yes">4x</span>
321
+ <span class="cline-any cline-yes">4x</span>
322
+ <span class="cline-any cline-yes">4x</span>
323
+ <span class="cline-any cline-yes">4x</span>
324
+ <span class="cline-any cline-yes">4x</span>
325
+ <span class="cline-any cline-yes">4x</span>
326
+ <span class="cline-any cline-no">&nbsp;</span>
327
+ <span class="cline-any cline-no">&nbsp;</span>
328
+ <span class="cline-any cline-yes">4x</span>
329
+ <span class="cline-any cline-neutral">&nbsp;</span>
330
+ <span class="cline-any cline-yes">4x</span>
331
+ <span class="cline-any cline-neutral">&nbsp;</span>
332
+ <span class="cline-any cline-yes">4x</span>
333
+ <span class="cline-any cline-yes">4x</span>
334
+ <span class="cline-any cline-yes">4x</span>
335
+ <span class="cline-any cline-yes">4x</span>
336
+ <span class="cline-any cline-yes">4x</span>
337
+ <span class="cline-any cline-yes">4x</span>
338
+ <span class="cline-any cline-yes">4x</span>
339
+ <span class="cline-any cline-yes">4x</span>
340
+ <span class="cline-any cline-yes">4x</span>
341
+ <span class="cline-any cline-yes">4x</span>
342
+ <span class="cline-any cline-neutral">&nbsp;</span>
343
+ <span class="cline-any cline-yes">4x</span>
344
+ <span class="cline-any cline-yes">4x</span>
345
+ <span class="cline-any cline-neutral">&nbsp;</span>
346
+ <span class="cline-any cline-yes">4x</span>
347
+ <span class="cline-any cline-yes">4x</span>
348
+ <span class="cline-any cline-yes">4x</span>
349
+ <span class="cline-any cline-yes">4x</span>
350
+ <span class="cline-any cline-yes">4x</span>
351
+ <span class="cline-any cline-yes">4x</span>
352
+ <span class="cline-any cline-no">&nbsp;</span>
353
+ <span class="cline-any cline-no">&nbsp;</span>
354
+ <span class="cline-any cline-no">&nbsp;</span>
355
+ <span class="cline-any cline-no">&nbsp;</span>
356
+ <span class="cline-any cline-no">&nbsp;</span>
357
+ <span class="cline-any cline-no">&nbsp;</span>
358
+ <span class="cline-any cline-no">&nbsp;</span>
359
+ <span class="cline-any cline-no">&nbsp;</span>
360
+ <span class="cline-any cline-no">&nbsp;</span>
361
+ <span class="cline-any cline-no">&nbsp;</span>
362
+ <span class="cline-any cline-no">&nbsp;</span>
363
+ <span class="cline-any cline-no">&nbsp;</span>
364
+ <span class="cline-any cline-no">&nbsp;</span>
365
+ <span class="cline-any cline-no">&nbsp;</span>
366
+ <span class="cline-any cline-neutral">&nbsp;</span>
367
+ <span class="cline-any cline-yes">4x</span>
368
+ <span class="cline-any cline-no">&nbsp;</span>
369
+ <span class="cline-any cline-no">&nbsp;</span>
370
+ <span class="cline-any cline-no">&nbsp;</span>
371
+ <span class="cline-any cline-no">&nbsp;</span>
372
+ <span class="cline-any cline-no">&nbsp;</span>
373
+ <span class="cline-any cline-no">&nbsp;</span>
374
+ <span class="cline-any cline-neutral">&nbsp;</span>
375
+ <span class="cline-any cline-yes">4x</span>
376
+ <span class="cline-any cline-yes">4x</span>
377
+ <span class="cline-any cline-yes">4x</span>
378
378
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">/*!
379
379
  * Copyright 2019 Palantir Technologies, Inc.
380
380
  *
@@ -386,38 +386,38 @@ import { Context } from "@monorepolint/config";
386
386
  import { matchesAnyGlob } from "@monorepolint/utils";
387
387
  import { diff } from "jest-diff";
388
388
  import * as path from "path";
389
- import * as r from "runtypes";
389
+ import { z } from "zod";
390
390
  import { createRuleFactory } from "./util/createRuleFactory.js";
391
391
  &nbsp;
392
392
  const DEFAULT_TSCONFIG_FILENAME = "tsconfig.json";
393
393
  &nbsp;
394
- const Options = r
395
- .Partial({
396
- file: r.String,
397
- generator: r.Function,
398
- tsconfigReferenceFile: r.String,
399
- template: r.Record({}).Or(r.String),
400
- templateFile: r.String,
401
- excludedReferences: r.Array(r.String).Or(r.Undefined),
402
- additionalReferences: r.Array(r.String).Or(r.Undefined),
403
- })
404
- .withConstraint(({ generator, template, templateFile }) =&gt; {
405
- let count = 0;
406
- if (generator) {
407
- count++;
408
- }
409
- if (template) {
410
- count++;
411
- }
412
- if (templateFile) {
413
- count++;
414
- }
394
+ const Options = z.object({
395
+ file: z.string().optional(),
396
+ generator: z.custom&lt;(context: Context) =&gt; Promise&lt;string&gt; | string&gt;().optional(),
397
+ tsconfigReferenceFile: z.string().optional(),
398
+ template: z.record(z.string(), z.unknown()).optional(),
399
+ templateFile: z.string().optional(),
400
+ excludedReferences: z.array(z.string()).optional(),
401
+ additionalReferences: z.array(z.string()).optional(),
402
+ }).partial().refine(({ generator, template, templateFile }) =&gt; {
403
+ let count = 0;
404
+ if (generator) {
405
+ count++;
406
+ }
407
+ if (template) {
408
+ count++;
409
+ }
410
+ if (templateFile) {
411
+ count++;
412
+ }
415
413
  &nbsp;
416
- return count === 1 || "Expect one of { generator, template, templateFile }";
417
- });
414
+ return count === 1;
415
+ }, {
416
+ message: "Expect one of { generator, template, templateFile }",
417
+ });
418
418
  &nbsp;
419
419
  // eslint-disable-next-line @typescript-eslint/no-empty-object-type
420
- export interface Options extends r.Static&lt;typeof Options&gt; {}
420
+ export interface Options extends z.infer&lt;typeof Options&gt; {}
421
421
  &nbsp;
422
422
  export const standardTsconfig = createRuleFactory&lt;Options&gt;({
423
423
  name: "standardTsconfig",
@@ -431,13 +431,13 @@ export const standardTsconfig = createRuleFactory&lt;Options&gt;({
431
431
  ? context.host.readFile(fullPath, { encoding: "utf-8" })
432
432
  : undefined;
433
433
  &nbsp;
434
- if (expectedContent === undefined) {
435
- context.addWarning({
436
- file: fullPath,
437
- message: "Excluding from expect-standard-tsconfig",
438
- });
439
- return;
440
- }
434
+ if (expectedContent === undefined) <span class="branch-0 cbranch-no" title="branch not covered" >{</span>
435
+ <span class="cstat-no" title="statement not covered" > context.addWarning({</span>
436
+ <span class="cstat-no" title="statement not covered" > file: fullPath,</span>
437
+ <span class="cstat-no" title="statement not covered" > message: "Excluding from expect-standard-tsconfig",</span>
438
+ <span class="cstat-no" title="statement not covered" > });</span>
439
+ <span class="cstat-no" title="statement not covered" > return;</span>
440
+ <span class="cstat-no" title="statement not covered" > }</span>
441
441
  &nbsp;
442
442
  if (actualContent !== expectedContent) {
443
443
  context.addError({
@@ -452,25 +452,25 @@ export const standardTsconfig = createRuleFactory&lt;Options&gt;({
452
452
  });
453
453
  }
454
454
  },
455
- validateOptions: Options.check,
455
+ validateOptions: Options.parse,
456
456
  });
457
457
  &nbsp;
458
458
  function getGenerator(context: Context, opts: Options) {
459
- if (opts.generator) {
460
- return opts.generator;
461
- } else if (opts.templateFile) {
462
- const { packageDir: workspacePackageDir } = context.getWorkspaceContext();
463
- const fullPath = path.resolve(workspacePackageDir, opts.templateFile);
464
- const template = JSON.parse(
465
- context.host.readFile(fullPath, { encoding: "utf-8" }),
466
- );
459
+ if (opts.generator) <span class="branch-0 cbranch-no" title="branch not covered" >{</span>
460
+ <span class="cstat-no" title="statement not covered" > return opts.generator;</span>
461
+ } else if (opts.templateFile) <span class="branch-0 cbranch-no" title="branch not covered" >{</span>
462
+ <span class="cstat-no" title="statement not covered" > const { packageDir: workspacePackageDir } = context.getWorkspaceContext();</span>
463
+ <span class="cstat-no" title="statement not covered" > const fullPath = path.resolve(workspacePackageDir, opts.templateFile);</span>
464
+ <span class="cstat-no" title="statement not covered" > const template = JSON.parse(</span>
465
+ <span class="cstat-no" title="statement not covered" > context.host.readFile(fullPath, { encoding: "utf-8" }),</span>
466
+ <span class="cstat-no" title="statement not covered" > );</span>
467
467
  &nbsp;
468
- return makeGenerator(
469
- template,
470
- opts.excludedReferences,
471
- opts.additionalReferences,
472
- opts.tsconfigReferenceFile,
473
- );
468
+ <span class="cstat-no" title="statement not covered" > return makeGenerator(</span>
469
+ <span class="cstat-no" title="statement not covered" > template,</span>
470
+ <span class="cstat-no" title="statement not covered" > opts.excludedReferences,</span>
471
+ <span class="cstat-no" title="statement not covered" > opts.additionalReferences,</span>
472
+ <span class="cstat-no" title="statement not covered" > opts.tsconfigReferenceFile,</span>
473
+ <span class="cstat-no" title="statement not covered" > );</span>
474
474
  } else if (opts.template) {
475
475
  return makeGenerator(
476
476
  opts.template,
@@ -478,9 +478,9 @@ function getGenerator(context: Context, opts: Options) {
478
478
  opts.additionalReferences,
479
479
  opts.tsconfigReferenceFile,
480
480
  );
481
- } else {
482
- throw new Error("Unable to make generator");
483
- }
481
+ <span class="branch-0 cbranch-no" title="branch not covered" > } else {</span>
482
+ <span class="cstat-no" title="statement not covered" > throw new Error("Unable to make generator");</span>
483
+ <span class="cstat-no" title="statement not covered" > }</span>
484
484
  }
485
485
  &nbsp;
486
486
  function makeGenerator(
@@ -504,29 +504,29 @@ function makeGenerator(
504
504
  ...Object.keys(packageJson.dependencies || {}),
505
505
  ...Object.keys(packageJson.devDependencies || {}),
506
506
  ];
507
- for (const dep of deps) {
508
- const packageDir = nameToDirectory.get(dep);
509
- if (
510
- packageDir !== undefined
511
- &amp;&amp; (excludedReferences === undefined
512
- || !matchesAnyGlob(dep, excludedReferences))
513
- ) {
514
- const absoluteReferencePath = tsconfigReferenceFile !== undefined
515
- ? path.join(packageDir, tsconfigReferenceFile)
516
- : packageDir;
517
- template.references.push({
518
- path: path.relative(context.packageDir, absoluteReferencePath),
519
- });
520
- }
521
- }
507
+ for (const dep of deps) <span class="branch-0 cbranch-no" title="branch not covered" >{</span>
508
+ <span class="cstat-no" title="statement not covered" > const packageDir = nameToDirectory.get(dep);</span>
509
+ <span class="cstat-no" title="statement not covered" > if (</span>
510
+ <span class="cstat-no" title="statement not covered" > packageDir !== undefined</span>
511
+ <span class="cstat-no" title="statement not covered" > &amp;&amp; (excludedReferences === undefined</span>
512
+ <span class="cstat-no" title="statement not covered" > || !matchesAnyGlob(dep, excludedReferences))</span>
513
+ <span class="cstat-no" title="statement not covered" > ) {</span>
514
+ <span class="cstat-no" title="statement not covered" > const absoluteReferencePath = tsconfigReferenceFile !== undefined</span>
515
+ <span class="cstat-no" title="statement not covered" > ? path.join(packageDir, tsconfigReferenceFile)</span>
516
+ <span class="cstat-no" title="statement not covered" > : packageDir;</span>
517
+ <span class="cstat-no" title="statement not covered" > template.references.push({</span>
518
+ <span class="cstat-no" title="statement not covered" > path: path.relative(context.packageDir, absoluteReferencePath),</span>
519
+ <span class="cstat-no" title="statement not covered" > });</span>
520
+ <span class="cstat-no" title="statement not covered" > }</span>
521
+ <span class="cstat-no" title="statement not covered" > }</span>
522
522
  &nbsp;
523
- if (additionalReferences) {
524
- for (const additionalReference of additionalReferences) {
525
- template.references.push({
526
- path: additionalReference,
527
- });
528
- }
529
- }
523
+ if (additionalReferences) <span class="branch-0 cbranch-no" title="branch not covered" >{</span>
524
+ <span class="cstat-no" title="statement not covered" > for (const additionalReference of additionalReferences) {</span>
525
+ <span class="cstat-no" title="statement not covered" > template.references.push({</span>
526
+ <span class="cstat-no" title="statement not covered" > path: additionalReference,</span>
527
+ <span class="cstat-no" title="statement not covered" > });</span>
528
+ <span class="cstat-no" title="statement not covered" > }</span>
529
+ <span class="cstat-no" title="statement not covered" > }</span>
530
530
  &nbsp;
531
531
  return JSON.stringify(template, undefined, 2) + "\n";
532
532
  };
@@ -538,7 +538,7 @@ function makeGenerator(
538
538
  <div class='footer quiet pad2 space-top1 center small'>
539
539
  Code coverage generated by
540
540
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
541
- at 2025-01-31T21:00:08.068Z
541
+ at 2025-11-07T18:00:58.549Z
542
542
  </div>
543
543
  <script src="../prettify.js"></script>
544
544
  <script>