create-easy-stack 1.0.3 → 1.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +64 -0
- package/package.json +1 -1
package/README.md
ADDED
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
# create-easy-stack 🚀
|
|
2
|
+
|
|
3
|
+
An elegant and powerful CLI tool to scaffold modern full-stack projects instantly. Whether you want a strictly structured NestJS DDD backend, a Feature-Sliced React frontend, or simply need to plug in Redis and RabbitMQ to your project, `create-easy-stack` has you covered.
|
|
4
|
+
|
|
5
|
+
## Installation & Usage
|
|
6
|
+
|
|
7
|
+
You don't need to install anything globally. Just use `npm create`:
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
# Scaffold a new project interactively
|
|
11
|
+
npm create easy-stack <project-name>
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
### List all available templates
|
|
15
|
+
```bash
|
|
16
|
+
npx create-easy-stack list
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## Available Templates
|
|
20
|
+
|
|
21
|
+
### Backend 🖥️
|
|
22
|
+
- **`nest-ddd`**: NestJS with Domain-Driven Design (DDD) & CQRS (Clean Architecture). Includes Husky, Oxlint, Vitest, and a solid modular structure.
|
|
23
|
+
- **`node-express`**: Standard Node.js Express backend (TipsJS practice architecture).
|
|
24
|
+
|
|
25
|
+
### Frontend 🎨
|
|
26
|
+
- **`react-fsd`**: React + Vite + TypeScript (Feature Sliced Design architecture).
|
|
27
|
+
- **`react-monolithic`**: Standard React + Vite + TypeScript.
|
|
28
|
+
- **`vue-fsd`**: Vue + Vite + TypeScript (Feature Sliced Design architecture).
|
|
29
|
+
- **`vue-monolithic`**: Standard Vue + Vite + TypeScript.
|
|
30
|
+
|
|
31
|
+
## Infrastructure Modules (Pluggable) ⚙️
|
|
32
|
+
|
|
33
|
+
After scaffolding a backend project (like `nest-ddd`), you can effortlessly inject infrastructure modules. The CLI will automatically update your `app.module.ts`, `docker-compose.yml`, `.env`, and `package.json` for you!
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
cd <your-project-name>
|
|
37
|
+
npx create-easy-stack add <infra-name>
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
**Supported Infra Modules:**
|
|
41
|
+
- **`prisma-postgres`**: PostgreSQL database with Prisma ORM.
|
|
42
|
+
- **`redis`**: Redis cache, distributed lock, rate-limiting, and idempotency setup.
|
|
43
|
+
- **`rabbitmq`**: RabbitMQ message broker and background job queue.
|
|
44
|
+
- **`email`**: SMTP email service (sent through RabbitMQ job queue).
|
|
45
|
+
- **`storage-cloudinary`**: Image storage integration with Cloudinary.
|
|
46
|
+
|
|
47
|
+
*Example: Adding Redis to your new NestJS project:*
|
|
48
|
+
```bash
|
|
49
|
+
npm create easy-stack my-api nest-ddd
|
|
50
|
+
cd my-api
|
|
51
|
+
npx create-easy-stack add redis
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
## Built-in Code Generators (Plop.js)
|
|
55
|
+
|
|
56
|
+
For `nest-ddd` templates, the project comes pre-configured with `plop` to generate boilerplate code rapidly. Inside your generated project, simply run:
|
|
57
|
+
|
|
58
|
+
```bash
|
|
59
|
+
npm run plop
|
|
60
|
+
```
|
|
61
|
+
You can automatically generate Modules, Commands (CQRS), and Queries (CQRS) without writing repetitive code!
|
|
62
|
+
|
|
63
|
+
## License
|
|
64
|
+
MIT License © Thuy Phuoc Thinh
|
package/package.json
CHANGED