Alexandro.Net

Version 1.0.0

@stackline/es6-promise

A lightweight library that provides tools for organizing asynchronous code

Independent maintenance of es6-promise 4.2.8. Original authors and licenses are retained.

Installation

# Preserve existing imports with an npm alias
npm install es6-promise@npm:@stackline/es6-promise@1.0.0
# Or use the scoped package name in your imports
npm install @stackline/es6-promise@1.0.0

Node.js: See compatibility notes. Read the compatibility and maintenance notes before migrating.

Usage and API

The reference below may retain upstream package names. Use the alias installation above to run those imports with this Stackline release.

@stackline/es6-promise

Independent maintenance fork of es6-promise@4.2.8. Original API, module format, runtime dependency ranges, and supported Node.js engines are preserved.

npm install @stackline/es6-promise
# Preserve existing imports with an npm alias:
npm install es6-promise@npm:@stackline/es6-promise@1.0.0

See UPSTREAM.md for the exact source and issue review, and CHANGELOG.md for focused maintenance changes. Development and release tooling runs on Node.js 24; that does not change the library runtime requirement.

Maintained by Stackline. Issues · npm.

Upstream documentation

ES6-Promise (subset of rsvp.js) Build Status

This is a polyfill of the ES6 Promise. The implementation is a subset of rsvp.js extracted by @jakearchibald, if you're wanting extra features and more debugging options, check out the full library.

For API details and how to use promises, see the JavaScript Promises HTML5Rocks article.

Downloads

CDN

To use via a CDN include this in your html:

<!-- Automatically provides/replaces `Promise` if missing or broken. -->
<script src="https://cdn.jsdelivr.net/npm/es6-promise@4/dist/es6-promise.js"></script>
<script src="https://cdn.jsdelivr.net/npm/es6-promise@4/dist/es6-promise.auto.js"></script> 

<!-- Minified version of `es6-promise-auto` below. -->
<script src="https://cdn.jsdelivr.net/npm/es6-promise@4/dist/es6-promise.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/es6-promise@4/dist/es6-promise.auto.min.js"></script> 

Node.js

To install:

yarn add es6-promise

or

npm install es6-promise

To use:

var Promise = require('es6-promise').Promise;

Usage in IE<9

catch and finally are reserved keywords in IE<9, meaning promise.catch(func) or promise.finally(func) throw a syntax error. To work around this, you can use a string to access the property as shown in the following example.

However most minifiers will automatically fix this for you, making the resulting code safe for old browsers and production:

promise['catch'](function(err) {
  // ...
});
promise['finally'](function() {
  // ...
});

Auto-polyfill

To polyfill the global environment (either in Node or in the browser via CommonJS) use the following code snippet:

require('es6-promise').polyfill();

Alternatively

require('es6-promise/auto');

Notice that we don't assign the result of polyfill() to any variable. The polyfill() method will patch the global environment (in this case to the Promise name) when called.

Building & Testing

You will need to have PhantomJS installed globally in order to run the tests.

npm install -g phantomjs

Upstream issues and maintenance review

Upstream review

Source: es6-promise@4.2.8, 1e68dce6f674e5613f4a1797aedd55dc70ac1dcb. Published upstream source files match the integrity-verified npm tarball. Generated distributions are rebuilt using current development tools; original library source, license and API contracts are retained.

Issue review (2026-09-29)

No upstream maintainer was contacted. These are scoped compatibility decisions rather than claims that every issue was solved.

Verification

Run npm ci --ignore-scripts, npm run build, npm test, npm run test:package, and npm audit --audit-level=low. CI and CodeQL must pass before the exact built tarball is published with provenance.

The original scheduler and Promise extension suites execute unchanged with a current Mocha runner. The obsolete PhantomJS/Ember test wrapper is replaced by direct Node tests and a real Chromium auto-polyfill check. The historical PhantomJS-specific Promises/A+ wrapper is not represented as a newly executed certification suite.

Release changes

Stackline changes

1.0.0

Master

4.2.5

4.2.4

4.2.3

4.2.2

4.2.1

4.2.0

4.1.0

4.0.5

4.0.4

4.0.3

4.0.2

4.0.0

3.3.1

3.3.0

3.2.2

3.2.1

3.2.0

3.1.2

3.1.0

3.0.2

3.0.1

3.0.0

2.3.0

2.2.0

2.1.1

2.1.0

2.0.0

1.0.0

Release files and references

Package bytes, npm provenance and the immutable GitHub release were verified for this version. Security checks describe the reviewed release; documented compatibility risks and upstream reports are not blanket claims of resolution.