[api-extractor] `Internal Error: "Unable to analyze the export \"default\"" when re-exporting default from .d.cts module that uses export =`
@octogonz is already working on this.
Since Mar 23, 2026.
Assessment
This issue has not been assessed yet.
Description
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
- 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;
}
- 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.tsusesexport { default as ar } from "./ar.cjs"- target declaration
ar.d.ctsusesexport = _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 |
- Dominant language
- TypeScript
- Stars
- 6.5k
- Forks
- 708
- Avg merge
- 5d 19h
- Merged PRs (30d)
- 48
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from microsoft/rushstack
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
-
Difficulty 4/5 3-5 days Newbie friendliness 48/100
All issues in microsoft/rushstack
Similar issues
-
clawsweeper:linked-pr-open clawsweeper:no-new-fix-pr clawsweeper:source-repro impact:message-loss issue-rating: 🦞 diamond lobster maturity:stable P2
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
Eynzof/Hermes-CN-Desktop#616 ·
-
ZCode 3.14.3 に対応する Open
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
supermomonga/zcode-acp#24 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
growthbook/growthbook#7100 ·
-
triage
Difficulty 1/5 1-3 hours Newbie friendliness 88/100