4 ms·
Node.js and the community behind it are really great. It helped me put bread on my table for several years now. I remember I passed through all the "trends" ar
by drinchev 9y ago
Node.js and the community behind it are really great. It helped me put bread on my table for several years now.
I remember I passed through all the "trends" around it and I'm super impressed how fast the ecosystem is evolving.
From browserify to webpack, from grunt to gulp, from coffee-script to typescript. It's never been so exciting.
- beaconstudios 9y agonow all we need is a code-over-configuration replacement for webpack (like gulp was for grunt) and the build system will have evolved from a mess of JSON to a programmable compiler ecosystem. That's pretty cool.
- iamleppert 9y agohaven't you heard of browserify?
- beaconstudios 9y agoI have, but it's not what I'm talking about. See the comment above re. gulp.
- drinchev 9y agoI forgot to mention that these days most of the projects that I see use a combination of webpack and npm scripts. I guess gulp will be obsolete in the next years.
- rmrfrmrf 9y agoI still think Grunt and Gulp have a place outside of npm scripts for build automation, deployment, and automation of one-off tasks. The fact that Gulp is fully concurrent by default makes IO and environment setup lightning fast. With Electron cross-platform builds especially it takes a lot of the headache out of trying to shim every possible platform configuration into a one-liner.
- chatmasta 9y agoYou can write webpack “config” in JavaScript. It’s already programmable. Not to mention every loader is programmed... I’m really not sure what you’re getting at here.
- beaconstudios 9y agohave you used gulp? It allows you to code up a processing pipeline in a pretty intuitive way. Webpack, even though its config is written in JS, is basically magic JSON files. Gulp offers near-total control over the build process which also helps with optimising things like build speed.
- chatmasta 9y agoPerhaps there is a reason webpack has surpassed gulp in terms of popularity. Build systems have historically favored declarative configuration over programmability. See Makefiles for an example. I’m not saying that’s necessarily the right approach, but it does seem like declarative configuration is a natural way to define a build system. That said, I wholeheartedly agree there is much room for improvement with webpack.
- beaconstudios 9y agoI'd argue that Makefiles are a good argument in favour of programmability, compared to something like Maven which is configurable. Gulp doesn't really play in the same league as webpack as it's not really got the ecosystem, nor is it optimised for, web builds. Declarative config definitely seems to be winning out in terms of popularity but the more configurable you need your build to be, the more the config ends up replicating a programming language anyway - or you end up being locked into restrictive rulesets and patterns, like webpack does.
- alayek 9y agoThis is an apple to orange comparison. Gulp is a tool that lets you decide what the build process should look like. Webpack is a tool where you define entry points, split points etc., and what you finally need. Based on that webpack decides how to go about the build. Most of what Gulp does, can be replaced with NPM scripts.
- mnutt 9y agoBroccoli (https://github.com/broccolijs/broccoli https://github.com/broccolijs/broccoli) has a really nice concept of "trees" that can be split or merged and composed together.
- amigoingtodie 9y agoWhat is your current toolchain in the node ecosystem?
- drinchev 9y agoDepends on the project, mostly a combination between - npm scripts ( mocha, nyc, tsc, etc... ) - webpack - gulp