4 ms·
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
by Sir_Cmpwn 8y ago
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".
- SOLAR_FIELDS 8y agoI 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?
- Rauchg 8y agoThe goal is to provide the experience that many other languages have, where you don’t configure anything. You just run “$tool build”
- Sir_Cmpwn 8y agoWebpack works with no configuration as of version 4.
- idle_zealot 8y agoGenerally $tool has a config file in the root of the project or similar. Webpack and other js compilers/bundlers are the same.
- Rauchg 8y agoThe goal is precisely to not just bundle, but incorporate important optimizations like the V8 Compile Cache (https://github.com/zeit/ncc/issues/51 https://github.com/zeit/ncc/issues/51), which is what inspired the project and name to begin with.
- Sir_Cmpwn 8y agoSeems like it'd be better as a webpack plugin. It's still not a compiler, by the way, nor a compiler collection, even with this feature included.
- peter-m80 8y agoIt is a compiler. Literally
- Rauchg 8y agoIt’s definitely possible to extract some internals as plugins, but not all currently. 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.
- iforgotpassword 8y agocat **.js > myprog.js
- Rauchg 8y agoNcc handles bundling `node_modules`. Your suggestion also introduces problems by not respecting commonjs module boundaries. (They’re akin to function scopes)