Add exportmaps for lib/*
entrypoints to allow for CDNs to use roughly what they need.
#62
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
It seems that Lowlight is written with Bundlers in mind to treeshake. However, if someone is using a CDN, or is using a bundler which does not support tree-shaking re-exported namespaces, then they have to pull in every single language from highlight.js
I would like to propose that the entrypoints in
./lib/*.js
be exposed for consumption as a "quasi-treeshaking" mechanism as proposed in this PR.I did try to use esm.sh 's treeshaking mechanism:
But it made no difference in size. My guess is that this doesnt work because esm.sh uses ESBuild, and ESBuild will not treeshake re-exported namespaces:
evanw/esbuild#1420
Which is what
./index.js
is doing.Anyways, I hope you'll consider this PR so that more people can use lowlight :)