aboutsummaryrefslogtreecommitdiff
path: root/node_modules/babel-traverse/lib/path/evaluation.js
diff options
context:
space:
mode:
authorFlorian Dold <florian.dold@gmail.com>2017-04-20 03:09:25 +0200
committerFlorian Dold <florian.dold@gmail.com>2017-04-24 16:14:29 +0200
commit82f2b76e25a4a67e01ec67e5ebe39d14ad771ea8 (patch)
tree965f6eb89b84d65a62b49008fd972c004832ccd1 /node_modules/babel-traverse/lib/path/evaluation.js
parente6e0cbc387c2a77b48e4065c229daa65bf1aa0fa (diff)
Reorganize module loading.
We now use webpack instead of SystemJS, effectively bundling modules into one file (plus commons chunks) for every entry point. This results in a much smaller extension size (almost half). Furthermore we use yarn/npm even for extension run-time dependencies. This relieves us from manually vendoring and building dependencies. It's also easier to understand for new developers familiar with node.
Diffstat (limited to 'node_modules/babel-traverse/lib/path/evaluation.js')
-rw-r--r--node_modules/babel-traverse/lib/path/evaluation.js10
1 files changed, 7 insertions, 3 deletions
diff --git a/node_modules/babel-traverse/lib/path/evaluation.js b/node_modules/babel-traverse/lib/path/evaluation.js
index 724d4728e..86aac21b5 100644
--- a/node_modules/babel-traverse/lib/path/evaluation.js
+++ b/node_modules/babel-traverse/lib/path/evaluation.js
@@ -156,15 +156,19 @@ function evaluate() {
return deopt(binding.path);
}
+ if (binding && path.node.start < binding.path.node.end) {
+ return deopt(binding.path);
+ }
+
if (binding && binding.hasValue) {
return binding.value;
} else {
if (node.name === "undefined") {
- return undefined;
+ return binding ? deopt(binding.path) : undefined;
} else if (node.name === "Infinity") {
- return Infinity;
+ return binding ? deopt(binding.path) : Infinity;
} else if (node.name === "NaN") {
- return NaN;
+ return binding ? deopt(binding.path) : NaN;
}
var resolved = path.resolve();