From 5724fe51a32e8fe3d14d0591de7931fb38c7e4ce Mon Sep 17 00:00:00 2001 From: silverwind Date: Mon, 20 Apr 2020 11:09:28 +0200 Subject: [PATCH] improve include/exclude argument parsing --- test.js | 10 ++++++++++ updates.js | 4 ++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/test.js b/test.js index 7461c84..962d679 100644 --- a/test.js +++ b/test.js @@ -359,6 +359,16 @@ test("include version deps", makeTest("-j -i noty", { }, })); +test("include version deps #2", makeTest("-j -i noty -i noty,noty", { + dependencies: { + "noty": { + old: "3.1.0", + new: "3.2.0-beta", + info: "https://github.com/needim/noty", + }, + }, +})); + test("exclude version deps", makeTest("-j -e gulp-sourcemaps,prismjs,svgstore,html-webpack-plugin,noty,jpeg-buffer-orientation,styled-components,@babel/preset-env", { dependencies: { "updates": { diff --git a/updates.js b/updates.js index 5f74e7e..203d5bb 100755 --- a/updates.js +++ b/updates.js @@ -226,8 +226,8 @@ try { } let include, exclude; -if (args.include && args.include !== true) include = new Set(args.include.split(",")); -if (args.exclude && args.exclude !== true) exclude = new Set(args.exclude.split(",")); +if (args.include && args.include !== true) include = new Set((Array.isArray(args.include) ? args.include : [args.include]).map(item => item.split(",")).flat()); +if (args.exclude && args.exclude !== true) exclude = new Set((Array.isArray(args.exclude) ? args.exclude : [args.exclude]).map(item => item.split(",")).flat()); function canInclude(name) { if (exclude && exclude.has(name)) return false;