Skip to main content

init

Build Coverage Status Deno nest badge

deno-init is a simple command line tool to initialize Deno projects from prompts.

Please note this module’s API is not stable yet and there may be breaking changes on 0.x version increments.

Quickstart

deno install --allow-read --allow-run --allow-write --unstable -n deno-init https://deno.land/x/init@0.16.0/mod.ts

deno-init -y -m -n awesome_deno_project

Table of Contents

Installation

First install deno and make sure it is available on a terminal. git is also recommended though not required.

Next, run the deno install command below to install the executable:

deno.land

deno install --allow-read --allow-run --allow-write --unstable -n deno-init https://deno.land/x/init@0.16.0/mod.ts

nest.land

deno install --allow-read --allow-run --allow-write --unstable -n deno-init https://x.nest.land/init@0.16.0/mod.ts

github

deno install --allow-read --allow-run --allow-write --unstable -n deno-init https://raw.githubusercontent.com/GJZwiers/deno-init/main/mod.ts

Note you can name the program anything you like by changing the -n value.

If you already have a previous installation and would like to upgrade, run the command with the new version number and include the -f flag.

Permissions

The program needs the following permissions to run:

  • read: to load files that are used to initialize projects
  • run: to run git init if the git option is true
  • write: to make files in order to initialize new projects
  • unstable: to allow the use of unstable APIs. These mostly come from the module’s external dependencies.

Basic Usage

deno-init

This will prompt you for the following:

  • Use TypeScript? (default y)
  • Set entrypoint: (default mod.ts)
  • Set dependency entrypoint: (default deps.ts)
  • Set dev dependency entrypoint: (default dev_deps.ts)
  • Add import map? (default n)

Choosing all defaults will create the following structure in the current directory:

.
│   .gitignore
│   deps.ts
|   dev_deps.ts
│   mod.ts

If you choose to init with an import map an import_map.json file is added to the above. If git is installed on the machine then git init is run as well.

Note that deno-init will not overwrite files or directories unless the --force option is used explicitly. This means the program can ‘fill in the blanks’ in a project where not all of the files above are present yet.

Options

--help will print helpful information to the terminal.

--yes or -y will initialize the project with all the defaults, skipping the prompts:

deno-init --yes

--name or -n will initialize the project in a new directory in the current working directory:

deno-init --name awesome_deno_project

--map or -m will add an (empty) import_map.json file to the project:

deno-init --map

--force or -f will allow the program to overwrite existing files. This can be helpful to re-initialize but use with caution.

deno-init --force

--no-git disables running git init as part of the project initialization.

deno-init --no-git