snugger
v1.1.3
Published
A CLI tool to create express+TypeScript API Projects.
Downloads
682
Maintainers
Readme
Snugger is a simple and lightweight library for generating type-safe API project with Express. It is designed to help you quickly build a RESTful API project with TypeScript.
It is named Snugger because it technically means Tightly fit and it is designed to be easy to use and not add unnecessary complexity to your project.
⚙️ Installation
If you do not have Node installed on your device, you are required to install it to run this tool.
You can install Snugger CLI using npm:
npm install -g snugger@latest
Additionally you can use yarn to install Snugger CLI:
yarn add -g snugger@latest
⚡Usage
To create a new Snugger project:
snugger create
-| Snugger CLI |-
Snugger v1.0.1 - A CLI for generating type-safe express APIs
Enter project name: [your-project-name]
Would you like to install dependencies? [y/n]
or
To get help and see all the flags:
snugger help
After creating the project run this:
cd <your-project-name>
npm run dev
It will run your Express Typescript App.
Snugger generates the starting files for your project. You can configure your project folder and files according to your requirements.
To set up your project further, refer to the Express Official docs
🔷 Example
If you run a command like:
snugger create
-| Snugger CLI |-
Snugger v1.0.1 - A CLI for generating type-safe express APIs
Enter project name: express-typescript-api
Would you like to install dependencies? yes
It will create a new project in a directory named express-typescript-api
with package.json
like this :
{
"name": "express-typescript-api",
"version": "1.0.0",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"dev": "nodemon --exec ts-node app.ts",
"build": "tsc",
"start": "node dist/app.js"
},
"keywords": [],
"author": "",
"license": "ISC",
"description": "",
"dependencies": {
"cors": "^2.8.5",
"dotenv": "^16.4.5",
"express": "^4.21.1",
"mongoose": "^8.7.2"
},
"devDependencies": {
"@types/express": "^4.17.17",
"@types/cors": "^2.8.17",
"@types/node": "^20.6.0",
"ts-node": "^10.9.2",
"typescript": "^5.6.3"
}
}
👥 Contributing
We welcome contributions! Please see CONTRIBUTING.md for details on how to contribute to this project.
📜 License
This project is licensed under the MIT License - see the LICENSE file for details.