generate-express-ts v2.0.0
Generate Express TypeScript
This cli tool generates a thin, unopinionated Express application with TypeScript. It's designed to create a project structure, initialize version control, install dependencies, and configure TypeScript, ESLint, Prettier, and Jest for testing.
š Features
š¦ Sets up an Express server with TypeScript
š¦ Configures ESLint with TypeScript support
š¦ Adds Prettier for code formatting
š¦ Sets up Jest and Supertest for endpoint testing
š¦ Initializes a new Git repository
š¦ Configures Husky for pre-commit hooks
šŖµ Prerequisites
Before running this script, make sure you have the following installed:
- Node.js (v16 or higher)
- yarn (default package manager)
- git
š° Installation
Install the package globally using npm:
npm install -g generate-express-tsOr using Yarn:
yarn global add generate-express-tsš Usage
After installing the package globally, you can set up a new Express TypeScript application by running:
generate-express-ts <project-name>Replace <project-name> with your desired project directory name. If you don't specify a name, it defaults to my-express-ts-app.
The script will create a new directory with the given project name (or the default name) and set up the project structure and configurations within that directory.
š§³ What's Included
The script will create the following files and directories:
.eslintrc.yml: ESLint configuration file.prettierrc.yml: Prettier configuration file.gitignore: Basic.gitignorefile for a Node.js projectapp.ts: Entry point for the Express applicationapp.spec.ts: Sample test file using Jest and Supertesttsconfig.json: TypeScript configuration file.lintstagedrc: Configuration for lint-stagedpackage.json: Node.js package manifest with scripts for common taskssrc/: Directory for source codesrc/api/: Directory for API endpointssrc/api/health/: Health check endpoint, accessible at/api/health
š§ø Scripts
The generated package.json includes the following scripts:
start: Runs the Express server usingts-nodedev: Runs the Express server usingnodemonbuild: Compiles TypeScript files to JavaScript in thedistdirectorytest: Runs tests using Jestserve: Runs the Express server usingnode(requiresbuildto be run first)
šļø License
Distributed under the MIT License. See LICENSE for more information.
šŖ Contributing
Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
š± Contact
Rafay Choudhury - x: @rafay_io - website: rafay.io