The electron tsconfig, renderer, e2e and electron-builder checkJs passes
now all pass cleanly. Three pre-existing issues fixed (the branch is
ahead of upstream/main, where none of these files exist):
- package-process-reap.ts: guard `isUnderInstallRoot` loop members with
`typeof root !== 'string'` so the TS union (string | readonly string[])
narrows before normalize() — the old `if (!root)` did not narrow arrays.
- msix-shared.mjs: add JSDoc param/return types to the four git-tag
helpers and the stamp/XML/Content-Type helpers so the electron-builder
checkJs pass (which walks this module via its import graph) stops
flagging implicit-any.
- electron-builder.config.cjs: bind storeMsix to a local + a
mustStoreMsix() assertion helper — `store` is typed boolean, so checkJs
cannot correlate it with the optional storeMsix; the helper is the
single documented assertion point (checkJs forbids `!`).