- Rollup Version: rollup v2.50.1
- Operating System (or Browser): n/a
- Node Version (if applicable): v16.1.0
Repro
$ cat misc.js
(function bug1() {
var first = state();
var on = true;
var obj = { state: state };
console.log(first, obj.state());
function state() {
return on ? "ON" : "OFF";
}
})();
(function bug2() {
var a = "PASS";
for (var b = 2; --b >= 0; ) {
(function() {
var c = function() {
return 1;
}(c && (a = "FAIL"));
})();
}
console.log(a);
})();
Expected Behavior
$ cat misc.js | node
OFF ON
PASS
Actual Behavior
$ cat misc.js | rollup --silent | node
ON ON
FAIL
$ cat misc.js | rollup --silent
(function bug1() {
var first = state();
var obj = { state: state };
console.log(first, obj.state());
function state() {
return "ON" ;
}
})();
(function bug2() {
var a = "PASS";
for (var b = 2; --b >= 0; ) {
(function() {
(function() {
return 1;
})((a = "FAIL"));
})();
}
console.log(a);
})();
Repro
Expected Behavior
Actual Behavior