eddev 2.0.0-beta.227 → 2.0.0-beta.229

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.
@@ -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;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;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"}
1
+ {"version":3,"file":"server-context.d.ts","sourceRoot":"","sources":["../../../src/app/server/server-context.ts"],"names":[],"mappings":"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"}
@@ -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.226";
1
+ export declare const VERSION = "2.0.0-beta.227";
2
2
  //# sourceMappingURL=version.d.ts.map
@@ -1 +1 @@
1
- export const VERSION = "2.0.0-beta.226";
1
+ export const VERSION = "2.0.0-beta.227";
@@ -0,0 +1,3 @@
1
+ import { EDCacheConfig, EDConfig } from "../project/config.js";
2
+ export declare function getCacheConfig(origin: string, config: EDConfig): EDCacheConfig;
3
+ //# sourceMappingURL=cache-config.d.ts.map
@@ -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;AAG/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,uBAqP3C"}
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 originDomain = new URL(args.origin).host;
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;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,aAwsB/C"}
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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoJzB,CAAA;AAEF,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAA;AAErD,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"}
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(z.object({
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,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "eddev",
3
- "version": "2.0.0-beta.227",
3
+ "version": "2.0.0-beta.229",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "type": "module",