chore: release @alauda/doom - #349
Open
github-actions[bot] wants to merge 1 commit into
Open
Conversation
youyongsong
approved these changes
Aug 17, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.
Releases
@alauda/doom@2.6.0
Minor Changes
#347
c6fe198Thanks @youyongsong! - Fix a family of API-reference rendering defects where the components ignored facts already present in the CRD / OpenAPI sources, plus add offline integrity tooling.Correctness — endpoints and schema now read the source instead of guessing:
<K8sAPI>derivesnamespacedfrom the CRD'sspec.scopeinstead of always defaulting totrue, soCluster-scoped resources no longer render an unreachable/namespaces/{namespace}/path. Thenamespacedprop still overrides.spec.names.pluralinstead of guessing withpluralize(kind), fixing hyphenated (vpc-egress-gateways) and irregular (alaudaloadbalancer2) plurals. A newpluralprop is an escape hatch for OpenAPI-sourced resources. (toLocaleLowerCase→toLowerCase.)apiVersion, a multi-version CRD now renders the versionkubectlresolves to — the highest-priorityservedversion (GA > beta > alpha, apimachinery ordering) — instead ofspec.versions[0]. This never publishes aserved: falseversion. Both the schema and the endpoint-path version now come from this single resolved version. Configurable viaapi.crdVersion: 'preferred' | 'storage' | 'first'.<K8sAPI>no longer renders endpoint paths it cannot derive. When an OpenAPI schema carries nox-kubernetes-group-version-kind— aggregation-layer documents routinely omit it — and no CRD backs the name, the group, version and kind used to fall back to empty strings and concatenate into/api//and/api///{name}, shipping a broken path on a green build. The endpoints section is now omitted, with aconsole.errornaming the props to declare; the schema still renders.apiVersion+apiKind(plusapiGroupoutside the core group) make the page render endpoints again./status(and the new/scale) endpoints follow what the source declares, not whether the schema happens to contain astatusproperty — fixing both fabricated/statusendpoints and missing ones. A CRD declares the subresource inspec.versions[].subresources; an OpenAPI document declares it by routing it, so itspathsdecide, and a document that routes the resource without a/statusroute renders none. A document that does not route the resource at all says nothing either way, so the schema property stays the fallback there. The newhasStatusprop overrides both.x-kubernetes-int-or-stringfields (carried underanyOf) now render their type (integer|string) instead of an empty cell.Anchors and badges:
.spec.foo[]) no longer collide with their parent (.spec.foo) on the same HTML id; schema headings use a page-level stateful slugger, so every property section is uniquely addressable (HTML id uniqueness / WCAG 4.1.1).summaryno longer produceid="undefined"/href="#undefined"or bare numeric anchors; the heading id is derived from the method (and summary when present).<OpenAPIPath>Request Body required badge readsrequestBody.required(the boolean on the request body) instead of the body schema's list of required properties.New configuration and tooling:
api.referencesaccepts an object form{ href, routePath?: string | false }, separating the link href from the page-identity key used to decide inline expansion. Plain string values are unchanged.routePath: falseexplicitly means "always link, never expand".translate.copyOnlyDirectoriesoverrides which directories are copied instead of translated (default unchanged).doom api checkcommand: an offline validation of the local CRD / OpenAPI sources — every file parses, CRDs have the right kind and a unique name, filenames follow the<group>_<plural>.yamlconvention, and OpenAPI definitions do not conflict across files.no-unresolved-api-reflint rule flags<K8sAPI>/<K8sCrd>/<OpenAPIRef>/<OpenAPIPath>/<K8sPermissionTable>references that cannot be resolved, before they ship as blank pages. It also flags a<K8sAPI>whose group, version and kind can be derived from neither the schema nor a CRD nor explicit props, so that failure surfaces at lint time instead of as a missing endpoints section.filepath/openapiPathmap key no longer depends onprocess.cwd(), so pinning a source is stable across working directories and<OpenAPIPath>uses a consistent first-match.Other:
<K8sPermissionTable>renders a visible "not found" row instead of silently dropping an unresolved function.Property,Type,Description,Required,Specification,API Endpoints,HTTP method,Common Parameters,Request Body,Response, …) is now translated viauseTranslation(en/zh/ru) instead of hardcoded English.