deno-cliffy
dax
deno-cliffy | dax | |
---|---|---|
5 | 4 | |
863 | 920 | |
- | - | |
7.9 | 8.6 | |
27 days ago | 17 days ago | |
TypeScript | TypeScript | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
deno-cliffy
- The xz attack shell script
-
Bun 1.1
Also with Deno, it become very easy to write typed cli. .ts file can be run as script very easily with permission access defined on top of the script such as:
#!/usr/bin/env -S deno run --allow-net
Then one can just run ./test.ts if the script has +x permission.
Also project such as https://cliffy.io has made writing cli way more enjoyable than node.
It is a good idea to beware of the VC. So it is good idea to support project such as Hono (projects conform to modern web standard, and is runtime agnostic for JS).
-
Create a commit message in an interactive format.
import * as hoipoiCapsule from "https://deno.land/x/[email protected]/mod.ts"; const commitMessageTemplate = `{{type}}({{scope}}): {{summary}} {{body}} BREAKING CHANGE: {{breakingChange}}`; hoipoiCapsule.useCase.fillInCommitMessage.run({ commitMessageTemplate, questionList: [ { /** * The answer applies to the {{type}} part of commitMessageTemplate. */ target: "type", /** * Pre-prepared questions. */ q: hoipoiCapsule.preset.fillInCommitMessage.conventionalcommits.qMap.type, /** * Thus, you can also create your own questions. */ // q: typeQ, /** * Modify the commit message. * Use this function when a message is unanswered, for example. */ fixCommitMessage: (p) => { if (p.answerMap["type"] === "???") { return p.commitMessage.replace(/\r?\n{2,}/, "\n").trim(); } return p.commitMessage; }, }, ], }); /** * Please check here. * https://github.com/c4spar/deno-cliffy */ const typeQ = () => hoipoiCapsule.userInterface.prompt.Select.prompt({ message: "Select type.", search: true, options: [ { name: "Build: Changes that affect the build system or external dependencies (example scopes: gulp, broccoli, npm)", value: "Build", }, { name: "CI: Changes to our CI configuration files and scripts (examples: CircleCi, SauceLabs)", value: "CI", }, { name: "Docs: Documentation only changes", value: "Docs" }, { name: "Feat: A new feature", value: "Feat" }, { name: "Fix: A bug fix", value: "Fix:" }, { name: "Perf: A code change that improves performance", value: "Perf" }, { name: "Refactor: A code change that neither fixes a bug nor adds a feature", value: "Refactor", }, { name: "Test: Adding missing tests or correcting existing tests", value: "Test", }, ], });
-
githooked - The Deno git-hook handler for your lifecycle.
Just wanted to add that v0.0.6 has been released. I changed to a more refined CLI library using https://github.com/c4spar/deno-cliffy/ so that it can be more easily maintained. Still works just the same, but more refined and clean code since when it may have been previously looked at.
- C4spar/deno-cliffy: Command line framework for deno
dax
-
Bun 1.1
> Also with Deno, it become very easy to write typed cli. .ts file can be run as script very easily with permission access defined on top of the script such as:
I do this all the time. I used to use npx in my hashbang line to run TS scripts with node, but I've started using Deno more because of the permissions. Another great package for shell scripting with Deno is Dax, which is like the Deno version of Bun shell: https://github.com/dsherret/dax
> Also project such as https://cliffy.io has made writing cli way more enjoyable than node.
This looks cool. I've always used the npm package inquirer (which also works with Deno), but I'll have to compare cliffy to that and see how it stacks up.
> Hono (projects conform to modern web standard, and is runtime agnostic for JS)
Hono is awesome. It's fast, very well typed, runs on all JS runtimes, and has zero dependencies.
-
The Bun Shell
Great point! According to https://github.com/oven-sh/bun/blob/b433beb016470b87850f3c01..., Bun Shell took inspiration from zx[0], dax[1] and bnx[2]
[0]: https://github.com/google/zx
[1]: https://github.com/dsherret/dax
[2]: https://github.com/wobsoriano/bnx
-
Create scripts in JavaScript with zx
Found a good alternative for deno: https://github.com/dsherret/dax
What are some alternatives?
node-cli-boilerplate - 🪓 Create node cli with this user friendly boilerplate
cinnamon - A Linux desktop featuring a traditional layout, built from modern technology and introducing brand new innovative features.
yaclt - Yet Another Change Log Tool
awesome-tagged-templates - A list of libraries and learning resources for ES2015 tagged template literals
denoliver - A simple, dependency free static file server for Deno with possibly the worst name ever.
exa-kernel - EXA Kernel
forge-node-app - 🛠📦🎉 Generate Node.js boilerplate with optional libraries & tools
bnx - zx inspired shell for Bun.
deno-eclipt - A flexible Deno library to create CLIs
auto - Auto is a TypeScript-powered command-line automation tool.
hoipoi_capsule - Fill in message with Deno
standardnotes-folder-export-cli - Standard Notes Folder Export CLI - Deno