Skip to content

Commit fa38948

Browse files
wip(core): transpile Optional Chaining & Nullish Coalescing Operator
1 parent 8dce259 commit fa38948

File tree

4 files changed

+29
-0
lines changed

4 files changed

+29
-0
lines changed

package.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,8 @@
4040
"@babel/generator": "^7.13.9",
4141
"@babel/parser": "^7.13.11",
4242
"@babel/plugin-proposal-dynamic-import": "^7.13.8",
43+
"@babel/plugin-proposal-nullish-coalescing-operator": "^7.13.8",
44+
"@babel/plugin-proposal-optional-chaining": "^7.13.12",
4345
"@babel/plugin-transform-arrow-functions": "^7.13.0",
4446
"@babel/plugin-transform-modules-commonjs": "^7.13.8",
4547
"@babel/plugin-transform-runtime": "^7.13.10",

src/createVue2SFCModule.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,13 @@ import jsx from '@vue/babel-plugin-transform-vue-jsx'
2828
// @ts-ignore
2929
import babelSugarInjectH from '@vue/babel-sugar-inject-h'
3030

31+
// @ts-ignore
32+
import pluginProposalOptionalChaining from "@babel/plugin-proposal-optional-chaining"
33+
34+
// @ts-ignore
35+
import pluginProposalNullishCoalescingOperator from '@babel/plugin-proposal-nullish-coalescing-operator'
36+
37+
3138
import {
3239
formatError,
3340
formatErrorStartEnd,
@@ -178,6 +185,8 @@ export async function createSFCModule(source : string, filename : AbstractPath,
178185
plugins: [ // https://babeljs.io/docs/en/options#plugins
179186
babelPluginTransformModulesCommonjs, // https://babeljs.io/docs/en/babel-plugin-transform-modules-commonjs#options
180187
jsx,
188+
pluginProposalOptionalChaining,
189+
pluginProposalNullishCoalescingOperator,
181190
babelSugarInjectH,
182191
...additionalBabelPlugins,
183192
],

src/createVue3SFCModule.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,13 @@ import babelPluginTransformModulesCommonjs from '@babel/plugin-transform-modules
3030
// https://github.com/vuejs/jsx-next
3131
import jsx from '@vue/babel-plugin-jsx'
3232

33+
// @ts-ignore
34+
import pluginProposalOptionalChaining from "@babel/plugin-proposal-optional-chaining"
35+
36+
// @ts-ignore
37+
import pluginProposalNullishCoalescingOperator from '@babel/plugin-proposal-nullish-coalescing-operator'
38+
39+
3340
import {
3441
formatErrorLineColumn,
3542
formatError,
@@ -198,6 +205,8 @@ export async function createSFCModule(source : string, filename : AbstractPath,
198205
plugins: [ // https://babeljs.io/docs/en/options#plugins
199206
babelPluginTransformModulesCommonjs, // https://babeljs.io/docs/en/babel-plugin-transform-modules-commonjs#options
200207
jsx,
208+
pluginProposalOptionalChaining,
209+
pluginProposalNullishCoalescingOperator,
201210
...additionalBabelPlugins,
202211
],
203212
babelrc: false,

yarn.lock

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -347,6 +347,15 @@
347347
"@babel/helper-plugin-utils" "^7.13.0"
348348
"@babel/plugin-syntax-optional-catch-binding" "^7.8.3"
349349

350+
"@babel/plugin-proposal-optional-chaining@^7.13.12":
351+
version "7.13.12"
352+
resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.13.12.tgz#ba9feb601d422e0adea6760c2bd6bbb7bfec4866"
353+
integrity sha512-fcEdKOkIB7Tf4IxrgEVeFC4zeJSTr78no9wTdBuZZbqF64kzllU0ybo2zrzm7gUQfxGhBgq4E39oRs8Zx/RMYQ==
354+
dependencies:
355+
"@babel/helper-plugin-utils" "^7.13.0"
356+
"@babel/helper-skip-transparent-expression-wrappers" "^7.12.1"
357+
"@babel/plugin-syntax-optional-chaining" "^7.8.3"
358+
350359
"@babel/plugin-proposal-optional-chaining@^7.13.8":
351360
version "7.13.8"
352361
resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.13.8.tgz#e39df93efe7e7e621841babc197982e140e90756"

0 commit comments

Comments
 (0)