rescript-lang / rescript-lang/rescript
ESM default imports when using @scope
Personne n'a encore pris cette issue.
- Langage dominant
- OCaml
- Étoiles
- 7.5k
- Forks
- 485
- Merge moyen
- 1 j 2 h
- PR mergées (30 j)
- 55
Description
module Mod1 = {
type t
@module("mod1") external t: t = "default"
@send @scope("x") external fn: (t, int) => unit = "fn"
let fn = fn(t, _)
}
module Mod2 = {
@module("mod2") @scope(("default", "x")) external fn: int => unit = "fn"
let fn = fn
}
Using @scope results in a namespace import instead of a default import:
import Mod1 from "mod1";
import * as Mod2 from "mod2";
This shouldn't effect modern tree shakers, but I've noticed tooling, like linters, can be less effective.
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 l’exemple Playground lié et comparez les imports générés pour Mod1 et Mod2 lorsque @scope est utilisé. Suivez le chemin du compilateur qui gère les imports de modules avec scope, puis vérifiez que les cas concernés de default-import conservent les default imports au lieu d’émettre des namespace imports.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- javascript, ocaml
- Domaine
- compilers
- Type d'issue
- Bug
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Activité
- Calme
- Clarté
- Plutôt claire
- Accessibilité débutants
- 52/100