I want to set bundleDependencies by using jq:
json_string="$(cat <<'END'{"name": "hello","dependencies": {"progress": "^2.0.0","tar": "^6.2.1" },"devDependencies": {"node-fetch": "~2.6.1","yargs": "^16.2.0" }}END)"Now add dependencies to the bundleDependencies:
# json_string="$(jq -r ".bundleDependencies += (.dependencies | keys)" <<< "$json_string")"Now add devDependencies to the bundleDependencies:
# json_string="$(jq -r ".bundleDependencies += (.devDependencies | keys)" <<< "$json_string")"Finally, add devDependencies again for testing if jq can ignore the duplicated items:
# jq -r ".bundleDependencies += (.devDependencies | keys)" <<< "$json_string"{"name": "hello","dependencies": {"progress": "^2.0.0","tar": "^6.2.1" },"devDependencies": {"node-fetch": "~2.6.1","yargs": "^16.2.0" },"bundleDependencies": ["progress","tar","node-fetch","yargs","node-fetch","yargs" ]}How to make jq ignore the duplicated items when it already existed in the array?