Fix exports in index when using --filename-case option #495
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.
Summary
Using the
--filename-case
option with kebab-case would break exports from the generated index file as it would use the filename as the export name. It doesn't break for PascalCase and camelCase, though in the case of camelCase, the export would also be camelCased even though it should always use PascalCase.I'm not extremely happy with the solution, as I'd much rather abstract it away from
defaultIndexTemplate
, but that would require a breaking change which I don't think is worth it.Another solution I was thinking about is using
export * from './icon-name'
(also requires a breaking change) but the generated icon component files are using export default and the component names include a prefix likeSvg
and/orMemo
when using momoization etc. which the index file strips away.Test plan
I've added snapshot tests :)