@growth-labs/seo 0.2.6 → 0.2.8

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.
Files changed (78) hide show
  1. package/README.md +28 -5
  2. package/dist/cloudflare-workers.d.ts +5 -0
  3. package/dist/cloudflare-workers.d.ts.map +1 -0
  4. package/dist/cloudflare-workers.js +2 -0
  5. package/dist/cloudflare-workers.js.map +1 -0
  6. package/dist/index.d.ts +1 -0
  7. package/dist/index.d.ts.map +1 -1
  8. package/dist/index.js +1 -0
  9. package/dist/index.js.map +1 -1
  10. package/dist/middleware/seo.d.ts +1 -8
  11. package/dist/middleware/seo.d.ts.map +1 -1
  12. package/dist/middleware/seo.js +3 -6
  13. package/dist/middleware/seo.js.map +1 -1
  14. package/dist/options.d.ts +67 -40
  15. package/dist/options.d.ts.map +1 -1
  16. package/dist/options.js +11 -1
  17. package/dist/options.js.map +1 -1
  18. package/dist/routes/apple-news.d.ts.map +1 -1
  19. package/dist/routes/apple-news.js +2 -1
  20. package/dist/routes/apple-news.js.map +1 -1
  21. package/dist/routes/podcast-narration.d.ts.map +1 -1
  22. package/dist/routes/podcast-narration.js +2 -1
  23. package/dist/routes/podcast-narration.js.map +1 -1
  24. package/dist/routes/podcast.d.ts.map +1 -1
  25. package/dist/routes/podcast.js +2 -1
  26. package/dist/routes/podcast.js.map +1 -1
  27. package/dist/routes/revalidate.d.ts.map +1 -1
  28. package/dist/routes/revalidate.js +6 -3
  29. package/dist/routes/revalidate.js.map +1 -1
  30. package/dist/routes/robots.d.ts.map +1 -1
  31. package/dist/routes/robots.js +2 -1
  32. package/dist/routes/robots.js.map +1 -1
  33. package/dist/routes/rss.d.ts.map +1 -1
  34. package/dist/routes/rss.js +2 -1
  35. package/dist/routes/rss.js.map +1 -1
  36. package/dist/routes/sitemap-index.d.ts.map +1 -1
  37. package/dist/routes/sitemap-index.js +2 -1
  38. package/dist/routes/sitemap-index.js.map +1 -1
  39. package/dist/runtime.d.ts +11 -0
  40. package/dist/runtime.d.ts.map +1 -0
  41. package/dist/runtime.js +8 -0
  42. package/dist/runtime.js.map +1 -0
  43. package/dist/site-url-core.d.ts +10 -0
  44. package/dist/site-url-core.d.ts.map +1 -0
  45. package/dist/site-url-core.js +46 -0
  46. package/dist/site-url-core.js.map +1 -0
  47. package/dist/site-url.d.ts +5 -0
  48. package/dist/site-url.d.ts.map +1 -0
  49. package/dist/site-url.js +9 -0
  50. package/dist/site-url.js.map +1 -0
  51. package/dist/utils/apple-news-rss.d.ts +2 -2
  52. package/dist/utils/apple-news-rss.d.ts.map +1 -1
  53. package/dist/utils/index.d.ts +1 -0
  54. package/dist/utils/index.d.ts.map +1 -1
  55. package/dist/utils/index.js +1 -0
  56. package/dist/utils/index.js.map +1 -1
  57. package/dist/utils/json-ld/organization.d.ts +2 -2
  58. package/dist/utils/json-ld/organization.d.ts.map +1 -1
  59. package/dist/utils/json-ld/organization.js.map +1 -1
  60. package/dist/utils/json-ld/website.d.ts +2 -2
  61. package/dist/utils/json-ld/website.d.ts.map +1 -1
  62. package/dist/utils/json-ld/website.js.map +1 -1
  63. package/dist/utils/podcast.d.ts +2 -2
  64. package/dist/utils/podcast.d.ts.map +1 -1
  65. package/dist/utils/podcast.js.map +1 -1
  66. package/dist/utils/robots.d.ts +2 -2
  67. package/dist/utils/robots.d.ts.map +1 -1
  68. package/dist/utils/robots.js.map +1 -1
  69. package/dist/utils/rss.d.ts +2 -2
  70. package/dist/utils/rss.d.ts.map +1 -1
  71. package/dist/utils/rss.js.map +1 -1
  72. package/dist/utils/seo-head.d.ts +22 -0
  73. package/dist/utils/seo-head.d.ts.map +1 -0
  74. package/dist/utils/seo-head.js +40 -0
  75. package/dist/utils/seo-head.js.map +1 -0
  76. package/package.json +7 -1
  77. package/src/components/AeoHead.astro +2 -1
  78. package/src/components/SeoHead.astro +30 -10
