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 — assignment to subSchemaAndTypeComposers.input when Object.keys(unionInputFields).length === 1.
Repro
- Depend on
@omnigraph/openapi and call loadGraphQLSchemaFromOpenAPI with the full Slack Web API OpenAPI JSON.
- 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
Environment
@omnigraph/json-schema: 0.109.40 (via@omnigraph/openapi0.109.41)Symptom
While building a GraphQL schema from the full Slack Web API OpenAPI 3 document (
openapi.jsonfrom Slack’s public spec, ~170+ operations), schema construction throws:Suspected line
TypeScript source:
packages/loaders/json-schema/src/getUnionTypeComposers.ts— assignment tosubSchemaAndTypeComposers.inputwhenObject.keys(unionInputFields).length === 1.Repro
@omnigraph/openapiand callloadGraphQLSchemaFromOpenAPIwith the full Slack Web API OpenAPI JSON.A minimal OpenAPI with only
chat.postMessagedoes not reproduce in our tests — the failure appears tied to the large / union-heavy schema.Downstream
execute/notify; we document behavior and use a minimal Slack fixture in Vitest for the GraphQL path. Doc: graphql-mesh-node-compatibility.md.