eddev 2.0.0-beta.227 → 2.0.0-beta.228
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.d.ts +3 -1
- package/dist/app/server/server-context.d.ts.map +1 -1
- package/dist/app/server/server-context.js +3 -1
- package/dist/node/cli/version.d.ts +1 -1
- package/dist/node/cli/version.js +1 -1
- package/dist/node/compiler/cache-config.d.ts +3 -0
- package/dist/node/compiler/cache-config.d.ts.map +1 -0
- package/dist/node/compiler/cache-config.js +16 -0
- package/dist/node/compiler/vinxi-app.d.ts.map +1 -1
- package/dist/node/compiler/vinxi-app.js +4 -16
- package/dist/node/compiler/vinxi-codegen.d.ts.map +1 -1
- package/dist/node/compiler/vinxi-codegen.js +2 -0
- package/dist/node/project/config.d.ts +55 -0
- package/dist/node/project/config.d.ts.map +1 -1
- package/dist/node/project/config.js +31 -30
- package/package.json +1 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Manifest } from "vinxi/dist/types/types/manifest";
|
|
2
2
|
import { H3Event, RequestHeaders } from "vinxi/http";
|
|
3
|
-
import type { EDConfig } from "../../node/project/config.js";
|
|
3
|
+
import type { EDCacheConfig, EDConfig } from "../../node/project/config.js";
|
|
4
4
|
import { TrackerTags } from "../lib/routing/types.js";
|
|
5
5
|
import { UrlReplacerConf } from "./utils/replace-host.js";
|
|
6
6
|
import { QueryMonitor } from "../utils/query-monitor.js";
|
|
@@ -10,6 +10,7 @@ export type ServerContextArgs = {
|
|
|
10
10
|
replaceUrls?: UrlReplacerConf;
|
|
11
11
|
rpcBases?: string[];
|
|
12
12
|
config: EDConfig;
|
|
13
|
+
cacheConfig: EDCacheConfig;
|
|
13
14
|
};
|
|
14
15
|
export type ServerContextRuntime = {
|
|
15
16
|
getManifest: (name: string) => Manifest;
|
|
@@ -27,6 +28,7 @@ export declare class ServerContext {
|
|
|
27
28
|
_urlReplacer?: (text: string, origin?: string) => string;
|
|
28
29
|
rpcBases: string[];
|
|
29
30
|
config: EDConfig;
|
|
31
|
+
cacheConfig: EDCacheConfig;
|
|
30
32
|
static main: ServerContext;
|
|
31
33
|
constructor(conf: ServerContextArgs);
|
|
32
34
|
replaceUrls(text: string, origin?: string): string;
|
|
@@ -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,OAAO,EAAE,cAAc,EAAoC,MAAM,YAAY,CAAA;AACtF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAA;
|
|
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,OAAO,EAAE,cAAc,EAAoC,MAAM,YAAY,CAAA;AACtF,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAA;AAE3E,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;IAChB,WAAW,EAAE,aAAa,CAAA;CAC3B,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;IAChB,WAAW,EAAE,aAAa,CAAA;IAE1B,MAAM,CAAC,IAAI,EAAE,aAAa,CAAA;gBAEd,IAAI,EAAE,iBAAiB;IAYnC,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;IA6D/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,YAAY,CAAC,KAAK,EAAE,OAAO;IAc3B,aAAa,CAAC,YAAY,EAAE,MAAM;IAUlC,cAAc,CAAC,MAAM,EAAE,MAAM;;;;;;;;;;;;;CAiD9B"}
|
|
@@ -27,12 +27,14 @@ export class ServerContext {
|
|
|
27
27
|
_urlReplacer;
|
|
28
28
|
rpcBases = [];
|
|
29
29
|
config;
|
|
30
|
+
cacheConfig;
|
|
30
31
|
static main;
|
|
31
32
|
constructor(conf) {
|
|
32
33
|
this.dev = conf.dev;
|
|
33
34
|
this.origin = conf.origin;
|
|
34
35
|
this.rpcBases = conf.rpcBases ?? [];
|
|
35
36
|
this.config = conf.config;
|
|
37
|
+
this.cacheConfig = conf.cacheConfig;
|
|
36
38
|
if (conf.replaceUrls) {
|
|
37
39
|
this._urlReplacer = createUrlReplacer(conf.replaceUrls);
|
|
38
40
|
}
|
|
@@ -177,7 +179,7 @@ export class ServerContext {
|
|
|
177
179
|
const result = await swr({
|
|
178
180
|
key: cacheKey,
|
|
179
181
|
cache: pageCache,
|
|
180
|
-
forceFresh: this.dev || req.bypass,
|
|
182
|
+
forceFresh: this.dev || req.bypass || this.cacheConfig.wordpress.strategy === "ssr-always-fresh",
|
|
181
183
|
getFreshValue: async (ctx) => {
|
|
182
184
|
const fetchUrl = withQuery(withTrailingSlash(req.pathname), {
|
|
183
185
|
_props: "1",
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const VERSION = "2.0.0-beta.
|
|
1
|
+
export declare const VERSION = "2.0.0-beta.227";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
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.227";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cache-config.d.ts","sourceRoot":"","sources":["../../../src/node/compiler/cache-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAuB,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAEnF,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAG,aAAa,CAiB9E"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { EDCacheConfigSchema } from "../project/config.js";
|
|
2
|
+
export function getCacheConfig(origin, config) {
|
|
3
|
+
const originDomain = new URL(origin).host;
|
|
4
|
+
let cacheConfig = config.cache[originDomain] ??
|
|
5
|
+
config.cache["*"] ??
|
|
6
|
+
EDCacheConfigSchema.parse({
|
|
7
|
+
appDataTTL: 0,
|
|
8
|
+
pageDataTTL: 0,
|
|
9
|
+
queryHooksTTL: 0,
|
|
10
|
+
serverless: {
|
|
11
|
+
isr: true,
|
|
12
|
+
dataCache: "in-memory",
|
|
13
|
+
},
|
|
14
|
+
});
|
|
15
|
+
return cacheConfig;
|
|
16
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vinxi-app.d.ts","sourceRoot":"","sources":["../../../src/node/compiler/vinxi-app.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AAGtD,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"vinxi-app.d.ts","sourceRoot":"","sources":["../../../src/node/compiler/vinxi-app.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AAGtD,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAI/C,MAAM,MAAM,OAAO,GAAG;IACpB,IAAI,EAAE,aAAa,GAAG,YAAY,CAAA;IAClC,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;IACd,GAAG,CAAC,EAAE,WAAW,CAAC,GAAG,CAAC,CAAA;IACtB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,WAAW,EAAE,CAAA;IACtB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;IACnB,MAAM,EAAE,QAAQ,CAAA;CACjB,CAAA;AAED,KAAK,UAAU,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,SAAS,GAAG,MAAM,CAAA;AAC7D,KAAK,mBAAmB,GAAG,CAAC,GAAG,EAAE,OAAO,KAAK,QAAQ,CAAA;AACrD,KAAK,iBAAiB,GAAG,MAAM,CAAC,UAAU,EAAE,mBAAmB,CAAC,CAAA;AAEhE,KAAK,WAAW,GAAG;IACjB,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,OAAO,CAAC,iBAAiB,CAAC,CAAA;CAC1C,CAAA;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,OAAO,uBAuO3C"}
|
|
@@ -4,6 +4,7 @@ import tsconfigPaths from "vite-tsconfig-paths";
|
|
|
4
4
|
import { StatefulLog } from "../utils/stateful-log.js";
|
|
5
5
|
import { corePlugins, envPlugin } from "./get-vite-config.js";
|
|
6
6
|
import { getVinxiFolder } from "./vinxi-codegen.js";
|
|
7
|
+
import { getCacheConfig } from "./cache-config.js";
|
|
7
8
|
export function createVinxiApp(args) {
|
|
8
9
|
const log = args.log ?? new StatefulLog({ label: "Build" });
|
|
9
10
|
const folder = "./.eddev/" +
|
|
@@ -11,22 +12,7 @@ export function createVinxiApp(args) {
|
|
|
11
12
|
mode: args.mode,
|
|
12
13
|
serverless: true,
|
|
13
14
|
});
|
|
14
|
-
const
|
|
15
|
-
let cacheConfig = args.config.cache[originDomain] ??
|
|
16
|
-
args.config.cache["*"] ?? {
|
|
17
|
-
appDataTTL: 0,
|
|
18
|
-
pageDataTTL: 0,
|
|
19
|
-
queryHooksTTL: 0,
|
|
20
|
-
serverless: {
|
|
21
|
-
isr: true,
|
|
22
|
-
dataCache: "in-memory",
|
|
23
|
-
},
|
|
24
|
-
};
|
|
25
|
-
// for (let key in args.config.cache) {
|
|
26
|
-
// if (key === "*") continue
|
|
27
|
-
// const domain = key.replace(/(^\*|\/$)/g, "")
|
|
28
|
-
// args.origin
|
|
29
|
-
// if (domain.includes("*")) {
|
|
15
|
+
const cacheConfig = getCacheConfig(args.origin, args.config);
|
|
30
16
|
return createApp({
|
|
31
17
|
server: {
|
|
32
18
|
// experimental: {
|
|
@@ -81,6 +67,7 @@ export function createVinxiApp(args) {
|
|
|
81
67
|
isr: {
|
|
82
68
|
expiration: cacheConfig.pageDataTTL ?? 0,
|
|
83
69
|
allowQuery: [],
|
|
70
|
+
group: 1,
|
|
84
71
|
passQuery: false,
|
|
85
72
|
},
|
|
86
73
|
cache: {
|
|
@@ -107,6 +94,7 @@ export function createVinxiApp(args) {
|
|
|
107
94
|
isr: {
|
|
108
95
|
expiration: cacheConfig.pageDataTTL ?? 0,
|
|
109
96
|
allowQuery: [],
|
|
97
|
+
group: 1,
|
|
110
98
|
passQuery: false,
|
|
111
99
|
},
|
|
112
100
|
swr: true,
|
|
@@ -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;
|
|
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;AAGlD,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,aAysB/C"}
|
|
@@ -2,6 +2,7 @@ import { camelCase, pascalCase } from "change-case-all";
|
|
|
2
2
|
import { code, imp } from "ts-poet";
|
|
3
3
|
import { ProjectEnvUtils } from "../project/env.js";
|
|
4
4
|
import { FSCodegen } from "../utils/fs-codegen.js";
|
|
5
|
+
import { getCacheConfig } from "./cache-config.js";
|
|
5
6
|
export function getVinxiFolder(opts) {
|
|
6
7
|
return (opts.mode === "development" ? "dev" : "prod") + (opts.serverless ? "" : "-spa");
|
|
7
8
|
}
|
|
@@ -33,6 +34,7 @@ export function createVinxiCodegen(opts) {
|
|
|
33
34
|
},
|
|
34
35
|
rpcBases: (await project.serverRoutes.get()).bases ?? [],
|
|
35
36
|
config: project.config,
|
|
37
|
+
cacheConfig: getCacheConfig(project.origin, project.config),
|
|
36
38
|
};
|
|
37
39
|
return code /* tsx */ `
|
|
38
40
|
import { ServerContext } from "eddev/server"
|
|
@@ -1,5 +1,59 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
2
|
import { Project } from "./project.js";
|
|
3
|
+
export declare const EDCacheConfigSchema: z.ZodObject<{
|
|
4
|
+
wordpress: z.ZodDefault<z.ZodOptional<z.ZodObject<{
|
|
5
|
+
strategy: z.ZodOptional<z.ZodEnum<["always", "ssr-always-fresh"]>>;
|
|
6
|
+
cacheHeaders: z.ZodDefault<z.ZodBoolean>;
|
|
7
|
+
transients: z.ZodDefault<z.ZodBoolean>;
|
|
8
|
+
}, "strip", z.ZodTypeAny, {
|
|
9
|
+
cacheHeaders: boolean;
|
|
10
|
+
transients: boolean;
|
|
11
|
+
strategy?: "always" | "ssr-always-fresh" | undefined;
|
|
12
|
+
}, {
|
|
13
|
+
strategy?: "always" | "ssr-always-fresh" | undefined;
|
|
14
|
+
cacheHeaders?: boolean | undefined;
|
|
15
|
+
transients?: boolean | undefined;
|
|
16
|
+
}>>>;
|
|
17
|
+
serverless: z.ZodDefault<z.ZodOptional<z.ZodObject<{
|
|
18
|
+
isr: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
19
|
+
dataCache: z.ZodDefault<z.ZodEnum<["in-memory", "kv", "none"]>>;
|
|
20
|
+
}, "strip", z.ZodTypeAny, {
|
|
21
|
+
isr: boolean;
|
|
22
|
+
dataCache: "none" | "in-memory" | "kv";
|
|
23
|
+
}, {
|
|
24
|
+
isr?: boolean | undefined;
|
|
25
|
+
dataCache?: "none" | "in-memory" | "kv" | undefined;
|
|
26
|
+
}>>>;
|
|
27
|
+
pageDataTTL: z.ZodDefault<z.ZodNumber>;
|
|
28
|
+
appDataTTL: z.ZodDefault<z.ZodNumber>;
|
|
29
|
+
queryHooksTTL: z.ZodDefault<z.ZodNumber>;
|
|
30
|
+
}, "strip", z.ZodTypeAny, {
|
|
31
|
+
wordpress: {
|
|
32
|
+
cacheHeaders: boolean;
|
|
33
|
+
transients: boolean;
|
|
34
|
+
strategy?: "always" | "ssr-always-fresh" | undefined;
|
|
35
|
+
};
|
|
36
|
+
serverless: {
|
|
37
|
+
isr: boolean;
|
|
38
|
+
dataCache: "none" | "in-memory" | "kv";
|
|
39
|
+
};
|
|
40
|
+
pageDataTTL: number;
|
|
41
|
+
appDataTTL: number;
|
|
42
|
+
queryHooksTTL: number;
|
|
43
|
+
}, {
|
|
44
|
+
wordpress?: {
|
|
45
|
+
strategy?: "always" | "ssr-always-fresh" | undefined;
|
|
46
|
+
cacheHeaders?: boolean | undefined;
|
|
47
|
+
transients?: boolean | undefined;
|
|
48
|
+
} | undefined;
|
|
49
|
+
serverless?: {
|
|
50
|
+
isr?: boolean | undefined;
|
|
51
|
+
dataCache?: "none" | "in-memory" | "kv" | undefined;
|
|
52
|
+
} | undefined;
|
|
53
|
+
pageDataTTL?: number | undefined;
|
|
54
|
+
appDataTTL?: number | undefined;
|
|
55
|
+
queryHooksTTL?: number | undefined;
|
|
56
|
+
}>;
|
|
3
57
|
export declare const EDConfigSchema: z.ZodObject<{
|
|
4
58
|
$schema: z.ZodOptional<z.ZodString>;
|
|
5
59
|
version: z.ZodEffects<z.ZodEnum<["1", "2"]>, "2", "1" | "2">;
|
|
@@ -258,6 +312,7 @@ export declare const EDConfigSchema: z.ZodObject<{
|
|
|
258
312
|
devUI?: "disabled" | "enabled" | undefined;
|
|
259
313
|
}>;
|
|
260
314
|
export type EDConfig = z.infer<typeof EDConfigSchema>;
|
|
315
|
+
export type EDCacheConfig = z.infer<typeof EDCacheConfigSchema>;
|
|
261
316
|
export declare class Configurator {
|
|
262
317
|
project: Project;
|
|
263
318
|
config?: EDConfig;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/node/project/config.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAKvB,OAAO,EAAE,OAAO,EAAyB,MAAM,cAAc,CAAA;AAE7D,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/node/project/config.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAKvB,OAAO,EAAE,OAAO,EAAyB,MAAM,cAAc,CAAA;AAE7D,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6B9B,CAAA;AAEF,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqHzB,CAAA;AAEF,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAA;AACrD,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAA;AAE/D,qBAAa,YAAY;IAGI,OAAO,EAAE,OAAO;IAF3C,MAAM,CAAC,EAAE,QAAQ,CAAA;IAEjB,OAAO;WAEM,MAAM,CAAC,OAAO,EAAE,OAAO;IAM9B,IAAI;YAQI,kBAAkB;YAYlB,UAAU;IAiCxB,OAAO,CAAC,WAAW;IAOnB,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO;CAUzD"}
|
|
@@ -6,6 +6,36 @@ import { cliMode } from "../cli/cli-mode.js";
|
|
|
6
6
|
import { fs } from "../utils/fs.js";
|
|
7
7
|
import { isDeploying } from "../utils/is-deploying.js";
|
|
8
8
|
import { projectLog as console } from "./project.js";
|
|
9
|
+
export const EDCacheConfigSchema = z.object({
|
|
10
|
+
wordpress: z
|
|
11
|
+
.object({
|
|
12
|
+
strategy: z
|
|
13
|
+
.enum(["always", "ssr-always-fresh"])
|
|
14
|
+
.optional()
|
|
15
|
+
.describe("Deprecated. Use cacheHeaders/transients instead."),
|
|
16
|
+
cacheHeaders: z.boolean().default(true).describe("Whether to add caching headers to data requests."),
|
|
17
|
+
transients: z.boolean().default(true).describe("Whether to cache within transients."),
|
|
18
|
+
})
|
|
19
|
+
.optional()
|
|
20
|
+
.default({ strategy: "always", cacheHeaders: true, transients: true }),
|
|
21
|
+
serverless: z
|
|
22
|
+
.object({
|
|
23
|
+
isr: z
|
|
24
|
+
.boolean()
|
|
25
|
+
.optional()
|
|
26
|
+
.default(true)
|
|
27
|
+
.describe("Whether to use Incremental Static Regeneration for this origin."),
|
|
28
|
+
dataCache: z
|
|
29
|
+
.enum(["in-memory", "kv", "none"])
|
|
30
|
+
.default("in-memory")
|
|
31
|
+
.describe("The cache strategy to use for page data."),
|
|
32
|
+
})
|
|
33
|
+
.optional()
|
|
34
|
+
.default({ isr: true, dataCache: "in-memory" }),
|
|
35
|
+
pageDataTTL: z.number().default(300).describe("The number of seconds to cache page data."),
|
|
36
|
+
appDataTTL: z.number().default(300).describe("The number of seconds to cache global app data."),
|
|
37
|
+
queryHooksTTL: z.number().default(300).describe("The number of seconds to cache named GraphQL queries."),
|
|
38
|
+
});
|
|
9
39
|
export const EDConfigSchema = z.object({
|
|
10
40
|
$schema: z.string().optional(),
|
|
11
41
|
version: z.enum(["1", "2"]).refine((v) => v === "2", { message: "Only version 2 is supported" }),
|
|
@@ -93,36 +123,7 @@ export const EDConfigSchema = z.object({
|
|
|
93
123
|
.describe("Content Security Policy settings"),
|
|
94
124
|
}),
|
|
95
125
|
cache: z
|
|
96
|
-
.record(
|
|
97
|
-
wordpress: z
|
|
98
|
-
.object({
|
|
99
|
-
strategy: z
|
|
100
|
-
.enum(["always", "ssr-always-fresh"])
|
|
101
|
-
.optional()
|
|
102
|
-
.describe("Deprecated. Use cacheHeaders/transients instead."),
|
|
103
|
-
cacheHeaders: z.boolean().default(true).describe("Whether to add caching headers to data requests."),
|
|
104
|
-
transients: z.boolean().default(true).describe("Whether to cache within transients."),
|
|
105
|
-
})
|
|
106
|
-
.optional()
|
|
107
|
-
.default({ strategy: "always", cacheHeaders: true, transients: true }),
|
|
108
|
-
serverless: z
|
|
109
|
-
.object({
|
|
110
|
-
isr: z
|
|
111
|
-
.boolean()
|
|
112
|
-
.optional()
|
|
113
|
-
.default(true)
|
|
114
|
-
.describe("Whether to use Incremental Static Regeneration for this origin."),
|
|
115
|
-
dataCache: z
|
|
116
|
-
.enum(["in-memory", "kv", "none"])
|
|
117
|
-
.default("in-memory")
|
|
118
|
-
.describe("The cache strategy to use for page data."),
|
|
119
|
-
})
|
|
120
|
-
.optional()
|
|
121
|
-
.default({ isr: true, dataCache: "in-memory" }),
|
|
122
|
-
pageDataTTL: z.number().default(300).describe("The number of seconds to cache page data."),
|
|
123
|
-
appDataTTL: z.number().default(300).describe("The number of seconds to cache global app data."),
|
|
124
|
-
queryHooksTTL: z.number().default(300).describe("The number of seconds to cache named GraphQL queries."),
|
|
125
|
-
}))
|
|
126
|
+
.record(EDCacheConfigSchema)
|
|
126
127
|
.default({
|
|
127
128
|
"*": {
|
|
128
129
|
pageDataTTL: 300,
|