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 }) {
|
export default async function ({ req }) {
|
||||||
const referer = req.headers.get("referer");
|
const referer = req.headers.get("referer");
|
||||||
|
const page_cookie = req.headers.get("cookie");
|
||||||
if (!referer) {
|
if (!referer) {
|
||||||
return new Response("Missing Referer Header", { status: 400 });
|
return new Response("Missing Referer Header", { status: 400 });
|
||||||
}
|
}
|
||||||
@ -29,6 +30,7 @@ export default async function ({ req }) {
|
|||||||
controller: c,
|
controller: c,
|
||||||
page_url: referer_url.href,
|
page_url: referer_url.href,
|
||||||
target_map,
|
target_map,
|
||||||
|
page_cookie,
|
||||||
});
|
});
|
||||||
heartbeat = setInterval(() => {
|
heartbeat = setInterval(() => {
|
||||||
try {
|
try {
|
||||||
|
|||||||
@ -34,9 +34,11 @@ export default async function serverPostBuildFn(params) {
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
const mock_req = target_artifact.req_url
|
const mock_req = target_artifact.req_url
|
||||||
? new Request(target_artifact.req_url)
|
? new Request(target_artifact.req_url, {})
|
||||||
: new Request(controller.page_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({
|
const page_component = await grabPageComponent({
|
||||||
req: mock_req,
|
req: mock_req,
|
||||||
return_server_res_only: true,
|
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;
|
target_map?: BundlerCTXMap;
|
||||||
page_props?: any;
|
page_props?: any;
|
||||||
page_reloaded?: boolean;
|
page_reloaded?: boolean;
|
||||||
|
page_cookie?: string | null;
|
||||||
};
|
};
|
||||||
export type BunextCacheFileMeta = {
|
export type BunextCacheFileMeta = {
|
||||||
date_created: number;
|
date_created: number;
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@moduletrace/bunext",
|
"name": "@moduletrace/bunext",
|
||||||
"version": "1.0.101",
|
"version": "1.0.102",
|
||||||
"main": "dist/index.js",
|
"main": "dist/index.js",
|
||||||
"module": "index.ts",
|
"module": "index.ts",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
|||||||
@ -13,6 +13,8 @@ function removeController(controller: ReadableStreamDefaultController<string>) {
|
|||||||
|
|
||||||
export default async function ({ req }: Params): Promise<Response> {
|
export default async function ({ req }: Params): Promise<Response> {
|
||||||
const referer = req.headers.get("referer");
|
const referer = req.headers.get("referer");
|
||||||
|
const page_cookie = req.headers.get("cookie");
|
||||||
|
|
||||||
if (!referer) {
|
if (!referer) {
|
||||||
return new Response("Missing Referer Header", { status: 400 });
|
return new Response("Missing Referer Header", { status: 400 });
|
||||||
}
|
}
|
||||||
@ -39,6 +41,7 @@ export default async function ({ req }: Params): Promise<Response> {
|
|||||||
controller: c,
|
controller: c,
|
||||||
page_url: referer_url.href,
|
page_url: referer_url.href,
|
||||||
target_map,
|
target_map,
|
||||||
|
page_cookie,
|
||||||
});
|
});
|
||||||
heartbeat = setInterval(() => {
|
heartbeat = setInterval(() => {
|
||||||
try {
|
try {
|
||||||
|
|||||||
@ -47,10 +47,13 @@ export default async function serverPostBuildFn(params?: Params) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const mock_req = target_artifact.req_url
|
const mock_req = target_artifact.req_url
|
||||||
? new Request(target_artifact.req_url)
|
? new Request(target_artifact.req_url, {})
|
||||||
: new Request(controller.page_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({
|
const page_component = await grabPageComponent({
|
||||||
req: mock_req,
|
req: mock_req,
|
||||||
return_server_res_only: true,
|
return_server_res_only: true,
|
||||||
|
|||||||
@ -353,6 +353,7 @@ export type GlobalHMRControllerObject = {
|
|||||||
target_map?: BundlerCTXMap;
|
target_map?: BundlerCTXMap;
|
||||||
page_props?: any;
|
page_props?: any;
|
||||||
page_reloaded?: boolean;
|
page_reloaded?: boolean;
|
||||||
|
page_cookie?: string | null;
|
||||||
};
|
};
|
||||||
|
|
||||||
export type BunextCacheFileMeta = {
|
export type BunextCacheFileMeta = {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user