create-nextblock 0.2.25 → 0.2.27

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.
@@ -183,6 +183,13 @@ async function runSetupWizard(projectDir, projectName) {
183
183
  await fs.ensureDir(supabaseDir);
184
184
  await resetSupabaseProjectRef(projectPath);
185
185
 
186
+ clack.note(
187
+ "Before proceeding, ensure you have a Supabase project ready.\n\n" +
188
+ "1. Supabase Cloud: Create a project at https://supabase.com/dashboard\n" +
189
+ "2. Vercel Storage: If created via Vercel > Storage, check your .env.local snippet on Vercel for keys.",
190
+ "Supabase Prerequisites"
191
+ );
192
+
186
193
  clack.note('Connecting to Supabase...');
187
194
  clack.note('I will now open your browser to log into Supabase.');
188
195
  await runSupabaseCli(['login'], { cwd: projectPath });
@@ -230,17 +237,20 @@ async function runSetupWizard(projectDir, projectName) {
230
237
  {
231
238
  dbPassword: () =>
232
239
  clack.password({
233
- message: 'What is your Database Password? (Settings > Database > Connection Parameters)',
240
+ message:
241
+ 'What is your Database Password? (Supabase: Database > Database Settings > Reset database password | Vercel: POSTGRES_PASSWORD)',
234
242
  validate: (val) => (!val ? 'Password is required' : undefined),
235
243
  }),
236
244
  anonKey: () =>
237
245
  clack.password({
238
- message: 'What is your Project API Key (anon key)? (Settings > API > Project API Keys)',
246
+ message:
247
+ 'What is your Project API Key (anon key)? (Supabase: Project Settings > API Keys > Project Legacy API Keys | Vercel: SUPABASE_ANON_KEY)',
239
248
  validate: (val) => (!val ? 'Anon Key is required' : undefined),
240
249
  }),
241
250
  serviceKey: () =>
242
251
  clack.password({
243
- message: 'What is your Service Role Key (service_role key)? (Settings > API > Project API Keys)',
252
+ message:
253
+ 'What is your Service Role Key (service_role key)? (Supabase: Project Settings > API Keys > Project Legacy API Keys | Vercel: SUPABASE_SERVICE_ROLE_KEY)',
244
254
  validate: (val) => (!val ? 'Service Role Key is required' : undefined),
245
255
  }),
246
256
  },
@@ -331,8 +341,11 @@ async function runSetupWizard(projectDir, projectName) {
331
341
  }
332
342
  }
333
343
 
344
+ clack.note(
345
+ 'Optional Cloudflare R2 Setup:\nHave your Account ID, API token (Access + Secret), bucket name, and public bucket URL handy if you want media storage ready now.',
346
+ );
334
347
  const setupR2 = await clack.confirm({
335
- message: 'Do you want to set up Cloudflare R2 for media storage now? (Optional)',
348
+ message: 'Do you want to set up Cloudflare R2 for media storage now? (Optional > populate .env keys)',
336
349
  });
337
350
  if (clack.isCancel(setupR2)) {
338
351
  handleWizardCancel('Setup cancelled.');
@@ -354,7 +367,7 @@ async function runSetupWizard(projectDir, projectName) {
354
367
  {
355
368
  accountId: () =>
356
369
  clack.text({
357
- message: 'R2: Paste your Cloudflare Account ID:',
370
+ message: 'R2: Paste your Cloudflare Account ID (Overview > Account Details - Bottom right):',
358
371
  validate: (val) => (!val ? 'Account ID is required' : undefined),
359
372
  }),
360
373
  bucketName: () =>
@@ -364,7 +377,7 @@ async function runSetupWizard(projectDir, projectName) {
364
377
  }),
365
378
  accessKey: () =>
366
379
  clack.password({
367
- message: 'R2: Paste your Access Key ID:',
380
+ message: 'R2: Paste your Access Key ID (create API tokens):',
368
381
  validate: (val) => (!val ? 'Access Key ID is required' : undefined),
369
382
  }),
370
383
  secretKey: () =>
@@ -374,7 +387,8 @@ async function runSetupWizard(projectDir, projectName) {
374
387
  }),
375
388
  publicBaseUrl: () =>
376
389
  clack.text({
377
- message: 'R2: Public Base URL (e.g., https://pub-xxx.r2.dev/your-bucket):',
390
+ message:
391
+ 'R2: Public Base URL (Bucket > Settings > Public Development URL-Enable: e.g., https://pub-xxx.r2.dev)',
378
392
  validate: (val) => (!val ? 'Public base URL is required' : undefined),
379
393
  }),
380
394
  },
@@ -406,6 +420,9 @@ async function runSetupWizard(projectDir, projectName) {
406
420
  clack.note('Cloudflare R2 placeholders added to .env. Configure them later when ready.');
407
421
  }
408
422
 
423
+ clack.note(
424
+ 'Optional SMTP Setup:\nProvide the host, port, credentials, and from details for your email provider (e.g., Resend, Postmark) to send transactional emails immediately.',
425
+ );
409
426
  const setupSMTP = await clack.confirm({
410
427
  message: 'Do you want to set up an SMTP server for emails now? (Optional)',
411
428
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-nextblock",
3
- "version": "0.2.25",
3
+ "version": "0.2.27",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "bin": {