Skip to content
This repository has been archived by the owner on Oct 11, 2022. It is now read-only.

[SUGGESTION] Use a standard CommonJS export #28

Open
WaldoJeffers opened this issue Aug 11, 2019 · 1 comment
Open

[SUGGESTION] Use a standard CommonJS export #28

WaldoJeffers opened this issue Aug 11, 2019 · 1 comment

Comments

@WaldoJeffers
Copy link
Contributor

Currently, callback-to-async-iterator is written using ES6 modules, and transpiled to CommonJS using babel-plugin-transform-modules-commonjs.

The export in the result file in the dist folder looks like this:

exports.default = callbackToAsyncIterator;

which means in a standard CommonJS environment, you have to write something like this to use it:

const callbackToAsyncIterator = require('callback-to-async-iterator').default

This is a bit unexpected, because I think this module is primarily targeted at NodeJS environments, and the docs don't mention it.

I would suggest using regular CommonJS exports in the source code, to make sure the exported dist/index.js file looks like this:

module.exports = callbackToAsyncIterator

This will probably not make any differences for people using it in a ES6 module environment, because tools like Babel or Webpack usually interop quite nicely with CommonJS modules.

What are your thoughts on this? I can work on a PR if that sounds good

@WaldoJeffers WaldoJeffers changed the title [SUGGESTION] Use standard a CommonJS export [SUGGESTION] Use a standard CommonJS export Aug 11, 2019
@laggingreflex
Copy link

laggingreflex commented Dec 30, 2021

I'm importing this as an ES6 module natively in Node 17 yet I still seem to have to use the "default" named export…

import asyncify from 'callback-to-async-iterator'

asyncify(cb)
TypeError: asyncify is not a function 
// have to use asyncify.default 

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants