Add request cookie to HMR reload pipeline
This commit is contained in:
parent
9da1e16318
commit
596b9de047
2
dist/functions/server/handle-hmr.js
vendored
2
dist/functions/server/handle-hmr.js
vendored
@ -6,6 +6,7 @@ function removeController(controller) {
|
||||
}
|
||||
export default async function ({ req }) {
|
||||
const referer = req.headers.get("referer");
|
||||
const page_cookie = req.headers.get("cookie");
|
||||
if (!referer) {
|
||||
return new Response("Missing Referer Header", { status: 400 });
|
||||
}
|
||||
@ -29,6 +30,7 @@ export default async function ({ req }) {
|
||||
controller: c,
|
||||
page_url: referer_url.href,
|
||||
target_map,
|
||||
page_cookie,
|
||||
});
|
||||
heartbeat = setInterval(() => {
|
||||
try {
|
||||
|
||||
@ -34,9 +34,11 @@ export default async function serverPostBuildFn(params) {
|
||||
continue;
|
||||
}
|
||||
const mock_req = target_artifact.req_url
|
||||
? new Request(target_artifact.req_url)
|
||||
? new Request(target_artifact.req_url, {})
|
||||
: new Request(controller.page_url);
|
||||
// Always re-run server fns so fixed errors clear on the first HMR
|
||||
if (controller.page_cookie) {
|
||||
mock_req.headers.set("cookie", controller.page_cookie);
|
||||
}
|
||||
const page_component = await grabPageComponent({
|
||||
req: mock_req,
|
||||
return_server_res_only: true,
|
||||
|
||||
1
dist/types/index.d.ts
vendored
1
dist/types/index.d.ts
vendored
@ -314,6 +314,7 @@ export type GlobalHMRControllerObject = {
|
||||
target_map?: BundlerCTXMap;
|
||||
page_props?: any;
|
||||
page_reloaded?: boolean;
|
||||
page_cookie?: string | null;
|
||||
};
|
||||
export type BunextCacheFileMeta = {
|
||||
date_created: number;
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@moduletrace/bunext",
|
||||
"version": "1.0.101",
|
||||
"version": "1.0.102",
|
||||
"main": "dist/index.js",
|
||||
"module": "index.ts",
|
||||
"dependencies": {
|
||||
|
||||
@ -13,6 +13,8 @@ function removeController(controller: ReadableStreamDefaultController<string>) {
|
||||
|
||||
export default async function ({ req }: Params): Promise<Response> {
|
||||
const referer = req.headers.get("referer");
|
||||
const page_cookie = req.headers.get("cookie");
|
||||
|
||||
if (!referer) {
|
||||
return new Response("Missing Referer Header", { status: 400 });
|
||||
}
|
||||
@ -39,6 +41,7 @@ export default async function ({ req }: Params): Promise<Response> {
|
||||
controller: c,
|
||||
page_url: referer_url.href,
|
||||
target_map,
|
||||
page_cookie,
|
||||
});
|
||||
heartbeat = setInterval(() => {
|
||||
try {
|
||||
|
||||
@ -47,10 +47,13 @@ export default async function serverPostBuildFn(params?: Params) {
|
||||
}
|
||||
|
||||
const mock_req = target_artifact.req_url
|
||||
? new Request(target_artifact.req_url)
|
||||
? new Request(target_artifact.req_url, {})
|
||||
: new Request(controller.page_url);
|
||||
|
||||
// Always re-run server fns so fixed errors clear on the first HMR
|
||||
if (controller.page_cookie) {
|
||||
mock_req.headers.set("cookie", controller.page_cookie);
|
||||
}
|
||||
|
||||
const page_component = await grabPageComponent({
|
||||
req: mock_req,
|
||||
return_server_res_only: true,
|
||||
|
||||
@ -353,6 +353,7 @@ export type GlobalHMRControllerObject = {
|
||||
target_map?: BundlerCTXMap;
|
||||
page_props?: any;
|
||||
page_reloaded?: boolean;
|
||||
page_cookie?: string | null;
|
||||
};
|
||||
|
||||
export type BunextCacheFileMeta = {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user