improve include/exclude argument parsing

This commit is contained in:
silverwind 2020-04-20 11:09:28 +02:00
parent 8184f6c806
commit 5724fe51a3
Signed by: silverwind
GPG Key ID: 2E62B41C93869443
2 changed files with 12 additions and 2 deletions

10
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": {

@ -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;