All Projects → wikimedia → Oojs

wikimedia / Oojs

Licence: mit
Power for object oriented javascript libraries. This is a mirror from https://gerrit.wikimedia.org. See https://www.mediawiki.org/wiki/Developer_access for contributing.

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Oojs

Msgpack Javascript
MessagePack for JavaScript/TypeScript/ECMA-262 / msgpack.org[JavaScript]
Stars: ✭ 742 (+5200%)
Mutual labels:  javascript-library
Wykop Es6
Wykop.pl API library
Stars: ✭ 17 (+21.43%)
Mutual labels:  javascript-library
Validformbuilder
ValidForm Builder. Easy and safe XHTML 1.0 strict forms with validation!
Stars: ✭ 26 (+85.71%)
Mutual labels:  javascript-library
Chromesnifferplus
🔍 Sniff web framework and javascript libraries run on browsing website.
Stars: ✭ 788 (+5528.57%)
Mutual labels:  javascript-library
Gradientify
Create beautiful, animated gradients with ease. This JS library provides you with an easy-to-use API to create and put animated gradients wherever you want on your website.
Stars: ✭ 16 (+14.29%)
Mutual labels:  javascript-library
Jsmlt
🏭 JavaScript Machine Learning Toolkit
Stars: ✭ 22 (+57.14%)
Mutual labels:  javascript-library
Modernizr
Modernizr is a JavaScript library that detects HTML5 and CSS3 features in the user’s browser.
Stars: ✭ 25,103 (+179207.14%)
Mutual labels:  javascript-library
Termynal
⬛️ Lightweight and modern terminal animations using async/await
Stars: ✭ 858 (+6028.57%)
Mutual labels:  javascript-library
Thread
Simply, lightweight and easy multi-thread JavaScript library
Stars: ✭ 17 (+21.43%)
Mutual labels:  javascript-library
Graphicsjs
A lightweight JavaScript graphics library with the intuitive API, based on SVG/VML technology.
Stars: ✭ 937 (+6592.86%)
Mutual labels:  javascript-library
Trip.js
🚀 Trip.js is a plugin that can help you customize a tutorial trip easily with more flexibilities.
Stars: ✭ 789 (+5535.71%)
Mutual labels:  javascript-library
Infinite Ajax Scroll
Turn your existing pagination into infinite scrolling pages with ease
Stars: ✭ 804 (+5642.86%)
Mutual labels:  javascript-library
Psd Guides
📐 JS library to draw photoshop-like guides.
Stars: ✭ 22 (+57.14%)
Mutual labels:  javascript-library
Nativeshare
NativeShare是一个整合了各大移动端浏览器调用原生分享的插件
Stars: ✭ 751 (+5264.29%)
Mutual labels:  javascript-library
Waff Query
Lightweight DOM manager
Stars: ✭ 9 (-35.71%)
Mutual labels:  javascript-library
Drawflow
Simple flow library 🖥️🖱️
Stars: ✭ 730 (+5114.29%)
Mutual labels:  javascript-library
Elfi
An elegant state container for your JavaScript applications
Stars: ✭ 18 (+28.57%)
Mutual labels:  javascript-library
Flexsearch
Next-Generation full text search library for Browser and Node.js
Stars: ✭ 8,108 (+57814.29%)
Mutual labels:  javascript-library
Sketch
Just a HTML5 sketch-pad.
Stars: ✭ 9 (-35.71%)
Mutual labels:  javascript-library
React Spaces
React components that allow you to divide a page or container into nestable anchored, scrollable and resizable spaces.
Stars: ✭ 928 (+6528.57%)
Mutual labels:  javascript-library

npm David

OOjs

OOjs is a JavaScript library for working with objects.

Key features include inheritance, mixins and utilities for working with objects.

/* Example */
( function ( oo ) {
    function Animal() {}
    function Magic() {}
    function Unicorn() {
        Animal.call( this );
        Magic.call( this );
    }
    oo.inheritClass( Unicorn, Animal );
    oo.mixinClass( Unicorn, Magic );
}( OO ) );

Quick start

This library is available as an npm package! Install it right away:

npm install oojs

Or clone the repo, git clone https://phabricator.wikimedia.org/diffusion/GOJS/oojs.git.

ECMAScript 5

OOjs requires a modern ECMAScript 5 environment. It is not necessarily compatible with ES3 engines (such as for IE 6-8). For ES3 environments, the old 1.x releases are available but not recommended.

jQuery

If your project uses jQuery, use the optimised oojs.jquery.js build instead.

This build assumes jQuery is present and omits various chunks of code in favour of references to jQuery.

jQuery 3.0.0 or higher is required.

Versioning

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/.

Bug tracker

Found a bug? Please report it in the issue tracker!

Release

Release process:

$ cd path/to/oojs/
$ git remote update
$ git checkout -B release -t origin/master

# Ensure tests pass
$ npm install-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 on History.md
$ git log --format='* %s (%aN)' --no-merges --reverse v$(node -e 'console.log(require("./package.json").version);')...HEAD
$ 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
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].