Update Deno Dependencies
Run this script to update your dependency urls to their latest published versions.
Prior to updating each url, udd optionally runs the passed --test(s) to ensure that updating is non-breaking.
Installation
Use deno install
command:
deno install -A -f udd https://deno.land/x/udd@0.1.0/main.ts
You may need to include the deno bin directory in your PATH.
Usage
For example, to update url imports inside deps.ts
run:
udd deps.ts
To ensure that deno test
is successful when updating each dependency:
udd deps.ts --test="deno test"
Example
// deps.ts (before)
export { decode } from "https://deno.land/std@v0.34.0/strings/decode.ts";
Running udd looks up the std versions to see that there is a more recent std release.
// deps.ts (after)
export { decode } from "https://deno.land/std@v0.35.0/strings/decode.ts";
Semantic version notation
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 |
< | 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).
Examples
// deps.ts (before)
export { Application } from "https://deno.land/x/oak@v2.4.0/mod.ts#^";
export { decode } from "https://deno.land/std@v0.34.0/strings/decode.ts#=";
export { Application } from "https://deno.land/x/abc@v0.1.10/mod.ts#<0.2.0";
export { encode } from "https://deno.land/std@v0.34.0/strings/encode.ts#~";
Running udd:
// deps.ts (after)
export { Application } from "https://deno.land/x/oak@v2.10.0/mod.ts#^";
export { decode } from "https://deno.land/std@v0.34.0/strings/decode.ts#=";
export { Application } from "https://deno.land/x/abc@v0.1.11/mod.ts#<0.2.0";
export { encode } from "https://deno.land/std@v0.35.0/strings/encode.ts#~";
Supported domains
udd supports the following registry domains:
Create an issue to request additional registries.
Logo by Drake Sauer.