resolve icon indicating copy to clipboard operation
resolve copied to clipboard

Support a promise API

Open SimenB opened this issue 5 years ago • 2 comments

(Sorta surprised no-one has opened an issue about this, sorry if one exists and my searching is just bad (there is sorta #151, but this issue is about native promise support, not promisification)).

Node's new ESM resolution supports promises, but not callbacks. If we wanna use resolve to implement a custom linker, a custom loader hook or the recently landed import.meta.resolve we'd need to manually wrap resolve in a promise - it would be lovely if resolve natively worked with promises out of the box. I realise these APIs are behind experimental flags (or not even in any release), but I don't think there's any reason to believe the functionality these APIs provide will not be available whenever the APIs stabilize, and that they won't be based on promises.

While one can promisify resolve manually, the problem is a bit extrapolated when considering the pluggable FS operations (recent versions of Node also ship with a promise based FS API). Based on #151 util.promisify doesn't work out of the box either.

If accepted, I'm happy to work on the implementation.

SimenB avatar Feb 05 '20 10:02 SimenB

Sounds good @SimenB! Although, what exactly are you suggesting? Converting existing methods or adding another one?

pingrishabh avatar Nov 30 '20 21:11 pingrishabh

https://github.com/browserify/resolve/pull/224#issuecomment-712640273 seems most likely (so a new API)

SimenB avatar Nov 30 '20 22:11 SimenB