eddev 2.0.0-beta.219 → 2.0.0-beta.220
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/app/server/render-ai-page.js +1 -1
- package/dist/app/server/render-ssr-page.d.ts +1 -0
- package/dist/app/server/render-ssr-page.d.ts.map +1 -1
- package/dist/app/server/render-ssr-page.js +2 -1
- package/dist/app/server/server-context.d.ts +5 -1
- package/dist/app/server/server-context.d.ts.map +1 -1
- package/dist/app/server/server-context.js +4 -4
- package/dist/node/compiler/vinxi-codegen.d.ts.map +1 -1
- package/dist/node/compiler/vinxi-codegen.js +19 -4
- package/package.json +1 -1
|
@@ -65,7 +65,7 @@ export async function renderPageForIndexing(args) {
|
|
|
65
65
|
const serverContext = ServerContext.main;
|
|
66
66
|
let responseInit = {};
|
|
67
67
|
const [{ appData }, response] = await Promise.all([
|
|
68
|
-
serverContext.fetchAppData(),
|
|
68
|
+
serverContext.fetchAppData({}),
|
|
69
69
|
serverContext.fetchRouteData({
|
|
70
70
|
pathname: args.pathname,
|
|
71
71
|
newOrigin: args.newOrigin,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render-ssr-page.d.ts","sourceRoot":"","sources":["../../../src/app/server/render-ssr-page.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAKrF,KAAK,OAAO,GAAG;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,qBAAqB,CAAA;IAClC,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAED,wBAAsB,YAAY,CAAC,IAAI,EAAE,OAAO,wDAyH/C;AAED,KAAK,UAAU,GAAG;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"render-ssr-page.d.ts","sourceRoot":"","sources":["../../../src/app/server/render-ssr-page.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAKrF,KAAK,OAAO,GAAG;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,qBAAqB,CAAA;IAClC,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAED,wBAAsB,YAAY,CAAC,IAAI,EAAE,OAAO,wDAyH/C;AAED,KAAK,UAAU,GAAG;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC9B,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB,CAAA;AAED,wBAAsB,UAAU,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,QAAQ,CAAC,CAyGpE;AAED,KAAK,mBAAmB,GAAG;IACzB,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,GAAG,CAAA;CAChB,GAAG,eAAe,CAAA;AAEnB,wBAAsB,eAAe,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,QAAQ,CAAC,CAiBlF;AAED,KAAK,KAAK,GAAG;IACX,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,CAAA;IACvC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,wBAAgB,WAAW,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,KAAK,UA6B1D"}
|
|
@@ -108,10 +108,11 @@ export async function renderPage(args) {
|
|
|
108
108
|
};
|
|
109
109
|
try {
|
|
110
110
|
const [{ appData, trackers }, response] = await Promise.all([
|
|
111
|
-
serverContext.fetchAppData(),
|
|
111
|
+
serverContext.fetchAppData({ bypass: args.bypass }),
|
|
112
112
|
serverContext.fetchRouteData({
|
|
113
113
|
pathname: args.pathname,
|
|
114
114
|
newOrigin: args.newOrigin,
|
|
115
|
+
bypass: args.bypass,
|
|
115
116
|
}),
|
|
116
117
|
]);
|
|
117
118
|
if (trackers) {
|
|
@@ -40,13 +40,17 @@ export declare class ServerContext {
|
|
|
40
40
|
debugLogQueryMonitor(kind: "props" | "mutation" | "query" | "app", uri: string, monitor: QueryMonitor.Entry[]): void;
|
|
41
41
|
fetchRouteData(req: {
|
|
42
42
|
pathname: string;
|
|
43
|
+
bypass?: boolean;
|
|
43
44
|
headers?: RequestHeaders;
|
|
44
45
|
newOrigin?: string;
|
|
45
46
|
}): Promise<Response>;
|
|
46
|
-
fetchAppData(
|
|
47
|
+
fetchAppData(args: {
|
|
48
|
+
bypass?: boolean;
|
|
49
|
+
}): Promise<ServerAppData>;
|
|
47
50
|
extractRequestHeaders(req?: RequestHeaders): Partial<Record<import("vinxi/http").HTTPHeaderName, string | undefined>>;
|
|
48
51
|
fetchNamedQuery(req: {
|
|
49
52
|
name: string;
|
|
53
|
+
bypass: boolean;
|
|
50
54
|
params: object;
|
|
51
55
|
headers: RequestHeaders;
|
|
52
56
|
}): Promise<Response>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server-context.d.ts","sourceRoot":"","sources":["../../../src/app/server/server-context.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAA;AAC1D,OAAO,EAAE,cAAc,
|
|
1
|
+
{"version":3,"file":"server-context.d.ts","sourceRoot":"","sources":["../../../src/app/server/server-context.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAA;AAC1D,OAAO,EAAE,cAAc,EAAc,MAAM,YAAY,CAAA;AACvD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAA;AAE5D,OAAO,EAAiC,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAEpF,OAAO,EAAqB,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAE5E,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAKxD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,GAAG,EAAE,OAAO,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,eAAe,CAAA;IAC7B,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;IACnB,MAAM,EAAE,QAAQ,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG;IACjC,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,QAAQ,CAAA;CACxC,CAAA;AAkBD;;GAEG;AACH,KAAK,aAAa,GAAG;IACnB,OAAO,EAAE,GAAG,CAAA;IACZ,QAAQ,EAAE,WAAW,CAAA;CACtB,CAAA;AAED,qBAAa,aAAa;IACxB,GAAG,EAAE,OAAO,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;IACd,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,MAAM,CAAA;IACxD,QAAQ,EAAE,MAAM,EAAE,CAAK;IACvB,MAAM,EAAE,QAAQ,CAAA;IAEhB,MAAM,CAAC,IAAI,EAAE,aAAa,CAAA;gBAEd,IAAI,EAAE,iBAAiB;IAWnC,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;IAOzC,IAAI,OAAO,yBAEV;IAED,MAAM,CAAC,UAAU,CAAC,EAAE,EAAE,oBAAoB;IAI1C,YAAY,CAAC,GAAG,EAAE,MAAM;IAQlB,WAAW,CACf,GAAG,EAAE,MAAM,EACX,IAAI,CAAC,EAAE,WAAW,GAAG;QAAE,WAAW,CAAC,EAAE,OAAO,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GACjE,OAAO,CAAC,QAAQ,CAAC;IAgCpB,oBAAoB,CAAC,IAAI,EAAE,OAAO,GAAG,UAAU,GAAG,OAAO,GAAG,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,CAAC,KAAK,EAAE;IAmFvG,cAAc,CAAC,GAAG,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,cAAc,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE;IA8GxG,YAAY,CAAC,IAAI,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,aAAa,CAAC;IAgCtE,qBAAqB,CAAC,GAAG,CAAC,EAAE,cAAc;IAYpC,eAAe,CAAC,GAAG,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,cAAc,CAAA;KAAE;IA4D/F,aAAa,CAAC,GAAG,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,cAAc,CAAA;KAAE;IAehF,IAAI,kBAAkB,aAcrB;IAED,aAAa,CAAC,YAAY,EAAE,MAAM;IAUlC,cAAc,CAAC,MAAM,EAAE,MAAM;;;;;;;;;;;;;CAiD9B"}
|
|
@@ -176,7 +176,7 @@ export class ServerContext {
|
|
|
176
176
|
const result = await swr({
|
|
177
177
|
key: cacheKey,
|
|
178
178
|
cache: pageCache,
|
|
179
|
-
forceFresh: this.dev,
|
|
179
|
+
forceFresh: this.dev || req.bypass,
|
|
180
180
|
getFreshValue: async (ctx) => {
|
|
181
181
|
const fetchUrl = withQuery(withTrailingSlash(req.pathname), {
|
|
182
182
|
_props: "1",
|
|
@@ -263,10 +263,10 @@ export class ServerContext {
|
|
|
263
263
|
headers: result.headers,
|
|
264
264
|
});
|
|
265
265
|
}
|
|
266
|
-
async fetchAppData() {
|
|
266
|
+
async fetchAppData(args) {
|
|
267
267
|
const data = await swr({
|
|
268
268
|
key: "fetchAppData",
|
|
269
|
-
cache: pageCache,
|
|
269
|
+
cache: pageCache || args.bypass,
|
|
270
270
|
getFreshValue: async (ctx) => {
|
|
271
271
|
const response = await this.fetchOrigin("/_appdata", {
|
|
272
272
|
cache: "no-cache",
|
|
@@ -340,7 +340,7 @@ export class ServerContext {
|
|
|
340
340
|
: await swr({
|
|
341
341
|
key,
|
|
342
342
|
cache: queryCache,
|
|
343
|
-
forceFresh: this.dev,
|
|
343
|
+
forceFresh: this.dev || req.bypass,
|
|
344
344
|
getFreshValue: async (ctx) => {
|
|
345
345
|
const result = await fetch();
|
|
346
346
|
ctx.metadata.ttl = result.cacheTime;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vinxi-codegen.d.ts","sourceRoot":"","sources":["../../../src/node/compiler/vinxi-codegen.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAElD,KAAK,OAAO,GAAG;IACb,IAAI,EAAE,aAAa,GAAG,YAAY,CAAA;IAClC,UAAU,EAAE,OAAO,CAAA;IACnB,OAAO,EAAE,OAAO,CAAA;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,CAAC,UAExE;AAED,wBAAsB,eAAe,CAAC,IAAI,EAAE,OAAO,iBAIlD;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"vinxi-codegen.d.ts","sourceRoot":"","sources":["../../../src/node/compiler/vinxi-codegen.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAElD,KAAK,OAAO,GAAG;IACb,IAAI,EAAE,aAAa,GAAG,YAAY,CAAA;IAClC,UAAU,EAAE,OAAO,CAAA;IACnB,OAAO,EAAE,OAAO,CAAA;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,CAAC,UAExE;AAED,wBAAsB,eAAe,CAAC,IAAI,EAAE,OAAO,iBAIlD;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,OAAO,aA8rB/C"}
|
|
@@ -248,6 +248,7 @@ export function createVinxiCodegen(opts) {
|
|
|
248
248
|
getRequestURL,
|
|
249
249
|
getRouterParam,
|
|
250
250
|
getWebRequest,
|
|
251
|
+
getCookie
|
|
251
252
|
} from "vinxi/http"
|
|
252
253
|
import { handleRPC } from "./rpc.js"
|
|
253
254
|
import { serverContext } from "./context.js"
|
|
@@ -256,6 +257,20 @@ export function createVinxiCodegen(opts) {
|
|
|
256
257
|
import { withTrailingSlash } from 'ufo'
|
|
257
258
|
import { viewManifestReader, blockManifestReader } from 'eddev/_internal'
|
|
258
259
|
|
|
260
|
+
const shouldBypass = (event: H3Event) => {
|
|
261
|
+
const bypassToken = process.env.VERCEL_BYPASS_TOKEN;
|
|
262
|
+
if (!bypassToken) return false
|
|
263
|
+
const cookieName = "__prerender_bypass";
|
|
264
|
+
|
|
265
|
+
if (getCookie(event, cookieName) === BYPASS_TOKEN) {
|
|
266
|
+
return true;
|
|
267
|
+
}
|
|
268
|
+
if (getHeader(event, "x-prerender-revalidate") === bypassToken) {
|
|
269
|
+
return true
|
|
270
|
+
}
|
|
271
|
+
return false
|
|
272
|
+
}
|
|
273
|
+
|
|
259
274
|
const router = createRouter()
|
|
260
275
|
.get(
|
|
261
276
|
"/_data/route/",
|
|
@@ -263,7 +278,7 @@ export function createVinxiCodegen(opts) {
|
|
|
263
278
|
const id = "/"
|
|
264
279
|
const url = getRequestURL(event)
|
|
265
280
|
|
|
266
|
-
return await serverContext.fetchRouteData({ pathname: id, newOrigin: url.origin })
|
|
281
|
+
return await serverContext.fetchRouteData({ pathname: id, newOrigin: url.origin, bypass: shouldBypass(event) })
|
|
267
282
|
}),
|
|
268
283
|
)
|
|
269
284
|
.get(
|
|
@@ -272,7 +287,7 @@ export function createVinxiCodegen(opts) {
|
|
|
272
287
|
const id = "/" + getRouterParam(event, "name")
|
|
273
288
|
const url = getRequestURL(event)
|
|
274
289
|
|
|
275
|
-
return await serverContext.fetchRouteData({ pathname: id, newOrigin: url.origin })
|
|
290
|
+
return await serverContext.fetchRouteData({ pathname: id, newOrigin: url.origin, bypass: shouldBypass(event) })
|
|
276
291
|
}),
|
|
277
292
|
)
|
|
278
293
|
.get(
|
|
@@ -291,7 +306,7 @@ export function createVinxiCodegen(opts) {
|
|
|
291
306
|
throw new Error("Invalid query parameters")
|
|
292
307
|
}
|
|
293
308
|
|
|
294
|
-
return await serverContext.fetchNamedQuery({ name: id, params: params, headers: getRequestHeaders(event) })
|
|
309
|
+
return await serverContext.fetchNamedQuery({ name: id, params: params, headers: getRequestHeaders(event), bypass: shouldBypass(event) })
|
|
295
310
|
}),
|
|
296
311
|
)
|
|
297
312
|
.get(
|
|
@@ -405,7 +420,7 @@ export function createVinxiCodegen(opts) {
|
|
|
405
420
|
}
|
|
406
421
|
|
|
407
422
|
// SSR
|
|
408
|
-
return renderPage({ pathname: url.pathname, newOrigin: url.origin, hostname: url.hostname })
|
|
423
|
+
return renderPage({ pathname: url.pathname, newOrigin: url.origin, hostname: url.hostname, bypass: shouldBypass(event) })
|
|
409
424
|
},
|
|
410
425
|
})
|
|
411
426
|
`,
|