This repository has been archived by the owner on Nov 6, 2023. It is now read-only.
Force client side HMR inference for out-of-the-box HTTPS support #74
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The current implementation to achieve HTTPS is far from ideal, and this PR will do what is more aligned with how the other SPA proxies work, namely force the client webpack script to use this SPA proxy to also proxy HMR websocket connections.
As seen above, this is how it currently works; since the HMR endpoint is hard-coded to point to the Vue CLI server, it doesn't use the correct protocol.
With this PR we force the browser to use the current host as HMR endpoint, and just pass the websockets through the same proxy we use for other requests.
This lets us skip setting up Vue CLI with certificates, just try out the sample, it is now using HTTPS by default.
I'd wish we had a better way to force this inference than the magical environment variable, there is a fairly old issue for Vue CLI here: vuejs/vue-cli#3620