cal-heatmap
cal-heatmap copied to clipboard
New external plugins repositories
Discussed in https://github.com/wa0x6e/cal-heatmap/discussions/486
Originally posted by wa0x6e February 11, 2024 Following https://github.com/wa0x6e/cal-heatmap/issues/366
The current plugin files are not exported correctly. I made some tests, by trying to add all plugins files and types to the export
property in package.json, and got it working only on when moduleResolution
is set to Node16
in tsconfig, and type
set to module
in package.json in the package importing cal-heatmap.
Multiple export from package.json is available only on recent config, and broken on package using node
, or esnext
. To ensure the broadest support of setup, multiple export is not a solution.
This left us with 2 solutions:
- merge the plugins inside the core package, and import them with
import { Tooltip } from 'cal-heatmap'
=> will increase build size - externalize the plugins to their own NPM package => will require installing each plugin as a new dependency
Solution 2 has been retained, and all plugins will have their own repositories in https://github.com/cal-heatmap/
Refactoring is in progress, and next release (4.3.0, or maybe even 5) will incorporate this breaking changes.
- [x] Migrate Tooltip: https://github.com/cal-heatmap/tooltip
- [x] Migrate CalendarLabel (will be renamed to ExtraLabel)
- [ ] Migrate Legend
- [ ] Migrate LegendLite
Hey, Any way I can help?
I need to use these plugins in a react application building through typescript in a NodeNext moduleRes