package/README.md CHANGED
@@ -50,7 +50,7 @@ For paid publications where members see the full body and verified Googlebot get
50
50
 
51
51
  ```typescript
52
52
  seo({
53
- site: 'https://fronts.co',
53
+ site: { envVar: 'SITE_URL' },
54
54
  organization: { name: 'Fronts', logo: 'https://fronts.co/logo.png' },
55
55
  aeoTwins: {
56
56
  mode: 'middleware',
@@ -67,6 +67,18 @@ seo({
67
67
 
68
68
  Gated articles need `prerender: false` on their route file — enforced at build time via the prerender-gated-content guard.
69
69
 
70
+ ## Site URL Resolution
71
+
72
+ `site` accepts three forms:
73
+
74
+ ```typescript
75
+ seo({ site: 'https://fronts.co', ... })
76
+ seo({ site: () => 'https://fronts.co', ... })
77
+ seo({ site: { envVar: 'SITE_URL' }, ... })
78
+ ```
79
+
80
+ String values and resolver function return values are validated as URLs when Astro config is parsed. `{ envVar }` is resolved by runtime routes and head components from the standard Cloudflare Workers env binding (`cloudflare:workers`), then validated as a URL. `process.env` is only a Node/test fallback for local tooling; consumers do not need `nodejs_compat`, `process.env`, or a Fronts-local runtime shim for site URL resolution.
81
+
70
82
  ## wrangler.toml (required for middleware/both modes)
71
83
 
72
84
  ```toml
