- Notifications
You must be signed in to change notification settings - Fork0
Babel plugin that resolves and maps module extensions.
License
NotificationsYou must be signed in to change notification settings
rozzzly/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";
Run:
babel src --keep-file-extension
Output:
import"./dir/lib.mjs";import"./dir/index.mjs";export*from"./dir/index.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.
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Packages0
No packages published
Languages
- TypeScript52.1%
- Shell47.9%