@monorepolint/rules 0.6.0-alpha.2 → 0.6.0-alpha.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.
Files changed (77) 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 +160 -100
  5. package/.turbo/turbo-transpile-typescript.log +4 -4
  6. package/CHANGELOG.md +9 -0
  7. package/build/js/index.js +399 -246
  8. package/build/js/index.js.map +1 -1
  9. package/build/tsconfig.tsbuildinfo +1 -1
  10. package/build/types/__tests__/utils.d.ts +0 -1
  11. package/build/types/__tests__/utils.d.ts.map +1 -1
  12. package/build/types/bannedDependencies.d.ts.map +1 -1
  13. package/build/types/fileContents.d.ts.map +1 -1
  14. package/build/types/index.d.ts +3 -3
  15. package/build/types/index.d.ts.map +1 -1
  16. package/build/types/mustSatisfyPeerDependencies.d.ts.map +1 -1
  17. package/build/types/nestedWorkspaces.d.ts.map +1 -1
  18. package/build/types/packageEntry.d.ts.map +1 -1
  19. package/build/types/packageOrder.d.ts.map +1 -1
  20. package/build/types/packageScript.d.ts.map +1 -1
  21. package/build/types/requireDependency.d.ts +12 -12
  22. package/build/types/requireDependency.d.ts.map +1 -1
  23. package/build/types/util/checkAlpha.d.ts.map +1 -1
  24. package/build/types/util/createRuleFactory.d.ts.map +1 -1
  25. package/build/types/util/packageDependencyGraphService.d.ts.map +1 -1
  26. package/coverage/clover.xml +1159 -818
  27. package/coverage/coverage-final.json +18 -18
  28. package/coverage/index.html +20 -20
  29. package/coverage/src/alphabeticalDependencies.ts.html +8 -8
  30. package/coverage/src/alphabeticalScripts.ts.html +5 -5
  31. package/coverage/src/bannedDependencies.ts.html +77 -26
  32. package/coverage/src/consistentDependencies.ts.html +58 -19
  33. package/coverage/src/consistentVersions.ts.html +169 -58
  34. package/coverage/src/fileContents.ts.html +47 -23
  35. package/coverage/src/index.html +67 -67
  36. package/coverage/src/index.ts.html +32 -32
  37. package/coverage/src/mustSatisfyPeerDependencies.ts.html +373 -85
  38. package/coverage/src/nestedWorkspaces.ts.html +59 -20
  39. package/coverage/src/packageEntry.ts.html +40 -19
  40. package/coverage/src/packageOrder.ts.html +30 -12
  41. package/coverage/src/packageScript.ts.html +81 -27
  42. package/coverage/src/requireDependency.ts.html +83 -32
  43. package/coverage/src/standardTsconfig.ts.html +81 -18
  44. package/coverage/src/util/checkAlpha.ts.html +18 -9
  45. package/coverage/src/util/createRuleFactory.ts.html +16 -4
  46. package/coverage/src/util/index.html +17 -17
  47. package/coverage/src/util/makeDirectory.ts.html +5 -5
  48. package/coverage/src/util/packageDependencyGraphService.ts.html +101 -20
  49. package/package.json +4 -5
  50. package/src/__tests__/alphabeticalScripts.spec.ts +12 -4
  51. package/src/__tests__/bannedDependencies.spec.ts +45 -16
  52. package/src/__tests__/consistentDependencies.spec.ts +11 -5
  53. package/src/__tests__/consistentVersions.spec.ts +72 -18
  54. package/src/__tests__/fileContents.spec.ts +9 -5
  55. package/src/__tests__/mustSatisfyPeerDependencies.spec.ts +191 -76
  56. package/src/__tests__/nestedWorkspaces.spec.ts +10 -6
  57. package/src/__tests__/packageEntry.spec.ts +54 -48
  58. package/src/__tests__/packageOrder.spec.ts +77 -71
  59. package/src/__tests__/packageScript.spec.ts +25 -11
  60. package/src/__tests__/requireDependency.spec.ts +12 -6
  61. package/src/__tests__/utils.ts +16 -7
  62. package/src/bannedDependencies.ts +32 -15
  63. package/src/consistentDependencies.ts +22 -9
  64. package/src/consistentVersions.ts +84 -47
  65. package/src/fileContents.ts +19 -11
  66. package/src/index.ts +3 -3
  67. package/src/mustSatisfyPeerDependencies.ts +162 -66
  68. package/src/nestedWorkspaces.ts +23 -10
  69. package/src/packageEntry.ts +18 -11
  70. package/src/packageOrder.ts +9 -3
  71. package/src/packageScript.ts +37 -19
  72. package/src/requireDependency.ts +28 -11
  73. package/src/standardTsconfig.ts +31 -10
  74. package/src/util/checkAlpha.ts +5 -2
  75. package/src/util/createRuleFactory.ts +6 -2
  76. package/src/util/packageDependencyGraphService.ts +41 -14
  77. package/vitest.config.mjs +10 -7
