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

Unpin @expo/plist and update it (post-merge follow-up to pnpm migration)

Abierto
#383 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
65/100
Tipo de issue
Refactorización
Claridad
Bien especificado
Estado de actividad
Tranquilo
Stack tecnológico
typescript

Línea de trabajo

Lee primero packages/host/package.json y packages/host/src/node/cli/apple.test.ts; después inspecciona la ruta readInfoPlist/readAndParsePlist y la aserción existente. Actualiza el rango de dependencias, haz que el test sea robusto frente al prototipo null del parser y ejecuta el test relevante; se considera terminado cuando el trabajo macOS Unit tests pasa con la versión sin fijar.

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

Descripción

Context

As part of the pnpm migration (#381), regenerating the lockfile floated @expo/plist from 0.4.7 (the version main's package-lock.json happened to hold) up to 0.4.9. In 0.4.9, plist.parse() returns a null-prototype object, which makes the strict assert.deepEqual in packages/host/src/node/cli/apple.test.ts ("should read Info.plist contents, plus extra keys not in schema") fail on the prototype mismatch.

To keep the migration behaviour-neutral, @expo/plist was pinned to an exact 0.4.7 in packages/host/package.json:

-    "@expo/plist": "^0.4.7",
+    "@expo/plist": "0.4.7",

The null prototype only affects the test's strict equality — runtime property access on the parsed object is unaffected — so this is a test-only concern, not a functional regression.

Follow-up

Once the pnpm migration is merged, revisit this pin:

  • Update @expo/plist to the latest 0.4.x (or newer) and restore a caret range (^) in packages/host/package.json.
  • Make readInfoPlist / apple.test.ts robust to the null-prototype return so the test no longer depends on the parser's object prototype. Options:
    • normalise the parsed value before asserting (e.g. { ...contents } or structuredClone), or
    • have readAndParsePlist return a plain object, or
    • use a non-strict deep-equal for this assertion.
  • Confirm the macOS Unit tests job passes with the unpinned version.

References

  • PR: #381
  • File: packages/host/package.json (@expo/plist pin)
  • Test: packages/host/src/node/cli/apple.test.ts
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

  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 callstackincubator/react-native-node-api

Todos los issues de callstackincubator/react-native-node-api

Issues similares

Más issues de TypeScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.