Skip to content

Releases: talhabilal-dev/create-node-spark

🎉 create-node-spark v2.6.1 —Bug fixed !

27 Oct 17:32

Choose a tag to compare

🐛 Bug Fixes & Reliability Improvements

Project Name Validation Consistency

  • Fixed inconsistencies between prompt and CLI flag validation for project names.
  • Both CLI and interactive prompts now consistently require lowercase letters, numbers, hyphens, and underscores only.
  • Updated cliArgs.ts validation to align with prompt rules—no more confusing validation errors between input methods!

Async File Operations

  • Added missing await keywords to all relevant writeFile operations:
    • setupMongoDb.ts: Database config file creation
    • setupSql.ts: MySQL config file creation
    • setupEnv.ts: Environment file creation (.env, env.config)
  • Ensures all files are fully written before proceeding, preventing race conditions and improving scaffolding reliability.

TypeScript Type Safety

  • Replaced all any types with a proper EnvironmentConfig interface for environment config files.
  • Added a comprehensive interface definition including all supported environment variables.
  • Generated TypeScript projects now benefit from:
    • Full type safety in environment configuration
    • Improved IDE autocomplete and compile-time error checks
  • Updates in both src/types/index.ts and src/tasks/setupEnv.ts.

Fastify Route Generation for PostgreSQL

  • Fixed an issue where PostgreSQL + Fastify projects generated Express-style routes.
  • Now generates Fastify plugin-based routes using correct async patterns and typings.
  • Added a framework parameter to setupPostgresPrisma so route generation matches the selected framework.
  • Fastify routes use the async plugin pattern (not Express Router).
  • Routes are registered in index.ts using fastify.register().
  • Updated: setupPostgresPrisma.ts, init.ts, and configureIndex.ts.

Silent Mode Implementation

  • Fixed --silent CLI flag to actually suppress all non-error output.
  • Introduced a global silent mode in logger utilities.
  • Added setSilentMode() to control logging behavior.
  • All loggers now respect silent mode—errors are always shown.
  • Improved CI/CD and automation compatibility with true silent execution.
  • Updated: logger.ts, bin/index.ts, commands/init.ts.

Thank you for your feedback and bug reports—your input helps us deliver a rock-solid project generator!

Full Changelog: v2.3.0...v2.6.1

Full Changelog: v2.3.0...v2.6.1

🎉 create-node-spark v2.6.0 —Major upgrades !

27 Oct 17:30

Choose a tag to compare

🚀 Release Notes

What's New in This Release?

🚩 CLI Flags System

  • Project Configuration Flags
    • --name, --lang, --framework, --db, --pm
      Easily define core project settings right from the command line.
  • Feature Flags
    • --eslint, --multer, --no-eslint, --no-multer
      Fine-tune your stack and features with explicit opt-in/out controls.
  • Utility Flags
    • --yes (skip prompts), --verbose, --silent
      Automate workflows, control output, and streamline CI/CD integration.
  • Help & Version
    • --help, --version
      Comprehensive, modern help output and versioning.
  • Hybrid Mode
    • Mix CLI flags with interactive prompts; prompts only appear for missing values.
  • Automation-Ready
    • Fully scriptable for CI/CD and zero-interaction setups.
  • Flag Validation
    • Detailed, actionable error messages for invalid flag combinations.
  • Modern CLI Experience
    • Familiar flag patterns inspired by Create React App/Vite for effortless adoption.

⚡ Fastify Framework Support

  • Seamless Fastify Integration
    • Works with both TypeScript and JavaScript.
  • Modern Fastify Patterns
    • Async/await, logger enabled by default, and robust error handling.
  • Database Integration
    • MongoDB, MySQL, and PostgreSQL all work out-of-the-box with Fastify.
  • API Generation
    • Effortless REST API route generation for PostgreSQL projects using Prisma.
  • Container-Ready
    • Host binding configuration suited for containerized deployments.
  • Interactive Prompts
    • Fastify available as a framework selection in all prompts.

🐘 PostgreSQL + Prisma Integration

  • Full PostgreSQL Support
    • Easy selection via --db postgresql/--db postgres or prompt menu.
  • Prisma Out-of-the-Box
    • Pre-configured prisma/schema.prisma with User and Post models.
    • Automatic installation of Prisma & @prisma/client.
  • TypeScript First
    • Type-safe CRUD services and generated types.
  • API & Service Layer
    • User CRUD service, API controllers, and route integration.
  • Optimized Connections
    • Singleton pattern for efficient Prisma client management.
  • Environment Config
    • DATABASE_URL support and automated .env generation.

🛠 Changes & Improvements

  • Prompt/Flag Flexibility
    • Combine flags and prompts; supports partial CLI config.
  • Smart Defaults
    • Use --yes to auto-fill missing options for a fast setup.
  • Error Handling
    • Improved feedback for invalid CLI flag combinations.
  • Environment Generation
    • .env files now only include variables for the selected DB.
  • Cleaner Configs
    • Tailored environment and DB setup for each choice.

