Registry / devops / babel-plugin-module-extension

babel-plugin-module-extension

JSON →
library0.1.3jsnpmunverified

A Babel plugin that transforms module import/require extensions during compilation. Version 0.1.3 (latest, but no recent updates). It allows mapping original extensions (e.g., .less) to new ones (e.g., .css) or removing extensions entirely. Unlike babel-plugin-transform-import-extension, it focuses solely on extension replacement. Low maintenance, likely experimental.

npm install babel-plugin-module-extension
INSTALL
IMPORT
SIG · BABEL-PLUGIN-MODUL
B
babel-plugin-module-extension
devopsjavascriptv0.1.3
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.

babel-plugin-module-extension
// Use in .babelrc as plugin reference { "plugins": [ ["module-extension", { "less": "css", "js": "" }] ] }
import plugin from 'babel-plugin-module-extension'; // Works only in modern JavaScript, not as Babel plugin API
Used as a Babel plugin name in config, not imported directly.
require('babel-plugin-module-extension')
const plugin = require('babel-plugin-module-extension');
CommonJS require for Node.js or e2e test setups.
plugin function
import plugin from 'babel-plugin-module-extension';
const plugin = require('babel-plugin-module-extension').default; // No default export, returns function directly
ESM import returns the plugin function directly. No .default needed.

Configures module-extension plugin to replace .less with .css and .ts with .js in import statements.

// Run via Babel CLI or programmatic API. // Example .babelrc { "plugins": [ ["module-extension", { ".less": ".css", ".ts": ".js" }] ] } // Input: import styles from './style.less'; // Output: import styles from './style.css';
Debug
Known issues
gotchaPlugin may not work with Babel 7+ because the API has changed (deprecated babel.transform).
fix
Test compatibility. Consider using babel-plugin-transform-import-extension instead.
affects: >=7.0.0
gotchaOnly transforms import/require statements, not dynamic import() calls in some Babel presets.
fix
Ensure parser supports import() (e.g., @babel/plugin-syntax-dynamic-import).
affects: >=0.0.0
gotchaOptions keys must include the leading dot (e.g., '.less' vs 'less') for correct matching in some versions.
fix
Use keys with dot prefix: {'.less': '.css'}.
affects: <0.1.0
Errors
Common errors & fixes
Error: Module side-effects are not supported.
Babel plugin runs on import statements only, not dynamic requires or side-effect imports.
fix
Use explicit imports for side-effect modules.
TypeError: Cannot read property 'includes' of undefined
Missing options object in plugin config.
fix
Provide at least an empty object: ["module-extension", {}].
babel-plugin-module-extension: Unrecognized extension ''
Empty string as target for an extension mapping without dot prefix.
fix
Use an empty string with dot prefix for removal: {".js": ""}.
Upgrade
Version history
0.1.3latest on npm
Audit
Dependencies

No dependency data recorded yet.

Agent activity
8 hits · last 30 days
node
8
Resources
babel-plugin-module-extension — npm install babel-plugin-module-extension · libregistry