Skip to main content
Deno 2 is finally here πŸŽ‰οΈ
Learn more

mod

Build Coverage Status nest badge

mod is a command line tool to quickly scaffold a new Deno project. 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.0.0/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.0.0/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 run git commands, more specifically git 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

Options

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.0.0/mod.ts --help

Contributing

Bug reports and feature requests are very welcome!