nextforge-cli 1.1.0 → 1.3.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.
Files changed (2) hide show
  1. package/bin/cli.js +29 -13
  2. package/package.json +1 -1
package/bin/cli.js CHANGED
@@ -15,13 +15,28 @@ const TEMPLATES_DIR = path.join(__dirname, '..', 'templates');
15
15
 
16
16
  const program = new Command();
17
17
 
18
+ // ASCII Art Banner
19
+ const banner = `
20
+ ${chalk.hex('#FF6B35').bold('███╗ ██╗███████╗██╗ ██╗████████╗')}${chalk.hex('#00D9FF').bold('███████╗ ██████╗ ██████╗ ██████╗ ███████╗')}
21
+ ${chalk.hex('#FF6B35').bold('████╗ ██║██╔════╝╚██╗██╔╝╚══██╔══╝')}${chalk.hex('#00D9FF').bold('██╔════╝██╔═══██╗██╔══██╗██╔════╝ ██╔════╝')}
22
+ ${chalk.hex('#FF6B35').bold('██╔██╗ ██║█████╗ ╚███╔╝ ██║ ')}${chalk.hex('#00D9FF').bold('█████╗ ██║ ██║██████╔╝██║ ███╗█████╗ ')}
23
+ ${chalk.hex('#FF6B35').bold('██║╚██╗██║██╔══╝ ██╔██╗ ██║ ')}${chalk.hex('#00D9FF').bold('██╔══╝ ██║ ██║██╔══██╗██║ ██║██╔══╝ ')}
24
+ ${chalk.hex('#FF6B35').bold('██║ ╚████║███████╗██╔╝ ██╗ ██║ ')}${chalk.hex('#00D9FF').bold('██║ ╚██████╔╝██║ ██║╚██████╔╝███████╗')}
25
+ ${chalk.hex('#FF6B35').bold('╚═╝ ╚═══╝╚══════╝╚═╝ ╚═╝ ╚═╝ ')}${chalk.hex('#00D9FF').bold('╚═╝ ╚═════╝ ╚═╝ ╚═╝ ╚═════╝ ╚══════╝')}
26
+
27
+ ${chalk.white.bold('Welcome to NextForge!')} ${chalk.dim('The ultimate full-stack boilerplate')}
28
+
29
+ ${chalk.dim('Powered by:')} ${chalk.cyan('Next.js 15')} ${chalk.dim('•')} ${chalk.yellow('Hono')} ${chalk.dim('•')} ${chalk.green('Prisma')} ${chalk.dim('•')} ${chalk.magenta('TanStack Query')}
30
+ ${chalk.blue('Zustand')} ${chalk.dim('•')} ${chalk.red('BullMQ')} ${chalk.dim('•')} ${chalk.cyan('TypeScript')} ${chalk.dim('•')} ${chalk.hex('#38BDF8')('Tailwind')}
31
+ `;
32
+
18
33
  program
19
34
  .name('nextforge')
20
35
  .description('Forge your next full-stack Next.js TypeScript app')
21
- .version('1.0.0')
36
+ .version('1.2.0')
22
37
  .argument('[project-name]', 'Name of the project')
23
38
  .action(async (projectName) => {
24
- console.log(chalk.bold.cyan('\n🔥 NextForge - Full-Stack Next.js Generator\n'));
39
+ console.log(banner);
25
40
 
26
41
  // Get project name if not provided
27
42
  if (!projectName) {
@@ -325,10 +340,10 @@ function generatePackageJson(projectName, answers) {
325
340
  },
326
341
  dependencies: {
327
342
  // Core
328
- next: '^14.2.22',
329
- react: '^18.3.1',
330
- 'react-dom': '^18.3.1',
331
- typescript: '^5.3.3',
343
+ next: '^15.1.0',
344
+ react: '^19.0.0',
345
+ 'react-dom': '^19.0.0',
346
+ typescript: '^5.7.2',
332
347
 
333
348
  // API
334
349
  hono: '^4.0.0',
@@ -382,13 +397,14 @@ function generatePackageJson(projectName, answers) {
382
397
  autoprefixer: '^10.4.17',
383
398
  },
384
399
  devDependencies: {
385
- '@types/node': '^20.11.19',
386
- '@types/react': '^18.3.11',
387
- '@types/react-dom': '^18.3.0',
388
- eslint: '^8.57.1',
389
- 'eslint-config-next': '^14.2.22',
390
- tsx: '^4.7.1',
391
- concurrently: '^9.0.1',
400
+ '@types/node': '^22.10.0',
401
+ '@types/react': '^19.0.0',
402
+ '@types/react-dom': '^19.0.0',
403
+ eslint: '^9.17.0',
404
+ 'eslint-config-next': '^15.1.0',
405
+ '@eslint/eslintrc': '^3.2.0',
406
+ tsx: '^4.19.0',
407
+ concurrently: '^9.1.0',
392
408
  },
393
409
  };
394
410
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nextforge-cli",
3
- "version": "1.1.0",
3
+ "version": "1.3.0",
4
4
  "description": "Forge your next full-stack Next.js app with Hono, Prisma, TanStack Query, Zustand, BullMQ and more",
5
5
  "type": "module",
6
6
  "bin": {