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
package/src/core/ui-packs/it.ts
CHANGED
|
@@ -41,10 +41,11 @@ export const it: UIStringsOverride = {
|
|
|
41
41
|
banner: { dismiss: "Chiudi l'annuncio" },
|
|
42
42
|
changelog: {
|
|
43
43
|
description: "Aggiornamenti del prodotto e note di rilascio.",
|
|
44
|
-
showReleases: "Mostra le versioni {version}",
|
|
45
44
|
title: "Registro delle modifiche",
|
|
46
45
|
},
|
|
47
46
|
content: {
|
|
47
|
+
copyColor: "Copia il colore {name} {value}",
|
|
48
|
+
copyPrompt: "Copia prompt",
|
|
48
49
|
diagramError: "Impossibile visualizzare questo diagramma.",
|
|
49
50
|
},
|
|
50
51
|
feedback: {
|
|
@@ -62,6 +63,7 @@ export const it: UIStringsOverride = {
|
|
|
62
63
|
featured: "In evidenza",
|
|
63
64
|
githubRepository: "Repository GitHub",
|
|
64
65
|
navigation: "Navigazione",
|
|
66
|
+
opensInNewTab: "Si apre in una nuova scheda",
|
|
65
67
|
primary: "Principale",
|
|
66
68
|
sections: "Sezioni",
|
|
67
69
|
toggleNavigation: "Mostra o nascondi la navigazione",
|
package/src/core/ui-packs/ja.ts
CHANGED
|
@@ -42,10 +42,11 @@ export const ja: UIStringsOverride = {
|
|
|
42
42
|
banner: { dismiss: "お知らせを閉じる" },
|
|
43
43
|
changelog: {
|
|
44
44
|
description: "製品のアップデートとリリースノート。",
|
|
45
|
-
showReleases: "{version} のリリースを表示",
|
|
46
45
|
title: "変更履歴",
|
|
47
46
|
},
|
|
48
47
|
content: {
|
|
48
|
+
copyColor: "カラー {name}({value})をコピー",
|
|
49
|
+
copyPrompt: "プロンプトをコピー",
|
|
49
50
|
diagramError: "この図を表示できませんでした。",
|
|
50
51
|
},
|
|
51
52
|
feedback: {
|
|
@@ -63,6 +64,7 @@ export const ja: UIStringsOverride = {
|
|
|
63
64
|
featured: "注目",
|
|
64
65
|
githubRepository: "GitHub リポジトリ",
|
|
65
66
|
navigation: "ナビゲーション",
|
|
67
|
+
opensInNewTab: "新しいタブで開きます",
|
|
66
68
|
primary: "メイン",
|
|
67
69
|
sections: "セクション",
|
|
68
70
|
toggleNavigation: "ナビゲーションを切り替え",
|
package/src/core/ui-packs/ko.ts
CHANGED
|
@@ -42,10 +42,11 @@ export const ko: UIStringsOverride = {
|
|
|
42
42
|
banner: { dismiss: "공지 닫기" },
|
|
43
43
|
changelog: {
|
|
44
44
|
description: "제품 업데이트 및 릴리스 노트.",
|
|
45
|
-
showReleases: "{version} 릴리스 보기",
|
|
46
45
|
title: "변경 로그",
|
|
47
46
|
},
|
|
48
47
|
content: {
|
|
48
|
+
copyColor: "{name} 색상 {value} 복사",
|
|
49
|
+
copyPrompt: "프롬프트 복사",
|
|
49
50
|
diagramError: "이 다이어그램을 표시할 수 없습니다.",
|
|
50
51
|
},
|
|
51
52
|
feedback: {
|
|
@@ -63,6 +64,7 @@ export const ko: UIStringsOverride = {
|
|
|
63
64
|
featured: "추천",
|
|
64
65
|
githubRepository: "GitHub 저장소",
|
|
65
66
|
navigation: "탐색",
|
|
67
|
+
opensInNewTab: "새 탭에서 열림",
|
|
66
68
|
primary: "기본",
|
|
67
69
|
sections: "섹션",
|
|
68
70
|
toggleNavigation: "탐색 전환",
|
package/src/core/ui-packs/nl.ts
CHANGED
|
@@ -42,10 +42,13 @@ export const nl: UIStringsOverride = {
|
|
|
42
42
|
banner: { dismiss: "Aankondiging sluiten" },
|
|
43
43
|
changelog: {
|
|
44
44
|
description: "Productupdates en releaseopmerkingen.",
|
|
45
|
-
showReleases: "Releases voor {version} tonen",
|
|
46
45
|
title: "Wijzigingslogboek",
|
|
47
46
|
},
|
|
48
|
-
content: {
|
|
47
|
+
content: {
|
|
48
|
+
copyColor: "Kleur {name} {value} kopiëren",
|
|
49
|
+
copyPrompt: "Prompt kopiëren",
|
|
50
|
+
diagramError: "Dit diagram kon niet worden weergegeven.",
|
|
51
|
+
},
|
|
49
52
|
feedback: {
|
|
50
53
|
no: "Nee",
|
|
51
54
|
question: "Was deze pagina nuttig?",
|
|
@@ -61,6 +64,7 @@ export const nl: UIStringsOverride = {
|
|
|
61
64
|
featured: "Uitgelicht",
|
|
62
65
|
githubRepository: "GitHub-repository",
|
|
63
66
|
navigation: "Navigatie",
|
|
67
|
+
opensInNewTab: "Opent in een nieuw tabblad",
|
|
64
68
|
primary: "Primair",
|
|
65
69
|
sections: "Secties",
|
|
66
70
|
toggleNavigation: "Navigatie tonen of verbergen",
|
package/src/core/ui-packs/no.ts
CHANGED
|
@@ -42,10 +42,13 @@ export const no: UIStringsOverride = {
|
|
|
42
42
|
banner: { dismiss: "Lukk kunngjøringen" },
|
|
43
43
|
changelog: {
|
|
44
44
|
description: "Produktoppdateringer og utgivelsesnotater.",
|
|
45
|
-
showReleases: "Vis utgivelser for {version}",
|
|
46
45
|
title: "Endringslogg",
|
|
47
46
|
},
|
|
48
|
-
content: {
|
|
47
|
+
content: {
|
|
48
|
+
copyColor: "Kopier fargen {name} {value}",
|
|
49
|
+
copyPrompt: "Kopier prompt",
|
|
50
|
+
diagramError: "Kunne ikke vise dette diagrammet.",
|
|
51
|
+
},
|
|
49
52
|
feedback: {
|
|
50
53
|
no: "Nei",
|
|
51
54
|
question: "Var denne siden nyttig?",
|
|
@@ -61,6 +64,7 @@ export const no: UIStringsOverride = {
|
|
|
61
64
|
featured: "Utvalgt",
|
|
62
65
|
githubRepository: "GitHub-repositorium",
|
|
63
66
|
navigation: "Navigasjon",
|
|
67
|
+
opensInNewTab: "Åpnes i en ny fane",
|
|
64
68
|
primary: "Primær",
|
|
65
69
|
sections: "Seksjoner",
|
|
66
70
|
toggleNavigation: "Vis eller skjul navigasjonen",
|
package/src/core/ui-packs/pl.ts
CHANGED
|
@@ -42,10 +42,13 @@ export const pl: UIStringsOverride = {
|
|
|
42
42
|
banner: { dismiss: "Zamknij ogłoszenie" },
|
|
43
43
|
changelog: {
|
|
44
44
|
description: "Aktualizacje produktu i informacje o wydaniach.",
|
|
45
|
-
showReleases: "Pokaż wydania {version}",
|
|
46
45
|
title: "Dziennik zmian",
|
|
47
46
|
},
|
|
48
|
-
content: {
|
|
47
|
+
content: {
|
|
48
|
+
copyColor: "Kopiuj kolor {name} {value}",
|
|
49
|
+
copyPrompt: "Kopiuj prompt",
|
|
50
|
+
diagramError: "Nie udało się wyświetlić tego diagramu.",
|
|
51
|
+
},
|
|
49
52
|
feedback: {
|
|
50
53
|
no: "Nie",
|
|
51
54
|
question: "Czy ta strona była pomocna?",
|
|
@@ -61,6 +64,7 @@ export const pl: UIStringsOverride = {
|
|
|
61
64
|
featured: "Polecane",
|
|
62
65
|
githubRepository: "Repozytorium GitHub",
|
|
63
66
|
navigation: "Nawigacja",
|
|
67
|
+
opensInNewTab: "Otwiera się w nowej karcie",
|
|
64
68
|
primary: "Główne",
|
|
65
69
|
sections: "Sekcje",
|
|
66
70
|
toggleNavigation: "Przełącz nawigację",
|
|
@@ -42,10 +42,11 @@ export const ptBR: UIStringsOverride = {
|
|
|
42
42
|
banner: { dismiss: "Fechar o anúncio" },
|
|
43
43
|
changelog: {
|
|
44
44
|
description: "Atualizações do produto e notas de lançamento.",
|
|
45
|
-
showReleases: "Mostrar versões {version}",
|
|
46
45
|
title: "Registro de alterações",
|
|
47
46
|
},
|
|
48
47
|
content: {
|
|
48
|
+
copyColor: "Copiar a cor {name} {value}",
|
|
49
|
+
copyPrompt: "Copiar prompt",
|
|
49
50
|
diagramError: "Não foi possível renderizar este diagrama.",
|
|
50
51
|
},
|
|
51
52
|
feedback: {
|
|
@@ -63,6 +64,7 @@ export const ptBR: UIStringsOverride = {
|
|
|
63
64
|
featured: "Em destaque",
|
|
64
65
|
githubRepository: "Repositório do GitHub",
|
|
65
66
|
navigation: "Navegação",
|
|
67
|
+
opensInNewTab: "Abre em uma nova aba",
|
|
66
68
|
primary: "Principal",
|
|
67
69
|
sections: "Seções",
|
|
68
70
|
toggleNavigation: "Mostrar ou ocultar a navegação",
|
package/src/core/ui-packs/pt.ts
CHANGED
|
@@ -42,10 +42,11 @@ export const pt: UIStringsOverride = {
|
|
|
42
42
|
banner: { dismiss: "Fechar o anúncio" },
|
|
43
43
|
changelog: {
|
|
44
44
|
description: "Atualizações do produto e notas de lançamento.",
|
|
45
|
-
showReleases: "Mostrar versões {version}",
|
|
46
45
|
title: "Registo de alterações",
|
|
47
46
|
},
|
|
48
47
|
content: {
|
|
48
|
+
copyColor: "Copiar a cor {name} {value}",
|
|
49
|
+
copyPrompt: "Copiar prompt",
|
|
49
50
|
diagramError: "Não foi possível apresentar este diagrama.",
|
|
50
51
|
},
|
|
51
52
|
feedback: {
|
|
@@ -63,6 +64,7 @@ export const pt: UIStringsOverride = {
|
|
|
63
64
|
featured: "Em destaque",
|
|
64
65
|
githubRepository: "Repositório do GitHub",
|
|
65
66
|
navigation: "Navegação",
|
|
67
|
+
opensInNewTab: "Abre num novo separador",
|
|
66
68
|
primary: "Principal",
|
|
67
69
|
sections: "Secções",
|
|
68
70
|
toggleNavigation: "Mostrar ou ocultar a navegação",
|
package/src/core/ui-packs/ro.ts
CHANGED
|
@@ -42,10 +42,13 @@ export const ro: UIStringsOverride = {
|
|
|
42
42
|
banner: { dismiss: "Închide anunțul" },
|
|
43
43
|
changelog: {
|
|
44
44
|
description: "Actualizări ale produsului și note de lansare.",
|
|
45
|
-
showReleases: "Afișează lansările {version}",
|
|
46
45
|
title: "Jurnal de modificări",
|
|
47
46
|
},
|
|
48
|
-
content: {
|
|
47
|
+
content: {
|
|
48
|
+
copyColor: "Copiază culoarea {name} {value}",
|
|
49
|
+
copyPrompt: "Copiază promptul",
|
|
50
|
+
diagramError: "Nu s-a putut reda această diagramă.",
|
|
51
|
+
},
|
|
49
52
|
feedback: {
|
|
50
53
|
no: "Nu",
|
|
51
54
|
question: "Ți-a fost utilă această pagină?",
|
|
@@ -61,6 +64,7 @@ export const ro: UIStringsOverride = {
|
|
|
61
64
|
featured: "Recomandate",
|
|
62
65
|
githubRepository: "Depozit GitHub",
|
|
63
66
|
navigation: "Navigare",
|
|
67
|
+
opensInNewTab: "Se deschide într-o filă nouă",
|
|
64
68
|
primary: "Principal",
|
|
65
69
|
sections: "Secțiuni",
|
|
66
70
|
toggleNavigation: "Comută navigarea",
|
package/src/core/ui-packs/ru.ts
CHANGED
|
@@ -42,10 +42,13 @@ export const ru: UIStringsOverride = {
|
|
|
42
42
|
banner: { dismiss: "Закрыть объявление" },
|
|
43
43
|
changelog: {
|
|
44
44
|
description: "Обновления продукта и примечания к выпускам.",
|
|
45
|
-
showReleases: "Показать выпуски {version}",
|
|
46
45
|
title: "Журнал изменений",
|
|
47
46
|
},
|
|
48
|
-
content: {
|
|
47
|
+
content: {
|
|
48
|
+
copyColor: "Скопировать цвет {name} {value}",
|
|
49
|
+
copyPrompt: "Скопировать промпт",
|
|
50
|
+
diagramError: "Не удалось отобразить эту диаграмму.",
|
|
51
|
+
},
|
|
49
52
|
feedback: {
|
|
50
53
|
no: "Нет",
|
|
51
54
|
question: "Эта страница была полезной?",
|
|
@@ -61,6 +64,7 @@ export const ru: UIStringsOverride = {
|
|
|
61
64
|
featured: "Рекомендуемое",
|
|
62
65
|
githubRepository: "Репозиторий GitHub",
|
|
63
66
|
navigation: "Навигация",
|
|
67
|
+
opensInNewTab: "Открывается в новой вкладке",
|
|
64
68
|
primary: "Основное",
|
|
65
69
|
sections: "Разделы",
|
|
66
70
|
toggleNavigation: "Переключить навигацию",
|
package/src/core/ui-packs/sk.ts
CHANGED
|
@@ -41,10 +41,13 @@ export const sk: UIStringsOverride = {
|
|
|
41
41
|
banner: { dismiss: "Zavrieť oznámenie" },
|
|
42
42
|
changelog: {
|
|
43
43
|
description: "Novinky produktu a poznámky k vydaniu.",
|
|
44
|
-
showReleases: "Zobraziť vydania {version}",
|
|
45
44
|
title: "Zoznam zmien",
|
|
46
45
|
},
|
|
47
|
-
content: {
|
|
46
|
+
content: {
|
|
47
|
+
copyColor: "Kopírovať farbu {name} {value}",
|
|
48
|
+
copyPrompt: "Kopírovať prompt",
|
|
49
|
+
diagramError: "Tento diagram sa nepodarilo vykresliť.",
|
|
50
|
+
},
|
|
48
51
|
feedback: {
|
|
49
52
|
no: "Nie",
|
|
50
53
|
question: "Bola táto stránka užitočná?",
|
|
@@ -60,6 +63,7 @@ export const sk: UIStringsOverride = {
|
|
|
60
63
|
featured: "Odporúčané",
|
|
61
64
|
githubRepository: "Repozitár na GitHube",
|
|
62
65
|
navigation: "Navigácia",
|
|
66
|
+
opensInNewTab: "Otvorí sa na novej karte",
|
|
63
67
|
primary: "Hlavné",
|
|
64
68
|
sections: "Sekcie",
|
|
65
69
|
toggleNavigation: "Prepnúť navigáciu",
|
package/src/core/ui-packs/sr.ts
CHANGED
|
@@ -41,10 +41,13 @@ export const sr: UIStringsOverride = {
|
|
|
41
41
|
banner: { dismiss: "Затвори обавештење" },
|
|
42
42
|
changelog: {
|
|
43
43
|
description: "Ажурирања производа и белешке о издањима.",
|
|
44
|
-
showReleases: "Прикажи издања {version}",
|
|
45
44
|
title: "Дневник измена",
|
|
46
45
|
},
|
|
47
|
-
content: {
|
|
46
|
+
content: {
|
|
47
|
+
copyColor: "Копирај боју {name} {value}",
|
|
48
|
+
copyPrompt: "Копирај упит",
|
|
49
|
+
diagramError: "Није могуће приказати овај дијаграм.",
|
|
50
|
+
},
|
|
48
51
|
feedback: {
|
|
49
52
|
no: "Не",
|
|
50
53
|
question: "Да ли вам је ова страница помогла?",
|
|
@@ -60,6 +63,7 @@ export const sr: UIStringsOverride = {
|
|
|
60
63
|
featured: "Истакнуто",
|
|
61
64
|
githubRepository: "GitHub репозиторијум",
|
|
62
65
|
navigation: "Навигација",
|
|
66
|
+
opensInNewTab: "Отвара се у новој картици",
|
|
63
67
|
primary: "Главна",
|
|
64
68
|
sections: "Одељци",
|
|
65
69
|
toggleNavigation: "Отвори или затвори навигацију",
|
package/src/core/ui-packs/sv.ts
CHANGED
|
@@ -42,10 +42,13 @@ export const sv: UIStringsOverride = {
|
|
|
42
42
|
banner: { dismiss: "Stäng meddelandet" },
|
|
43
43
|
changelog: {
|
|
44
44
|
description: "Produktuppdateringar och versionsinformation.",
|
|
45
|
-
showReleases: "Visa utgåvor för {version}",
|
|
46
45
|
title: "Ändringslogg",
|
|
47
46
|
},
|
|
48
|
-
content: {
|
|
47
|
+
content: {
|
|
48
|
+
copyColor: "Kopiera färgen {name} {value}",
|
|
49
|
+
copyPrompt: "Kopiera prompt",
|
|
50
|
+
diagramError: "Det här diagrammet kunde inte visas.",
|
|
51
|
+
},
|
|
49
52
|
feedback: {
|
|
50
53
|
no: "Nej",
|
|
51
54
|
question: "Var den här sidan till hjälp?",
|
|
@@ -61,6 +64,7 @@ export const sv: UIStringsOverride = {
|
|
|
61
64
|
featured: "Utvalda",
|
|
62
65
|
githubRepository: "GitHub-repository",
|
|
63
66
|
navigation: "Navigering",
|
|
67
|
+
opensInNewTab: "Öppnas i en ny flik",
|
|
64
68
|
primary: "Primär",
|
|
65
69
|
sections: "Avsnitt",
|
|
66
70
|
toggleNavigation: "Växla navigering",
|
package/src/core/ui-packs/th.ts
CHANGED
|
@@ -41,10 +41,11 @@ export const th: UIStringsOverride = {
|
|
|
41
41
|
banner: { dismiss: "ปิดประกาศ" },
|
|
42
42
|
changelog: {
|
|
43
43
|
description: "อัปเดตผลิตภัณฑ์และบันทึกประจำรุ่น",
|
|
44
|
-
showReleases: "แสดงรุ่นของ {version}",
|
|
45
44
|
title: "บันทึกการเปลี่ยนแปลง",
|
|
46
45
|
},
|
|
47
46
|
content: {
|
|
47
|
+
copyColor: "คัดลอกสี {name} {value}",
|
|
48
|
+
copyPrompt: "คัดลอกพรอมต์",
|
|
48
49
|
diagramError: "ไม่สามารถแสดงไดอะแกรมนี้ได้",
|
|
49
50
|
},
|
|
50
51
|
feedback: {
|
|
@@ -62,6 +63,7 @@ export const th: UIStringsOverride = {
|
|
|
62
63
|
featured: "แนะนำ",
|
|
63
64
|
githubRepository: "ที่เก็บ GitHub",
|
|
64
65
|
navigation: "การนำทาง",
|
|
66
|
+
opensInNewTab: "เปิดในแท็บใหม่",
|
|
65
67
|
primary: "หลัก",
|
|
66
68
|
sections: "หมวด",
|
|
67
69
|
toggleNavigation: "สลับการนำทาง",
|
package/src/core/ui-packs/tr.ts
CHANGED
|
@@ -42,10 +42,13 @@ export const tr: UIStringsOverride = {
|
|
|
42
42
|
banner: { dismiss: "Duyuruyu kapat" },
|
|
43
43
|
changelog: {
|
|
44
44
|
description: "Ürün güncellemeleri ve sürüm notları.",
|
|
45
|
-
showReleases: "{version} sürümlerini göster",
|
|
46
45
|
title: "Değişiklik günlüğü",
|
|
47
46
|
},
|
|
48
|
-
content: {
|
|
47
|
+
content: {
|
|
48
|
+
copyColor: "Rengi kopyala: {name} {value}",
|
|
49
|
+
copyPrompt: "İstemi kopyala",
|
|
50
|
+
diagramError: "Bu diyagram görüntülenemedi.",
|
|
51
|
+
},
|
|
49
52
|
feedback: {
|
|
50
53
|
no: "Hayır",
|
|
51
54
|
question: "Bu sayfa yardımcı oldu mu?",
|
|
@@ -61,6 +64,7 @@ export const tr: UIStringsOverride = {
|
|
|
61
64
|
featured: "Öne çıkan",
|
|
62
65
|
githubRepository: "GitHub deposu",
|
|
63
66
|
navigation: "Gezinme",
|
|
67
|
+
opensInNewTab: "Yeni sekmede açılır",
|
|
64
68
|
primary: "Birincil",
|
|
65
69
|
sections: "Bölümler",
|
|
66
70
|
toggleNavigation: "Gezinmeyi aç/kapat",
|
package/src/core/ui-packs/uk.ts
CHANGED
|
@@ -42,10 +42,13 @@ export const uk: UIStringsOverride = {
|
|
|
42
42
|
banner: { dismiss: "Закрити оголошення" },
|
|
43
43
|
changelog: {
|
|
44
44
|
description: "Оновлення продукту та примітки до випусків.",
|
|
45
|
-
showReleases: "Показати випуски {version}",
|
|
46
45
|
title: "Журнал змін",
|
|
47
46
|
},
|
|
48
|
-
content: {
|
|
47
|
+
content: {
|
|
48
|
+
copyColor: "Скопіювати колір {name} {value}",
|
|
49
|
+
copyPrompt: "Скопіювати промпт",
|
|
50
|
+
diagramError: "Не вдалося відобразити цю діаграму.",
|
|
51
|
+
},
|
|
49
52
|
feedback: {
|
|
50
53
|
no: "Ні",
|
|
51
54
|
question: "Чи була ця сторінка корисною?",
|
|
@@ -61,6 +64,7 @@ export const uk: UIStringsOverride = {
|
|
|
61
64
|
featured: "Рекомендоване",
|
|
62
65
|
githubRepository: "Репозиторій GitHub",
|
|
63
66
|
navigation: "Навігація",
|
|
67
|
+
opensInNewTab: "Відкривається в новій вкладці",
|
|
64
68
|
primary: "Основне",
|
|
65
69
|
sections: "Розділи",
|
|
66
70
|
toggleNavigation: "Перемкнути навігацію",
|
package/src/core/ui-packs/vi.ts
CHANGED
|
@@ -41,10 +41,11 @@ export const vi: UIStringsOverride = {
|
|
|
41
41
|
banner: { dismiss: "Đóng thông báo" },
|
|
42
42
|
changelog: {
|
|
43
43
|
description: "Cập nhật sản phẩm và ghi chú phát hành.",
|
|
44
|
-
showReleases: "Hiện các bản phát hành {version}",
|
|
45
44
|
title: "Nhật ký thay đổi",
|
|
46
45
|
},
|
|
47
46
|
content: {
|
|
47
|
+
copyColor: "Sao chép màu {name} {value}",
|
|
48
|
+
copyPrompt: "Sao chép prompt",
|
|
48
49
|
diagramError: "Không thể hiển thị sơ đồ này.",
|
|
49
50
|
},
|
|
50
51
|
feedback: {
|
|
@@ -62,6 +63,7 @@ export const vi: UIStringsOverride = {
|
|
|
62
63
|
featured: "Nổi bật",
|
|
63
64
|
githubRepository: "Kho lưu trữ GitHub",
|
|
64
65
|
navigation: "Điều hướng",
|
|
66
|
+
opensInNewTab: "Mở trong thẻ mới",
|
|
65
67
|
primary: "Chính",
|
|
66
68
|
sections: "Chuyên mục",
|
|
67
69
|
toggleNavigation: "Chuyển đổi điều hướng",
|
|
@@ -41,10 +41,11 @@ export const zhTW: UIStringsOverride = {
|
|
|
41
41
|
banner: { dismiss: "關閉公告" },
|
|
42
42
|
changelog: {
|
|
43
43
|
description: "產品更新與版本說明。",
|
|
44
|
-
showReleases: "顯示 {version} 的發布",
|
|
45
44
|
title: "更新日誌",
|
|
46
45
|
},
|
|
47
46
|
content: {
|
|
47
|
+
copyColor: "複製顏色 {name} {value}",
|
|
48
|
+
copyPrompt: "複製提示詞",
|
|
48
49
|
diagramError: "無法顯示此圖表。",
|
|
49
50
|
},
|
|
50
51
|
feedback: {
|
|
@@ -62,6 +63,7 @@ export const zhTW: UIStringsOverride = {
|
|
|
62
63
|
featured: "精選",
|
|
63
64
|
githubRepository: "GitHub 儲存庫",
|
|
64
65
|
navigation: "導覽",
|
|
66
|
+
opensInNewTab: "在新分頁中開啟",
|
|
65
67
|
primary: "主要",
|
|
66
68
|
sections: "章節",
|
|
67
69
|
toggleNavigation: "切換導覽",
|
package/src/core/ui-packs/zh.ts
CHANGED
|
@@ -41,10 +41,11 @@ export const zh: UIStringsOverride = {
|
|
|
41
41
|
banner: { dismiss: "关闭公告" },
|
|
42
42
|
changelog: {
|
|
43
43
|
description: "产品更新与版本说明。",
|
|
44
|
-
showReleases: "显示 {version} 的发布",
|
|
45
44
|
title: "更新日志",
|
|
46
45
|
},
|
|
47
46
|
content: {
|
|
47
|
+
copyColor: "复制颜色 {name} {value}",
|
|
48
|
+
copyPrompt: "复制提示词",
|
|
48
49
|
diagramError: "无法渲染此图表。",
|
|
49
50
|
},
|
|
50
51
|
feedback: {
|
|
@@ -62,6 +63,7 @@ export const zh: UIStringsOverride = {
|
|
|
62
63
|
featured: "精选",
|
|
63
64
|
githubRepository: "GitHub 仓库",
|
|
64
65
|
navigation: "导航",
|
|
66
|
+
opensInNewTab: "在新标签页中打开",
|
|
65
67
|
primary: "主要",
|
|
66
68
|
sections: "章节",
|
|
67
69
|
toggleNavigation: "切换导航",
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Zod's own wording for unknown keys no removed-key hint covers, appended to
|
|
3
|
+
* a hint so an unrelated typo isn't silently dropped from the diagnostic
|
|
4
|
+
* beside it. Shared by every config object that names a removed field's
|
|
5
|
+
* replacement (the root config, `ai.ask`, `openapi()`/`asyncapi()`, …).
|
|
6
|
+
*/
|
|
7
|
+
export const unrecognizedKeysMessage = (keys: string[]): string =>
|
|
8
|
+
`Unrecognized key${keys.length > 1 ? "s" : ""}: ${keys
|
|
9
|
+
.map((key) => JSON.stringify(key))
|
|
10
|
+
.join(", ")}`;
|
package/src/core/version-cut.ts
CHANGED
|
@@ -11,6 +11,7 @@ import { localizeRoute } from "./i18n.ts";
|
|
|
11
11
|
import type { BlumeProject } from "./project-graph.ts";
|
|
12
12
|
import { isWithin, scanProject } from "./project-graph.ts";
|
|
13
13
|
import { VERSION_ID } from "./schema.ts";
|
|
14
|
+
import type { Diagnostic } from "./types.ts";
|
|
14
15
|
import { VERSION_LIKE, versionizeRoute } from "./versions.ts";
|
|
15
16
|
|
|
16
17
|
/** What `cutVersion` did, for the CLI to report. */
|
|
@@ -21,6 +22,11 @@ export interface CutResult {
|
|
|
21
22
|
rewritten: { file: string; count: number }[];
|
|
22
23
|
/** Whether `blume.config.ts` was updated in place. */
|
|
23
24
|
configUpdated: boolean;
|
|
25
|
+
/**
|
|
26
|
+
* Whether that update added the whole `versions` block — the first cut of a
|
|
27
|
+
* project that had no versioning — rather than one `archived` entry.
|
|
28
|
+
*/
|
|
29
|
+
versionsAdded: boolean;
|
|
24
30
|
/** Ready-to-paste config snippet when in-place update was not possible. */
|
|
25
31
|
configSnippet: string | null;
|
|
26
32
|
/** Absolute path of the created snapshot directory. */
|
|
@@ -144,11 +150,17 @@ export const rewriteSnapshotLinks = (
|
|
|
144
150
|
return { count, text: lines.join("\n") };
|
|
145
151
|
};
|
|
146
152
|
|
|
153
|
+
/**
|
|
154
|
+
* The switcher label a first cut gives the live docs. `versions.current.label`
|
|
155
|
+
* is required, and "Latest" reads right until the author names the release.
|
|
156
|
+
*/
|
|
157
|
+
const CURRENT_LABEL = "Latest";
|
|
158
|
+
|
|
147
159
|
/** The config entry to add, as a paste-ready snippet for the fallback path. */
|
|
148
160
|
const snippetFor = (id: string, hasVersions: boolean): string =>
|
|
149
161
|
hasVersions
|
|
150
162
|
? `Add to versions.archived in blume.config.ts (newest first):\n\n { id: "${id}" },\n`
|
|
151
|
-
: `Add to blume.config.ts:\n\n versions: {\n archived: [{ id: "${id}" }],\n current: { label: "
|
|
163
|
+
: `Add to blume.config.ts:\n\n versions: {\n archived: [{ id: "${id}" }],\n current: { label: "${CURRENT_LABEL}" },\n },\n`;
|
|
152
164
|
|
|
153
165
|
/**
|
|
154
166
|
* Best-effort in-place config update: insert the new id at the head of an
|
|
@@ -192,6 +204,101 @@ export const insertArchivedVersion = async (
|
|
|
192
204
|
return true;
|
|
193
205
|
};
|
|
194
206
|
|
|
207
|
+
/** The opening brace of the config object: `defineConfig({` or `export default {`. */
|
|
208
|
+
const CONFIG_OBJECT = /(?:defineConfig\(\s*|export\s+default\s+)\{/gu;
|
|
209
|
+
|
|
210
|
+
/**
|
|
211
|
+
* Best-effort in-place registration of a first version: add a `versions` block
|
|
212
|
+
* (the id archived, the live docs labeled {@link CURRENT_LABEL}) as the first
|
|
213
|
+
* property of the config object. Only the plain shape is edited — exactly one
|
|
214
|
+
* `defineConfig({` or `export default {` and no `versions` key yet — so a
|
|
215
|
+
* config built any other way falls back to the printed snippet rather than
|
|
216
|
+
* risk corrupting it.
|
|
217
|
+
*/
|
|
218
|
+
export const insertVersionsBlock = async (
|
|
219
|
+
configPath: string,
|
|
220
|
+
id: string
|
|
221
|
+
): Promise<boolean> => {
|
|
222
|
+
let text: string;
|
|
223
|
+
try {
|
|
224
|
+
text = await readFile(configPath, "utf-8");
|
|
225
|
+
} catch {
|
|
226
|
+
return false;
|
|
227
|
+
}
|
|
228
|
+
const matches = [...text.matchAll(CONFIG_OBJECT)];
|
|
229
|
+
const [match] = matches;
|
|
230
|
+
if (matches.length !== 1 || !match || /\bversions\s*:/u.test(text)) {
|
|
231
|
+
return false;
|
|
232
|
+
}
|
|
233
|
+
const insertAt = match.index + match[0].length;
|
|
234
|
+
const rest = text.slice(insertAt);
|
|
235
|
+
const eol = text.includes("\r\n") ? "\r\n" : "\n";
|
|
236
|
+
const lineStart = text.lastIndexOf("\n", match.index) + 1;
|
|
237
|
+
const outer = /^[ \t]*/u.exec(text.slice(lineStart))?.[0] ?? "";
|
|
238
|
+
// Match the indentation of the property on the next line, when there is one.
|
|
239
|
+
const indent =
|
|
240
|
+
/^[ \t]*\r?\n(?<indent>[ \t]*)\S/u.exec(rest)?.groups?.indent ??
|
|
241
|
+
`${outer} `;
|
|
242
|
+
const block = [
|
|
243
|
+
"versions: {",
|
|
244
|
+
` archived: [{ id: "${id}" }],`,
|
|
245
|
+
` current: { label: "${CURRENT_LABEL}" },`,
|
|
246
|
+
"},",
|
|
247
|
+
]
|
|
248
|
+
.map((line) => `${indent}${line}`)
|
|
249
|
+
.join(eol);
|
|
250
|
+
const body = rest.trimStart();
|
|
251
|
+
let tail: string;
|
|
252
|
+
if (body.startsWith("}")) {
|
|
253
|
+
// An empty object: close it on its own line.
|
|
254
|
+
tail = `${eol}${outer}${body}`;
|
|
255
|
+
} else if (/^[ \t]*\r?\n/u.test(rest)) {
|
|
256
|
+
tail = rest;
|
|
257
|
+
} else {
|
|
258
|
+
// An inline object: move its first property onto the next line.
|
|
259
|
+
tail = `${eol}${indent}${body}`;
|
|
260
|
+
}
|
|
261
|
+
await writeTextAtomic(
|
|
262
|
+
configPath,
|
|
263
|
+
`${text.slice(0, insertAt)}${eol}${block}${tail}`
|
|
264
|
+
);
|
|
265
|
+
return true;
|
|
266
|
+
};
|
|
267
|
+
|
|
268
|
+
/**
|
|
269
|
+
* Version-shaped folders (`v1.0/`) at the top of the content root of a project
|
|
270
|
+
* with no `versions` config — usually a snapshot `blume version` cut but
|
|
271
|
+
* couldn't register — which build as ordinary content at `/v1.0/…`, so every
|
|
272
|
+
* page ships twice. With versioning configured, the scan's own
|
|
273
|
+
* `BLUME_VERSIONS_UNCONFIGURED_VERSION` covers a folder it doesn't list; this
|
|
274
|
+
* check is `blume doctor`'s alone, since an unversioned site can have a real
|
|
275
|
+
* `v1/` section that a warning on every build would only nag about.
|
|
276
|
+
*/
|
|
277
|
+
export const unregisteredSnapshotDiagnostics = (
|
|
278
|
+
project: BlumeProject
|
|
279
|
+
): Diagnostic[] => {
|
|
280
|
+
if (project.config.versions) {
|
|
281
|
+
return [];
|
|
282
|
+
}
|
|
283
|
+
const { contentRoot } = project.context;
|
|
284
|
+
const folders = new Set<string>();
|
|
285
|
+
for (const page of project.graph.pages) {
|
|
286
|
+
const [first, ...rest] = page.sourcePath
|
|
287
|
+
? relative(contentRoot, page.sourcePath).split("/")
|
|
288
|
+
: [];
|
|
289
|
+
if (first && rest.length > 0 && VERSION_LIKE.test(first)) {
|
|
290
|
+
folders.add(first);
|
|
291
|
+
}
|
|
292
|
+
}
|
|
293
|
+
return [...folders].toSorted().map((folder) => ({
|
|
294
|
+
code: "BLUME_VERSIONS_UNCONFIGURED_VERSION",
|
|
295
|
+
file: join(contentRoot, folder),
|
|
296
|
+
message: `Folder "${folder}/" looks like a version snapshot, but versioning isn't configured, so its pages build as ordinary content at /${folder}/….`,
|
|
297
|
+
severity: "warning",
|
|
298
|
+
suggestion: `If it's a snapshot, register it with \`versions: { archived: [{ id: "${folder}" }], current: { label: "${CURRENT_LABEL}" } }\` in blume.config.ts; if it's an ordinary section, ignore this.`,
|
|
299
|
+
}));
|
|
300
|
+
};
|
|
301
|
+
|
|
195
302
|
/**
|
|
196
303
|
* Freeze the current docs as an archived version: copy the content tree into
|
|
197
304
|
* `<contentRoot>/<id>/` (excluding existing snapshots), rewrite root-absolute
|
|
@@ -304,18 +411,19 @@ export const cutVersion = async (
|
|
|
304
411
|
};
|
|
305
412
|
await walk(dir);
|
|
306
413
|
|
|
307
|
-
const configPath =
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
414
|
+
const configPath =
|
|
415
|
+
project.context.configFile ?? join(root, "blume.config.ts");
|
|
416
|
+
const firstVersion = project.config.versions === undefined;
|
|
417
|
+
const configUpdated = firstVersion
|
|
418
|
+
? await insertVersionsBlock(configPath, id)
|
|
419
|
+
: await insertArchivedVersion(configPath, id);
|
|
311
420
|
|
|
312
421
|
return {
|
|
313
|
-
configSnippet: configUpdated
|
|
314
|
-
? null
|
|
315
|
-
: snippetFor(id, project.config.versions !== undefined),
|
|
422
|
+
configSnippet: configUpdated ? null : snippetFor(id, !firstVersion),
|
|
316
423
|
configUpdated,
|
|
317
424
|
copied,
|
|
318
425
|
dir,
|
|
319
426
|
rewritten,
|
|
427
|
+
versionsAdded: configUpdated && firstVersion,
|
|
320
428
|
};
|
|
321
429
|
};
|