jaywcjlove / hotkeys-js

➷ A robust Javascript library for capturing keyboard input. It has no dependencies.
https://jaywcjlove.github.io/hotkeys-js
MIT License
6.65k stars 410 forks source link

fix: fix types under node16 moduleResolution #441

Closed me4502 closed 10 months ago

me4502 commented 1 year ago

The types of this library do not match the actual JS code, leading to a situation where using ESM under the node16 moduleResolution method in TypeScript, the default export types will fail to resolve. TypeScript is more strict around type compliance with these settings enabled, and therefore requires the types to match.

The JS code does not use a default import, as export default in ESM is not identical to module.exports =. export = can be used in the index.d.ts to match the behaviour within the JS file.

More information on this specific issue is available here, https://github.com/arethetypeswrong/arethetypeswrong.github.io/blob/main/docs/problems/FalseExportDefault.md