modern-project-generator
v1.0.14
Published
Plop Generator to scaffold js/ts projects
Downloads
1,275
Maintainers
Readme
modern-project-generator
Project Generator - Micro-generator framework that makes it easy for an entire team to create web project files with a level of uniformity.
Prerequisites
- NodeJS LTS
Getting Started
Install modern-project-generator
npm i -g modern-project-generator
Create a sym link so you can use the cli command:
npm link modern-project-generator
Usage with custom cli command
plop-project
- For example:
➜ modern-project-generator git:(master) ✗ plop-project
? workspace: (Use arrow keys)
component-lib
❯ create-react-app
cypress-e2e
gatsby
gatsby-contentful
next
node-backend-service
(Move up and down to reveal more choices)
Usage without custom cli command
// package.json
{
"scripts": {
"plop": "./node_modules/modern-project-generator/bin/cli.js"
},
...
}
NPM Example: npm run plop
This command will scaffold/bootstrap the selected project using the template files in the plop generator repo.
Generators
| NAME | Description | Status |
| ------------------------------- | -----------------------------------------------------------------------------------------| -------------------
| CREATE-REACT-APP
| NPX CRA with some flavor(structure), CI/CD Build Pipelines | NOT STARTED |
| COMPONENT-LIB
| React Component Library with Storybook and CI/CD Build Pipelines | IN PROGRESS |
| CYPRESS E2E
| Cypress Headless Browser Functional/Integration/E2E Test Suite | READY |
| GATSBY
| React-based open source framework for creating websites and apps. CI/CD Build Pipelines | IN REVIEW |
| GATSBY-CONTENTFUL
| Gatsby/Contentful CMS Project Template with CI/CD Build Pipelines | READY |
| NEXT
| React framework with Storybook, CI/CD Build Pipelines and some flavor | NOT STARTED |
| NODE-BACKEND-SERVICE
| Non-REST Internal NodeJS/Typescript Service with CI/CD Pipelines | READY |
| NODE-EXPRESS
| NodesJS/Express HTTP REST Server with middleware, utils, and CI/CD pipelines | READY |
| NODE-FASTIFY
| NodesJS/Fastify HTTP REST API Server with middleware, utils, and CI/CD pipelines | IN PROGRESS |
| NODE-GQL
| NodesJS Apollo GraphQL Server with middleware, utils, and CI/CD pipelines | READY |
| SERVERLESS-CLOUD-FUNCTIONS
| Google/Firebase Cloud Functions with CI/CD pipelines | READY |
| SERVERLESS-AZURE-FUNCTIONS
| Azure SAM Functions with CI/CD pipelines | NOT STARTED |
| SERVERLESS-LAMBDA-FUNCTIONS
| AWS SAM Lambda Functions with CI/CD pipelines | NOT STARTED |
| SHARED-LIB
| Shared/Common Util Workspace | IN PROGRESS |
Full Example
> plop
? workspace: (Use arrow keys)
❯ create-react-app
gatsby
next
node-backend-service
node-express
node-fastify
node-gql
(Move up and down to reveal more choices)
? organization name test-org
? workspace name test-app
⠋ Install Dependencies
✔ ++ /test-app/.env
✔ ++ /test-app/Dockerfile
✔ ++ /test-app/codegen.yml
✔ ++ /test-app/docker-compose.yaml
✔ ++ /test-app/package.json
✔ ++ /test-app/src/app.ts
- --SKIPPED /test-app/src/middleware/limiter.middleware.ts
✔ ++ /test-app/src/middleware/token.middleware.ts
✔ ++ /test-app/src/server.ts
...
... npm install
...
Development
TODO: Add docs on how to add/extend generators
Contributions
Read the contribution documentation.