init
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 projectsrun
: to rungit init
if the git option is truewrite
: to make files in order to initialize new projectsunstable
: 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
Contributing
TBD