nodejs / nodejs/node

doc: Error for "." and ".." specifiers differs from documented Resolver Algorithm

Abierto Apto para principiantes
#39,873 5 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

doc esm
Lenguaje dominante
JavaScript
Estrellas
122k
Forks
37.3k
Merge medio
4 d 2 h
PR fusionados (30 d)
283

Descripción

  • Version: ✍️

16.7.0

  • Platform: ✍️

Linux penguin 5.4.119-14945-gafc97d54f809 #1 SMP PREEMPT Tue Aug 10 21:49:04 PDT 2021 x86_64 GNU/Linux

  • Subsystem: ✍️

module

Location

Affected URL(s):

Description

I'm not sure if this is a bug with the ESM resolver or with the docs but basically if we do:

import foo from ".";

Then Node throws a ERR_UNSUPPORTED_DIR_IMPORT error, based on a reading of the Resolver Algorithm I expected this to be ERR_INVALID_MODULE_SPECIFIER.

As CommonJS already treats require(".") and require("..") as directory imports the current behaviour in Node is probably the best, so the docs should be updated to reflect it. This would involve changing ESM_RESOLVE step 3 to:

  • Otherwise, if specifier starts with "/", "./" or "../", or specifier equals "." or ".." then

Although if the current documented behaviour is the intended behaviour then the error needs updating.

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.

Línea de trabajo

Comienza con la especificación de ESM Resolver Algorithm en la sección esm.html enlazada y compara el paso 3 con el comportamiento de import observado para "." y "..". Confirma si el algoritmo documentado o el comportamiento del runtime es el previsto y, después, actualiza la documentación para que el algoritmo y el error indicado coincidan; el issue estará terminado cuando el resultado documentado coincida con el comportamiento de Node.

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

Evaluación

Stack tecnológico
javascript, node.js
Área
backend, documentation
Tipo de issue
Documentación
Dificultad
2/5
Tiempo estimado
1-3 horas
Estado de actividad
Tranquilo
Claridad
Bastante claro
Aptitud para principiantes
68/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.