aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--package.json7
-rw-r--r--src/loadlib.js4
2 files changed, 8 insertions, 3 deletions
diff --git a/package.json b/package.json
index 6bbad0a..0936559 100644
--- a/package.json
+++ b/package.json
@@ -46,9 +46,10 @@
},
"eslintConfig": {
"env": {
- "browser": true,
- "es6": true,
- "node": true
+ "browser": true,
+ "es6": true,
+ "node": true,
+ "worker": true
},
"extends": "eslint:recommended",
"rules": {
diff --git a/src/loadlib.js b/src/loadlib.js
index eb382c1..bb7792a 100644
--- a/src/loadlib.js
+++ b/src/loadlib.js
@@ -5,12 +5,16 @@ const lua = require('./lua.js');
const lauxlib = require('./lauxlib.js');
const global_env = (function() {
+ /* global WorkerGlobalScope */ /* see https://github.com/sindresorhus/globals/issues/127 */
if (typeof process !== "undefined") {
/* node */
return global;
} else if (typeof window !== "undefined") {
/* browser window */
return window;
+ } else if (typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope) {
+ /* web worker */
+ return self;
} else {
/* unknown global env */
return eval('this'); /* use non-strict mode to get global env */