File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -120,12 +120,22 @@ for target in "${targets[@]}"; do
120120 $new[0] as $new |
121121 $old[0] as $old |
122122
123+ # Only update deps already present, using template’s version if available; don’t add new ones.
124+ def merge_locked(old; new):
125+ old
126+ | to_entries
127+ | map({
128+ key: .key,
129+ value: (new[.key] // .value)
130+ })
131+ | from_entries;
132+
123133 # Start with full template structure, then override preserved fields.
124134 $new
125135 | .name = $old.name
126136 | .version = $new.version
127137 | .description = $old.description
128- | .dependencies = ($old.dependencies + $new.dependencies)
138+ | .dependencies = merge_locked ($old.dependencies; $new.dependencies)
129139 | .devDependencies = ($old.devDependencies + $new.devDependencies)
130140 | .scripts = ($old.scripts + $new.scripts)
131141 ' > " $merged " \
You can’t perform that action at this time.
0 commit comments