From 136bf231eac2f36b1c3d71817d08c40f3a854ea1 Mon Sep 17 00:00:00 2001 From: hirochachacha Date: Wed, 21 Oct 2020 01:01:53 +0900 Subject: [PATCH] packages/babel-standalone: make data-type="module" option avilable without data-presets option (#12226) * use "env" preset instead of "es2015" preset * configure "env" preset if data-type="module" is given --- .../src/transformScriptTags.js | 22 ++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/packages/babel-standalone/src/transformScriptTags.js b/packages/babel-standalone/src/transformScriptTags.js index b41200385290..3ffc04f2c552 100644 --- a/packages/babel-standalone/src/transformScriptTags.js +++ b/packages/babel-standalone/src/transformScriptTags.js @@ -34,9 +34,29 @@ function transformCode(transformFn, script) { * sensible default presets and plugins if none were explicitly provided. */ function buildBabelOptions(script, filename) { + let presets = script.presets; + if (!presets) { + if (script.type === "module") { + presets = [ + "react", + [ + "env", + { + targets: { + esmodules: true, + }, + modules: false, + }, + ], + ]; + } else { + presets = ["react", "env"]; + } + } + return { filename, - presets: script.presets || ["react", "es2015"], + presets, plugins: script.plugins || [ "proposal-class-properties", "proposal-object-rest-spread",