Two test gaps: unverified prebuild `Info.plist` and a missing `.node` fixture in the Babel plugin tests
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 15/100
- Tipo de issue
- Error
- Claridad
- Bien especificado
- Estado de actividad
- Estancado
- Stack tecnológico
- javascript, node.js, typescript
- Área
- build-system, testing
Línea de trabajo
Comienza con las pruebas marcadas con TODO y packages/host/src/node/prebuilds/apple.ts, incluido writeFrameworkInfoPlist, y luego ejecuta las pruebas unitarias relevantes. Se considera terminado cuando la prueba de prebuild verifica los valores de Info.plist generados y el fixture del plugin de Babel incluye tanto my-addon.js como my-addon.node, preservando la resolución prevista. PR #426 ya cubre este trabajo.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Two TODOs marking tests that assert less than they appear to.
verify-prebuilds skips the Info.plist it just found
The verifier walks each framework in the XCFramework and `continue`s past `Info.plist` without reading it. That file is written by `writeFrameworkInfoPlist` in `packages/host/src/node/prebuilds/apple.ts` from the library name and bundle identifier, and a wrong `CFBundleExecutable` or `CFBundleIdentifier` is exactly the kind of failure that passes every build step and then fails at load time on device. Parsing it and asserting the executable name matches the library, and the identifier matches what was requested, is a handful of lines given `@expo/plist` is already a dependency.
## "does not touch required JS files" doesn't prove what it claims
The test fixture has my-addon.js and asserts the plugin does not emit requireNodeAddon. But with no my-addon.node in the fixture there is nothing for the plugin to have found in the first place — the assertion passes for the wrong reason, and would keep passing even if the plugin's precedence between a .js and a sibling addon were broken. Adding a ./my-addon.node alongside it, as the TODO says, is what makes the test meaningful: with both present, require('./my-addon') must still resolve to the JS file.
Current status (as of 2026-09-14)
Both gaps above are fixed by #426, the only open PR against this issue. It's mergeable (clean), has two maintainer approvals, and CI is fully green (Lint + Unit tests on ubuntu/macos/windows; native app/device jobs skipped, which is expected for a fork PR without runner secrets/labels). Nothing further is needed here besides merging it — no competing implementation work is warranted.
Earlier independent attempts (#448, #449, #450, #455) were closed in favor of #426 once it became clear it already covered the same fixes (the shared isNodeApiModule .js/.node precedence bug, plus zod-validated Info.plist verification).
- Lenguaje dominante
- TypeScript
- Estrellas
- 188
- Forks
- 10
- Merge medio
- 2 d 17 h
- PR fusionados (30 d)
- 3
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de callstackincubator/react-native-node-api
-
Android 🤖
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
-
Sanity check of Hermes source directory via environment variable, when building Android projects AbiertoAndroid 🤖 good first issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
callstackincubator/react-native-node-api#163 · 1 comentario ·
-
enhancement good first issue gyp-to-cmake
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
callstackincubator/react-native-node-api#161 · 3 comentarios · 1 reacción ·
-
enhancement Host 🏡
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
-
gyp-to-cmake
Dificultad 4/5 3-5 días Aptitud para principiantes 55/100
callstackincubator/react-native-node-api#423 · 1 comentario ·
Todos los issues de callstackincubator/react-native-node-api
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
copse-dev/agent-pane#2953 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
Eynzof/Hermes-CN-Desktop#610 ·
-
[Bug]: Matrix progress drafts fail with "Matrix runtime not initialized" during tool activity Abiertobug clawsweeper:linked-pr-open clawsweeper:needs-live-repro clawsweeper:no-new-fix-pr impact:message-loss issue-rating: 🐚 platinum hermit P2 regression
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
-
Client support matrix inclusion Abiertoenhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
-
calcite-components needs triage refactor
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
Esri/calcite-design-system#15203 ·