[api-extractor] Fails to parse `bundledPackages` declarations from dir import
Mantenedores costumam responder em até 1 dia
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 3/5
- Tempo estimado
- 1-2 dias
- Facilidade para iniciantes
- 48/100
- Tipo de issue
- Bug
- Clareza
- Claramente especificada
- Status de atividade
- Estagnada
- Stack de tecnologia
- typescript
- Domínio
- tooling
Direção de pesquisa
Start in ExportAnalyzer.ts, focusing on TypeScriptInternals.getResolvedModule and how the resolved module data is used for bundledPackages checks. Use the linked reproduction repository with the bundledPackages and directory-import example, then verify that the generated declaration contains an inlined export declaration rather than an import from './bar-dir'.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
Summary
When using bundledPackages options, import declaration from dir generates incorrect dts result.
e.g. configure "bundledPackages": ["foo"], with following foo package files:
- index.d.ts
export { Bar } from './bar-dir'; - bar-dir/index.d.ts
export interface Bar {}
and following entry dts file:
export * from "foo";
generates dts result:
import { Bar } from './bar-dir';
export { Bar }
Repro steps
Expected result:
Previous example should generate:
export declare interface Bar {}
or reproduce by: https://github.com/adventure-yunfei/api-extractor-issue--bundledPackages
Details
Debugged and found the reason, introduced by #3321. For import declaration from dir (e.g., import { A } from "./a", while resolved file is a/index.d.ts), TypeScriptInternals.getResolvedModule (in ExportAnalyzer.ts) returns the result without packageId data, thus bundledPackages check is skipped (cause bug here).
Standard questions
Please answer these questions to help us investigate your issue more quickly:
| Question | Answer |
|---|---|
@microsoft/api-extractor version? |
7.53.1 |
| Operating system? | Mac |
| API Extractor scenario? | rollups (.d.ts) |
| Would you consider contributing a PR? | No |
| TypeScript compiler version? | 5.8.2 |
Node.js version (node -v)? |
v16.20.0 |
- Linguagem predominante
- TypeScript
- Estrelas
- 6.5k
- Forks
- 710
- Merge médio
- 1d 23h
- PRs com merge (30d)
- 36
Preparar o ambiente
Inicia o contêiner de desenvolvimento do projeto no navegador, com a sua própria conta do GitHub.
- Sem Dockerfile nem arquivo Docker Compose
- Tem um modelo de pull request
- Sem guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de microsoft/rushstack
-
[api-extractor] Source map segment without a source crashes SourceMapper with "Target is a folder, not a file"Talvez já em andamento @joshuaellis assumiu há 1 dia. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
Mantenedores costumam responder em até 1 dia
-
[rush-serve-plugin] The auto-picked port never reaches the port parameter: `_value` is ignored since ts-command-line uses `#value`Talvez já em andamento Um pull request vinculado a esta issue está aberto ou já foi mesclado. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
Mantenedores costumam responder em até 1 dia
Todas as issues de microsoft/rushstack
Issues semelhantes
-
frontend
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
Mantenedores costumam responder em até 1 dia
-
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 86/100
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
ranxianglei/billion-context#4172 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
awslabs/threat-composer#362 ·
Mantenedores costumam responder em até 1 dia
-
Area/Cloud Needs Triage Type/Bug
Dificuldade 1/5 1-3 horas Facilidade para iniciantes 86/100
wso2/product-integrator#2847 ·
Mantenedores costumam responder em até 1 dia