mod
mod is a command line tool to quickly scaffold a new Deno module. It requires
deno and optionally git.
Try it without installing anything:
Bash/Zsh
deno run \
--allow-read=./my_deno_project \
--allow-run=git \
--allow-write=./my_deno_project \
https://deno.land/x/mod@v2.2.3/mod.ts \
--name my_deno_projectPowerShell
deno run `
--allow-read=./my_deno_project `
--allow-run=git `
--allow-write=./my_deno_project `
https://deno.land/x/mod@v2.2.3/mod.ts `
--name my_deno_project
Table of Contents
Installation
Install the latest stable release from deno.land (or nest.land):
deno install --allow-read --allow-run=git --allow-write -n mod https://deno.land/x/mod@v2.2.3/mod.tsOr install the latest unstable (unreleased) version from GitHub:
deno install --allow-read --allow-run=git --allow-write -n mod https://raw.githubusercontent.com/GJZwiers/mod/main/mod.tsTo upgrade, run the command with a new version number and include -f.
Permissions
mod requires the following permissions
read: to check if files already exists before writing.run=git: to rungitcommands, more specificallygit initwrite: to make files as part of the project initialization.
Usage
modThis will create the following file structure in the current working directory:
.
βββ .gitignore
βββ deps.ts
βββ dev_deps.ts
βββ mod.tsNote that mod does not overwrite files unless --force is used explicitly.
This means the program can also be used to βfill in the blanksβ in a directory
where not all of the files above are present yet.
Also note that mod does not perform editor-specific setups such as enabling
Deno in VS Code via .vscode/settings.json.
If git is installed on the machine then git init will be run as well.
To create the new module in a new directory:
mod --name my_deno_projectThis will create the following file and directory structure:
.
βββ my_deno_project
| βββ .gitignore
| βββ deps.ts
| βββ dev_deps.ts
| βββ mod.tsmod can also create other files along with the basics, such as a pipeline:
mod -n my_deno_project --ci.
βββ my_deno_project
| βββ .github
| | βββ workflows
| | | βββ build.yaml
| βββ .gitignore
| βββ deps.ts
| βββ dev_deps.ts
| βββ mod.tsOptions
mod can create other files with the module, such as an import map or a deno
configuration file. To see what options and flags are available use mod --help
if you have the CLI installed or
deno run https://deno.land/x/mod@v2.2.3/mod.ts --help
Contributing
Bug reports and feature requests are very welcome!