threads.js icon indicating copy to clipboard operation
threads.js copied to clipboard

Do not set `global.self` if not needed

Open ohana54 opened this issue 2 years ago • 0 comments

Hi, We have a node CLI that uses threads.js, and discovered that global.self is being set by the library although it's not needed. It is always being set here, even if the tiny-worker implementation is not needed: https://github.com/andywer/threads.js/blob/545baa2533b25735b9e08b8b95c4d07a9a28120c/src/worker/implementation.tiny-worker.ts#L14-L16 This happens because it is always imported and the code is running on the module level.

This causes other 3rd party code we have to assume it's running in a browser. There might be a better way for the 3rd party to detect whether it's in a browser, although I think regardless we should not set self if not needed.

Would love to hear your thoughts, thanks!

ohana54 avatar Feb 09 '22 11:02 ohana54