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

Make the vendored Node-API sources distinguishable from our own code

Abierto
#228 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
5/5
Tiempo estimado
Más de una semana
Aptitud para principiantes
35/100
Tipo de issue
Refactorización
Claridad
Necesita aclaración
Estado de actividad
Activo
Stack tecnológico
cpp

Línea de trabajo

Empieza por inventariar Core/Node-API/Source, comparando js_native_api_v8.cc, js_native_api_v8_internals.h y js_native_api_v8.h con sus equivalentes de Node.js. Revisa #70, #227, los marcadores [BABYLON-NATIVE-ADDITION] existentes y las referencias upstream mencionadas en la issue. Se considerará terminado cuando el proyecto tenga una estructura y un esquema de procedencia acordados que distingan entre archivos upstream, upstream modificados y archivos propios.

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

Descripción

[Filed by Copilot on behalf of @bghgary]

Core/Node-API/Source mixes files vendored from Node.js with implementations we wrote, and nothing marks which is which. #227 is what that costs: js_native_api_v8_internals.h looks vendored but is a hand-written shim, and it carried a handle leak from the original 2019 fork until last week.

Syncing does not fix it. #70 ("Update Node-API to latest from node.js") rewrote 54 lines of that same file in 2024 and left the bug in, because the file has no upstream counterpart to copy from — upstream's version pulls in node_internals.h / env.h / util-inl.h, so ours reimplements OneByteString, the CHECK macros and PersistentToLocal locally.

A 3rdparty/<name>/ directory carrying a README or license that links the source would cover the straightforward case, but it doesn't fit cleanly here: we vendor a subset of Node's files and add engine implementations (Chakra, JavaScriptCore, QuickJS) alongside them.

What structure actually works is the open question:

  • which files are verbatim upstream, which are modified upstream, and which are ours
  • where the upstream ref is recorded, so a future sync knows what it is syncing from
  • whether per-change markers are enough — the [BABYLON-NATIVE-ADDITION] convention is currently 7 lines in js_native_api_v8.cc, 3 in js_native_api_v8_internals.h, and 0 in js_native_api_v8.h
Lenguaje dominante
C++
Estrellas
22
Forks
23
Merge medio
2 h 29 min
PR fusionados (30 d)
3

Preparar el entorno

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 BabylonJS/JsRuntimeHost

Todos los issues de BabylonJS/JsRuntimeHost

Issues similares

Más issues de C++

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.