Unsupported logical operator ??
blutorange opened this issue · 0 comments
blutorange commented
?? is a new operator not supported by this plugin yet.
patch-package patch to fix this:
eslint-plugin-tree-shaking+1.8.0.patch
diff --git a/
node_modules/eslint-plugin-tree-shaking/lib/rules/no-side-effects-in-initialization.js b/node_modules/eslint-plugin-tree-shaking/lib/rules/no-side-effects-in-initialization.js
index 16c42ca..10e4728 100644
--- a/node_modules/eslint-plugin-tree-shaking/lib/rules/no-side-effects-in-initialization.js
+++ b/node_modules/eslint-plugin-tree-shaking/lib/rules/no-side-effects-in-initialization.js
@@ -150,6 +150,17 @@ const reportSideEffectsInProgram = (context, programNode) => {
return leftValue
}
return getAndReportRight()
+ },
+ '??': (getAndReportLeft, getAndReportRight) => {
+ const leftValue = getAndReportLeft()
+ if (!leftValue.hasValue) {
+ getAndReportRight()
+ return leftValue
+ }
+ if (leftValue.value) {
+ return leftValue
+ }
+ return getAndReportRight()
}
}