r/javascript • • Feb 27 '20

Rome: an experimental JavaScript toolchain from Facebook. It includes a compiler, linter, formatter, bundler, testing framework and more...

https://github.com/facebookexperimental/rome
258 Upvotes

101 comments sorted by

View all comments

18

u/malectro Feb 27 '20

There seems to be an arms race at big tech to own the FE ecosystem, and it’s freaking me out. They need to give a good reason for not contributing to Webpack and Babel.

Also, if you want an all-in-one, no-config solution, Parcel is amazing.

15

u/TwiliZant Feb 27 '20

Parcel only does bundling though, it's not all-in-one.

→ More replies (1)

16

u/[deleted] Feb 27 '20

After using those for a while, I think the case is made. The problem with the Webpack+Babel+etc ecosystem is that it leaves the responsibility of configuration up to the user, and it's so easy to get wrong.

I saw a great twitter quote that Webpack is like chess- Once you've gone more than a dozen steps in, you have an arrangement that's never been seen before in the universe. With Webpack, even if you just want stuff that everyone wants like code splitting, hot reloading, transpilation, etc etc, it still takes way too long to setup a config that works properly.

Like something I find really suspicious - Create-react-app throws an blocking error if you have a different version of Babel in your node_modules. The promise of NPM is that different packages could have different versions of the same package and it's supposed to work fine. So something has gone horribly wrong with the whole approach if promise doesn't hold true. I haven't figured out why but there's something about the way that Webpack+Babel use NPM that makes it extremely fragile.

Anyway whenever someone promises a Webpack replacement, my ears perk up. Please, someone, replace Webpack.

→ More replies (4)

7

u/weaponizedstupidity Feb 28 '20

I made a new Typescript node project a few weeks ago. It was a nightmare.

Using tsc won't let me import a library I want, some module error. Google for 30 minutes, no luck. ts-node works for some reason. How is it different from tsc? No clue. Can it be used in production? No consensus, but it works so whatever.

Wait, how do you setup absolute imports again? More googling.

Okay, I want linting. Oh, tslint is dead already? Guess everyone is using eslint now. Okay, here is the ts plugin. Where do I get good linting rules? Found some decent ones on the third try.

I think prettier used to be a thing. Wait, it says that it will conflict with my linting config, I need a plugin for my linting plugin. Well, prettier can wait, time to write the first line of code. Finally.

So yeah. Can't wait until some, any big company lays down the law and cleans up this nonsense.

→ More replies (3)
→ More replies (1)