Index: frontend/node_modules/detect-node/LICENSE
===================================================================
--- frontend/node_modules/detect-node/LICENSE	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/detect-node/LICENSE	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2017 Ilya Kantor
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
Index: frontend/node_modules/detect-node/Readme.md
===================================================================
--- frontend/node_modules/detect-node/Readme.md	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/detect-node/Readme.md	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,30 @@
+### Install
+
+```shell
+npm install --save detect-node
+```
+
+### Usage:
+
+```js
+var isNode = require('detect-node');
+
+if (isNode) {
+  console.log("Running under Node.JS");
+} else {
+  alert("Hello from browser (or whatever not-a-node env)");
+}
+```
+
+The check is performed as:
+```js
+module.exports = false;
+
+// Only Node.JS has a process variable that is of [[Class]] process
+try {
+ module.exports = Object.prototype.toString.call(global.process) === '[object process]' 
+} catch(e) {}
+
+```
+
+Thanks to Ingvar Stepanyan for the initial idea. This check is both **the most reliable I could find** and it does not use `process` env directly, which would cause browserify to include it into the build.
Index: frontend/node_modules/detect-node/browser.js
===================================================================
--- frontend/node_modules/detect-node/browser.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/detect-node/browser.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,2 @@
+module.exports = false;
+
Index: frontend/node_modules/detect-node/index.esm.js
===================================================================
--- frontend/node_modules/detect-node/index.esm.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/detect-node/index.esm.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,2 @@
+// Only Node.JS has a process variable that is of [[Class]] process
+export default Object.prototype.toString.call(typeof process !== 'undefined' ? process : 0) === '[object process]';
Index: frontend/node_modules/detect-node/index.js
===================================================================
--- frontend/node_modules/detect-node/index.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/detect-node/index.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,2 @@
+// Only Node.JS has a process variable that is of [[Class]] process
+module.exports = Object.prototype.toString.call(typeof process !== 'undefined' ? process : 0) === '[object process]';
Index: frontend/node_modules/detect-node/package.json
===================================================================
--- frontend/node_modules/detect-node/package.json	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/detect-node/package.json	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,25 @@
+{
+  "name": "detect-node",
+  "version": "2.1.0",
+  "description": "Detect Node.JS (as opposite to browser environment) (reliable)",
+  "main": "index.js",
+  "module": "index.esm.js",
+  "browser": "browser.js",
+  "scripts": {
+    "test": "echo \"Error: no test specified\" && exit 1"
+  },
+  "repository": {
+    "type": "git",
+    "url": "https://github.com/iliakan/detect-node"
+  },
+  "keywords": [
+    "detect",
+    "node"
+  ],
+  "author": "Ilya Kantor",
+  "license": "MIT",
+  "bugs": {
+    "url": "https://github.com/iliakan/detect-node/issues"
+  },
+  "homepage": "https://github.com/iliakan/detect-node"
+}
