Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

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

Abierto
#5,694 1 comentario 0 reacciones 1 asignado Ver en GitHub

Los mantenedores suelen responder en 1 día

@octogonz ya está trabajando en esto.

Desde el 23/3/2026.

Evaluación

Este issue todavía no se ha evaluado.

Descripción

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/[email protected].

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
Lenguaje dominante
TypeScript
Estrellas
6.5k
Forks
708
Merge medio
2 d 1 h
PR fusionados (30 d)
46

Preparar el entorno

Aún no hemos revisado los archivos de configuración de este proyecto. Empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de microsoft/rushstack

Todos los issues de microsoft/rushstack

Issues similares

Más issues de TypeScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.