Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Babel plugin that resolves and maps module extensions.

License

NotificationsYou must be signed in to change notification settings

shimataro/babel-plugin-module-extension-resolver

Repository files navigation

Build Status (Windows)Build Status (macOS)Build Status (Linux)ExamplesReleaseNode.js versionLicense

Babel plugin that resolves and maps module extensions.

Inspired bybabel-plugin-extension-resolver.

Examples

By default, all extensions except.json is converted into.js.This behavior can be customized byoptions.

JavaScript

Directory structure:

src├ dir│ ├ index.js│ └ lib.js├ main.js└ settings.json

Input (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");

JavaScript (.mjs extension)

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");}

TypeScript

Directory structure:

src├ dir│ ├ index.ts│ └ lib.ts└ main.ts

Input (main.ts):

import"./dir/lib";import"./dir";

Output:

import"./dir/lib.js";import"./dir/index.js";

For complete project, see below examples.

LanguageCommonJSES Modules
ECMAScript with@babel/preset-envbabel-cjsbabel-esm
TypeScript with@babel/preset-typescriptts-babel-cjsts-babel-esm
TypeScript withtsc and Babelts-tsc-cjsts-tsc-esm

Install

npm i -D babel-plugin-module-extension-resolver

.babelrc

{"plugins": ["module-extension-resolver"]}

With options:

{"plugins": [    ["module-extension-resolver", {"srcExtensions": [".js",".cjs",".mjs",".es",".es6",".ts",".node",".json"],"dstExtension":".js","extensionsToKeep": [".json"]    }]  ]}

Options

srcExtensions

source extensions to resolve

defaults:

[".js",".cjs",".mjs",".es",".es6",".ts",".node",".json"]

dstExtension

destination extension

defaults:

".js"

extensionsToKeep

extension to keep

defaults:

[".json"]

Changelog

SeeCHANGELOG.md.

About

Babel plugin that resolves and maps module extensions.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors2

  •  
  •  

[8]ページ先頭

©2009-2025 Movatter.jp