Info about node exports
field support: version ranges, categories, etc.
-
pre-exports
: versions before node supportedexports
in any way (< 12.17
) -
broken
: versions that have a brokenexports
implementation. These only support the string form, and array fallbacks. (13.0 - 13.2
) -
experimental
: versions whereexports
support was experimental. These only support the "default" condition in the object form. (13.3 - 13.6
) -
conditions
: the first versions whereexports
support was unflagged. (13.7 - 13.12
) -
broken-dir-slash-conditions
:conditions
, but directory exports (ending in./
) are broken in these versions (12.17 - 12.19 || ^13.13 || 14.0 - 14.12
) -
patterns
: support for "patterns" was added in these versions, and directory exports (ending in./
) are broken (^12.20 || 14.13 - 14.18 || 15.x || 16.0 - 16.8
) -
pattern-trailers
: support for "pattern trailers" was added in these versions (^14.19 || >= 16.9
) -
pattern-trailers-no-dir-slash
: support for directory exports (ending in./
) was removed for these versions (>= 17
)
-
node-exports-info/getCategoriesForRange
: takes a node semver version range; returns an array of categories that overlap it -
node-exports-info/getCategory
: takes an optional node semver version (defaults to the current node version); returns the latest category that matches it -
node-exports-info/getConditionsForCategory
: takes a category and an optionalmoduleSystem
('require'
or'import'
); returns an array ofexports
"conditions" that is supported, ornull
ifexports
itself is not supported -
node-exports-info/getRange
: takes a category; returns the node semver version range that matches it -
node-exports-info/getRangePairs
: returns an array of entries - each a tuple of "semver range" and "category" -
node-exports-info/isCategory
: takes a category; returns true if it’s a known category
-
has-package-exports
: feature-detect your node version’sexports
support
Simply clone the repo, npm install
, and run npm test