You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Regarding to conditional exports webpack core supports the following conditions:
"import" - matched when the package is loaded via import or import()
"require" - matched when the package is loaded via require()
"node" - matched when options.target is node or electron environment
"electron" - matched when options.target is electron environment
"browser" - matched when options.target is web environment
"worker" - matched when options.target === "webworker"
"development" - matched when options.mode === "development"
"webpack"
"default"
Added some parameters to options.resolve option:
options.resolve.conditionNames a list of exports field condition names, default list described above in "conditional exports" section
options.resolve.exportsFields a list of exports fields in description files, default is ["exports"]
options.resolve.byDependency extra resolve options per dependency category. Typical categories are "commonjs", "amd", "esm".
This option allows to define specific resolving to each dependency category, e.g. disallow extensions for esm:
The exportsFields documentation is extremely lacking. Questions I have include:
What is the default value for this field?
Will the value I supply override the default or be merged with the default?
If the conditions I supply are merged with the default, will the new values will take precedence over the default values? What's the answer to this question for mainFields?
If I specify something like import here will that cause it to always be applied or to be applied conditionally only when import is being used?
If the conditions I supply override the default, an example would be helpful because I guess I would need to check process.env.NODE_ENV to set production or development appropriately and that would be easy to overlook from the current docs
A pull request by @vankop was merged and maintainers requested a documentation change.
See pull request: webpack/webpack#10953
What kind of change does this PR introduce?
closes #9509
exports field feature support
Did you add tests for your changes?
Yes
Does this PR introduce a breaking change?
No
What needs to be documented once your changes are merged?
Webpack now supports exports field entrypoint.
Regarding to conditional exports webpack core supports the following conditions:
import
orimport()
require()
options.target
is node or electron environmentoptions.target
is electron environmentoptions.target
is web environmentoptions.target === "webworker"
options.mode === "development"
Added some parameters to
options.resolve
option:options.resolve.conditionNames
a list of exports field condition names, default list described above in "conditional exports" sectionoptions.resolve.exportsFields
a list of exports fields in description files, default is["exports"]
options.resolve.byDependency
extra resolve options per dependency category. Typical categories are "commonjs", "amd", "esm".This option allows to define specific resolving to each dependency category, e.g. disallow extensions for
esm
:The text was updated successfully, but these errors were encountered: