blume 2.1.0 → 2.1.1
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/CHANGELOG.md +94 -0
- package/dist/cli/{chunk-5cg2rzgf.js → chunk-073rdvgb.js} +19 -48
- package/dist/cli/{chunk-5cg2rzgf.js.map → chunk-073rdvgb.js.map} +4 -5
- package/dist/cli/{chunk-ga0pf4aj.js → chunk-0n9xkp3d.js} +12 -3
- package/dist/cli/{chunk-ga0pf4aj.js.map → chunk-0n9xkp3d.js.map} +3 -3
- package/dist/cli/chunk-150jk7km.js +52 -0
- package/dist/cli/chunk-150jk7km.js.map +10 -0
- package/dist/cli/{chunk-rekqz4qg.js → chunk-313vnn40.js} +16 -15
- package/dist/cli/chunk-313vnn40.js.map +10 -0
- package/dist/cli/{chunk-gp84za0h.js → chunk-3v3ffbrj.js} +2 -2
- package/dist/cli/{chunk-9xr4dgee.js → chunk-3x6x3pph.js} +29 -16
- package/dist/cli/chunk-3x6x3pph.js.map +10 -0
- package/dist/cli/{chunk-0gz36akr.js → chunk-42t4jxdx.js} +21 -5
- package/dist/cli/chunk-42t4jxdx.js.map +12 -0
- package/dist/cli/{chunk-ta27feev.js → chunk-54ztw1nj.js} +21 -2
- package/dist/cli/chunk-54ztw1nj.js.map +10 -0
- package/dist/cli/{chunk-jnwj5kjj.js → chunk-5vjtgs6e.js} +20 -7
- package/dist/cli/{chunk-jnwj5kjj.js.map → chunk-5vjtgs6e.js.map} +3 -3
- package/dist/cli/chunk-66w9j7p6.js +322 -0
- package/dist/cli/chunk-66w9j7p6.js.map +14 -0
- package/dist/cli/{chunk-nd1821sk.js → chunk-7ppf1rva.js} +32 -18
- package/dist/cli/chunk-7ppf1rva.js.map +10 -0
- package/dist/cli/{chunk-p804f3pe.js → chunk-8y2kmjv8.js} +6 -6
- package/dist/cli/{chunk-2f7n4qzt.js → chunk-c1y538kd.js} +1 -1
- package/dist/cli/{chunk-1n228xqb.js → chunk-c887fj0s.js} +2 -2
- package/dist/cli/{chunk-y5h4r2y0.js → chunk-cfyg47zg.js} +15 -5
- package/dist/cli/chunk-cfyg47zg.js.map +10 -0
- package/dist/cli/{chunk-cmtcnh9f.js → chunk-dzwehpy7.js} +2 -2
- package/dist/cli/{chunk-h2a48yhd.js → chunk-e6atmn4h.js} +119 -15
- package/dist/cli/{chunk-h2a48yhd.js.map → chunk-e6atmn4h.js.map} +10 -10
- package/dist/cli/{chunk-5ffywsmb.js → chunk-e8xw9qkh.js} +8 -6
- package/dist/cli/{chunk-5ffywsmb.js.map → chunk-e8xw9qkh.js.map} +3 -3
- package/dist/cli/{chunk-ntv4qrt7.js → chunk-e9q7a2ak.js} +14 -14
- package/dist/cli/{chunk-xkz5xbtv.js → chunk-ehweg4fr.js} +2366 -1114
- package/dist/cli/chunk-ehweg4fr.js.map +218 -0
- package/dist/cli/{chunk-zf748avv.js → chunk-ep6nd0rn.js} +176 -281
- package/dist/cli/{chunk-zf748avv.js.map → chunk-ep6nd0rn.js.map} +11 -12
- package/dist/cli/{chunk-yxmk4pec.js → chunk-fdrkhpjy.js} +16 -15
- package/dist/cli/{chunk-yxmk4pec.js.map → chunk-fdrkhpjy.js.map} +3 -3
- package/dist/cli/{chunk-5wj2qwn2.js → chunk-ft9vfys6.js} +4 -4
- package/dist/cli/{chunk-4h8z9vv5.js → chunk-gb420vvz.js} +89 -46
- package/dist/cli/chunk-gb420vvz.js.map +17 -0
- package/dist/cli/{chunk-713mngdq.js → chunk-hebn0tpx.js} +76 -10
- package/dist/cli/chunk-hebn0tpx.js.map +14 -0
- package/dist/cli/{chunk-2n4ps1b3.js → chunk-htrwgabr.js} +40 -22
- package/dist/cli/chunk-htrwgabr.js.map +15 -0
- package/dist/cli/{chunk-zhvd6adm.js → chunk-hx3xqnk9.js} +13 -13
- package/dist/cli/chunk-j134vrp2.js +65 -0
- package/dist/cli/chunk-j134vrp2.js.map +10 -0
- package/dist/cli/{chunk-y4ykbark.js → chunk-kma9f6sf.js} +2 -2
- package/dist/cli/{chunk-py62fewh.js → chunk-mrcccgnh.js} +3 -3
- package/dist/cli/{chunk-2f3ndkpw.js → chunk-n0v7m8ry.js} +3 -3
- package/dist/cli/{chunk-43zcf4gz.js → chunk-ncj7w596.js} +522 -353
- package/dist/cli/chunk-ncj7w596.js.map +35 -0
- package/dist/cli/{chunk-9geymqns.js → chunk-nq1d20w2.js} +14 -14
- package/dist/cli/{chunk-g2z9x01v.js → chunk-nrns10mj.js} +3 -3
- package/dist/cli/{chunk-e7vvk5ya.js → chunk-sds923fa.js} +3 -3
- package/dist/cli/{chunk-cy5bm0j0.js → chunk-t2m5j4pr.js} +2 -2
- package/dist/cli/{chunk-cy5bm0j0.js.map → chunk-t2m5j4pr.js.map} +1 -1
- package/dist/cli/{chunk-yj17vs39.js → chunk-tdqhyxfz.js} +5 -5
- package/dist/cli/{chunk-q3wxxq39.js → chunk-tphac74f.js} +5 -5
- package/dist/cli/{chunk-6bm0xpgd.js → chunk-w1r4vase.js} +2 -2
- package/dist/cli/index.js +24 -19
- package/dist/cli/index.js.map +3 -3
- package/dist/types/ai/ask-context.d.ts +6 -2
- package/dist/types/ai/component-markdown.d.ts +2 -0
- package/dist/types/ai/openapi-components.d.ts +4 -1
- package/dist/types/astro/integration.d.ts +5 -4
- package/dist/types/astro/markdown-negotiation.d.ts +3 -0
- package/dist/types/astro/pages.d.ts +10 -0
- package/dist/types/cli/init/scaffold.d.ts +1 -1
- package/dist/types/components/content/api-field.d.ts +4 -1
- package/dist/types/components/content/api-page.d.ts +6 -1
- package/dist/types/components/openapi/code-samples.d.ts +29 -0
- package/dist/types/components/openapi/helpers.d.ts +22 -1
- package/dist/types/components/openapi/security.d.ts +10 -0
- package/dist/types/components/openapi/snippets.d.ts +60 -0
- package/dist/types/core/changelog-index.d.ts +8 -0
- package/dist/types/core/config-input.d.ts +30 -3
- package/dist/types/core/data.d.ts +4 -0
- package/dist/types/core/i18n-ui.d.ts +2 -0
- package/dist/types/core/links.d.ts +8 -0
- package/dist/types/core/probe.d.ts +2 -0
- package/dist/types/core/project-graph.d.ts +6 -0
- package/dist/types/core/redirect-patterns.d.ts +11 -3
- package/dist/types/core/schema.d.ts +119 -0
- package/dist/types/core/sources/cache.d.ts +3 -0
- package/dist/types/core/sources/contentful-rich-text.d.ts +11 -2
- package/dist/types/core/sources/contentful.d.ts +17 -1
- package/dist/types/core/sources/lexical.d.ts +5 -0
- package/dist/types/core/sources/normalize.d.ts +20 -1
- package/dist/types/core/sources/remote.d.ts +37 -10
- package/dist/types/core/sources/sanity.d.ts +1 -1
- package/dist/types/core/types.d.ts +17 -0
- package/dist/types/deploy/adapter-output.d.ts +2 -1
- package/dist/types/deploy/adapters/cloudflare.d.ts +7 -5
- package/dist/types/deploy/adapters/node.d.ts +58 -23
- package/dist/types/deploy/adapters/registry.d.ts +10 -0
- package/dist/types/deploy/adapters/types.d.ts +3 -2
- package/dist/types/deploy/platforms/cloudflare.d.ts +10 -7
- package/dist/types/deploy/platforms/node.d.ts +3 -1
- package/dist/types/deploy/platforms/types.d.ts +18 -7
- package/dist/types/deploy/platforms/vercel.d.ts +20 -1
- package/dist/types/deploy/redirects.d.ts +17 -1
- package/dist/types/deploy/sitemap.d.ts +2 -1
- package/dist/types/deploy/vercel-negotiation.d.ts +42 -21
- package/dist/types/openapi/checks.d.ts +27 -0
- package/dist/types/openapi/graphql.d.ts +6 -0
- package/dist/types/openapi/model.d.ts +15 -4
- package/dist/types/openapi/parse.d.ts +3 -0
- package/dist/types/openapi/references.d.ts +16 -0
- package/dist/types/ratelimit/index.d.ts +1 -1
- package/dist/types/ratelimit/schema.d.ts +8 -0
- package/dist/types/ratelimit/upstash.d.ts +39 -14
- package/dist/types/reference/graphql.d.ts +76 -1
- package/dist/types/reference/index.d.ts +1 -1
- package/dist/types/reference/openapi.d.ts +2 -2
- package/dist/types/reference/options.d.ts +37 -1
- package/dist/types/reference/schema.d.ts +84 -0
- package/dist/types/search/adapters/registry.d.ts +3 -0
- package/dist/types/search/adapters/typesense.d.ts +14 -4
- package/dist/types/search/build.d.ts +3 -1
- package/dist/types/search/orama-index.d.ts +9 -9
- package/dist/types/search/sync/algolia.d.ts +5 -2
- package/dist/types/search/sync/index.d.ts +3 -1
- package/dist/types/search/sync/typesense.d.ts +11 -7
- package/dist/types/sources/contentful.d.ts +16 -0
- package/dist/types/sources/github-releases.d.ts +8 -1
- package/dist/types/sources/payload.d.ts +2 -0
- package/dist/types/sources/registry.d.ts +54 -0
- package/dist/types/sources/shared.d.ts +3 -0
- package/dist/types/sources/strapi.d.ts +2 -0
- package/docs/01-quickstart.mdx +4 -2
- package/docs/02-deployment.mdx +31 -13
- package/docs/advanced/changelog.mdx +11 -0
- package/docs/advanced/skills.mdx +1 -1
- package/docs/cli/audit.mdx +30 -7
- package/docs/cli/doctor.mdx +5 -1
- package/docs/cli/evals.mdx +4 -4
- package/docs/cli/translate.mdx +1 -0
- package/docs/cli/validate.mdx +4 -3
- package/docs/configuration/analytics.mdx +1 -1
- package/docs/configuration/assistant.mdx +6 -2
- package/docs/configuration/customization.mdx +4 -2
- package/docs/configuration/export.mdx +5 -3
- package/docs/configuration/index.mdx +3 -2
- package/docs/configuration/rate-limiting.mdx +23 -2
- package/docs/configuration/search.mdx +37 -14
- package/docs/content/components.mdx +2 -2
- package/docs/content/frontmatter.mdx +5 -3
- package/docs/content/i18n.mdx +2 -2
- package/docs/content/includes.mdx +1 -1
- package/docs/content/navigation.mdx +4 -4
- package/docs/content/sources/contentful.mdx +7 -4
- package/docs/content/sources/custom.mdx +7 -3
- package/docs/content/sources/github-releases.mdx +10 -2
- package/docs/content/sources/index.mdx +3 -3
- package/docs/content/sources/notion.mdx +1 -1
- package/docs/content/sources/obsidian.mdx +1 -1
- package/docs/content/sources/payload.mdx +3 -2
- package/docs/content/sources/remote-mdx.mdx +4 -0
- package/docs/content/sources/sanity.mdx +2 -2
- package/docs/content/sources/strapi.mdx +3 -2
- package/docs/content/syntax.mdx +2 -2
- package/docs/discoverability/agent-discovery.mdx +1 -1
- package/docs/discoverability/index.mdx +1 -1
- package/docs/discoverability/json-api.mdx +2 -0
- package/docs/discoverability/llms-txt.mdx +1 -1
- package/docs/discoverability/markdown.mdx +3 -1
- package/docs/discoverability/mcp.mdx +4 -0
- package/docs/discoverability/sitemap-and-robots.mdx +1 -1
- package/docs/references/api-pages.mdx +1 -1
- package/docs/references/asyncapi.mdx +3 -1
- package/docs/references/graphql.mdx +13 -1
- package/docs/references/openapi.mdx +50 -8
- package/package.json +9 -9
- package/skills/blume-migrate/SKILL.md +1 -1
- package/skills/blume-migrate/references/docusaurus.md +4 -4
- package/skills/blume-migrate/references/fumadocs.md +17 -13
- package/skills/blume-migrate/references/nextra.md +8 -5
- package/skills/blume-migrate/references/starlight.md +9 -7
- package/src/ai/ask-context.ts +33 -3
- package/src/ai/ask-limits.ts +13 -0
- package/src/ai/changelog-markdown.ts +11 -6
- package/src/ai/component-markdown.ts +1 -1
- package/src/ai/cors.ts +12 -3
- package/src/ai/mcp/query.ts +14 -6
- package/src/ai/openapi-components.ts +28 -4
- package/src/ai/relative-links.ts +4 -38
- package/src/astro/generate.ts +78 -48
- package/src/astro/integration.ts +16 -13
- package/src/astro/markdown-negotiation.ts +3 -0
- package/src/astro/module-types.ts +3 -1
- package/src/astro/pages.ts +23 -0
- package/src/astro/templates.ts +125 -80
- package/src/audit/catalog.ts +19 -3
- package/src/audit/checks/links.ts +14 -1
- package/src/audit/checks/network.ts +110 -6
- package/src/audit/checks/redirects.ts +6 -4
- package/src/audit/checks/robots.ts +58 -2
- package/src/audit/run.ts +3 -0
- package/src/audit/types.ts +2 -0
- package/src/audit/url.ts +14 -5
- package/src/blume-modules.d.ts +5 -1
- package/src/cli/args.ts +51 -0
- package/src/cli/build-failure.ts +23 -0
- package/src/cli/commands/audit.ts +10 -1
- package/src/cli/commands/dev.ts +18 -2
- package/src/cli/commands/doctor.ts +45 -12
- package/src/cli/commands/eval.ts +36 -4
- package/src/cli/commands/init.ts +6 -4
- package/src/cli/commands/validate.ts +10 -1
- package/src/cli/init/scaffold.ts +3 -3
- package/src/cli/prepare.ts +6 -3
- package/src/cli/required-secrets.ts +1 -1
- package/src/components/content/ApiPlayground.astro +6 -2
- package/src/components/content/api-field.ts +4 -1
- package/src/components/content/api-page.ts +31 -7
- package/src/components/content/mermaid-element.ts +15 -1
- package/src/components/islands/hooks.ts +27 -1
- package/src/components/layout/PageActions.astro +139 -24
- package/src/components/layout/RootLayout.astro +10 -2
- package/src/components/layout/Search.astro +17 -3
- package/src/components/layout/TableOfContents.astro +24 -17
- package/src/components/layout/head-scripts.ts +6 -1
- package/src/components/layout/search/algolia.ts +10 -1
- package/src/components/layout/search/analytics.ts +42 -14
- package/src/components/layout/search/endpoint.ts +48 -5
- package/src/components/layout/search/pagefind.ts +114 -5
- package/src/components/layout/search/types.ts +12 -0
- package/src/components/layout/search/typesense.ts +18 -6
- package/src/components/openapi/AsyncApiOperation.astro +14 -7
- package/src/components/openapi/Authorization.astro +10 -0
- package/src/components/openapi/GraphqlOperation.astro +5 -0
- package/src/components/openapi/Operation.astro +24 -1
- package/src/components/openapi/ParametersTable.astro +8 -4
- package/src/components/openapi/Playground.astro +7 -1
- package/src/components/openapi/RequestBody.astro +19 -2
- package/src/components/openapi/Responses.astro +1 -0
- package/src/components/openapi/SchemaTable.astro +15 -3
- package/src/components/openapi/async-snippets.ts +61 -5
- package/src/components/openapi/async.ts +123 -29
- package/src/components/openapi/graphql-helpers.ts +35 -12
- package/src/components/openapi/helpers.ts +36 -2
- package/src/components/openapi/message-model.ts +54 -11
- package/src/components/openapi/message.ts +14 -4
- package/src/components/openapi/operation-model.ts +16 -7
- package/src/components/openapi/playground-client.ts +24 -5
- package/src/components/openapi/playground-schema.ts +1 -1
- package/src/components/openapi/schema-tree.ts +44 -14
- package/src/components/openapi/security.ts +10 -0
- package/src/components/openapi/snippets.ts +5 -3
- package/src/components/openapi/validate-json.ts +4 -3
- package/src/core/changelog-index.ts +31 -1
- package/src/core/component-diagnostics.ts +53 -0
- package/src/core/component-overrides.ts +32 -0
- package/src/core/config-input.ts +31 -3
- package/src/core/data.ts +2 -0
- package/src/core/diagnostics.ts +5 -0
- package/src/core/i18n-ui.ts +2 -0
- package/src/core/includes.ts +1 -1
- package/src/core/links.ts +47 -17
- package/src/core/probe.ts +26 -6
- package/src/core/project-graph.ts +59 -18
- package/src/core/redirect-patterns.ts +36 -7
- package/src/core/schema.ts +21 -2
- package/src/core/sources/cache.ts +6 -0
- package/src/core/sources/contentful-rich-text.ts +29 -6
- package/src/core/sources/contentful.ts +135 -25
- package/src/core/sources/filesystem.ts +26 -4
- package/src/core/sources/github-releases.ts +12 -1
- package/src/core/sources/lexical.ts +15 -10
- package/src/core/sources/mdx-remote.ts +62 -10
- package/src/core/sources/normalize.ts +227 -41
- package/src/core/sources/notion.ts +7 -1
- package/src/core/sources/obsidian.ts +16 -3
- package/src/core/sources/payload.ts +38 -15
- package/src/core/sources/remote.ts +72 -15
- package/src/core/sources/resolve.ts +11 -1
- package/src/core/sources/sanity.ts +43 -25
- package/src/core/sources/strapi.ts +2 -2
- package/src/core/types.ts +18 -0
- package/src/core/ui-packs/ar.ts +1 -0
- package/src/core/ui-packs/bg.ts +1 -0
- package/src/core/ui-packs/bn.ts +1 -0
- package/src/core/ui-packs/ca.ts +1 -0
- package/src/core/ui-packs/cs.ts +1 -0
- package/src/core/ui-packs/da.ts +1 -0
- package/src/core/ui-packs/de.ts +1 -0
- package/src/core/ui-packs/el.ts +1 -0
- package/src/core/ui-packs/es.ts +1 -0
- package/src/core/ui-packs/fa.ts +1 -0
- package/src/core/ui-packs/fi.ts +1 -0
- package/src/core/ui-packs/fr.ts +1 -0
- package/src/core/ui-packs/he.ts +1 -0
- package/src/core/ui-packs/hi.ts +1 -0
- package/src/core/ui-packs/hr.ts +1 -0
- package/src/core/ui-packs/hu.ts +1 -0
- package/src/core/ui-packs/id.ts +1 -0
- package/src/core/ui-packs/it.ts +1 -0
- package/src/core/ui-packs/ja.ts +1 -0
- package/src/core/ui-packs/ko.ts +1 -0
- package/src/core/ui-packs/nl.ts +1 -0
- package/src/core/ui-packs/no.ts +1 -0
- package/src/core/ui-packs/pl.ts +1 -0
- package/src/core/ui-packs/pt-br.ts +1 -0
- package/src/core/ui-packs/pt.ts +1 -0
- package/src/core/ui-packs/ro.ts +1 -0
- package/src/core/ui-packs/ru.ts +1 -0
- package/src/core/ui-packs/sk.ts +1 -0
- package/src/core/ui-packs/sr.ts +1 -0
- package/src/core/ui-packs/sv.ts +1 -0
- package/src/core/ui-packs/th.ts +1 -0
- package/src/core/ui-packs/tr.ts +1 -0
- package/src/core/ui-packs/uk.ts +1 -0
- package/src/core/ui-packs/vi.ts +1 -0
- package/src/core/ui-packs/zh-tw.ts +1 -0
- package/src/core/ui-packs/zh.ts +1 -0
- package/src/deploy/adapter-output.ts +7 -2
- package/src/deploy/adapters/cloudflare.ts +7 -5
- package/src/deploy/adapters/node.ts +47 -9
- package/src/deploy/adapters/types.ts +7 -3
- package/src/deploy/artifacts.ts +2 -1
- package/src/deploy/platforms/cloudflare.ts +13 -9
- package/src/deploy/platforms/netlify.ts +2 -1
- package/src/deploy/platforms/node.ts +12 -2
- package/src/deploy/platforms/types.ts +21 -7
- package/src/deploy/platforms/vercel.ts +113 -16
- package/src/deploy/redirects.ts +66 -6
- package/src/deploy/rss.ts +3 -1
- package/src/deploy/sitemap.ts +39 -5
- package/src/deploy/vercel-negotiation.ts +290 -102
- package/src/eval/agents.ts +18 -1
- package/src/eval/prompts.ts +6 -3
- package/src/eval/report.ts +34 -13
- package/src/eval/run.ts +5 -0
- package/src/markdown/relative-links.ts +3 -2
- package/src/openapi/checks.ts +273 -0
- package/src/openapi/graphql-build.ts +21 -0
- package/src/openapi/graphql.ts +11 -0
- package/src/openapi/model.ts +15 -3
- package/src/openapi/parse.ts +127 -2
- package/src/openapi/references.ts +43 -3
- package/src/openapi/source.ts +39 -14
- package/src/ratelimit/index.ts +1 -1
- package/src/ratelimit/runtime.ts +37 -19
- package/src/ratelimit/upstash.ts +40 -10
- package/src/reference/graphql.ts +15 -1
- package/src/reference/index.ts +1 -0
- package/src/reference/openapi.ts +2 -2
- package/src/reference/options.ts +29 -1
- package/src/registry/eject.ts +3 -1
- package/src/search/adapters/locale-scope.ts +30 -0
- package/src/search/adapters/typesense.ts +14 -4
- package/src/search/build.ts +21 -3
- package/src/search/orama-index.ts +163 -31
- package/src/search/source-pages.ts +29 -0
- package/src/search/sync/algolia.ts +99 -9
- package/src/search/sync/index.ts +52 -13
- package/src/search/sync/typesense.ts +72 -27
- package/src/sources/contentful.ts +12 -0
- package/src/sources/github-releases.ts +7 -1
- package/src/sources/shared.ts +3 -0
- package/src/theme/entry.ts +29 -3
- package/src/translate/validate.ts +23 -1
- package/dist/cli/chunk-0gz36akr.js.map +0 -12
- package/dist/cli/chunk-2n4ps1b3.js.map +0 -15
- package/dist/cli/chunk-43zcf4gz.js.map +0 -36
- package/dist/cli/chunk-4ejxbzee.js +0 -39
- package/dist/cli/chunk-4ejxbzee.js.map +0 -10
- package/dist/cli/chunk-4h8z9vv5.js.map +0 -16
- package/dist/cli/chunk-713mngdq.js.map +0 -14
- package/dist/cli/chunk-9xr4dgee.js.map +0 -10
- package/dist/cli/chunk-amrb6hgh.js +0 -145
- package/dist/cli/chunk-amrb6hgh.js.map +0 -11
- package/dist/cli/chunk-nd1821sk.js.map +0 -10
- package/dist/cli/chunk-rekqz4qg.js.map +0 -10
- package/dist/cli/chunk-ta27feev.js.map +0 -10
- package/dist/cli/chunk-xkz5xbtv.js.map +0 -213
- package/dist/cli/chunk-y5h4r2y0.js.map +0 -10
- /package/dist/cli/{chunk-gp84za0h.js.map → chunk-3v3ffbrj.js.map} +0 -0
- /package/dist/cli/{chunk-p804f3pe.js.map → chunk-8y2kmjv8.js.map} +0 -0
- /package/dist/cli/{chunk-2f7n4qzt.js.map → chunk-c1y538kd.js.map} +0 -0
- /package/dist/cli/{chunk-1n228xqb.js.map → chunk-c887fj0s.js.map} +0 -0
- /package/dist/cli/{chunk-cmtcnh9f.js.map → chunk-dzwehpy7.js.map} +0 -0
- /package/dist/cli/{chunk-ntv4qrt7.js.map → chunk-e9q7a2ak.js.map} +0 -0
- /package/dist/cli/{chunk-5wj2qwn2.js.map → chunk-ft9vfys6.js.map} +0 -0
- /package/dist/cli/{chunk-zhvd6adm.js.map → chunk-hx3xqnk9.js.map} +0 -0
- /package/dist/cli/{chunk-y4ykbark.js.map → chunk-kma9f6sf.js.map} +0 -0
- /package/dist/cli/{chunk-py62fewh.js.map → chunk-mrcccgnh.js.map} +0 -0
- /package/dist/cli/{chunk-2f3ndkpw.js.map → chunk-n0v7m8ry.js.map} +0 -0
- /package/dist/cli/{chunk-9geymqns.js.map → chunk-nq1d20w2.js.map} +0 -0
- /package/dist/cli/{chunk-g2z9x01v.js.map → chunk-nrns10mj.js.map} +0 -0
- /package/dist/cli/{chunk-e7vvk5ya.js.map → chunk-sds923fa.js.map} +0 -0
- /package/dist/cli/{chunk-yj17vs39.js.map → chunk-tdqhyxfz.js.map} +0 -0
- /package/dist/cli/{chunk-q3wxxq39.js.map → chunk-tphac74f.js.map} +0 -0
- /package/dist/cli/{chunk-6bm0xpgd.js.map → chunk-w1r4vase.js.map} +0 -0
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { join } from "pathe";
|
|
2
2
|
|
|
3
|
+
import { BlumeError } from "../diagnostics.ts";
|
|
3
4
|
import matter from "../frontmatter.ts";
|
|
4
5
|
import { neutralizeUnsafeLinks } from "../safe-links.ts";
|
|
6
|
+
import type { Diagnostic } from "../types.ts";
|
|
5
7
|
import {
|
|
6
8
|
hashText,
|
|
7
9
|
loadWithCache,
|
|
@@ -9,7 +11,7 @@ import {
|
|
|
9
11
|
snapshotCache,
|
|
10
12
|
} from "./cache.ts";
|
|
11
13
|
import type { JsonObject, JsonValue } from "./json.ts";
|
|
12
|
-
import { asString, getPath, isStringValue } from "./json.ts";
|
|
14
|
+
import { asNumber, asString, getPath, isStringValue } from "./json.ts";
|
|
13
15
|
import { slugify, slugifyPath } from "./normalize.ts";
|
|
14
16
|
import type {
|
|
15
17
|
ContentSource,
|
|
@@ -27,8 +29,15 @@ export interface RemoteSourceOptions {
|
|
|
27
29
|
* offline warning.
|
|
28
30
|
*/
|
|
29
31
|
assertConfigured?: () => void;
|
|
30
|
-
/**
|
|
31
|
-
|
|
32
|
+
/**
|
|
33
|
+
* Pull every entry from the API; called on refresh and on each poll.
|
|
34
|
+
* `warn` reports a problem with the content itself (an embed the API
|
|
35
|
+
* couldn't resolve, a node with no Markdown), which the load returns
|
|
36
|
+
* beside the entries; a load served from the snapshot repeats none.
|
|
37
|
+
*/
|
|
38
|
+
fetchEntries: (
|
|
39
|
+
warn: (diagnostic: Diagnostic) => void
|
|
40
|
+
) => Promise<SourceEntry[]>;
|
|
32
41
|
name: string;
|
|
33
42
|
/** Opt-in dev polling interval (seconds); omit to freeze for the session. */
|
|
34
43
|
pollInterval?: number;
|
|
@@ -56,14 +65,24 @@ export const remoteSource = (
|
|
|
56
65
|
refresh = ctx?.refresh ?? true
|
|
57
66
|
): Promise<SourceLoadResult> => {
|
|
58
67
|
options.assertConfigured?.();
|
|
68
|
+
// Set only once a fetch succeeds, so a failed one that falls back to the
|
|
69
|
+
// snapshot reports nothing about pages it never delivered.
|
|
70
|
+
let warnings: Diagnostic[] = [];
|
|
59
71
|
const result = await loadWithCache(
|
|
60
72
|
options.name,
|
|
61
73
|
cache,
|
|
62
|
-
|
|
74
|
+
async () => {
|
|
75
|
+
const found: Diagnostic[] = [];
|
|
76
|
+
const entries = await options.fetchEntries((diagnostic) => {
|
|
77
|
+
found.push(diagnostic);
|
|
78
|
+
});
|
|
79
|
+
warnings = found;
|
|
80
|
+
return entries;
|
|
81
|
+
},
|
|
63
82
|
refresh
|
|
64
83
|
);
|
|
65
84
|
snapshot = new Map(result.entries.map((entry) => [entry.ref, entry]));
|
|
66
|
-
return result;
|
|
85
|
+
return { ...result, diagnostics: [...result.diagnostics, ...warnings] };
|
|
67
86
|
};
|
|
68
87
|
|
|
69
88
|
const read = async (ref: string): Promise<string> => {
|
|
@@ -96,6 +115,7 @@ export const remoteSource = (
|
|
|
96
115
|
export interface RemoteFrontmatter {
|
|
97
116
|
description?: string;
|
|
98
117
|
draft?: boolean;
|
|
118
|
+
sidebar?: { order: number };
|
|
99
119
|
title?: string;
|
|
100
120
|
}
|
|
101
121
|
|
|
@@ -124,6 +144,20 @@ export const stagedEntry = (
|
|
|
124
144
|
};
|
|
125
145
|
};
|
|
126
146
|
|
|
147
|
+
/**
|
|
148
|
+
* The error a source throws before its first request when the token its API
|
|
149
|
+
* always requires is unset (Notion, Contentful's Delivery API). Sent without
|
|
150
|
+
* one, the request could only fail, and the build would report the API's
|
|
151
|
+
* wording as a fetch failure instead of the variable to set.
|
|
152
|
+
*/
|
|
153
|
+
export const missingSecretError = (name: string, env: string): BlumeError =>
|
|
154
|
+
new BlumeError({
|
|
155
|
+
code: "BLUME_MISSING_SECRET",
|
|
156
|
+
message: `Source "${name}" needs ${env}, which is not set.`,
|
|
157
|
+
severity: "error",
|
|
158
|
+
suggestion: `Set ${env} in .env.local for local dev, or in your host's environment for production.`,
|
|
159
|
+
});
|
|
160
|
+
|
|
127
161
|
/** How a source calls its CMS: the API's auth headers and an injectable fetch. */
|
|
128
162
|
export interface RestClient {
|
|
129
163
|
/** Injected for tests; defaults to the global `fetch`. */
|
|
@@ -183,31 +217,50 @@ export interface RemoteFieldMap {
|
|
|
183
217
|
description?: string;
|
|
184
218
|
/** Field holding the last-modified ISO date. */
|
|
185
219
|
lastModified?: string;
|
|
220
|
+
/** Field holding the sidebar order (a number); no default. */
|
|
221
|
+
order?: string;
|
|
186
222
|
/** Field holding the route slug. */
|
|
187
223
|
slug?: string;
|
|
188
224
|
/** Field holding the page title. */
|
|
189
225
|
title?: string;
|
|
190
226
|
}
|
|
191
227
|
|
|
228
|
+
/** A field map with its defaults filled in; `order` is read only when set. */
|
|
229
|
+
export type RemoteFields = Required<Omit<RemoteFieldMap, "order">> &
|
|
230
|
+
Pick<RemoteFieldMap, "order">;
|
|
231
|
+
|
|
232
|
+
/**
|
|
233
|
+
* The slug a document's staged entry is named by. It falls back to the
|
|
234
|
+
* document's id when the slug field is missing or slugifies to nothing (pure
|
|
235
|
+
* punctuation), so distinct documents never collapse onto one
|
|
236
|
+
* `untitled.md`; a slashed slug keeps its segments.
|
|
237
|
+
*/
|
|
238
|
+
export const documentSlug = (
|
|
239
|
+
doc: JsonObject,
|
|
240
|
+
slugField: string,
|
|
241
|
+
id: string
|
|
242
|
+
): string =>
|
|
243
|
+
slugifyPath(asString(getPath(doc, slugField)) ?? id) ||
|
|
244
|
+
slugify(id) ||
|
|
245
|
+
"untitled";
|
|
246
|
+
|
|
192
247
|
/**
|
|
193
|
-
* Map a document to a staged entry
|
|
194
|
-
*
|
|
195
|
-
*
|
|
196
|
-
*
|
|
197
|
-
*
|
|
198
|
-
*
|
|
199
|
-
* when `lowersToMdx` (the source has serializers, see `writesMdx`).
|
|
248
|
+
* Map a document to a staged entry named by its {@link documentSlug}. A
|
|
249
|
+
* number in the `order` field, when one is mapped, becomes the page's
|
|
250
|
+
* sidebar order. A string body is Markdown and passes through as `.md`, its
|
|
251
|
+
* unsafe links reduced to their labels; any other shape goes to the CMS's
|
|
252
|
+
* lowerer, and is written as `.mdx` when `lowersToMdx` (the source has
|
|
253
|
+
* serializers, see `writesMdx`).
|
|
200
254
|
*/
|
|
201
255
|
export const documentEntry = (
|
|
202
256
|
doc: JsonObject,
|
|
203
|
-
fields:
|
|
257
|
+
fields: RemoteFields,
|
|
204
258
|
id: string,
|
|
205
259
|
lower: (body: JsonValue) => string,
|
|
206
260
|
draft = false,
|
|
207
261
|
lowersToMdx = false
|
|
208
262
|
): SourceEntry => {
|
|
209
|
-
const
|
|
210
|
-
const slug = slugifyPath(slugValue) || slugify(id) || "untitled";
|
|
263
|
+
const slug = documentSlug(doc, fields.slug, id);
|
|
211
264
|
const data: RemoteFrontmatter = {};
|
|
212
265
|
const title = asString(getPath(doc, fields.title));
|
|
213
266
|
const description = asString(getPath(doc, fields.description));
|
|
@@ -220,6 +273,10 @@ export const documentEntry = (
|
|
|
220
273
|
if (draft) {
|
|
221
274
|
data.draft = true;
|
|
222
275
|
}
|
|
276
|
+
const order = fields.order ? asNumber(getPath(doc, fields.order)) : undefined;
|
|
277
|
+
if (order !== undefined) {
|
|
278
|
+
data.sidebar = { order };
|
|
279
|
+
}
|
|
223
280
|
const body = getPath(doc, fields.body);
|
|
224
281
|
let markdown = "";
|
|
225
282
|
let format: "md" | "mdx" = "md";
|
|
@@ -138,7 +138,17 @@ const buildSource = (
|
|
|
138
138
|
return notionSource({ ...adapter.options, name }, ctx());
|
|
139
139
|
}
|
|
140
140
|
case "contentful": {
|
|
141
|
-
|
|
141
|
+
// i18n and versions place an entry hyperlink's route as they do the
|
|
142
|
+
// linked entry's page.
|
|
143
|
+
return contentfulSource(
|
|
144
|
+
{
|
|
145
|
+
...adapter.options,
|
|
146
|
+
i18n: config.i18n,
|
|
147
|
+
name,
|
|
148
|
+
versions: config.versions,
|
|
149
|
+
},
|
|
150
|
+
ctx()
|
|
151
|
+
);
|
|
142
152
|
}
|
|
143
153
|
case "payload": {
|
|
144
154
|
return payloadSource({ ...adapter.options, name }, ctx());
|
|
@@ -3,6 +3,8 @@ import { join } from "pathe";
|
|
|
3
3
|
import { BlumeError } from "../diagnostics.ts";
|
|
4
4
|
import matter from "../frontmatter.ts";
|
|
5
5
|
import { nodeRequire } from "../node-require.ts";
|
|
6
|
+
import { neutralizeUnsafeLinks } from "../safe-links.ts";
|
|
7
|
+
import type { Diagnostic } from "../types.ts";
|
|
6
8
|
import {
|
|
7
9
|
hashText,
|
|
8
10
|
loadWithCache,
|
|
@@ -10,7 +12,7 @@ import {
|
|
|
10
12
|
snapshotCache,
|
|
11
13
|
} from "./cache.ts";
|
|
12
14
|
import type { JsonObject } from "./json.ts";
|
|
13
|
-
import { asString, getPath } from "./json.ts";
|
|
15
|
+
import { asString, getPath, isStringValue } from "./json.ts";
|
|
14
16
|
import { writesMdx } from "./lower.ts";
|
|
15
17
|
import { slugify, slugifyPath } from "./normalize.ts";
|
|
16
18
|
import { portableTextToMarkdown } from "./portable-text.ts";
|
|
@@ -35,7 +37,7 @@ export interface SanityFieldMap {
|
|
|
35
37
|
description?: string;
|
|
36
38
|
/** Route slug (dot path); default `slug.current`. */
|
|
37
39
|
slug?: string;
|
|
38
|
-
/** Portable Text
|
|
40
|
+
/** Body field, Portable Text or a Markdown string; default `body`. */
|
|
39
41
|
body?: string;
|
|
40
42
|
/** Last-modified ISO date; default `_updatedAt`. */
|
|
41
43
|
lastModified?: string;
|
|
@@ -172,29 +174,32 @@ export const sanitySource = (
|
|
|
172
174
|
data.description = description;
|
|
173
175
|
}
|
|
174
176
|
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
// empty body, and the serializer tolerates malformed blocks.
|
|
178
|
-
const blocks = (getPath(doc, fields.body ?? "body") ??
|
|
179
|
-
[]) as PortableTextBlock[];
|
|
180
|
-
const markdown = Array.isArray(blocks)
|
|
181
|
-
? portableTextToMarkdown(blocks, {
|
|
182
|
-
imageUrl: (block) => {
|
|
183
|
-
// SAFETY: `asset` on an image block is Sanity's asset reference
|
|
184
|
-
// object; any other shape yields no `_ref` and the image is
|
|
185
|
-
// skipped.
|
|
186
|
-
const ref = (block.asset as { _ref?: string } | undefined)?._ref;
|
|
187
|
-
return ref
|
|
188
|
-
? imageUrlFromRef(ref, options.projectId, options.dataset)
|
|
189
|
-
: null;
|
|
190
|
-
},
|
|
191
|
-
serializers: options.serializers,
|
|
192
|
-
})
|
|
193
|
-
: "";
|
|
194
|
-
|
|
177
|
+
const body = getPath(doc, fields.body ?? "body");
|
|
178
|
+
let markdown = "";
|
|
195
179
|
// Serializer output is MDX (components, directives), so a source with
|
|
196
|
-
// serializers writes its entries as `.mdx`.
|
|
197
|
-
|
|
180
|
+
// serializers writes its Portable Text entries as `.mdx`.
|
|
181
|
+
let format: "md" | "mdx" = writesMdx(options.serializers) ? "mdx" : "md";
|
|
182
|
+
if (isStringValue(body)) {
|
|
183
|
+
// A Markdown field passes through as `.md`, its unsafe links reduced to
|
|
184
|
+
// their labels, as the other CMS sources do (see `documentEntry`).
|
|
185
|
+
markdown = neutralizeUnsafeLinks(`${body.trimEnd()}\n`);
|
|
186
|
+
format = "md";
|
|
187
|
+
} else if (Array.isArray(body)) {
|
|
188
|
+
// SAFETY: an array in the body field is Portable Text blocks; the
|
|
189
|
+
// serializer tolerates malformed blocks.
|
|
190
|
+
markdown = portableTextToMarkdown(body as PortableTextBlock[], {
|
|
191
|
+
imageUrl: (block) => {
|
|
192
|
+
// SAFETY: `asset` on an image block is Sanity's asset reference
|
|
193
|
+
// object; any other shape yields no `_ref` and the image is
|
|
194
|
+
// skipped.
|
|
195
|
+
const ref = (block.asset as { _ref?: string } | undefined)?._ref;
|
|
196
|
+
return ref
|
|
197
|
+
? imageUrlFromRef(ref, options.projectId, options.dataset)
|
|
198
|
+
: null;
|
|
199
|
+
},
|
|
200
|
+
serializers: options.serializers,
|
|
201
|
+
});
|
|
202
|
+
}
|
|
198
203
|
const raw = matter.stringify(markdown, data);
|
|
199
204
|
return {
|
|
200
205
|
body: { format, text: markdown },
|
|
@@ -211,18 +216,31 @@ export const sanitySource = (
|
|
|
211
216
|
const load = async (
|
|
212
217
|
refresh = ctx?.refresh ?? true
|
|
213
218
|
): Promise<SourceLoadResult> => {
|
|
219
|
+
const empty: Diagnostic[] = [];
|
|
214
220
|
const result = await loadWithCache(
|
|
215
221
|
options.name,
|
|
216
222
|
cache,
|
|
217
223
|
async () => {
|
|
218
224
|
const client = resolveClient(options, ctx?.preview ?? false);
|
|
219
225
|
const docs = await client.fetch<SanityDocument[]>(options.query);
|
|
226
|
+
// A private dataset answers a query without a token with no
|
|
227
|
+
// documents rather than an error, so an empty result is the only
|
|
228
|
+
// sign the token is missing.
|
|
229
|
+
if (docs.length === 0 && !(options.token ?? process.env.SANITY_TOKEN)) {
|
|
230
|
+
empty.push({
|
|
231
|
+
code: "BLUME_MISSING_SECRET",
|
|
232
|
+
message: `Source "${options.name}" found no documents, and SANITY_TOKEN is not set. A private dataset returns nothing to a query without a token.`,
|
|
233
|
+
severity: "warning",
|
|
234
|
+
suggestion:
|
|
235
|
+
"Set SANITY_TOKEN to a token with read access if the dataset is private.",
|
|
236
|
+
});
|
|
237
|
+
}
|
|
220
238
|
return docs.map(toEntry);
|
|
221
239
|
},
|
|
222
240
|
refresh
|
|
223
241
|
);
|
|
224
242
|
snapshot = new Map(result.entries.map((entry) => [entry.ref, entry]));
|
|
225
|
-
return result;
|
|
243
|
+
return { ...result, diagnostics: [...result.diagnostics, ...empty] };
|
|
226
244
|
};
|
|
227
245
|
|
|
228
246
|
const read = async (ref: string): Promise<string> => {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { JsonObject } from "./json.ts";
|
|
2
2
|
import { asNumber, asObject, asString, getPath, objectsIn } from "./json.ts";
|
|
3
|
-
import type { RemoteFieldMap, RestClient } from "./remote.ts";
|
|
3
|
+
import type { RemoteFieldMap, RemoteFields, RestClient } from "./remote.ts";
|
|
4
4
|
import {
|
|
5
5
|
documentEntry,
|
|
6
6
|
fetchJson,
|
|
@@ -38,7 +38,7 @@ export interface StrapiSourceOptions {
|
|
|
38
38
|
|
|
39
39
|
const PAGE_SIZE = 100;
|
|
40
40
|
|
|
41
|
-
const DEFAULT_FIELDS:
|
|
41
|
+
const DEFAULT_FIELDS: RemoteFields = {
|
|
42
42
|
body: "content",
|
|
43
43
|
description: "description",
|
|
44
44
|
lastModified: "updatedAt",
|
package/src/core/types.ts
CHANGED
|
@@ -62,6 +62,10 @@ export interface PageLink {
|
|
|
62
62
|
* only those go through the image pipeline; a plain link to the same path
|
|
63
63
|
* resolves as a site route. */
|
|
64
64
|
image?: boolean;
|
|
65
|
+
/** Set when the target is a lowercase `<a href>`, which ships as written:
|
|
66
|
+
* the Markdown pipeline neither resolves its relative path file-style nor
|
|
67
|
+
* mounts the base path on it, so it's checked the way a browser reads it. */
|
|
68
|
+
raw?: boolean;
|
|
65
69
|
/** 1-based line number in the source file. */
|
|
66
70
|
line: number;
|
|
67
71
|
/** 1-based column of the target within the line. */
|
|
@@ -72,6 +76,18 @@ export interface PageLink {
|
|
|
72
76
|
file?: string;
|
|
73
77
|
}
|
|
74
78
|
|
|
79
|
+
/** A `<Component path="…">` in a page, located like a {@link PageLink}. */
|
|
80
|
+
export interface ExampleUse {
|
|
81
|
+
/** The example's key as written: its path under `examples/`, sans extension. */
|
|
82
|
+
path: string;
|
|
83
|
+
/** 1-based line number in the source file. */
|
|
84
|
+
line: number;
|
|
85
|
+
/** 1-based column of the `path` value within the line. */
|
|
86
|
+
column: number;
|
|
87
|
+
/** Absolute path of the included partial it was written in, if not the page. */
|
|
88
|
+
file?: string;
|
|
89
|
+
}
|
|
90
|
+
|
|
75
91
|
/**
|
|
76
92
|
* Resolved project paths. Computed once per CLI invocation and threaded
|
|
77
93
|
* through the core pipeline.
|
|
@@ -194,6 +210,8 @@ export interface PageRecord {
|
|
|
194
210
|
links: PageLink[];
|
|
195
211
|
/** Capitalized JSX component tags used in the body (`.mdx` only). */
|
|
196
212
|
componentsUsed?: string[];
|
|
213
|
+
/** The string `path` of each `<Component>` example in the body (`.mdx` only). */
|
|
214
|
+
examplesUsed?: ExampleUse[];
|
|
197
215
|
/** Resolved "last updated" ISO date, when the feature is enabled. */
|
|
198
216
|
lastModified?: string;
|
|
199
217
|
/** Absolute paths of files this page `<include>`s, transitively. Drives the
|
package/src/core/ui-packs/ar.ts
CHANGED
package/src/core/ui-packs/bg.ts
CHANGED
|
@@ -50,6 +50,7 @@ export const bg: UIStringsOverride = {
|
|
|
50
50
|
banner: { dismiss: "Затваряне на съобщението" },
|
|
51
51
|
changelog: {
|
|
52
52
|
description: "Актуализации на продукта и бележки към изданията.",
|
|
53
|
+
empty: "Все още няма записи в дневника на промените.",
|
|
53
54
|
title: "Дневник на промените",
|
|
54
55
|
},
|
|
55
56
|
consent: {
|
package/src/core/ui-packs/bn.ts
CHANGED
package/src/core/ui-packs/ca.ts
CHANGED
|
@@ -51,6 +51,7 @@ export const ca: UIStringsOverride = {
|
|
|
51
51
|
banner: { dismiss: "Tanca l'anunci" },
|
|
52
52
|
changelog: {
|
|
53
53
|
description: "Actualitzacions del producte i notes de la versió.",
|
|
54
|
+
empty: "Encara no hi ha entrades al registre de canvis.",
|
|
54
55
|
title: "Registre de canvis",
|
|
55
56
|
},
|
|
56
57
|
consent: {
|
package/src/core/ui-packs/cs.ts
CHANGED
package/src/core/ui-packs/da.ts
CHANGED
package/src/core/ui-packs/de.ts
CHANGED
|
@@ -51,6 +51,7 @@ export const de: UIStringsOverride = {
|
|
|
51
51
|
banner: { dismiss: "Ankündigung schließen" },
|
|
52
52
|
changelog: {
|
|
53
53
|
description: "Produkt-Updates und Versionshinweise.",
|
|
54
|
+
empty: "Noch keine Einträge im Änderungsprotokoll.",
|
|
54
55
|
title: "Änderungsprotokoll",
|
|
55
56
|
},
|
|
56
57
|
consent: {
|
package/src/core/ui-packs/el.ts
CHANGED
|
@@ -50,6 +50,7 @@ export const el: UIStringsOverride = {
|
|
|
50
50
|
banner: { dismiss: "Κλείσιμο ανακοίνωσης" },
|
|
51
51
|
changelog: {
|
|
52
52
|
description: "Ενημερώσεις προϊόντος και σημειώσεις έκδοσης.",
|
|
53
|
+
empty: "Δεν υπάρχουν ακόμη καταχωρίσεις στο ιστορικό αλλαγών.",
|
|
53
54
|
title: "Ιστορικό αλλαγών",
|
|
54
55
|
},
|
|
55
56
|
consent: {
|
package/src/core/ui-packs/es.ts
CHANGED
|
@@ -51,6 +51,7 @@ export const es: UIStringsOverride = {
|
|
|
51
51
|
banner: { dismiss: "Cerrar el anuncio" },
|
|
52
52
|
changelog: {
|
|
53
53
|
description: "Novedades del producto y notas de la versión.",
|
|
54
|
+
empty: "Todavía no hay entradas en el registro de cambios.",
|
|
54
55
|
title: "Registro de cambios",
|
|
55
56
|
},
|
|
56
57
|
consent: {
|
package/src/core/ui-packs/fa.ts
CHANGED
package/src/core/ui-packs/fi.ts
CHANGED
package/src/core/ui-packs/fr.ts
CHANGED
|
@@ -51,6 +51,7 @@ export const fr: UIStringsOverride = {
|
|
|
51
51
|
banner: { dismiss: "Fermer l'annonce" },
|
|
52
52
|
changelog: {
|
|
53
53
|
description: "Nouveautés du produit et notes de version.",
|
|
54
|
+
empty: "Aucune entrée dans le journal des modifications pour le moment.",
|
|
54
55
|
title: "Journal des modifications",
|
|
55
56
|
},
|
|
56
57
|
consent: {
|
package/src/core/ui-packs/he.ts
CHANGED
package/src/core/ui-packs/hi.ts
CHANGED
package/src/core/ui-packs/hr.ts
CHANGED
package/src/core/ui-packs/hu.ts
CHANGED
|
@@ -49,6 +49,7 @@ export const hu: UIStringsOverride = {
|
|
|
49
49
|
banner: { dismiss: "Közlemény bezárása" },
|
|
50
50
|
changelog: {
|
|
51
51
|
description: "Termékfrissítések és kiadási megjegyzések.",
|
|
52
|
+
empty: "A változásnaplóban még nincsenek bejegyzések.",
|
|
52
53
|
title: "Változásnapló",
|
|
53
54
|
},
|
|
54
55
|
consent: {
|
package/src/core/ui-packs/id.ts
CHANGED
package/src/core/ui-packs/it.ts
CHANGED
|
@@ -49,6 +49,7 @@ export const it: UIStringsOverride = {
|
|
|
49
49
|
banner: { dismiss: "Chiudi l'annuncio" },
|
|
50
50
|
changelog: {
|
|
51
51
|
description: "Aggiornamenti del prodotto e note di rilascio.",
|
|
52
|
+
empty: "Il registro delle modifiche non contiene ancora voci.",
|
|
52
53
|
title: "Registro delle modifiche",
|
|
53
54
|
},
|
|
54
55
|
consent: {
|
package/src/core/ui-packs/ja.ts
CHANGED
package/src/core/ui-packs/ko.ts
CHANGED
package/src/core/ui-packs/nl.ts
CHANGED
|
@@ -51,6 +51,7 @@ export const nl: UIStringsOverride = {
|
|
|
51
51
|
banner: { dismiss: "Aankondiging sluiten" },
|
|
52
52
|
changelog: {
|
|
53
53
|
description: "Productupdates en releaseopmerkingen.",
|
|
54
|
+
empty: "Nog geen items in het wijzigingslogboek.",
|
|
54
55
|
title: "Wijzigingslogboek",
|
|
55
56
|
},
|
|
56
57
|
consent: {
|
package/src/core/ui-packs/no.ts
CHANGED
|
@@ -49,6 +49,7 @@ export const no: UIStringsOverride = {
|
|
|
49
49
|
banner: { dismiss: "Lukk kunngjøringen" },
|
|
50
50
|
changelog: {
|
|
51
51
|
description: "Produktoppdateringer og utgivelsesnotater.",
|
|
52
|
+
empty: "Ingen oppføringer i endringsloggen ennå.",
|
|
52
53
|
title: "Endringslogg",
|
|
53
54
|
},
|
|
54
55
|
consent: {
|
package/src/core/ui-packs/pl.ts
CHANGED
|
@@ -50,6 +50,7 @@ export const pl: UIStringsOverride = {
|
|
|
50
50
|
banner: { dismiss: "Zamknij ogłoszenie" },
|
|
51
51
|
changelog: {
|
|
52
52
|
description: "Aktualizacje produktu i informacje o wydaniach.",
|
|
53
|
+
empty: "W dzienniku zmian nie ma jeszcze wpisów.",
|
|
53
54
|
title: "Dziennik zmian",
|
|
54
55
|
},
|
|
55
56
|
consent: {
|
|
@@ -51,6 +51,7 @@ export const ptBR: UIStringsOverride = {
|
|
|
51
51
|
banner: { dismiss: "Fechar o anúncio" },
|
|
52
52
|
changelog: {
|
|
53
53
|
description: "Atualizações do produto e notas de lançamento.",
|
|
54
|
+
empty: "Ainda não há entradas no registro de alterações.",
|
|
54
55
|
title: "Registro de alterações",
|
|
55
56
|
},
|
|
56
57
|
consent: {
|
package/src/core/ui-packs/pt.ts
CHANGED
|
@@ -50,6 +50,7 @@ export const pt: UIStringsOverride = {
|
|
|
50
50
|
banner: { dismiss: "Fechar o anúncio" },
|
|
51
51
|
changelog: {
|
|
52
52
|
description: "Atualizações do produto e notas de lançamento.",
|
|
53
|
+
empty: "Ainda não há entradas no registo de alterações.",
|
|
53
54
|
title: "Registo de alterações",
|
|
54
55
|
},
|
|
55
56
|
consent: {
|
package/src/core/ui-packs/ro.ts
CHANGED
|
@@ -50,6 +50,7 @@ export const ro: UIStringsOverride = {
|
|
|
50
50
|
banner: { dismiss: "Închide anunțul" },
|
|
51
51
|
changelog: {
|
|
52
52
|
description: "Actualizări ale produsului și note de lansare.",
|
|
53
|
+
empty: "Încă nu există intrări în jurnalul de modificări.",
|
|
53
54
|
title: "Jurnal de modificări",
|
|
54
55
|
},
|
|
55
56
|
consent: {
|
package/src/core/ui-packs/ru.ts
CHANGED
|
@@ -50,6 +50,7 @@ export const ru: UIStringsOverride = {
|
|
|
50
50
|
banner: { dismiss: "Закрыть объявление" },
|
|
51
51
|
changelog: {
|
|
52
52
|
description: "Обновления продукта и примечания к выпускам.",
|
|
53
|
+
empty: "В журнале изменений пока нет записей.",
|
|
53
54
|
title: "Журнал изменений",
|
|
54
55
|
},
|
|
55
56
|
consent: {
|
package/src/core/ui-packs/sk.ts
CHANGED
|
@@ -48,6 +48,7 @@ export const sk: UIStringsOverride = {
|
|
|
48
48
|
banner: { dismiss: "Zavrieť oznámenie" },
|
|
49
49
|
changelog: {
|
|
50
50
|
description: "Novinky produktu a poznámky k vydaniu.",
|
|
51
|
+
empty: "V zozname zmien zatiaľ nie sú žiadne záznamy.",
|
|
51
52
|
title: "Zoznam zmien",
|
|
52
53
|
},
|
|
53
54
|
consent: {
|
package/src/core/ui-packs/sr.ts
CHANGED
package/src/core/ui-packs/sv.ts
CHANGED
package/src/core/ui-packs/th.ts
CHANGED
package/src/core/ui-packs/tr.ts
CHANGED