This just looks like a bundler. The thing about gcc, the name you're aping here, is that it's a collection of compilers. This looks like neither a compiler nor a collection of them.
As far as I can tell this seems to be approximately 2,000 lines of JavaScript (half of which is tests) that wires together existing tools in an rather un-novel way. Or, in other words: an ad for "zeit".
I thought the same when I read the article. It sounds like it’s just a wrapper around webpack. Why wouldn’t I just use webpack aside from this tool being marginally faster? Is there something I’m missing here? Couldn’t we just take their improvements and implement them in webpack?
The goal is precisely to not just bundle, but incorporate important optimizations like the V8 Compile Cache (https://github.com/zeit/ncc/issues/51), which is what inspired the project and name to begin with.
Ncc handles bundling `node_modules`. Your suggestion also introduces problems by not respecting commonjs module boundaries. (They’re akin to function scopes)
I will definitely give ncc a try. Our published npm artifacts on Artifactory are big, mainly because we are forced due to company policies to bundle node_modules into them. Npm installing them on our on premise instances are the main bottleneck of the deployment process.
if you can use `npm ci` closer to the release pipeline that can help. As will running SSD/NVME on the build/release server and zipping for transfer to/from artifact servers.
Where's the compiler or even the collection of compilers in this? See this is why I'm sick of web dev, another project by "developers" who don't even know what a compiler is and on top of this name it ncc just to make it sound more important, lol.
One of the things we're going through on our app right now is react-loadable style per-component bundling. The analogy would be to building .so files with GCC. Do you have any plans for ncc to address that use case?
As other people mentioned before, the name is misleading. This project's analogy is closer to a linker than a compiler collection. Is this emitting any compiled code at all or just bundling functions? What is the roadmap for this project?
22 comments
[ 3.3 ms ] story [ 49.7 ms ] threadAs far as I can tell this seems to be approximately 2,000 lines of JavaScript (half of which is tests) that wires together existing tools in an rather un-novel way. Or, in other words: an ad for "zeit".
It would make more sense as a collection of plugins, and perhaps exposed as a preset.
But the intent is to precisely remove the extra setup, when all you need to do is publish your Node.js codebase as a single file.
https://news.ycombinator.com/newsguidelines.html
One of the things we're going through on our app right now is react-loadable style per-component bundling. The analogy would be to building .so files with GCC. Do you have any plans for ncc to address that use case?