From 8b158573c39c5c987f615a08a21ac4d5c276cf74 Mon Sep 17 00:00:00 2001 From: sidntrivedi012 Date: Wed, 15 Jan 2020 23:20:23 +0530 Subject: [PATCH 1/4] Added precedence for nullish-coalescing-operator --- packages/babel-generator/src/node/parentheses.js | 1 + .../test/fixtures/parentheses/nullish-coalescence/input.js | 2 ++ .../test/fixtures/parentheses/nullish-coalescence/output.js | 2 ++ 3 files changed, 5 insertions(+) create mode 100644 packages/babel-generator/test/fixtures/parentheses/nullish-coalescence/input.js create mode 100644 packages/babel-generator/test/fixtures/parentheses/nullish-coalescence/output.js diff --git a/packages/babel-generator/src/node/parentheses.js b/packages/babel-generator/src/node/parentheses.js index 0a1ab115c529..6ad781e16627 100644 --- a/packages/babel-generator/src/node/parentheses.js +++ b/packages/babel-generator/src/node/parentheses.js @@ -2,6 +2,7 @@ import * as t from "@babel/types"; const PRECEDENCE = { "||": 0, + "??": 1, "&&": 1, "|": 2, "^": 3, diff --git a/packages/babel-generator/test/fixtures/parentheses/nullish-coalescence/input.js b/packages/babel-generator/test/fixtures/parentheses/nullish-coalescence/input.js new file mode 100644 index 000000000000..2e5054151af1 --- /dev/null +++ b/packages/babel-generator/test/fixtures/parentheses/nullish-coalescence/input.js @@ -0,0 +1,2 @@ +const foo = 'test' +console.log((foo ?? '') == '') \ No newline at end of file diff --git a/packages/babel-generator/test/fixtures/parentheses/nullish-coalescence/output.js b/packages/babel-generator/test/fixtures/parentheses/nullish-coalescence/output.js new file mode 100644 index 000000000000..0cccadc94261 --- /dev/null +++ b/packages/babel-generator/test/fixtures/parentheses/nullish-coalescence/output.js @@ -0,0 +1,2 @@ +const foo = 'test'; +console.log(foo ?? '' == ''); \ No newline at end of file From ad7a6644d07f66f25e73b820bbd26a995579d3a4 Mon Sep 17 00:00:00 2001 From: sidntrivedi012 Date: Wed, 15 Jan 2020 23:22:08 +0530 Subject: [PATCH 2/4] Made precedence equal to logical OR --- packages/babel-generator/src/node/parentheses.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/babel-generator/src/node/parentheses.js b/packages/babel-generator/src/node/parentheses.js index 6ad781e16627..1222f2d34a84 100644 --- a/packages/babel-generator/src/node/parentheses.js +++ b/packages/babel-generator/src/node/parentheses.js @@ -2,7 +2,7 @@ import * as t from "@babel/types"; const PRECEDENCE = { "||": 0, - "??": 1, + "??": 0, "&&": 1, "|": 2, "^": 3, From 1acd67693f0922eebb2e477eea0f32150143609e Mon Sep 17 00:00:00 2001 From: sidntrivedi012 Date: Wed, 15 Jan 2020 23:35:31 +0530 Subject: [PATCH 3/4] Renamed the folders made for testing --- .../{nullish-coalescence => nullish-coalescing}/input.js | 0 .../{nullish-coalescence => nullish-coalescing}/output.js | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename packages/babel-generator/test/fixtures/parentheses/{nullish-coalescence => nullish-coalescing}/input.js (100%) rename packages/babel-generator/test/fixtures/parentheses/{nullish-coalescence => nullish-coalescing}/output.js (100%) diff --git a/packages/babel-generator/test/fixtures/parentheses/nullish-coalescence/input.js b/packages/babel-generator/test/fixtures/parentheses/nullish-coalescing/input.js similarity index 100% rename from packages/babel-generator/test/fixtures/parentheses/nullish-coalescence/input.js rename to packages/babel-generator/test/fixtures/parentheses/nullish-coalescing/input.js diff --git a/packages/babel-generator/test/fixtures/parentheses/nullish-coalescence/output.js b/packages/babel-generator/test/fixtures/parentheses/nullish-coalescing/output.js similarity index 100% rename from packages/babel-generator/test/fixtures/parentheses/nullish-coalescence/output.js rename to packages/babel-generator/test/fixtures/parentheses/nullish-coalescing/output.js From 70da59ba44a23bf107fb687b2c0c3bb7c0802139 Mon Sep 17 00:00:00 2001 From: sidntrivedi012 Date: Thu, 16 Jan 2020 01:40:08 +0530 Subject: [PATCH 4/4] Fixed the output test file of nullish-coalescing op --- .../test/fixtures/parentheses/nullish-coalescing/output.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/babel-generator/test/fixtures/parentheses/nullish-coalescing/output.js b/packages/babel-generator/test/fixtures/parentheses/nullish-coalescing/output.js index 0cccadc94261..767c8f1b02d4 100644 --- a/packages/babel-generator/test/fixtures/parentheses/nullish-coalescing/output.js +++ b/packages/babel-generator/test/fixtures/parentheses/nullish-coalescing/output.js @@ -1,2 +1,2 @@ const foo = 'test'; -console.log(foo ?? '' == ''); \ No newline at end of file +console.log((foo ?? '') == ''); \ No newline at end of file