Actually, I see that the Node typedefs has all the process declarations in global.js.
Is there an issue with adding a dependency in CoreJS to node.swc? Should a class that has this dependency go somewhere else? (I don’t really see an issue with adding the dependency, but I’m throwing this out in case I’m missing something.) Harbs > On Jul 5, 2017, at 12:00 AM, Harbs <harbs.li...@gmail.com> wrote: > > Looks like it. > > I see this in missing.js: > > /** > * @export > * This gets mapped to org.apache.flex.utils.Language.trace() by the compiler > * @param {...} rest > */ > function trace(rest) {} > > /** > * @type {!Console} > * @const > */ > var console; > > > I guess I can add another one like so: > > /** > * @type {!Process} > * @const > */ > var process; > > However, it seems like a drag to have to add a typedef every time a developer > needs to check for the existence of a global that we did not think of. > >> On Jul 4, 2017, at 9:13 PM, Harbs <harbs.li...@gmail.com> wrote: >> >> Thanks. Here’s what I see: >> >> if(typeof window !== "undefined") >> { >> theConsole = window.console; >> } >> else if(typeof console !== "undefined") >> { >> theConsole = console; >> } >> >> Did you define console in a typedef maybe? >> >> I’m thinking that Falcon should really allow undefined variables when used >> with “typeof”. >> >> Truth be told, I really need to do something like one of these: >> if(typeof (process) != 'undefined' && {}.toString.call(process) == '[object >> process]’) >> or: >> if(typeof process != 'undefined' && process && process.constructor.name == >> "process”) >> >> Of course every reference to process causes a compiler error. I wonder if >> there’s some way to tell the compiler to accept it without complaining… >> >>> On Jul 4, 2017, at 8:54 PM, Josh Tynjala <joshtynj...@gmail.com> wrote: >>> >>> I don't remember exactly what I did, but in order to get trace() working in >>> Node.js, I had to figure out how to find the console object on window >>> versus global. I feel like I remember using typeof, but maybe it was >>> something else. Take a look at the implementation of Language.trace() to >>> see what I did. >>> >>> - Josh >>> >>> On Jul 4, 2017 5:26 AM, "Harbs" <harbs.li...@gmail.com> wrote: >>> >>>> I’m trying to figure out how to solve this dilemma: >>>> >>>> Browsers attach global variables to window. >>>> >>>> Node.js attaches globals to global. >>>> >>>> I’m trying to check for the existence of a global called process. In JS, >>>> you’d generally do that by checking typeof process == ‘undefined’. Falcon >>>> does not allow you to do that and complains that process is an undefined >>>> property. In the browser you can use window[“process”] == undefined and in >>>> node you can (theoretically) use global[“process”] == undefined. I can’t >>>> think of a generic way to do this though. >>>> >>>> Thoughts? >>>> Harbs >> >