@monorepolint/rules 0.5.0-beta.0 → 0.5.0-beta.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (87) hide show
  1. package/.turbo/turbo-clean.log +4 -0
  2. package/.turbo/turbo-compile-typescript.log +4 -0
  3. package/.turbo/turbo-lint.log +4 -0
  4. package/.turbo/turbo-test.log +667 -0
  5. package/.turbo/turbo-transpile-typescript.log +14 -0
  6. package/CHANGELOG.md +33 -0
  7. package/build/js/index.js +1422 -0
  8. package/build/js/index.js.map +1 -0
  9. package/build/tsconfig.tsbuildinfo +1 -0
  10. package/build/types/__tests__/alphabeticalScripts.spec.d.ts +8 -0
  11. package/build/types/__tests__/alphabeticalScripts.spec.d.ts.map +1 -0
  12. package/build/types/__tests__/bannedDependencies.spec.d.ts +2 -0
  13. package/build/types/__tests__/bannedDependencies.spec.d.ts.map +1 -0
  14. package/build/types/__tests__/consistentDependencies.spec.d.ts +2 -0
  15. package/build/types/__tests__/consistentDependencies.spec.d.ts.map +1 -0
  16. package/build/types/__tests__/consistentVersions.spec.d.ts +8 -0
  17. package/build/types/__tests__/consistentVersions.spec.d.ts.map +1 -0
  18. package/build/types/__tests__/fileContents.spec.d.ts +8 -0
  19. package/build/types/__tests__/fileContents.spec.d.ts.map +1 -0
  20. package/build/types/__tests__/mustSatisfyPeerDependencies.spec.d.ts +8 -0
  21. package/build/types/__tests__/mustSatisfyPeerDependencies.spec.d.ts.map +1 -0
  22. package/build/types/__tests__/nestedWorkspaces.spec.d.ts +2 -0
  23. package/build/types/__tests__/nestedWorkspaces.spec.d.ts.map +1 -0
  24. package/build/types/__tests__/packageEntry.spec.d.ts +8 -0
  25. package/build/types/__tests__/packageEntry.spec.d.ts.map +1 -0
  26. package/build/types/__tests__/packageOrder.spec.d.ts +8 -0
  27. package/build/types/__tests__/packageOrder.spec.d.ts.map +1 -0
  28. package/build/types/__tests__/packageScript.spec.d.ts +8 -0
  29. package/build/types/__tests__/packageScript.spec.d.ts.map +1 -0
  30. package/build/types/__tests__/requireDependency.spec.d.ts +2 -0
  31. package/build/types/__tests__/requireDependency.spec.d.ts.map +1 -0
  32. package/build/types/__tests__/utils.d.ts +81 -0
  33. package/build/types/__tests__/utils.d.ts.map +1 -0
  34. package/build/types/alphabeticalDependencies.d.ts +8 -0
  35. package/build/types/alphabeticalDependencies.d.ts.map +1 -0
  36. package/build/types/alphabeticalScripts.d.ts +8 -0
  37. package/build/types/alphabeticalScripts.d.ts.map +1 -0
  38. package/build/types/bannedDependencies.d.ts +48 -0
  39. package/build/types/bannedDependencies.d.ts.map +1 -0
  40. package/build/types/consistentDependencies.d.ts +16 -0
  41. package/build/types/consistentDependencies.d.ts.map +1 -0
  42. package/build/types/consistentVersions.d.ts +19 -0
  43. package/build/types/consistentVersions.d.ts.map +1 -0
  44. package/build/types/fileContents.d.ts +24 -0
  45. package/build/types/fileContents.d.ts.map +1 -0
  46. package/build/types/index.d.ts +21 -0
  47. package/build/types/index.d.ts.map +1 -0
  48. package/build/types/mustSatisfyPeerDependencies.d.ts +333 -0
  49. package/build/types/mustSatisfyPeerDependencies.d.ts.map +1 -0
  50. package/build/types/nestedWorkspaces.d.ts +10 -0
  51. package/build/types/nestedWorkspaces.d.ts.map +1 -0
  52. package/build/types/packageEntry.d.ts +43 -0
  53. package/build/types/packageEntry.d.ts.map +1 -0
  54. package/build/types/packageOrder.d.ts +10 -0
  55. package/build/types/packageOrder.d.ts.map +1 -0
  56. package/build/types/packageScript.d.ts +32 -0
  57. package/build/types/packageScript.d.ts.map +1 -0
  58. package/build/types/requireDependency.d.ts +29 -0
  59. package/build/types/requireDependency.d.ts.map +1 -0
  60. package/build/types/standardTsconfig.d.ts +29 -0
  61. package/build/types/standardTsconfig.d.ts.map +1 -0
  62. package/build/types/util/checkAlpha.d.ts +10 -0
  63. package/build/types/util/checkAlpha.d.ts.map +1 -0
  64. package/build/types/util/createRuleFactory.d.ts +14 -0
  65. package/build/types/util/createRuleFactory.d.ts.map +1 -0
  66. package/build/types/util/makeDirectory.d.ts +8 -0
  67. package/build/types/util/makeDirectory.d.ts.map +1 -0
  68. package/build/types/util/packageDependencyGraphService.d.ts +37 -0
  69. package/build/types/util/packageDependencyGraphService.d.ts.map +1 -0
  70. package/package.json +4 -4
  71. package/src/alphabeticalDependencies.ts +2 -2
  72. package/src/alphabeticalScripts.ts +2 -2
  73. package/src/bannedDependencies.ts +2 -2
  74. package/src/consistentDependencies.ts +2 -2
  75. package/src/consistentVersions.ts +2 -2
  76. package/src/fileContents.ts +2 -2
  77. package/src/index.ts +8 -0
  78. package/src/mustSatisfyPeerDependencies.ts +2 -2
  79. package/src/nestedWorkspaces.ts +4 -4
  80. package/src/packageEntry.ts +2 -2
  81. package/src/packageOrder.ts +2 -2
  82. package/src/packageScript.ts +2 -2
  83. package/src/requireDependency.ts +2 -2
  84. package/src/standardTsconfig.ts +2 -2
  85. package/src/util/createRuleFactory.ts +33 -0
  86. package/src/public/util.ts +0 -1
  87. package/src/util/makeRule.ts +0 -29
