diff --git a/implementations.md b/implementations.md new file mode 100644 index 0000000..8126b8e --- /dev/null +++ b/implementations.md @@ -0,0 +1,101 @@ +# Conformant Implementations + +There are many conformant implementations of Promises/A+. Here are the ones we know about and recommend. Note that an implementation's conformance is determined by it passing the <a href="https://github.com/promises-aplus/promises-tests">test suite</a>. + +Conformant implementations are encouraged to include <a href="https://rawgithub.com/promises-aplus/promises-spec/master/logo.svg">the Promises/A+ logo</a> in their README files with a link to the specification, using code like the following: + +```html +<a href="http://promises-aplus.github.com/promises-spec"> + <img src="http://promises-aplus.github.com/promises-spec/assets/logo-small.png" + alt="Promises/A+ logo" title="Promises/A+ 1.0 compliant" align="right" /> +</a> +``` + +<table> + <thead> + <tr> + <th>Implementation</th> + <th>Compliant Versions</th> + <th>Description</th> + </tr> + </thead> + <tbody> + <tr> + <td><a href="https://github.com/briancavalier/avow">avow</a></td> + <td>≥ 1.0</td> + <td>Example Promises/A+ implementation. Simple, tiny, fast, fully async</td> + </tr> + <tr> + <td><a href="https://github.com/CodeCatalyst/promise.coffee">CodeCatalyst/promise.coffee</a></td> + <td>≥ 1.0</td> + <td>Promises/A+ compliant implementation in object-oriented CoffeeScript</td> + </tr> + <tr> + <td><a href="https://github.com/kaerus/promise.js">kaerus/promise.js</a></td> + <td>≥ 0.1.1</td> + <td>A Promises/A+ library, originally developed for the ArangoDB client</td> + </tr> + <tr> + <td><a href="https://github.com/novemberborn/legendary">legendary</a></td> + <td>≥ 0.1.0</td> + <td>Dabbling with promises. It’ll be legendary</td> + </tr> + <tr> + <td><a href="https://github.com/aheckmann/mpromise">mpromise</a></td> + <td>≥ 0.0.1</td> + <td>A Promises/A+ conformant implementation, written for mongoose</td> + </tr> + <tr> + <td><a href="https://github.com/eclipse/orion.client/blob/master/bundles/org.eclipse.orion.client.core/web/orion/Deferred.js">Orion Deferred</a></td> + <td>≥ ???</td> + <td>???</td> + </tr> + <tr> + <td><a href="https://github.com/timjansen/PinkySwear.js">PinkySwear.js</a></td> + <td>≥ 0.0.1</td> + <td>Promises/A+ compliant in less than 400 bytes</td> + </tr> + <tr> + <td><a href="https://github.com/satchmorun/promeso">promeso</a></td> + <td>≥ 0.0.3</td> + <td>A little Promises/A+ implementation</td> + </tr> + <tr> + <td><a href="https://github.com/flams/emily/wiki/Promise">promesse</a></td> + <td>≥ 1.3.1</td> + <td>Emily's Promise/A+</td> + </tr> + <tr> + <td><a href="https://github.com/RubenVerborgh/promiscuous/">promiscuous</a></td> + <td>≥ 0.1.0</td> + <td>A minimal and fast promise/deferred implementation</td> + </tr> + <tr> + <td><a href="https://github.com/kriskowal/q">Q</a></td> + <td>≥ 0.8.12</td> + <td>A tool for making and composing asynchronous promises in JavaScript</td> + </tr> + <tr> + <td><a href="https://github.com/tildeio/rsvp.js">rsvp.js</a></td> + <td>≥ 1.1</td> + <td>A lightweight library that provides tools for organizing asynchronous code</td> + </tr> + <tr> + <td><a href="https://github.com/then/promise">then/promise</a></td> + <td>≥ 1.2</td> + <td>Bare bones Promises/A+ implementation</td> + </tr> + <tr> + <td><a href="https://github.com/dfilatov/jspromise">vow</a></td> + <td>≥ 0.0.6</td> + <td>Promises/A+ implementation</td> + </tr> + <tr> + <td><a href="https://github.com/jharding/yapa">yapa</a></td> + <td>≥ 0.2.0</td> + <td>Yet another Promises/A+ implementation</td> + </tr> + </tbody> +</table> + +Feel free to send a pull request to get yourself on this list!