@@ -23,16 +23,16 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">90.56% </span>
26
+ <span class="strong">87.83% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>48/53</span>
28
+ <span class='fraction'>65/74</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
33
  <span class="strong">100% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>9/9</span>
35
+ <span class='fraction'>13/13</span>
36
36
  </div>
37
37
 
38
38
 
@@ -44,9 +44,9 @@
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">90.56% </span>
47
+ <span class="strong">87.83% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>48/53</span>
49
+ <span class='fraction'>65/74</span>
50
50
  </div>
51
51
 
52
52
 
@@ -134,11 +134,24 @@
134
134
  <a name='L69'></a><a href='#L69'>69</a>
135
135
  <a name='L70'></a><a href='#L70'>70</a>
136
136
  <a name='L71'></a><a href='#L71'>71</a>
137
- <a name='L72'></a><a href='#L72'>72</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
138
- <span class="cline-any cline-neutral">&nbsp;</span>
139
- <span class="cline-any cline-neutral">&nbsp;</span>
140
- <span class="cline-any cline-neutral">&nbsp;</span>
141
- <span class="cline-any cline-neutral">&nbsp;</span>
137
+ <a name='L72'></a><a href='#L72'>72</a>
138
+ <a name='L73'></a><a href='#L73'>73</a>
139
+ <a name='L74'></a><a href='#L74'>74</a>
140
+ <a name='L75'></a><a href='#L75'>75</a>
141
+ <a name='L76'></a><a href='#L76'>76</a>
142
+ <a name='L77'></a><a href='#L77'>77</a>
143
+ <a name='L78'></a><a href='#L78'>78</a>
144
+ <a name='L79'></a><a href='#L79'>79</a>
145
+ <a name='L80'></a><a href='#L80'>80</a>
146
+ <a name='L81'></a><a href='#L81'>81</a>
147
+ <a name='L82'></a><a href='#L82'>82</a>
148
+ <a name='L83'></a><a href='#L83'>83</a>
149
+ <a name='L84'></a><a href='#L84'>84</a>
150
+ <a name='L85'></a><a href='#L85'>85</a>
151
+ <a name='L86'></a><a href='#L86'>86</a>
152
+ <a name='L87'></a><a href='#L87'>87</a>
153
+ <a name='L88'></a><a href='#L88'>88</a>
154
+ <a name='L89'></a><a href='#L89'>89</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
142
155
  <span class="cline-any cline-neutral">&nbsp;</span>
143
156
  <span class="cline-any cline-neutral">&nbsp;</span>
144
157
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -146,6 +159,10 @@
146
159
  <span class="cline-any cline-neutral">&nbsp;</span>
147
160
  <span class="cline-any cline-neutral">&nbsp;</span>
148
161
  <span class="cline-any cline-neutral">&nbsp;</span>
162
+ <span class="cline-any cline-yes">1x</span>
163
+ <span class="cline-any cline-yes">1x</span>
164
+ <span class="cline-any cline-yes">1x</span>
165
+ <span class="cline-any cline-yes">1x</span>
149
166
  <span class="cline-any cline-neutral">&nbsp;</span>
150
167
  <span class="cline-any cline-yes">1x</span>
151
168
  <span class="cline-any cline-yes">1x</span>
@@ -169,6 +186,7 @@
169
186
  <span class="cline-any cline-yes">7x</span>
170
187
  <span class="cline-any cline-yes">7x</span>
171
188
  <span class="cline-any cline-yes">28x</span>
189
+ <span class="cline-any cline-yes">28x</span>
172
190
  <span class="cline-any cline-yes">14x</span>
173
191
  <span class="cline-any cline-yes">14x</span>
174
192
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -182,25 +200,41 @@
182
200
  <span class="cline-any cline-no">&nbsp;</span>
183
201
  <span class="cline-any cline-no">&nbsp;</span>
