Skip to main content

Update Deno Dependencies

Run this script to update your dependency urls to their latest published versions. Optionally run –test(s) to ensure that each dependency update is non-breaking.



Note: udd is fundamentally different from something like npm or yarn. Other tools do a “distributed update” i.e. every user updates independently (and potentially to untested versions/configurations of dependencies). With udd precisely one person updates (a maintainer), and they can ensure that the new dependencies pass the test suite before commiting/releasing a new version. With udd every user has a fixed version of the dependencies.

Semantic versioning fragments are purely a convenience for the maintainer, and do not affect users.


Use deno install command:

deno install -A -f -n udd

You may need to include the deno bin directory in your PATH.


For example, to update url imports inside deps.ts run:

udd deps.ts

To update all the ts files in your directory:

udd *.ts

To ensure that deno test is successful when updating each dependency:

udd deps.ts --test="deno test"

Semantic versioning

If you append a fragment #${token}${version} to your urls you can manage their update behavior:

Token Name udd updates to the latest version such that
^ Compatible major version is the same (if major=0 then same minor version)
~ Approximately major and minor version are the same (or both major=0)
< Less than less than the provided version
= Equal it’s exactly this version

The version argument is optional for ^, ~ and = (the version passed is the version in the url).


-export { Application } from "^";
+export { Application } from "^";  // 3.x.y is not chosen

-export { decode } from "";
+export { decode } from "";  // no change

-export { Application } from "<0.2.0";
+export { Application } from "<0.2.0";  // 0.2.x is not chosen

-export { encode } from "";
+export { encode } from "";  // update to latest compatible


Supported domains

udd supports the following registry domains:

Create an issue to request additional registries.

Logo by Drake Sauer.