Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/elonvolo/create-node-ts


https://github.com/elonvolo/create-node-ts

Last synced: 15 days ago
JSON representation

Awesome Lists containing this project

README

        

Node.js Starter ToolKit


Starter Project for a Node.js application using TypeScript with all boring stuff already configured.



GitHub Action Status


npm


Prettier


Conventional Commits

## Overview

Starter project for **Node.js** applications using **TypeScript** with test, lint, code formatter already configured.
Check the [tooling](#tooling) section for more details.
The preferable way to use this boilerplate is using `npx` command. You can use `npm init` too.
Use the following commands to bootstrap a new project:

### NPX

```
npx create-nodejs-ts --no --app=your-app
```

### NPM Init

```
npm init nodejs-ts -- --app=your-app
```

Without parameters, the project will be created on a folder **my-app** in the same directory where you executed the
command.
All parameters available:

```
--destination= Defaults to the current directory
--app= Defaults to my-app
```

The final folder will the parameter `destination`, if provided, concatenated with the parameter `app`.

## ESM

The project template now uses **ESM** by default.

## Docker

Minimalist docker image generation.
Check this [Dockerfile](build/docker/Dockerfile).

## Local Dev Environment

Run `make up` to spin up a local environment with **Docker Compose**.
Check this [docker-compose.yml](deployments/dev/docker-compose.yml) for more details.

## Tooling

- ESM
- TypeScript
- Jest
- EsLint
- Husky
- Commit Lint
- Lint Staged
- Prettier
- Nodemon
- Docker | Docker Compose

## License

[![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2Fvitorsalgado%2Fnodejs-boilerplate.svg?type=shield)](https://app.fossa.com/projects/git%2Bgithub.com%2Fvitorsalgado%2Fnodejs-boilerplate?ref=badge_shield)

This project is [MIT Licensed](LICENSE).