wilmoore / frontend-packagers Goto Github PK
View Code? Open in Web Editor NEWFront-End Package Manager Comparison
Home Page: git.io/_ZWfVA
Front-End Package Manager Comparison
Home Page: git.io/_ZWfVA
https://github.com/icflorescu/aspa-express
"ASPA-Express is an Express/Connect module to use web assets packaged by ASPA"
https://github.com/cujojs/curl CUjoJS Resource Loader
small, fast module and resource loader with dependency management. (AMD, CommonJS Modules/1.1, CSS, HTML, etc.)
Seems fairly accurate for volo's points, some small details:
On volo doing too much, I left this comment going more into that, but basically, creating a new project or downloading a dependency can both benefit from the github ID lookups and installs, so I really see them as the same thing. Similarly, it is useful to have some sort of makefile capability for setting up dependencies/new projects. It looks like component
also has something for this. I am open to limiting the scope of it though for volo.
In #1, @visionmedia mentioned:
jam / volo / ender and the twitter thing coming soon are unfortunately all nearly identical and don't really solve any new problem, pretty much the same as https://github.com/visionmedia/asset
I see volo and component to be very similar, except volo assumes the same conventions that an AMD loader might use for a convention-based project layout, so the loading of installed dependencies is easy with that type of loader, and the build step handled by something like r.js optimizer. It is a decoupled system that I also thinks fits in well with ES harmony modules, which will allow dynamic loading.
So, volo create
with a project that uses an AMD loader/builder gets whatever component may additionally add, particularly since many AMD loaders support loader plugins for things like text/html template loading. However, volo does not enforce a particular build philosophy on the runtime code, so still usable as a way to get code even if you do not use AMD or commonjs-style.
But these things are highly style driven. I'm hoping that if we get a good module support in ES harmony, then it will clear up some of these choices. My feeling right now: ES modules will behave at a high level similar to AMD, just without needing a function wrapper, and builds will not be required for doing front end dev.
component install --out dir
, though there's little reason to change this, it's just a directory name, that's like complaining about the ugly node_modules
. Having no registry is dramatically better for several reasons:
I agree with the build step sucking, that's definitely a personal subjective thing, I'd hate to every have to write AMD-style code
You can do component create mycomponent
to quickstart a component
Great Comparison, thanks ๐
I have some questions and ideas:
https://github.com/wilmoore/frontend-packagers#responsibilities
It's not clear to me what the meaning of these things are:
https://github.com/wilmoore/frontend-packagers#development-dependencies
I would like to add some features of component with a PR. In component you can even add local JS and CSS files for test environment, here is an example
https://github.com/wilmoore/frontend-packagers#package-contents
component even works if a module brings it's own require. For instance mocha doing this and it works in component. Maybe mocha can be used as a test, to verify if it's possible ^^
https://github.com/wilmoore/frontend-packagers#package-contents
What you think about to add fonts and images
and especially URL rewriting in CSS files?
Haven't used it much, but Ender seems to have much of the same functionality as well. I'll see if I could run through it and put together a PR.
This page claims that jam cannot be installed throug npm, which is not true. http://jamjs.org/docs
As an official author of bower, I would like to request a few changes to this document:
Custom installation path:
Package installation sources:
That's all for now :)
Thanks in advance
NPM is a front end package manager. It should be mentioned on this list! Everyone should publish their front end modules on npm!
it's trivial to describe any javascript package using package.json
IMHO, it should be noted that (for example) Bower is used in Grunt/Yoman. I'm sure other popular tools use a certain other package managers. Could help people decide on what to pick up; best to stay within an ecosystem if limited by time/resources.
Sorry don't mean to flood with requests ;) Thought you weren't maintaining then saw your last issue addition.
We are starting to out-grow the readme.md
format as noted by #25.
Webpack is a great browserify alternative, that is much easier to develop with and is more powerful.
Wouldn't it be nice to add a classification of ECMAScript-Harmony's modules in this repository?
Should now be:
There's SPM among Chinese JavaScript communities, which is somewhere between CommonJS and AMD:
http://spmjs.org/
http://cyj.me/why-seajs/
https://github.com/cmdjs/specification/blob/master/draft/module.md
https://github.com/seajs/seajs
http://docs.spmjs.org/en/
Adding 4+ new packagers will make things slightly more cramped ;)
Not sure if keeping inside the README.md is best (will have to pivot tables or switch to list), or turning it into a HTML doc is wisest.
Should be resolved before new packagers are added...
Since 0.5.0, bower supports local repositories. This is useful if people use a server to store the repos and access them by a shared folder.
Can this capability be added to the sources table?
Great comparison. Enjoyed reading it.
Maybe you wanna mention Composer, the PHP package manager. There is a plugin for composer which is handling front-end components. Here is the article: http://www.phpclasses.org/blog/package/8429/post/1-Using-Composer-to-Install-JavaScript-CSS-and-Images-Under-the-Web-Document-Directory.html.
Bower 1.x.x introduced a lot of performance improvements. Would it be possible to test it again and update the comparison table?
https://github.com/jaredhanson/deamdify
This module is a browserify plugin that will transform AMD modules into Node.js-style modules so that they can be included in browser-ified bundles.
With this transform in place, Node and AMD modules can be freely intermixed, and the resulting bundle can be used without the need for a separate loader such as RequireJS.
Not sure where this will fit in...
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.