Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

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

オープン
#383 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
3/5
見積もり時間
1〜2日
初心者へのやさしさ
65/100
issue の種類
リファクタリング
明瞭さ
明確に書かれている
活発さ
静か
技術スタック
typescript

調査の方向性

まず packages/host/package.json と packages/host/src/node/cli/apple.test.ts を読み、次に readInfoPlist/readAndParsePlist の経路と既存のアサーションを確認します。依存関係の範囲を更新し、パーサーの null プロトタイプに対してテストが堅牢になるようにして、関連するテストを実行します。固定されていないバージョンで macOS Unit tests ジョブがパスすれば完了です。

索引モデルが issue の本文から書いたものです。

説明

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
主要言語
TypeScript
スター
188
フォーク
10
平均マージ
2日 17時間
マージ済み PR(30日)
3

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

callstackincubator/react-native-node-api のほかの issue

callstackincubator/react-native-node-api の issue をすべて見る

似ている issue

TypeScript の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。