/ x / udd@0.7.3

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 to install or update udd:

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"

Scheduled github action

You might like to use a github action to execute udd each day, check whether there are dependency updates, and - if there are - create a pull request to your repository.

As an example see the .github/workflows/udd.yml file in the udd repository.

Thanks to Eliaz Bobadilla for the initial action implementation.

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.

Update Deno Dependencies - update dependency urls to their latest published versions
GitHub Repositoryhayd/deno-udd
GitHub Stars

Version Info

Tagged at
a month ago