A minimal polyfill for native ES6 Promises that strictly adheres to the specification without extensions.
Native Promise Only is a polyfill for native ES6 Promises that implements the specification as closely as possible without any extensions. It provides a minimal, spec-compliant promise implementation for environments lacking native Promise support, ensuring promises remain immutable and trustworthy.
JavaScript developers working in environments without native ES6 Promise support who need a lightweight, strictly compliant polyfill without additional features or external state mutation risks.
Developers choose Native Promise Only for its strict adherence to the Promise specification, minimal footprint, and strong emphasis on preventing external mutation of promise state, ensuring reliable and predictable async behavior.
A polyfill for native ES6 Promises as close as possible (no extensions) to the strict spec definitions.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Passes all Promises/A+ tests and implements ES6 specification exactly, ensuring reliable and predictable async behavior as highlighted in the README.
Prevents external mutation of promise state, preserving trustability—a core design principle emphasized in the project's philosophy.
Focuses on being the smallest possible polyfill without extensions, reducing bloat and keeping the footprint minimal for projects.
Only patches the global Promise if it doesn't already exist, making it safe to include unconditionally without overwriting native implementations.
Due to the immutability trade-off, promises cannot be subclassed with ES6 'extends', limiting advanced use cases like custom promise types, as admitted in the Known Limitations section.
Does not include common extensions like .finally() or cancellation, forcing developers to handle complex async scenarios with only core spec functionality.
To generate the minified 'npo.js' file from source, users must run a build script, adding setup complexity compared to drop-in CDN solutions.