Fix/remove type imports typescript #164
Merged
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.
Current problem
Imported interfaces and types cause rollup etc to choke as they are no longer stripped. see: #153
Fix
I noticed that the typescript forces them back in as part of a transform. I add support for the detection of
import type { AInterface } ...
style imports that can be skipped. There is a more powerful version for when the transformer isn't just doing transpile only. It uses the type checker to see if the symbol represents an interface or type alias and removes it.This is the second attempt at a fix. The existing PR ( #155 ) removes the import if the value is unused in the script, but it may remove imports in error if the import is only used as prop values.
Tests
I added a bunch of tests for this feature that now pass. The less.js test was already failing before the changes.