Commit desktop bundles can bake environment defaults/clears (--bundle-unset HERMES_DESKTOP_USER_DATA_DIR, HERMES_HOME=null) that stomp the smoke driver's --home/--user-data pin, so every native smoke threw "Desktop did not honor the isolated home and userData directories". Instead of pinning, the driver replays the bundle env over its launch env through the same resolver the app runs, seeds the predicted home (bailing rather than wiping when it is not empty), and verifies the app landed there via a new hermesHome report on the version bridge. The --user-data equality check now applies only when the artifact bakes no env. - Extract the pure path resolver into electron/data-paths.mjs (data-paths.ts is now a typed re-export) so Node's type-stripped driver can import it. - Add applyBundleEnvironment/validateBundleEnvironment as the pure twin of the bundle banner, pinned by a lockstep test. - Record bundleEnv in the install stamp and add readBundledBundleEnv. - Report hermesHome from hermes:version and assert it equals the predicted home.
9 lines
317 B
TypeScript
9 lines
317 B
TypeScript
export function validateBundleEnvironment(values: unknown): Record<string, string | null>
|
|
|
|
export function applyBundleEnvironment(
|
|
env: Record<string, string | undefined>,
|
|
values: Record<string, string | null>,
|
|
): Record<string, string | undefined>
|
|
|
|
export function environmentDefaultsBanner(raw: string): string
|