Package Exports
- gen-express-cli
- gen-express-cli/index.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (gen-express-cli) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
GEN-EXPRESS-CLI
📘 Introduction
gen-express-cli is a alternative to express-generator with more features and easy to use. It is a command line tool that helps you to generate a new express project with TypeScript, ESM, Docker, Prettier, ESLint, Jest, Swagger, and Path Alias.
✨ Features
- 📦 Easy to use
- 📦 TypeScript Support
- 📦 ESM Support
- 📦 Docker Support
- 📦 Prettier & ESLint Support
- 📦 Jest Support (Unit Test)
- 📦 Swagger Support
- 📦 Path Alias
📂 Quick Start
npx gen-express-cli@latest <project-name>
cd <project-name>
npm run dev # for development
npm run start # for production
npm run build # for typescript build
npm run lint # for eslint
npm run format # for prettier
npm run test # for unit test
npm run swagger # for build swagger
docker build -t <image-name> .📖 Usage
npx gen-express-cli --help
Usage: gen-express-cli [project-name]
Options:
-v, --version output the current version
-t, --template <template-name> choose express template (choices: "javascript", "typescript")
-l, --linter choose linter (default: false)
-u, --unit-test <unit-test-name> choose unit test (choices: "jest", "none")
-a, --api-doc use swagger for API documentation (default: false)
-d, --docker use docker for containerization (default: false)
-al, --alias use alias for import (default: false)
-m --manager <package-manager> choose package manager (choices: "npm", "yarn")
-h, --help display help for command📂 Folder Structure
├─ src
│ ├─ index.ts
│ ├─ __tests__
│ │ └─ user.spec.ts
│ ├─ controllers
│ │ └─ user.ts
│ ├─ models
│ │ └─ user.ts
│ └─ routes
│ ├─ index.ts
│ └─ user.ts
├─ .dockerignore
├─ .env
├─ .env.development
├─ .eslintrc.json
├─ .gitignore
├─ .prettierrc.json
├─ apidoc.json
├─ Dockerfile
├─ jest.config.ts
├─ package-lock.json
├─ package.json
├─ process.env.d.ts
├─ README.md
├─ swagger.ts
└─ tsconfig.json📦 Dependencies
[
"dependencies": {
"cors": "^2",
"cross-env": "^7",
"dotenv": "^16",
"express": "^4",
"swagger-ui-express": "^5"
},
"devDependencies": {
"nodemon": "^3",
"typescript": "~5.3",
"ts-node": "^10",
"@types/cors": "^2",
"@types/express": "^4",
"@types/node": "^20",
"eslint": "^8",
"@typescript-eslint/eslint-plugin": "^6",
"eslint-config-prettier": "^9",
"eslint-config-standard-with-typescript": "^43",
"eslint-plugin-import": "^2",
"eslint-plugin-n": "^16",
"eslint-plugin-prettier": "^5",
"eslint-plugin-promise": "^6",
"prettier": "^3",
"eslint-plugin-jest": "^27",
"jest": "^29",
"ts-jest": "^29",
"@types/jest": "^29",
"swagger-autogen": "^2",
"@types/swagger-ui-express": "^4",
"tsc-alias": "^1",
"tsconfig-paths": "^4",
"typescript-transform-paths": "^3"
}
]📚 License
This project is licensed under the terms of the MIT license.
🤝 Contributing
Contributions, issues and feature requests are welcome! Feel free to give your feedback and give me a star if you like this project.