matthew-andrews/denodeify

Another polyfill choice

Closed this issue · 12 comments

Just a suggestion: you might consider listing/including Native Promise Only as a polyfill choice. It's 1.3k and fully Promises/A+ compliant.

Done 😄

Hmm oops that's not actually testing it properly

OK - I think now it'll actually test properly

Awesome, thanks! :)

Thank you for letting me know about your project! Do you know of any others I could list?

There's a huge list of "promise implementations" here: http://promisesaplus.com/implementations

But, very few of these qualify IMO as "polyfills", because most of them have different namespaces and most of them also extend beyond the spec (which again IMO disqualifies as a polyfill in the strict sense). Note that all of these listed are "Promises/A+" compliant, but that's not at all the same thing as being ES6 spec compliant. ;-)

One clearly valid option to list is the reference implementation: https://github.com/domenic/promises-unwrapping/tree/master/reference-implementation

I've raised an issue for adding @domenic's here: #3. Thank you @getify ! :)

Another polyfill for Promise is in: https://github.com/es-shims/es6-shim The problem is it isn't standalone, so you have to pull in the whole thing to test. But... it's a good project so it's probably worth listing as a polyfill choice. +@ljharb

Please do list it; it's 100% spec-compliant, which some people may be interested in. It's also useful to specify whether a Promise implementation modifies the global environment automatically or not.

@ljharb - es6-shim has been added but as per your 2nd piece of feedback I'm not sure this module is the right place to document whether each polyfill auto-adds to global scope.

Maybe we could ask someone from promiseaplus.com if they'd be up for a new list to be made (a subset of http://promisesaplus.com/implementations) that lists whether they auto add to global scope and whether each lib is ES6 compliant or not?

Or maybe just a new column with a tick or not would be sufficient