> Built for growing teams tired of configuring, patching, and replacing their JavaScript tooling stack.
Ah, great, another Javascript tooling stack! Let's jump on board! I'll get straight to configuring, replacing and patching as soon as possible. Or maybe let's just don't. I'm tired, Boss.
The current dominant toolchain has been very stable for years now, and is much better than the mess of Webpack/Rollup/Brunch/Grunt/Gulp/Bower/Browserify/Parcel/Snowpack/Turbopack/Babel/etc/etc.
The only problem is that NOW there are too many separate different tools that aren't bundlers, so in addition to Vite one also has to configure Prettier, Eslint, Vitest, Typescript, Husky, Lint-Staged, Playwright, DotEnv, what else?
A unified toolchain might not replace each and every tool above, but it will simplify a lot of this process.
It will also simplify migrating between tools that it doesn't intend to replace, like migrating between Typescript and Typescript-Go. Etc.
This is already the reality in Go, Rust and other languages.
No it's not out of date. It's very much the reality. Every new tool is just one more thing added on top. When I have to do something in a JS/TS repo at work it's always a surprise which epoch of JS hype stuff I find. Today I fix ESLint warnings, tomorrow it's Biome errors, then I need to figure out how to override dependencies in pnpm, but oh no there's a some bug in Bun now. Did I forget the 10249120491412e12 config options of Jest? Ah no wait, this one is Vitest.
For NextJS, do you remember the runtime used for middlewares? What was this swc thing again?
It never ends. Every year new things are added and they never really replace anything, it's just one more thing to learn and maintain.
If every technology causes exactly 1 issue per week then you quickly spend 50% of your time fixing bugs that have absolutely zero to do with what your company is actually doing.
---- EDIT
And it doesn't even stop at issues. Every one of those technologies regularly goes through breaking changes. In the process, plugins are deprecated, new ones have completely different APIs. You want to upgrade one thing for a security fix, then you're forced to upgrade 10 other things and it spirals out of control and you've spent entire work days just sifting through change logs to change `excludeFile` to `excludedFile` to `includeGlob` to `fileFilter` to `streamBouncer` to I don't know what.
If your complaint is that there are too many problems in too many different tools, then you sound like the perfect target for a UNIFIED tool that abstracts over others.
Because of Vite, there was a total of ZERO work from my side involved in changing from Rollup to Rolldown, or from babel to Esbuild to SWC.
The Rust/Go/uv model is the one to go. This is ONE step in this direction.
Lets assume Vite+ ends up working super well. Then projects using it could very well end up being a delight to work with. But that's a big IF. They'd have to resist the urge to integrate with the many other parts of JS and basically say no to a lot of requests.
But many projects won't adopt it. There are so many competitors all with their own little ecosystems. So in the end, I'll still have to fix all the issues I fix right now PLUS the issues that Vite+ will add on its own.
The only chance I see for something like this actually working is if something like Node/NPM decided to add a default formatter, linter, and so on.
My complaint is that there is too much tool churn in the JS space specifically.
I haven't experienced nearly as much brittle build and dev tooling with other ecosystems, PHP or Python for example. Sure, they have their warts and problems and their fair amount of churn. But the sheer amount of JS tool and framework churn I experienced over the last few years was insane.
It might have cooled down somewhat by now, but I'm burned out. So reading about more churn to fix the churn just rubbed me the wrong way.
I very much feel what you're saying. I could spew out quite a few of these sediment layers from our projects as well - lerna comes to mind, for example. We still have that lerna monorepo that somehow still needs to chug along. Just the thought of having to touch that CI pipeline gives me PTSD, something something EFILTER and I don't know what it was any more, yarn workspace, lerna.json: conventionalCommits yadda yadda.
And as I wrote in another reply: of course other technologies are not without issues and have their churn and warts and problems, but the sheer amount of JS hype and tool and framework churn I experienced over the last few years was insane.
It might have cooled down somewhat by now, but I'm burned out. So reading about more churn to fix the churn just rubbed me the wrong way.
Meh, you're just describing software. Especially complex client-side software build chains.
Opening up iOS or macOS app source code I haven't touched in years in the latest Xcode I just downloaded is a lot like that. There is anything from Swift errors to API changes to my build plist being invalid. And if I use any third-party tools, they probably don't work until I visit each one's latest readme.
And that's without even insisting on using the latest unstable tech (bun, biome, nextjs) like you did in your comment where you would expect that experience.
When these cynical takes were crafted, Angular, AngularJS, Aurelia, Backbone, Ember, Knockout, React and Vue were all competing for mindshare, with new members joining/leaving that group every month (anyone remember OJ.js and Google FOAM?) being compiled by traceur, 6to5, the Google Closure Compiler and others from (Iced) CoffeeScript, TypeScript, ES6, Atscript, Livescript and Closurescript. We had two fucking major package registries (npm and bower) for literally no reason and we’d use both in every project. We had like 4 ways of doing modules.
Today the stack has stabilized around React and Vue, with a couple perennial challengers like Suede in the background. Vite and Webpack have been the two main build toolchains for years now. We discarded all of those languages except for TypeScript (and new ES features if you want them, but there are fewer changes every year). There are a couple package management tools, but they’re cross-compatible-ish and all pull from the same registry.
So does the fact that it’s not NEARLY as bad as it was in 2015 mean that people in 2025 aren’t allowed to complain? Yes. Yes it does.
Okay fair point, the various *Scripts predates my entry into the developer workforce somewhat.
But just in the repos at work I deal with: yarn, npm, pnpm, bun, NextJS, biome, Prettier, ESlint, Vite, Vitest, Jest, Turbopack and esbuild. At least those are the things I remember right now. They all have their idiosyncracies and issues. They all require learning slightly different configs. Nothing is compatible with anything else. I can't take one library and `npm link` it into another because their toolchains are completely different. Then you have the whole topic of exporting TS vs. JS, different module types, module resolution, custom module resolution rules to accomodate for how some outdated plugin somewhere works.
And this really is just the tip of the iceberg.
I wish these folks the best and I hope I'm wrong and in a few years all of this is replaced by `vite lint` and `vite build`. But my past experience tells me that I'll simple add one more word to this list.
My bet is the same -- this one looks like it will stay or at the very least will set the trend on consolidation under one or two vertically integrated toolchains. Vite itself is just better than all the previous things by a big margin and it promises that the whole zoo of auxilary tools will either perish or be nicely integrated into it.
Slightly older here although I don't see how that matters.
No, it doesn't mean people in 2025 can't complain. Hype based noise that gets in the way of people doing good work should be decried even if someone else somewhere (or somewhen) has it bad too.
I'm not even a JS dev, I support the CI pipelines and Docker images and whatnot. It's something else every week. When I get it to work eventually, it's brittle as hell. I just want the madness to stop. I don't even care any more.
At this point, I don't want unified tools. I want stable ones. I'm fine with using a separate linter/formatter/transpiler/bundler/..., but why can't they just stay stable for a bit.
The only two tools I like in the JS world is `yarn` and `prettier`. They're focused and do what they do well. But you add eslint and any of the others and their configuration is a full fledged turing machine. Even autotools feels nice in comparison to that mayhem.
What's not stable about Vite, ESLint, Typescript, Prettier? Apart from Vite itself, those have been standards for 8-10 years, and Vite itself has successfully replaced a huge mess of other tools.
I agree that ESLint can become a mess, which is why I'm ok with a new competitor that doesn't require the extra configuration. Sure: they're also replacing Prettier (unnecessary) but everyone can keep using Prettier and change if Oxfmt ever becomes better.
All the other tools here are either existing, or drop-in replacements.
Eslint did a massive breaking change with it's config format not too long ago, and still doesn't seem like it knows what it wants to be when it grows up (I was happily using eslint for things prettier does...)
Fine, updating 8 to 9 sucked for you, and I believe you. I did mention that ESLint is the "problematic" one, that people are working hard to replace. If so what's the problem? What about the other tools?
"Ok you directly addressed one of my hand picked examples, clearly showing your point and why my example wasn't a good one. Now address all my other ones before I consider your perspective might be valid!"
This is like the comment version of the gish gallop.
In my opinion, because there’s no core principles behind anything. jQuery was nice because it presented a nice API on to of the DOM. There was just this single layer that both your code and the libraries rely on.
But now there’s no unifying principles behind anything. No conventions. It’s just incantations to get thing working nicely together. It’s all preprocessing and post processing, code generation an what not.
Like, their decision to change configuration format in a way that breaks all and every plugin, tutorial, project in existence as a giant "fuck you" to the whole ecosystem and all web developers of the world - isn't that a reason good enough to never come back at this tool ever again?
If I stop working on a project for 3 years, will I still be able to compile it, without losing an unpredictablt amount of time to fixing the toolchain? If not, then its not really stable, is it?
As someone who “owns” a framework at work that has been unfunded for several years, the answer is definitively yes. I haven’t touched the build toolchain in all those years and the project continues to build a dozen different JavaScript libraries with no issues across multiple Node.js upgrades.
The current version of webpack was released 5 years ago. You can keep using eslint 8 which was released 4 years ago. This really isn’t the constantly changing space it was in the 2010’s
> much better than the mess of Webpack/Rollup/Brunch/Grunt/Gulp/Bower/Browserify/Parcel/Snowpack/Turbopack/Babel/etc/etc.
What? That mess is still ongoing. Next.js for example (probably the most popular "out of the box" solution) technically uses SWC, but not quite, because it doesn't support `styled-components` so you need to use Babel for that. But wait, you might also need to use tailwind, and for that you'll need `postcss` which might also work with Babel with `babel-plugin-import-postcss` but not necessarily, could also just use it as a Next plugin, but that doesn't always[1] seem to work.
I don't think this mess will ever end unless we throw React/Vue, and all "reactive" frameworks in the dustbin and we'll get enough folks on board to re-invent the web starting from scratch. But no one really wants to do that (yet?), so even things like Bun or Deno will try to be as compatible as possible making continuous concessions that will lead to the ongoing spaghettification of toolchains.
React/Vue/Svelte/... are pretty nice ideas and the required tooling to make them work on top of CoreJS is not that extensive of an effort. The main issue is the complexity introduced by building everything and anything on top of each other as you described.
In the C world, most tools are orthogonal. The compilers don't need to know about the design of the package managers and the task runners don't care about either. Yes, we have glue tooling, but that is also and external project and the dependencies are interfaces instead of monkey-patching each other.
So you're saying that we finally have a semi-stable toolchain (I disagree) and the correct path forward is to change it all again? Lol I think the cynicism is very much justified.
To be fair, the idea of the tools being standardized behind a single command like golang is nice, but this is largely what it all comes down to.
"Vite+ will be source-available and offers a generous free tier."
I'm also a developer ( sometimes ) and we need to eat. However, for me these tools are too low of a level of he stack to monetize, so I'll probably stick with my collection of free tools.
Evan You wrote on Twitter that source code will be accessible to everyone, but not under a full permissible license. He also wrote that they have no plans to sell any code licenses.
Every for-profit is subject to being sold to someone with different plans. If the license is not fully open, it's not smart to expect the licensing terms to get worse.
Selling access isn't really helpful there. The target group (companies) have to care about licenses at some point, while it will be free for OSS, individuals and the community.
For the web development world, the answer seems a strong yes.
I remember gulp/grunt saga, I remember webpack 5 saga and the most recent pain with eslint 8 → 9 is a final nail in the coffin of anything stable for web building.
Especially eslint with their decision to change configuration format in a way that breaks all and every plugin, tutorial, project in existence as a giant "fuck you" to the whole ecosystem and all web developers of the world.
>and is much better than the mess of Webpack/Rollup/Brunch/Grunt...
You do know that Vite uses a lot of these behind the scenes right? Vite in general has much better defaults so that you don't have to configure them most of the time, but anything a bit out of the box will still require messing with the configs extensively.
Not like OPs Vite+ changes anything regarding that.
Vite works fairly well. Most config for other tools can (should?) be left at the defaults. Jest is falling apart but Vitest works very well. We've come a long way. Now let's freeze the web for some years!
I don't get it. If I'm looking for a new webdev stack, I would obviously want something free, open source.
A big "Request early access" followed by a contact form at the top of the landing page is an instant redflag of vendor locking, who would ever want that?
It's also explicitly not FOSS, "Vite+ will be source-available" it says on the page so effectively proprietary for all intents and purposes. A free pricing plan will be in place that will initially be very generous, but as time goes on and the business will need more money, it'll slowly get worse and worse.
Eventually you'll need to migrate away or cough up serious money. So yeah, not sure who'd go for this.
Enterprise support. If an enterprise can spend less time on tooling setup and maintenance they can spend more on product development.
Mind you we use NX at the moment and that was quick and easy enough to set up with no major issues for years now, so I wonder what the USP of this tool is. We also use Vite in some projects in combination with NX so maybe this is mainly aimed at that.
Oh I'm pretty sure my org will be happy to cough up the money the same way it pays for all kinds of other things supporting development. If anything, it could even save money on compute and net while doing it too.
I'm concerned that it erodes trust into vite and makes all the other open source maintainers contributing to /the commons/ asking some questions.
There is nothing really special about vite too. It's important, sure, but there is a lot of important open source projects that also need funding. Can all of them pull the same trick?
This is not a webdev stack. It is build tools. you do not ship them to your users (like react/vue) but are you used by developers for local build and CI servers for prod build.
As for why? some people have very large codebase and prefers their developers to have better UX and are willing to pay for it. lower CI/CD server costs also directly translate to cost savings if you are Replit or stackblitz,
You may not like it, and that is ok. as individual developers are already benefitting from vite. and will get rolldown soon.
Keep in mind that this is a super early preview. It will be source-available when stable.
And it will be free for the community, while companies will have to pay.
The Unified toolchain is an extremely ambitious project. when Rome announced their plan for unified toolchain, I expected it to fail as the next HN reader. and turned out to be right.
Bun is also attempting it. Thye have made tremendous progress but they are also competing against node, and thus I don't expect to for bun to go mainstream.
However, despite the difficulties, I strongly believe that Vite+ can achieve it.
I strongly recommend all readers here to watch Vite documentary[0] that got released less than a day ago for vite's history and bacground of Vite+
Well, Rome failed because they run out of money while the project weren't finished yet. While Vite+ seems to have most of the things done already, so I'd consider it a success for now, what is left to see if that the companies using Vite already are willing to pay for Vite+.
Rome also failed because it was attempting to build everything (transpiler/bundler/linter/etc) from scratch.
It was also unfortunately timed. When they started they were competing against webpack, but right around the start of the project compilers written in more performant languages like ESBuld and SWC start to take off and out compete Rome before it even got off the ground.
TIming was hardly an issue since they didn't produce anything important. moreover, their first focus was on formatter, which can be as low priority for any dev as it gets.
Even Vite+ is focused on vite and rolldown first, and formatter last.
Sure, but a large part of why they never managed to produce anything useful is because SWC/ESBuild basically made the whole Rome architecture obsolete and killed all momentum around the project before they got anywhere.
what has SWC has to do with thier success or failure for Rome? Rome was VC funded, afaik, turbopack still persists despite it being effectively obsolete with vite
Rome was going to be a whole toolchain built completely in Javascript. That was why they started with linting and formatting because they first had to implement the Javascript language parser and AST that was going to be the core of Rome. Linting and formatting was two easy things to start with while the ironed out the parser and AST implementation.
But when SWC/Esbuild came around to prove how much faster and efficient the compilation can be when written in a more performant language like Rust or Go, all hype around Rome died because no one wanted another Javascript toolchain.
Turbopack is backed by Vercel who obviously have a lot more capital behind them, but it's also built on Rust and at least has the potential to compete.
I'm very happy with Vite, this toolchain on top of it looks useful too, I would have preferred all that to just be part of vite (similar to bun) but I guess there are good reasons to keep the scope of core vite smaller?
Immediate business benefit that comes to mind is that you can make it proprietary/"source available" instead of FOSS and subsequently charge for it. You could charge for it while remaining FOSS and one big bundle in Vite, but businesses tend to prefer the first route for better or worse.
The Vite tooling is also available separately and is fully MIT open source. This "package" does the dirty work of tying the separate OSS packages together into a singular CLI/GUI tool.
I am wondering what vite+ will have that will really make it worth it compared to the "rstack" (i.e. rspack, rsbuild, rstest, rslint, etc.) rsbuild is already excellent and things like remote cache are on their roadmap?
Familiarity I guess? I've never heard of rsbuild before. In comparison, the "Vite" name directly brings me joy and makes me think of high quality, enjoyable tooling.
They seem to have less marketing for sure. If you are migrating from webpack or create-react-app, rspack/rsbuild is a no brainer. (at least worth a try IMO)
I recently had to setup another complex monorepo with eslint/vitest/vite/tsup/turborepo and it was such a pain. All the time either eslint breaks for some file, or some build breaks because of some obscure thing in tsconfig, turborepo behaves in a weird way, adding new packages is a pain, etc.
Hopefully Evan can pull this off and we have simpler initial setup.
I like Vite a lot, but (some feedback from the team) you need to give me more marketing up front to convince me why I would want more javascript. I already feel like I have too much. The comments here would echo the same.
Ehhhhh... what does this mean for the open source versions of all these libs? You could interpret some of the graphs as vite oss isn't getting rolldown. That would be disappointing but still okay.
Nothing is keeping them to this plan other though, I hope they do follow through. That would make the graph on the page misleading in the other direction though as the speed feature would be included in the non plus version.
I want to also say I'm a happy vite user (and the other projects that team makes).
Nothing changes on VoidZero's commitment to open source. Vite 8 is still set to get Rolldown. I mentioned that also in my talks (e.g. https://youtu.be/fnyK-xXxVKU?t=3027)
Vite is a Javascript bundler that abstracts transpilation/typechecking/minification/hot-reloading/etc, so you don't need a 300-line hand-crafted configuration line that constantly breaks, like it was in the past with Webpack. There's still (some) configuration but much less.
Vite+ is a tool similar to Rust Cargo or Go's toolchain that handles building (via Vite), testing, linting and formatting.
Interesting, I am a heavy user of vite today and the featureset is interesting but I don't really understand how it will differ from "normal" vite and why I would pay for it.
I was on the conference where it was announced. They plan to finish rewriting all the eslint/tsc/prettier/bundler/nx/minifier stuff in rust and give it single config instead of all of those tools having its own ast parser, alias rules and 5 incompatible babel versions.
If anything, FE tooling starts looking like it moves to more sane place. Also Anthony Fu is cool
Yes but is it worth paying a monthly subscription in order to avoid some config files? I donno. Then you will have the problem in if things go wrong or if you do something very different it's closed source so it won't be easily fixed or prioritized since there is no community.
I think for a company the answer is yes, definitely. A monthly subscription is nothing next to a salary. Not that this will eliminate a whole engineer but... It might. It'll get close, depending on how big the project is.
I dunno really. I'm pretty sure my organization will be willing to cough up the fee.
Me personally -- I would rather see it staying fully opensource and be funded through open collective or EU grants or something, like a lot of core stuff should. The fact this model doesn't work is sad.
I feel that something that the whole FE community gravitates to converge on should stay that way to prevent rag pulls and license dramas, otherwise it sabotages the process of converging on the same set of tools in the first place. Then the whole work will be wasted and eventually the project will die out and we get back to the same mess.
That being said, I get that the problem they are aiming to solve is a big pain point and whoever solves it -- they deserve money, but don't deserve to keep the whole community hostage to their whims indefinitely.
Then again, if people can pay 20 bucks a month for oracle lottery tickets selling infinite wisdom one token at time, why not pay actually helpful people doing great tools.
Well sure, but will there be incentives to keep developing and improving vite? Since they will probably want to have subscribers they will have to do a rug pull and make vite less great than they could've since that is how every saas works.
Its the opposite actually. Its about vertical integration of all tools and using the same foundational libraries in all of them. So its just vite calling oxlint built on oxc.
Don't get me wrong but at this point you might as well just use Java instead of javascript to build web pages.
Vite is basically replicating what one would expect as normal behaviour from the JDK + IDE has been doing since years. Javascript was meant to be readable for an open web, nowadays it is compiled into a puddle of text.
It is OK to reinvent the wheel, it just doesn't look much better than the old one.
It entirely depends on the type of application you are building. Boring CRUD app that is rarely updated? Yea, server rendering is probably enough.
But the requirements of "modern" software are always changing. Sure, the static table might be enough, but then some business person says, "It sure would be nice if I could check a little box in the table row or assign this user here..." and now you're adding little JS hacks. Again, not impossible, but at a certain scale, the ability to have infinite access to client driven reactivity becomes a real business empowerment.
Given the interest in the JS working group to add reactive Signals to the core language, I suspect this will only become _more_ prevalent in the future. Maybe it will need less input from frameworks to do the same work and we can move back towards using built-in browser APIs, but the programming model itself works really well (so much so that SwiftUI uses a very similar reactive UI programming model).
Again, I don't disagree with your point, just at a certain scale, it becomes a huge hassle to maintain. If people are going to use these tools and frameworks anyway, it helps the entire web to make them more efficient.
Kind of frustrating to watch indeed. Have similar complaints for GUI apps on the desktop, really feels we went backwards from building great GUIs in 10 minutes using WYSIWYG to never really seeing the GUI until it compiles a bunch of XML and you somehow hope it will match what is needed.
Productivity is now wasted trying to make sure that buttons work when pressed or scratching the heads why box is not aligned with another programatically.
I try but continue to be enable of developing complex code in javascript.
It is so different when compared to Java/.NET where organizing large code blocks and making sure the pieces work well together is so easy. Very frustrating as there is so much that can be done on a browser but hampered by a development environment not much different from only using a text editor.
Ah, great, another Javascript tooling stack! Let's jump on board! I'll get straight to configuring, replacing and patching as soon as possible. Or maybe let's just don't. I'm tired, Boss.
The current dominant toolchain has been very stable for years now, and is much better than the mess of Webpack/Rollup/Brunch/Grunt/Gulp/Bower/Browserify/Parcel/Snowpack/Turbopack/Babel/etc/etc.
The only problem is that NOW there are too many separate different tools that aren't bundlers, so in addition to Vite one also has to configure Prettier, Eslint, Vitest, Typescript, Husky, Lint-Staged, Playwright, DotEnv, what else?
A unified toolchain might not replace each and every tool above, but it will simplify a lot of this process.
It will also simplify migrating between tools that it doesn't intend to replace, like migrating between Typescript and Typescript-Go. Etc.
This is already the reality in Go, Rust and other languages.
For NextJS, do you remember the runtime used for middlewares? What was this swc thing again?
It never ends. Every year new things are added and they never really replace anything, it's just one more thing to learn and maintain.
If every technology causes exactly 1 issue per week then you quickly spend 50% of your time fixing bugs that have absolutely zero to do with what your company is actually doing.
---- EDIT
And it doesn't even stop at issues. Every one of those technologies regularly goes through breaking changes. In the process, plugins are deprecated, new ones have completely different APIs. You want to upgrade one thing for a security fix, then you're forced to upgrade 10 other things and it spirals out of control and you've spent entire work days just sifting through change logs to change `excludeFile` to `excludedFile` to `includeGlob` to `fileFilter` to `streamBouncer` to I don't know what.
Because of Vite, there was a total of ZERO work from my side involved in changing from Rollup to Rolldown, or from babel to Esbuild to SWC.
The Rust/Go/uv model is the one to go. This is ONE step in this direction.
But many projects won't adopt it. There are so many competitors all with their own little ecosystems. So in the end, I'll still have to fix all the issues I fix right now PLUS the issues that Vite+ will add on its own.
The only chance I see for something like this actually working is if something like Node/NPM decided to add a default formatter, linter, and so on.
I haven't experienced nearly as much brittle build and dev tooling with other ecosystems, PHP or Python for example. Sure, they have their warts and problems and their fair amount of churn. But the sheer amount of JS tool and framework churn I experienced over the last few years was insane.
It might have cooled down somewhat by now, but I'm burned out. So reading about more churn to fix the churn just rubbed me the wrong way.
And as I wrote in another reply: of course other technologies are not without issues and have their churn and warts and problems, but the sheer amount of JS hype and tool and framework churn I experienced over the last few years was insane.
It might have cooled down somewhat by now, but I'm burned out. So reading about more churn to fix the churn just rubbed me the wrong way.
Opening up iOS or macOS app source code I haven't touched in years in the latest Xcode I just downloaded is a lot like that. There is anything from Swift errors to API changes to my build plist being invalid. And if I use any third-party tools, they probably don't work until I visit each one's latest readme.
And that's without even insisting on using the latest unstable tech (bun, biome, nextjs) like you did in your comment where you would expect that experience.
When these cynical takes were crafted, Angular, AngularJS, Aurelia, Backbone, Ember, Knockout, React and Vue were all competing for mindshare, with new members joining/leaving that group every month (anyone remember OJ.js and Google FOAM?) being compiled by traceur, 6to5, the Google Closure Compiler and others from (Iced) CoffeeScript, TypeScript, ES6, Atscript, Livescript and Closurescript. We had two fucking major package registries (npm and bower) for literally no reason and we’d use both in every project. We had like 4 ways of doing modules.
Today the stack has stabilized around React and Vue, with a couple perennial challengers like Suede in the background. Vite and Webpack have been the two main build toolchains for years now. We discarded all of those languages except for TypeScript (and new ES features if you want them, but there are fewer changes every year). There are a couple package management tools, but they’re cross-compatible-ish and all pull from the same registry.
So does the fact that it’s not NEARLY as bad as it was in 2015 mean that people in 2025 aren’t allowed to complain? Yes. Yes it does.
But just in the repos at work I deal with: yarn, npm, pnpm, bun, NextJS, biome, Prettier, ESlint, Vite, Vitest, Jest, Turbopack and esbuild. At least those are the things I remember right now. They all have their idiosyncracies and issues. They all require learning slightly different configs. Nothing is compatible with anything else. I can't take one library and `npm link` it into another because their toolchains are completely different. Then you have the whole topic of exporting TS vs. JS, different module types, module resolution, custom module resolution rules to accomodate for how some outdated plugin somewhere works.
And this really is just the tip of the iceberg.
I wish these folks the best and I hope I'm wrong and in a few years all of this is replaced by `vite lint` and `vite build`. But my past experience tells me that I'll simple add one more word to this list.
No, it doesn't mean people in 2025 can't complain. Hype based noise that gets in the way of people doing good work should be decried even if someone else somewhere (or somewhen) has it bad too.
This isn't a competition of badness.
Gates open. Come on in!
Didn't have to touch the webpack stuff either. Perhaps the issues you're having are due to something else?
The only two tools I like in the JS world is `yarn` and `prettier`. They're focused and do what they do well. But you add eslint and any of the others and their configuration is a full fledged turing machine. Even autotools feels nice in comparison to that mayhem.
I agree that ESLint can become a mess, which is why I'm ok with a new competitor that doesn't require the extra configuration. Sure: they're also replacing Prettier (unnecessary) but everyone can keep using Prettier and change if Oxfmt ever becomes better.
All the other tools here are either existing, or drop-in replacements.
This is like the comment version of the gish gallop.
But now there’s no unifying principles behind anything. No conventions. It’s just incantations to get thing working nicely together. It’s all preprocessing and post processing, code generation an what not.
Like, their decision to change configuration format in a way that breaks all and every plugin, tutorial, project in existence as a giant "fuck you" to the whole ecosystem and all web developers of the world - isn't that a reason good enough to never come back at this tool ever again?
Everything else is smooth and silk
Ohh, yes eslint 8 => 9 migration were also a big pain to handle.
Still not resolved. Their main recommended config is still not updated for 9.
You will certainly be able to compile it. You might have hard time updating it though.
The current version of webpack was released 5 years ago. You can keep using eslint 8 which was released 4 years ago. This really isn’t the constantly changing space it was in the 2010’s
Updating is a different matter, if you're using multiple tools, hundreds of packages and several configuration files.
Which is why a unified tool that doesn't require configuring 20 tools at once is a good idea IMO.
For all its warts and all the hate that it gets, at least autotools is stable and not introducing breaking changes.
What? That mess is still ongoing. Next.js for example (probably the most popular "out of the box" solution) technically uses SWC, but not quite, because it doesn't support `styled-components` so you need to use Babel for that. But wait, you might also need to use tailwind, and for that you'll need `postcss` which might also work with Babel with `babel-plugin-import-postcss` but not necessarily, could also just use it as a Next plugin, but that doesn't always[1] seem to work.
I don't think this mess will ever end unless we throw React/Vue, and all "reactive" frameworks in the dustbin and we'll get enough folks on board to re-invent the web starting from scratch. But no one really wants to do that (yet?), so even things like Bun or Deno will try to be as compatible as possible making continuous concessions that will lead to the ongoing spaghettification of toolchains.
[1] https://github.com/vercel/next.js/discussions/65625
In the C world, most tools are orthogonal. The compilers don't need to know about the design of the package managers and the task runners don't care about either. Yes, we have glue tooling, but that is also and external project and the dependencies are interfaces instead of monkey-patching each other.
"Vite+ will be source-available and offers a generous free tier."
I'm also a developer ( sometimes ) and we need to eat. However, for me these tools are too low of a level of he stack to monetize, so I'll probably stick with my collection of free tools.
Every for-profit is subject to being sold to someone with different plans. If the license is not fully open, it's not smart to expect the licensing terms to get worse.
I remember gulp/grunt saga, I remember webpack 5 saga and the most recent pain with eslint 8 → 9 is a final nail in the coffin of anything stable for web building.
This less a problem when your project is on the web though, because vite (and I think under the hood esbuild) transforms the imports gracefully.
Especially eslint with their decision to change configuration format in a way that breaks all and every plugin, tutorial, project in existence as a giant "fuck you" to the whole ecosystem and all web developers of the world.
You do know that Vite uses a lot of these behind the scenes right? Vite in general has much better defaults so that you don't have to configure them most of the time, but anything a bit out of the box will still require messing with the configs extensively.
Not like OPs Vite+ changes anything regarding that.
It used Rollup.
And it does so transparently, while the alternative, Rolldown, was being finished.
To me this sounds like a more than acceptable compromise in the interim.
Jesus, it's bad enough I can't leave a js project for 6 months without it starting to rot. Now my cynicism has to be updated too?
A big "Request early access" followed by a contact form at the top of the landing page is an instant redflag of vendor locking, who would ever want that?
Eventually you'll need to migrate away or cough up serious money. So yeah, not sure who'd go for this.
Mind you we use NX at the moment and that was quick and easy enough to set up with no major issues for years now, so I wonder what the USP of this tool is. We also use Vite in some projects in combination with NX so maybe this is mainly aimed at that.
I'm concerned that it erodes trust into vite and makes all the other open source maintainers contributing to /the commons/ asking some questions.
There is nothing really special about vite too. It's important, sure, but there is a lot of important open source projects that also need funding. Can all of them pull the same trick?
As for why? some people have very large codebase and prefers their developers to have better UX and are willing to pay for it. lower CI/CD server costs also directly translate to cost savings if you are Replit or stackblitz,
You may not like it, and that is ok. as individual developers are already benefitting from vite. and will get rolldown soon.
Are you affiliated with this project? Based on your comment history, you seem to be
Bun is also attempting it. Thye have made tremendous progress but they are also competing against node, and thus I don't expect to for bun to go mainstream.
However, despite the difficulties, I strongly believe that Vite+ can achieve it.
I strongly recommend all readers here to watch Vite documentary[0] that got released less than a day ago for vite's history and bacground of Vite+
[0] https://www.youtube.com/watch?v=bmWQqAKLgT4
The sestertius isn't what it used to be.
It was also unfortunately timed. When they started they were competing against webpack, but right around the start of the project compilers written in more performant languages like ESBuld and SWC start to take off and out compete Rome before it even got off the ground.
Even Vite+ is focused on vite and rolldown first, and formatter last.
But when SWC/Esbuild came around to prove how much faster and efficient the compilation can be when written in a more performant language like Rust or Go, all hype around Rome died because no one wanted another Javascript toolchain.
Turbopack is backed by Vercel who obviously have a lot more capital behind them, but it's also built on Rust and at least has the potential to compete.
1. This is a Vite rugpull, right?
2. What the hell do I migrate to to avoid the rugpull, now?
Lots of stuff builds on top of Vite, and this is an incredibly bad move from the Vite people.
https://vite.dev/team.html
https://voidzero.dev/team
Voidzero Inc owns the Vite trademark:
https://tsdr.uspto.gov/#caseNumber=98845059&caseSearchType=U...
As far as Astral goes, so far they've distributed all the tooling separately but it seems they might be going towards consolidation as well.
92 requests 22.6 MB transferred 25.2 MB resources Finish: 9.54 s DOMContentLoaded: 290 ms Load: 9.50 s
Vite: The Documentary https://www.youtube.com/watch?v=bmWQqAKLgT4
Hopefully Evan can pull this off and we have simpler initial setup.
Vite already has rolldown support in the current version, it's just in alpha/test stage.
https://vite.dev/guide/rolldown.html#how-to-try-rolldown
Nothing is keeping them to this plan other though, I hope they do follow through. That would make the graph on the page misleading in the other direction though as the speed feature would be included in the non plus version.
I want to also say I'm a happy vite user (and the other projects that team makes).
Vite+ is a tool similar to Rust Cargo or Go's toolchain that handles building (via Vite), testing, linting and formatting.
If anything, FE tooling starts looking like it moves to more sane place. Also Anthony Fu is cool
Me personally -- I would rather see it staying fully opensource and be funded through open collective or EU grants or something, like a lot of core stuff should. The fact this model doesn't work is sad.
I feel that something that the whole FE community gravitates to converge on should stay that way to prevent rag pulls and license dramas, otherwise it sabotages the process of converging on the same set of tools in the first place. Then the whole work will be wasted and eventually the project will die out and we get back to the same mess.
That being said, I get that the problem they are aiming to solve is a big pain point and whoever solves it -- they deserve money, but don't deserve to keep the whole community hostage to their whims indefinitely.
Then again, if people can pay 20 bucks a month for oracle lottery tickets selling infinite wisdom one token at time, why not pay actually helpful people doing great tools.
previously (i.e. before current viteconf), Evan had said that existing OSS (vite and below) will remain OSS. only newer tooling will be monetised
This is not good news.
Vite is basically replicating what one would expect as normal behaviour from the JDK + IDE has been doing since years. Javascript was meant to be readable for an open web, nowadays it is compiled into a puddle of text.
It is OK to reinvent the wheel, it just doesn't look much better than the old one.
Works great.
But the requirements of "modern" software are always changing. Sure, the static table might be enough, but then some business person says, "It sure would be nice if I could check a little box in the table row or assign this user here..." and now you're adding little JS hacks. Again, not impossible, but at a certain scale, the ability to have infinite access to client driven reactivity becomes a real business empowerment.
Given the interest in the JS working group to add reactive Signals to the core language, I suspect this will only become _more_ prevalent in the future. Maybe it will need less input from frameworks to do the same work and we can move back towards using built-in browser APIs, but the programming model itself works really well (so much so that SwiftUI uses a very similar reactive UI programming model).
Again, I don't disagree with your point, just at a certain scale, it becomes a huge hassle to maintain. If people are going to use these tools and frameworks anyway, it helps the entire web to make them more efficient.
It pains me that so many SaaS go for Next.js based SDKs, but at least it is the closest to Spring/Quarkus/ASP.NET in spirit.
Hot take but: it took 20 years for Next.js to catch up to 10% of WebForms offered.
But if people want whatever Next.js offers to build their copycat SaaS with shadcn/ui, so who am I to argue.
Productivity is now wasted trying to make sure that buttons work when pressed or scratching the heads why box is not aligned with another programatically.
It is so different when compared to Java/.NET where organizing large code blocks and making sure the pieces work well together is so easy. Very frustrating as there is so much that can be done on a browser but hampered by a development environment not much different from only using a text editor.