Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

ESM default imports when using @scope

Abierto
#8,335 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
3/5
Tiempo estimado
1-2 días
Aptitud para principiantes
52/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Tranquilo
Stack tecnológico
javascript, ocaml
Área
compilers

Línea de trabajo

Comienza con el ejemplo de Playground enlazado y compara las importaciones generadas para Mod1 y Mod2 cuando se usa @scope. Sigue la ruta del compilador que gestiona las importaciones de módulos con scope y, a continuación, verifica que los casos afectados de default-import preserven los default imports en lugar de emitir namespace imports.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

Playground: https://rescript-lang.org/try?version=v12.0.0-beta.12&module=esmodule&code=LYewJgrgNgpgBAWXARjgXjgbwFBzgFwE8AHefXOAAVElgAoAiG5BgSjhgA98YAnAOwCGUAgC4C6OAzAwAZoOj4GFSgGcY-MFVUBjEKUac2HbnyEjZ-cXXwAaOAEt++dmgB8cCPwf5JDS8p4sL6WkpY29gD6rNgAvtjYNNDwSGAATJI4eNTgyYw0acZqegaMMvKKDPYMRqzsXDwCwnCW4k6+7p7eHVIBFMEt-GH8cdhAA

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.

Lenguaje dominante
OCaml
Estrellas
7.5k
Forks
485
Merge medio
1 d 2 h
PR fusionados (30 d)
55

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de rescript-lang/rescript

Todos los issues de rescript-lang/rescript

Issues similares

Más issues de Compilers

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.