Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

vite: no livereload, scripts injects hmr runtime instead #8636

Merged
merged 3 commits into from
Jan 31, 2024

Conversation

pcattori
Copy link
Contributor

@pcattori pcattori commented Jan 30, 2024

Legacy compiler works

Screenshot 2024-01-30 at 9 53 24 PM

Vite w/ <LiveReload /> warns

Screenshot 2024-01-30 at 9 55 18 PM

Vite w/o <LiveReload /> works

Screenshot 2024-01-30 at 9 56 58 PM

Copy link

changeset-bot bot commented Jan 30, 2024

🦋 Changeset detected

Latest commit: 6202840

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 16 packages
Name Type
@remix-run/dev Patch
create-remix Patch
remix Patch
@remix-run/architect Patch
@remix-run/cloudflare Patch
@remix-run/cloudflare-pages Patch
@remix-run/cloudflare-workers Patch
@remix-run/css-bundle Patch
@remix-run/deno Patch
@remix-run/eslint-config Patch
@remix-run/express Patch
@remix-run/node Patch
@remix-run/react Patch
@remix-run/serve Patch
@remix-run/server-runtime Patch
@remix-run/testing Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@pcattori pcattori force-pushed the pedro/scripts-devonly branch 3 times, most recently from d1d6443 to 945f177 Compare January 30, 2024 17:30
@pcattori pcattori marked this pull request as ready for review January 30, 2024 20:47
Comment on lines -1293 to -1339
{
name: "remix-remix-react-proxy",
resolveId(id) {
if (id === remixReactProxyId) {
return VirtualModule.resolve(remixReactProxyId);
}
},
transform(code, id) {
// Don't transform the proxy itself, otherwise it will import itself
if (id === VirtualModule.resolve(remixReactProxyId)) {
return;
}

let hasLiveReloadHints =
code.includes("LiveReload") && code.includes("@remix-run/react");

// Don't transform files that don't need the proxy
if (!hasLiveReloadHints) {
return;
}

// Rewrite imports to use the proxy
return replaceImportSpecifier({
code,
specifier: "@remix-run/react",
replaceWith: remixReactProxyId,
});
},
load(id) {
if (id === VirtualModule.resolve(remixReactProxyId)) {
// TODO: ensure react refresh is initialized before `<Scripts />`
return [
'import { createElement } from "react";',
'export * from "@remix-run/react";',
`export const LiveReload = ${
viteCommand !== "serve"
} ? () => null : `,
'({ nonce = undefined }) => createElement("script", {',
" nonce,",
" dangerouslySetInnerHTML: { ",
" __html: `window.__remixLiveReloadEnabled = true`",
" }",
"});",
].join("\n");
}
},
},
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

😍

Copy link

@ArnaudBarre ArnaudBarre left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cool!

@pcattori pcattori merged commit 8f924e8 into dev Jan 31, 2024
9 checks passed
@pcattori pcattori deleted the pedro/scripts-devonly branch January 31, 2024 14:33
@github-actions github-actions bot added the awaiting release This issue has been fixed and will be released soon label Jan 31, 2024
Copy link
Contributor

🤖 Hello there,

We just published version 2.6.0-pre.0 which includes this pull request. If you'd like to take it for a test run please try it out and let us know what you think!

Thanks!

Copy link
Contributor

github-actions bot commented Feb 1, 2024

🤖 Hello there,

We just published version 2.6.0 which includes this pull request. If you'd like to take it for a test run please try it out and let us know what you think!

Thanks!

@github-actions github-actions bot removed the awaiting release This issue has been fixed and will be released soon label Feb 1, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants