pulumi/pkg
joeduffy 3164572b6e Fix some free variable capture logic
* Use `global.hasOwnProperty(ident)`, rather than `global[ident] !== undefined`,
  to avoid classifying references to globals as free variables.  Surprise(!!),
  the prior logic wouldn't work for `undefined` itself... 😒

* Expand this check to include the built-in Node.js module variables, namely
  `__dirname`, `__filename`, `exports`, `module`, and `require`, so that
  references to them don't get classified as serializable free variables either.

* Place catch variables in scope, so that `catch (err) { ... }` won't yield
  free variables for references to `err` within `...`.

* Place recursive function definitions into the top-level `var`-like scope of
  variables so that we don't consider references to them free.

* Harden all error pathways in the native C++ add-on so that we terminate
  anytime an exception is in-flight, rather than limping along and making
  things worse...
2017-09-05 15:21:14 -07:00
..
compiler/errors Get integration tests passing 2017-09-04 11:35:21 -07:00
diag Avoid concurrent map updates in default sink 2017-08-31 14:36:19 -07:00
encoding Wire up Lumi to the new runtime strategy 2017-09-04 11:35:21 -07:00
engine Configure providers at well-defined points 2017-09-04 11:35:21 -07:00
graph Rename pulumi/lumi to pulumi/pulumi-fabric 2017-08-02 09:25:22 -07:00
pack Get integration tests passing 2017-09-04 11:35:21 -07:00
resource Add the notion of stable states 2017-09-05 10:01:00 -07:00
testing/integration Eliminate yarn version printing 2017-09-04 11:35:21 -07:00
tokens Configure providers at well-defined points 2017-09-04 11:35:21 -07:00
tools Wire up Lumi to the new runtime strategy 2017-09-04 11:35:21 -07:00
util Wire up Lumi to the new runtime strategy 2017-09-04 11:35:21 -07:00
workspace Fix some free variable capture logic 2017-09-05 15:21:14 -07:00