cal-heatmap icon indicating copy to clipboard operation
cal-heatmap copied to clipboard

New external plugins repositories

Open wa0x6e opened this issue 1 year ago • 1 comments

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:

  1. merge the plugins inside the core package, and import them with import { Tooltip } from 'cal-heatmap' => will increase build size
  2. 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

wa0x6e avatar Feb 11 '24 18:02 wa0x6e

Hey, Any way I can help?

I need to use these plugins in a react application building through typescript in a NodeNext moduleRes

savakarrohan avatar Mar 10 '24 09:03 savakarrohan