A library for building richly interactive web applications.
YUI is a free, open source JavaScript and CSS framework for building richly interactive web applications. YUI is provided under a BSD license and is available on GitHub for forking and contribution.
This is the active working source tree for YUI 3. It contains work in progress toward the next YUI 3 releases and may be unstable.
We encourage you to use the latest source for evaluation purposes, testing new features and bug fixes, and to provide feedback on new functionality. Please refer to the "Latest Production Release" link above if you're looking for the latest stable release of YUI recommended for production use.
If you plan on contributing to YUI, please join and monitor the "Contributor Mailing List" listed above. Information about milestones and tree closures will be made available there.
YUI's development happens on five main branches. The following describes what each of these code branches represents:
live-docs: Represents the latest GA release of YUI, plus any documentation-only updates. Any tweaks or additions to the docs for the latest release happen on this branch, and they are reflected on the website.
master: (Read-only) Contains everything in
live-docs, plus code changes that will go into the next YUI release. The code changes in
masterare either bug fixes or small changes which should not break API compatibility. Patch releases will be cut from this branch; e.g. 3.6.x. All code in this branch has fully passed all unit tests and should be stable.
3.x: (Read-only) Represents the next major YUI release; e.g. 3.7.0. This is an integration branch which contains everything in
master, plus larger code changes which will go into a future YUI release. The changes in
3.xrequire a minor version increment before they are part of release, e.g., 3.7.0. Preview Releases will be cut from this branch for developers to test and evaluate. All code in this branch has fully passed all unit tests and should be stable.
dev-masterand
dev-3.x: Current working branches containing code that has not been through the CI process. Developers check their changes in to these integration branches for the automated testing system to validate. Once they are validated, the code is merged into
masterand
3.xrespectively. Never check in to
masteror
3.xdirectly.
release-3.x.x: Short-lived release branches where code checkins are carefully managed for extensive testing and release deployment.
The YUI source tree includes the following directories:
build: Built YUI source files. The built files are generated at development time from the contents of the
srcdirectory. The build step generates debug files (unminified and with full comments and logging), raw files (unminified, but without debug logging), and minified files (suitable for production deployment and use).
srcRaw unbuilt source code (JavaScript, CSS, image assets, ActionScript files, etc.) for the library. Beginning with YUI 3.4.0, the
srcdirectory also contains all module-specific documentation, tests and examples. All modifications to the library and its documentation should take place in this directory.
git checkout -b myfeature upstream/master --no-track
live-docs,
dev-master, or
dev-3.xbranch for review.
All changes should continue to be made on the feature branch; that way the pull request you submit will automatically update to include them. Make sure to keep the feature branch updated with the latest changes from master, so that they don't diverge during your development process.
git checkout -b myfeature dev-master
dev-branch and not
masteror
3.x.
To build YUI components install Shifter (
npm -g install shifter) and then simply run
shifterin that components directory.
Shifter also allows you to rebuild the entire YUI src tree:
cd yui3/src && shifter --walk