ES6-compliant export for vite support #109
Open
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.
Hi,
I made this change proposal to be able to support Vite,
export = cardValidator
is not valid when targeting ES6. This PR fixes it, and as card-validator depends on other old libraries I also needed to do some other changes in order to make it work (I refer to my way of exportingcreditCardType
).The downside of this PR is that you can't do default imports anymore (like the one you ship with your documentation,
import valid from 'card-validator'
) but you need to import the single utils. This could be made better, maybe targetting ESNext and starting a fixing chain to the dependent libraries as well.Also, to avoid naming ambiguity between
number
function and the primitive, i suggest to remove thenumber
export and use the one I added,cardNumber
, instead, but I didn't make it as it's another super-breaking change.Actually, I published another package that ships with this changes (
card-validator-es6
), of course if you decide to merge this I will unpublish that to avoid confusion.If you have better solutions in mind, please share them :-)
Best regards,
Alex