Maybe this is intuitive to JS devs, but what are the advantages of "zero third-party dependencies" and "being a comprehensive tool for the processing of anything JS related" or any of the other selling points of Rome? It seems like an impressive project, but it's not obvious to me what its actual benefits are.
Rome: An experimental JavaScript toolchain
31–40 of 96 posts
Re: Rome: An experimental JavaScript toolchain
#32Maybe this is intuitive to JS devs, but what are the advantages of "zero third-party dependencies" and "being a comprehensive tool for the processing of anything JS related" or any of the other selling points of Rome? It seems like an impressive project, but it's not obvious to me what its actual benefits are.
Real problems this causes:
1. security surface area. Running npm audit in many large projects is going to give you scary results. And that's just the known advisories.
2. 3rd-party support. How many of the 1000+ packages you've ended up pulling into your node_modules will continue to be actively maintained throughout the life of your project, what stability pains will dead subdependencies cause, and what will the long-term maintenance cost of rooting them out (and finding equivalent replacements) be? Will it cause forced deprecation of features in your app?
So with all the above, low-dependency/no-dependency projects are attractive. Many go to extreme and repeat the old mistakes of NiH. Rome seems to me to be this extreme kneejerk (and liable to some serious lock-in).
The sensible thing here is moderation: just choose dependencies carefully.
Re: Rome: An experimental JavaScript toolchain
#33It says "No Third Party Dependencies" but 95% of the code is written in TypeScript, so it isn't even JavaScript and the entire thing is built on top of one big dependency. Would not be a problem if it didn't sell itself as "zero third party dependencies" while being built on top of one that is not even JavaScript... Might as well built the tool in any other language that would have been better for the task.
typescript is just a language, how is that a dependency? by that logic, nothing is dependency free.
A similar comparison would be shipping a program to end users, saying that 'no dependencies required', but instead of giving them a binary to run, you hand them a c++ file. I think everyone would agree that a C++ compiler is clearly a required dependency in that case.
Re: Rome: An experimental JavaScript toolchain
#34Re: Rome: An experimental JavaScript toolchain
#35I don't know if want this or if I really just want create-react-app for things that aren't react. A lot of tools do things Good Enough (which everyone disagrees on and will always fragment the ecosystem). But I do loathe setting up all the plumbing from scratch.
Re: Rome: An experimental JavaScript toolchain
#36What does it compile JavaScript to? WebAssembly or machine code or something else?
Re: Rome: An experimental JavaScript toolchain
#37Re: Rome: An experimental JavaScript toolchain
#38Maybe this is intuitive to JS devs, but what are the advantages of "zero third-party dependencies" and "being a comprehensive tool for the processing of anything JS related" or any of the other selling points of Rome? It seems like an impressive project, but it's not obvious to me what its actual benefits are.
It's not intuitive to me as a JS dev too... Are you guys gonna re-implement typescript for example? Where does 'no deps' line get drawn?
But everything else is on track to be reimplemented within Rome.
Re: Rome: An experimental JavaScript toolchain
#39Re: Rome: An experimental JavaScript toolchain
#40It says "No Third Party Dependencies" but 95% of the code is written in TypeScript, so it isn't even JavaScript and the entire thing is built on top of one big dependency. Would not be a problem if it didn't sell itself as "zero third party dependencies" while being built on top of one that is not even JavaScript... Might as well built the tool in any other language that would have been better for the task.
typescript is just a language, how is that a dependency? by that logic, nothing is dependency free.