Closed DamonOehlman closed 11 years ago
Oh, and if anyone wants a list of existing solutions with my opinion on those then let me know and I'll open the can of worms...
I would like you to open the can.
Fine. But be aware that there is no going back... I'll outline the options in this comment (and edit it in parts). Additionally, other folks should feel free to contribute comments to talk about other options also. Additionally, I'll cover these tools from a somewhat chronological perspective (i.e. from the point I started looking and discovering to now).
In a subsequent comment I'll outline the killer features from each that I think should be incorporated in the "one tool to rule them all"...
Browserify is an interesting beast and while there are parts of the approach I'm not a fan of (shimming out Node specific libraries for the browser) you have to give it credit, it's a tool that works. Browserify is a good choice for anyone who spends more time in Node than anything else, and also tends to think that AMD as a pattern is not for them.
https://github.com/substack/node-browserify
require
shim that correctly resolves those calls back to code within a single combined JS file for use in the browser.require('fs')
don't cause errors.https://github.com/component/component
http://twitter.github.com/bower/
When it comes to writing and consuming modules for the browser, we are in crisis. It's definitely far from being a simple process and while I believe the answer lies in tooling, it's definitely not in the quantity of tooling but rather the quality that matter.
Don't get me wrong, some of the tools that have been created have been well engineered, but there really is no tool that I would look to for solving some of the package management woes I have experienced when building JS-centric web applications for the browser.
Additionally, the sheer number of tools that we have been provided with that really "don't solve the problem" is quite astounding. This makes picking a tool for someone exploring options for improved clientside app builds an incredibly daunting task. So now we have two problems:
It feels like another AMD vs CommonJS discussion / fracture, but possibly worse :/