@grafana/create-plugin 4.2.4 → 4.2.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +12 -0
- package/dist/commands/update.command.js +0 -2
- package/dist/utils/tests/utils.npm.test.js +0 -160
- package/dist/utils/utils.npm.js +1 -1
- package/package.json +2 -2
- package/src/commands/update.command.ts +0 -2
- package/src/utils/tests/utils.npm.test.ts +0 -183
- package/src/utils/utils.npm.ts +1 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,15 @@
|
|
|
1
|
+
# v4.2.5 (Mon Mar 18 2024)
|
|
2
|
+
|
|
3
|
+
#### 🐛 Bug Fix
|
|
4
|
+
|
|
5
|
+
- Create Plugin: Remove devOnly parameter and related test cases [#823](https://github.com/grafana/plugin-tools/pull/823) ([@oshirohugo](https://github.com/oshirohugo))
|
|
6
|
+
|
|
7
|
+
#### Authors: 1
|
|
8
|
+
|
|
9
|
+
- Hugo Kiyodi Oshiro ([@oshirohugo](https://github.com/oshirohugo))
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
1
13
|
# v4.2.4 (Fri Mar 15 2024)
|
|
2
14
|
|
|
3
15
|
#### 🐛 Bug Fix
|
|
@@ -40,7 +40,6 @@ In case you want to proceed as is please use the ${chalk.bold('--force')} flag.)
|
|
|
40
40
|
updatePackageJson({
|
|
41
41
|
onlyOutdated: true,
|
|
42
42
|
ignoreGrafanaDependencies: false,
|
|
43
|
-
devOnly: false,
|
|
44
43
|
});
|
|
45
44
|
printBlueBox({
|
|
46
45
|
title: 'Update successful ✔',
|
|
@@ -51,7 +50,6 @@ ${chalk.bold.underline('Next steps:')}
|
|
|
51
50
|
- 1. Run ${chalk.bold(`${packageManagerName} install`)} to install the package updates
|
|
52
51
|
- 2. Check if you encounter any breaking changes
|
|
53
52
|
(refer to our migration guide: https://grafana.com/developers/plugin-tools/migration-guides/update-from-grafana-versions/)
|
|
54
|
-
|
|
55
53
|
${chalk.bold('Do you have questions?')}
|
|
56
54
|
Please don't hesitate to reach out in one of the following ways:
|
|
57
55
|
- Open an issue in https://github.com/grafana/plugin-tools
|
|
@@ -194,34 +194,6 @@ describe('Utils / NPM', () => {
|
|
|
194
194
|
const result = hasNpmDependenciesToUpdate();
|
|
195
195
|
expect(result).toBe(true);
|
|
196
196
|
});
|
|
197
|
-
test('It should return false when there are no dev dependencies to update in devOnly mode', () => {
|
|
198
|
-
const packageJson = {
|
|
199
|
-
dependencies: {
|
|
200
|
-
'@grafana/ui': '10.0.0',
|
|
201
|
-
react: '18.2.0',
|
|
202
|
-
},
|
|
203
|
-
devDependencies: {
|
|
204
|
-
'@testing-library/react': '12.0.0',
|
|
205
|
-
sass: '1.0.0',
|
|
206
|
-
},
|
|
207
|
-
scripts: {},
|
|
208
|
-
};
|
|
209
|
-
const latestPackageJson = {
|
|
210
|
-
dependencies: {
|
|
211
|
-
'@grafana/ui': '10.0.0',
|
|
212
|
-
react: '18.2.1',
|
|
213
|
-
},
|
|
214
|
-
devDependencies: {
|
|
215
|
-
'@testing-library/react': '12.0.0',
|
|
216
|
-
sass: '1.0.0',
|
|
217
|
-
},
|
|
218
|
-
scripts: {},
|
|
219
|
-
};
|
|
220
|
-
mocks.getPackageJson.mockReturnValue(packageJson);
|
|
221
|
-
mocks.getLatestPackageJson.mockReturnValue(latestPackageJson);
|
|
222
|
-
const result = hasNpmDependenciesToUpdate({ devOnly: true });
|
|
223
|
-
expect(result).toBe(false);
|
|
224
|
-
});
|
|
225
197
|
});
|
|
226
198
|
describe('getPackageJsonUpdatesAsText', () => {
|
|
227
199
|
test("It should return an empty text when there's nothing to update", () => {
|
|
@@ -270,62 +242,6 @@ describe('Utils / NPM', () => {
|
|
|
270
242
|
expect(result).toContain('sass');
|
|
271
243
|
expect(result).toContain('react');
|
|
272
244
|
});
|
|
273
|
-
test('It should not return the related text when devOnly and only dependencies to update', () => {
|
|
274
|
-
const packageJson = {
|
|
275
|
-
dependencies: {
|
|
276
|
-
'@grafana/ui': '10.0.0',
|
|
277
|
-
react: '18.2.0',
|
|
278
|
-
},
|
|
279
|
-
devDependencies: {
|
|
280
|
-
'@testing-library/react': '12.0.0',
|
|
281
|
-
sass: '1.0.0',
|
|
282
|
-
},
|
|
283
|
-
scripts: {},
|
|
284
|
-
};
|
|
285
|
-
const latestPackageJson = {
|
|
286
|
-
dependencies: {
|
|
287
|
-
'@grafana/ui': '10.0.0',
|
|
288
|
-
react: '18.2.1',
|
|
289
|
-
},
|
|
290
|
-
devDependencies: {
|
|
291
|
-
'@testing-library/react': '12.0.0',
|
|
292
|
-
sass: '1.0.0',
|
|
293
|
-
},
|
|
294
|
-
scripts: {},
|
|
295
|
-
};
|
|
296
|
-
mocks.getPackageJson.mockReturnValue(packageJson);
|
|
297
|
-
mocks.getLatestPackageJson.mockReturnValue(latestPackageJson);
|
|
298
|
-
const result = getPackageJsonUpdatesAsText({ devOnly: true });
|
|
299
|
-
expect(result).toBe('');
|
|
300
|
-
});
|
|
301
|
-
test('It should return the related text when devOnly and only dev dependencies to update', () => {
|
|
302
|
-
const packageJson = {
|
|
303
|
-
dependencies: {
|
|
304
|
-
'@grafana/ui': '10.0.0',
|
|
305
|
-
react: '18.2.0',
|
|
306
|
-
},
|
|
307
|
-
devDependencies: {
|
|
308
|
-
'@testing-library/react': '12.0.0',
|
|
309
|
-
sass: '1.0.0',
|
|
310
|
-
},
|
|
311
|
-
scripts: {},
|
|
312
|
-
};
|
|
313
|
-
const latestPackageJson = {
|
|
314
|
-
dependencies: {
|
|
315
|
-
'@grafana/ui': '10.0.0',
|
|
316
|
-
react: '18.2.0',
|
|
317
|
-
},
|
|
318
|
-
devDependencies: {
|
|
319
|
-
'@testing-library/react': '12.0.0',
|
|
320
|
-
sass: '1.0.1',
|
|
321
|
-
},
|
|
322
|
-
scripts: {},
|
|
323
|
-
};
|
|
324
|
-
mocks.getPackageJson.mockReturnValue(packageJson);
|
|
325
|
-
mocks.getLatestPackageJson.mockReturnValue(latestPackageJson);
|
|
326
|
-
const result = getPackageJsonUpdatesAsText({ devOnly: true });
|
|
327
|
-
expect(result).toContain('sass');
|
|
328
|
-
});
|
|
329
245
|
});
|
|
330
246
|
describe('updatePackageJson()', () => {
|
|
331
247
|
test('It should not change the package.json if nothing was updated', () => {
|
|
@@ -393,81 +309,5 @@ describe('Utils / NPM', () => {
|
|
|
393
309
|
scripts: {},
|
|
394
310
|
});
|
|
395
311
|
});
|
|
396
|
-
test('It should not change the package.json when devOnly is true and only non dev dependencies changed', () => {
|
|
397
|
-
const packageJson = {
|
|
398
|
-
dependencies: {
|
|
399
|
-
'@grafana/ui': '10.0.0',
|
|
400
|
-
react: '18.2.0',
|
|
401
|
-
},
|
|
402
|
-
devDependencies: {
|
|
403
|
-
'@testing-library/react': '12.0.0',
|
|
404
|
-
sass: '1.0.0',
|
|
405
|
-
},
|
|
406
|
-
scripts: {},
|
|
407
|
-
};
|
|
408
|
-
const latestPackageJson = {
|
|
409
|
-
dependencies: {
|
|
410
|
-
'@grafana/ui': '10.0.0',
|
|
411
|
-
react: '18.2.1',
|
|
412
|
-
},
|
|
413
|
-
devDependencies: {
|
|
414
|
-
'@testing-library/react': '12.0.0',
|
|
415
|
-
sass: '1.0.0',
|
|
416
|
-
},
|
|
417
|
-
scripts: {},
|
|
418
|
-
};
|
|
419
|
-
mocks.getPackageJson.mockReturnValue(packageJson);
|
|
420
|
-
mocks.getLatestPackageJson.mockReturnValue(latestPackageJson);
|
|
421
|
-
updatePackageJson({ devOnly: true });
|
|
422
|
-
expect(mocks.writePackageJson).toHaveBeenCalledWith({
|
|
423
|
-
dependencies: {
|
|
424
|
-
'@grafana/ui': '10.0.0',
|
|
425
|
-
react: '18.2.0',
|
|
426
|
-
},
|
|
427
|
-
devDependencies: {
|
|
428
|
-
'@testing-library/react': '12.0.0',
|
|
429
|
-
sass: '1.0.0',
|
|
430
|
-
},
|
|
431
|
-
scripts: {},
|
|
432
|
-
});
|
|
433
|
-
});
|
|
434
|
-
test('It should change the package.json when devOnly is true but only update dev dependencies', () => {
|
|
435
|
-
const packageJson = {
|
|
436
|
-
dependencies: {
|
|
437
|
-
'@grafana/ui': '10.0.0',
|
|
438
|
-
react: '18.2.0',
|
|
439
|
-
},
|
|
440
|
-
devDependencies: {
|
|
441
|
-
'@testing-library/react': '12.0.0',
|
|
442
|
-
sass: '1.0.0',
|
|
443
|
-
},
|
|
444
|
-
scripts: {},
|
|
445
|
-
};
|
|
446
|
-
const latestPackageJson = {
|
|
447
|
-
dependencies: {
|
|
448
|
-
'@grafana/ui': '10.0.0',
|
|
449
|
-
react: '18.2.1',
|
|
450
|
-
},
|
|
451
|
-
devDependencies: {
|
|
452
|
-
'@testing-library/react': '12.0.0',
|
|
453
|
-
sass: '1.0.1',
|
|
454
|
-
},
|
|
455
|
-
scripts: {},
|
|
456
|
-
};
|
|
457
|
-
mocks.getPackageJson.mockReturnValue(packageJson);
|
|
458
|
-
mocks.getLatestPackageJson.mockReturnValue(latestPackageJson);
|
|
459
|
-
updatePackageJson({ devOnly: true });
|
|
460
|
-
expect(mocks.writePackageJson).toHaveBeenCalledWith({
|
|
461
|
-
dependencies: {
|
|
462
|
-
'@grafana/ui': '10.0.0',
|
|
463
|
-
react: '18.2.0',
|
|
464
|
-
},
|
|
465
|
-
devDependencies: {
|
|
466
|
-
'@testing-library/react': '12.0.0',
|
|
467
|
-
sass: '1.0.1',
|
|
468
|
-
},
|
|
469
|
-
scripts: {},
|
|
470
|
-
});
|
|
471
|
-
});
|
|
472
312
|
});
|
|
473
313
|
});
|
package/dist/utils/utils.npm.js
CHANGED
|
@@ -63,7 +63,7 @@ export function getPackageJsonUpdates(options = {}) {
|
|
|
63
63
|
devDependencyUpdates = ignoreGrafanaDependencies(devDependencyUpdates, prevGrafanaDependencies);
|
|
64
64
|
}
|
|
65
65
|
return {
|
|
66
|
-
dependencyUpdates
|
|
66
|
+
dependencyUpdates,
|
|
67
67
|
devDependencyUpdates,
|
|
68
68
|
};
|
|
69
69
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@grafana/create-plugin",
|
|
3
|
-
"version": "4.2.
|
|
3
|
+
"version": "4.2.5",
|
|
4
4
|
"repository": {
|
|
5
5
|
"directory": "packages/create-plugin",
|
|
6
6
|
"url": "https://github.com/grafana/plugin-tools"
|
|
@@ -87,5 +87,5 @@
|
|
|
87
87
|
"engines": {
|
|
88
88
|
"node": ">=20"
|
|
89
89
|
},
|
|
90
|
-
"gitHead": "
|
|
90
|
+
"gitHead": "83b004bd75c21c6de1b04a8f7e4eb14e887aa116"
|
|
91
91
|
}
|
|
@@ -53,7 +53,6 @@ In case you want to proceed as is please use the ${chalk.bold('--force')} flag.)
|
|
|
53
53
|
updatePackageJson({
|
|
54
54
|
onlyOutdated: true,
|
|
55
55
|
ignoreGrafanaDependencies: false,
|
|
56
|
-
devOnly: false,
|
|
57
56
|
});
|
|
58
57
|
|
|
59
58
|
printBlueBox({
|
|
@@ -65,7 +64,6 @@ ${chalk.bold.underline('Next steps:')}
|
|
|
65
64
|
- 1. Run ${chalk.bold(`${packageManagerName} install`)} to install the package updates
|
|
66
65
|
- 2. Check if you encounter any breaking changes
|
|
67
66
|
(refer to our migration guide: https://grafana.com/developers/plugin-tools/migration-guides/update-from-grafana-versions/)
|
|
68
|
-
|
|
69
67
|
${chalk.bold('Do you have questions?')}
|
|
70
68
|
Please don't hesitate to reach out in one of the following ways:
|
|
71
69
|
- Open an issue in https://github.com/grafana/plugin-tools
|
|
@@ -267,39 +267,6 @@ describe('Utils / NPM', () => {
|
|
|
267
267
|
const result = hasNpmDependenciesToUpdate();
|
|
268
268
|
expect(result).toBe(true);
|
|
269
269
|
});
|
|
270
|
-
|
|
271
|
-
test('It should return false when there are no dev dependencies to update in devOnly mode', () => {
|
|
272
|
-
const packageJson = {
|
|
273
|
-
dependencies: {
|
|
274
|
-
'@grafana/ui': '10.0.0',
|
|
275
|
-
react: '18.2.0',
|
|
276
|
-
},
|
|
277
|
-
devDependencies: {
|
|
278
|
-
'@testing-library/react': '12.0.0',
|
|
279
|
-
sass: '1.0.0',
|
|
280
|
-
},
|
|
281
|
-
scripts: {},
|
|
282
|
-
};
|
|
283
|
-
|
|
284
|
-
const latestPackageJson = {
|
|
285
|
-
dependencies: {
|
|
286
|
-
'@grafana/ui': '10.0.0',
|
|
287
|
-
react: '18.2.1', // changed
|
|
288
|
-
},
|
|
289
|
-
// remains the same
|
|
290
|
-
devDependencies: {
|
|
291
|
-
'@testing-library/react': '12.0.0',
|
|
292
|
-
sass: '1.0.0',
|
|
293
|
-
},
|
|
294
|
-
scripts: {},
|
|
295
|
-
};
|
|
296
|
-
|
|
297
|
-
mocks.getPackageJson.mockReturnValue(packageJson);
|
|
298
|
-
mocks.getLatestPackageJson.mockReturnValue(latestPackageJson);
|
|
299
|
-
|
|
300
|
-
const result = hasNpmDependenciesToUpdate({ devOnly: true });
|
|
301
|
-
expect(result).toBe(false);
|
|
302
|
-
});
|
|
303
270
|
});
|
|
304
271
|
|
|
305
272
|
describe('getPackageJsonUpdatesAsText', () => {
|
|
@@ -355,70 +322,6 @@ describe('Utils / NPM', () => {
|
|
|
355
322
|
expect(result).toContain('sass');
|
|
356
323
|
expect(result).toContain('react');
|
|
357
324
|
});
|
|
358
|
-
|
|
359
|
-
test('It should not return the related text when devOnly and only dependencies to update', () => {
|
|
360
|
-
const packageJson = {
|
|
361
|
-
dependencies: {
|
|
362
|
-
'@grafana/ui': '10.0.0',
|
|
363
|
-
react: '18.2.0',
|
|
364
|
-
},
|
|
365
|
-
devDependencies: {
|
|
366
|
-
'@testing-library/react': '12.0.0',
|
|
367
|
-
sass: '1.0.0',
|
|
368
|
-
},
|
|
369
|
-
scripts: {},
|
|
370
|
-
};
|
|
371
|
-
|
|
372
|
-
const latestPackageJson = {
|
|
373
|
-
dependencies: {
|
|
374
|
-
'@grafana/ui': '10.0.0',
|
|
375
|
-
react: '18.2.1', // changed
|
|
376
|
-
},
|
|
377
|
-
devDependencies: {
|
|
378
|
-
'@testing-library/react': '12.0.0',
|
|
379
|
-
sass: '1.0.0',
|
|
380
|
-
},
|
|
381
|
-
scripts: {},
|
|
382
|
-
};
|
|
383
|
-
|
|
384
|
-
mocks.getPackageJson.mockReturnValue(packageJson);
|
|
385
|
-
mocks.getLatestPackageJson.mockReturnValue(latestPackageJson);
|
|
386
|
-
|
|
387
|
-
const result = getPackageJsonUpdatesAsText({ devOnly: true });
|
|
388
|
-
expect(result).toBe('');
|
|
389
|
-
});
|
|
390
|
-
|
|
391
|
-
test('It should return the related text when devOnly and only dev dependencies to update', () => {
|
|
392
|
-
const packageJson = {
|
|
393
|
-
dependencies: {
|
|
394
|
-
'@grafana/ui': '10.0.0',
|
|
395
|
-
react: '18.2.0',
|
|
396
|
-
},
|
|
397
|
-
devDependencies: {
|
|
398
|
-
'@testing-library/react': '12.0.0',
|
|
399
|
-
sass: '1.0.0',
|
|
400
|
-
},
|
|
401
|
-
scripts: {},
|
|
402
|
-
};
|
|
403
|
-
|
|
404
|
-
const latestPackageJson = {
|
|
405
|
-
dependencies: {
|
|
406
|
-
'@grafana/ui': '10.0.0',
|
|
407
|
-
react: '18.2.0',
|
|
408
|
-
},
|
|
409
|
-
devDependencies: {
|
|
410
|
-
'@testing-library/react': '12.0.0',
|
|
411
|
-
sass: '1.0.1', //changed
|
|
412
|
-
},
|
|
413
|
-
scripts: {},
|
|
414
|
-
};
|
|
415
|
-
|
|
416
|
-
mocks.getPackageJson.mockReturnValue(packageJson);
|
|
417
|
-
mocks.getLatestPackageJson.mockReturnValue(latestPackageJson);
|
|
418
|
-
|
|
419
|
-
const result = getPackageJsonUpdatesAsText({ devOnly: true });
|
|
420
|
-
expect(result).toContain('sass');
|
|
421
|
-
});
|
|
422
325
|
});
|
|
423
326
|
|
|
424
327
|
describe('updatePackageJson()', () => {
|
|
@@ -495,91 +398,5 @@ describe('Utils / NPM', () => {
|
|
|
495
398
|
scripts: {},
|
|
496
399
|
});
|
|
497
400
|
});
|
|
498
|
-
|
|
499
|
-
test('It should not change the package.json when devOnly is true and only non dev dependencies changed', () => {
|
|
500
|
-
const packageJson = {
|
|
501
|
-
dependencies: {
|
|
502
|
-
'@grafana/ui': '10.0.0',
|
|
503
|
-
react: '18.2.0',
|
|
504
|
-
},
|
|
505
|
-
devDependencies: {
|
|
506
|
-
'@testing-library/react': '12.0.0',
|
|
507
|
-
sass: '1.0.0',
|
|
508
|
-
},
|
|
509
|
-
scripts: {},
|
|
510
|
-
};
|
|
511
|
-
|
|
512
|
-
const latestPackageJson = {
|
|
513
|
-
dependencies: {
|
|
514
|
-
'@grafana/ui': '10.0.0',
|
|
515
|
-
react: '18.2.1', //changed
|
|
516
|
-
},
|
|
517
|
-
devDependencies: {
|
|
518
|
-
'@testing-library/react': '12.0.0',
|
|
519
|
-
sass: '1.0.0',
|
|
520
|
-
},
|
|
521
|
-
scripts: {},
|
|
522
|
-
};
|
|
523
|
-
|
|
524
|
-
mocks.getPackageJson.mockReturnValue(packageJson);
|
|
525
|
-
mocks.getLatestPackageJson.mockReturnValue(latestPackageJson);
|
|
526
|
-
|
|
527
|
-
updatePackageJson({ devOnly: true });
|
|
528
|
-
//should have the combined content
|
|
529
|
-
expect(mocks.writePackageJson).toHaveBeenCalledWith({
|
|
530
|
-
dependencies: {
|
|
531
|
-
'@grafana/ui': '10.0.0',
|
|
532
|
-
react: '18.2.0',
|
|
533
|
-
},
|
|
534
|
-
devDependencies: {
|
|
535
|
-
'@testing-library/react': '12.0.0',
|
|
536
|
-
sass: '1.0.0',
|
|
537
|
-
},
|
|
538
|
-
scripts: {},
|
|
539
|
-
});
|
|
540
|
-
});
|
|
541
|
-
|
|
542
|
-
test('It should change the package.json when devOnly is true but only update dev dependencies', () => {
|
|
543
|
-
const packageJson = {
|
|
544
|
-
dependencies: {
|
|
545
|
-
'@grafana/ui': '10.0.0',
|
|
546
|
-
react: '18.2.0',
|
|
547
|
-
},
|
|
548
|
-
devDependencies: {
|
|
549
|
-
'@testing-library/react': '12.0.0',
|
|
550
|
-
sass: '1.0.0',
|
|
551
|
-
},
|
|
552
|
-
scripts: {},
|
|
553
|
-
};
|
|
554
|
-
|
|
555
|
-
const latestPackageJson = {
|
|
556
|
-
dependencies: {
|
|
557
|
-
'@grafana/ui': '10.0.0',
|
|
558
|
-
react: '18.2.1', //changed
|
|
559
|
-
},
|
|
560
|
-
devDependencies: {
|
|
561
|
-
'@testing-library/react': '12.0.0',
|
|
562
|
-
sass: '1.0.1', //changed
|
|
563
|
-
},
|
|
564
|
-
scripts: {},
|
|
565
|
-
};
|
|
566
|
-
|
|
567
|
-
mocks.getPackageJson.mockReturnValue(packageJson);
|
|
568
|
-
mocks.getLatestPackageJson.mockReturnValue(latestPackageJson);
|
|
569
|
-
|
|
570
|
-
updatePackageJson({ devOnly: true });
|
|
571
|
-
//should have the combined content
|
|
572
|
-
expect(mocks.writePackageJson).toHaveBeenCalledWith({
|
|
573
|
-
dependencies: {
|
|
574
|
-
'@grafana/ui': '10.0.0',
|
|
575
|
-
react: '18.2.0', //changed but devOnly so should not be changed in the file
|
|
576
|
-
},
|
|
577
|
-
devDependencies: {
|
|
578
|
-
'@testing-library/react': '12.0.0',
|
|
579
|
-
sass: '1.0.1',
|
|
580
|
-
},
|
|
581
|
-
scripts: {},
|
|
582
|
-
});
|
|
583
|
-
});
|
|
584
401
|
});
|
|
585
402
|
});
|
package/src/utils/utils.npm.ts
CHANGED
|
@@ -8,7 +8,6 @@ type UpdateSummary = Record<string, { prev: string | null; next: string | null }
|
|
|
8
8
|
type UpdateOptions = {
|
|
9
9
|
onlyOutdated?: Boolean;
|
|
10
10
|
ignoreGrafanaDependencies?: boolean;
|
|
11
|
-
devOnly?: boolean;
|
|
12
11
|
};
|
|
13
12
|
|
|
14
13
|
export function getNpmDependencyUpdatesAsText(dependencyUpdates: UpdateSummary) {
|
|
@@ -94,7 +93,7 @@ export function getPackageJsonUpdates(options: UpdateOptions = {}) {
|
|
|
94
93
|
}
|
|
95
94
|
|
|
96
95
|
return {
|
|
97
|
-
dependencyUpdates
|
|
96
|
+
dependencyUpdates,
|
|
98
97
|
devDependencyUpdates,
|
|
99
98
|
};
|
|
100
99
|
}
|