Implement function to detect facade modules; Adjust depth check in dependency traversal. #114
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.
This PR consists of two small changes:
Currently Dependencies are always traversed one level too few.
E. g. when MAX_EXTERNAL_DEPTH or MAX_INTERNAL_DEPTH are set to 1 not even directly imported modules (depth=1) are evaluated.
Currently external modules are evaluated two modules deep in order to support facade modules.
Facade modules are modules that only consist of import and export declarations. These types of modules are frequently used in component libraries.
With this change facade module are detected in dependency traversal and do not increase depth.
Since facade modules dont increase depth anymore, MAX_EXTERNAL_DEPTH can be reduced to one.
I have manually tested this with weightless components and carbon-custom-elements . It might be useful to take a look at other component libraries that use facade modules to see if the implemented function detects them corretcly.