is_node.js 1.2 KB

123456789101112131415161718192021222324252627
  1. /* Copyright 2018 Mozilla Foundation
  2. *
  3. * Licensed under the Apache License, Version 2.0 (the "License");
  4. * you may not use this file except in compliance with the License.
  5. * You may obtain a copy of the License at
  6. *
  7. * http://www.apache.org/licenses/LICENSE-2.0
  8. *
  9. * Unless required by applicable law or agreed to in writing, software
  10. * distributed under the License is distributed on an "AS IS" BASIS,
  11. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  12. * See the License for the specific language governing permissions and
  13. * limitations under the License.
  14. */
  15. /* globals process */
  16. // NW.js / Electron is a browser context, but copies some Node.js objects; see
  17. // http://docs.nwjs.io/en/latest/For%20Users/Advanced/JavaScript%20Contexts%20in%20NW.js/#access-nodejs-and-nwjs-api-in-browser-context
  18. // https://www.electronjs.org/docs/api/process#processversionselectron-readonly
  19. // https://www.electronjs.org/docs/api/process#processtype-readonly
  20. const isNodeJS =
  21. typeof process === "object" &&
  22. process + "" === "[object process]" &&
  23. !process.versions.nw &&
  24. !(process.versions.electron && process.type && process.type !== "browser");
  25. export { isNodeJS };