Skip to content

deps: keep plist and bplist-parser on their CJS majors - #9

Open
manar-mk wants to merge 1 commit into
mainfrom
deps/keep-plist-cjs
Open

manar-mk wants to merge 1 commit into
mainfrom
deps/keep-plist-cjs

Conversation

@manar-mk

Copy link
Copy Markdown
Owner

What changes / Что меняется

Dependabot больше не будет предлагать мажорные обновления plist и bplist-parser.

Why / Зачем

plist@5 и bplist-parser@0.5 перешли на ESM: в их exports нет условия require. Любой
require('plist') — а он есть в usbmux.js (который тянет main.js), tools/device-info.js и
tools/list-apps.js — падает с ERR_PACKAGE_PATH_NOT_EXPORTED, и хост умирает до открытия окна.
Проверено на Windows 11 с набором зависимостей из #6.

CI такое не ловит: host-windows и host-macos только упаковывают приложение через
electron-builder и ни разу его не запускают.

Снять ограничение можно, когда эти три места перейдут на динамический import().

How it was tested / Как проверено

  • npm test passes
  • Tried on a real host: Windows 11 — воспроизведён отказ на версиях из deps: bump the npm group across 1 directory with 3 updates #6 и подтверждён запуск
    после отката plist к ^3.1.1 (electron при этом оставался 44.3.0)
  • Tried with a real iPad: устройство в этот момент не было подключено, сквозная передача не проверялась

Checklist

  • User-visible strings — нет новых
  • Docs — не требуется
  • No secrets, no personal paths, no binaries

Closes the reason #6 cannot be merged as is.

🤖 Generated with Claude Code

plist 5 and bplist-parser 0.5 are ESM-only — their exports map has no require
condition — so require('plist') in usbmux.js, tools/device-info.js and
tools/list-apps.js throws ERR_PACKAGE_PATH_NOT_EXPORTED and the host dies before
its window opens. Verified on Windows 11 with the dependency set from #6.

CI cannot catch this: host-windows and host-macos only package the app with
electron-builder, they never start it.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@manar-mk manar-mk added the dependencies Pull requests that update a dependency file label Sep 13, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant