Skip to content

Commit a2f3fff

Browse files
authored
fix: npm_translate_lock(exclude_package_contents["*"]) should only be a fallback if no explicit package found (#2151)
1 parent 14c55a6 commit a2f3fff

File tree

1 file changed

+11
-11
lines changed

1 file changed

+11
-11
lines changed

npm/private/npm_translate_lock_helpers.bzl

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -49,25 +49,25 @@ Check the public_hoist_packages attribute for duplicates.
4949

5050
################################################################################
5151
def _gather_package_content_excludes(keyed_lists, *names):
52-
keys = []
53-
result = {}
52+
found = False
53+
excludes = []
5454
for name in names:
55-
if name and (name in keyed_lists or "*" in keyed_lists):
56-
keys.append(name)
57-
v = keyed_lists[name] if name in keyed_lists else keyed_lists["*"]
55+
if name in keyed_lists:
56+
found = True
57+
v = keyed_lists[name]
5858
if type(v) == "list":
59-
for item in v:
60-
result[item] = []
59+
for e in v:
60+
excludes.append(e)
6161
elif type(v) == "string":
62-
result[v] = []
62+
excludes.append(v)
6363
else:
6464
fail("expected value to be list or string")
6565

6666
# in case the key has not been met even once, we return None, instead of empty list as empty list is a valid value
67-
if not keys:
68-
return None
67+
if not found and "*" in keyed_lists:
68+
excludes = keyed_lists["*"] if type(keyed_lists["*"]) == "list" else [keyed_lists["*"]]
6969

70-
return result.keys()
70+
return None if len(excludes) == 0 else excludes
7171

7272
################################################################################
7373
def _gather_values_from_matching_names(additive, keyed_lists, *names):

0 commit comments

Comments
 (0)