Files
privacy.sexy/scripts/check-desktop-runtime-errors
undergroundwires 75c9b51bf2 Migrate to electron-vite and electron-builder
- Switch from deprecated Vue CLI plugin to `electron-vite` (see
  nklayman/vue-cli-plugin-electron-builder#1982)
- Update main/preload scripts to use `index.cjs` filenames to support
  `"type": "module"`, resolving crash issue (#233). This crash was
  related to Electron not supporting ESM (see electron/asar#249,
  electron/electron#21457).
- This commit completes migration to Vite from Vue CLI (#230).

Structure changes:

- Introduce separate folders for Electron's main and preload processes.
- Move TypeHelpers to `src/` to mark tit as accessible by the rest of
  the code.

Config changes:

- Make `vite.config.ts` reusable by Electron configuration.
- On electron-builder, use `--publish` flag instead of `-p` for clarity.

Tests:

- Add log for preload script loading verification.
- Implement runtime environment sanity checks.
- Enhance logging in `check-desktop-runtime-errors`.
2023-08-24 20:01:53 +02:00
..

check-desktop-runtime-errors

This script automates the processes of:

  1. Building
  2. Packaging
  3. Installing
  4. Executing
  5. Verifying Electron distributions

It runs the application for a duration and detects runtime errors in the packaged application via:

  • Log verification: Checking application logs for errors and validating successful application initialization.
  • stderr monitoring: Continuous listening to the stderr stream for unexpected errors.
  • Window title inspection: Checking for window titles that indicate crashes before logging becomes possible.

Upon error, the script captures a screenshot (if --screenshot is provided) and terminates.

Usage

node ./scripts/check-desktop-runtime-errors

Options

  • --build: Clears the electron distribution directory and forces a rebuild of the Electron app.
  • --screenshot: Takes a screenshot of the desktop environment after running the application.

This module provides utilities for building, executing, and validating Electron desktop apps. It can be used to automate checking for runtime errors during development.

Configs

Configurations are defined in config.js.