- Notifications
You must be signed in to change notification settings - Fork1
Babel plugin that resolves and maps module extensions.
License
shimataro/babel-plugin-module-extension-resolver
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
Babel plugin that resolves and maps module extensions.
Inspired bybabel-plugin-extension-resolver.
By default, all extensions except.json is converted into.js.This behavior can be customized byoptions.
Directory structure:
src├ dir│ ├ index.js│ └ lib.js├ main.js└ settings.jsonInput (main.js):
require("./dir/lib");require("./dir/lib.js");// file existsrequire("./dir");// directory has "index.js"require("./settings");// ".json" extensionrequire("./no-such-file");// file NOT existsrequire("dir");// not begins with "."
Output:
require("./dir/lib.js");require("./dir/lib.js");require("./dir/index.js");require("./settings.json");require("./no-such-file");require("dir");
Directory structure:
src├ dir│ ├ index.mjs│ └ lib.mjs└ main.mjs.babelrc:
{"presets": [ ["@babel/preset-env", {"modules":false}] ],"plugins": [ ["module-extension-resolver", {"extensionsToKeep": [".mjs",".json"] }] ]}Input (main.mjs):
import"./dir/lib";import"./dir";export*from"./dir";asyncfunctionfoo(){awaitimport("./dir/lib");}
Run:
babel src --keep-file-extension
Output:
import"./dir/lib.mjs";import"./dir/index.mjs";export*from"./dir/index.mjs";asyncfunctionfoo(){awaitimport("./dir/lib.mjs");}
Directory structure:
src├ dir│ ├ index.ts│ └ lib.ts└ main.tsInput (main.ts):
import"./dir/lib";import"./dir";
Output:
import"./dir/lib.js";import"./dir/index.js";
For complete project, see below examples.
| Language | CommonJS | ES Modules |
|---|---|---|
ECMAScript with@babel/preset-env | babel-cjs | babel-esm |
TypeScript with@babel/preset-typescript | ts-babel-cjs | ts-babel-esm |
TypeScript withtsc and Babel | ts-tsc-cjs | ts-tsc-esm |
npm i -D babel-plugin-module-extension-resolver
{"plugins": ["module-extension-resolver"]}With options:
{"plugins": [ ["module-extension-resolver", {"srcExtensions": [".js",".cjs",".mjs",".es",".es6",".ts",".node",".json"],"dstExtension":".js","extensionsToKeep": [".json"] }] ]}source extensions to resolve
defaults:
[".js",".cjs",".mjs",".es",".es6",".ts",".node",".json"]
destination extension
defaults:
".js"extension to keep
defaults:
[".json"]SeeCHANGELOG.md.
About
Babel plugin that resolves and maps module extensions.
Topics
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Packages0
Uh oh!
There was an error while loading.Please reload this page.
Contributors2
Uh oh!
There was an error while loading.Please reload this page.