launch-node-app
v1.5.0
Published
launch-node-app is a CLI tool that helps you quickly scaffold backend projects with Node.js and Express. It offers options for setting up TypeScript or JavaScript, integrates CORS and Morgan middleware, and supports environment variables with dotenv. With
Downloads
9
Readme
launch-node-app
is a CLI tool designed to help developers quickly scaffold backend projects using Node.js and Express. It simplifies the process of setting up a new project by handling common tasks such as setting up CORS, logging with Morgan, environment variables with dotenv, error handling, and more. The tool allows you to generate a full backend structure in either JavaScript or TypeScript, so you can get started faster.
Features
- Express Server Setup: Automatically generates an Express.js application with routing and middleware configurations.
- TypeScript or JavaScript: Choose between TypeScript and JavaScript for your project.
- CORS Integration: Optionally include CORS middleware to handle cross-origin requests.
- Morgan Logging: Easily integrate Morgan for logging HTTP requests.
- Environment Configuration: Automatically integrates dotenv for managing environment variables.
- Custom Error Handling: Includes an
ErrorHandler
class and error-handling middleware. - Docker Support: Optionally set up Docker for easy containerization and deployment.
- Preconfigured npm Scripts: Includes scripts for starting the server in development mode and compiling TypeScript.
npm Scripts
Your project will include the following npm scripts:
npm run dev
: Starts the development server using nodemon.npm run watch
: Compiles TypeScript code and watches for changes (if TypeScript is selected).
Example
npx launch-node-app
Follow the interactive prompts to set up your project.
cd my-app
npm run dev
npm run watch
After running these commands, your new backend project will be up and running with Express, CORS, Morgan, dotenv, and error handling configured.
Contributing
Feel free to contribute by opening issues or submitting pull requests. Contributions are welcome to improve the tool or add new features!