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:
deno run --allow-read=./my_deno_project --allow-run=git --allow-write=./my_deno_project https://deno.land/x/mod@v2.2.2/mod.ts -n 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.2/mod.ts
Or 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.ts
To 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 rungit
commands, more specificallygit init
write
: to make files as part of the project initialization.
Usage
mod
This will create the following file structure in the current working directory:
.
βββ .gitignore
βββ deps.ts
βββ dev_deps.ts
βββ mod.ts
Note 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.
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_project
This will create the following file and directory structure:
.
βββ my_deno_project
| βββ .gitignore
| βββ deps.ts
| βββ dev_deps.ts
| βββ mod.ts
mod
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.ts
Options
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.2/mod.ts --help
Contributing
Bug reports and feature requests are very welcome!