gen-express-cli v3.2.2
š 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.
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
6 months ago
6 months ago
6 months ago
6 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
9 months ago
12 months ago
12 months ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago