async icon indicating copy to clipboard operation
async copied to clipboard

async package should distribute both cjs and esm

Open dzearing opened this issue 3 years ago • 1 comments

There is no real need for async-es package. It ends up complicating async usage downstream especially for projects which emit both cjs and esm. And to complicate things, async-es has a main entry which points to esm (without indicating type: 'module'), so it can't be used for cjs scenarios.

Recommended:

Update the async package.json with:

  1. main pointing to commonjs. (this is only for backwards compatibility.)
  2. module pointing to esm. (this is only for backwards compatibility.)
  3. exports map explicitly listing the valid imports and the cjs/esm/d.ts files to resolve to.

dzearing avatar Nov 15 '22 20:11 dzearing

The ESM strategy for this module predates the main/module convention, and exports mapping. We certainly could set it up now though.

aearly avatar Aug 14 '23 00:08 aearly