andywer / andywer/threads.js

Do not set `global.self` if not needed

Open
#412 0 comments 2 reactions 0 assignees View on GitHub
Dominant language
TypeScript
Stars
3.5k
Forks
173
PR merge metrics
No merged PRs in 30d

Description

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!

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.