Registry / serialization / babel-plugin-module-extension-resolver

babel-plugin-module-extension-resolver

JSON →
library1.0.0jsnpmunverified

Babel plugin that resolves and maps module extensions in import/require statements. Version 1.0.0 is the latest stable release, with maintenance releases planned when necessary. It transforms extensionless imports to explicit extensions (e.g., './dir/lib' -> './dir/lib.js'), configurable via srcExtensions, dstExtension, and extensionsToKeep options. Unlike babel-plugin-extension-resolver, it supports TypeScript, dynamic imports, and export from syntax. Works with CommonJS and ES modules.

npm install babel-plugin-module-extension-resolver
INSTALL
IMPORT
SIG · BABEL-PLUGIN-MODUL
B
babel-plugin-module-extension-resolver
serializationjavascriptv1.0.0
Install
Import
Disk
Pass rate
0/ 6
Env Coverage0 / 6
glibc
1822
musl
1822
Install & Compatibility
Where this runs
tested against v? · npm install
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
node 18226 runs
build_error
glibc
node 18226 runs
build_error
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

default
no import needed; use via .babelrc plugins array

Shows basic usage: installation, .babelrc configuration, and how extensionless imports are resolved to .js (or .json kept).

// Install npm i -D babel-plugin-module-extension-resolver // .babelrc { "plugins": ["module-extension-resolver"] } // Input: src/main.js require("./dir/lib"); require("./dir/lib.js"); require("./dir"); require("./settings"); // Output after Babel: require("./dir/lib.js"); require("./dir/lib.js"); require("./dir/index.js"); require("./settings.json");
Debug
Known issues
breakingOptions changed in v0.3.0: 'extensions' renamed to 'srcExtensions', 'map' replaced by 'extensionsToKeep' and new 'dstExtension'.
fix
Update .babelrc to use new option names: set 'srcExtensions', 'dstExtension', and 'extensionsToKeep' instead of 'extensions' and 'map'.
affects: <0.3.0
breakingNode.js >=8.0.0 required since v0.2.0.
fix
Upgrade Node.js to version 8 or higher.
affects: >=0.2.0
breakingDynamic imports support added in v1.0.0-rc.2; previous versions ignore dynamic import() calls.
fix
Upgrade to v1.0.0-rc.2 or later to resolve dynamic imports.
affects: <1.0.0-rc.2
gotchaModule paths not beginning with '.' (e.g., 'dir') are not resolved; they are left unchanged.
fix
Ensure all relative import paths start with './' or '../' to be resolved. For absolute or bare specifiers, consider using other plugins or webpack aliases.
affects: all
gotchaThe plugin transforms imports regardless of file extension; use 'keepFileExtension' Babel option or set 'extensionsToKeep' to avoid unwanted changes.
fix
Pass '--keep-file-extension' to Babel CLI or set 'extensionsToKeep' to preserve specific extensions like '.mjs'.
affects: all
gotchaThe dstExtension default is '.js'; for TypeScript projects, ensure output extension matches your target (e.g., '.mjs' for ES modules).
fix
Set 'dstExtension' option to '.mjs' or '.cjs' as needed. For ES modules with TypeScript, set "modules": false in @babel/preset-env.
affects: all
Errors
Common errors & fixes
Error: Cannot find module 'babel-plugin-module-extension-resolver'
Plugin not installed or path incorrect in .babelrc.
fix
Run 'npm install -D babel-plugin-module-extension-resolver' and use 'module-extension-resolver' (not full path) in .babelrc.
ReferenceError: require is not defined (when using ES modules)
Using CommonJS require in ES module context; plugin works but Babel may not transform if modules are set to false.
fix
Use ES module syntax (import) instead of require, or set @babel/preset-env modules to 'auto' or 'commonjs'.
TypeError: Cannot read property 'replace' of undefined
Invalid options syntax in .babelrc; likely missing array brackets around plugin options.
fix
Ensure options are specified as: ["module-extension-resolver", { ... }].
Module not found: Error: Can't resolve './dir/lib' in '...'
File does not exist and plugin cannot resolve; or extension mapping leads to missing file.
fix
Verify the source file exists with one of the srcExtensions. Check 'srcExtensions' list includes the file extension used. If file is .ts, ensure '.ts' is in srcExtensions.
Unexpected token (Error when parsing dynamic import)
Babel parser version too old to support import() syntax.
fix
Update Babel to version 7.8.0 or later, or ensure @babel/plugin-syntax-dynamic-import is included.
Upgrade
Version history
1.0.0latest on npm
Audit
Dependencies

No dependency data recorded yet.

Agent activity
18 hits · last 30 days
node
14
OpenAI (training)
1
Resources