gaearon / react-hot-loader

Tweak React components in real time. (Deprecated: use Fast Refresh instead.)

Home Page:http://gaearon.github.io/react-hot-loader/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

magicdawn opened this issue · comments

commented

Description

source

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

generated 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

  • 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.

commented

tried cold, that does not prevent reactHotLoader.register() code

Easy to reproduce 👍, I'll handle it.