3 ms·
Webpack just makes me so sad. It is slow, arbitrary, inconsistent and unstable. Just like gulp and grunt. I seek a proper, fast, consistent, dependency driven J
by time4tea 9y ago
Webpack just makes me so sad. It is slow, arbitrary, inconsistent and unstable. Just like gulp and grunt.
I seek a proper, fast, consistent, dependency driven JavaScript build tool.
Won't somebody share their make rules for .js?
- paulddraper 9y agoI work on ~1000 lines of GNU make for a front-end build pipeline with dozens of projects with 600 kLOC TypeScript, 400 kLOC JavaScript, 80 kLOC LESS, and a variety of other things (formatting, i18n, Closure Compiler, Angular AOT, etc). Make is truly a timeless tool. Parallel, incremental, and declarative; it's a well architected tool based on correct principles. Everything else -- Ant, Maven, Grunt, Gulp -- are diappointments by comparison. Unfortunately, however, make wasn't made to compose well; you'll rarely see people (including me) publishing and re-using rules. If you want a general-purpose composable non-sucky build tool, check out Google Bazel (in beta): https://bazel.build/ https://bazel.build/ Blog post from Google Angular engineer, including thoughts on make and Bazel for front-end builds: https://medium.com/@Jakeherringbone/building-angular-apps-at-scale-813ef42add04 https://medium.com/@Jakeherringbone/building-angular-apps-at...
- seanwilson 9y ago> Unfortunately, however, make wasn't made to compose well; you'll rarely see people (including me) publishing and re-using rules I'm not saying Gulp, Grunt or Webpack will suit your needs but I find Makefiles quickly become very unreadable and hard to debug. Its syntax for loops, conditions and arithmetic is awkward and hard to remember and the behaviour of variables is confusing. At least with the others the syntax is decent and there's tons of plugins for common tasks. Why would Gulp for example not suit your use case?
- cat199 9y ago> Unfortunately, however, make wasn't made to compose well PMake (aka BSD Make) is actually fairly good in this regard- allowing for include libraries (so long as namespaces don't collide). Unfortunately it is not so well known...