From 3b3e7f5b63f6fec3a4523627808fd9138ca10186 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hu=C3=A1ng=20J=C3=B9nli=C3=A0ng?= Date: Mon, 19 Oct 2020 17:17:21 -0400 Subject: [PATCH] add docs for @babel/plugin-syntax-module-string-names (#2396) --- docs/plugin-syntax-module-string-names.md | 56 +++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 docs/plugin-syntax-module-string-names.md diff --git a/docs/plugin-syntax-module-string-names.md b/docs/plugin-syntax-module-string-names.md new file mode 100644 index 0000000000..fb116531c5 --- /dev/null +++ b/docs/plugin-syntax-module-string-names.md @@ -0,0 +1,56 @@ +--- +id: babel-plugin-syntax-module-string-names +title: @babel/plugin-syntax-module-string-names +sidebar_label: syntax-module-string-names +--- + +## Example + +This plugin enables `@babel/parser` to parse + +```js +export { smile as "😄" } from "./emojis.js"; +``` + +It requires `@babel/parser@^7.12.0`. When used with `@babel/plugin-transform-modules-commonjs`, the example above will be transformed as + +```js +const emojis = require("./emojis.js"); +Object.defineProperty(exports, "__esModule", { + value: true, +}); + +exports["😄"] = emojis.smile; +``` + +Note that it is not possible to transpile this syntax to ES2015-style imports and exports. They are supported in other module systems such as amd, systemjs and umd. + +## Installation + +```sh +npm install --save-dev @babel/plugin-syntax-module-string-names +``` + +## Usage + +### With a configuration file (Recommended) + +```json +{ + "plugins": ["@babel/plugin-syntax-module-string-names"] +} +``` + +### Via CLI + +```sh +babel --plugins @babel/plugin-syntax-module-string-names script.js +``` + +### Via Node API + +```javascript +require("@babel/core").transform("code", { + plugins: ["@babel/plugin-syntax-module-string-names"], +}); +```