blume 1.7.3 → 2.0.0
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/AGENTS.md +19 -0
- package/CHANGELOG.md +217 -0
- package/README.md +34 -21
- package/dist/cli/chunk-11j0384y.js +148 -0
- package/dist/cli/chunk-11j0384y.js.map +10 -0
- package/dist/cli/{chunk-rqy0s5wh.js → chunk-1w8dp3qb.js} +17 -16
- package/dist/cli/{chunk-rqy0s5wh.js.map → chunk-1w8dp3qb.js.map} +3 -3
- package/dist/cli/chunk-2q1dwty4.js +75 -0
- package/dist/cli/chunk-2q1dwty4.js.map +11 -0
- package/dist/cli/chunk-41za066z.js +122 -0
- package/dist/cli/chunk-41za066z.js.map +11 -0
- package/dist/cli/chunk-5a2z0198.js +133 -0
- package/dist/cli/chunk-5a2z0198.js.map +10 -0
- package/dist/cli/{chunk-5g0w1e2c.js → chunk-6k8vp3ta.js} +25 -13
- package/dist/cli/{chunk-5g0w1e2c.js.map → chunk-6k8vp3ta.js.map} +4 -4
- package/dist/cli/{chunk-5qk08vmp.js → chunk-79njf86q.js} +133 -54
- package/dist/cli/chunk-79njf86q.js.map +11 -0
- package/dist/cli/{chunk-e7f42gdj.js → chunk-7ez8ny0t.js} +2 -2
- package/dist/cli/{chunk-nn13znc2.js → chunk-88cpgt6h.js} +1 -1
- package/dist/cli/chunk-a9kptbw5.js +361 -0
- package/dist/cli/chunk-a9kptbw5.js.map +14 -0
- package/dist/cli/chunk-abh8yjkn.js +31 -0
- package/dist/cli/chunk-abh8yjkn.js.map +10 -0
- package/dist/cli/chunk-b5aj94ah.js +91 -0
- package/dist/cli/chunk-b5aj94ah.js.map +10 -0
- package/dist/cli/{chunk-b27xqwn9.js → chunk-bctazmbk.js} +9 -5
- package/dist/cli/chunk-bctazmbk.js.map +10 -0
- package/dist/cli/chunk-beat36xx.js +279 -0
- package/dist/cli/chunk-beat36xx.js.map +10 -0
- package/dist/cli/chunk-bnbmcwfb.js +145 -0
- package/dist/cli/chunk-bnbmcwfb.js.map +11 -0
- package/dist/cli/{chunk-0xjyb285.js → chunk-bw22s759.js} +15 -5
- package/dist/cli/{chunk-0xjyb285.js.map → chunk-bw22s759.js.map} +4 -4
- package/dist/cli/chunk-by2290sx.js +39 -0
- package/dist/cli/chunk-by2290sx.js.map +10 -0
- package/dist/cli/chunk-d1tadaw7.js +79 -0
- package/dist/cli/chunk-d1tadaw7.js.map +10 -0
- package/dist/cli/{chunk-ahnw3kxw.js → chunk-d80hr03s.js} +24 -19
- package/dist/cli/chunk-d80hr03s.js.map +15 -0
- package/dist/cli/chunk-ernrthtr.js +97 -0
- package/dist/cli/chunk-ernrthtr.js.map +10 -0
- package/dist/cli/chunk-f2972sbt.js +374 -0
- package/dist/cli/chunk-f2972sbt.js.map +10 -0
- package/dist/cli/{chunk-vacwm2hv.js → chunk-f7t03s3g.js} +2 -2
- package/dist/cli/{chunk-2z47ypj8.js → chunk-fa25z98p.js} +16 -3
- package/dist/cli/chunk-fa25z98p.js.map +11 -0
- package/dist/cli/{chunk-cjtn640a.js → chunk-fh5hj5jt.js} +43 -20
- package/dist/cli/chunk-fh5hj5jt.js.map +10 -0
- package/dist/cli/{chunk-yg63d42r.js → chunk-j8mw0za6.js} +86 -57
- package/dist/cli/chunk-j8mw0za6.js.map +35 -0
- package/dist/cli/{chunk-ct47dqpx.js → chunk-jts8mvcz.js} +67 -7
- package/dist/cli/{chunk-2mzebbbz.js.map → chunk-jts8mvcz.js.map} +6 -4
- package/dist/cli/{chunk-ps4m1xh4.js → chunk-mnqj32sj.js} +505 -542
- package/dist/cli/chunk-mnqj32sj.js.map +12 -0
- package/dist/cli/{chunk-8cjtbafj.js → chunk-mwt1k8n7.js} +100 -374
- package/dist/cli/chunk-mwt1k8n7.js.map +10 -0
- package/dist/cli/chunk-nk3ts2xk.js +51 -0
- package/dist/cli/chunk-nk3ts2xk.js.map +10 -0
- package/dist/cli/{chunk-3r45185y.js → chunk-pat2zzwc.js} +9 -11
- package/dist/cli/{chunk-3r45185y.js.map → chunk-pat2zzwc.js.map} +2 -2
- package/dist/cli/chunk-pnnvybbk.js +176 -0
- package/dist/cli/chunk-pnnvybbk.js.map +11 -0
- package/dist/cli/{chunk-4x36ddpw.js → chunk-sqn5t4q0.js} +81 -87
- package/dist/cli/chunk-sqn5t4q0.js.map +10 -0
- package/dist/cli/{chunk-bvwwhd84.js → chunk-tzne8qfq.js} +15 -15
- package/dist/cli/{chunk-bvwwhd84.js.map → chunk-tzne8qfq.js.map} +1 -1
- package/dist/cli/chunk-xaz13gwg.js +12449 -0
- package/dist/cli/chunk-xaz13gwg.js.map +182 -0
- package/dist/cli/chunk-y3e45rc8.js +102 -0
- package/dist/cli/chunk-y3e45rc8.js.map +10 -0
- package/dist/cli/chunk-z01ze5c1.js +261 -0
- package/dist/cli/chunk-z01ze5c1.js.map +10 -0
- package/dist/cli/{chunk-k79xp7av.js → chunk-z1f5arsg.js} +219 -689
- package/dist/cli/chunk-z1f5arsg.js.map +36 -0
- package/dist/cli/{chunk-1jefwnfs.js → chunk-zg2gtj10.js} +1076 -2592
- package/dist/cli/chunk-zg2gtj10.js.map +35 -0
- package/dist/cli/{chunk-dwgcp5sm.js → chunk-zxccj738.js} +1 -1
- package/dist/cli/index.js +214 -57
- package/dist/cli/index.js.map +8 -7
- package/dist/types/ai/agent-readability.d.ts +52 -0
- package/dist/types/ai/ai-catalog.d.ts +42 -0
- package/dist/types/ai/api/paths.d.ts +17 -0
- package/dist/types/ai/api-catalog.d.ts +18 -0
- package/dist/types/ai/ask.d.ts +368 -0
- package/dist/types/ai/changelog-markdown.d.ts +2 -0
- package/dist/types/ai/component-markdown.d.ts +2 -2
- package/dist/types/ai/index.d.ts +24 -0
- package/dist/types/ai/link-headers.d.ts +24 -0
- package/dist/types/ai/llms.d.ts +25 -0
- package/dist/types/ai/markdown.d.ts +45 -0
- package/dist/types/ai/mcp/discovery.d.ts +68 -0
- package/dist/types/ai/mcp/tools.d.ts +16 -0
- package/dist/types/ai/openapi-components.d.ts +43 -0
- package/dist/types/ai/relative-links.d.ts +26 -0
- package/dist/types/ai/serializers.d.ts +15 -0
- package/dist/types/ai/skills.d.ts +42 -0
- package/dist/types/ai/tar.d.ts +25 -0
- package/dist/types/ai/visibility.d.ts +17 -0
- package/dist/types/ai/web-bot-auth.d.ts +16 -0
- package/dist/types/analytics/adobe.d.ts +35 -0
- package/dist/types/analytics/amplitude.d.ts +50 -0
- package/dist/types/analytics/clarity.d.ts +31 -0
- package/dist/types/analytics/clearbit.d.ts +29 -0
- package/dist/types/analytics/cloudflare.d.ts +41 -0
- package/dist/types/analytics/fathom.d.ts +41 -0
- package/dist/types/analytics/google-analytics.d.ts +44 -0
- package/dist/types/analytics/google-tag-manager.d.ts +40 -0
- package/dist/types/analytics/head.d.ts +30 -0
- package/dist/types/analytics/heap.d.ts +40 -0
- package/dist/types/analytics/hightouch.d.ts +44 -0
- package/dist/types/analytics/hotjar.d.ts +33 -0
- package/dist/types/analytics/index.d.ts +61 -0
- package/dist/types/analytics/inline.d.ts +17 -0
- package/dist/types/analytics/logrocket.d.ts +44 -0
- package/dist/types/analytics/mixpanel.d.ts +67 -0
- package/dist/types/analytics/pirsch.d.ts +42 -0
- package/dist/types/analytics/plausible.d.ts +56 -0
- package/dist/types/analytics/posthog.d.ts +45 -0
- package/dist/types/analytics/schema.d.ts +320 -0
- package/dist/types/analytics/script.d.ts +46 -0
- package/dist/types/analytics/segment.d.ts +50 -0
- package/dist/types/analytics/vercel.d.ts +48 -0
- package/dist/types/astro/integration.d.ts +76 -0
- package/dist/types/astro/markdown-negotiation.d.ts +23 -0
- package/dist/types/astro/module-types.d.ts +14 -0
- package/dist/types/astro/pages.d.ts +44 -0
- package/dist/types/cli/env.d.ts +12 -0
- package/dist/types/cli/init/scaffold.d.ts +154 -0
- package/dist/types/components/layout/nav-utils.d.ts +11 -0
- package/dist/types/core/adapter.d.ts +47 -0
- package/dist/types/core/api-name.d.ts +7 -0
- package/dist/types/core/changelog-index.d.ts +13 -0
- package/dist/types/core/config-input.d.ts +186 -515
- package/dist/types/core/config.d.ts +60 -34
- package/dist/types/core/content-assets.d.ts +76 -0
- package/dist/types/core/custom-pages.d.ts +33 -0
- package/dist/types/core/data.d.ts +27 -12
- package/dist/types/core/define-components.d.ts +12 -9
- package/dist/types/core/deployment-env.d.ts +6 -11
- package/dist/types/core/frontmatter.d.ts +10 -0
- package/dist/types/core/graph.d.ts +18 -0
- package/dist/types/core/heading-markers.d.ts +54 -0
- package/dist/types/core/i18n-ui.d.ts +6 -2
- package/dist/types/core/i18n.d.ts +87 -0
- package/dist/types/core/includes.d.ts +138 -0
- package/dist/types/core/last-modified.d.ts +47 -0
- package/dist/types/core/links.d.ts +95 -0
- package/dist/types/core/locale-links.d.ts +60 -0
- package/dist/types/core/manifest.d.ts +17 -0
- package/dist/types/core/meta.d.ts +38 -0
- package/dist/types/core/nav-diagnostics.d.ts +26 -0
- package/dist/types/core/navigation.d.ts +6 -0
- package/dist/types/core/node-require.d.ts +19 -0
- package/dist/types/core/package-json.d.ts +13 -0
- package/dist/types/core/probe.d.ts +42 -0
- package/dist/types/core/project-graph.d.ts +51 -0
- package/dist/types/core/project.d.ts +2 -0
- package/dist/types/core/safe-href.d.ts +2 -0
- package/dist/types/core/safe-links.d.ts +26 -0
- package/dist/types/core/schema.d.ts +2282 -452
- package/dist/types/core/site-url.d.ts +16 -0
- package/dist/types/core/sources/assets.d.ts +36 -0
- package/dist/types/core/sources/cache.d.ts +37 -0
- package/dist/types/core/sources/collection.d.ts +28 -0
- package/dist/types/core/sources/contentful-rich-text.d.ts +31 -0
- package/dist/types/core/sources/contentful.d.ts +40 -0
- package/dist/types/core/sources/filesystem.d.ts +24 -0
- package/dist/types/core/sources/github-releases.d.ts +31 -0
- package/dist/types/core/sources/json.d.ts +30 -0
- package/dist/types/core/sources/lexical.d.ts +19 -0
- package/dist/types/core/sources/lower.d.ts +75 -0
- package/dist/types/core/sources/mdx-remote.d.ts +28 -0
- package/dist/types/core/sources/normalize.d.ts +147 -0
- package/dist/types/core/sources/notion.d.ts +131 -0
- package/dist/types/core/sources/obsidian.d.ts +46 -0
- package/dist/types/core/sources/payload.d.ts +39 -0
- package/dist/types/core/sources/portable-text.d.ts +42 -0
- package/dist/types/core/sources/read.d.ts +23 -0
- package/dist/types/core/sources/remote.d.ts +74 -0
- package/dist/types/core/sources/resolve.d.ts +19 -0
- package/dist/types/core/sources/sanity.d.ts +43 -0
- package/dist/types/core/sources/strapi-blocks.d.ts +12 -0
- package/dist/types/core/sources/strapi.d.ts +33 -0
- package/dist/types/core/sources/types.d.ts +7 -0
- package/dist/types/core/sources/watch.d.ts +45 -0
- package/dist/types/core/text-width.d.ts +11 -0
- package/dist/types/core/types.d.ts +15 -1
- package/dist/types/core/unrecognized-keys.d.ts +7 -0
- package/dist/types/core/versions.d.ts +72 -0
- package/dist/types/core/yaml.d.ts +9 -0
- package/dist/types/deploy/adapter-output.d.ts +45 -0
- package/dist/types/deploy/adapters/cloudflare.d.ts +40 -0
- package/dist/types/deploy/adapters/index.d.ts +29 -0
- package/dist/types/deploy/adapters/netlify.d.ts +37 -0
- package/dist/types/deploy/adapters/node.d.ts +37 -0
- package/dist/types/deploy/adapters/registry.d.ts +133 -0
- package/dist/types/deploy/adapters/types.d.ts +71 -0
- package/dist/types/deploy/adapters/vercel.d.ts +38 -0
- package/dist/types/deploy/artifacts.d.ts +65 -0
- package/dist/types/deploy/cloudflare-negotiation.d.ts +196 -0
- package/dist/types/deploy/function-bundle.d.ts +80 -0
- package/dist/types/deploy/headers.d.ts +50 -0
- package/dist/types/deploy/node-headers.d.ts +42 -0
- package/dist/types/deploy/platforms/cloudflare.d.ts +40 -0
- package/dist/types/deploy/platforms/index.d.ts +18 -0
- package/dist/types/deploy/platforms/netlify.d.ts +13 -0
- package/dist/types/deploy/platforms/node.d.ts +11 -0
- package/dist/types/deploy/platforms/paths.d.ts +27 -0
- package/dist/types/deploy/platforms/static.d.ts +10 -0
- package/dist/types/deploy/platforms/types.d.ts +104 -0
- package/dist/types/deploy/platforms/vercel.d.ts +32 -0
- package/dist/types/deploy/redirects.d.ts +53 -0
- package/dist/types/deploy/robots.d.ts +8 -0
- package/dist/types/deploy/rss.d.ts +31 -0
- package/dist/types/deploy/sitemap.d.ts +21 -0
- package/dist/types/deploy/vercel-negotiation.d.ts +109 -0
- package/dist/types/markdown/code-title.d.ts +32 -0
- package/dist/types/markdown/fence-meta.d.ts +23 -0
- package/dist/types/markdown/themes.d.ts +3 -3
- package/dist/types/openapi/asyncapi.d.ts +129 -0
- package/dist/types/openapi/graphql-build.d.ts +8 -0
- package/dist/types/openapi/graphql.d.ts +122 -0
- package/dist/types/openapi/model.d.ts +158 -0
- package/dist/types/openapi/parse.d.ts +57 -0
- package/dist/types/openapi/references.d.ts +37 -25
- package/dist/types/openapi/render-mdx.d.ts +33 -0
- package/dist/types/openapi/sentence.d.ts +7 -0
- package/dist/types/openapi/signature.d.ts +10 -0
- package/dist/types/openapi/source.d.ts +22 -0
- package/dist/types/openapi/spec-dependency-error.d.ts +10 -0
- package/dist/types/reference/asyncapi.d.ts +166 -0
- package/dist/types/reference/graphql.d.ts +181 -0
- package/dist/types/reference/index.d.ts +32 -0
- package/dist/types/reference/openapi.d.ts +165 -0
- package/dist/types/reference/options.d.ts +157 -0
- package/dist/types/reference/scalar.d.ts +136 -0
- package/dist/types/reference/schema.d.ts +630 -0
- package/dist/types/search/adapters/algolia.d.ts +32 -0
- package/dist/types/search/adapters/flexsearch.d.ts +12 -0
- package/dist/types/search/adapters/index.d.ts +31 -0
- package/dist/types/search/adapters/mixedbread.d.ts +22 -0
- package/dist/types/search/adapters/orama-cloud.d.ts +33 -0
- package/dist/types/search/adapters/orama.d.ts +13 -0
- package/dist/types/search/adapters/pagefind.d.ts +12 -0
- package/dist/types/search/adapters/registry.d.ts +228 -0
- package/dist/types/search/adapters/types.d.ts +34 -0
- package/dist/types/search/adapters/typesense.d.ts +42 -0
- package/dist/types/search/build.d.ts +23 -0
- package/dist/types/search/documents.d.ts +90 -0
- package/dist/types/search/facets.d.ts +3 -0
- package/dist/types/search/sync/algolia.d.ts +14 -0
- package/dist/types/search/sync/index.d.ts +14 -0
- package/dist/types/search/sync/orama-cloud.d.ts +10 -0
- package/dist/types/search/sync/typesense.d.ts +14 -0
- package/dist/types/sources/contentful.d.ts +68 -0
- package/dist/types/sources/custom.d.ts +20 -0
- package/dist/types/sources/filesystem.d.ts +42 -0
- package/dist/types/sources/github-releases.d.ts +46 -0
- package/dist/types/sources/index.d.ts +48 -0
- package/dist/types/sources/mdx-remote.d.ts +63 -0
- package/dist/types/sources/notion.d.ts +65 -0
- package/dist/types/sources/obsidian.d.ts +34 -0
- package/dist/types/sources/payload.d.ts +68 -0
- package/dist/types/sources/registry.d.ts +1414 -0
- package/dist/types/sources/sanity.d.ts +69 -0
- package/dist/types/sources/shared.d.ts +46 -0
- package/dist/types/sources/strapi.d.ts +66 -0
- package/dist/types/theme/icon-kind.d.ts +11 -0
- package/dist/types/theme/icons.d.ts +20 -0
- package/docs/01-quickstart.mdx +18 -18
- package/docs/02-deployment.mdx +50 -26
- package/docs/03-upgrading.mdx +351 -0
- package/docs/04-migrating.mdx +58 -0
- package/docs/08-faq.mdx +3 -3
- package/docs/advanced/blog.mdx +13 -6
- package/docs/advanced/changelog.mdx +23 -35
- package/docs/advanced/custom-pages.mdx +20 -8
- package/docs/advanced/meta.ts +1 -8
- package/docs/advanced/skills.mdx +8 -0
- package/docs/cli/audit.mdx +646 -0
- package/docs/cli/doctor.mdx +29 -0
- package/docs/{reference/eval.mdx → cli/evals.mdx} +9 -8
- package/docs/cli/index.mdx +105 -0
- package/docs/cli/meta.ts +7 -0
- package/docs/{reference → cli}/translate.mdx +1 -1
- package/docs/cli/validate.mdx +41 -0
- package/docs/cli/version.mdx +40 -0
- package/docs/configuration/analytics.mdx +350 -59
- package/docs/configuration/ask-ai.mdx +162 -61
- package/docs/configuration/customization.mdx +15 -9
- package/docs/configuration/index.mdx +50 -31
- package/docs/configuration/search.mdx +75 -54
- package/docs/configuration/theming.mdx +24 -15
- package/docs/content/components.mdx +21 -5
- package/docs/{reference → content}/frontmatter.mdx +35 -1
- package/docs/content/i18n.mdx +8 -6
- package/docs/content/includes.mdx +2 -4
- package/docs/content/index.mdx +1 -1
- package/docs/content/islands.mdx +10 -5
- package/docs/content/meta.mdx +1 -1
- package/docs/content/meta.ts +1 -0
- package/docs/content/navigation.mdx +9 -7
- package/docs/content/sources.mdx +145 -50
- package/docs/content/syntax.mdx +16 -12
- package/docs/content/versioning.mdx +3 -3
- package/docs/discoverability/agent-discovery.mdx +11 -11
- package/docs/discoverability/index.mdx +4 -4
- package/docs/discoverability/json-api.mdx +4 -4
- package/docs/discoverability/llms-txt.mdx +6 -6
- package/docs/discoverability/markdown.mdx +4 -4
- package/docs/discoverability/mcp.mdx +11 -11
- package/docs/discoverability/sitemap-and-robots.mdx +3 -3
- package/docs/index.mdx +2 -2
- package/docs/references/asyncapi.mdx +59 -0
- package/docs/{advanced → references}/graphql.mdx +45 -32
- package/docs/{reference → references}/meta.ts +2 -2
- package/docs/references/openapi.mdx +171 -0
- package/docs/references/scalar.mdx +64 -0
- package/package.json +42 -8
- package/skills/blume/SKILL.md +21 -8
- package/skills/blume-migrate/SKILL.md +22 -21
- package/skills/blume-migrate/assets/oxfmt@0.67.0.patch +49 -0
- package/skills/blume-migrate/references/docusaurus.md +5 -4
- package/skills/blume-migrate/references/fumadocs.md +4 -4
- package/skills/blume-migrate/references/mintlify.md +23 -8
- package/skills/blume-migrate/references/monorepo.md +6 -6
- package/skills/blume-migrate/references/starlight.md +4 -4
- package/src/ai/agent-readability.ts +21 -22
- package/src/ai/ai-catalog.ts +50 -32
- package/src/ai/api/handlers.ts +46 -11
- package/src/ai/api-catalog.ts +8 -8
- package/src/ai/ask-data.ts +1 -1
- package/src/ai/ask.ts +624 -100
- package/src/ai/changelog-markdown.ts +91 -0
- package/src/ai/component-markdown.ts +328 -12
- package/src/ai/index.ts +45 -0
- package/src/ai/link-headers.ts +7 -6
- package/src/ai/llms.ts +20 -15
- package/src/ai/markdown.ts +35 -5
- package/src/ai/mcp/data.ts +9 -5
- package/src/ai/openapi-components.ts +4 -1
- package/src/ai/relative-links.ts +170 -0
- package/src/ai/serializers.ts +2 -2
- package/src/ai/skills.ts +1 -1
- package/src/ai/web-bot-auth.ts +2 -2
- package/src/analytics/adobe.ts +46 -0
- package/src/analytics/amplitude.ts +79 -0
- package/src/analytics/clarity.ts +46 -0
- package/src/analytics/clearbit.ts +47 -0
- package/src/analytics/cloudflare.ts +67 -0
- package/src/analytics/fathom.ts +64 -0
- package/src/analytics/google-analytics.ts +84 -0
- package/src/analytics/google-tag-manager.ts +61 -0
- package/src/analytics/head.ts +130 -0
- package/src/analytics/heap.ts +65 -0
- package/src/analytics/hightouch.ts +77 -0
- package/src/analytics/hotjar.ts +47 -0
- package/src/analytics/index.ts +71 -0
- package/src/analytics/inline.ts +21 -0
- package/src/analytics/logrocket.ts +71 -0
- package/src/analytics/mixpanel.ts +92 -0
- package/src/analytics/pirsch.ts +66 -0
- package/src/analytics/plausible.ts +83 -0
- package/src/analytics/posthog.ts +78 -0
- package/src/analytics/schema.ts +60 -0
- package/src/analytics/script.ts +60 -0
- package/src/analytics/segment.ts +85 -0
- package/src/analytics/vercel.ts +50 -0
- package/src/astro/adapter-root.ts +7 -9
- package/src/astro/component-slots.ts +131 -91
- package/src/astro/generate.ts +112 -345
- package/src/astro/integration.ts +2 -6
- package/src/astro/pages.ts +13 -101
- package/src/astro/render-deps.ts +379 -0
- package/src/astro/runtime-deps.ts +201 -0
- package/src/astro/templates.ts +554 -541
- package/src/audit/agent.ts +24 -0
- package/src/audit/catalog.ts +2 -2
- package/src/audit/checks/assets.ts +2 -2
- package/src/audit/checks/dns-aid.ts +1 -1
- package/src/audit/checks/duplicates.ts +3 -1
- package/src/audit/checks/i18n.ts +1 -1
- package/src/audit/checks/indexability.ts +7 -7
- package/src/audit/checks/links.ts +2 -2
- package/src/audit/checks/llms.ts +6 -6
- package/src/audit/checks/network.ts +3 -3
- package/src/audit/checks/og-image.ts +2 -2
- package/src/audit/checks/robots.ts +1 -1
- package/src/audit/checks/sitemap.ts +2 -2
- package/src/audit/checks/social.ts +1 -1
- package/src/audit/run.ts +4 -3
- package/src/audit/terms.ts +31 -0
- package/src/audit/url.ts +13 -13
- package/src/cli/command-meta.ts +10 -0
- package/src/cli/commands/audit.ts +39 -20
- package/src/cli/commands/build.ts +71 -316
- package/src/cli/commands/check.ts +1 -0
- package/src/cli/commands/dev.ts +40 -1
- package/src/cli/commands/doctor.ts +90 -14
- package/src/cli/commands/eject.ts +44 -7
- package/src/cli/commands/eval.ts +2 -2
- package/src/cli/commands/init.ts +161 -41
- package/src/cli/commands/migrate.ts +121 -0
- package/src/cli/commands/preview.ts +7 -1
- package/src/cli/commands/translate.ts +2 -2
- package/src/cli/commands/upgrade.ts +141 -0
- package/src/cli/commands/version.ts +57 -44
- package/src/cli/eject-scripts.ts +121 -6
- package/src/cli/index.ts +11 -1
- package/src/cli/init/install.ts +70 -0
- package/src/cli/init/questions.ts +7 -0
- package/src/cli/init/scaffold.ts +459 -75
- package/src/cli/lazy-command.ts +37 -1
- package/src/cli/prepare.ts +40 -6
- package/src/cli/required-secrets.ts +38 -11
- package/src/cli/unknown-flags.ts +266 -0
- package/src/cli/yarn-pnp.ts +52 -0
- package/src/components/content/AccordionItem.astro +7 -1
- package/src/components/content/Card.astro +4 -3
- package/src/components/content/ColorItem.astro +22 -4
- package/src/components/content/GithubInfo.astro +2 -2
- package/src/components/content/Prompt.astro +25 -25
- package/src/components/content/Tabs.astro +3 -1
- package/src/components/content/Tile.astro +2 -3
- package/src/components/content/Tooltip.astro +57 -9
- package/src/components/content/content-strings.ts +34 -0
- package/src/components/content/diff.ts +1 -1
- package/src/components/content/mermaid-element.ts +13 -2
- package/src/components/content/prompt-markdown.ts +292 -0
- package/src/components/content/tooltip-id.ts +41 -0
- package/src/components/islands/hooks.ts +25 -2
- package/src/components/layout/Analytics.astro +21 -79
- package/src/components/layout/Banner.astro +3 -1
- package/src/components/layout/DiscoveryLinks.astro +69 -0
- package/src/components/layout/Header.astro +83 -20
- package/src/components/layout/LanguageSwitcher.astro +4 -1
- package/src/components/layout/Logo.astro +23 -2
- package/src/components/layout/NavSelector.astro +13 -2
- package/src/components/layout/NavTree.astro +12 -3
- package/src/components/layout/NavTreeScript.astro +17 -3
- package/src/components/layout/PageActions.astro +3 -3
- package/src/components/layout/PageFeedback.astro +11 -1
- package/src/components/layout/PageLayout.astro +52 -5
- package/src/components/layout/ReferenceLayout.astro +21 -12
- package/src/components/layout/RootLayout.astro +69 -66
- package/src/components/layout/Search.astro +30 -6
- package/src/components/layout/WebMcp.astro +1 -1
- package/src/components/layout/analytics-client.ts +72 -15
- package/src/components/layout/drawer-inert.ts +113 -15
- package/src/components/layout/dropdown-clamp.ts +105 -0
- package/src/components/layout/head-scripts.ts +15 -6
- package/src/components/layout/nav-utils.ts +17 -0
- package/src/components/layout/search/algolia.ts +8 -8
- package/src/components/layout/search/orama-cloud.ts +9 -7
- package/src/components/layout/search/typesense.ts +11 -17
- package/src/components/openapi/MessageComposer.astro +2 -2
- package/src/components/openapi/Playground.astro +2 -2
- package/src/components/openapi/playground-client.ts +79 -10
- package/src/core/changelog-index.ts +24 -0
- package/src/core/component-overrides.ts +399 -154
- package/src/core/config-input.ts +188 -553
- package/src/core/config.ts +130 -41
- package/src/core/custom-pages.ts +105 -0
- package/src/core/data.ts +31 -12
- package/src/core/define-components.ts +12 -9
- package/src/core/deployment-env.ts +18 -74
- package/src/core/diagnostics.ts +14 -7
- package/src/core/graph.ts +69 -25
- package/src/core/i18n-ui.ts +6 -2
- package/src/core/i18n.ts +17 -0
- package/src/core/includes.ts +156 -38
- package/src/core/last-modified.ts +6 -11
- package/src/core/links.ts +166 -2
- package/src/core/manifest.ts +10 -3
- package/src/core/navigation.ts +115 -16
- package/src/core/new-tab.ts +35 -0
- package/src/core/node-require.ts +21 -0
- package/src/core/project-graph.ts +42 -26
- package/src/core/project.ts +9 -4
- package/src/core/request-body.ts +61 -0
- package/src/core/safe-href.ts +28 -0
- package/src/core/safe-links.ts +68 -0
- package/src/core/schema.ts +517 -739
- package/src/core/server-features.ts +8 -9
- package/src/core/sources/assets.ts +47 -11
- package/src/core/sources/collection.ts +67 -0
- package/src/core/sources/contentful-rich-text.ts +285 -0
- package/src/core/sources/contentful.ts +173 -0
- package/src/core/sources/github-releases.ts +51 -1
- package/src/core/sources/json.ts +71 -0
- package/src/core/sources/lexical.ts +195 -0
- package/src/core/sources/lower.ts +226 -0
- package/src/core/sources/normalize.ts +52 -2
- package/src/core/sources/notion.ts +39 -28
- package/src/core/sources/payload.ts +135 -0
- package/src/core/sources/portable-text.ts +11 -16
- package/src/core/sources/remote.ts +226 -0
- package/src/core/sources/resolve.ts +104 -166
- package/src/core/sources/sanity.ts +16 -49
- package/src/core/sources/strapi-blocks.ts +124 -0
- package/src/core/sources/strapi.ts +191 -0
- package/src/core/sources/types.ts +12 -1
- package/src/core/types.ts +15 -1
- package/src/core/ui-packs/ar.ts +6 -2
- package/src/core/ui-packs/bg.ts +6 -2
- package/src/core/ui-packs/bn.ts +6 -2
- package/src/core/ui-packs/ca.ts +3 -1
- package/src/core/ui-packs/cs.ts +6 -2
- package/src/core/ui-packs/da.ts +6 -2
- package/src/core/ui-packs/de.ts +6 -2
- package/src/core/ui-packs/el.ts +3 -1
- package/src/core/ui-packs/es.ts +3 -1
- package/src/core/ui-packs/fa.ts +6 -2
- package/src/core/ui-packs/fi.ts +6 -2
- package/src/core/ui-packs/fr.ts +3 -1
- package/src/core/ui-packs/he.ts +6 -2
- package/src/core/ui-packs/hi.ts +6 -2
- package/src/core/ui-packs/hr.ts +6 -2
- package/src/core/ui-packs/hu.ts +6 -2
- package/src/core/ui-packs/id.ts +6 -2
- package/src/core/ui-packs/it.ts +3 -1
- package/src/core/ui-packs/ja.ts +3 -1
- package/src/core/ui-packs/ko.ts +3 -1
- package/src/core/ui-packs/nl.ts +6 -2
- package/src/core/ui-packs/no.ts +6 -2
- package/src/core/ui-packs/pl.ts +6 -2
- package/src/core/ui-packs/pt-br.ts +3 -1
- package/src/core/ui-packs/pt.ts +3 -1
- package/src/core/ui-packs/ro.ts +6 -2
- package/src/core/ui-packs/ru.ts +6 -2
- package/src/core/ui-packs/sk.ts +6 -2
- package/src/core/ui-packs/sr.ts +6 -2
- package/src/core/ui-packs/sv.ts +6 -2
- package/src/core/ui-packs/th.ts +3 -1
- package/src/core/ui-packs/tr.ts +6 -2
- package/src/core/ui-packs/uk.ts +6 -2
- package/src/core/ui-packs/vi.ts +3 -1
- package/src/core/ui-packs/zh-tw.ts +3 -1
- package/src/core/ui-packs/zh.ts +3 -1
- package/src/core/unrecognized-keys.ts +10 -0
- package/src/core/version-cut.ts +116 -8
- package/src/deploy/adapter-output.ts +57 -97
- package/src/deploy/adapters/cloudflare.ts +39 -0
- package/src/deploy/adapters/index.ts +41 -0
- package/src/deploy/adapters/netlify.ts +34 -0
- package/src/deploy/adapters/node.ts +34 -0
- package/src/deploy/adapters/registry.ts +127 -0
- package/src/deploy/adapters/types.ts +92 -0
- package/src/deploy/adapters/vercel.ts +35 -0
- package/src/deploy/artifacts.ts +55 -27
- package/src/deploy/cloudflare-negotiation.ts +179 -100
- package/src/deploy/function-bundle.ts +18 -3
- package/src/deploy/headers.ts +124 -23
- package/src/deploy/node-headers.ts +198 -0
- package/src/deploy/platforms/cloudflare.ts +312 -0
- package/src/deploy/platforms/index.ts +67 -0
- package/src/deploy/platforms/netlify.ts +52 -0
- package/src/deploy/platforms/node.ts +40 -0
- package/src/deploy/platforms/paths.ts +42 -0
- package/src/deploy/platforms/static.ts +29 -0
- package/src/deploy/platforms/types.ts +112 -0
- package/src/deploy/platforms/vercel.ts +193 -0
- package/src/deploy/redirects.ts +30 -18
- package/src/deploy/robots.ts +3 -3
- package/src/deploy/rss.ts +2 -2
- package/src/deploy/sitemap.ts +2 -2
- package/src/deploy/vercel-negotiation.ts +2 -2
- package/src/eval/agents.ts +32 -1
- package/src/eval/findings.ts +19 -11
- package/src/eval/report.ts +10 -2
- package/src/markdown/external-links.ts +65 -0
- package/src/markdown/include.ts +45 -27
- package/src/markdown/index.ts +34 -9
- package/src/markdown/inline-code.ts +12 -6
- package/src/markdown/relative-links.ts +324 -0
- package/src/markdown/themes.ts +3 -3
- package/src/migrate/migrate.ts +149 -0
- package/src/openapi/parse.ts +64 -16
- package/src/openapi/proxy.ts +62 -10
- package/src/openapi/references.ts +147 -147
- package/src/openapi/render-mdx.ts +32 -10
- package/src/openapi/scalar.ts +15 -13
- package/src/openapi/sentence.ts +14 -0
- package/src/openapi/source.ts +37 -21
- package/src/openapi/spec-dependency-error.ts +15 -0
- package/src/reference/asyncapi.ts +83 -0
- package/src/reference/graphql.ts +89 -0
- package/src/reference/index.ts +40 -0
- package/src/reference/openapi.ts +83 -0
- package/src/reference/options.ts +201 -0
- package/src/reference/scalar.ts +136 -0
- package/src/reference/schema.ts +88 -0
- package/src/registry/eject.ts +97 -42
- package/src/search/adapters/algolia.ts +46 -0
- package/src/search/adapters/flexsearch.ts +29 -0
- package/src/search/adapters/index.ts +39 -0
- package/src/search/adapters/mixedbread.ts +39 -0
- package/src/search/adapters/orama-cloud.ts +51 -0
- package/src/search/adapters/orama.ts +24 -0
- package/src/search/adapters/pagefind.ts +27 -0
- package/src/search/adapters/registry.ts +131 -0
- package/src/search/adapters/types.ts +46 -0
- package/src/search/adapters/typesense.ts +57 -0
- package/src/search/build.ts +8 -4
- package/src/search/documents.ts +6 -0
- package/src/search/sync/algolia.ts +12 -11
- package/src/search/sync/index.ts +35 -20
- package/src/search/sync/orama-cloud.ts +12 -9
- package/src/search/sync/typesense.ts +15 -13
- package/src/sources/contentful.ts +63 -0
- package/src/sources/custom.ts +38 -0
- package/src/sources/filesystem.ts +51 -0
- package/src/sources/github-releases.ts +52 -0
- package/src/sources/index.ts +60 -0
- package/src/sources/mdx-remote.ts +76 -0
- package/src/sources/notion.ts +63 -0
- package/src/sources/obsidian.ts +38 -0
- package/src/sources/payload.ts +60 -0
- package/src/sources/registry.ts +182 -0
- package/src/sources/sanity.ts +66 -0
- package/src/sources/shared.ts +52 -0
- package/src/sources/strapi.ts +58 -0
- package/src/theme/entry.ts +24 -2
- package/src/translate/report.ts +40 -7
- package/src/upgrade/upgrade.ts +499 -0
- package/dist/cli/chunk-0qymqwzz.js +0 -164
- package/dist/cli/chunk-0qymqwzz.js.map +0 -15
- package/dist/cli/chunk-1jefwnfs.js.map +0 -48
- package/dist/cli/chunk-2mzebbbz.js +0 -69
- package/dist/cli/chunk-2z47ypj8.js.map +0 -11
- package/dist/cli/chunk-4x36ddpw.js.map +0 -11
- package/dist/cli/chunk-5093q3n7.js +0 -68
- package/dist/cli/chunk-5093q3n7.js.map +0 -10
- package/dist/cli/chunk-5qk08vmp.js.map +0 -11
- package/dist/cli/chunk-7s8hm3b6.js +0 -5347
- package/dist/cli/chunk-7s8hm3b6.js.map +0 -58
- package/dist/cli/chunk-8cjtbafj.js.map +0 -13
- package/dist/cli/chunk-97r59kpr.js +0 -381
- package/dist/cli/chunk-97r59kpr.js.map +0 -12
- package/dist/cli/chunk-ahnw3kxw.js.map +0 -15
- package/dist/cli/chunk-b27xqwn9.js.map +0 -10
- package/dist/cli/chunk-bf6bt1xt.js +0 -185
- package/dist/cli/chunk-bf6bt1xt.js.map +0 -11
- package/dist/cli/chunk-cjtn640a.js.map +0 -10
- package/dist/cli/chunk-ct47dqpx.js.map +0 -11
- package/dist/cli/chunk-esphfr8p.js +0 -107
- package/dist/cli/chunk-esphfr8p.js.map +0 -11
- package/dist/cli/chunk-ex56aa81.js +0 -1016
- package/dist/cli/chunk-ex56aa81.js.map +0 -13
- package/dist/cli/chunk-garjf5z9.js +0 -30
- package/dist/cli/chunk-garjf5z9.js.map +0 -10
- package/dist/cli/chunk-js7saxwm.js +0 -1045
- package/dist/cli/chunk-js7saxwm.js.map +0 -22
- package/dist/cli/chunk-k79xp7av.js.map +0 -39
- package/dist/cli/chunk-ps4m1xh4.js.map +0 -15
- package/dist/cli/chunk-q4rae3bg.js +0 -60
- package/dist/cli/chunk-q4rae3bg.js.map +0 -10
- package/dist/cli/chunk-rz9jmfhz.js +0 -108
- package/dist/cli/chunk-rz9jmfhz.js.map +0 -10
- package/dist/cli/chunk-vh9w1sgp.js +0 -73
- package/dist/cli/chunk-vh9w1sgp.js.map +0 -10
- package/dist/cli/chunk-vrfp10qk.js +0 -81
- package/dist/cli/chunk-vrfp10qk.js.map +0 -10
- package/dist/cli/chunk-yg63d42r.js.map +0 -34
- package/docs/advanced/api-reference.mdx +0 -240
- package/docs/reference/cli.mdx +0 -197
- package/skills/blume-migrate/assets/oxfmt@0.55.0.patch +0 -20
- package/src/components/content/changelog-element.ts +0 -69
- package/src/search/providers.ts +0 -91
- /package/dist/cli/{chunk-e7f42gdj.js.map → chunk-7ez8ny0t.js.map} +0 -0
- /package/dist/cli/{chunk-nn13znc2.js.map → chunk-88cpgt6h.js.map} +0 -0
- /package/dist/cli/{chunk-vacwm2hv.js.map → chunk-f7t03s3g.js.map} +0 -0
- /package/dist/cli/{chunk-dwgcp5sm.js.map → chunk-zxccj738.js.map} +0 -0
|
@@ -0,0 +1,320 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
/** One configured analytics adapter, as its factory returned it. */
|
|
3
|
+
export declare const analyticsAdapterSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
4
|
+
kind: z.ZodLiteral<"adobe">;
|
|
5
|
+
options: z.ZodObject<{
|
|
6
|
+
url: z.ZodString;
|
|
7
|
+
}, z.core.$strict>;
|
|
8
|
+
requiredSecrets: z.ZodArray<z.ZodString>;
|
|
9
|
+
runtimeDeps: z.ZodArray<z.ZodString>;
|
|
10
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
11
|
+
kind: z.ZodLiteral<"amplitude">;
|
|
12
|
+
options: z.ZodObject<{
|
|
13
|
+
key: z.ZodString;
|
|
14
|
+
}, z.core.$catchall<z.ZodJSONSchema>>;
|
|
15
|
+
requiredSecrets: z.ZodArray<z.ZodString>;
|
|
16
|
+
runtimeDeps: z.ZodArray<z.ZodString>;
|
|
17
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
18
|
+
kind: z.ZodLiteral<"clarity">;
|
|
19
|
+
options: z.ZodObject<{
|
|
20
|
+
id: z.ZodString;
|
|
21
|
+
}, z.core.$strict>;
|
|
22
|
+
requiredSecrets: z.ZodArray<z.ZodString>;
|
|
23
|
+
runtimeDeps: z.ZodArray<z.ZodString>;
|
|
24
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
25
|
+
kind: z.ZodLiteral<"clearbit">;
|
|
26
|
+
options: z.ZodObject<{
|
|
27
|
+
key: z.ZodString;
|
|
28
|
+
}, z.core.$strict>;
|
|
29
|
+
requiredSecrets: z.ZodArray<z.ZodString>;
|
|
30
|
+
runtimeDeps: z.ZodArray<z.ZodString>;
|
|
31
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
32
|
+
kind: z.ZodLiteral<"cloudflare">;
|
|
33
|
+
options: z.ZodObject<{
|
|
34
|
+
token: z.ZodString;
|
|
35
|
+
}, z.core.$catchall<z.ZodJSONSchema>>;
|
|
36
|
+
requiredSecrets: z.ZodArray<z.ZodString>;
|
|
37
|
+
runtimeDeps: z.ZodArray<z.ZodString>;
|
|
38
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
39
|
+
kind: z.ZodLiteral<"fathom">;
|
|
40
|
+
options: z.ZodObject<{
|
|
41
|
+
site: z.ZodString;
|
|
42
|
+
}, z.core.$catchall<z.ZodString>>;
|
|
43
|
+
requiredSecrets: z.ZodArray<z.ZodString>;
|
|
44
|
+
runtimeDeps: z.ZodArray<z.ZodString>;
|
|
45
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
46
|
+
kind: z.ZodLiteral<"google-analytics">;
|
|
47
|
+
options: z.ZodObject<{
|
|
48
|
+
id: z.ZodString;
|
|
49
|
+
}, z.core.$catchall<z.ZodJSONSchema>>;
|
|
50
|
+
requiredSecrets: z.ZodArray<z.ZodString>;
|
|
51
|
+
runtimeDeps: z.ZodArray<z.ZodString>;
|
|
52
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
53
|
+
kind: z.ZodLiteral<"google-tag-manager">;
|
|
54
|
+
options: z.ZodObject<{
|
|
55
|
+
dataLayer: z.ZodOptional<z.ZodString>;
|
|
56
|
+
id: z.ZodString;
|
|
57
|
+
}, z.core.$strict>;
|
|
58
|
+
requiredSecrets: z.ZodArray<z.ZodString>;
|
|
59
|
+
runtimeDeps: z.ZodArray<z.ZodString>;
|
|
60
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
61
|
+
kind: z.ZodLiteral<"heap">;
|
|
62
|
+
options: z.ZodObject<{
|
|
63
|
+
id: z.ZodString;
|
|
64
|
+
}, z.core.$catchall<z.ZodJSONSchema>>;
|
|
65
|
+
requiredSecrets: z.ZodArray<z.ZodString>;
|
|
66
|
+
runtimeDeps: z.ZodArray<z.ZodString>;
|
|
67
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
68
|
+
kind: z.ZodLiteral<"hightouch">;
|
|
69
|
+
options: z.ZodObject<{
|
|
70
|
+
host: z.ZodOptional<z.ZodString>;
|
|
71
|
+
key: z.ZodString;
|
|
72
|
+
}, z.core.$catchall<z.ZodJSONSchema>>;
|
|
73
|
+
requiredSecrets: z.ZodArray<z.ZodString>;
|
|
74
|
+
runtimeDeps: z.ZodArray<z.ZodString>;
|
|
75
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
76
|
+
kind: z.ZodLiteral<"hotjar">;
|
|
77
|
+
options: z.ZodObject<{
|
|
78
|
+
id: z.ZodNumber;
|
|
79
|
+
version: z.ZodOptional<z.ZodNumber>;
|
|
80
|
+
}, z.core.$strict>;
|
|
81
|
+
requiredSecrets: z.ZodArray<z.ZodString>;
|
|
82
|
+
runtimeDeps: z.ZodArray<z.ZodString>;
|
|
83
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
84
|
+
kind: z.ZodLiteral<"logrocket">;
|
|
85
|
+
options: z.ZodObject<{
|
|
86
|
+
id: z.ZodString;
|
|
87
|
+
}, z.core.$catchall<z.ZodJSONSchema>>;
|
|
88
|
+
requiredSecrets: z.ZodArray<z.ZodString>;
|
|
89
|
+
runtimeDeps: z.ZodArray<z.ZodString>;
|
|
90
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
91
|
+
kind: z.ZodLiteral<"mixpanel">;
|
|
92
|
+
options: z.ZodObject<{
|
|
93
|
+
region: z.ZodOptional<z.ZodEnum<{
|
|
94
|
+
in: "in";
|
|
95
|
+
eu: "eu";
|
|
96
|
+
us: "us";
|
|
97
|
+
}>>;
|
|
98
|
+
token: z.ZodString;
|
|
99
|
+
}, z.core.$catchall<z.ZodJSONSchema>>;
|
|
100
|
+
requiredSecrets: z.ZodArray<z.ZodString>;
|
|
101
|
+
runtimeDeps: z.ZodArray<z.ZodString>;
|
|
102
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
103
|
+
kind: z.ZodLiteral<"pirsch">;
|
|
104
|
+
options: z.ZodObject<{
|
|
105
|
+
code: z.ZodString;
|
|
106
|
+
}, z.core.$catchall<z.ZodString>>;
|
|
107
|
+
requiredSecrets: z.ZodArray<z.ZodString>;
|
|
108
|
+
runtimeDeps: z.ZodArray<z.ZodString>;
|
|
109
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
110
|
+
kind: z.ZodLiteral<"plausible">;
|
|
111
|
+
options: z.ZodObject<{
|
|
112
|
+
domain: z.ZodString;
|
|
113
|
+
host: z.ZodOptional<z.ZodString>;
|
|
114
|
+
}, z.core.$catchall<z.ZodString>>;
|
|
115
|
+
requiredSecrets: z.ZodArray<z.ZodString>;
|
|
116
|
+
runtimeDeps: z.ZodArray<z.ZodString>;
|
|
117
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
118
|
+
kind: z.ZodLiteral<"posthog">;
|
|
119
|
+
options: z.ZodObject<{
|
|
120
|
+
host: z.ZodOptional<z.ZodString>;
|
|
121
|
+
key: z.ZodString;
|
|
122
|
+
}, z.core.$catchall<z.ZodJSONSchema>>;
|
|
123
|
+
requiredSecrets: z.ZodArray<z.ZodString>;
|
|
124
|
+
runtimeDeps: z.ZodArray<z.ZodString>;
|
|
125
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
126
|
+
kind: z.ZodLiteral<"script">;
|
|
127
|
+
options: z.ZodObject<{
|
|
128
|
+
attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
129
|
+
content: z.ZodOptional<z.ZodString>;
|
|
130
|
+
src: z.ZodOptional<z.ZodString>;
|
|
131
|
+
strategy: z.ZodOptional<z.ZodEnum<{
|
|
132
|
+
defer: "defer";
|
|
133
|
+
async: "async";
|
|
134
|
+
}>>;
|
|
135
|
+
}, z.core.$strict>;
|
|
136
|
+
requiredSecrets: z.ZodArray<z.ZodString>;
|
|
137
|
+
runtimeDeps: z.ZodArray<z.ZodString>;
|
|
138
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
139
|
+
kind: z.ZodLiteral<"segment">;
|
|
140
|
+
options: z.ZodObject<{
|
|
141
|
+
cdn: z.ZodOptional<z.ZodString>;
|
|
142
|
+
key: z.ZodString;
|
|
143
|
+
}, z.core.$catchall<z.ZodJSONSchema>>;
|
|
144
|
+
requiredSecrets: z.ZodArray<z.ZodString>;
|
|
145
|
+
runtimeDeps: z.ZodArray<z.ZodString>;
|
|
146
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
147
|
+
kind: z.ZodLiteral<"vercel">;
|
|
148
|
+
options: z.ZodObject<{
|
|
149
|
+
debug: z.ZodOptional<z.ZodBoolean>;
|
|
150
|
+
mode: z.ZodOptional<z.ZodEnum<{
|
|
151
|
+
auto: "auto";
|
|
152
|
+
development: "development";
|
|
153
|
+
production: "production";
|
|
154
|
+
}>>;
|
|
155
|
+
}, z.core.$catchall<z.ZodJSONSchema>>;
|
|
156
|
+
requiredSecrets: z.ZodArray<z.ZodString>;
|
|
157
|
+
runtimeDeps: z.ZodArray<z.ZodString>;
|
|
158
|
+
}, z.core.$strict>], "kind">;
|
|
159
|
+
export type AnalyticsAdapter = z.output<typeof analyticsAdapterSchema>;
|
|
160
|
+
/**
|
|
161
|
+
* `blume.config.analytics`: the adapters to emit, in order. Unset means none.
|
|
162
|
+
* A non-array (the pre-adapter object form, say) fails with the list hint;
|
|
163
|
+
* element errors keep their own messages.
|
|
164
|
+
*/
|
|
165
|
+
export declare const analyticsConfigSchema: z.ZodDefault<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
166
|
+
kind: z.ZodLiteral<"adobe">;
|
|
167
|
+
options: z.ZodObject<{
|
|
168
|
+
url: z.ZodString;
|
|
169
|
+
}, z.core.$strict>;
|
|
170
|
+
requiredSecrets: z.ZodArray<z.ZodString>;
|
|
171
|
+
runtimeDeps: z.ZodArray<z.ZodString>;
|
|
172
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
173
|
+
kind: z.ZodLiteral<"amplitude">;
|
|
174
|
+
options: z.ZodObject<{
|
|
175
|
+
key: z.ZodString;
|
|
176
|
+
}, z.core.$catchall<z.ZodJSONSchema>>;
|
|
177
|
+
requiredSecrets: z.ZodArray<z.ZodString>;
|
|
178
|
+
runtimeDeps: z.ZodArray<z.ZodString>;
|
|
179
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
180
|
+
kind: z.ZodLiteral<"clarity">;
|
|
181
|
+
options: z.ZodObject<{
|
|
182
|
+
id: z.ZodString;
|
|
183
|
+
}, z.core.$strict>;
|
|
184
|
+
requiredSecrets: z.ZodArray<z.ZodString>;
|
|
185
|
+
runtimeDeps: z.ZodArray<z.ZodString>;
|
|
186
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
187
|
+
kind: z.ZodLiteral<"clearbit">;
|
|
188
|
+
options: z.ZodObject<{
|
|
189
|
+
key: z.ZodString;
|
|
190
|
+
}, z.core.$strict>;
|
|
191
|
+
requiredSecrets: z.ZodArray<z.ZodString>;
|
|
192
|
+
runtimeDeps: z.ZodArray<z.ZodString>;
|
|
193
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
194
|
+
kind: z.ZodLiteral<"cloudflare">;
|
|
195
|
+
options: z.ZodObject<{
|
|
196
|
+
token: z.ZodString;
|
|
197
|
+
}, z.core.$catchall<z.ZodJSONSchema>>;
|
|
198
|
+
requiredSecrets: z.ZodArray<z.ZodString>;
|
|
199
|
+
runtimeDeps: z.ZodArray<z.ZodString>;
|
|
200
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
201
|
+
kind: z.ZodLiteral<"fathom">;
|
|
202
|
+
options: z.ZodObject<{
|
|
203
|
+
site: z.ZodString;
|
|
204
|
+
}, z.core.$catchall<z.ZodString>>;
|
|
205
|
+
requiredSecrets: z.ZodArray<z.ZodString>;
|
|
206
|
+
runtimeDeps: z.ZodArray<z.ZodString>;
|
|
207
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
208
|
+
kind: z.ZodLiteral<"google-analytics">;
|
|
209
|
+
options: z.ZodObject<{
|
|
210
|
+
id: z.ZodString;
|
|
211
|
+
}, z.core.$catchall<z.ZodJSONSchema>>;
|
|
212
|
+
requiredSecrets: z.ZodArray<z.ZodString>;
|
|
213
|
+
runtimeDeps: z.ZodArray<z.ZodString>;
|
|
214
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
215
|
+
kind: z.ZodLiteral<"google-tag-manager">;
|
|
216
|
+
options: z.ZodObject<{
|
|
217
|
+
dataLayer: z.ZodOptional<z.ZodString>;
|
|
218
|
+
id: z.ZodString;
|
|
219
|
+
}, z.core.$strict>;
|
|
220
|
+
requiredSecrets: z.ZodArray<z.ZodString>;
|
|
221
|
+
runtimeDeps: z.ZodArray<z.ZodString>;
|
|
222
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
223
|
+
kind: z.ZodLiteral<"heap">;
|
|
224
|
+
options: z.ZodObject<{
|
|
225
|
+
id: z.ZodString;
|
|
226
|
+
}, z.core.$catchall<z.ZodJSONSchema>>;
|
|
227
|
+
requiredSecrets: z.ZodArray<z.ZodString>;
|
|
228
|
+
runtimeDeps: z.ZodArray<z.ZodString>;
|
|
229
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
230
|
+
kind: z.ZodLiteral<"hightouch">;
|
|
231
|
+
options: z.ZodObject<{
|
|
232
|
+
host: z.ZodOptional<z.ZodString>;
|
|
233
|
+
key: z.ZodString;
|
|
234
|
+
}, z.core.$catchall<z.ZodJSONSchema>>;
|
|
235
|
+
requiredSecrets: z.ZodArray<z.ZodString>;
|
|
236
|
+
runtimeDeps: z.ZodArray<z.ZodString>;
|
|
237
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
238
|
+
kind: z.ZodLiteral<"hotjar">;
|
|
239
|
+
options: z.ZodObject<{
|
|
240
|
+
id: z.ZodNumber;
|
|
241
|
+
version: z.ZodOptional<z.ZodNumber>;
|
|
242
|
+
}, z.core.$strict>;
|
|
243
|
+
requiredSecrets: z.ZodArray<z.ZodString>;
|
|
244
|
+
runtimeDeps: z.ZodArray<z.ZodString>;
|
|
245
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
246
|
+
kind: z.ZodLiteral<"logrocket">;
|
|
247
|
+
options: z.ZodObject<{
|
|
248
|
+
id: z.ZodString;
|
|
249
|
+
}, z.core.$catchall<z.ZodJSONSchema>>;
|
|
250
|
+
requiredSecrets: z.ZodArray<z.ZodString>;
|
|
251
|
+
runtimeDeps: z.ZodArray<z.ZodString>;
|
|
252
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
253
|
+
kind: z.ZodLiteral<"mixpanel">;
|
|
254
|
+
options: z.ZodObject<{
|
|
255
|
+
region: z.ZodOptional<z.ZodEnum<{
|
|
256
|
+
in: "in";
|
|
257
|
+
eu: "eu";
|
|
258
|
+
us: "us";
|
|
259
|
+
}>>;
|
|
260
|
+
token: z.ZodString;
|
|
261
|
+
}, z.core.$catchall<z.ZodJSONSchema>>;
|
|
262
|
+
requiredSecrets: z.ZodArray<z.ZodString>;
|
|
263
|
+
runtimeDeps: z.ZodArray<z.ZodString>;
|
|
264
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
265
|
+
kind: z.ZodLiteral<"pirsch">;
|
|
266
|
+
options: z.ZodObject<{
|
|
267
|
+
code: z.ZodString;
|
|
268
|
+
}, z.core.$catchall<z.ZodString>>;
|
|
269
|
+
requiredSecrets: z.ZodArray<z.ZodString>;
|
|
270
|
+
runtimeDeps: z.ZodArray<z.ZodString>;
|
|
271
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
272
|
+
kind: z.ZodLiteral<"plausible">;
|
|
273
|
+
options: z.ZodObject<{
|
|
274
|
+
domain: z.ZodString;
|
|
275
|
+
host: z.ZodOptional<z.ZodString>;
|
|
276
|
+
}, z.core.$catchall<z.ZodString>>;
|
|
277
|
+
requiredSecrets: z.ZodArray<z.ZodString>;
|
|
278
|
+
runtimeDeps: z.ZodArray<z.ZodString>;
|
|
279
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
280
|
+
kind: z.ZodLiteral<"posthog">;
|
|
281
|
+
options: z.ZodObject<{
|
|
282
|
+
host: z.ZodOptional<z.ZodString>;
|
|
283
|
+
key: z.ZodString;
|
|
284
|
+
}, z.core.$catchall<z.ZodJSONSchema>>;
|
|
285
|
+
requiredSecrets: z.ZodArray<z.ZodString>;
|
|
286
|
+
runtimeDeps: z.ZodArray<z.ZodString>;
|
|
287
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
288
|
+
kind: z.ZodLiteral<"script">;
|
|
289
|
+
options: z.ZodObject<{
|
|
290
|
+
attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
291
|
+
content: z.ZodOptional<z.ZodString>;
|
|
292
|
+
src: z.ZodOptional<z.ZodString>;
|
|
293
|
+
strategy: z.ZodOptional<z.ZodEnum<{
|
|
294
|
+
defer: "defer";
|
|
295
|
+
async: "async";
|
|
296
|
+
}>>;
|
|
297
|
+
}, z.core.$strict>;
|
|
298
|
+
requiredSecrets: z.ZodArray<z.ZodString>;
|
|
299
|
+
runtimeDeps: z.ZodArray<z.ZodString>;
|
|
300
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
301
|
+
kind: z.ZodLiteral<"segment">;
|
|
302
|
+
options: z.ZodObject<{
|
|
303
|
+
cdn: z.ZodOptional<z.ZodString>;
|
|
304
|
+
key: z.ZodString;
|
|
305
|
+
}, z.core.$catchall<z.ZodJSONSchema>>;
|
|
306
|
+
requiredSecrets: z.ZodArray<z.ZodString>;
|
|
307
|
+
runtimeDeps: z.ZodArray<z.ZodString>;
|
|
308
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
309
|
+
kind: z.ZodLiteral<"vercel">;
|
|
310
|
+
options: z.ZodObject<{
|
|
311
|
+
debug: z.ZodOptional<z.ZodBoolean>;
|
|
312
|
+
mode: z.ZodOptional<z.ZodEnum<{
|
|
313
|
+
auto: "auto";
|
|
314
|
+
development: "development";
|
|
315
|
+
production: "production";
|
|
316
|
+
}>>;
|
|
317
|
+
}, z.core.$catchall<z.ZodJSONSchema>>;
|
|
318
|
+
requiredSecrets: z.ZodArray<z.ZodString>;
|
|
319
|
+
runtimeDeps: z.ZodArray<z.ZodString>;
|
|
320
|
+
}, z.core.$strict>], "kind">>>;
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import type { AdapterDescriptor } from "../core/adapter.ts";
|
|
3
|
+
import type { HeadScript } from "./head.ts";
|
|
4
|
+
/** Options for {@link script}; set exactly one of `src` or `content`. */
|
|
5
|
+
export interface ScriptOptions {
|
|
6
|
+
/** Extra attributes spread onto the `<script>` (e.g. `data-domain`, `id`). */
|
|
7
|
+
attributes?: Record<string, string>;
|
|
8
|
+
/** Inline script body. Mutually exclusive with `src`. */
|
|
9
|
+
content?: string;
|
|
10
|
+
/** External script URL. Mutually exclusive with `content`. */
|
|
11
|
+
src?: string;
|
|
12
|
+
/** Load strategy for an external script. */
|
|
13
|
+
strategy?: "async" | "defer";
|
|
14
|
+
}
|
|
15
|
+
export declare const scriptOptionsSchema: z.ZodObject<{
|
|
16
|
+
attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
17
|
+
content: z.ZodOptional<z.ZodString>;
|
|
18
|
+
src: z.ZodOptional<z.ZodString>;
|
|
19
|
+
strategy: z.ZodOptional<z.ZodEnum<{
|
|
20
|
+
defer: "defer";
|
|
21
|
+
async: "async";
|
|
22
|
+
}>>;
|
|
23
|
+
}, z.core.$strict>;
|
|
24
|
+
export type ScriptAdapter = AdapterDescriptor<"script", ScriptOptions>;
|
|
25
|
+
export declare const scriptAdapterSchema: z.ZodObject<{
|
|
26
|
+
kind: z.ZodLiteral<"script">;
|
|
27
|
+
options: z.ZodObject<{
|
|
28
|
+
attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
29
|
+
content: z.ZodOptional<z.ZodString>;
|
|
30
|
+
src: z.ZodOptional<z.ZodString>;
|
|
31
|
+
strategy: z.ZodOptional<z.ZodEnum<{
|
|
32
|
+
defer: "defer";
|
|
33
|
+
async: "async";
|
|
34
|
+
}>>;
|
|
35
|
+
}, z.core.$strict>;
|
|
36
|
+
requiredSecrets: z.ZodArray<z.ZodString>;
|
|
37
|
+
runtimeDeps: z.ZodArray<z.ZodString>;
|
|
38
|
+
}, z.core.$strict>;
|
|
39
|
+
/**
|
|
40
|
+
* Any other provider (Plausible, Fathom, GA, Umami, …) as one `<script>` tag:
|
|
41
|
+
* external via `src`, inline via `content`. `attributes` is the verbatim
|
|
42
|
+
* passthrough here — every entry lands on the tag as-is.
|
|
43
|
+
*/
|
|
44
|
+
export declare const script: (options: ScriptOptions) => ScriptAdapter;
|
|
45
|
+
/** The tag. Explicit `src`/`strategy` win over a same-named spread attribute. */
|
|
46
|
+
export declare const scriptHead: (options: ScriptOptions) => HeadScript[];
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import type { AdapterDescriptor, JsonValue } from "../core/adapter.ts";
|
|
3
|
+
import type { HeadScript } from "./head.ts";
|
|
4
|
+
/** Segment's CDN, where `segment()` loads analytics.js from when `cdn` is unset. */
|
|
5
|
+
export declare const SEGMENT_DEFAULT_CDN = "https://cdn.segment.com";
|
|
6
|
+
/** The options {@link segment} maps itself. */
|
|
7
|
+
export interface SegmentNamedOptions {
|
|
8
|
+
/**
|
|
9
|
+
* Origin of a custom domain that proxies Segment's CDN, e.g.
|
|
10
|
+
* `https://cdn.example.com`. Defaults to Segment's own.
|
|
11
|
+
*/
|
|
12
|
+
cdn?: string;
|
|
13
|
+
/** Write key of the JavaScript source. */
|
|
14
|
+
key: string;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Options for {@link segment}: the named options plus any other
|
|
18
|
+
* `analytics.load` option, forwarded verbatim (`integrations`, …). JSON
|
|
19
|
+
* values only.
|
|
20
|
+
*/
|
|
21
|
+
export type SegmentOptions = SegmentNamedOptions & {
|
|
22
|
+
[option: string]: JsonValue;
|
|
23
|
+
};
|
|
24
|
+
export declare const segmentOptionsSchema: z.ZodObject<{
|
|
25
|
+
cdn: z.ZodOptional<z.ZodString>;
|
|
26
|
+
key: z.ZodString;
|
|
27
|
+
}, z.core.$catchall<z.ZodJSONSchema>>;
|
|
28
|
+
export type SegmentAdapter = AdapterDescriptor<"segment", SegmentOptions>;
|
|
29
|
+
export declare const segmentAdapterSchema: z.ZodObject<{
|
|
30
|
+
kind: z.ZodLiteral<"segment">;
|
|
31
|
+
options: z.ZodObject<{
|
|
32
|
+
cdn: z.ZodOptional<z.ZodString>;
|
|
33
|
+
key: z.ZodString;
|
|
34
|
+
}, z.core.$catchall<z.ZodJSONSchema>>;
|
|
35
|
+
requiredSecrets: z.ZodArray<z.ZodString>;
|
|
36
|
+
runtimeDeps: z.ZodArray<z.ZodString>;
|
|
37
|
+
}, z.core.$strict>;
|
|
38
|
+
/**
|
|
39
|
+
* Segment (Twilio Segment) analytics.js. The write key is meant for the
|
|
40
|
+
* browser — it identifies the source the SDK reports to.
|
|
41
|
+
*/
|
|
42
|
+
export declare const segment: (options: SegmentOptions) => SegmentAdapter;
|
|
43
|
+
/**
|
|
44
|
+
* The install snippet, with `key` mapped to the write key, `cdn` mapped to
|
|
45
|
+
* the script origin (and `analytics._cdn`, so the library fetches its
|
|
46
|
+
* integrations from the same place), and everything else forwarded as the
|
|
47
|
+
* load options; the object is left off when there is nothing to pass, as the
|
|
48
|
+
* snippet prints it.
|
|
49
|
+
*/
|
|
50
|
+
export declare const segmentHead: (options: SegmentOptions) => HeadScript[];
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import type { AdapterDescriptor, JsonValue } from "../core/adapter.ts";
|
|
3
|
+
/** The props of `@vercel/analytics/astro` that {@link vercel} documents. */
|
|
4
|
+
export interface VercelNamedOptions {
|
|
5
|
+
/** Log every event to the console. Defaults to the component's own rule (on outside production). */
|
|
6
|
+
debug?: boolean;
|
|
7
|
+
/** Force the script's environment instead of letting it detect one. */
|
|
8
|
+
mode?: "auto" | "development" | "production";
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Options for {@link vercel}: the documented props plus any other prop of the
|
|
12
|
+
* official component, forwarded verbatim (`endpoint`, `scriptSrc`, `dsn`, …).
|
|
13
|
+
* JSON values only; `beforeSend` is a function and can't travel through
|
|
14
|
+
* config — assign `window.webAnalyticsBeforeSend` from a `script()` adapter
|
|
15
|
+
* listed before `vercel()` instead.
|
|
16
|
+
*/
|
|
17
|
+
export type VercelOptions = VercelNamedOptions & {
|
|
18
|
+
[option: string]: JsonValue;
|
|
19
|
+
};
|
|
20
|
+
export declare const vercelOptionsSchema: z.ZodObject<{
|
|
21
|
+
debug: z.ZodOptional<z.ZodBoolean>;
|
|
22
|
+
mode: z.ZodOptional<z.ZodEnum<{
|
|
23
|
+
auto: "auto";
|
|
24
|
+
development: "development";
|
|
25
|
+
production: "production";
|
|
26
|
+
}>>;
|
|
27
|
+
}, z.core.$catchall<z.ZodJSONSchema>>;
|
|
28
|
+
export type VercelAdapter = AdapterDescriptor<"vercel", VercelOptions>;
|
|
29
|
+
export declare const vercelAdapterSchema: z.ZodObject<{
|
|
30
|
+
kind: z.ZodLiteral<"vercel">;
|
|
31
|
+
options: z.ZodObject<{
|
|
32
|
+
debug: z.ZodOptional<z.ZodBoolean>;
|
|
33
|
+
mode: z.ZodOptional<z.ZodEnum<{
|
|
34
|
+
auto: "auto";
|
|
35
|
+
development: "development";
|
|
36
|
+
production: "production";
|
|
37
|
+
}>>;
|
|
38
|
+
}, z.core.$catchall<z.ZodJSONSchema>>;
|
|
39
|
+
requiredSecrets: z.ZodArray<z.ZodString>;
|
|
40
|
+
runtimeDeps: z.ZodArray<z.ZodString>;
|
|
41
|
+
}, z.core.$strict>;
|
|
42
|
+
/**
|
|
43
|
+
* Vercel Web Analytics, rendered through the official Astro component, which
|
|
44
|
+
* injects the first-party script Vercel serves at `/_vercel/insights` once Web
|
|
45
|
+
* Analytics is enabled for the project. Needs no keys. `@vercel/analytics` is
|
|
46
|
+
* one of Blume's own dependencies, so the adapter declares no runtime dep.
|
|
47
|
+
*/
|
|
48
|
+
export declare const vercel: (options?: VercelOptions) => VercelAdapter;
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import type { AstroIntegration } from "astro";
|
|
2
|
+
import type { CustomPageRoute } from "../core/custom-pages.ts";
|
|
3
|
+
import type { BlumeProject } from "../core/project-graph.ts";
|
|
4
|
+
import type { Diagnostic } from "../core/types.ts";
|
|
5
|
+
/**
|
|
6
|
+
* Hand the scanned project to the integration ahead of `build()`, so its
|
|
7
|
+
* `astro:build:done` hook can write the deploy artifacts without scanning
|
|
8
|
+
* again. `blume build` publishes it for a real build and nothing for an
|
|
9
|
+
* isolated verify build, which produces no artifacts. `null` withdraws it.
|
|
10
|
+
*/
|
|
11
|
+
export declare const publishBuildProject: (project: BlumeProject | null) => void;
|
|
12
|
+
/**
|
|
13
|
+
* Publish the dev negotiation inputs for the running server: the content
|
|
14
|
+
* routes with a Markdown variant and the homepage `Link` header. Called by
|
|
15
|
+
* `generateRuntime` on every pass, so the middleware follows a route rename
|
|
16
|
+
* without the generated config changing. `null` withdraws a publication, so
|
|
17
|
+
* the middleware falls back to the options baked into the integration call
|
|
18
|
+
* (an ejected project has no CLI to publish).
|
|
19
|
+
*/
|
|
20
|
+
export declare const publishDevNegotiation: (negotiation: {
|
|
21
|
+
contentRoutes: readonly string[];
|
|
22
|
+
homeLinkHeader?: string;
|
|
23
|
+
} | null) => void;
|
|
24
|
+
/**
|
|
25
|
+
* Re-run Astro's content-layer loaders against the live dev server. Returns
|
|
26
|
+
* `false` when no server has registered one — before the first
|
|
27
|
+
* `astro:server:setup`, or outside `blume dev` — so the caller can fall back.
|
|
28
|
+
* A route-set change (a page added, removed, or a folder renamed) is what
|
|
29
|
+
* needs this: Astro's glob watcher misses directory renames, and its in-place
|
|
30
|
+
* config restart never re-globs, so without a re-sync `getEntry` reads a
|
|
31
|
+
* stale store and the moved page 404s.
|
|
32
|
+
*/
|
|
33
|
+
export declare const refreshBlumeContent: () => Promise<boolean>;
|
|
34
|
+
/**
|
|
35
|
+
* Surface Blume's own diagnostics (config/frontmatter/content errors) in the
|
|
36
|
+
* Vite/Astro browser error overlay during `blume dev`, so they don't hide in the
|
|
37
|
+
* terminal. A no-op when there are no errors or the dev server isn't up. The
|
|
38
|
+
* overlay clears itself on the next successful HMR update.
|
|
39
|
+
*/
|
|
40
|
+
export declare const showBlumeErrorOverlay: (diagnostics: Diagnostic[]) => void;
|
|
41
|
+
/** A user page mounted into the generated runtime. */
|
|
42
|
+
export type BlumePageRoute = CustomPageRoute;
|
|
43
|
+
export interface BlumeIntegrationOptions {
|
|
44
|
+
pages: BlumePageRoute[];
|
|
45
|
+
/**
|
|
46
|
+
* Page routes that have a raw-Markdown variant (the content manifest). The
|
|
47
|
+
* hidden runtime leaves this out: the CLI publishes the live set through
|
|
48
|
+
* `publishDevNegotiation` on every regeneration, so a route change never
|
|
49
|
+
* rewrites the generated config. An ejected project, which has no CLI,
|
|
50
|
+
* bakes it in here.
|
|
51
|
+
*/
|
|
52
|
+
contentRoutes?: string[];
|
|
53
|
+
/**
|
|
54
|
+
* Homepage `Link` header value for agent discovery (see
|
|
55
|
+
* `ai/link-headers.ts`); the dev-server counterpart of the `_headers` /
|
|
56
|
+
* Vercel-config emission, so `curl -I` against `blume dev` shows what the
|
|
57
|
+
* deployed site will send. Published the same way as `contentRoutes`.
|
|
58
|
+
*/
|
|
59
|
+
homeLinkHeader?: string;
|
|
60
|
+
/**
|
|
61
|
+
* Blume project root to scan on `astro:build:done` for the deploy artifacts
|
|
62
|
+
* (search index, llms.txt, sitemap, …) when no CLI has published the
|
|
63
|
+
* project — an ejected app running plain `astro build`. Relative to the
|
|
64
|
+
* Astro root. The hidden runtime leaves it unset: `blume build` publishes
|
|
65
|
+
* its already-scanned project instead.
|
|
66
|
+
*/
|
|
67
|
+
buildArtifactsRoot?: string;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Blume's Astro integration. Mounts user-authored pages from `pages/` into the
|
|
71
|
+
* generated runtime via `injectRoute`, keeping each file in its original
|
|
72
|
+
* location so relative imports and `getStaticPaths` keep working; declares
|
|
73
|
+
* the `blume:*` virtual modules' types through `injectTypes`; and teaches the
|
|
74
|
+
* dev server to honor `Accept: text/markdown`.
|
|
75
|
+
*/
|
|
76
|
+
export declare const blumeIntegration: (options: BlumeIntegrationOptions) => AstroIntegration;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* HTTP content negotiation for the raw-Markdown variants. The `<route>.md`
|
|
3
|
+
* endpoints already serve a page's source verbatim; these helpers let the dev
|
|
4
|
+
* server honor `Accept: text/markdown` by transparently rewriting a page
|
|
5
|
+
* request to its `.md` variant.
|
|
6
|
+
*
|
|
7
|
+
* The Cloudflare negotiation Worker embeds a plain-JavaScript copy of these
|
|
8
|
+
* helpers (`deploy/cloudflare-negotiation.ts` — its deploy bundle is uploaded
|
|
9
|
+
* unbundled, so it cannot import this module); when editing here, mirror the
|
|
10
|
+
* change there. Parity is enforced by `test/cloudflare-negotiation.test.ts`.
|
|
11
|
+
*/
|
|
12
|
+
/**
|
|
13
|
+
* Whether the client explicitly prefers Markdown over HTML. Browsers never send
|
|
14
|
+
* `text/markdown`, so an ordinary page request (`text/html` or the catch-all wildcard) is false.
|
|
15
|
+
*/
|
|
16
|
+
export declare const prefersMarkdown: (accept: string | null | undefined) => boolean;
|
|
17
|
+
/**
|
|
18
|
+
* Map a page request URL to its `.md` variant, or `null` when the requested
|
|
19
|
+
* path is not a known content route (Vite/Astro internals, assets, API routes,
|
|
20
|
+
* landing pages, and user `.astro` pages all fall through). `routes` is the set
|
|
21
|
+
* of page paths that have a raw-Markdown variant.
|
|
22
|
+
*/
|
|
23
|
+
export declare const markdownVariantUrl: (rawUrl: string | null | undefined, routes: ReadonlySet<string>, base?: string) => string | null;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Ambient declarations for the `blume:*` virtual modules the generated pages
|
|
3
|
+
* and Blume's own layouts import. The integration hands them to Astro through
|
|
4
|
+
* `injectTypes` on `astro:config:done`, so they land under
|
|
5
|
+
* `.astro/integrations/blume/` and are referenced from Astro's generated
|
|
6
|
+
* `types.d.ts` — the same channel `astro:content` and `astro:env` use — rather
|
|
7
|
+
* than a hand-written `src/env.d.ts` the generator and eject each had to
|
|
8
|
+
* write. Every project that mounts the integration gets the types with it.
|
|
9
|
+
*
|
|
10
|
+
* `examplesModule` is the path of the generated `examples.ts` relative to the
|
|
11
|
+
* declaration file: the `blume:examples` map is typed from that module's
|
|
12
|
+
* literal export so `<Component path>` lookups stay typed per project.
|
|
13
|
+
*/
|
|
14
|
+
export declare const runtimeModuleDeclarations: (examplesModule: string) => string;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import type { BlumeProject } from "../core/project-graph.ts";
|
|
2
|
+
import type { BlumePageRoute } from "./integration.ts";
|
|
3
|
+
export { customStaticRoutes, discoverPages, discoverPagesSync, } from "../core/custom-pages.ts";
|
|
4
|
+
/**
|
|
5
|
+
* Whether the project already owns `route` — through a custom `.astro` page
|
|
6
|
+
* (injected, so matched on `pattern`) or a content page (matched on `route`).
|
|
7
|
+
* Used to skip a generated default page (e.g. `/404`, `/changelog`) so a
|
|
8
|
+
* user-authored page overrides it without a route collision.
|
|
9
|
+
*/
|
|
10
|
+
export declare const routeIsTaken: (pages: {
|
|
11
|
+
pattern: string;
|
|
12
|
+
}[], contentPages: {
|
|
13
|
+
route: string;
|
|
14
|
+
}[], route: string) => boolean;
|
|
15
|
+
/** A custom-page route that should get a generated OG card. */
|
|
16
|
+
export interface OgCustomRoute {
|
|
17
|
+
/** `og/<slug>.png` path segment; `index` for the site root. */
|
|
18
|
+
slug: string;
|
|
19
|
+
/** Card headline. */
|
|
20
|
+
title: string;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Whether the generated `/changelog` index route exists for this project —
|
|
24
|
+
* `generate.ts` (which writes the page) and the sitemap/link validator all
|
|
25
|
+
* share this check: there are visible `type: changelog` entries — or a
|
|
26
|
+
* release-backed changelog source, whose route must resolve even when a fetch
|
|
27
|
+
* fails — and no user content or custom page already owns `/changelog`.
|
|
28
|
+
*/
|
|
29
|
+
export declare const hasGeneratedChangelog: (project: BlumeProject, userPages: {
|
|
30
|
+
pattern: string;
|
|
31
|
+
}[]) => boolean;
|
|
32
|
+
/**
|
|
33
|
+
* Pick the custom-page routes that should get a generated Open Graph card, with
|
|
34
|
+
* the card's slug and text. OG is otherwise content-route only, so a custom page
|
|
35
|
+
* — most importantly the landing `/`, the most-shared URL — would have no card.
|
|
36
|
+
*
|
|
37
|
+
* Dynamic (`[param]`) routes and private segments (`_partials`, `.well-known`)
|
|
38
|
+
* are skipped: they aren't shareable pages. A `titles` entry (`seo.og.titles`,
|
|
39
|
+
* keyed by route) names a card outright — the only way to say "CLI" when the
|
|
40
|
+
* segment humanizes to "Cli". Otherwise the home is titled with the site title
|
|
41
|
+
* and a deeper page from its last path segment. The card's brand lockup,
|
|
42
|
+
* description, and footer come from the resolved config at render time.
|
|
43
|
+
*/
|
|
44
|
+
export declare const customOgRoutes: (pages: BlumePageRoute[], siteTitle: string, titles?: Record<string, string>) => OgCustomRoute[];
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Load `.env`/`.env.local`, cascading from `startDir` up to the repository root
|
|
3
|
+
* (the first ancestor containing a `.git`) or the filesystem root. The ordered
|
|
4
|
+
* path list is handed to dotenv, whose `config` is first-wins, never clobbers
|
|
5
|
+
* existing `process.env` values, and treats unreadable files as best-effort —
|
|
6
|
+
* so shell/CI overrides are never lost, `.env.local` layers over `.env`, and a
|
|
7
|
+
* bad file never aborts a build. dotenv is also the parser Vite runs over
|
|
8
|
+
* these files at build time, so a value means the same thing to the pre-boot
|
|
9
|
+
* content scan and the built site — including multi-line double-quoted values
|
|
10
|
+
* (PEM keys), which a line-based parser silently truncates.
|
|
11
|
+
*/
|
|
12
|
+
export declare const loadEnvFiles: (startDir: string) => void;
|