gaearon / gaearon/react-hot-loader

reactHotLoader.register(comlink.wrap(worker)) cause comlink.wrap error

Open
#1,417 2 comments 1 reaction 1 assignee Claimed by @theKashey View on GitHub
Dominant language
JavaScript
Stars
12.2k
Forks
775
PR merge metrics
No merged PRs in 30d

Description

### Description

source
```js
import SomeWorker from './some.worker.js' // via worker-loader
import * as comlink from 'comlink'
const someWorker = comlink.wrap(new SomeWorker())
```

generated js
```js
reactHotLoader.register(someWorker, blabla)
```

What you are reporting:
the `register` body try to get some props on someWorker, produced by `comlink.wrap`
it's a `Proxy`. and errors like

![image](https://user-images.githubusercontent.com/4067115/74004670-69208780-49b1-11ea-9f3c-30927ccb4d73.png)

- `register` logic wants `someWorker.name`
- with `comlink.expose(obj)`, comlink call `obj.name[Symbol.toPrimitives]()`

### Expected behavior

be smart, don't wrap everything

### Actual behavior

the babel plugin is `register` ing all identifiers

### Environment

React Hot Loader version:

does not matter.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.