@@ -14,7 +14,11 @@ ruleTester.run("restrict-dependency-ranges", rule, {
14
14
"${ dependencyType } ": {
15
15
"abc": "^1.2.3",
16
16
"def": "1.2.3",
17
- "ghi": "~1.2.3"
17
+ "ghi": "~1.2.3",
18
+ "jkl": "workspace:*",
19
+ "mno": "workspace:^",
20
+ "pqr": "workspace:~",
21
+ "stu": "*"
18
22
}
19
23
}` ,
20
24
errors : [
@@ -31,7 +35,11 @@ ruleTester.run("restrict-dependency-ranges", rule, {
31
35
"${ dependencyType } ": {
32
36
"abc": "^1.2.3",
33
37
"def": "^1.2.3",
34
- "ghi": "~1.2.3"
38
+ "ghi": "~1.2.3",
39
+ "jkl": "workspace:*",
40
+ "mno": "workspace:^",
41
+ "pqr": "workspace:~",
42
+ "stu": "*"
35
43
}
36
44
}` ,
37
45
} ,
@@ -50,12 +58,69 @@ ruleTester.run("restrict-dependency-ranges", rule, {
50
58
"${ dependencyType } ": {
51
59
"abc": "^1.2.3",
52
60
"def": "1.2.3",
53
- "ghi": "^1.2.3"
61
+ "ghi": "^1.2.3",
62
+ "jkl": "workspace:*",
63
+ "mno": "workspace:^",
64
+ "pqr": "workspace:~",
65
+ "stu": "*"
54
66
}
55
67
}` ,
56
68
} ,
57
69
] ,
58
70
} ,
71
+ {
72
+ data : {
73
+ rangeTypes : "caret" ,
74
+ } ,
75
+ line : 6 ,
76
+ messageId : "wrongRangeType" ,
77
+ suggestions : [
78
+ {
79
+ messageId : "changeToCaret" ,
80
+ output : `{
81
+ "${ dependencyType } ": {
82
+ "abc": "^1.2.3",
83
+ "def": "1.2.3",
84
+ "ghi": "~1.2.3",
85
+ "jkl": "workspace:^",
86
+ "mno": "workspace:^",
87
+ "pqr": "workspace:~",
88
+ "stu": "*"
89
+ }
90
+ }` ,
91
+ } ,
92
+ ] ,
93
+ } ,
94
+ {
95
+ data : {
96
+ rangeTypes : "caret" ,
97
+ } ,
98
+ line : 8 ,
99
+ messageId : "wrongRangeType" ,
100
+ suggestions : [
101
+ {
102
+ messageId : "changeToCaret" ,
103
+ output : `{
104
+ "${ dependencyType } ": {
105
+ "abc": "^1.2.3",
106
+ "def": "1.2.3",
107
+ "ghi": "~1.2.3",
108
+ "jkl": "workspace:*",
109
+ "mno": "workspace:^",
110
+ "pqr": "workspace:^",
111
+ "stu": "*"
112
+ }
113
+ }` ,
114
+ } ,
115
+ ] ,
116
+ } ,
117
+ {
118
+ data : {
119
+ rangeTypes : "caret" ,
120
+ } ,
121
+ line : 9 ,
122
+ messageId : "wrongRangeType" ,
123
+ } ,
59
124
] ,
60
125
filename : "package.json" ,
61
126
name : `rangeType: 'caret'; dependencyType: '${ dependencyType } '` ,
@@ -73,7 +138,11 @@ ruleTester.run("restrict-dependency-ranges", rule, {
73
138
"${ dependencyType } ": {
74
139
"abc": "^1.2.3",
75
140
"def": "1.2.3",
76
- "ghi": "~1.2.3"
141
+ "ghi": "~1.2.3",
142
+ "jkl": "workspace:*",
143
+ "mno": "workspace:^",
144
+ "pqr": "workspace:~",
145
+ "stu": "*"
77
146
}
78
147
}` ,
79
148
errors : [
@@ -90,7 +159,11 @@ ruleTester.run("restrict-dependency-ranges", rule, {
90
159
"${ dependencyType } ": {
91
160
"abc": "1.2.3",
92
161
"def": "1.2.3",
93
- "ghi": "~1.2.3"
162
+ "ghi": "~1.2.3",
163
+ "jkl": "workspace:*",
164
+ "mno": "workspace:^",
165
+ "pqr": "workspace:~",
166
+ "stu": "*"
94
167
}
95
168
}` ,
96
169
} ,
@@ -109,12 +182,69 @@ ruleTester.run("restrict-dependency-ranges", rule, {
109
182
"${ dependencyType } ": {
110
183
"abc": "^1.2.3",
111
184
"def": "1.2.3",
112
- "ghi": "1.2.3"
185
+ "ghi": "1.2.3",
186
+ "jkl": "workspace:*",
187
+ "mno": "workspace:^",
188
+ "pqr": "workspace:~",
189
+ "stu": "*"
190
+ }
191
+ }` ,
192
+ } ,
193
+ ] ,
194
+ } ,
195
+ {
196
+ data : {
197
+ rangeTypes : "pin" ,
198
+ } ,
199
+ line : 7 ,
200
+ messageId : "wrongRangeType" ,
201
+ suggestions : [
202
+ {
203
+ messageId : "changeToPin" ,
204
+ output : `{
205
+ "${ dependencyType } ": {
206
+ "abc": "^1.2.3",
207
+ "def": "1.2.3",
208
+ "ghi": "~1.2.3",
209
+ "jkl": "workspace:*",
210
+ "mno": "workspace:*",
211
+ "pqr": "workspace:~",
212
+ "stu": "*"
213
+ }
214
+ }` ,
215
+ } ,
216
+ ] ,
217
+ } ,
218
+ {
219
+ data : {
220
+ rangeTypes : "pin" ,
221
+ } ,
222
+ line : 8 ,
223
+ messageId : "wrongRangeType" ,
224
+ suggestions : [
225
+ {
226
+ messageId : "changeToPin" ,
227
+ output : `{
228
+ "${ dependencyType } ": {
229
+ "abc": "^1.2.3",
230
+ "def": "1.2.3",
231
+ "ghi": "~1.2.3",
232
+ "jkl": "workspace:*",
233
+ "mno": "workspace:^",
234
+ "pqr": "workspace:*",
235
+ "stu": "*"
113
236
}
114
237
}` ,
115
238
} ,
116
239
] ,
117
240
} ,
241
+ {
242
+ data : {
243
+ rangeTypes : "pin" ,
244
+ } ,
245
+ line : 9 ,
246
+ messageId : "wrongRangeType" ,
247
+ } ,
118
248
] ,
119
249
filename : "package.json" ,
120
250
name : `rangeType: 'pin'; dependencyType: '${ dependencyType } '` ,
@@ -132,7 +262,11 @@ ruleTester.run("restrict-dependency-ranges", rule, {
132
262
"${ dependencyType } ": {
133
263
"abc": "^1.2.3",
134
264
"def": "1.2.3",
135
- "ghi": "~1.2.3"
265
+ "ghi": "~1.2.3",
266
+ "jkl": "workspace:*",
267
+ "mno": "workspace:^",
268
+ "pqr": "workspace:~",
269
+ "stu": "*"
136
270
}
137
271
}` ,
138
272
errors : [
@@ -149,7 +283,11 @@ ruleTester.run("restrict-dependency-ranges", rule, {
149
283
"${ dependencyType } ": {
150
284
"abc": "~1.2.3",
151
285
"def": "1.2.3",
152
- "ghi": "~1.2.3"
286
+ "ghi": "~1.2.3",
287
+ "jkl": "workspace:*",
288
+ "mno": "workspace:^",
289
+ "pqr": "workspace:~",
290
+ "stu": "*"
153
291
}
154
292
}` ,
155
293
} ,
@@ -168,12 +306,69 @@ ruleTester.run("restrict-dependency-ranges", rule, {
168
306
"${ dependencyType } ": {
169
307
"abc": "^1.2.3",
170
308
"def": "~1.2.3",
171
- "ghi": "~1.2.3"
309
+ "ghi": "~1.2.3",
310
+ "jkl": "workspace:*",
311
+ "mno": "workspace:^",
312
+ "pqr": "workspace:~",
313
+ "stu": "*"
314
+ }
315
+ }` ,
316
+ } ,
317
+ ] ,
318
+ } ,
319
+ {
320
+ data : {
321
+ rangeTypes : "tilde" ,
322
+ } ,
323
+ line : 6 ,
324
+ messageId : "wrongRangeType" ,
325
+ suggestions : [
326
+ {
327
+ messageId : "changeToTilde" ,
328
+ output : `{
329
+ "${ dependencyType } ": {
330
+ "abc": "^1.2.3",
331
+ "def": "1.2.3",
332
+ "ghi": "~1.2.3",
333
+ "jkl": "workspace:~",
334
+ "mno": "workspace:^",
335
+ "pqr": "workspace:~",
336
+ "stu": "*"
172
337
}
173
338
}` ,
174
339
} ,
175
340
] ,
176
341
} ,
342
+ {
343
+ data : {
344
+ rangeTypes : "tilde" ,
345
+ } ,
346
+ line : 7 ,
347
+ messageId : "wrongRangeType" ,
348
+ suggestions : [
349
+ {
350
+ messageId : "changeToTilde" ,
351
+ output : `{
352
+ "${ dependencyType } ": {
353
+ "abc": "^1.2.3",
354
+ "def": "1.2.3",
355
+ "ghi": "~1.2.3",
356
+ "jkl": "workspace:*",
357
+ "mno": "workspace:~",
358
+ "pqr": "workspace:~",
359
+ "stu": "*"
360
+ }
361
+ }` ,
362
+ } ,
363
+ ] ,
364
+ } ,
365
+ {
366
+ data : {
367
+ rangeTypes : "tilde" ,
368
+ } ,
369
+ line : 9 ,
370
+ messageId : "wrongRangeType" ,
371
+ } ,
177
372
] ,
178
373
filename : "package.json" ,
179
374
name : `rangeType: 'tilde'; dependencyType: '${ dependencyType } '` ,
@@ -251,6 +446,28 @@ ruleTester.run("restrict-dependency-ranges", rule, {
251
446
}` ,
252
447
name : "ignored version formats" ,
253
448
} ,
449
+ {
450
+ code : `{
451
+ "name": "thee-silver-mt-zion",
452
+ "version": "13.13,13"
453
+ }` ,
454
+ name : "no dependencies" ,
455
+ } ,
456
+ {
457
+ code : `{
458
+ "dependencies": {
459
+ "abc": {
460
+ "version": "1.2.3",
461
+ "resolved": "https://registry.npmjs.org/abc/-/abc-1.2.3.tgz",
462
+ "integrity": "sha512-abc"
463
+ },
464
+ "def": 123,
465
+ "ghi": true,
466
+ "jkl": null
467
+ }
468
+ }` ,
469
+ name : "malformed dependencies" ,
470
+ } ,
254
471
255
472
// rangeType: 'caret'
256
473
...[
0 commit comments