This commit makes the build process more robust, simplifies configurations and reduce the risk of incomplete or erroneous deployments. - Centralize output directory definitions by introducing `dist-dirs.json`. - Add `verify-build-artifacts` utility to ensure correct build outputs and `print-dist-dir` to determine distribution directory. - Add steps in CI/CD pipeline to verify build artifacts. - Migrate Electron Builder config from YAML to CJS for capability to read JSON. - Fix `release-site.yaml` failing due to pointing to wrong distribution directory, change it to use `print-dist-dir`. - Improve `check-desktop-runtime-errors` to verify build artifacts for more reliable builds. Ensure tests fail and succeed reliably. - Update `.gitignore` and configure ESLint to use it to define and ignore build artifact directories from one place, remove `.eslintignore` that does not add anything after this change. - Keep `"main"` field in `package.json` as `electron-vite` depends on it (alex8088/electron-vite#270). - Improve documentation
44 lines
858 B
JavaScript
44 lines
858 B
JavaScript
/* eslint-disable no-template-curly-in-string */
|
|
|
|
const { join } = require('path');
|
|
const { electronBundled, electronUnbundled } = require('./dist-dirs.json');
|
|
|
|
module.exports = {
|
|
// Common options
|
|
publish: {
|
|
provider: 'github',
|
|
vPrefixedTagName: false, // default: true
|
|
releaseType: 'release', // default: draft
|
|
},
|
|
directories: {
|
|
output: electronBundled,
|
|
},
|
|
extraMetadata: {
|
|
main: join(electronUnbundled, 'main/index.cjs'), // do not `path.resolve`, it expects a relative path
|
|
},
|
|
|
|
// Windows
|
|
win: {
|
|
target: 'nsis',
|
|
},
|
|
nsis: {
|
|
artifactName: '${name}-Setup-${version}.${ext}',
|
|
},
|
|
|
|
// Linux
|
|
linux: {
|
|
target: 'AppImage',
|
|
},
|
|
appImage: {
|
|
artifactName: '${name}-${version}.${ext}',
|
|
},
|
|
|
|
// macOS
|
|
mac: {
|
|
target: 'dmg',
|
|
},
|
|
dmg: {
|
|
artifactName: '${name}-${version}.${ext}',
|
|
},
|
|
};
|