@thinhnguyencth1204/nextcli 0.4.2 → 0.6.0
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 +12 -8
- package/dist/cli.js +314 -216
- package/package.json +2 -1
- package/templates/features/{resend/src/lib/resend/send-email.ts → email/src/lib/email/providers/resend.ts} +14 -49
- package/templates/features/email/src/lib/email/providers/smtp.ts +116 -0
- package/templates/features/email/src/lib/email/send-email.ts +68 -0
- package/templates/features/email/src/lib/email/types.ts +34 -0
- package/templates/next-base/.env +12 -7
- package/templates/next-base/.env.development +12 -7
- package/templates/next-base/.env.example +12 -7
- package/templates/next-base/PROJECT_STRUCTURE.md +11 -12
- package/templates/next-base/SETUP.md +29 -17
- package/templates/next-base/package.json +1 -0
- package/templates/next-base/prisma/schema.prisma +3 -1
- package/templates/{features/supabase → next-base}/src/lib/supabase/client.ts +1 -4
- package/templates/{features/supabase → next-base}/src/lib/supabase/storage.ts +1 -4
- package/templates/features/resend/src/lib/resend/client.ts +0 -5
- package/templates/features/resend/src/lib/resend/config.ts +0 -8
- /package/templates/features/{resend → email}/src/emails/welcome-email.tsx +0 -0
- /package/templates/{features/supabase → next-base}/src/lib/supabase/storage-config.ts +0 -0
package/README.md
CHANGED
|
@@ -27,7 +27,7 @@ This command is fully interactive:
|
|
|
27
27
|
|
|
28
28
|
- enter project name
|
|
29
29
|
- select package manager in CLI UI (`npm`, `pnpm`, `yarn`, `bun`)
|
|
30
|
-
- multi-select optional modules (`chat`, `supabase
|
|
30
|
+
- multi-select optional modules (`chat`, `supabase-realtime`, `seo`, `email`)
|
|
31
31
|
- confirm install step
|
|
32
32
|
- normalizes project directory name into a safe project slug for generated `package.json` and env placeholders
|
|
33
33
|
- ships `SETUP.md` and `PROJECT_STRUCTURE.md` in the generated project root
|
|
@@ -95,17 +95,21 @@ Module copy is non-destructive: existing files are kept and reported as skipped
|
|
|
95
95
|
Interactive multiselect shows available module catalog:
|
|
96
96
|
|
|
97
97
|
- `chat`
|
|
98
|
-
- `supabase`
|
|
99
98
|
- `supabase-realtime`
|
|
100
99
|
- `seo`
|
|
101
|
-
- `
|
|
100
|
+
- `email`
|
|
102
101
|
|
|
103
102
|
Non-interactive example:
|
|
104
103
|
|
|
105
104
|
```bash
|
|
106
|
-
node ../dist/cli.js add module --module seo --module supabase --yes
|
|
105
|
+
node ../dist/cli.js add module --module seo --module supabase-realtime --yes
|
|
107
106
|
```
|
|
108
107
|
|
|
108
|
+
`supabase` is no longer an optional module; Supabase client, Storage helpers, and Supabase Postgres env placeholders are part of the base template.
|
|
109
|
+
`resend` is now handled by the `email` module (legacy `--module resend` maps to `email` with provider `resend`).
|
|
110
|
+
|
|
111
|
+
When `email` is selected, CLI asks for provider (`resend` or `smtp`) and only merges env keys/dependencies for that provider.
|
|
112
|
+
|
|
109
113
|
## Command: add auth-provider
|
|
110
114
|
|
|
111
115
|
Enable social auth providers after project creation (not created by default):
|
|
@@ -128,7 +132,7 @@ node ../dist/cli.js add auth-provider --provider google --provider facebook --ye
|
|
|
128
132
|
This command:
|
|
129
133
|
|
|
130
134
|
- updates `src/lib/auth.ts` provider block
|
|
131
|
-
- merges provider env keys into `.env
|
|
135
|
+
- merges provider env keys into `.env`, `.env.example`, and `.env.development`
|
|
132
136
|
- runs Better Auth schema generation helper (with install prompt if CLI is missing in interactive mode)
|
|
133
137
|
|
|
134
138
|
## Command: migrate
|
|
@@ -154,6 +158,7 @@ node ../dist/cli.js migrate --name init_auth --skip-generate
|
|
|
154
158
|
|
|
155
159
|
- Next.js App Router + TypeScript
|
|
156
160
|
- Better Auth + Prisma adapter
|
|
161
|
+
- Supabase as the default Postgres/Storage stack
|
|
157
162
|
- Prisma ORM (`prisma/schema.prisma`, `prisma/migrations`)
|
|
158
163
|
- Axios fetch wrapper
|
|
159
164
|
- TanStack React Query
|
|
@@ -164,7 +169,7 @@ node ../dist/cli.js migrate --name init_auth --skip-generate
|
|
|
164
169
|
- i18n base with `next-intl`
|
|
165
170
|
- Sonner notifications
|
|
166
171
|
- date-fns utility library
|
|
167
|
-
- Optional modules: chat, supabase
|
|
172
|
+
- Optional modules: chat, supabase-realtime, seo, email
|
|
168
173
|
|
|
169
174
|
## Template structure
|
|
170
175
|
|
|
@@ -175,10 +180,9 @@ Base template lives in:
|
|
|
175
180
|
Optional module templates:
|
|
176
181
|
|
|
177
182
|
- `templates/features/chat`
|
|
178
|
-
- `templates/features/supabase`
|
|
179
183
|
- `templates/features/supabase-realtime`
|
|
180
184
|
- `templates/features/seo`
|
|
181
|
-
- `templates/features/
|
|
185
|
+
- `templates/features/email`
|
|
182
186
|
|
|
183
187
|
## Realtime chat schema foundation
|
|
184
188
|
|