[BUG][typescript-axios] 7.27.0 generated package fails to build: TypeScript 6 resolved but @types/node not loaded
Maintainer antworten meist innerhalb von 1 Tag
Bewertung
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Anfängerfreundlichkeit
- 25/100
- Issue-Typ
- Bug
- Klarheit
- Klar beschrieben
- Aktivitätsstatus
- Veraltet
- Tech-Stack
- typescript
- Bereich
- tooling
Rechercherichtung
A linked pull request (#25599) is already open, so check its changes before considering this issue. The report points to modules/openapi-generator/src/main/resources/typescript-axios/tsconfig.mustache and package.mustache, and to TypeScriptAxiosClientCodegenTest.testGeneratedPackageJsonSupportsTypeScript6. Start by reviewing those files and the test; done means a generated package builds with TypeScript 6 and the reported Node types and Object.entries errors are covered.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Bug Report Checklist
- Have you provided a full/minimal spec to reproduce the issue?
- Have you validated the input using an OpenAPI validator?
- Have you tested with the latest master to confirm the issue still exists?
- Have you searched for related issues/PRs?
- What's the actual output vs expected output?
- [Optional] Sponsorship to speed up the bug fix or feature request
Description
Since 7.27.0 a typescript-axios client generated with npmName (so that package.json and tsconfig.json are emitted) no longer compiles when npm install runs its prepare script.
#25148 widened the generated devDependency range to "typescript": "^4.0 || ^5.0 || ^6.0", so npm install now resolves TypeScript 6.0.3. TypeScript 6 no longer includes every package under node_modules/@types automatically (types now defaults to an empty list), so the generated @types/node devDependency is never loaded. Two things break:
Object.entriesemitted forstyle: form/explode: trueobject query parameters: the generatedtsconfig.jsontargetsES6, and theES2017declaration ofObject.entriesonly came in transitively through@types/node.import { URL, URLSearchParams } from 'url'emitted bywithNodeImports=true.
Actual output:
api.ts(55,51): error TS2550: Property 'entries' does not exist on type 'ObjectConstructor'. Do you need to change your target library? Try changing the 'lib' compiler option to 'es2017' or later.
common.ts(19,38): error TS2591: Cannot find name 'url'. Do you need to install type definitions for node? Try `npm i --save-dev @types/node` and then add 'node' to the types field in your tsconfig.
npm error command failed
npm error command sh -c npm run build
Expected output: npm install builds dist/ and dist/esm/ as it did with 7.26.0.
Adding "types": ["node"] to the generated tsconfig.json alone is not enough: the generated range "@types/node": "12.11.5 - 12.20.42" is incompatible with the TypeScript 6 standard library (lib.esnext.intl.d.ts: Cannot find name 'DateTimeRangeFormatPart'). With "types": ["node"] and "@types/node": "^24.0.0" the same client compiles on TypeScript 6.0.3.
The CI samples do not catch this because no sample combines npmName with withNodeImports or with an object query parameter, and the petstore spec never emits Object.entries.
openapi-generator version
7.27.0 (regression, 7.26.0 works). Still reproduces with latest (7.28.0-SNAPSHOT, image published 2026-11-09).
OpenAPI declaration file content or url
openapi: 3.0.3
info:
title: repro
version: 1.0.0
paths:
/items:
get:
operationId: listItems
parameters:
- name: filter
in: query
style: form
explode: true
schema:
type: object
additionalProperties:
type: string
responses:
'200':
description: ok
Generation Details
openapi-generator-cli generate -i spec.yaml -g typescript-axios \
--additional-properties=supportsES6=true,withNodeImports=true,npmName=repro,npmVersion=1.0.0 \
-o out
Steps to reproduce
- Generate with the command above using 7.27.0 (for example
docker run --rm -v "$PWD:/local" openapitools/openapi-generator-cli:v7.27.0 generate ...). cd out && npm install.npm installresolves[email protected]and@types/[email protected], runsprepare->npm run buildand fails with the errors above.- Repeat with
openapitools/openapi-generator-cli:v7.26.0: the build succeeds (TypeScript 5.x is resolved).
Related issues/PRs
- #24830 (request to allow TypeScript 6)
- #25148 (the change that added
^6.0to the range and removedmoduleResolution)
Suggest a fix
In modules/openapi-generator/src/main/resources/typescript-axios:
tsconfig.mustache: add"types": ["node"]next totypeRoots.package.mustache: bump@types/nodeto a range that supports TypeScript 6, for example^24.0.0.
I will open a PR with these changes, the regenerated samples and an extension of TypeScriptAxiosClientCodegenTest.testGeneratedPackageJsonSupportsTypeScript6.
- Vorherrschende Sprache
- Java
- Sterne
- 26.9k
- Forks
- 7.8k
- Ø Merge
- 2 T. 10 Std.
- Gemergte PRs (30 T.)
- 180
Entwicklungsumgebung
Startet den Dev-Container des Projekts im Browser, mit Ihrem eigenen GitHub-Konto.
- Enthält ein Dockerfile oder eine Docker-Compose-Datei
- Hat eine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus OpenAPITools/openapi-generator
-
Issue: Bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 80/100
OpenAPITools/openapi-generator#25643 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 82/100
OpenAPITools/openapi-generator#25640 ·
Maintainer antworten meist innerhalb von 1 Tag
-
[BUG][JAVA] Deprecated properties only get @Deprecated on the getter (base, feign, native, microprofile)Evtl. vergeben @Inf1mum hat das vor 2 Tagen übernommen. OffenIssue: Bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 82/100
OpenAPITools/openapi-generator#25567 ·
Maintainer antworten meist innerhalb von 1 Tag
-
[BUG][KOTLIN-SERVER] typeInfoAnnotation.mustache uses As.PROPERTY → discriminator property serialized twiceEvtl. vergeben @Inf1mum hat das vor 9 Tagen übernommen. OffenIssue: Bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 62/100
OpenAPITools/openapi-generator#25524 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
[REQ][JAVA][resteasy] Support for Jackson 3 / useJackson3Evtl. vergeben Ein verknüpfter Pull Request ist offen oder bereits gemergt. OffenEnhancement: Feature
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
OpenAPITools/openapi-generator#25364 ·
Maintainer antworten meist innerhalb von 1 Tag
Alle Issues in OpenAPITools/openapi-generator
Ähnliche Issues
-
bug emitter:client:csharp
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 84/100
microsoft/typespec#12572 · 1 Kommentar · 1 Reaktion ·
Maintainer antworten meist innerhalb von 1 Tag
-
GCC 15.2: -Wcast-qual warning - cast discards const qualifier from pointer target type (H5trace.c)Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 73/100
Maintainer antworten meist innerhalb von 1 Tag
-
[Bug] RemotingHelper.connect swaps the socket send and receive buffer configurationEvtl. vergeben @amalsaidov hat das heute übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 82/100
Maintainer antworten meist innerhalb von 1 Tag
-
needs-area-label
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
Maintainer antworten meist innerhalb von 2 Tagen
-
area/ai area/backend component/zeebe kind/task
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
Maintainer antworten meist innerhalb von 1 Tag