Unpin @expo/plist and update it (post-merge follow-up to pnpm migration)
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
- Bereich
- build-system, testing
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/plistto the latest0.4.x(or newer) and restore a caret range (^) inpackages/host/package.json. - Make
readInfoPlist/apple.test.tsrobust 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 }orstructuredClone), or - have
readAndParsePlistreturn a plain object, or - use a non-strict deep-equal for this assertion.
- normalise the parsed value before asserting (e.g.
- Confirm the macOS
Unit testsjob passes with the unpinned version.
References
- PR: #381
- File:
packages/host/package.json(@expo/plistpin) - 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
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus callstackincubator/react-native-node-api
-
Android 🤖
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 66/100
-
Sanity check of Hermes source directory via environment variable, when building Android projectsOffenAndroid 🤖 good first issue
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
callstackincubator/react-native-node-api#163 · 1 Kommentar ·
-
enhancement good first issue gyp-to-cmake
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
callstackincubator/react-native-node-api#161 · 3 Kommentare · 1 Reaktion ·
-
enhancement Host 🏡
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 25/100
-
Two test gaps: unverified prebuild `Info.plist` and a missing `.node` fixture in the Babel plugin testsEvtl. vergeben Ein verknüpfter Pull Request ist offen oder bereits gemergt. OffenAutomatable good first issue
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 15/100
callstackincubator/react-native-node-api#424 · 1 Kommentar ·
Alle Issues in callstackincubator/react-native-node-api
Ähnliche Issues
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
prime-radiant-inc/evener#3726 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
FuRongJun-1999/dsh-memory#56 ·
Maintainer antworten meist innerhalb von 1 Tag
-
bug via-triage
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 84/100
pingdotgg/t3code#15682 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
openwatersio/slackwater.xyz#152 ·
Maintainer antworten meist innerhalb von 1 Tag
-
[BUG] 请修改标题为您遇到的问题Offenbug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 82/100
OpenListTeam/OpenList-Worker#103 ·
Maintainer antworten meist innerhalb von 1 Tag