Releases: talhabilal-dev/create-node-spark
🎉 create-node-spark v2.6.1 —Bug fixed !
🐛 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.tsvalidation to align with prompt rules—no more confusing validation errors between input methods!
Async File Operations
- Added missing
awaitkeywords to all relevantwriteFileoperations:setupMongoDb.ts: Database config file creationsetupSql.ts: MySQL config file creationsetupEnv.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
anytypes with a properEnvironmentConfiginterface 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.tsandsrc/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
frameworkparameter tosetupPostgresPrismaso route generation matches the selected framework. - Fastify routes use the async plugin pattern (not Express Router).
- Routes are registered in
index.tsusingfastify.register(). - Updated:
setupPostgresPrisma.ts,init.ts, andconfigureIndex.ts.
Silent Mode Implementation
- Fixed
--silentCLI 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 !
🚀 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 postgresor prompt menu.
- Easy selection via
- Prisma Out-of-the-Box
- Pre-configured
prisma/schema.prismawith User and Post models. - Automatic installation of Prisma &
@prisma/client.
- Pre-configured
- 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_URLsupport and automated.envgeneration.
🛠 Changes & Improvements
- Prompt/Flag Flexibility
- Combine flags and prompts; supports partial CLI config.
- Smart Defaults
- Use
--yesto auto-fill missing options for a fast setup.
- Use
- Error Handling
- Improved feedback for invalid CLI flag combinations.
- Environment Generation
.envfiles 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 modelssrc/config/db.config.ts— Prisma client configurationsrc/services/user.service.ts— User CRUD servicesrc/controllers/user.controller.ts— API controllerssrc/routes/user.routes.ts— Express user routes.env— IncludesDATABASE_URLfor PostgreSQLsrc/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)
✨ 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
🚀 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
/publicfolder:/images/css/js/temp(for temp files)
🛠 Improvements:
- Added
/servicesfolder in/srcfor better service-layer organization - Added
/utilsfolder in/srcfor reusable utilities - Cleaner, more scalable folder structure overall
💬 As always, feedback & suggestions are welcome. Happy coding! 🚀
🚀 create-node-spark v2.1.0
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!
🎉 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! 🚀