package.json types/main/module take precedence over conditional exports
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 35/100
- Tipo di issue
- Bug
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Ferma
- Stack tecnologico
- javascript, nodejs, rollup, typescript
- Ambito
- build-system, tooling
Direzione di ricerca
Riproduci il problema con l'esempio di package.json usando microbundle --target node -f esm --generateTypes=true, quindi confronta il risultato con tsc. Esamina come la build gestisce i campi exports, main, module e types di package.json insieme alle impostazioni resolvePackageJsonExports e moduleResolution di tsconfig.json. Il lavoro è completato quando gli export condizionali risolvono i tipi dichiarati senza richiedere un campo types nella root.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Possibly somewhat related to #1085.
Given a package.json:
{
"main": "./lib/index.cjs",
"module": "./lib/index.js",
"type": "module",
"dependencies": {
"some-client-with-matching-esm-and-tsconfig": "^x.x.x"
},
"exports": {
".": {
"require": {
"types": "./lib/index.d.ts",
"default": "./lib/index.cjs"
},
"import": {
"types": "./lib/index.d.ts",
"default": "./lib/index.js"
}
},
"./package.json": "./package.json"
},
_without root types property, running:
microbundle --target node -f esm --generateTypes=true
results in error:
(rpt2 plugin) Error: /Users/xxxx/dev/project/dependingclient.ts(197,32): semantic error TS2339: Property 'request' does not exist on type 'DependingClient.ts'.
at RollupContext.error (/Users/xxxx/dev/project/node_modules/rollup-plugin-typescript2/dist/rollup-plugin-typescript2.cjs.js:20259:3
Indicating it cannot find the types specified in the conditional exports.
Working solution: Specify "types": "./lib/index.d.ts" at root-level.
Also works: Remove the "main" and module property
It seems to me package.json conditional exports are not taking precedence over main/module/types
Not sure if related but when in tsconfig.json resolvePackageJsonExports is explicitly set to true (even weirder is that it would be true by default in node16 moduleresolution) , regardless of whether moduleResolution is set to node16, it throws
rpt2: options error TS5098: Option 'resolvePackageJsonExports' can only be used when 'moduleResolution' is set to 'node16', 'nodenext', or 'bundler'. Whereas running the build simple with
tsccauses no issues.
- Lingua principale
- JavaScript
- Stelle
- 8.1k
- Fork
- 358
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di developit/microbundle
-
CSS
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
developit/microbundle#1002 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
developit/microbundle#789 · 1 commento ·
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 55/100
developit/microbundle#1100 · 4 commenti ·
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 45/100
developit/microbundle#1093 · 3 commenti · 1 reazione ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
developit/microbundle#1092 ·
Tutte le issue di developit/microbundle
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
HarperFast/skills#96 ·
-
[Block] Latest Posts [Type] Bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
-
Daemon passes --experimental-wasm-jspi unconditionally on Node >= 24; Node 26 rejects the flag Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
Automattic/studio#4908 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 86/100
sugarlabs/musicblocks#8847 ·