Skip to main content

🦕 Enhanced Deno commands

dxf, dxi, dxr, and dxx

Fixes…

formatter (dxf)

automatically runs dprint fmt if dprint is available and a config is found in the main repo directory o/w runs deno fmt

installer (dxi)

  • installs command scripts with an enhanced shim

    • command line expansion enhancement (when using the ‘xProcess’ library)
      • enables automated, bash-like command line expansion (including full brace and advanced glob expansion) for Windows platforms; pass-through for non-Windows platforms
      • enables scripts to more accurately determine the their invocation text which allows scripts to show accurate help and examples
    • blocks the annoying “Terminate batch job (Y/N)?” console question when using CTRL-C to interrupt the script
  • WIP

    • can enhance current shims

runner (dxr)

  • runs scripts with the same command line expansion enhancements as dxi

  • WIP

    • automatically run dexter / XTR files
    • automatically set requested permissions
      • warn when setting without a CLI specification
    • can run distant scripts from the command line
      • like dpx but also searches within additional directories (‘src’, …)
      • can also install the remote script with an ‘–install’ flag

integrator (dxx)

  • WIP

dexter / xtr

  • WIP

Installation

# `dxi`
deno install -A "https://deno.land/x/dxx@v0.0.7/src/dxi.ts"
#
dxi -A "https://deno.land/x/dxx@v0.0.7/src/dxf.ts"
dxi -A "https://deno.land/x/dxx@v0.0.7/src/dxr.ts"
# WIP: dxi .../dxx

Development

Tools

  • bmp (v1.1+) … synchronizes version strings within the project
    • install using dxi --allow-read=. --allow-write=. --allow-run=git -qf https://deno.land/x/bmp@v0.0.6/cli.ts
  • git-changelog (v1.1+) … enables changelog automation
    • install using go get -u github.com/rivy-go/git-changelog/cmd/git-changelog

Maintenance

CHANGELOG

git changelog > CHANGELOG.mkd

Version

  • bmp ~ check project for synchronized version strings
  • bmp --commit --[major|minor|patch] ~ update project version strings

Version update process

bmp --[major|minor|patch]
git changelog --next-tag v$(cat VERSION) > CHANGELOG.mkd
bmp --commit

Testing

deno test

Benchmarking

dxr tests/benchmarks/bench-parser.ts