Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time
Promises/A+ logo

Aye, promise!

ayepromise is a teeny-tiny promise library. It promises to pass the Promises/A+ 1.1 Compliance Test Suite.

NPM version

Supports modern browsers (i.e. IE > 8).

Why yet another promise library?

ayepromise wants to be as small as possible (~180 LOC, ~1200 bytes minified), staying compatible to Q while fully implementing the spec. It's licensed under WTFPL and/or BSD.

ayepromise tries to be fully compatible with kriskowal's Q in such a way that you can always replace ayepromise with Q. (There's a catch: ayepromise tries to strictly follow Promises/A+ 1.1 and will differ where Q does not.) It will not however try to implement anything close to the full feature set. Check test/CompatibilitySpecRunner.html to see ayepromise's test suite executed against Q.

Build Status

Run the test suite

For the browser, first install dependencies via npm install and bower install and then open test/SpecRunner.html.

For NodeJS install dependencies via npm install and run npm test. This includes the Promise/A+ Compliance Test Suite.