andywer / andywer/threads.js

create worker with *.ts when master in ts-node environment cause error

未关闭
#451 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
主要语言
TypeScript
星标
3.5k
派生
173
PR 合并指标
30 天内没有已合并 PR

描述

`spawn(new Worker('worker.ts'))` will cause error when the script is executed in **ts-node environment**. As follow:

```
Error [ERR_UNHANDLED_ERROR]: Unhandled error. ({
diagnosticText: 'app/util/worker.ts(8,2): error TS2695: Left side of comma operator is unused and has no side effects.\r\n',
diagnosticCodes: [ 2695 ]
})

```
I think it's because ts-node is registed multiple times, as thread.js register ts-node in https://github.com/andywer/threads.js/blob/master/src/master/implementation.node.ts#L55. Then error occurred:
https://github.com/TypeStrong/ts-node/issues/1690
https://github.com/TypeStrong/ts-node/issues/409

A simple way to fix this may be adding option to skip re-register, or detecting ts-node env by symbol it expose, like this: `if (process[Symbol.for("ts-node.register.instance")])`

Hope to check again if these are corrected. If necessary, I can provide a PR to fix this. Thanks a lot.

贡献指南

这个仓库没有索引到贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。