Package Exports
- modern-project-generator
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 (modern-project-generator) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
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-generatorCreate 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.