184
202
  <span class="cline-any cline-no">&nbsp;</span>
203
+ <span class="cline-any cline-no">&nbsp;</span>
204
+ <span class="cline-any cline-no">&nbsp;</span>
205
+ <span class="cline-any cline-no">&nbsp;</span>
206
+ <span class="cline-any cline-no">&nbsp;</span>
185
207
  <span class="cline-any cline-yes">3x</span>
186
208
  <span class="cline-any cline-yes">3x</span>
187
209
  <span class="cline-any cline-yes">3x</span>
188
210
  <span class="cline-any cline-neutral">&nbsp;</span>
211
+ <span class="cline-any cline-yes">28x</span>
212
+ <span class="cline-any cline-yes">16x</span>
189
213
  <span class="cline-any cline-yes">11x</span>
190
214
  <span class="cline-any cline-yes">11x</span>
191
- <span class="cline-any cline-yes">9x</span>
192
- <span class="cline-any cline-yes">9x</span>
193
- <span class="cline-any cline-yes">9x</span>
194
- <span class="cline-any cline-yes">9x</span>
195
- <span class="cline-any cline-yes">9x</span>
196
- <span class="cline-any cline-yes">4x</span>
197
- <span class="cline-any cline-yes">4x</span>
198
- <span class="cline-any cline-yes">4x</span>
215
+ <span class="cline-any cline-yes">11x</span>
216
+ <span class="cline-any cline-yes">11x</span>
217
+ <span class="cline-any cline-yes">11x</span>
218
+ <span class="cline-any cline-yes">11x</span>
219
+ <span class="cline-any cline-yes">11x</span>
220
+ <span class="cline-any cline-yes">11x</span>
221
+ <span class="cline-any cline-yes">5x</span>
222
+ <span class="cline-any cline-yes">5x</span>
223
+ <span class="cline-any cline-yes">5x</span>
224
+ <span class="cline-any cline-yes">5x</span>
225
+ <span class="cline-any cline-yes">5x</span>
226
+ <span class="cline-any cline-yes">1x</span>
227
+ <span class="cline-any cline-yes">1x</span>
228
+ <span class="cline-any cline-yes">5x</span>
199
229
  <span class="cline-any cline-yes">4x</span>
200
230
  <span class="cline-any cline-yes">4x</span>
201
- <span class="cline-any cline-yes">9x</span>
202
- <span class="cline-any cline-yes">9x</span>
231
+ <span class="cline-any cline-yes">5x</span>
232
+ <span class="cline-any cline-yes">5x</span>
233
+ <span class="cline-any cline-yes">5x</span>
234
+ <span class="cline-any cline-yes">5x</span>
235
+ <span class="cline-any cline-yes">11x</span>
203
236
  <span class="cline-any cline-yes">11x</span>
237
+ <span class="cline-any cline-yes">16x</span>
204
238
  <span class="cline-any cline-yes">7x</span>
205
239
  <span class="cline-any cline-yes">7x</span>
206
240
  <span class="cline-any cline-yes">1x</span>
@@ -219,10 +253,10 @@ import * as r from "runtypes";
219
253
  import { createRuleFactory } from "./util/createRuleFactory.js";
220
254
  &nbsp;
221
255
  const Options = r.Partial({
222
- dependencies: r.Dictionary(r.String),
223
- devDependencies: r.Dictionary(r.String),
224
- peerDependencies: r.Dictionary(r.String),
225
- optionalDependencies: r.Dictionary(r.String),
256
+ dependencies: r.Dictionary(r.String.optional()),
257
+ devDependencies: r.Dictionary(r.String.optional()),
258
+ peerDependencies: r.Dictionary(r.String.optional()),
259
+ optionalDependencies: r.Dictionary(r.String.optional()),
226
260
  });
227
261
  &nbsp;
228
262
  type Options = r.Static&lt;typeof Options&gt;;