@@ -0,0 +1,667 @@
1
+
2
+ > @monorepolint/rules@0.5.0-beta.10 test /home/runner/work/monorepolint/monorepolint/packages/rules
3
+ > NODE_OPTIONS=--experimental-vm-modules jest --colors --passWithNoTests
4
+
5
+ ts-jest[ts-compiler] (WARN) Unable to process '/home/runner/work/monorepolint/monorepolint/packages/core/build/js/index.js', falling back to original file content. You can also configure Jest config option `transformIgnorePatterns` to ignore /home/runner/work/monorepolint/monorepolint/packages/core/build/js/index.js from transformation or make sure that `outDir` in your tsconfig is neither `''` or `'.'`
6
+ ts-jest[ts-compiler] (WARN) Unable to process '/home/runner/work/monorepolint/monorepolint/packages/core/build/js/index.js', falling back to original file content. You can also configure Jest config option `transformIgnorePatterns` to ignore /home/runner/work/monorepolint/monorepolint/packages/core/build/js/index.js from transformation or make sure that `outDir` in your tsconfig is neither `''` or `'.'`
7
+ ts-jest[ts-compiler] (WARN) Unable to process '/home/runner/work/monorepolint/monorepolint/packages/utils/build/js/index.js', falling back to original file content. You can also configure Jest config option `transformIgnorePatterns` to ignore /home/runner/work/monorepolint/monorepolint/packages/utils/build/js/index.js from transformation or make sure that `outDir` in your tsconfig is neither `''` or `'.'`
8
+ ts-jest[ts-compiler] (WARN) Unable to process '/home/runner/work/monorepolint/monorepolint/packages/utils/build/js/index.js', falling back to original file content. You can also configure Jest config option `transformIgnorePatterns` to ignore /home/runner/work/monorepolint/monorepolint/packages/utils/build/js/index.js from transformation or make sure that `outDir` in your tsconfig is neither `''` or `'.'`
9
+ ts-jest[ts-compiler] (WARN) Unable to process '/home/runner/work/monorepolint/monorepolint/packages/utils/build/js/index.js', falling back to original file content. You can also configure Jest config option `transformIgnorePatterns` to ignore /home/runner/work/monorepolint/monorepolint/packages/utils/build/js/index.js from transformation or make sure that `outDir` in your tsconfig is neither `''` or `'.'`
10
+ (node:3035) ExperimentalWarning: VM Modules is an experimental feature and might change at any time
11
+ (Use `node --trace-warnings ...` to show where the warning was created)
12
+  PASS  src/__tests__/consistentVersions.spec.ts (6.738 s)
13
+ consistentVersions
14
+ standard tests
15
+ ✓ Does nothing when arguments are empty (11 ms)
16
+ ✓ Fixes packages that have an incorrect dependency version (4 ms)
17
+ ✓ Ignores packages that have a correct dependency version (2 ms)
18
+ ✓ Fixes packages that have an incorrect devDependency version (3 ms)
19
+ ✓ Ignores packages that have a correct devDependency version (1 ms)
20
+ ✓ Fixes packages that have an incorrect dependency and devDependency versions (3 ms)
21
+ Multiple accepted versions tests
22
+ ✓ Accepts a match when multiple versions are configured (2 ms)
23
+ ✓ Errors when version does not match (2 ms)
24
+
25
+ console.log
26
+ package-without-scripts (/tmp/tmp-3036-xE0hcPMz5OYr)
27
+ 
28
+  at WorkspaceContextImpl.print (../core/src/PackageContext.ts:133:13)
29
+
30
+ console.error
31
+  Error! package.json: No scripts block in package.json
32
+ 
33
+    149 | }
34
+   150 | // tslint:disable-next-line:no-console
35
+  > 151 | console.error(this.getMessage(str, depth));
36
+   | ^
37
+   152 | }
38
+   153 |
39
+   154 | private getMessage(str: string, depth: number) {
40
+ 
41
+  at WorkspaceContextImpl.printError (../core/src/PackageContext.ts:151:13)
42
+  at WorkspaceContextImpl.addErrorSyncOrAsync (../core/src/PackageContext.ts:85:12)
43
+  at WorkspaceContextImpl.addError (../core/src/PackageContext.ts:68:10)
44
+  at check (src/packageScript.ts:34:15)
45
+  at Object.check (src/util/createRuleFactory.ts:26:27)
46
+  at Object.<anonymous> (src/__tests__/packageScript.spec.ts:56:10)
47
+
48
+ console.log
49
+ package-without-scripts (/tmp/tmp-3036-iMGy3RTuTqcp)
50
+ 
51
+  at WorkspaceContextImpl.print (../core/src/PackageContext.ts:133:13)
52
+
53
+ console.log
54
+ Fixed! package.json: No scripts block in package.json
55
+ 
56
+  at WorkspaceContextImpl.print (../core/src/PackageContext.ts:133:13)
57
+
58
+ console.log
59
+ package-with-scripts (/tmp/tmp-3036-D0vlM8gSrUwz)
60
+ 
61
+  at WorkspaceContextImpl.print (../core/src/PackageContext.ts:133:13)
62
+
63
+ console.log
64
+ Fixed! package.json: Expected standardized script entry for 'missing'. Valid options: 'missing value'
65
+ 
66
+  at WorkspaceContextImpl.print (../core/src/PackageContext.ts:133:13)
67
+
68
+ console.log
69
+ package-with-scripts (/tmp/tmp-3036-CkZoFt9T20rN)
70
+ 
71
+  at WorkspaceContextImpl.print (../core/src/PackageContext.ts:133:13)
72
+
73
+ console.error
74
+  Error! package.json: Expected standardized script entry for 'foo'. Valid options: 'a', 'b'
75
+ 
76
+    149 | }
77
+   150 | // tslint:disable-next-line:no-console
78
+  > 151 | console.error(this.getMessage(str, depth));
79
+   | ^
80
+   152 | }
81
+   153 |
82
+   154 | private getMessage(str: string, depth: number) {
83
+ 
84
+  at WorkspaceContextImpl.printError (../core/src/PackageContext.ts:151:13)
85
+  at WorkspaceContextImpl.addErrorSyncOrAsync (../core/src/PackageContext.ts:85:12)
86
+  at WorkspaceContextImpl.addError (../core/src/PackageContext.ts:68:10)
87
+  at check (src/packageScript.ts:89:17)
88
+  at Object.check (src/util/createRuleFactory.ts:26:27)
89
+  at Object.<anonymous> (src/__tests__/packageScript.spec.ts:169:10)
90
+
91
+ console.log
92
+ package-with-scripts (/tmp/tmp-3036-i5fuQTlN7F70)
93
+ 
94
+  at WorkspaceContextImpl.print (../core/src/PackageContext.ts:133:13)
95
+
96
+ console.log
97
+ Fixed! package.json: Expected standardized script entry for 'foo'. Valid options: 'a', 'b'
98
+ 
99
+  at WorkspaceContextImpl.print (../core/src/PackageContext.ts:133:13)
100
+
101
+ console.log
102
+ package-with-scripts (/tmp/tmp-3036-1E5RBguNBEpD)
103
+ 
104
+  at WorkspaceContextImpl.print (../core/src/PackageContext.ts:133:13)
105
+
106
+ console.log
107
+ Fixed! package.json: Expected standardized script entry for 'exists'. Valid options: 'a', (empty)
108
+ 
109
+  at WorkspaceContextImpl.print (../core/src/PackageContext.ts:133:13)
110
+
111
+ console.log
112
+ package-with-scripts (/tmp/tmp-3036-i31ZfI8XdoMF)
113
+ 
114
+  at WorkspaceContextImpl.print (../core/src/PackageContext.ts:133:13)
115
+
116
+ console.log
117
+ Fixed! package.json: Expected standardized script entry for 'exists'. Valid options: (empty)
118
+ 
119
+  at WorkspaceContextImpl.print (../core/src/PackageContext.ts:133:13)
120
+
121
+ (node:3036) ExperimentalWarning: VM Modules is an experimental feature and might change at any time
122
+ (Use `node --trace-warnings ...` to show where the warning was created)
123
+ console.log
124
+ package-without-scripts (/tmp/tmp-3036-dCSX8mrvGAUu)
125
+ 
126
+  at WorkspaceContextImpl.print (../core/src/PackageContext.ts:133:13)
127
+
128
+ console.error
129
+  Error! package.json: No scripts block in package.json
130
+ 
131
+    149 | }
132
+   150 | // tslint:disable-next-line:no-console
133
+  > 151 | console.error(this.getMessage(str, depth));
134
+   | ^
135
+   152 | }
136
+   153 |
137
+   154 | private getMessage(str: string, depth: number) {
138
+ 
139
+  at WorkspaceContextImpl.printError (../core/src/PackageContext.ts:151:13)
140
+  at WorkspaceContextImpl.addErrorSyncOrAsync (../core/src/PackageContext.ts:85:12)
141
+  at WorkspaceContextImpl.addError (../core/src/PackageContext.ts:68:10)
142
+  at check (src/packageScript.ts:34:15)
143
+  at Object.check (src/util/createRuleFactory.ts:26:27)
144
+  at Object.<anonymous> (src/__tests__/packageScript.spec.ts:56:10)
145
+
146
+ console.log
147
+ package-without-scripts (/tmp/tmp-3036-gbPFLj3ML81P)
148
+ 
149
+  at WorkspaceContextImpl.print (../core/src/PackageContext.ts:133:13)
150
+
151
+ console.log
152
+ Fixed! package.json: No scripts block in package.json
153
+ 
154
+  at WorkspaceContextImpl.print (../core/src/PackageContext.ts:133:13)
155
+
156
+ console.log
157
+ package-with-scripts (/tmp/tmp-3036-5Vgw3PWBUng1)
158
+ 
159
+  at WorkspaceContextImpl.print (../core/src/PackageContext.ts:133:13)
160
+
161
+ console.log
162
+ Fixed! package.json: Expected standardized script entry for 'missing'. Valid options: 'missing value'
163
+ 
164
+  at WorkspaceContextImpl.print (../core/src/PackageContext.ts:133:13)
165
+
166
+ console.log
167
+ package-with-scripts (/tmp/tmp-3036-pPmUMiJWVf1w)
168
+ 
169
+  at WorkspaceContextImpl.print (../core/src/PackageContext.ts:133:13)
170
+
171
+ console.error
172
+  Error! package.json: Expected standardized script entry for 'foo'. Valid options: 'a', 'b'
173
+ 
174
+    149 | }
175
+   150 | // tslint:disable-next-line:no-console
176
+  > 151 | console.error(this.getMessage(str, depth));
177
+   | ^
178
+   152 | }
179
+   153 |
180
+   154 | private getMessage(str: string, depth: number) {
181
+ 
182
+  at WorkspaceContextImpl.printError (../core/src/PackageContext.ts:151:13)
183
+  at WorkspaceContextImpl.addErrorSyncOrAsync (../core/src/PackageContext.ts:85:12)
184
+  at WorkspaceContextImpl.addError (../core/src/PackageContext.ts:68:10)
185
+  at check (src/packageScript.ts:89:17)
186
+  at Object.check (src/util/createRuleFactory.ts:26:27)
187
+  at Object.<anonymous> (src/__tests__/packageScript.spec.ts:169:10)
188
+
189
+ console.log
190
+ package-with-scripts (/tmp/tmp-3036-2jqUl4zcOA8W)
191
+ 
192
+  at WorkspaceContextImpl.print (../core/src/PackageContext.ts:133:13)
193
+
194
+ console.log
195
+ Fixed! package.json: Expected standardized script entry for 'foo'. Valid options: 'a', 'b'
196
+ 
197
+  at WorkspaceContextImpl.print (../core/src/PackageContext.ts:133:13)
198
+
199
+ console.log
200
+ package-with-scripts (/tmp/tmp-3036-plEZQ9kO3d4X)
201
+ 
202
+  at WorkspaceContextImpl.print (../core/src/PackageContext.ts:133:13)
203
+
204
+ console.log
205
+ Fixed! package.json: Expected standardized script entry for 'exists'. Valid options: 'a', (empty)
206
+ 
207
+  at WorkspaceContextImpl.print (../core/src/PackageContext.ts:133:13)
208
+
209
+ console.log
210
+ package-with-scripts (/tmp/tmp-3036-n3CUTKXP82I1)
211
+ 
212
+  at WorkspaceContextImpl.print (../core/src/PackageContext.ts:133:13)
213
+
214
+ console.log
215
+ Fixed! package.json: Expected standardized script entry for 'exists'. Valid options: (empty)
216
+ 
217
+  at WorkspaceContextImpl.print (../core/src/PackageContext.ts:133:13)
218
+
219
+  PASS  src/__tests__/packageScript.spec.ts (6.903 s)
220
+ expectPackageScript (SimpleHost)
221
+ fix: false
222
+ ✓ handles an empty script section (73 ms)
223
+ fix: true
224
+ ✓ fixes an empty script section (12 ms)
225
+ ✓ adds a script (7 ms)
226
+ ✓ does nothing if the value exists (2 ms)
227
+ ✓ errors if long form is used and no value matches and there is no fixValue (18 ms)
228
+ ✓ uses the fixValue for fixing if provided (4 ms)
229
+ ✓ can fix to empty (4 ms)
230
+ ✓ can allow only empty (7 ms)
231
+ expectPackageScript (CachingHost)
232
+ fix: false
233
+ ✓ handles an empty script section (16 ms)
234
+ fix: true
235
+ ✓ fixes an empty script section (5 ms)
236
+ ✓ adds a script (3 ms)
237
+ ✓ does nothing if the value exists (1 ms)
238
+ ✓ errors if long form is used and no value matches and there is no fixValue (6 ms)
239
+ ✓ uses the fixValue for fixing if provided (4 ms)
240
+ ✓ can fix to empty (4 ms)
241
+ ✓ can allow only empty (7 ms)
242
+
243
+ (node:3034) ExperimentalWarning: VM Modules is an experimental feature and might change at any time
244
+ (Use `node --trace-warnings ...` to show where the warning was created)
245
+  PASS  src/__tests__/mustSatisfyPeerDependencies.spec.ts (7.18 s)
246
+ mustSatisfyPeerDependencies
247
+ ✓ Flags overloaded dependency (entry in regular dependencies and peer dependencies) (5 ms)
248
+ ✓ Flags conflicting peer dependencies (22 ms)
249
+ ✓ Flags unsatisfied peer dependencies (test package has regular dep) (4 ms)
250
+ ✓ Flags missing peer dependencies (NO regular dependency present) (5 ms)
251
+ ✓ Flags unsatisfied peer dependencies (test package has peer dep) (4 ms)
252
+ ✓ Honors dependencyWhitelist (4 ms)
253
+ ✓ Honors dependencyBlacklist (3 ms)
254
+ regex tests
255
+ ✓ Properly matches any version range regex (16 ms)
256
+ ✓ Properly matches greator or equal version range regex (9 ms)
257
+ ✓ Properly matches major version range regex (5 ms)
258
+ ✓ Properly matches allowed range regex (35 ms)
259
+ Determines dependencies satisfaction correctly
260
+ ✓ version is version (1 ms)
261
+ ✓ version satisfies a range (3 ms)
262
+ ✓ higher version satisfies a range (3 ms)
263
+ ✓ version satisfies a greator or equal version range (1 ms)
264
+ ✓ higher version satisfies a greator or equal version range (1 ms)
265
+ ✓ version satisfies 'any' range (2 ms)
266
+ ✓ greator or equal version range satisfies 'any' range (1 ms)
267
+ ✓ range satisfies 'any' range (1 ms)
268
+ ✓ union range satisfies 'any' range (4 ms)
269
+ ✓ version found in union start (1 ms)
270
+ ✓ version found in union end (3 ms)
271
+ ✓ version satisfies a range in union start (1 ms)
272
+ ✓ version satisfies a range in union end (1 ms)
273
+ ✓ higher version satisfies a range in union start (1 ms)
274
+ ✓ higher version satisfies a range in union end (1 ms)
275
+ ✓ range found in union start (1 ms)
276
+ ✓ range found in union end (1 ms)
277
+ ✓ union satisfies greator or equal version range (1 ms)
278
+ ✓ greator or equal version range satisfies greator or equal version range (1 ms)
279
+ ✓ equivalent greator or equal version ranges satisfy each other (1 ms)
280
+ ✓ higher range satisfies a range in union start (1 ms)
281
+ ✓ higher range satisfies a range in union end (1 ms)
282
+ ✓ equivalent 'any' ranges satisfy each other (1 ms)
283
+ ✓ equivalent major ranges satisfy each other (8 ms)
284
+ ✓ version missing in union (3 ms)
285
+ ✓ range missing in union (1 ms)
286
+ Determines dependencies intersections correctly
287
+ ✓ equivalence (7 ms)
288
+ ✓ exact vs any
289
+ ✓ major vs any
290
+ ✓ greater or equal vs any (1 ms)
291
+ ✓ any vs any (1 ms)
292
+ ✓ exact vs greater or equal (1 ms)
293
+ ✓ major vs greater or equal (5 ms)
294
+ ✓ greater or equal vs greater or equal (1 ms)
295
+ ✓ exact vs major (1 ms)
296
+ ✓ major vs major (1 ms)
297
+ ✓ exact vs union (2 ms)
298
+ ✓ major vs union (1 ms)
299
+ ✓ union vs union (2 ms)
300
+
301
+ console.log
302
+ package (/tmp/tmp-3036-y4rRtTijssqK)
303
+ 
304
+  at WorkspaceContextImpl.print (../core/src/PackageContext.ts:133:13)
305
+
306
+ console.log
307
+ Fixed! package.json: Expected standardized entry for 'license'
308
+ 
309
+  at WorkspaceContextImpl.print (../core/src/PackageContext.ts:133:13)
310
+
311
+ console.log
312
+ package (/tmp/tmp-3036-FiHnnGHurfyF)
313
+ 
314
+  at WorkspaceContextImpl.print (../core/src/PackageContext.ts:133:13)
315
+
316
+ console.log
317
+ Fixed! package.json: Expected standardized entry for 'repository'
318
+ 
319
+  at WorkspaceContextImpl.print (../core/src/PackageContext.ts:133:13)
320
+
321
+ console.log
322
+ package (/tmp/tmp-3036-FpPmwuPmhc0G)
323
+ 
324
+  at WorkspaceContextImpl.print (../core/src/PackageContext.ts:133:13)
325
+
326
+ console.error
327
+  Error! package.json: Expected entry for 'bugs' to exist
328
+ 
329
+    149 | }
330
+   150 | // tslint:disable-next-line:no-console
331
+  > 151 | console.error(this.getMessage(str, depth));
332
+   | ^
333
+   152 | }
334
+   153 |
335
+   154 | private getMessage(str: string, depth: number) {
336
+ 
337
+  at WorkspaceContextImpl.printError (../core/src/PackageContext.ts:151:13)
338
+  at WorkspaceContextImpl.addErrorSyncOrAsync (../core/src/PackageContext.ts:85:12)
339
+  at WorkspaceContextImpl.addError (../core/src/PackageContext.ts:68:10)
340
+  at check (src/packageEntry.ts:73:19)
341
+  at Object.check (src/util/createRuleFactory.ts:26:27)
342
+  at Object.<anonymous> (src/__tests__/packageEntry.spec.ts:158:10)
343
+
344
+ console.log
345
+ package (/tmp/tmp-3036-d3FY1x1Dv4nq)
346
+ 
347
+  at WorkspaceContextImpl.print (../core/src/PackageContext.ts:133:13)
348
+
349
+ console.error
350
+  Error! package.json: Expected entry for 'bugs' to exist
351
+ 
352
+    149 | }
353
+   150 | // tslint:disable-next-line:no-console
354
+  > 151 | console.error(this.getMessage(str, depth));
355
+   | ^
356
+   152 | }
357
+   153 |
358
+   154 | private getMessage(str: string, depth: number) {
359
+ 
360
+  at WorkspaceContextImpl.printError (../core/src/PackageContext.ts:151:13)
361
+  at WorkspaceContextImpl.addErrorSyncOrAsync (../core/src/PackageContext.ts:85:12)
362
+  at WorkspaceContextImpl.addError (../core/src/PackageContext.ts:68:10)
363
+  at check (src/packageEntry.ts:73:19)
364
+  at Object.check (src/util/createRuleFactory.ts:26:27)
365
+  at Object.<anonymous> (src/__tests__/packageEntry.spec.ts:186:10)
366
+
367
+ console.log
368
+ Fixed! package.json: Expected standardized entry for 'repository'
369
+ 
370
+  at WorkspaceContextImpl.print (../core/src/PackageContext.ts:133:13)
371
+
372
+ console.log
373
+ package (/tmp/tmp-3036-9P5xMFCoSrng)
374
+ 
375
+  at WorkspaceContextImpl.print (../core/src/PackageContext.ts:133:13)
376
+
377
+ console.log
378
+ Fixed! package.json: Expected standardized entry for 'license'
379
+ 
380
+  at WorkspaceContextImpl.print (../core/src/PackageContext.ts:133:13)
381
+
382
+ console.log
383
+ package (/tmp/tmp-3036-YXscqU114Mhr)
384
+ 
385
+  at WorkspaceContextImpl.print (../core/src/PackageContext.ts:133:13)
386
+
387
+ console.log
388
+ Fixed! package.json: Expected standardized entry for 'repository'
389
+ 
390
+  at WorkspaceContextImpl.print (../core/src/PackageContext.ts:133:13)
391
+
392
+ console.log
393
+ package (/tmp/tmp-3036-jo7GJfpOcDX0)
394
+ 
395
+  at WorkspaceContextImpl.print (../core/src/PackageContext.ts:133:13)
396
+
397
+ console.error
398
+  Error! package.json: Expected entry for 'bugs' to exist
399
+ 
400
+    149 | }
401
+   150 | // tslint:disable-next-line:no-console
402
+  > 151 | console.error(this.getMessage(str, depth));
403
+   | ^
404
+   152 | }
405
+   153 |
406
+   154 | private getMessage(str: string, depth: number) {
407
+ 
408
+  at WorkspaceContextImpl.printError (../core/src/PackageContext.ts:151:13)
409
+  at WorkspaceContextImpl.addErrorSyncOrAsync (../core/src/PackageContext.ts:85:12)
410
+  at WorkspaceContextImpl.addError (../core/src/PackageContext.ts:68:10)
411
+  at check (src/packageEntry.ts:73:19)
412
+  at Object.check (src/util/createRuleFactory.ts:26:27)
413
+  at Object.<anonymous> (src/__tests__/packageEntry.spec.ts:158:10)
414
+
415
+ console.log
416
+ package (/tmp/tmp-3036-OKDvPHow1PXO)
417
+ 
418
+  at WorkspaceContextImpl.print (../core/src/PackageContext.ts:133:13)
419
+
420
+ console.error
421
+  Error! package.json: Expected entry for 'bugs' to exist
422
+ 
423
+    149 | }
424
+   150 | // tslint:disable-next-line:no-console
425
+  > 151 | console.error(this.getMessage(str, depth));
426
+   | ^
427
+   152 | }
428
+   153 |
429
+   154 | private getMessage(str: string, depth: number) {
430
+ 
431
+  at WorkspaceContextImpl.printError (../core/src/PackageContext.ts:151:13)
432
+  at WorkspaceContextImpl.addErrorSyncOrAsync (../core/src/PackageContext.ts:85:12)
433
+  at WorkspaceContextImpl.addError (../core/src/PackageContext.ts:68:10)
434
+  at check (src/packageEntry.ts:73:19)
435
+  at Object.check (src/util/createRuleFactory.ts:26:27)
436
+  at Object.<anonymous> (src/__tests__/packageEntry.spec.ts:186:10)
437
+
438
+ console.log
439
+ Fixed! package.json: Expected standardized entry for 'repository'
440
+ 
441
+  at WorkspaceContextImpl.print (../core/src/PackageContext.ts:133:13)
442
+
443
+  PASS  src/__tests__/packageEntry.spec.ts
444
+ expectPackageEntries (SimpleHost)
445
+ fix: true
446
+ ✓ fixes missing entries (22 ms)
447
+ ✓ fixes missing nested entries (4 ms)
448
+ ✓ doesn't error for nested entries that are defined (1 ms)
449
+ ✓ errors for keys that are missing (7 ms)
450
+ ✓ handles both entries and entriesExist (30 ms)
451
+ expectPackageEntries (CachingHost)
452
+ fix: true
453
+ ✓ fixes missing entries (6 ms)
454
+ ✓ fixes missing nested entries (4 ms)
455
+ ✓ doesn't error for nested entries that are defined (1 ms)
456
+ ✓ errors for keys that are missing (11 ms)
457
+ ✓ handles both entries and entriesExist (16 ms)
458
+
459
+  PASS  src/__tests__/bannedDependencies.spec.ts
460
+ bannedDependencies
461
+ ✓ Flags banned dependencies correctly (8 ms)
462
+ ✓ Flags banned dependencies correctly w legacy globs (3 ms)
463
+ ✓ Flags banned dependencies correctly w new globs (2 ms)
464
+ ✓ Flags banned dependencies correctly w exact (2 ms)
465
+ ✓ Flags banned transitives correctly (6 ms)
466
+
467
+  PASS  src/__tests__/nestedWorkspaces.spec.ts
468
+ nestedWorkspaces
469
+ ✓ checks correctly when no packages (9 ms)
470
+ ✓ checks correctly when one level packages (5 ms)
471
+ ✓ checks fail when one level packages with no workspaces field (6 ms)
472
+ ✓ checks correctly when two level packages with two level workspaces field (6 ms)
473
+ ✓ checks fail when two level packages with one level workspaces field (4 ms)
474
+ ✓ checks correctly when three level packages with three level workspaces field (5 ms)
475
+
476
+  PASS  src/__tests__/requireDependency.spec.ts
477
+ requireDependency
478
+ ✓ checks correctly (21 ms)
479
+ ✓ fixes correctly (11 ms)
480
+
481
+  PASS  src/__tests__/consistentDependencies.spec.ts
482
+ consistentDependencies
483
+ ✓ checks correctly (11 ms)
484
+ ✓ fixes correctly (8 ms)
485
+ ✓ ignores ignored dependencies (2 ms)
486
+
487
+ console.log
488
+ package (/tmp/tmp-3035-RY7vRIjZ8CUw)
489
+ 
490
+  at WorkspaceContextImpl.print (../core/src/PackageContext.ts:133:13)
491
+
492
+ console.log
493
+ Fixed! package.json: Incorrect order of fields in package.json
494
+ 
495
+  at WorkspaceContextImpl.print (../core/src/PackageContext.ts:133:13)
496
+
497
+ console.log
498
+ package-unknown-keys (/tmp/tmp-3035-0Igb8XPWdFNy)
499
+ 
500
+  at WorkspaceContextImpl.print (../core/src/PackageContext.ts:133:13)
501
+
502
+ console.log
503
+ Fixed! package.json: Incorrect order of fields in package.json
504
+ 
505
+  at WorkspaceContextImpl.print (../core/src/PackageContext.ts:133:13)
506
+
507
+ console.log
508
+ package (/tmp/tmp-3035-PgTBFtucCrYA)
509
+ 
510
+  at WorkspaceContextImpl.print (../core/src/PackageContext.ts:133:13)
511
+
512
+ console.log
513
+ Fixed! package.json: Incorrect order of fields in package.json
514
+ 
515
+  at WorkspaceContextImpl.print (../core/src/PackageContext.ts:133:13)
516
+
517
+ console.log
518
+ package (/tmp/tmp-3035-HkBke4pFRkbp)
519
+ 
520
+  at WorkspaceContextImpl.print (../core/src/PackageContext.ts:133:13)
521
+
522
+ console.log
523
+ Fixed! package.json: Incorrect order of fields in package.json
524
+ 
525
+  at WorkspaceContextImpl.print (../core/src/PackageContext.ts:133:13)
526
+
527
+ console.log
528
+ package-unknown-keys (/tmp/tmp-3035-5arRoBRdipgU)
529
+ 
530
+  at WorkspaceContextImpl.print (../core/src/PackageContext.ts:133:13)
531
+
532
+ console.log
533
+ Fixed! package.json: Incorrect order of fields in package.json
534
+ 
535
+  at WorkspaceContextImpl.print (../core/src/PackageContext.ts:133:13)
536
+
537
+ console.log
538
+ package (/tmp/tmp-3035-QIiOr6NCajqS)
539
+ 
540
+  at WorkspaceContextImpl.print (../core/src/PackageContext.ts:133:13)
541
+
542
+ console.log
543
+ Fixed! package.json: Incorrect order of fields in package.json
544
+ 
545
+  at WorkspaceContextImpl.print (../core/src/PackageContext.ts:133:13)
546
+
547
+  PASS  src/__tests__/packageOrder.spec.ts
548
+ expectPackageOrder (SimpleHost)
549
+ fix: true
550
+ ✓ fixes order for expected keys (74 ms)
551
+ ✓ fixes order for unexpected keys (18 ms)
552
+ ✓ fixes order using function (5 ms)
553
+ ✓ does nothing if already order (1 ms)
554
+ expectPackageOrder (CachingHost)
555
+ fix: true
556
+ ✓ fixes order for expected keys (8 ms)
557
+ ✓ fixes order for unexpected keys (6 ms)
558
+ ✓ fixes order using function (11 ms)
559
+ ✓ does nothing if already order (2 ms)
560
+
561
+ console.log
562
+ rootProject (/tmp/tmp-3036-J7LB1ooP3dDn)
563
+ 
564
+  at WorkspaceContextImpl.print (../core/src/PackageContext.ts:133:13)
565
+
566
+ console.log
567
+ Fixed! foo.txt: Expect file contents to match
568
+ 
569
+  at WorkspaceContextImpl.print (../core/src/PackageContext.ts:133:13)
570
+
571
+ console.log
572
+ rootProject (/tmp/tmp-3036-LUp2cIfF7EyP)
573
+ 
574
+  at WorkspaceContextImpl.print (../core/src/PackageContext.ts:133:13)
575
+
576
+ console.log
577
+ Fixed! foo.txt: Expect file contents to match
578
+ 
579
+  at WorkspaceContextImpl.print (../core/src/PackageContext.ts:133:13)
580
+
581
+ console.log
582
+ rootProject (/tmp/tmp-3036-VEP4UC437Y1P)
583
+ 
584
+  at WorkspaceContextImpl.print (../core/src/PackageContext.ts:133:13)
585
+
586
+ console.log
587
+ Fixed! nested/foo.txt: Expect file contents to match
588
+ 
589
+  at WorkspaceContextImpl.print (../core/src/PackageContext.ts:133:13)
590
+
591
+ console.log
592
+ rootProject (/tmp/tmp-3036-q5rbpb1lM9y1)
593
+ 
594
+  at WorkspaceContextImpl.print (../core/src/PackageContext.ts:133:13)
595
+
596
+ console.log
597
+ Fixed! foo.txt: Expect file contents to match
598
+ 
599
+  at WorkspaceContextImpl.print (../core/src/PackageContext.ts:133:13)
600
+
601
+ console.log
602
+ rootProject (/tmp/tmp-3036-u4xzX8YkFuJ4)
603
+ 
604
+  at WorkspaceContextImpl.print (../core/src/PackageContext.ts:133:13)
605
+
606
+ console.log
607
+ Fixed! foo.txt: Expect file contents to match
608
+ 
609
+  at WorkspaceContextImpl.print (../core/src/PackageContext.ts:133:13)
610
+
611
+ console.log
612
+ rootProject (/tmp/tmp-3036-BCC6iDUMwssi)
613
+ 
614
+  at WorkspaceContextImpl.print (../core/src/PackageContext.ts:133:13)
615
+
616
+ console.log
617
+ Fixed! nested/foo.txt: Expect file contents to match
618
+ 
619
+  at WorkspaceContextImpl.print (../core/src/PackageContext.ts:133:13)
620
+
621
+  PASS  src/__tests__/fileContents.spec.ts
622
+ fileContents (SimpleHost)
623
+ fix: true
624
+ ✓ works with async generator (10 ms)
625
+ ✓ fixes missing file (3 ms)
626
+ ✓ fixes missing nested file (3 ms)
627
+ fileContents (CachingHost)
628
+ fix: true
629
+ ✓ works with async generator (16 ms)
630
+ ✓ fixes missing file (3 ms)
631
+ ✓ fixes missing nested file (2 ms)
632
+
633
+ console.log
634
+ foo-lib (/tmp/tmp-3034-horKJ5cWYViT)
635
+ 
636
+  at WorkspaceContextImpl.print (../core/src/PackageContext.ts:133:13)
637
+
638
+ console.log
639
+ Fixed! package.json: Incorrect order of scripts in foo-lib's package.json
640
+ 
641
+  at WorkspaceContextImpl.print (../core/src/PackageContext.ts:133:13)
642
+
643
+ console.log
644
+ foo-lib (/tmp/tmp-3034-LXRjnJQObxQ6)
645
+ 
646
+  at WorkspaceContextImpl.print (../core/src/PackageContext.ts:133:13)
647
+
648
+ console.log
649
+ Fixed! package.json: Incorrect order of scripts in foo-lib's package.json
650
+ 
651
+  at WorkspaceContextImpl.print (../core/src/PackageContext.ts:133:13)
652
+
653
+  PASS  src/__tests__/alphabeticalScripts.spec.ts
654
+ alphabeticalScripts (SimpleHost)
655
+ fix: true
656
+ ✓ fixes unsorted scripts (49 ms)
657
+ ✓ does nothing if already sorted (1 ms)
658
+ alphabeticalScripts (CachingHost)
659
+ fix: true
660
+ ✓ fixes unsorted scripts (5 ms)
661
+ ✓ does nothing if already sorted
662
+
663
+ Test Suites: 11 passed, 11 total
664
+ Tests: 118 passed, 118 total
665
+ Snapshots: 0 total
666
+ Time: 9.546 s
667
+ Ran all test suites.