diff options
-rw-r--r-- | package.json | 7 | ||||
-rw-r--r-- | src/loadlib.js | 4 |
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 */ |