A Babel plugin for resolving ESM import and export paths
Resolves ESM import and export paths to other source modules with extensions, optionally replacing the extension with a different one (including imports with extensions, like native ESM and Deno-style TypeScript). This is useful because most environments will not perform automatic file extension resolution.
Since it resolves the statements before the modules are transpiled, it can also be used to resolve the paths for other transpiled module loaders.
Must be configured to work properly, it will not do anything by default.
There are three classes of resolver that can be enabled (source
, module
, submodule
) depending on the modules that need to be resolved. Module support for ESM has improved so only source
is likely to be needed.
-
source
Source modules:import foo from './bar'
-
module
Module main entry points:import foo from 'bar'
-
submodule
Module submodules:import foo from 'bar/foo'
NOTE: The module
and submodule
options are generally no longer needed now that conditional exports are available.
If you find a bug or have compatibility issues, please open a ticket under issues section for this repository.
Copyright (c) 2019-2024 Alexander O'Mara
Licensed under the Mozilla Public License, v. 2.0.
If this license does not work for you, feel free to contact me.