-
Notifications
You must be signed in to change notification settings - Fork 22
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ESM imports TypeScript types #58
Comments
What about updating the types to support only ES modules? 🤔 |
Hmm, interesting idea. Personally, I do not feel that I know enough to opine very strongly on this type of thing. Wonder if it would be possible to find open source users of getopts on NPM, then try building them with and without such a change to see if it would cause any disturbances, and by how much. But this is just because I am not an expert in this area! |
Looks like Chalk has done this in v5 https://github.com/chalk/chalk/releases |
@pmer Works for me! Do you want to send me a patch with the change? 💯 |
If I can find the time to test it, would love to! 😀 |
If I understand correctly, the TypeScript types are for the CommonJS version of the code. When using
"module": "ES2022"
intsconfig.json
withallowSyntheticDefaultImports: false
, importinggetopts
fails unless the type definitions are changed from:to
It might be possible to resolve this by providing different type definitions for CommonJS and ESM (different on only this one line) and using an extension to
package.json
that TypeScript 4.7 added (link) that lets TypeScript pick between type definition files based on the project's module type.Alternatively, enabling
allowSyntheticDefaultImports
for the project seems to fix it, too.The text was updated successfully, but these errors were encountered: