microsoft / microsoft/TypeScript
TS does not support resolving paths with colons
Personne n'a encore pris cette issue.
- Langage dominant
- Go
- Étoiles
- 111k
- Forks
- 14.4k
- Merge moyen
- 1 j 19 h
- PR mergées (30 j)
- 117
Description
🔎 Search Terms
https://github.com/microsoft/TypeScript/issues?q=is%3Aissue+colon+exports+is%3Aclosed
colon, exports
🕗 Version & Regression Information
- This is the behavior in every version I tried
⏯ Playground Link
💻 Code
Consumer module:
import a from 'my-library';
import b from 'my-library/foo';
import c from 'my-library/foo:virtual';
import d from 'my-library/bar';
import e from 'my-library/colon:here';
console.log({ a, b, c, d, e });
package.json for my-library:
{
"name": "my-library",
"version": "0.0.1",
"type": "module",
"exports": {
".": {
"types": "./foo.d.ts",
"default": "./foo.js"
},
"./foo": {
"types": "./foo.d.ts",
"import": "./foo.js"
},
"./foo:virtual": {
"types": "./foo.d.ts",
"default": "./foo.js"
},
"./*": {
"types": "./*.d.ts",
"default": "./*.js"
}
},
"scripts": {
"lint": "attw --pack; pnpm publint"
},
"dependencies": {
"@arethetypeswrong/cli": "^0.14.1",
"publint": "^0.2.7"
}
}
every imported module is supposed to resolve, and then print:
{ a: 2, b: 2, c: 2, d: 2, e: 'two' }
(pnpm start in the consumer package in the repro link shows this)
🙁 Actual behavior
Errors, cannot find module
🙂 Expected behavior
align with JS, resolve the module
Additional information about the issue
No response
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Piste de recherche
Commencez par le repro StackBlitz et le pnpm start du package consommateur, puis examinez les entrées exports de package.json affichées qui contiennent des deux-points. Suivez le comportement de la résolution des modules de TypeScript pour ces sous-chemins de package et comparez-le au résultat du runtime JavaScript. C’est terminé lorsque les cinq imports se résolvent et produisent la sortie attendue.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- javascript, typescript
- Domaine
- compilers
- Type d'issue
- Bug
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 45/100