@modernpoacher/deps 2.2.15 → 2.2.16

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@modernpoacher/deps",
3
- "version": "2.2.15",
3
+ "version": "2.2.16",
4
4
  "description": "Update NPM package dependencies from the command line",
5
5
  "keywords": [
6
6
  "deps",
@@ -79,6 +79,7 @@
79
79
  "#deps/src": "./src/index.mjs",
80
80
  "#deps/src/*": "./src/*.mjs",
81
81
  "#deps/src/common": "./src/common/index.mjs",
82
+ "#deps/src/common/debug": "./src/common/debug.mjs",
82
83
  "#deps/src/common/*": "./src/common/*/index.mjs",
83
84
  "#deps/src/install": "./src/install/index.mjs",
84
85
  "#where-am-i": "./where-am-i.mjs"
@@ -305,6 +305,56 @@ export const isPreRelease = (v) => /-/.test(v)
305
305
  */
306
306
  export const isExact = (v) => /^\d/.test(v)
307
307
 
308
+ function includeExact ([name, version]) {
309
+ return isExact(version)
310
+ }
311
+
312
+ function excludeExact ([name, version]) {
313
+ return !isExact(version)
314
+ }
315
+
316
+ function getMapConfigurationDependencies (configurationDependencies) {
317
+ /**
318
+ * We are producing an array of objects from the entries of the `packageDependencies`
319
+ *
320
+ * Each object in the array represents an entry (key and value) from `packageDependencies`
321
+ */
322
+ return function mapConfigurationDependencies (entry) {
323
+ const [
324
+ name,
325
+ version
326
+ ] = entry
327
+
328
+ return {
329
+ name,
330
+ version: (
331
+ name in configurationDependencies
332
+ ? configurationDependencies[name]
333
+ : version
334
+ )
335
+ }
336
+ }
337
+ }
338
+
339
+ function mapPackageDependencies (entry) {
340
+ const [
341
+ name,
342
+ version
343
+ ] = entry
344
+
345
+ if (isPreRelease(version)) {
346
+ return {
347
+ name,
348
+ version
349
+ }
350
+ }
351
+
352
+ return {
353
+ name,
354
+ version: 'latest'
355
+ }
356
+ }
357
+
308
358
  /**
309
359
  * @function getDepsExact
310
360
  *
@@ -319,11 +369,8 @@ export function getDepsExact (packageDependencies, configurationDependencies) {
319
369
 
320
370
  return (
321
371
  Object.entries(packageDependencies)
322
- .reduce((accumulator, [name, version]) => (
323
- isExact(version)
324
- ? accumulator.concat({ name, version: Reflect.has(configurationDependencies, name) ? Reflect.get(configurationDependencies, name) : version })
325
- : accumulator
326
- ), [])
372
+ .filter(includeExact)
373
+ .map(getMapConfigurationDependencies(configurationDependencies))
327
374
  )
328
375
  }
329
376
 
@@ -340,13 +387,8 @@ export function getDeps (packageDependencies) {
340
387
 
341
388
  return (
342
389
  Object.entries(packageDependencies)
343
- .reduce((accumulator, [name, version]) => (
344
- isExact(version)
345
- ? accumulator
346
- : isPreRelease(version)
347
- ? accumulator.concat({ name, version })
348
- : accumulator.concat({ name, version: 'latest' })
349
- ), [])
390
+ .filter(excludeExact)
391
+ .map(mapPackageDependencies)
350
392
  )
351
393
  }
352
394