use virtual module prefix to play nice with other plugins #3
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.
Notwithstanding our separate conversations about consolidating some of the
node-
plugins, I just ran into an issue while trying to fix rollup/rollup-plugin-commonjs#90, which is that other plugins might try to resolve IDs like__filename
depending on the plugin order (and in the case of rollup-plugin-node-resolve, that blows up).The 'convention' (albeit not very well documented etc) with other plugins that use virtual modules is to prefix module IDs with
\0
, or even\0mypluginname:
– this prevents other plugins from trying to resolve those IDs (the logic is built intocreateFilter
, for example).\0
works because it's not a legal character in file names.