Dashboard › spotlight › Session 1YZiX5nV2lYI
1YZiX5nV2lYI8kplsBuild on main and release branch are failing: https://github.com/getsentry/spotlight/actions/runs/25910982009
Let me check the failing build:
[tool results provided]
[tool results provided]
The error is clear:
Error: No "exports" main defined in .../plist/package.json
The plist override (>=3.1.1) forced plist to version 5.0.0, but @electron/osx-sign@1.0.5 (used by electron-builder@24.13.3) expects the older plist@3.x API. plist@5.0.0 has a different package.json exports map that's incompatible with how the old @electron/osx-sign resolves it via CJS require().
The fix is to scope the plist override more narrowly — only override it for the packages that bring in the vulnerable @xmldom/xmldom, while letting @electron/osx-sign keep its compatible version. However, pnpm overrides don't support per-package scoping that way. A better approach is to remove the plist override and instead directly override @xmldom/xmldom to a safe version.
[tool results provided]
[tool results provided]
Now I understand the full picture. plist@3.1.0 depends on @xmldom/xmldom@^0.8.8 (vulnerable), and plist@3.1.1 depends on @xmldom/xmldom@^0.9.10 (safe). But forcing plist>=3.1.1 bumps it to 5.0.0 which breaks @electron/osx-sign@1.0.5's CJS require.
The correct fix: replace the plist override with a direct @xmldom/xmldom override to >=0.8.13 (the first patched version in the 0.8.x range). This keeps plist@3.1.0 for @electron/osx-sign compatibility but forces its @xmldom/xmldom dependency to the safe version.
Please address this message and continue with your tasks. </system-reminder>
[tool results provided]
[tool results provided]
Both dependabot PRs have passing CI. Let me handle all three issues together:
plist override that's breaking the Electron build[tool results provided]
[tool results provided]
Now let me fix the plist override — replace it with a direct @xmldom/xmldom override:
[tool results provided]
[tool results provided]
Now run pnpm install to update the lockfile:
[tool results provided]
Let me verify the xmldom version resolved correctly and that plist stays at 3.x for electron-builder:
[tool results provided]
Interesting — the @xmldom/xmldom>=0.8.13 override actually caused plist to resolve to 3.1.1 (which depends on @xmldom/xmldom@^0.9.10) instead of jumping to 5.0.0. And plist@3.1.1 is compatible with @electron/osx-sign@1.0.5 since it's still in the 3.x range. @xmldom/xmldom is at 0.9.10 (safe).
Now let me commit, push, and create the PR:
[tool results provided]
[tool results provided]
[tool results provided]
Now let me merge the dependabot PRs while CI runs on #1307:
[tool results provided]
[tool results provided]
All CI checks pass on #1307 (the Electron macOS build is "skipping" because it only runs on main/release, not on PR branches — that's expected). Let me merge all three PRs:
[tool results provided]
[tool results provided]
[tool results provided]
[tool results provided]
All done. Here's a summary:
plist>=3.1.1 override with @xmldom/xmldom>=0.8.13. This keeps plist at 3.1.1 (compatible with @electron/osx-sign@1.0.5) while using a safe @xmldom/xmldom version.brace-expansion from 2.0.2 to 2.1.0picomatch from 2.3.1 to 4.0.4