This commit refactors the icon and logo generation process by replacing
multiple dependencies with ImageMagick. This simplifies the build
process and enhances maintainability.
Key changes:
- Remove unnecessary icon files for macOS (.icns) and Linux
(size-specific PNGs). Electron-builder can now auto-generate these
from a single `logo.png` starting from version 19.54.0, see:
- electron-userland/electron-builder#1682
- electron-userland/electron-builder#2533
- Retain `ico` generation with multiple sizes to fix pixelated/bad
looking icons on Windows, see:
- electron-userland/electron-builder#7328
- electron-userland/electron-builder#3867
- Replaced `svgexport`, `icon-gen`, and `electron-icon-builder`
dependencies with ImageMagick, addressing issues with outdated
dependencies and unreliable CI/CD builds.
- Move electron-builder build resources to
`src/presentation/electron/build` for better project structure.
- Improve `electron-builder` configuration file by making it
importable/reusable without prebuilding the Electron application.
This commit updates various dependencies to their latest versions.
Other changes include:
- Moved the following from `devDependencies` to `dependencies`:
- `electron-log`
- `electron-updater`
- Remove `npm` dependency.
- Code changes:
- Add type casting in several places to align with the latest
`typescript` version.
- Adopt to new return type of `setTimeout`.
- Dependencies not upgraded due to
`@vue/eslint-config-airbnb-with-typescript` not supporting
`@eslint-typescript` V6 (see vuejs/eslint-config-airbnb#58):
- `vue/eslint-config-typescript`
- `@typescript-eslint/eslint-plugin`
- `@typescript-eslint/parser`
- Enable video recording for cypress as it's disabled by default since
13.X.X.
This commit addresses occasional pipeline failures caused by transient
network errors during dependency installation with `npm ci`. It
centralizes the logic for installing npm dependencies and introduces a
retry mechanism.
The new approach will attempt `npm ci` up to 5 times with a 5-second
interval between each attempt, thereby increasing the resilience of
CI/CD pipelines.
This commit adds a new script `npm-install.js` with `npm run
install-deps` command to centralize npm dependency installation process
throughout the project. Separate testing of scripts to a separate
workflow.
It removes unused `install` dependency from `package.json`.