@@ -134,10 +146,20 @@ export default {
134
146
  - `/podcast.xml`, `/listen.xml`
135
147
  - `POST /_seo/revalidate` — CMS webhook target (when `onDemandRevalidation: true`)
136
148
 
137
- **Head-tag component** (`<AeoHead />`):
138
- - Consumers import `import AeoHead from '@growth-labs/seo/components/AeoHead.astro'` and render `<AeoHead />` inside their layout's `<head>`. Required because integrations can't directly inject arbitrary HTML into every page's `<head>`.
139
- - Emits the Apple News discovery link (`<link rel="alternate" type="application/rss+xml">`) when `appleNews.discoveryLink: true`.
140
- - Emits a per-page markdown twin link (`<link rel="alternate" type="text/markdown" href="<twinUrl>">`) for discoverability on prerendered HTML served by Cloudflare Assets where middleware doesn't run.
149
+ **Head-tag components**:
150
+ - `<SeoHead />` emits `<title>`, description, canonical, robots with `max-image-preview:large`, hreflang, OG/Twitter fields, Apple News discovery, markdown twin links, and JSON-LD. Use it in layouts instead of local meta shims.
151
+ - JSON-LD includes WebSite for non-content pages, Article/NewsArticle or Product for content pages, and VideoObject / AudioObject when `ContentItem.video` or `ContentItem.audio` is present.
152
+ - For `@growth-labs/opengraph`, pass `getOgImageUrl()` output as `item.image` or `defaults.defaultImage`; SeoHead uses that URL for `og:image` and `twitter:image`.
153
+ - `<AeoHead />` remains available standalone when a site only wants Apple News discovery and markdown twin links.
154
+
155
+ ## Runtime behavior
156
+
157
+ `@growth-labs/seo` self-seeds config through `virtual:growth-labs/seo/config`. Runtime entrypoints resolve bindings from the standard Cloudflare surfaces:
158
+
159
+ - `cloudflare:workers` for env bindings
160
+ - `Astro.locals.cfContext.waitUntil()` for background tasks
161
+
162
+ For `site: { envVar: 'SITE_URL' }`, the package reads `SITE_URL` from the Worker env binding at request time. The Node `process.env` fallback exists only for tests and build tooling.
141
163
 
142
164
  **Build-time:**
143
165
  - Emits `.md` twins + summary twins for public items (static/both modes) under `dist/client/`.
@@ -179,6 +201,7 @@ import { computeEffectiveAuthSegment } from '@growth-labs/seo/utils'
179
201
  ## Key patterns
180
202
 
181
203
  - Virtual module: `virtual:growth-labs/seo/config`
204
+ - Runtime routes and middleware resolve bindings from standard Cloudflare surfaces
182
205
  - AI crawler blocking: enforced at `robots.txt` AND per-request 403 on members items
183
206
  - `.md` twin canonical: emitted with `X-Robots-Tag: noindex` + `Link: <html-url>; rel="canonical"` — prevents Google from clustering the `.md` as a duplicate of the HTML
184
207
  - Summary twins: `.summary.md` companion emitted when `summaryTwin: true` (default), with a 4-tier fallback (item.summary → bullets → first-sentence-per-section → description-only)
@@ -0,0 +1,5 @@
1
+ declare module 'cloudflare:workers' {
2
+ const env: Record<string, unknown>;
3
+ }
4
+ export {};
5
+ //# sourceMappingURL=cloudflare-workers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cloudflare-workers.d.ts","sourceRoot":"","sources":["../src/cloudflare-workers.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,oBAAoB,CAAC;IAC5B,MAAM,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACzC;AAED,OAAO,EAAE,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=cloudflare-workers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cloudflare-workers.js","sourceRoot":"","sources":["../src/cloudflare-workers.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,CAAA"}
package/dist/index.d.ts CHANGED
@@ -3,6 +3,7 @@ import { type SeoOptions } from './options.js';
3
3
  export default function seo(userOptions: SeoOptions): AstroIntegration;
4
4
  export type { ResolvedSeoOptions, SeoOptions } from './options.js';
5
5
  export { resolveAeoTwins, seoOptionsSchema, validatedSeoOptionsSchema } from './options.js';
6
+ export { resolveSeoConfig, resolveSiteUrl } from './site-url-core.js';
6
7
  export { getConfig, getContentProvider } from './state.js';
7
8
  export type * from './types.js';
8
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,OAAO,CAAA;AAC7C,OAAO,EAAmB,KAAK,UAAU,EAA6B,MAAM,cAAc,CAAA;AAW1F,MAAM,CAAC,OAAO,UAAU,GAAG,CAAC,WAAW,EAAE,UAAU,GAAG,gBAAgB,CAmOrE;AAeD,YAAY,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAClE,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAA;AAC3F,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAC1D,mBAAmB,YAAY,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,OAAO,CAAA;AAC7C,OAAO,EAAmB,KAAK,UAAU,EAA6B,MAAM,cAAc,CAAA;AAW1F,MAAM,CAAC,OAAO,UAAU,GAAG,CAAC,WAAW,EAAE,UAAU,GAAG,gBAAgB,CAmOrE;AAeD,YAAY,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAClE,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAA;AAC3F,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACrE,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAC1D,mBAAmB,YAAY,CAAA"}
package/dist/index.js CHANGED
@@ -234,5 +234,6 @@ function findHtmlFiles(dir) {
234
234
  return results;
235
235
  }
236
236
  export { resolveAeoTwins, seoOptionsSchema, validatedSeoOptionsSchema } from './options.js';
237
+ export { resolveSeoConfig, resolveSiteUrl } from './site-url-core.js';
237
238
  export { getConfig, getContentProvider } from './state.js';
238
239
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,4 @@
1
1
  import 'virtual:growth-labs/seo/config';
2
- import type { SeoEnv } from '../bindings.js';
3
2
  import { type ResolvedSeoOptions } from '../options.js';
4
3
  import type { ContentItem, ContentProvider, CrawlerClass } from '../types.js';
5
4
  import { type RawAuthSegment } from '../utils/effective-auth.js';
@@ -23,13 +22,7 @@ export interface SeoMiddlewareContext {
23
22
  locals?: Record<string, unknown>;
24
23
  }
25
24
  export declare function createSeoMiddleware(options: ResolvedSeoOptions, contentProvider?: ContentProvider, deps?: SeoMiddlewareDeps): (context: SeoMiddlewareContext, next: () => Promise<Response>) => Promise<Response>;
26
- export declare const onRequest: (context: SeoMiddlewareContext & {
27
- locals?: {
28
- runtime?: {
29
- env?: SeoEnv;
30
- };
31
- };
32
- }, next: () => Promise<Response>) => Promise<Response>;
25
+ export declare const onRequest: (context: SeoMiddlewareContext, next: () => Promise<Response>) => Promise<Response>;
33
26
  declare function appendVaryHeaders(headers: Headers): void;
34
27
  declare function dedupVary(combined: string): string;
35
28
  declare function twinUrlFor(url: URL, aeo: {
@@ -1 +1 @@
1
- {"version":3,"file":"seo.d.ts","sourceRoot":"","sources":["../../src/middleware/seo.ts"],"names":[],"mappings":"AAAA,OAAO,gCAAgC,CAAA;AACvC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAC5C,OAAO,EAAE,KAAK,kBAAkB,EAAmB,MAAM,eAAe,CAAA;AAExE,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,YAAY,EAAwB,MAAM,aAAa,CAAA;AAGnG,OAAO,EAA+B,KAAK,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAE7F,OAAO,EAAE,KAAK,iBAAiB,EAAiC,MAAM,yBAAyB,CAAA;AAI/F,MAAM,WAAW,iBAAiB;IACjC,2EAA2E;IAC3E,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,YAAY,CAAC,CAAA;IACtD,wFAAwF;IACxF,UAAU,CAAC,EAAE,iBAAiB,CAAA;IAC9B,uEAAuE;IACvE,MAAM,CAAC,EAAE;QAAE,KAAK,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;KAAE,CAAA;IACvD,wEAAwE;IACxE,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,cAAc,CAAA;IACrD,0FAA0F;IAC1F,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK,IAAI,CAAA;CAC/C;AAED,MAAM,WAAW,oBAAoB;IACpC,OAAO,EAAE,OAAO,CAAA;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAChC;AAED,wBAAgB,mBAAmB,CAClC,OAAO,EAAE,kBAAkB,EAC3B,eAAe,CAAC,EAAE,eAAe,EACjC,IAAI,GAAE,iBAAsB,IAM3B,SAAS,oBAAoB,EAC7B,MAAM,MAAM,OAAO,CAAC,QAAQ,CAAC,KAC3B,OAAO,CAAC,QAAQ,CAAC,CAyFpB;AAMD,eAAO,MAAM,SAAS,GACrB,SAAS,oBAAoB,GAAG;IAAE,MAAM,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE;YAAE,GAAG,CAAC,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAA;CAAE,EAC3E,MAAM,MAAM,OAAO,CAAC,QAAQ,CAAC,KAC3B,OAAO,CAAC,QAAQ,CA+BlB,CAAA;AAqBD,iBAAS,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAIjD;AAED,iBAAS,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAM3C;AAOD,iBAAS,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;IAAE,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAA;CAAE,GAAG,MAAM,CAG9E;AAED,iBAAe,eAAe,CAC7B,eAAe,EAAE,eAAe,EAChC,OAAO,EAAE,oBAAoB,EAC7B,QAAQ,EAAE,MAAM,GACd,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CAmBlC;AA4GD,eAAO,MAAM,UAAU;;;;;CAKtB,CAAA"}
1
+ {"version":3,"file":"seo.d.ts","sourceRoot":"","sources":["../../src/middleware/seo.ts"],"names":[],"mappings":"AAAA,OAAO,gCAAgC,CAAA;AAEvC,OAAO,EAAE,KAAK,kBAAkB,EAAmB,MAAM,eAAe,CAAA;AAGxE,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,YAAY,EAAwB,MAAM,aAAa,CAAA;AAGnG,OAAO,EAA+B,KAAK,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAE7F,OAAO,EAAE,KAAK,iBAAiB,EAAiC,MAAM,yBAAyB,CAAA;AAI/F,MAAM,WAAW,iBAAiB;IACjC,2EAA2E;IAC3E,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,YAAY,CAAC,CAAA;IACtD,wFAAwF;IACxF,UAAU,CAAC,EAAE,iBAAiB,CAAA;IAC9B,uEAAuE;IACvE,MAAM,CAAC,EAAE;QAAE,KAAK,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;KAAE,CAAA;IACvD,wEAAwE;IACxE,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,cAAc,CAAA;IACrD,0FAA0F;IAC1F,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK,IAAI,CAAA;CAC/C;AAED,MAAM,WAAW,oBAAoB;IACpC,OAAO,EAAE,OAAO,CAAA;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAChC;AAED,wBAAgB,mBAAmB,CAClC,OAAO,EAAE,kBAAkB,EAC3B,eAAe,CAAC,EAAE,eAAe,EACjC,IAAI,GAAE,iBAAsB,IAM3B,SAAS,oBAAoB,EAC7B,MAAM,MAAM,OAAO,CAAC,QAAQ,CAAC,KAC3B,OAAO,CAAC,QAAQ,CAAC,CAyFpB;AAMD,eAAO,MAAM,SAAS,GACrB,SAAS,oBAAoB,EAC7B,MAAM,MAAM,OAAO,CAAC,QAAQ,CAAC,KAC3B,OAAO,CAAC,QAAQ,CA2BlB,CAAA;AAqBD,iBAAS,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAIjD;AAED,iBAAS,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAM3C;AAOD,iBAAS,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;IAAE,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAA;CAAE,GAAG,MAAM,CAG9E;AAED,iBAAe,eAAe,CAC7B,eAAe,EAAE,eAAe,EAChC,OAAO,EAAE,oBAAoB,EAC7B,QAAQ,EAAE,MAAM,GACd,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CAmBlC;AA4GD,eAAO,MAAM,UAAU;;;;;CAKtB,CAAA"}
@@ -1,5 +1,6 @@
1
1
  import 'virtual:growth-labs/seo/config';
2
2
  import { resolveAeoTwins } from '../options.js';
3
+ import { getRuntimeEnv, getWaitUntil } from '../runtime.js';
3
4
  import { getConfig, getContentProvider } from '../state.js';
4
5
  import { estimateTokenCount, generateAeoMarkdown } from '../utils/aeo.js';
5
6
  import { classifyRequest } from '../utils/crawler-class.js';
@@ -91,7 +92,7 @@ let _classifier;
91
92
  export const onRequest = async (context, next) => {
92
93
  const config = getConfig();
93
94
  const contentProvider = getContentProvider();
94
- const env = context.locals?.runtime?.env;
95
+ const env = getRuntimeEnv(context);
95
96
  const aeo = resolveAeoTwins(config.aeoTwins);
96
97
  // Wire bindings from env when aeoTwins is enabled. Middleware-mode requires R2+DO;
97
98
  // static-only consumers get the lighter path.
@@ -110,11 +111,7 @@ export const onRequest = async (context, next) => {
110
111
  const middleware = createSeoMiddleware(config, contentProvider, {
111
112
  freshLayer,
112
113
  assets: env?.ASSETS,
113
- waitUntil: (promise) => {
114
- const ctx = context.locals
115
- ?.cfContext;
116
- ctx?.waitUntil?.(promise);
117
- },
114
+ waitUntil: getWaitUntil(context),
118
115
  });
119
116
  return middleware(context, next);
120
117
  };
@@ -1 +1 @@
1
- {"version":3,"file":"seo.js","sourceRoot":"","sources":["../../src/middleware/seo.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"seo.js","sourceRoot":"","sources":["../../src/middleware/seo.ts"],"names":[],"mappings":"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"}
package/dist/options.d.ts CHANGED
@@ -78,7 +78,13 @@ declare const aeoTwinsObjectSchema: z.ZodObject<{
78
78
  } | undefined;
79
79
  }>;
80
80
  export declare const seoOptionsSchema: z.ZodObject<{
81
- site: z.ZodString;
81
+ site: z.ZodUnion<[z.ZodString, z.ZodEffects<z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodString>, string, (...args: unknown[]) => string>, z.ZodObject<{
82
+ envVar: z.ZodString;
83
+ }, "strict", z.ZodTypeAny, {
84
+ envVar: string;
85
+ }, {
86
+ envVar: string;
87
+ }>]>;
82
88
  organization: z.ZodObject<{
83
89
  name: z.ZodString;
84
90
  url: z.ZodOptional<z.ZodString>;
@@ -444,76 +450,78 @@ export declare const seoOptionsSchema: z.ZodObject<{
444
450
  url: z.ZodString;
445
451
  description: z.ZodString;
446
452
  }, "strip", z.ZodTypeAny, {
453
+ url: string;
447
454
  title: string;
448
455
  description: string;
449
- url: string;
450
456
  }, {
457
+ url: string;
451
458
  title: string;
452
459
  description: string;
453
- url: string;
454
460
  }>, "many">;
455
461
  }, "strip", z.ZodTypeAny, {
456
462
  heading: string;
457
463
  links: {
464
+ url: string;
458
465
  title: string;
459
466
  description: string;
460
- url: string;
461
467
  }[];
462
468
  }, {
463
469
  heading: string;
464
470
  links: {
471
+ url: string;
465
472
  title: string;
466
473
  description: string;
467
- url: string;
468
474
  }[];
469
475
  }>, "many">;
470
476
  optionalLinks: z.ZodOptional<z.ZodArray<z.ZodObject<{
471
477
  title: z.ZodString;
472
478
  url: z.ZodString;
473
479
  }, "strip", z.ZodTypeAny, {
474
- title: string;
475
480
  url: string;
476
- }, {
477
481
  title: string;
482
+ }, {
478
483
  url: string;
484
+ title: string;
479
485
  }>, "many">>;
480
486
  }, "strip", z.ZodTypeAny, {
481
487
  description: string;
482
488
  sections: {
483
489
  heading: string;
484
490
  links: {
491
+ url: string;
485
492
  title: string;
486
493
  description: string;
487
- url: string;
488
494
  }[];
489
495
  }[];
490
496
  optionalLinks?: {
491
- title: string;
492
497
  url: string;
498
+ title: string;
493
499
  }[] | undefined;
494
500
  }, {
495
501
  description: string;
496
502
  sections: {
497
503
  heading: string;
498
504
  links: {
505
+ url: string;
499
506
  title: string;
500
507
  description: string;
501
- url: string;
502
508
  }[];
503
509
  }[];
504
510
  optionalLinks?: {
505
- title: string;
506
511
  url: string;
512
+ title: string;
507
513
  }[] | undefined;
508
514
  }>>;
509
515
  }, "strip", z.ZodTypeAny, {
516
+ site: string | {
517
+ envVar: string;
518
+ };
510
519
  validation: {
511
520
  enabled: boolean;
512
521
  heroMinWidth: number;
513
522
  titleMaxLength: number;
514
523
  descriptionMaxLength: number;
515
524
  };
516
- site: string;
517
525
  organization: {
518
526
  name: string;
519
527
  logo: string;
@@ -635,18 +643,20 @@ export declare const seoOptionsSchema: z.ZodObject<{
635
643
  sections: {
636
644
  heading: string;
637
645
  links: {
646
+ url: string;
638
647
  title: string;
639
648
  description: string;
640
- url: string;
641
649
  }[];
642
650
  }[];
643
651
  optionalLinks?: {
644
- title: string;
645
652
  url: string;
653
+ title: string;
646
654
  }[] | undefined;
647
655
  } | undefined;
648
656
  }, {
649
- site: string;
657
+ site: string | ((...args: unknown[]) => string) | {
658
+ envVar: string;
659
+ };
650
660
  organization: {
651
661
  name: string;
652
662
  logo: string;
@@ -774,19 +784,25 @@ export declare const seoOptionsSchema: z.ZodObject<{
774
784
  sections: {
775
785
  heading: string;
776
786
  links: {
787
+ url: string;
777
788
  title: string;
778
789
  description: string;
779
- url: string;
780
790
  }[];
781
791
  }[];
782
792
  optionalLinks?: {
783
- title: string;
784
793
  url: string;
794
+ title: string;
785
795
  }[] | undefined;
786
796
  } | undefined;
787
797
  }>;
788
798
  export declare const validatedSeoOptionsSchema: z.ZodEffects<z.ZodObject<{
789
- site: z.ZodString;
799
+ site: z.ZodUnion<[z.ZodString, z.ZodEffects<z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodString>, string, (...args: unknown[]) => string>, z.ZodObject<{
800
+ envVar: z.ZodString;
801
+ }, "strict", z.ZodTypeAny, {
802
+ envVar: string;
803
+ }, {
804
+ envVar: string;
805
+ }>]>;
790
806
  organization: z.ZodObject<{
791
807
  name: z.ZodString;
792
808
  url: z.ZodOptional<z.ZodString>;
@@ -1152,76 +1168,78 @@ export declare const validatedSeoOptionsSchema: z.ZodEffects<z.ZodObject<{
1152
1168
  url: z.ZodString;
1153
1169
  description: z.ZodString;
1154
1170
  }, "strip", z.ZodTypeAny, {
1171
+ url: string;
1155
1172
  title: string;
1156
1173
  description: string;
1157
- url: string;
1158
1174
  }, {
1175
+ url: string;
1159
1176
  title: string;
1160
1177
  description: string;
1161
- url: string;
1162
1178
  }>, "many">;
1163
1179
  }, "strip", z.ZodTypeAny, {
1164
1180
  heading: string;
1165
1181
  links: {
1182
+ url: string;
1166
1183
  title: string;
1167
1184
  description: string;
1168
- url: string;
1169
1185
  }[];
1170
1186
  }, {
1171
1187
  heading: string;
1172
1188
  links: {
1189
+ url: string;
1173
1190
  title: string;
1174
1191
  description: string;
1175
- url: string;
1176
1192
  }[];
1177
1193
  }>, "many">;
1178
1194
  optionalLinks: z.ZodOptional<z.ZodArray<z.ZodObject<{
1179
1195
  title: z.ZodString;
1180
1196
  url: z.ZodString;
1181
1197
  }, "strip", z.ZodTypeAny, {
1182
- title: string;
1183
1198
  url: string;
1184
- }, {
1185
1199
  title: string;
1200
+ }, {
1186
1201
  url: string;
1202
+ title: string;
1187
1203
  }>, "many">>;
1188
1204
  }, "strip", z.ZodTypeAny, {
1189
1205
  description: string;
1190
1206
  sections: {
1191
1207
  heading: string;
1192
1208
  links: {
1209
+ url: string;
1193
1210
  title: string;
1194
1211
  description: string;
1195
- url: string;
1196
1212
  }[];
1197
1213
  }[];
1198
1214
  optionalLinks?: {
1199
- title: string;
1200
1215
  url: string;
1216
+ title: string;
1201
1217
  }[] | undefined;
1202
1218
  }, {
1203
1219
  description: string;
1204
1220
  sections: {
1205
1221
  heading: string;
1206
1222
  links: {
1223
+ url: string;
1207
1224
  title: string;
1208
1225
  description: string;
1209
- url: string;
1210
1226
  }[];
1211
1227
  }[];
1212
1228
  optionalLinks?: {
1213
- title: string;
1214
1229
  url: string;
1230
+ title: string;
1215
1231
  }[] | undefined;
1216
1232
  }>>;
1217
1233
  }, "strip", z.ZodTypeAny, {
1234
+ site: string | {
1235
+ envVar: string;
1236
+ };
1218
1237
  validation: {
1219
1238
  enabled: boolean;
1220
1239
  heroMinWidth: number;
1221
1240
  titleMaxLength: number;
1222
1241
  descriptionMaxLength: number;
1223
1242
  };
1224
- site: string;
1225
1243
  organization: {
1226
1244
  name: string;
1227
1245
  logo: string;
@@ -1343,18 +1361,20 @@ export declare const validatedSeoOptionsSchema: z.ZodEffects<z.ZodObject<{
1343
1361
  sections: {
1344
1362
  heading: string;
1345
1363
  links: {
1364
+ url: string;
1346
1365
  title: string;
1347
1366
  description: string;
1348
- url: string;
1349
1367
  }[];
1350
1368
  }[];
1351
1369
  optionalLinks?: {
1352
- title: string;
1353
1370
  url: string;
1371
+ title: string;
1354
1372
  }[] | undefined;
1355
1373
  } | undefined;
1356
1374
  }, {
1357
- site: string;
1375
+ site: string | ((...args: unknown[]) => string) | {
1376
+ envVar: string;
1377
+ };
1358
1378
  organization: {
1359
1379
  name: string;
1360
1380
  logo: string;
@@ -1482,24 +1502,26 @@ export declare const validatedSeoOptionsSchema: z.ZodEffects<z.ZodObject<{
1482
1502
  sections: {
1483
1503
  heading: string;
1484
1504
  links: {
1505
+ url: string;
1485
1506
  title: string;
1486
1507
  description: string;
1487
- url: string;
1488
1508
  }[];
1489
1509
  }[];
1490
1510
  optionalLinks?: {
1491
- title: string;
1492
1511
  url: string;
1512
+ title: string;
1493
1513
  }[] | undefined;
1494
1514
  } | undefined;
1495
1515
  }>, {
1516
+ site: string | {
1517
+ envVar: string;
1518
+ };
1496
1519
  validation: {
1497
1520
  enabled: boolean;
1498
1521
  heroMinWidth: number;
1499
1522
  titleMaxLength: number;
1500
1523
  descriptionMaxLength: number;
1501
1524
  };
1502
- site: string;
1503
1525
  organization: {
1504
1526
  name: string;
1505
1527
  logo: string;
@@ -1621,18 +1643,20 @@ export declare const validatedSeoOptionsSchema: z.ZodEffects<z.ZodObject<{
1621
1643
  sections: {
1622
1644
  heading: string;
1623
1645
  links: {
1646
+ url: string;
1624
1647
  title: string;
1625
1648
  description: string;
1626
- url: string;
1627
1649
  }[];
1628
1650
  }[];
1629
1651
  optionalLinks?: {
1630
- title: string;
1631
1652
  url: string;
1653
+ title: string;
1632
1654
  }[] | undefined;
1633
1655
  } | undefined;
1634
1656
  }, {
1635
- site: string;
1657
+ site: string | ((...args: unknown[]) => string) | {
1658
+ envVar: string;
1659
+ };
1636
1660
  organization: {
1637
1661
  name: string;
1638
1662
  logo: string;
@@ -1760,19 +1784,22 @@ export declare const validatedSeoOptionsSchema: z.ZodEffects<z.ZodObject<{
1760
1784
  sections: {
1761
1785
  heading: string;
1762
1786
  links: {
1787
+ url: string;
1763
1788
  title: string;
1764
1789
  description: string;
1765
- url: string;
1766
1790
  }[];
1767
1791
  }[];
1768
1792
  optionalLinks?: {
1769
- title: string;
1770
1793
  url: string;
1794
+ title: string;
1771
1795
  }[] | undefined;
1772
1796
  } | undefined;
1773
1797
  }>;
1774
1798
  export type SeoOptions = z.input<typeof validatedSeoOptionsSchema>;
1775
1799
  export type ResolvedSeoOptions = z.output<typeof validatedSeoOptionsSchema>;
1800
+ export type SeoOptionsWithResolvedSite = Omit<ResolvedSeoOptions, 'site'> & {
1801
+ site: string;
1802
+ };
1776
1803
  /**
1777
1804
  * Resolves the aeoTwins field to its object form for downstream consumers.
1778
1805
  * `aeoTwins: true` -> { mode: 'static', ...defaults }
@@ -1 +1 @@
1
- {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../src/options.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../src/options.ts"],"names":[],"mappings":"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"}
package/dist/options.js CHANGED
@@ -1,4 +1,5 @@
1
1
  import { z } from 'zod';
2
+ import { validateSiteUrl } from './site-url-core.js';
2
3
  // ─── Locale ───
3
4
  const localeSchema = z.object({
4
5
  lang: z.string(),
@@ -158,9 +159,18 @@ const crawlerPolicySchema = z
158
159
  })
159
160
  .default({});
160
161
  // ─── Main schema ───
162
+ const siteUrlSchema = z.union([
163
+ z.string().url(),
164
+ z
165
+ .function()
166
+ .args()
167
+ .returns(z.string())
168
+ .transform((resolver) => validateSiteUrl(resolver(), 'site resolver return value')),
169
+ z.object({ envVar: z.string().min(1) }).strict(),
170
+ ]);
161
171
  export const seoOptionsSchema = z.object({
162
172
  // ─── Required ───
163
- site: z.string().url(),
173
+ site: siteUrlSchema,
164
174
  organization: z.object({
165
175
  name: z.string(),
166
176
  url: z.string().url().optional(),