File tree Expand file tree Collapse file tree 1 file changed +23
-7
lines changed
Expand file tree Collapse file tree 1 file changed +23
-7
lines changed Original file line number Diff line number Diff line change 66load ("//:constants.bzl" , "SNAPSHOT_REPOS" )
77
88def _generate_snapshot_repo_filter ():
9- filter = ""
10- for (i , pkg_name ) in enumerate (SNAPSHOT_REPOS .keys ()):
11- filter += "{sep}(..|objects|select(has(\" {pkg_name}\" )))[\" {pkg_name}\" ] |= \" github:{snapshot_repo}#BUILD_SCM_HASH-PLACEHOLDER\" \n " .format (
12- sep = "| " if i > 0 else "" ,
13- pkg_name = pkg_name ,
14- snapshot_repo = SNAPSHOT_REPOS [pkg_name ],
9+ """
10+ Generates a jq filter string to replace direct package.json dependencies, peerDependencies,
11+ and optionalDependencies with snapshot repository URLs.
12+ """
13+ individual_pkg_filters = []
14+ for pkg_name , snapshot_repo in SNAPSHOT_REPOS .items ():
15+ individual_pkg_filters .append (
16+ """
17+ if has("{pkg_name}") then ."{pkg_name}" = "github:{snapshot_repo}#BUILD_SCM_HASH-PLACEHOLDER" else . end
18+ """ .format (
19+ pkg_name = pkg_name ,
20+ snapshot_repo = snapshot_repo ,
21+ ),
1522 )
16- return filter
23+
24+ chained_filters_for_object = " | " .join (individual_pkg_filters )
25+
26+ return """
27+ (select(has("dependencies")) | .dependencies) |= ({chained_filters}) |
28+ (select(has("peerDependencies")) | .peerDependencies) |= ({chained_filters}) |
29+ (select(has("optionalDependencies")) | .optionalDependencies) |= ({chained_filters})
30+ """ .format (
31+ chained_filters = chained_filters_for_object ,
32+ )
1733
1834# jq filter that replaces package.json dependencies with snapshot repos
1935SNAPSHOT_REPO_JQ_FILTER = _generate_snapshot_repo_filter ()
You can’t perform that action at this time.
0 commit comments