Teste o nome ou um alias #
sample-kit/feature é normalizado para ./feature a partir de name. #config muda para o mapa imports e só vale dentro do próprio pacote.
Versões e pacotes
Cole o manifesto, escolha uma entrada e acompanhe a primeira condição atendida.
O manifesto fica neste navegador; não há consulta ao npm nem envio de arquivo.
Digite um manifesto package.json.
Separe por espaços ou vírgulas. O comportamento completo do navegador e do bundler não é simulado.
A entrada ou as opções mudaram. Resolva novamente antes de exportar.
Um pacote pode funcionar com import e falhar com require. A ordem das exportações condicionais nos exports no package.json ajuda a explicar qual arquivo cada chamada seleciona.
Esta visualização de exports no package.json segue uma entrada por vez. Um alias # usa imports e só vale dentro do pacote; o arquivo de destino não é lido.
As exportações condicionais seguem a ordem das chaves JSON, não a ordem em que as condições foram digitadas. Um default antecipado pode esconder um import logo abaixo.
Os exports no package.json expõem . e ./feature. Já #config em imports só funciona no pacote; null representa um bloqueio intencional, não um arquivo ausente.
sample-kit/feature é normalizado para ./feature a partir de name. #config muda para o mapa imports e só vale dentro do próprio pacote.
O padrão é Node.js com import. Compare require ou adicione outra condição. A resolução automática aguarda 350 ms; desligada, use o botão ou Ctrl/Cmd + Enter.
Confira a chave, a ordem dos ramos e o destino. O diagnóstico não prova que o arquivo exista. Qualquer mudança impede copiar o relatório antigo.
Teste raiz, subcaminho exato ou padrão *. A chave exata tem prioridade; padrões específicos ganham dos amplos, enquanto null fecha uma parte privada. Cada um desses pontos de entrada aparece no relatório.
Compare import e require no Node.js. Acrescente browser, types ou development para visualizar condições, sem simular o resolvedor completo de um bundler.
Destinos locais em exports começam com ./ e não sobem diretórios nem entram em node_modules. imports também pode apontar para outro pacote.
Depois que exports define a interface pública, subcaminhos não listados deixam de ser acessíveis externamente. Confira a chave exata ou um padrão *.
Sim. O Node percorre as chaves na ordem do objeto e escolhe o primeiro ramo ativo com destino. default cedo demais pode ocultar import.
Troque o tipo de chamada para a mesma entrada. As condições ativas mudam, mas a ordem escrita no mapa permanece.
exports oferece caminhos aos consumidores do pacote; imports cria aliases # para o próprio pacote, inclusive com destinos externos.
Sem chave exata ou padrão correspondente, ele não é exportado. Uma correspondência null indica bloqueio proposital.
Não. O mapa permite verificar a sintaxe do caminho. A existência e a publicação exigem inspecionar os arquivos reais.
Faltou um caso de resolução?
Compare import e require na mesma entrada e compartilhe o relatório de ramos com a equipe.