@@ -239,7 +273,8 @@ export const requireDependency = createRuleFactory({
239
273
  "peerDependencies" as const,
240
274
  "optionalDependencies" as const,
241
275
  ].forEach((type) =&gt; {
242
- if (!options[type]) {
276
+ const expectedEntries = options[type];
277
+ if (!expectedEntries) {
243
278
  return;
244
279
  }
245
280
  &nbsp;
@@ -249,7 +284,11 @@ export const requireDependency = createRuleFactory({
249
284
  message: `No ${type} block, cannot add required ${type}.`,
250
285
  fixer: <span class="fstat-no" title="function not covered" >() =&gt; {</span>
251
286
  <span class="cstat-no" title="statement not covered" > mutateJson&lt;PackageJson&gt;(packageJsonPath, context.host, (input) =&gt; {</span>
252
- <span class="cstat-no" title="statement not covered" > input[type] = options[type];</span>
287
+ <span class="cstat-no" title="statement not covered" > input[type] = Object.fromEntries(</span>
288
+ <span class="cstat-no" title="statement not covered" > Object.entries(expectedEntries).filter(([, v]) =&gt;</span>
289
+ <span class="cstat-no" title="statement not covered" > v !== undefined</span>
290
+ <span class="cstat-no" title="statement not covered" > ),</span>
291
+ <span class="cstat-no" title="statement not covered" > ) as Record&lt;string, string&gt;;</span>
253
292
  <span class="cstat-no" title="statement not covered" > return input;</span>
254
293
  <span class="cstat-no" title="statement not covered" > });</span>
255
294
  <span class="cstat-no" title="statement not covered" > },</span>
@@ -262,12 +301,24 @@ export const requireDependency = createRuleFactory({
262
301
  context.addError({
263
302
  file: packageJsonPath,
264
303
  message: `Expected dependency ${dep}@${version}`,
265
- longMessage: diff(`${dep}@${version}\n`, `${dep}@${packageJson[type]![dep] || "missing"}\n`)!,
304
+ longMessage: diff(
305
+ `${dep}@${version}\n`,
306
+ `${dep}@${packageJson[type]![dep] || "missing"}\n`,
307
+ )!,
266
308
  fixer: () =&gt; {
267
- mutateJson&lt;PackageJson&gt;(packageJsonPath, context.host, (input) =&gt; {
268
- input[type] = { ...input[type], [dep]: version };
269
- return input;
270
- });
309
+ mutateJson&lt;PackageJson&gt;(
310
+ packageJsonPath,
311
+ context.host,
312
+ (input) =&gt; {
313
+ if (version === undefined) {
314
+ input[type] = { ...input[type] };
315
+ delete input[type][dep];
316
+ } else {
317
+ input[type] = { ...input[type], [dep]: version };
318
+ }
319
+ return input;
320
+ },
321
+ );
271
322
  },
272
323
  });
273
324
  }
@@ -283,7 +334,7 @@ export const requireDependency = createRuleFactory({
283
334
  <div class='footer quiet pad2 space-top1 center small'>
284
335
  Code coverage generated by
285
336
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
286
- at 2025-01-17T16:18:41.406Z
337
+ at 2025-01-22T17:39:11.886Z
287
338
  </div>
288
339
  <script src="../prettify.js"></script>
289
340
  <script>
@@ -25,7 +25,7 @@
25
25
  <div class='fl pad1y space-right2'>
26
26
  <span class="strong">100% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>126/126</span>
28
+ <span class='fraction'>152/152</span>
29
29
  </div>
30
30
 
31
31
 
@@ -46,7 +46,7 @@
46
46
  <div class='fl pad1y space-right2'>
47
47
  <span class="strong">100% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>126/126</span>
49
+ <span class='fraction'>152/152</span>
50
50
  </div>
51
51
 
52
52
 
@@ -198,12 +198,28 @@
198
198
  <a name='L133'></a><a href='#L133'>133</a>
199
199
  <a name='L134'></a><a href='#L134'>134</a>
200
200
  <a name='L135'></a><a href='#L135'>135</a>
201
- <a name='L136'></a><a href='#L136'>136</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
202
- <span class="cline-any cline-neutral">&nbsp;</span>
203
- <span class="cline-any cline-neutral">&nbsp;</span>
204
- <span class="cline-any cline-neutral">&nbsp;</span>
205
- <span class="cline-any cline-neutral">&nbsp;</span>
206
- <span class="cline-any cline-neutral">&nbsp;</span>
201
+ <a name='L136'></a><a href='#L136'>136</a>
202
+ <a name='L137'></a><a href='#L137'>137</a>
203
+ <a name='L138'></a><a href='#L138'>138</a>
204
+ <a name='L139'></a><a href='#L139'>139</a>
205
+ <a name='L140'></a><a href='#L140'>140</a>
206
+ <a name='L141'></a><a href='#L141'>141</a>
207
+ <a name='L142'></a><a href='#L142'>142</a>
208
+ <a name='L143'></a><a href='#L143'>143</a>
209
+ <a name='L144'></a><a href='#L144'>144</a>
210
+ <a name='L145'></a><a href='#L145'>145</a>
211
+ <a name='L146'></a><a href='#L146'>146</a>
212
+ <a name='L147'></a><a href='#L147'>147</a>
213
+ <a name='L148'></a><a href='#L148'>148</a>
214
+ <a name='L149'></a><a href='#L149'>149</a>
215
+ <a name='L150'></a><a href='#L150'>150</a>
216
+ <a name='L151'></a><a href='#L151'>151</a>
217
+ <a name='L152'></a><a href='#L152'>152</a>
218
+ <a name='L153'></a><a href='#L153'>153</a>
219
+ <a name='L154'></a><a href='#L154'>154</a>
220
+ <a name='L155'></a><a href='#L155'>155</a>
221
+ <a name='L156'></a><a href='#L156'>156</a>
222
+ <a name='L157'></a><a href='#L157'>157</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
207
223
  <span class="cline-any cline-neutral">&nbsp;</span>
208
224
  <span class="cline-any cline-neutral">&nbsp;</span>
209
225
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -333,6 +349,32 @@
333
349
  <span class="cline-any cline-yes">1x</span>
334
350
  <span class="cline-any cline-yes">1x</span>
335
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>
336
378
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">/*!
337
379
  * Copyright 2019 Palantir Technologies, Inc.
338
380
  *
@@ -419,11 +461,23 @@ function getGenerator(context: Context, opts: Options) {
419
461
  } else if (opts.templateFile) {
420
462
  const { packageDir: workspacePackageDir } = context.getWorkspaceContext();
421
463
  const fullPath = path.resolve(workspacePackageDir, opts.templateFile);
422
- const template = JSON.parse(context.host.readFile(fullPath, { encoding: "utf-8" }));
464
+ const template = JSON.parse(
465
+ context.host.readFile(fullPath, { encoding: "utf-8" }),
466
+ );
423
467
  &nbsp;
424
- return makeGenerator(template, opts.excludedReferences, opts.additionalReferences, opts.tsconfigReferenceFile);
468
+ return makeGenerator(
469
+ template,
470
+ opts.excludedReferences,
471
+ opts.additionalReferences,
472
+ opts.tsconfigReferenceFile,
473
+ );
425
474
  } else if (opts.template) {
426
- return makeGenerator(opts.template, opts.excludedReferences, opts.additionalReferences, opts.tsconfigReferenceFile);
475
+ return makeGenerator(
476
+ opts.template,
477
+ opts.excludedReferences,
478
+ opts.additionalReferences,
479
+ opts.tsconfigReferenceFile,
480
+ );
427
481
  } else {
428
482
  throw new Error("Unable to make generator");
429
483
  }
@@ -434,7 +488,7 @@ function makeGenerator(
434
488
  template: any,
435
489
  excludedReferences: ReadonlyArray&lt;string&gt; | undefined,
436
490
  additionalReferences: ReadonlyArray&lt;string&gt; | undefined,
437
- tsconfigReferenceFile?: string
491
+ tsconfigReferenceFile?: string,
438
492
  ) {
439
493
  return async function generator(context: Context) {
440
494
  template = {
@@ -442,15 +496,24 @@ function makeGenerator(
442
496
  references: [],
443
497
  }; // make a copy and ensure we have a references array
444
498
  &nbsp;
445
- const nameToDirectory = await context.getWorkspaceContext().getPackageNameToDir();
499
+ const nameToDirectory = await context.getWorkspaceContext()
500
+ .getPackageNameToDir();
446
501
  &nbsp;
447
502
  const packageJson = context.getPackageJson();
448
- const deps = [...Object.keys(packageJson.dependencies || {}), ...Object.keys(packageJson.devDependencies || {})];
503
+ const deps = [
504
+ ...Object.keys(packageJson.dependencies || {}),
505
+ ...Object.keys(packageJson.devDependencies || {}),
506
+ ];
449
507
  for (const dep of deps) {
450
508
  const packageDir = nameToDirectory.get(dep);
451
- if (packageDir !== undefined &amp;&amp; (excludedReferences === undefined || !matchesAnyGlob(dep, excludedReferences))) {
452
- const absoluteReferencePath =
453
- tsconfigReferenceFile !== undefined ? path.join(packageDir, tsconfigReferenceFile) : packageDir;
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;
454
517
  template.references.push({
455
518
  path: path.relative(context.packageDir, absoluteReferencePath),
456
519
  });
@@ -475,7 +538,7 @@ function makeGenerator(
475
538
  <div class='footer quiet pad2 space-top1 center small'>
476
539
  Code coverage generated by
477
540
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
478
- at 2025-01-17T16:18:41.406Z
541
+ at 2025-01-22T17:39:11.886Z
479
542
  </div>
480
543
  <script src="../prettify.js"></script>
481
544
  <script>
@@ -23,9 +23,9 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">95.12% </span>
26
+ <span class="strong">95.55% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>39/41</span>
28
+ <span class='fraction'>43/45</span>
29
29
  </div>
30
30
 
31
31
 
@@ -44,9 +44,9 @@
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">95.12% </span>
47
+ <span class="strong">95.55% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>39/41</span>
49
+ <span class='fraction'>43/45</span>
50
50
  </div>
51
51
 
52
52
 
@@ -122,8 +122,10 @@
122
122
  <a name='L57'></a><a href='#L57'>57</a>
123
123
  <a name='L58'></a><a href='#L58'>58</a>
124
124
  <a name='L59'></a><a href='#L59'>59</a>
125
- <a name='L60'></a><a href='#L60'>60</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
126
- <span class="cline-any cline-neutral">&nbsp;</span>
125
+ <a name='L60'></a><a href='#L60'>60</a>
126
+ <a name='L61'></a><a href='#L61'>61</a>
127
+ <a name='L62'></a><a href='#L62'>62</a>
128
+ <a name='L63'></a><a href='#L63'>63</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
127
129
  <span class="cline-any cline-neutral">&nbsp;</span>
128
130
  <span class="cline-any cline-neutral">&nbsp;</span>
129
131
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -131,6 +133,7 @@
131
133
  <span class="cline-any cline-neutral">&nbsp;</span>
132
134
  <span class="cline-any cline-neutral">&nbsp;</span>
133
135
  <span class="cline-any cline-neutral">&nbsp;</span>
136
+ <span class="cline-any cline-yes">1x</span>
134
137
  <span class="cline-any cline-neutral">&nbsp;</span>
135
138
  <span class="cline-any cline-yes">1x</span>
136
139
  <span class="cline-any cline-yes">4x</span>
@@ -181,6 +184,9 @@
181
184
  <span class="cline-any cline-yes">1x</span>
182
185
  <span class="cline-any cline-yes">4x</span>
183
186
  <span class="cline-any cline-yes">4x</span>
187
+ <span class="cline-any cline-yes">4x</span>
188
+ <span class="cline-any cline-yes">4x</span>
189
+ <span class="cline-any cline-yes">4x</span>
184
190
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">/*!
185
191
  * Copyright 2019 Palantir Technologies, Inc.
186
192
  *
@@ -193,7 +199,7 @@ import { diff } from "jest-diff";
193
199
  &nbsp;
194
200
  export function checkAlpha(
195
201
  context: Context,
196
- block: "dependencies" | "devDependencies" | "peerDependencies" | "scripts"
202
+ block: "dependencies" | "devDependencies" | "peerDependencies" | "scripts",
197
203
  ) {
198
204
  const packageJson = context.getPackageJson();
199
205
  const packagePath = context.getPackageJsonPath();
@@ -237,7 +243,10 @@ function arrayOrderCompare(a: ReadonlyArray&lt;string&gt;, b: ReadonlyArray&lt;s
237
243
  return true;
238
244
  }
239
245
  &nbsp;
240
- export function createIncorrectOrderErrorMessage(block: string, packageName: string) {
246
+ export function createIncorrectOrderErrorMessage(
247
+ block: string,
248
+ packageName: string,
249
+ ) {
241
250
  return `Incorrect order of ${block} in ${packageName}'s package.json`;
242
251
  }
243
252
  &nbsp;</pre></td></tr></table></pre>
@@ -247,7 +256,7 @@ export function createIncorrectOrderErrorMessage(block: string, packageName: str
247
256
  <div class='footer quiet pad2 space-top1 center small'>
248
257
  Code coverage generated by
249
258
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
250
- at 2025-01-17T16:18:41.406Z
259
+ at 2025-01-22T17:39:11.886Z
251
260
  </div>
252
261
  <script src="../../prettify.js"></script>
253
262
  <script>
@@ -96,7 +96,15 @@
96
96
  <a name='L31'></a><a href='#L31'>31</a>
97
97
  <a name='L32'></a><a href='#L32'>32</a>
98
98
  <a name='L33'></a><a href='#L33'>33</a>
99
- <a name='L34'></a><a href='#L34'>34</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
99
+ <a name='L34'></a><a href='#L34'>34</a>
100
+ <a name='L35'></a><a href='#L35'>35</a>
101
+ <a name='L36'></a><a href='#L36'>36</a>
102
+ <a name='L37'></a><a href='#L37'>37</a>
103
+ <a name='L38'></a><a href='#L38'>38</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
104
+ <span class="cline-any cline-neutral">&nbsp;</span>
105
+ <span class="cline-any cline-neutral">&nbsp;</span>
106
+ <span class="cline-any cline-neutral">&nbsp;</span>
107
+ <span class="cline-any cline-neutral">&nbsp;</span>
100
108
  <span class="cline-any cline-neutral">&nbsp;</span>
101
109
  <span class="cline-any cline-neutral">&nbsp;</span>
102
110
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -133,7 +141,11 @@
133
141
  &nbsp;
134
142
  export type ValidateOptionsFn&lt;X&gt; = (options: unknown) =&gt; asserts options is X;
135
143
  export type RuleFactoryFn&lt;T&gt; = (ruleEntry: RuleEntry&lt;T&gt;) =&gt; RuleModule&lt;T&gt;;
136
- export type RuleCheckFn&lt;O&gt; = (context: Context, options: O, extra: { id: string }) =&gt; Promise&lt;unknown&gt; | unknown;
144
+ export type RuleCheckFn&lt;O&gt; = (
145
+ context: Context,
146
+ options: O,
147
+ extra: { id: string },
148
+ ) =&gt; Promise&lt;unknown&gt; | unknown;
137
149
  &nbsp;
138
150
  export interface RuleFactoryOptions&lt;X&gt; {
139
151
  name: string;
@@ -149,7 +161,7 @@ export function createRuleFactory&lt;X&gt;({
149
161
  validateOptions,
150
162
  printStats,
151
163
  }: RuleFactoryOptions&lt;X&gt;): RuleFactoryFn&lt;X&gt; {
152
- return function (ruleEntry) {
164
+ return function(ruleEntry) {
153
165
  const id = ruleEntry.id ?? `${name} :: ${globalId++}`;
154
166
  return {
155
167
  id,
@@ -169,7 +181,7 @@ export function createRuleFactory&lt;X&gt;({
169
181
  <div class='footer quiet pad2 space-top1 center small'>
170
182
  Code coverage generated by
171
183
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
172
- at 2025-01-17T16:18:41.406Z
184
+ at 2025-01-22T17:39:11.886Z
173
185
  </div>
174
186
  <script src="../../prettify.js"></script>
175
187
  <script>
@@ -23,9 +23,9 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">92.53% </span>
26
+ <span class="strong">92.3% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>124/134</span>
28
+ <span class='fraction'>144/156</span>
29
29
  </div>
30
30
 
31
31
 
@@ -44,9 +44,9 @@
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">92.53% </span>
47
+ <span class="strong">92.3% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>124/134</span>
49
+ <span class='fraction'>144/156</span>
50
50
  </div>
51
51
 
52
52
 
@@ -80,17 +80,17 @@
80
80
  </thead>
81
81
  <tbody><tr>
82
82
  <td class="file high" data-value="checkAlpha.ts"><a href="checkAlpha.ts.html">checkAlpha.ts</a></td>
83
- <td data-value="95.12" class="pic high">
83
+ <td data-value="95.55" class="pic high">
84
84
  <div class="chart"><div class="cover-fill" style="width: 95%"></div><div class="cover-empty" style="width: 5%"></div></div>
85
85
  </td>
86
- <td data-value="95.12" class="pct high">95.12%</td>
87
- <td data-value="41" class="abs high">39/41</td>
86
+ <td data-value="95.55" class="pct high">95.55%</td>
87
+ <td data-value="45" class="abs high">43/45</td>
88
88
  <td data-value="90" class="pct high">90%</td>
89
89
  <td data-value="10" class="abs high">9/10</td>
90
90
  <td data-value="100" class="pct high">100%</td>
91
91
  <td data-value="4" class="abs high">4/4</td>
92
- <td data-value="95.12" class="pct high">95.12%</td>
93
- <td data-value="41" class="abs high">39/41</td>
92
+ <td data-value="95.55" class="pct high">95.55%</td>
93
+ <td data-value="45" class="abs high">43/45</td>
94
94
  </tr>
95
95
 
96
96
  <tr>
@@ -114,28 +114,28 @@
114
114
  <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
115
115
  </td>
116
116
  <td data-value="100" class="pct high">100%</td>
117
- <td data-value="12" class="abs high">12/12</td>
117
+ <td data-value="14" class="abs high">14/14</td>
118
118
  <td data-value="100" class="pct high">100%</td>
119
119
  <td data-value="4" class="abs high">4/4</td>
120
120
  <td data-value="100" class="pct high">100%</td>
121
121
  <td data-value="1" class="abs high">1/1</td>
122
122
  <td data-value="100" class="pct high">100%</td>
123
- <td data-value="12" class="abs high">12/12</td>
123
+ <td data-value="14" class="abs high">14/14</td>
124
124
  </tr>
125
125
 
126
126
  <tr>
127
127
  <td class="file high" data-value="packageDependencyGraphService.ts"><a href="packageDependencyGraphService.ts.html">packageDependencyGraphService.ts</a></td>
128
- <td data-value="87.09" class="pic high">
128
+ <td data-value="87.17" class="pic high">
129
129
  <div class="chart"><div class="cover-fill" style="width: 87%"></div><div class="cover-empty" style="width: 13%"></div></div>
130
130
  </td>
131
- <td data-value="87.09" class="pct high">87.09%</td>
132
- <td data-value="62" class="abs high">54/62</td>
131
+ <td data-value="87.17" class="pct high">87.17%</td>
132
+ <td data-value="78" class="abs high">68/78</td>
133
133
  <td data-value="61.53" class="pct medium">61.53%</td>
134
134
  <td data-value="13" class="abs medium">8/13</td>
135
135
  <td data-value="100" class="pct high">100%</td>
136
136
  <td data-value="4" class="abs high">4/4</td>
137
- <td data-value="87.09" class="pct high">87.09%</td>
138
- <td data-value="62" class="abs high">54/62</td>
137
+ <td data-value="87.17" class="pct high">87.17%</td>
138
+ <td data-value="78" class="abs high">68/78</td>
139
139
  </tr>
140
140
 
141
141
  </tbody>
@@ -146,7 +146,7 @@
146
146
  <div class='footer quiet pad2 space-top1 center small'>
147
147
  Code coverage generated by
148
148
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
149
- at 2025-01-17T16:18:41.406Z
149
+ at 2025-01-22T17:39:11.886Z
150
150
  </div>
151
151
  <script src="../../prettify.js"></script>
152
152
  <script>
@@ -25,7 +25,7 @@
25
25
  <div class='fl pad1y space-right2'>
26
26
  <span class="strong">100% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>12/12</span>
28
+ <span class='fraction'>14/14</span>
29
29
  </div>
30
30
 
31
31
 
@@ -46,7 +46,7 @@
46
46
  <div class='fl pad1y space-right2'>
47
47
  <span class="strong">100% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>12/12</span>
49
+ <span class='fraction'>14/14</span>
50
50
  </div>
51
51
 
52
52
 
@@ -94,8 +94,8 @@
94
94
  <span class="cline-any cline-neutral">&nbsp;</span>
95
95
  <span class="cline-any cline-neutral">&nbsp;</span>
96
96
  <span class="cline-any cline-neutral">&nbsp;</span>
97
- <span class="cline-any cline-neutral">&nbsp;</span>
98
- <span class="cline-any cline-neutral">&nbsp;</span>
97
+ <span class="cline-any cline-yes">1x</span>
98
+ <span class="cline-any cline-yes">1x</span>
99
99
  <span class="cline-any cline-neutral">&nbsp;</span>
100
100
  <span class="cline-any cline-yes">1x</span>
101
101
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -142,7 +142,7 @@ export function makeDirectoryRecursively(directoryPath: string) {
142
142
  <div class='footer quiet pad2 space-top1 center small'>
143
143
  Code coverage generated by
144
144
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
145
- at 2025-01-17T16:18:41.406Z
145
+ at 2025-01-22T17:39:11.886Z
146
146
  </div>
147
147
  <script src="../../prettify.js"></script>
148
148
  <script>