Skip to content

Commit d02d8ef

Browse files
fiskerkeithamus
authored andcommittedJan 8, 2020
fix: unique bundledDependencies like fields (#127)
1 parent 466b55d commit d02d8ef

File tree

2 files changed

+7
-5
lines changed

2 files changed

+7
-5
lines changed
 

‎index.js

+5-4
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ const pipe = fns => x => fns.reduce((result, fn) => fn(result), x)
99
const onArray = fn => x => (Array.isArray(x) ? fn(x) : x)
1010
const uniq = onArray(xs => xs.filter((x, i) => i === xs.indexOf(x)))
1111
const sortArray = onArray(array => [...array].sort())
12+
const uniqAndSortArray = pipe([uniq, sortArray])
1213
const isPlainObject = x =>
1314
x && Object.prototype.toString.call(x) === '[object Object]'
1415
const onObject = fn => x => (isPlainObject(x) ? fn(x) : x)
@@ -203,10 +204,10 @@ const fields = [
203204
{ key: 'devDependencies', over: sortObject },
204205
{ key: 'peerDependencies', over: sortObject },
205206
{ key: 'optionalDependencies', over: sortObject },
206-
{ key: 'bundledDependencies', over: sortArray },
207-
{ key: 'bundleDependencies', over: sortArray },
208-
/* vscode */ { key: 'extensionPack', over: sortArray },
209-
/* vscode */ { key: 'extensionDependencies', over: sortArray },
207+
{ key: 'bundledDependencies', over: uniqAndSortArray },
208+
{ key: 'bundleDependencies', over: uniqAndSortArray },
209+
/* vscode */ { key: 'extensionPack', over: uniqAndSortArray },
210+
/* vscode */ { key: 'extensionDependencies', over: uniqAndSortArray },
210211
{ key: 'flat' },
211212
{ key: 'engines', over: sortObject },
212213
{ key: 'engineStrict', over: sortObject },

‎test.js

+2-1
Original file line numberDiff line numberDiff line change
@@ -608,8 +608,9 @@ for (const field of [
608608
]) {
609609
testField(field, [
610610
{
611-
value: ['z', 'a'],
611+
value: ['z', 'a', 'a'],
612612
expect: ['a', 'z'],
613+
message: `Should sort and unique array type of ${field} field.`,
613614
},
614615
// should ignore object
615616
{

0 commit comments

Comments
 (0)
Please sign in to comment.