Hacktoberfest 2026: die Issues, die Maintainer für den Oktober markiert haben – offen und einsteigerfreundlich. Hacktoberfest-Issues durchsuchen

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

Offen
#383 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Anfängerfreundlichkeit
65/100
Issue-Typ
Refactoring
Klarheit
Klar beschrieben
Aktivitätsstatus
Ruhig
Tech-Stack
typescript

Rechercherichtung

Lies zuerst packages/host/package.json und packages/host/src/node/cli/apple.test.ts, untersuche dann den Pfad readInfoPlist/readAndParsePlist und die vorhandene Assertion. Aktualisiere den Dependency-Bereich, mache den Test robust gegenüber dem Null-Prototyp des Parsers und führe den relevanten Test aus; erledigt ist die Aufgabe, wenn der macOS Unit tests-Job mit der nicht festgeschriebenen Version erfolgreich ist.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

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
Vorherrschende Sprache
TypeScript
Sterne
191
Forks
11
Ø Merge
11 Std. 56 Min.
Gemergte PRs (30 T.)
2

Entwicklungsumgebung

Dieses Projekt bietet weder Dev-Container noch Dockerfile noch Beitragsleitfaden – die Einrichtung liegt bei Ihnen. Beginnen Sie mit der README; die allgemeinen Schritte stehen in unserem Leitfaden für den ersten Beitrag.

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus callstackincubator/react-native-node-api

Alle Issues in callstackincubator/react-native-node-api

Ähnliche Issues

Weitere Issues zu TypeScript

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.