init
deno-init
is a simple command line tool to initialize Deno projects from
prompts.
Quickstart
deno install --allow-read --allow-run=git --allow-write --unstable -n deno-init https://deno.land/x/init@1.1.0/mod.ts
deno-init -y -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=git --allow-write --unstable -n deno-init https://deno.land/x/init@1.1.0/mod.ts
nest.land
deno install --allow-read --allow-run=git --allow-write --unstable -n deno-init https://x.nest.land/init@1.1.0/mod.ts
github
deno install --allow-read --allow-run=git --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 have an older version 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=git
: is used to allow the program to rungit
commands, of which onlygit init
is actually called bydeno-init
write
: to make files in order to initialize new projectsunstable
: to allow the use of unstable APIs. Right now these 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 will be added
to the above. If git
is installed on the machine then git init
will be 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
will disable running git init
as part of the project
initialization.
deno-init --no-git
Contributing
Feel free to submit a bug report, issue or feature request.