ITADN

Node 25: TypeError assigning subSchemaAndTypeComposers.input in getUnionTypeComposers ("only a getter")

#9447Opendanielsmithdevelopment 创建于 2026-04-24
### Environment - Node.js: **25.x** (fails); **22.x** and **24.x** OK in downstream CI - `@omnigraph/json-schema`: **0.109.40** (via `@omnigraph/openapi` **0.109.41**) ### Symptom While building a GraphQL schema from the **full** Slack Web API OpenAPI 3 document (`openapi.json` from Slack’s public spec, ~170+ operations), schema construction throws: ``` TypeError: Cannot set property input of #<Object> which has only a getter at getUnionTypeComposers (.../@omnigraph/json-schema/esm/getUnionTypeComposers.js:52:41) ``` ### Suspected line TypeScript source: [`packages/loaders/json-schema/src/getUnionTypeComposers.ts`](https://github.com/ardatan/graphql-mesh/blob/master/packages/loaders/json-schema/src/getUnionTypeComposers.ts) — assignment to `subSchemaAndTypeComposers.input` when `Object.keys(unionInputFields).length === 1`. ### Repro 1. Depend on `@omnigraph/openapi` and call `loadGraphQLSchemaFromOpenAPI` with the **full** Slack Web API OpenAPI JSON. 2. Run on Node **25**. A **minimal** OpenAPI with only `chat.postMessage` does **not** reproduce in our tests — the failure appears tied to the large / union-heavy schema. ### Downstream - [ClawQL](https://github.com/danielsmithdevelopment/ClawQL) — in-process OpenAPI→GraphQL for `execute` / `notify`; we document behavior and use a minimal Slack fixture in Vitest for the GraphQL path. Doc: [graphql-mesh-node-compatibility.md](https://github.com/danielsmithdevelopment/ClawQL/blob/main/docs/graphql-mesh-node-compatibility.md).
3 条评论