eddev 2.0.0-beta.83 → 2.0.0-beta.84
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/server-context.js +0 -2
- package/dist/node/cli/version.d.ts +1 -1
- package/dist/node/cli/version.js +1 -1
- package/dist/node/compiler/vinxi-app.js +6 -0
- package/dist/node/compiler/vinxi-codegen.js +28 -8
- package/dist/node/project/config.d.ts +77 -13
- package/dist/node/project/config.js +34 -5
- package/package.json +1 -1
|
@@ -66,14 +66,12 @@ export class ServerContext {
|
|
|
66
66
|
if (!response.ok) {
|
|
67
67
|
return response;
|
|
68
68
|
}
|
|
69
|
-
// console.log("Response headers", response.headers)
|
|
70
69
|
const headers = {};
|
|
71
70
|
response.headers.forEach((value, key) => {
|
|
72
71
|
if (filterHeader(key, PROXY_RESPONSE_HEADERS)) {
|
|
73
72
|
headers[key] = value;
|
|
74
73
|
}
|
|
75
74
|
});
|
|
76
|
-
// console.log("Returning headers", headers)
|
|
77
75
|
let text = await response.text();
|
|
78
76
|
if (opts?.replaceUrls) {
|
|
79
77
|
text = this.replaceUrls(text, opts.newOrigin);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const VERSION = "2.0.0-beta.
|
|
1
|
+
export declare const VERSION = "2.0.0-beta.84";
|
package/dist/node/cli/version.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export const VERSION = "2.0.0-beta.
|
|
1
|
+
export const VERSION = "2.0.0-beta.84";
|
|
@@ -181,22 +181,42 @@ export function createVinxiCodegen(opts) {
|
|
|
181
181
|
name: "handler.bypass.ts",
|
|
182
182
|
generate: code /* tsx */ `
|
|
183
183
|
/// <reference types="vinxi/types/server" />
|
|
184
|
-
import { createRouter, eventHandler,
|
|
185
|
-
|
|
184
|
+
import { createRouter, eventHandler, getCookie, setCookie } from "vinxi/http"
|
|
185
|
+
|
|
186
|
+
const BYPASS_TOKEN = process.env.VERCEL_BYPASS_TOKEN
|
|
187
|
+
const COOKIE_NAME = "__prerender_bypass"
|
|
188
|
+
|
|
186
189
|
const router = createRouter()
|
|
187
190
|
.get(
|
|
188
|
-
"/
|
|
191
|
+
"/enable",
|
|
189
192
|
eventHandler(async (event) => {
|
|
190
|
-
|
|
191
|
-
const cookieName = "__prerender_bypass"
|
|
193
|
+
if (!BYPASS_TOKEN) return false
|
|
192
194
|
|
|
193
|
-
setCookie(event,
|
|
195
|
+
setCookie(event, COOKIE_NAME, BYPASS_TOKEN, {
|
|
194
196
|
expires: new Date(Date.now() + 1000 * 60 * 60 * 24),
|
|
195
197
|
})
|
|
196
198
|
|
|
197
|
-
return
|
|
198
|
-
|
|
199
|
+
return true
|
|
200
|
+
}),
|
|
201
|
+
)
|
|
202
|
+
.get(
|
|
203
|
+
"/disable",
|
|
204
|
+
eventHandler(async (event) => {
|
|
205
|
+
setCookie(event, COOKIE_NAME, "")
|
|
206
|
+
|
|
207
|
+
return true
|
|
208
|
+
}),
|
|
209
|
+
)
|
|
210
|
+
.get(
|
|
211
|
+
"/check",
|
|
212
|
+
eventHandler(async (event) => {
|
|
213
|
+
const cookie = getCookie(event, COOKIE_NAME)
|
|
214
|
+
|
|
215
|
+
if (cookie === BYPASS_TOKEN) {
|
|
216
|
+
return true
|
|
199
217
|
}
|
|
218
|
+
|
|
219
|
+
return false
|
|
200
220
|
}),
|
|
201
221
|
)
|
|
202
222
|
export default router.handler
|
|
@@ -72,19 +72,77 @@ export declare const EDConfigSchema: z.ZodObject<{
|
|
|
72
72
|
origins?: string[] | undefined;
|
|
73
73
|
} | undefined;
|
|
74
74
|
}>;
|
|
75
|
-
cache: z.
|
|
76
|
-
|
|
77
|
-
|
|
75
|
+
cache: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
76
|
+
wordpress: z.ZodDefault<z.ZodOptional<z.ZodObject<{
|
|
77
|
+
strategy: z.ZodEnum<["always", "ssr-always-fresh"]>;
|
|
78
|
+
cacheHeaders: z.ZodDefault<z.ZodBoolean>;
|
|
79
|
+
transients: z.ZodDefault<z.ZodBoolean>;
|
|
80
|
+
}, "strip", z.ZodTypeAny, {
|
|
81
|
+
strategy: "always" | "ssr-always-fresh";
|
|
82
|
+
cacheHeaders: boolean;
|
|
83
|
+
transients: boolean;
|
|
84
|
+
}, {
|
|
85
|
+
strategy: "always" | "ssr-always-fresh";
|
|
86
|
+
cacheHeaders?: boolean | undefined;
|
|
87
|
+
transients?: boolean | undefined;
|
|
88
|
+
}>>>;
|
|
89
|
+
serverless: z.ZodDefault<z.ZodOptional<z.ZodObject<{
|
|
90
|
+
isr: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
91
|
+
dataCache: z.ZodDefault<z.ZodEnum<["in-memory", "kv", "none"]>>;
|
|
92
|
+
}, "strip", z.ZodTypeAny, {
|
|
93
|
+
isr: boolean;
|
|
94
|
+
dataCache: "none" | "in-memory" | "kv";
|
|
95
|
+
}, {
|
|
96
|
+
isr?: boolean | undefined;
|
|
97
|
+
dataCache?: "none" | "in-memory" | "kv" | undefined;
|
|
98
|
+
}>>>;
|
|
99
|
+
pageDataTTL: z.ZodDefault<z.ZodNumber>;
|
|
100
|
+
appDataTTL: z.ZodDefault<z.ZodNumber>;
|
|
101
|
+
queryHooksTTL: z.ZodDefault<z.ZodNumber>;
|
|
78
102
|
}, "strip", z.ZodTypeAny, {
|
|
79
|
-
|
|
80
|
-
|
|
103
|
+
wordpress: {
|
|
104
|
+
strategy: "always" | "ssr-always-fresh";
|
|
105
|
+
cacheHeaders: boolean;
|
|
106
|
+
transients: boolean;
|
|
107
|
+
};
|
|
108
|
+
serverless: {
|
|
109
|
+
isr: boolean;
|
|
110
|
+
dataCache: "none" | "in-memory" | "kv";
|
|
111
|
+
};
|
|
112
|
+
pageDataTTL: number;
|
|
113
|
+
appDataTTL: number;
|
|
114
|
+
queryHooksTTL: number;
|
|
81
115
|
}, {
|
|
82
|
-
|
|
83
|
-
|
|
116
|
+
wordpress?: {
|
|
117
|
+
strategy: "always" | "ssr-always-fresh";
|
|
118
|
+
cacheHeaders?: boolean | undefined;
|
|
119
|
+
transients?: boolean | undefined;
|
|
120
|
+
} | undefined;
|
|
121
|
+
serverless?: {
|
|
122
|
+
isr?: boolean | undefined;
|
|
123
|
+
dataCache?: "none" | "in-memory" | "kv" | undefined;
|
|
124
|
+
} | undefined;
|
|
125
|
+
pageDataTTL?: number | undefined;
|
|
126
|
+
appDataTTL?: number | undefined;
|
|
127
|
+
queryHooksTTL?: number | undefined;
|
|
84
128
|
}>>>;
|
|
85
129
|
devUI: z.ZodDefault<z.ZodEnum<["disabled", "enabled"]>>;
|
|
86
130
|
}, "strip", z.ZodTypeAny, {
|
|
87
131
|
version: "2";
|
|
132
|
+
cache: Record<string, {
|
|
133
|
+
wordpress: {
|
|
134
|
+
strategy: "always" | "ssr-always-fresh";
|
|
135
|
+
cacheHeaders: boolean;
|
|
136
|
+
transients: boolean;
|
|
137
|
+
};
|
|
138
|
+
serverless: {
|
|
139
|
+
isr: boolean;
|
|
140
|
+
dataCache: "none" | "in-memory" | "kv";
|
|
141
|
+
};
|
|
142
|
+
pageDataTTL: number;
|
|
143
|
+
appDataTTL: number;
|
|
144
|
+
queryHooksTTL: number;
|
|
145
|
+
}>;
|
|
88
146
|
legacyMetadata: boolean;
|
|
89
147
|
legacyStitches: boolean;
|
|
90
148
|
serverless: {
|
|
@@ -102,10 +160,6 @@ export declare const EDConfigSchema: z.ZodObject<{
|
|
|
102
160
|
} | undefined;
|
|
103
161
|
};
|
|
104
162
|
devUI: "disabled" | "enabled";
|
|
105
|
-
cache?: Record<string, {
|
|
106
|
-
props: number;
|
|
107
|
-
queries: number;
|
|
108
|
-
}> | undefined;
|
|
109
163
|
$schema?: string | undefined;
|
|
110
164
|
trackers?: ({
|
|
111
165
|
id: string;
|
|
@@ -131,8 +185,18 @@ export declare const EDConfigSchema: z.ZodObject<{
|
|
|
131
185
|
} | undefined;
|
|
132
186
|
};
|
|
133
187
|
cache?: Record<string, {
|
|
134
|
-
|
|
135
|
-
|
|
188
|
+
wordpress?: {
|
|
189
|
+
strategy: "always" | "ssr-always-fresh";
|
|
190
|
+
cacheHeaders?: boolean | undefined;
|
|
191
|
+
transients?: boolean | undefined;
|
|
192
|
+
} | undefined;
|
|
193
|
+
serverless?: {
|
|
194
|
+
isr?: boolean | undefined;
|
|
195
|
+
dataCache?: "none" | "in-memory" | "kv" | undefined;
|
|
196
|
+
} | undefined;
|
|
197
|
+
pageDataTTL?: number | undefined;
|
|
198
|
+
appDataTTL?: number | undefined;
|
|
199
|
+
queryHooksTTL?: number | undefined;
|
|
136
200
|
}> | undefined;
|
|
137
201
|
$schema?: string | undefined;
|
|
138
202
|
legacyMetadata?: boolean | undefined;
|
|
@@ -68,12 +68,41 @@ export const EDConfigSchema = z.object({
|
|
|
68
68
|
.optional(),
|
|
69
69
|
}),
|
|
70
70
|
cache: z
|
|
71
|
-
.record(z.
|
|
72
|
-
|
|
73
|
-
|
|
71
|
+
.record(z.object({
|
|
72
|
+
wordpress: z
|
|
73
|
+
.object({
|
|
74
|
+
strategy: z.enum(["always", "ssr-always-fresh"]),
|
|
75
|
+
cacheHeaders: z.boolean().default(true).describe("Whether to add caching headers to data requests."),
|
|
76
|
+
transients: z.boolean().default(true).describe("Whether to cache within transients."),
|
|
77
|
+
})
|
|
78
|
+
.optional()
|
|
79
|
+
.default({ strategy: "always", cacheHeaders: true, transients: true }),
|
|
80
|
+
serverless: z
|
|
81
|
+
.object({
|
|
82
|
+
isr: z
|
|
83
|
+
.boolean()
|
|
84
|
+
.optional()
|
|
85
|
+
.default(true)
|
|
86
|
+
.describe("Whether to use Incremental Static Regeneration for this origin."),
|
|
87
|
+
dataCache: z
|
|
88
|
+
.enum(["in-memory", "kv", "none"])
|
|
89
|
+
.default("in-memory")
|
|
90
|
+
.describe("The cache strategy to use for page data."),
|
|
91
|
+
})
|
|
92
|
+
.optional()
|
|
93
|
+
.default({ isr: true, dataCache: "in-memory" }),
|
|
94
|
+
pageDataTTL: z.number().default(300).describe("The number of seconds to cache page data."),
|
|
95
|
+
appDataTTL: z.number().default(300).describe("The number of seconds to cache global app data."),
|
|
96
|
+
queryHooksTTL: z.number().default(300).describe("The number of seconds to cache named GraphQL queries."),
|
|
74
97
|
}))
|
|
75
|
-
.
|
|
76
|
-
|
|
98
|
+
.default({
|
|
99
|
+
"*": {
|
|
100
|
+
pageDataTTL: 300,
|
|
101
|
+
appDataTTL: 300,
|
|
102
|
+
queryHooksTTL: 300,
|
|
103
|
+
},
|
|
104
|
+
})
|
|
105
|
+
.describe("A map of WordPress origin hostnames -> cache settings. Wildcards can be used for each domain."),
|
|
77
106
|
devUI: z.enum(["disabled", "enabled"]).default("enabled"),
|
|
78
107
|
});
|
|
79
108
|
export class Configurator {
|