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


NPM version Build status Test coverage Dependency Status License Downloads

As Node 0.10 becomes outdated and iojs has been merged into Node.js, this module is now relevant to only a few platforms. Thus, this module is considered obsolete.

Use either bluebird or the native Promise implementation. If no implementation is found, an error will be thrown:

var Promise = require('native-or-bluebird');

The goal of this library is to be able to eventually remove this line from your code and use native Promises, allowing you to to write future-compatible code with ease. You should install bluebird in your libraries for maximum compatibility.

If you do not want an error to be thrown, require() the Promise implementation directly. If no implementation is found, undefined will be returned.

var Promise = require('native-or-bluebird/promise');
if (Promise) // do stuff with promises