Skip to content

Commit 253b381

Browse files
committed
Update stdlib package versions in package.json dependencies
1 parent bef9f65 commit 253b381

1 file changed

Lines changed: 45 additions & 0 deletions

File tree

tools/scripts/npm_publish

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -414,6 +414,46 @@ update_version() {
414414
return 0
415415
}
416416

417+
# Updates the `@stdlib` dependencies in the root package.json to their latest versions.
418+
update_internal_dependencies() {
419+
echo 'Updating `@stdlib` dependency versions...' >&2
420+
echo 'Getting list of `@stdlib` dependencies...' >&2
421+
dependencies="$(
422+
jq -r '
423+
.dependencies |
424+
to_entries |
425+
map(select(.key | startswith("@stdlib/"))) |
426+
map(.key) |
427+
join(" ")
428+
' "${package_json}"
429+
)"
430+
if [[ "$?" -ne 0 ]]; then
431+
echo '' >&2
432+
echo 'Error: unexpected error. Encountered an error when getting list of `@stdlib` dependencies.' >&2
433+
echo '' >&2
434+
return 1
435+
fi
436+
echo 'Retrieving latest versions for `@stdlib` dependencies...' >&2
437+
for dependency in ${dependencies}; do
438+
pkgVersion="$(npm view "${dependency}" version)"
439+
echo "Updating ${dependency} to ${pkgVersion} in ${package_json}..." >&2
440+
echo "s/\"${dependency}\":[^,]*/\"${dependency}\": \"${pkgVersion}\"/" >&2
441+
if [[ "$OSTYPE" == "darwin"* ]]; then
442+
sed -i '' "s%\"${dependency}\":[^,]*%\"${dependency}\": \"${pkgVersion}\"%" "${package_json}"
443+
else
444+
sed -i "s%\"${dependency}\":[^,]*%\"${dependency}\": \"${pkgVersion}\"%" "${package_json}"
445+
fi
446+
if [[ "$?" -ne 0 ]]; then
447+
echo '' >&2
448+
echo "Error: unexpected error. Encountered an error when updating ${dependency}." >&2
449+
echo '' >&2
450+
return 1
451+
fi
452+
echo "Updated version for ${dependency}: ${pkgVersion}" >&2
453+
done
454+
echo 'Successfully updated dependency versions.' >&2
455+
}
456+
417457
# Generates and publishes distributable bundles.
418458
publish_bundles() {
419459
echo 'Publishing distributable bundles...' >&2
@@ -611,6 +651,11 @@ main() {
611651
revert_changes
612652
on_error 1
613653
fi
654+
update_internal_dependencies
655+
if [[ "$?" -ne 0 ]]; then
656+
revert_changes
657+
on_error 1
658+
fi
614659

615660
# WARNING: at this point, we are at the point of no return and, from this point forward, cannot easily revert changes to the local repository as packages may already be published...
616661

0 commit comments

Comments
 (0)