Dev.to has regular "What was your win this week?" discussion. For me this time it was definitely "I finished and released new version of my open-source Nuxt project". Allow me to introduce it now.
What is it and why should you care?
I fell in love with .
There is one issue that had troubled me though. The Nuxt core is (deliberately) small and many common tasks require external tools and libraries. Nuxt authors made it easy to integrate stuff together, but you still have to do it. Now imagine having multiple projects, each with dozen or more dependencies. And your . Nuxt modules are unified API bridges to augment bare Nuxt app with 3rd party tools. And you basically just need to tell in the configuration heart, the , which is another cool Nuxt feature giving you an inheritance-like behavior. Your project will extend from nuxt-ignis, re-use what is declared there, and the build happens on your machine (or in your production) when you say so. The only question was how you can affect nuxt.config.ts without having to write everything by hand yourself?
I solved that as well. The defineNuxtConfig helper inside nuxt.config.ts accepts an object as its argument. Typically, you inline it and all the values are purely static. But there is no actual limit holding you back from passing a result of a function. And this function will get executed automatically when Nuxt build is executing defineNuxtConfig to process its argument. And because we are in Node.js (or other JS runtime), we have access to process.env. And so we can read (v0.5.3)
It does its job perfectly. When I wanted Nuxt UI, it gave me Nuxt UI. When I wanted Supabase, I got it. When I wanted nothing, I got (nearly) bare Nuxt. When I wanted everything...
Well, that soon started to be a problem. The solution that looked so promising started to choke on itself pretty soon. The number of dependencies created a mess, the bundle size grew, build times prolong and waiting for dev server to spin up soon started to be problem. And it was "only" like 25 integrations yet. I definitely planned more.
Back to the drawing board
I had six websites that run on Nuxt Ignis v0.5.3 without apparent issues. You can check (btw. 2026 issue is in the making and you're very much welcome to join us there). He pulled the right string in the back of my mind by suggesting using Nuxt Modules for more convenient configuration.
It took couple of weeks before I turned the crude idea into some believable plan. Then I started experimenting and implementing, shattered everything in pieces and slowly re-build it back.
Side note - AI (Copilot) helped me a lot during this phase. I knew where I wanted to go, but it was Copilot using Claude Opus who dug through most of the docs and source codes and did the heavy lifting. I honored released and ready for use.
I would be glad for any feedback, comments or complaints.
What's next?
I already have a number of ideas that should be done. Especially more integrations with other useful Nuxt modules and 3rd party libraries. This will either prove the new modular architecture works well or bury the idea again.
Then there is one big and important question I am indifferent to yet.
Should Nuxt Ignis really try to glue together like "every" possible variant?
I.e. some use Nuxt UI, some would prefer PrimeVue, others something else. There is Vueform, Formkit, Formish, Formwerk and who knows what. You can validate with Zod, Valibot, VeeValidate...
So? Dozens of (more or less) equivalent integrations? Or should Nuxt Ignis actually become opinionated more and pick one solution for each domain and "only" allow users to decide whether to use it or not?
Honestly, I don't know. Both approaches have pros and cons.
What I'd really need right now is the feedback from real users (providing there are some and it is not just my personal fancy toy). So I hope this will reach to someone who finds it useful and will want to share its opinion. I am looking forward to hearing from you.
SOCIAL SHARE CARD GENERATOR