elm-hot
elm-hot copied to clipboard
Cannot init a headless Program
When the library gets used on top of a SharedWorker implemented as a worker program, the wrapping init function fails because document
does not exist in the context of the worker.
The failing line in my case is hmr.js#L174 but L170 is going to have the same problem.
Adding a simple guard if (typeof document !== 'undefined')
seems to solve the problem at least for me.
I've never used the service worker api before. If you could post a simple demo app as a gist, I'd be happy to fix the bug.
Demo here https://github.com/mingan/elm-hot-issue-demo.
The expected behaviour is to see log output (current time every 3 seconds) from the shared worker.
I kicked it off from a starter repo and apart from adding a shared worker loader, I had to downgrade Webpack to version 3 to replicate the issue. V4 ended up with a different error which seems unrelated to this project (the injected HMR code references window
directly).
thanks!