Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

[api-extractor] Unable to analyze the export "Seq" when bundling immutable v5

Aperta
#5,807 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
58/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Tranquilla
Stack tecnologico
node.js, typescript

Direzione di ricerca

Start with API Extractor's ExportAnalyzer._getExportOfAstModule and reproduce the failure using immutable@5.1.5, TypeScript 5.7.3, and the entry declaration described in the issue. Compare how Seq and its nested namespaces are resolved against immutable@4.x; done means the bundled .d.ts rollup succeeds and inlines immutable's declarations without the internal export-analysis error.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

Summary

@microsoft/api-extractor crashes with an internal error when immutable (v5) is listed in bundledPackages. The crash happens during analysis of the Seq export and is reproducible against an unmodified immutable@5.1.5 install.

This blocks distributing a self-contained .d.ts rollup for any consumer that re-exports types from immutable v5. The same project bundled immutable@4.x without issue, so the regression is on the Immutable v5 declaration shape.

Repro steps

  1. npm i immutable@5.1.5 @microsoft/api-extractor@7.58.7 typescript@5.7.3

  2. Create an entry .d.ts that re-exports something from immutable, e.g.:

    import type { List } from 'immutable'
    export declare function getList(): List<string>
    
    
  3. In api-extractor.json set "bundledPackages": ["immutable"].

  4. Run api-extractor run --local --diagnostics.

Expected result: API Extractor inlines Immutable's declarations into the rollup, as it does for immutable@4.x.

Actual result:

ERROR: Internal Error: Unable to analyze the export "Seq" in node_modules/immutable/dist/immutable.d.ts

You have encountered a software defect. Please consider reporting the issue to the maintainers of this application.
Error: API Extractor failed with exit code 1

Details

The Immutable v5 declaration uses the same overall shape as v4 (declare namespace Immutable { … } export = Immutable; export as namespace Immutable;), but Seq and its nested namespaces (Seq.Keyed, Seq.Indexed, Seq.Set) are declared in a way that ExportAnalyzer._getExportOfAstModule can't resolve.

Workaround we ended up using: remove immutable from bundledPackages, let API Extractor emit import … from 'immutable', then post-process the rollup with a small script that inlines the namespace and rewrites the renamed imports (Immutable_2, Map_3, Set_2, …) to local aliases of the inlined namespace. Happy to share if it helps reproduce.

Related to (but distinct from) #2220, #1972, #5507, #5694. Those all surface the same generic "Unable to analyze the export" error from different triggers.

Standard questions

Question Answer
@microsoft/api-extractor version? 7.58.7
Operating system? macOS (also reproduces in Linux CI)
API Extractor scenario? rollups (.d.ts)
Would you consider contributing a PR? No (unfamiliar with ExportAnalyzer internals)
TypeScript compiler version? 5.7.3
Node.js version (node -v)? v24.13.0
Lingua principale
TypeScript
Stelle
6.5k
Fork
708
Merge medio
4g 13h
PR unite (30g)
62

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di microsoft/rushstack

Tutte le issue di microsoft/rushstack

Issue simili

Altre issue su TypeScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.