Ionify 1.0.37 is here.
⠀
Here’s the part I care about most.
⠀
Test project:
⠀
⠀
~15,000 React components
⠀
~25,000 dependencies
⠀
Production build
⠀
⠀
Vite 8:
⠀
⠀
Initial build ~2.7s
⠀
No-change build ~2.7s
⠀
One-file change ~2.7s
⠀
⠀
Ionify:
⠀
⠀
Initial build ~5s
⠀
No-change build ~30ms
⠀
One-file change ~120ms
⠀
⠀
Yes, Ionify currently loses the first build.
⠀
That is something I’m actively working on.
⠀
But the interesting part starts after the first build.
⠀
If nothing changed, Ionify tries not to rebuild anything.
⠀
If one source changed, the goal is to rebuild the affected work rather than traverse and reproduce the entire project again.
⠀
Conceptually:
⠀
⠀
traditional repeated build
⠀
project
⠀
↓
⠀
scan
⠀
↓
⠀
resolve
⠀
↓
⠀
transform
⠀
↓
⠀
bundle
⠀
↓
⠀
emit
⠀
⠀
Ionify increasingly behaves more like:
⠀
⠀
known project state
⠀
↓
⠀
what changed?
⠀
↓
⠀
affected work
⠀
↓
⠀
reuse everything else
⠀
⠀
That sounds obvious.
⠀
But at scale, the difference becomes significant.
⠀
A build system shouldn’t only become faster because parsing, transforms or bundling became faster.
⠀
It should become faster because most of the previous work no longer needs to happen.
⠀
Fewer plugins by default
⠀
There is another part of Ionify that I’ve learned matters a lot when showing it to frontend developers:
⠀
plugin fatigue is real.
⠀
Plugins are useful. Ionify supports them, and the README now documents the supported plugin surface.
⠀
But the engine shouldn’t require a plugin for every fundamental part of the frontend workflow.
⠀
My direction with Ionify is:
⠀
⠀
strong core
⠀
+
⠀
plugins when you actually need extension
⠀
⠀
rather than:
⠀
⠀
small core
⠀
+
⠀
plugins required to assemble the normal workflow
⠀
⠀
So the practical pitch for Ionify is becoming very simple:
⠀
Fast builds. Fewer plugins. Less repeated work.
⠀
The architecture underneath that is more complicated, of course.
⠀
Ionify keeps persistent knowledge about previous work, tracks ownership of verified results, and tries to invalidate only the work affected by a change.
⠀
But you shouldn’t need to understand the architecture before the product becomes useful.
⠀
The result should explain itself.
⠀
Change one file.
⠀
Build again.
⠀
And watch how little work actually needs to happen.
⠀
Ionify is open source and still early.
⠀
0.1.37 is another step toward making frontend builds incremental by default rather than repeatedly rebuilding what the system already knows.

Top comments (0)