JSPM

  • Created
  • Published
  • Downloads 7
  • Score
    100M100P100Q45669F
  • License MIT

A simple express cli to generate express app simply by running a command

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

logo
GitHub License NPM Version node-current GitHub last commit NPM Downloads GitHub Repo stars

✨ 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.