🏆 Database Options Expanded

  • Now Supporting:
    MongoDB, MySQL, PostgreSQL (with Prisma)
  • Improved Project Structure
    • Especially for PostgreSQL and Prisma projects.
  • Docs & Help Output
    • Updated to include PostgreSQL examples and all DB options.

🧑‍💻 Usage Examples

# PostgreSQL + Prisma with TypeScript
npx create-node-spark my-api --lang ts --framework express --db postgresql --yes

# Interactive PostgreSQL selection
npx create-node-spark my-api --lang typescript --framework express
# Select PostgreSQL + Prisma from the menu

# MongoDB automation
npx create-node-spark my-api --lang ts --framework express --db mongodb --eslint --yes

# Quick setup with package manager
npx create-node-spark my-api --pm pnpm --yes

📁 Example Files Generated (PostgreSQL Projects)

  • prisma/schema.prisma — Prisma schema with example models
  • src/config/db.config.ts — Prisma client configuration
  • src/services/user.service.ts — User CRUD service
  • src/controllers/user.controller.ts — API controllers
  • src/routes/user.routes.ts — Express user routes
  • .env — Includes DATABASE_URL for PostgreSQL
  • src/index.ts — Prisma connection & routes integration

Thank you for using create-node-spark!
For full docs and latest updates, see the repository.

Full Changelog: v2.3.0...v2.6.0

🔥 Phase 1: The Sparking Phase (Completed)

10 May 08:27

Choose a tag to compare

✨ Added

MySQL Support

  • Introduced full MySQL compatibility for backend apps.
  • Added support for MySQL databases via knex and mysql2 packages.
  • You can now scaffold apps with MySQL integration just as smoothly as MongoDB.

🔧 Changed

  • Enhanced database connection handling to seamlessly support both MongoDB and MySQL.
  • Squashed a few minor bugs related to database connections (because who loves debugging connection issues? 😅).

🔥 Phase 1: The Sparking Phase (Completed)

This release wraps up Phase 1—the base foundation for create-node-spark is live and stable.
Now it’s over to YOU: test it, build with it, and let’s spark up Phase 2 together. 💥

v2.2.0

09 May 05:43

Choose a tag to compare

🚀 create-node-spark v2.2.0

Big update alert! 🎉 v2.2.0 brings major improvements to project structure and file handling:

✨ New Features:

  • Multiple file upload support using Multer 📦
  • Enhanced /public folder:
    • /images
    • /css
    • /js
    • /temp (for temp files)

🛠 Improvements:

  • Added /services folder in /src for better service-layer organization
  • Added /utils folder in /src for reusable utilities
  • Cleaner, more scalable folder structure overall

💬 As always, feedback & suggestions are welcome. Happy coding! 🚀

🚀 create-node-spark v2.1.0

08 May 07:03

Choose a tag to compare

What's New:

🌱 Database Selection Feature:

  • You can now select between:
  • None (no database setup)
  • MongoDB (fully integrated setup)

🔗 Improved Server Start Logic:

  • If you choose MongoDB, your generated index.js waits for a successful database connection before starting the server.
  • If you pick None, the server starts immediately as before. ✅

🛠 Environment Config Overhaul:

  • Environment variables are now configured via a dedicated config/env.config.js file.
  • Cleaner, easier to manage, and ready for scaling up! 🚀

Other Updates:

  • 🧹 Minor code cleanup + improved internal handling.

🔧 How to upgrade:

npm install -g create-node-spark@latest

Or try it out instantly:
npx create-node-spark

💬 Got feedback or feature requests? Drop an issue or join the discussion! 🙌

🎉 create-node-spark v2.0.0 — Major Upgrade!

06 May 16:19

Choose a tag to compare

🎉 create-node-spark v2.0.0 — Major Upgrade!

We’re excited to announce v2.0.0 of create-node-spark — a major release packed with improvements and new flexibility for your Node.js scaffolding!

🚀 What’s New?

✅ TypeScript support
You can now scaffold your project in JavaScript or TypeScript — your choice, right from the CLI.

✅ Framework flexibility
Added a new “None” option — want a minimal setup without Express? We’ll wire up a clean, basic server using Node’s built-in http module.

✅ Cleaner, focused scaffolding
We’ve removed the built-in auth and Multer installation to keep the core focused on project scaffolding — no unnecessary opinionated defaults.

✅ Improved CLI experience
We polished the CLI prompts and enhanced the terminal UI to make the setup faster, clearer, and more enjoyable.

📦 Full Changelog

Check the full changelog here.

💡 Why upgrade?

This release makes create-node-spark a future-proof, flexible scaffolding tool whether you’re building a TypeScript project, a minimal HTTP server, or a classic Express REST API.

Thank you for supporting the project!
Feel free to star 🌟 the repo, share your feedback, and contribute ideas or code — let’s keep pushing it forward! 🚀