A small, performant Promises/A+ compliant JavaScript promise library.
lie is a small, performant JavaScript promise library that implements the Promises/A+ specification. It provides a standards-compliant alternative to native promises, useful for environments lacking consistent promise support or requiring a lightweight implementation. The library includes a polyfill for adding Promise globally and handles unhandled rejections in Node.js.
JavaScript developers working in environments without native ES6 promises, such as older browsers or specific Node.js versions, or those needing a minimal, spec-compliant promise library for projects like browserify bundles.
Developers choose lie for its strict Promises/A+ compliance, small footprint, and performance, making it a reliable drop-in replacement or polyfill that avoids bloat and ensures consistent promise behavior across platforms.
A basic but performant promise implementation.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Adheres strictly to the Promises/A+ 1.1 specification and implements the ES6 Promise API, ensuring reliable and standardized promise behavior across different JavaScript environments.
Designed to be minimal and fast, originating from forks of promiscuous and ayepromise, making it ideal for reducing bundle size in projects like browserify builds.
Includes a polyfill version that adds Promise to the global scope only if not already defined, preventing conflicts in environments with mixed promise implementations.
In Node.js, it emits an 'unhandledRejection' event for uncaught rejections, aligning with io.js/Node.js behavior to improve error debugging and handling.
Lacks newer JavaScript promise features such as Promise.finally or Promise.any, which are commonly used in modern development and require additional polyfills or workarounds.
As a lightweight library, it doesn't offer advanced utilities like promise cancellation, profiling, or custom extensions found in more comprehensive alternatives, limiting its flexibility for complex use cases.
While performant, it may introduce slight overhead compared to native promises in up-to-date runtimes, as it's a JavaScript implementation rather than a built-in engine optimization.