Skip to content

Navigation Menu

Sign in
Sign up

Latest commit

History

11 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

dxx

Run a Deno CLI directly from a Git repository, including a private repository, without publishing a package or installing a binary first.

dxx github:crudetc/crude-spec --help

dxx resolves the repository to an immutable commit, caches its checkout, and runs the repository's own Deno configuration.

Use

The command shape follows deno x. Deno options go before the target; everything after the target is passed to the tool verbatim, including --.

Run a repository's default command:

dxx github:owner/repository --help
dxx github:owner/repository@main serve

Select a named command from the repository's Deno exports:

dxx --package github:owner/repository cli --help
dxx -p git+ssh://git@example.com/group/tool.git?ref=main cli serve

For command selection, a source-backed target differs from deno x: cli selects the "./cli" export from deno.json rather than an npm bin field.

Targets

dxx adds these source-backed module specifiers:

  • github:<owner>/<repository>[@<ref>]
  • git+https://<host>/<path>.git?ref=<ref>
  • git+ssh://<user>@<host>/<path>.git?ref=<ref>

It delegates native Deno targets unchanged: npm: and jsr: use deno x; all other Deno targets use deno x too. Source specifiers are command targets only—they do not become valid Deno import schemes.

For a source-backed target, Deno option values use =: for example, --allow-net=example.com. This keeps source-target parsing small and unambiguous.

Source-backed behavior

Mutable refs resolve to a commit once and remain pinned locally. Pass --reload (or -r) to resolve the ref again, refresh Deno dependencies, and repair the resolved source checkout if necessary.

GitHub retrieval uses GITHUB_TOKEN, GH_TOKEN, or the authenticated GitHub CLI credential. It removes environment-provided GitHub credentials before starting Deno. Generic SSH targets use the operating system's SSH agent and host-key configuration.

DXX_CACHE_DIR selects the source-cache location. Otherwise, dxx uses the platform user cache directory. dxx clean removes the complete source cache; dxx clean --dry-run reports the directory. Deno's dependency cache remains managed by Deno.

--cache-dir applies only to source-backed targets and dxx clean.

Source-backed execution supports nodeModulesDir: "none". Repositories with a package.json must set that value explicitly. Permissions are passed through to Deno: a tool granted --allow-write can modify its cached checkout.

Before acquiring an uncached source target, dxx asks for confirmation. Pass --yes or -y to skip it. Non-interactive invocations proceed without a prompt, as deno x does.

dxx --help describes dxx's own options and source targets, then defers to deno x --help.

Build and platform support

go build -o dxx .

macOS and Linux are supported. Windows is unsupported.

For the complete behavior and limits, read the specification.

License

MIT. See LICENSE.

About

deno x extended

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

AltStyle によって変換されたページ (->オリジナル) /