[api-extractor] ERROR: Failed to fetch entity for import() type node: import("../_namespaces/ts").PrivateIdentifier
Summary
I am in the final stages of converting TypeScript itself into modules (from its current state as giant namespaces). To reproduce something similar to our current d.ts files, I am running api-extractor on our d.ts files to try and roll things up.
Repro steps
- Clone https://github.com/jakebailey/TypeScript/tree/typeformer-2
npm ciand runnpx gulp moduleBuild- Run
npx @microsoft/api-extractor run --local --config ./src/typescript/api-extractor.json --diagnostics
Expected result: Not crash, and hopefully a nice d.ts file
Actual result: ERROR: Failed to fetch entity for import() type node: import("../_namespaces/ts").PrivateIdentifier
Coming from here: https://github.com/microsoft/rushstack/blob/fcf97f62569c7933caa801fa179d71fd2391f432/apps/api-extractor/src/analyzer/AstSymbolTable.ts#L451-L454
(I'm afraid even though it should never happen, it does happen. 😢 )
Note that I force push over that branch frequently, as it is auto-generated using a big script that converts the codebase.
Details
I honestly don't know enough about api-extractor to know what's going wrong here.
Standard questions
Please answer these questions to help us investigate your issue more quickly:
| Question | Answer |
|---|---|
@microsoft/api-extractor version? |
7.30.0 |
| Operating system? | inux |
| API Extractor scenario? | rollups (.d.ts) |
| Would you consider contributing a PR? | Yes / No |
| TypeScript compiler version? | 4.7.4 |
Node.js version (node -v)? |
14.20.0 |
I'm currently investigating why we are even emitting these import nodes in the first place; most things can be imported normally, but sometimes we don't for some reason.
I hand replaced all of the weird import nodes, which got me further, but to another error:
ERROR: Internal Error: Unable to follow symbol for "ModifierSyntaxKind"
You have encountered a software defect. Please consider reporting the issue to the maintainers of this application.
Ah, no, the previous comment is my error incurred by hand-replacing things (a little too annoying to script). It wasn't imported properly, though it's an odd error given it is an internal error rather than something else. It seems like these import nodes are the main problem.
It did in fact finish running after fixing my oops, which is a great sign! I'll have to check to see how the output looks; very exciting.