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

[api-extractor] `Internal Error: "Unable to analyze the export \"default\"" when re-exporting default from .d.cts module that uses export =`

Aperta
#5,694 1 commento 0 reazioni 1 assegnatario Vedi su GitHub

@octogonz ci sta già lavorando.

Dal 23/3/2026.

Valutazione

Questa issue non è ancora stata valutata.

Descrizione

Summary

I am trying to run API Extractor on declarations that include a re-export of default from a .d.cts file that uses export =.
API Extractor throws an internal error instead of analyzing the export.

The failure is reproducible in a minimal project with only two declaration files.

Repro steps

  1. Create a clean repro folder and files:
mkdir api-extractor-export-equals-repro
cd api-extractor-export-equals-repro

package.json

{
  "name": "api-extractor-export-equals-repro",
  "version": "0.0.0",
  "private": true,
  "devDependencies": {
    "@microsoft/api-extractor": "7.57.6",
    "typescript": "5.9.3"
  }
}

tsconfig.json

{
  "compilerOptions": {
    "target": "ES2022",
    "module": "NodeNext",
    "moduleResolution": "NodeNext",
    "strict": true,
    "skipLibCheck": true
  },
  "include": ["./**/*"]
}

api-extractor.json

{
  "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json",
  "mainEntryPointFilePath": "<projectFolder>/index.d.ts",
  "bundledPackages": [],
  "compiler": {
    "tsconfigFilePath": "<projectFolder>/tsconfig.json"
  },
  "apiReport": {
    "enabled": false,
    "reportFolder": "<projectFolder>/etc"
  },
  "docModel": {
    "enabled": false
  },
  "dtsRollup": {
    "enabled": false
  },
  "tsdocMetadata": {
    "enabled": false
  },
  "messages": {
    "compilerMessageReporting": {
      "default": { "logLevel": "warning" }
    },
    "extractorMessageReporting": {
      "default": { "logLevel": "warning" }
    },
    "tsdocMessageReporting": {
      "default": { "logLevel": "warning" }
    }
  }
}

index.d.ts

export { default as ar } from "./ar.cjs";

ar.d.cts

import type * as errors from "./errors.cjs";
declare function _default(): { localeError: errors.Error };
export = _default;

errors.d.cts

export interface Error {
  code: string;
}
  1. Install and run:
npm install
npx api-extractor run --diagnostics --local --config ./api-extractor.json

Expected result: API Extractor should analyze the export successfully (or emit a normal diagnostic if unsupported), but should not crash with an internal error.

Actual result: API Extractor throws:

ERROR: Internal Error: Unable to analyze the export "default" in
.../ar.d.cts

You have encountered a software defect. Please consider reporting the issue to the maintainers of this application.

(Also prints: Analysis will use the bundled TypeScript version 5.9.3.)

Details

This looks like a default re-export resolution bug for .d.cts modules that use export =.

In this repro:

  • index.d.ts uses export { default as ar } from "./ar.cjs"
  • target declaration ar.d.cts uses export = _default

TypeScript models export = differently from default, and API Extractor appears to throw while resolving this path instead of mapping/handling it.

I also observed the same failure with @microsoft/api-extractor@7.57.7.

Standard questions

Please answer these questions to help us investigate your issue more quickly:

Question Answer
@microsoft/api-extractor version? 7.57.6 (also reproducible on 7.57.7)
Operating system? Mac (Darwin)
API Extractor scenario? rollups (.d.ts)
Would you consider contributing a PR? Yes
TypeScript compiler version? 5.9.3 (bundled by API Extractor in diagnostics output)
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.