feat(commonjs): Expose cjs detection and support offline caching #604
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.
Rollup Plugin Name:
commonjs
This PR contains:
Are tests included?
Breaking Changes?
If yes, then include "BREAKING CHANGES:" in the first commit message body, followed by a description of what is breaking.
List any relevant issue numbers:
Description
Note: This features relies on the yet-to-be-released rollup/rollup#3813, specifically the new
moduleParsed
hook. Once that is released and the peer dependency version of this plugin has been adjusted, tests should be green and this PR will be ready for merge.This will expose the result of the CommonJS file-type detection as a module meta property, exposed via
this.getModuleInfo(id).meta.commonjs.isCommonJS
or the module info passed to themoduleParsed
hook.This will for the first time allow this plugin to work with caching data taken from a disk cache that was not created in the same session. Previously in such a setup, Rollup would hang as the file type detection promises would never resolve. Now you can do this and it will work:
Depending on this, I seriously consider adding some built-in disk-cache capabilities into rollup-cli now (probably via a small detour across
zlib
to save disk space).