OOjsUI
Object-Oriented JavaScript – User Interface
|
  
OOjs UI is a modern JavaScript UI toolkit for browsers. It provides a library of common widgets, layouts and windows that are ready to use, as well as many foundational classes for constructing custom user interfaces. The library was originally created for use by VisualEditor, which uses it for its entire user interface, and is now completely independent, and more useful and convenient for other use cases.
This library is available as an npm package! Install it right away:
npm install oojs-ui
If you don't want to use npm, you can:
git clone https://git.wikimedia.org/git/oojs/ui.git
.$ npm install -g grunt-cli
$ npm install
/demos
by executing:$ npm run-script demos
We use the Semantic Versioning guidelines as much as possible.
Releases will be numbered in the following format:
<major>.<minor>.<patch>
For more information on SemVer, please visit http://semver.org/.
Found a bug or missing feature? Please report it in the issue tracker!
Release process:
$ cd path/to/oojs-ui/
$ git remote update
$ git checkout -B release -t origin/master
Ensure tests pass
$ npm install && composer update && npm test
Avoid using "npm version patch" because that creates
both a commit and a tag, and we shouldn't tag until after
the commit is merged.
Update release notes
Copy the resulting list into a new section at the top of History.md and edit
into five sub-sections, in order:
* Breaking changes
* Deprecations
* Features
* Styles
* Code
$ git log –format='* s (aN)' –no-merges –reverse v$(node -e 'console.log(require("./package.json").version);')...HEAD | grep -v "Localisation updates from" | sort
$ edit History.md
Update the version number
$ edit package.json
$ git add -p
$ git commit -m "Tag vX.X.X"
$ git review
After merging:
$ git remote update
$ git checkout origin/master
$ git tag "vX.X.X"
$ git push –tags
$ npm publish