ci(desktop): fail win/linux releases whose dist package.json lacks the per-arch update channel

Gauzy Server's Windows and Linux release jobs published channel-less
update manifests (latest.yml, latest-linux*.yml) from v107 to v111.44.45.
Its :isolated scripts ran `pack --arch` after the build had already copied
apps/server/src/package.json into dist. electron-builder reads
dist/apps/<x>/package.json, never saw build.publish[].channel and fell
back to `latest`. The updater only requests `latest-${process.arch}`, so
installs stopped auto-updating, and nothing caught it for 4.5 months.
#10299 fixed that app. This change makes the whole class fail loudly.

Add .scripts/electron-package-utils/assert-publish-channel.js, a Node
script with no dependencies. It takes --project <dist dir> --arch
<x64|arm64> and requires every build.publish[] entry in
<dist dir>/package.json to have channel latest-<arch>. Otherwise it prints
a GitHub `::error` annotation naming the file and the expected and actual
channels, plus a hint, and exits 1. A missing file, unreadable JSON or bad
arguments also exit 1.

Run it immediately before electron-builder in the 28 root scripts that
publish for --windows/--linux and stamp the channel with `pack --arch`.
The list was found from the scripts, not typed by hand. Each guard's
--project and --arch are asserted equal to that script's electron-builder
--project, its --x64/--arm64 flag and its pack --arch. A bad channel now
stops the job before anything is published. No other script changes.
The 24 win/linux publishing scripts without `pack --arch` have no callers
in any workflow and are left alone.

Add assert-publish-channel.test.js (node --test, no dependencies) as
`yarn test:publish-channel` and run it in build.yml next to
test:postinstall. It covers the pass, fail and misuse cases. It also
checks that every per-arch win/linux publishing script keeps the guard on
the same arch and dist dir, so a new or edited release script cannot drop
it unnoticed. That check fails against the current develop package.json.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Ruslan Konviser
2026-09-25 00:42:07 +02:00
co-authored by Claude Opus 5.5
parent e2797e2e9e
commit 271b43e24e
4 changed files with 271 additions and 28 deletions
+3
View File
@@ -109,6 +109,9 @@ jobs:
- name: Test native rebuild setup
run: yarn test:postinstall
- name: Test release update-channel guard
run: yarn test:publish-channel
- name: Restore node_modules archive
id: cache
uses: actions/cache/restore@v4
@@ -0,0 +1,134 @@
/**
* This script fails a Windows / Linux desktop release job BEFORE electron-builder publishes it, when the
* package.json that electron-builder is about to read does not carry the per-arch update channel.
*
* Why: `yarn run pack --desktop=<app> --arch=<arch> --platform=<win32|linux>` stamps
* `build.publish[].channel = latest-<arch>` into `apps/<app>/src/package.json`, and the app build copies that
* file into `dist/apps/<x>`, which is what `electron-builder --project dist/apps/<x>` reads. When the stamp does
* not reach dist (e.g. pack runs after the copy), electron-builder silently falls back to its default `latest`
* channel and publishes `latest.yml` / `latest-linux*.yml`, while installed apps only ever request
* `latest-${process.arch}` (desktop-lib update-strategy), so they stop auto-updating. Gauzy Server shipped like
* that from v107 to v111.44.45 and nobody noticed for 4.5 months.
*
* Usage (from the repository root, right before `yarn electron-builder ... --project <dir>`):
* ```
* node .scripts/electron-package-utils/assert-publish-channel.js --project dist/apps/desktop --arch x64
* ```
*
* Prints one OK line and exits 0 when every `build.publish[]` entry has `channel: latest-<arch>`.
* Otherwise prints a GitHub Actions `::error` annotation and exits 1.
*/
const fs = require('fs');
const path = require('path');
const ARCHES = ['x64', 'arm64'];
const TITLE = 'Update channel missing';
const USAGE = 'node .scripts/electron-package-utils/assert-publish-channel.js --project <dist dir> --arch <x64|arm64>';
const HINT =
'Hint: `yarn run pack --desktop=<app> --arch=<arch> --platform=<win32|linux>` must run BEFORE the build copies apps/<app>/src/package.json into dist (or copy it into dist again after pack).';
// Workflow command data must escape %, CR and LF, see
// https://docs.github.com/en/actions/reference/workflow-commands-for-github-actions
function escapeData(value) {
return String(value).replace(/%/g, '%25').replace(/\r/g, '%0D').replace(/\n/g, '%0A');
}
// Use exitCode (not process.exit) so buffered stdout is never cut off before the runner sees the annotation.
function fail(title, message, hint) {
console.log(`::error title=${title}::${escapeData(message)}`);
if (hint) {
console.log(hint);
}
process.exitCode = 1;
}
// Accepts `--project <dir>` / `--project=<dir>` and `--arch <arch>` / `--arch=<arch>`, nothing else.
function parseArgs(argv) {
const args = {};
for (let i = 0; i < argv.length; i++) {
const match = /^--(project|arch)(?:=(.*))?$/.exec(argv[i]);
if (!match) {
throw new Error(`unknown argument "${argv[i]}"`);
}
const [, name, inline] = match;
const value = inline !== undefined ? inline : argv[++i];
if (value === undefined || value === '' || value.startsWith('--')) {
throw new Error(`--${name} needs a value`);
}
if (args[name] !== undefined) {
throw new Error(`--${name} was given twice`);
}
args[name] = value;
}
if (args.project === undefined) {
throw new Error('--project is required');
}
if (args.arch === undefined) {
throw new Error('--arch is required');
}
if (!ARCHES.includes(args.arch)) {
throw new Error(`--arch must be one of ${ARCHES.join(', ')} (got "${args.arch}")`);
}
return args;
}
function describeChannel(entry) {
if (!entry || typeof entry !== 'object' || entry.channel === undefined) {
return '(none)';
}
return JSON.stringify(entry.channel);
}
function main() {
let args;
try {
args = parseArgs(process.argv.slice(2));
} catch (error) {
fail('Update channel check misconfigured', `assert-publish-channel: ${error.message}. Usage: ${USAGE}`);
return;
}
const expected = `latest-${args.arch}`;
const file = path.join(args.project, 'package.json');
if (!fs.existsSync(file)) {
fail(TITLE, `${file} not found, so the update channel cannot be checked (expected "${expected}").`, HINT);
return;
}
let pkg;
try {
pkg = JSON.parse(fs.readFileSync(file, 'utf8'));
} catch (error) {
fail(
TITLE,
`${file} is not readable JSON (${error.message}), so the update channel cannot be checked (expected "${expected}").`
);
return;
}
const publish = pkg && pkg.build ? pkg.build.publish : undefined;
if (!Array.isArray(publish) || publish.length === 0) {
fail(
TITLE,
`${file}: build.publish must be a non-empty array, found ${JSON.stringify(publish)}; expected every entry to have channel "${expected}".`,
HINT
);
return;
}
if (publish.some((entry) => !entry || entry.channel !== expected)) {
const found = publish.map((entry, index) => `[${index}] ${describeChannel(entry)}`).join(', ');
fail(
TITLE,
`${file}: expected build.publish[].channel "${expected}" but found ${found}. electron-builder would publish an update manifest that installed apps never request.`,
HINT
);
return;
}
console.log(`Update channel OK: ${file} build.publish[].channel = ${expected} (entries: ${publish.length}).`);
}
main();
@@ -0,0 +1,105 @@
const assert = require('node:assert/strict');
const fs = require('node:fs');
const os = require('node:os');
const path = require('node:path');
const test = require('node:test');
const { spawnSync } = require('node:child_process');
const GUARD = path.join(__dirname, 'assert-publish-channel.js');
const GUARD_COMMAND = 'node .scripts/electron-package-utils/assert-publish-channel.js';
const ROOT_PACKAGE = path.join(__dirname, '..', '..', 'package.json');
function run(...args) {
const result = spawnSync(process.execPath, [GUARD, ...args], { encoding: 'utf8' });
return { status: result.status, output: result.stdout + result.stderr };
}
// Writes `<tmp>/package.json` with the given build.publish (or raw text) and returns the directory.
function project(t, publish, raw) {
const dir = fs.mkdtempSync(path.join(os.tmpdir(), 'publish-channel-'));
t.after(() => fs.rmSync(dir, { recursive: true, force: true }));
const content = raw !== undefined ? raw : JSON.stringify({ name: 'app', build: { publish } });
fs.writeFileSync(path.join(dir, 'package.json'), content);
return dir;
}
const github = (channel) => ({ provider: 'github', repo: 'ever-gauzy-desktop', releaseType: 'release', channel });
test('passes when every publish entry has the channel of the arch being built', (t) => {
const x64 = run('--project', project(t, [github('latest-x64')]), '--arch', 'x64');
assert.equal(x64.status, 0, x64.output);
assert.match(x64.output, /Update channel OK: .* = latest-x64 \(entries: 1\)/);
const arm64 = run(`--project=${project(t, [github('latest-arm64')])}`, '--arch=arm64');
assert.equal(arm64.status, 0, arm64.output);
});
test('fails with an annotation when the channel never reached dist', (t) => {
const result = run('--project', project(t, [github(undefined)]), '--arch', 'x64');
assert.equal(result.status, 1);
assert.match(result.output, /^::error title=Update channel missing::.*"latest-x64" but found \[0\] \(none\)/m);
assert.match(result.output, /Hint: `yarn run pack/);
});
test('fails on the wrong arch, the default channel, or one entry without a channel', (t) => {
for (const publish of [[github('latest-arm64')], [github('latest')], [github('latest-x64'), github(undefined)]]) {
const result = run('--project', project(t, publish), '--arch', 'x64');
assert.equal(result.status, 1, JSON.stringify(publish));
assert.match(result.output, /^::error title=Update channel missing::/m);
}
});
test('fails when build.publish is missing, empty or not a list', (t) => {
for (const publish of [undefined, [], github('latest-x64')]) {
const result = run('--project', project(t, publish), '--arch', 'x64');
assert.equal(result.status, 1, JSON.stringify(publish));
assert.match(result.output, /build\.publish must be a non-empty array/);
}
});
test('fails when package.json is missing or not JSON', (t) => {
const missing = run('--project', path.join(os.tmpdir(), 'publish-channel-does-not-exist'), '--arch', 'x64');
assert.equal(missing.status, 1);
assert.match(missing.output, /not found/);
const broken = run('--project', project(t, undefined, '{ "build": '), '--arch', 'x64');
assert.equal(broken.status, 1);
assert.match(broken.output, /is not readable JSON/);
});
test('fails loudly when it is called wrongly', (t) => {
const dir = project(t, [github('latest-x64')]);
for (const args of [[], ['--project', dir], ['--arch', 'x64'], ['--project', dir, '--arch', 'ia32'], ['--foo']]) {
const result = run(...args);
assert.equal(result.status, 1, args.join(' '));
assert.match(result.output, /^::error title=Update channel check misconfigured::/m);
}
});
// The guard only protects releases if it stays wired in: every Windows / Linux release script that stamps a
// per-arch channel with `pack --arch` must run it on the same arch and dist dir right before electron-builder.
test('every per-arch Windows / Linux publishing script runs the guard right before electron-builder', () => {
const { scripts } = JSON.parse(fs.readFileSync(ROOT_PACKAGE, 'utf8'));
const targets = Object.entries(scripts).filter(
([, script]) =>
/electron-builder/.test(script) &&
/--publish=always/.test(script) &&
/ --(windows|linux) /.test(script) &&
/yarn run pack --desktop=\S+ --arch=/.test(script)
);
assert.ok(targets.length >= 28, `expected at least 28 per-arch release scripts, found ${targets.length}`);
for (const [name, script] of targets) {
const arch = /yarn run pack --desktop=\S+ --arch=(\S+)/.exec(script)[1];
const project = /electron-builder .* --project (\S+)/.exec(script)[1];
const guard = `${GUARD_COMMAND} --project ${project} --arch ${arch} && `;
assert.ok(
new RegExp(` --${arch} `).test(script),
`${name}: electron-builder arch differs from pack --arch ${arch}`
);
assert.ok(
script.includes(`${guard}npm config set cache .cache && yarn electron-builder `),
`${name}: missing "${guard}"`
);
}
});
+29 -28
View File
@@ -117,6 +117,7 @@
"postinstall": "patch-package",
"postinstall.manual": "patch-package && yarn node ./.scripts/postinstall.js",
"test:postinstall": "node --test .scripts/postinstall.test.js",
"test:publish-channel": "node --test .scripts/electron-package-utils/assert-publish-channel.test.js",
"postinstall.electron": "yarn electron-builder install-app-deps && yarn node tools/electron/postinstall",
"postinstall.web": "yarn node ./decorate-angular-cli.js && yarn node tools/web/postinstall",
"build:desktop": "cross-env NODE_ENV=production yarn run copy-files-i18n-desktop && yarn run postinstall.electron && yarn run config:prod && yarn run config:desktop:prod && yarn run pack:desktop && yarn run generate:icons:desktop --environment=prod && yarn run build:package:all:prod && yarn ng:prod run gauzy:desktop-ui --base-href ./ && yarn ng:prod run api:desktop-api && yarn ng:prod build desktop-api --configuration=production --output-path=dist/apps/desktop/desktop-api && yarn ng:prod build desktop --configuration=production --base-href ./ && yarn run prepare:desktop && yarn run copy-files-desktop && yarn run copy-assets-gauzy",
@@ -124,13 +125,13 @@
"build:desktop:linux": "cross-env NODE_ENV=production NODE_OPTIONS=--max-old-space-size=12288 yarn run build:desktop && npm config set cache .cache && yarn electron-builder -c.electronVersion=38.2.2 build --linux --project dist/apps/desktop",
"build:desktop:linux:release": "cross-env NODE_ENV=production NODE_OPTIONS=--max-old-space-size=12288 yarn run build:desktop && npm config set cache .cache && yarn electron-builder -c.electronVersion=38.2.2 build --linux --publish=always --project dist/apps/desktop",
"build:desktop:linux:release:gh": "cross-env NODE_ENV=production NODE_OPTIONS=--max-old-space-size=30000 yarn run build:desktop && npm config set cache .cache && yarn electron-builder -c.electronVersion=38.2.2 build --linux --publish=always --project dist/apps/desktop",
"build:desktop:linux:release:gh:x64": "yarn run pack --desktop=desktop --arch=x64 --platform=linux && cross-env NODE_ENV=production NODE_OPTIONS=--max-old-space-size=30000 yarn run build:desktop && npm config set cache .cache && yarn electron-builder -c.electronVersion=38.2.2 build --linux --x64 --publish=always --project dist/apps/desktop",
"build:desktop:linux:release:gh:arm64": "yarn run pack --desktop=desktop --arch=arm64 --platform=linux && cross-env NODE_ENV=production NODE_OPTIONS=--max-old-space-size=30000 yarn run build:desktop && npm config set cache .cache && yarn electron-builder -c.electronVersion=38.2.2 build --linux --arm64 --publish=always --project dist/apps/desktop",
"build:desktop:linux:release:gh:x64": "yarn run pack --desktop=desktop --arch=x64 --platform=linux && cross-env NODE_ENV=production NODE_OPTIONS=--max-old-space-size=30000 yarn run build:desktop && node .scripts/electron-package-utils/assert-publish-channel.js --project dist/apps/desktop --arch x64 && npm config set cache .cache && yarn electron-builder -c.electronVersion=38.2.2 build --linux --x64 --publish=always --project dist/apps/desktop",
"build:desktop:linux:release:gh:arm64": "yarn run pack --desktop=desktop --arch=arm64 --platform=linux && cross-env NODE_ENV=production NODE_OPTIONS=--max-old-space-size=30000 yarn run build:desktop && node .scripts/electron-package-utils/assert-publish-channel.js --project dist/apps/desktop --arch arm64 && npm config set cache .cache && yarn electron-builder -c.electronVersion=38.2.2 build --linux --arm64 --publish=always --project dist/apps/desktop",
"build:desktop:windows": "cross-env NODE_ENV=production NODE_OPTIONS=--max-old-space-size=12288 yarn run build:desktop && npm config set cache .cache && yarn electron-builder -c.electronVersion=38.2.2 -c.extraMetadata.author.name=Ever build --windows --project dist/apps/desktop",
"build:desktop:windows:release": "cross-env NODE_ENV=production NODE_OPTIONS=--max-old-space-size=12288 yarn run build:desktop && npm config set cache .cache && yarn electron-builder -c.electronVersion=38.2.2 -c.extraMetadata.author.name=Ever build --windows --publish=always --project dist/apps/desktop",
"build:desktop:windows:release:gh": "cross-env NODE_ENV=production NODE_OPTIONS=--max-old-space-size=30000 yarn run build:desktop && npm config set cache .cache && yarn electron-builder -c.electronVersion=38.2.2 -c.extraMetadata.author.name=Ever build --windows --publish=always --project dist/apps/desktop",
"build:desktop:windows:release:gh:x64": "yarn run pack --desktop=desktop --arch=x64 --platform=win32 && cross-env NODE_ENV=production NODE_OPTIONS=--max-old-space-size=30000 yarn run build:desktop && npm config set cache .cache && yarn electron-builder -c.electronVersion=38.2.2 -c.extraMetadata.author.name=Ever build --windows --x64 --publish=always --project dist/apps/desktop",
"build:desktop:windows:release:gh:arm64": "yarn run pack --desktop=desktop --arch=arm64 --platform=win32 && cross-env NODE_ENV=production NODE_OPTIONS=--max-old-space-size=30000 yarn run build:desktop && npm config set cache .cache && yarn electron-builder -c.electronVersion=38.2.2 -c.extraMetadata.author.name=Ever build --windows --arm64 --publish=always --project dist/apps/desktop",
"build:desktop:windows:release:gh:x64": "yarn run pack --desktop=desktop --arch=x64 --platform=win32 && cross-env NODE_ENV=production NODE_OPTIONS=--max-old-space-size=30000 yarn run build:desktop && node .scripts/electron-package-utils/assert-publish-channel.js --project dist/apps/desktop --arch x64 && npm config set cache .cache && yarn electron-builder -c.electronVersion=38.2.2 -c.extraMetadata.author.name=Ever build --windows --x64 --publish=always --project dist/apps/desktop",
"build:desktop:windows:release:gh:arm64": "yarn run pack --desktop=desktop --arch=arm64 --platform=win32 && cross-env NODE_ENV=production NODE_OPTIONS=--max-old-space-size=30000 yarn run build:desktop && node .scripts/electron-package-utils/assert-publish-channel.js --project dist/apps/desktop --arch arm64 && npm config set cache .cache && yarn electron-builder -c.electronVersion=38.2.2 -c.extraMetadata.author.name=Ever build --windows --arm64 --publish=always --project dist/apps/desktop",
"build:desktop:mac": "yarn run build:desktop && npm config set cache .cache && yarn electron-builder -c.electronVersion=38.2.2 build --mac --project dist/apps/desktop",
"build:desktop:mac:release": "yarn run build:desktop && npm config set cache .cache && yarn electron-builder -c.electronVersion=38.2.2 build --mac --publish=always --project dist/apps/desktop",
"build:desktop:mac:quick": "npm config set cache .cache && cross-env DEBUG=electron-builder DEBUG_DMG=true yarn electron-builder -c.electronVersion=38.2.2 build --mac --publish=never --project dist/apps/desktop",
@@ -420,13 +421,13 @@
"build:desktop-timer:linux": "cross-env NODE_ENV=production NODE_OPTIONS=--max-old-space-size=12288 yarn run build:desktop-timer && npm config set cache .cache && yarn electron-builder -c.electronVersion=38.2.2 build --linux --project dist/apps/desktop-timer",
"build:desktop-timer:linux:release": "cross-env NODE_ENV=production NODE_OPTIONS=--max-old-space-size=12288 yarn run build:desktop-timer && npm config set cache .cache && yarn electron-builder -c.electronVersion=38.2.2 build --linux --publish=always --project dist/apps/desktop-timer",
"build:desktop-timer:linux:release:gh": "cross-env NODE_ENV=production NODE_OPTIONS=--max-old-space-size=30000 yarn run build:desktop-timer && npm config set cache .cache && yarn electron-builder -c.electronVersion=38.2.2 build --linux --publish=always --project dist/apps/desktop-timer",
"build:desktop-timer:linux:release:gh:x64": "yarn run pack --desktop=desktop-timer --arch=x64 --platform=linux && cross-env NODE_ENV=production NODE_OPTIONS=--max-old-space-size=30000 yarn run build:desktop-timer && npm config set cache .cache && yarn electron-builder -c.electronVersion=38.2.2 build --linux --x64 --publish=always --project dist/apps/desktop-timer",
"build:desktop-timer:linux:release:gh:arm64": "yarn run pack --desktop=desktop-timer --arch=arm64 --platform=linux && cross-env NODE_ENV=production NODE_OPTIONS=--max-old-space-size=30000 yarn run build:desktop-timer && npm config set cache .cache && yarn electron-builder -c.electronVersion=38.2.2 build --linux --arm64 --publish=always --project dist/apps/desktop-timer",
"build:desktop-timer:linux:release:gh:x64": "yarn run pack --desktop=desktop-timer --arch=x64 --platform=linux && cross-env NODE_ENV=production NODE_OPTIONS=--max-old-space-size=30000 yarn run build:desktop-timer && node .scripts/electron-package-utils/assert-publish-channel.js --project dist/apps/desktop-timer --arch x64 && npm config set cache .cache && yarn electron-builder -c.electronVersion=38.2.2 build --linux --x64 --publish=always --project dist/apps/desktop-timer",
"build:desktop-timer:linux:release:gh:arm64": "yarn run pack --desktop=desktop-timer --arch=arm64 --platform=linux && cross-env NODE_ENV=production NODE_OPTIONS=--max-old-space-size=30000 yarn run build:desktop-timer && node .scripts/electron-package-utils/assert-publish-channel.js --project dist/apps/desktop-timer --arch arm64 && npm config set cache .cache && yarn electron-builder -c.electronVersion=38.2.2 build --linux --arm64 --publish=always --project dist/apps/desktop-timer",
"build:desktop-timer:windows": "cross-env NODE_ENV=production NODE_OPTIONS=--max-old-space-size=12288 yarn run build:desktop-timer && npm config set cache .cache && yarn electron-builder -c.electronVersion=38.2.2 -c.extraMetadata.author.name=Ever build --windows --x64 --project dist/apps/desktop-timer",
"build:desktop-timer:windows:release": "cross-env NODE_ENV=production NODE_OPTIONS=--max-old-space-size=12288 yarn run build:desktop-timer && npm config set cache .cache && yarn electron-builder -c.electronVersion=38.2.2 -c.extraMetadata.author.name=Ever build --windows --publish=always --project dist/apps/desktop-timer",
"build:desktop-timer:windows:release:gh": "cross-env NODE_ENV=production NODE_OPTIONS=--max-old-space-size=30000 yarn run build:desktop-timer && npm config set cache .cache && yarn electron-builder -c.electronVersion=38.2.2 -c.extraMetadata.author.name=Ever build --windows --publish=always --project dist/apps/desktop-timer",
"build:desktop-timer:windows:release:gh:x64": "yarn run pack --desktop=desktop-timer --arch=x64 --platform=win32 && cross-env NODE_ENV=production NODE_OPTIONS=--max-old-space-size=30000 yarn run build:desktop-timer && npm config set cache .cache && yarn electron-builder -c.electronVersion=38.2.2 -c.extraMetadata.author.name=Ever build --windows --x64 --publish=always --project dist/apps/desktop-timer",
"build:desktop-timer:windows:release:gh:arm64": "yarn run pack --desktop=desktop-timer --arch=arm64 --platform=win32 && cross-env NODE_ENV=production NODE_OPTIONS=--max-old-space-size=30000 yarn run build:desktop-timer && npm config set cache .cache && yarn electron-builder -c.electronVersion=38.2.2 -c.extraMetadata.author.name=Ever build --windows --arm64 --publish=always --project dist/apps/desktop-timer",
"build:desktop-timer:windows:release:gh:x64": "yarn run pack --desktop=desktop-timer --arch=x64 --platform=win32 && cross-env NODE_ENV=production NODE_OPTIONS=--max-old-space-size=30000 yarn run build:desktop-timer && node .scripts/electron-package-utils/assert-publish-channel.js --project dist/apps/desktop-timer --arch x64 && npm config set cache .cache && yarn electron-builder -c.electronVersion=38.2.2 -c.extraMetadata.author.name=Ever build --windows --x64 --publish=always --project dist/apps/desktop-timer",
"build:desktop-timer:windows:release:gh:arm64": "yarn run pack --desktop=desktop-timer --arch=arm64 --platform=win32 && cross-env NODE_ENV=production NODE_OPTIONS=--max-old-space-size=30000 yarn run build:desktop-timer && node .scripts/electron-package-utils/assert-publish-channel.js --project dist/apps/desktop-timer --arch arm64 && npm config set cache .cache && yarn electron-builder -c.electronVersion=38.2.2 -c.extraMetadata.author.name=Ever build --windows --arm64 --publish=always --project dist/apps/desktop-timer",
"build:desktop-timer:mac": "yarn run build:desktop-timer && npm config set cache .cache && yarn electron-builder -c.electronVersion=38.2.2 build --project dist/apps/desktop-timer",
"build:desktop-timer:mac:release": "yarn run build:desktop-timer && npm config set cache .cache && yarn electron-builder -c.electronVersion=38.2.2 build --mac --publish=always --project dist/apps/desktop-timer",
"build:desktop-timer:mac:quick": "yarn run build:desktop-timer && npm config set cache .cache && yarn electron-builder -c.electronVersion=38.2.2 build --mac --config -c.mac.identity=null --project dist/apps/desktop-timer",
@@ -441,20 +442,20 @@
"build:gauzy-server:windows": "cross-env NODE_ENV=production NODE_OPTIONS=--max-old-space-size=12288 yarn run build:gauzy-server && npm config set cache .cache && yarn electron-builder -c.electronVersion=38.2.2 -c.extraMetadata.author.name=Ever build --windows --project dist/apps/gauzy-server",
"build:gauzy-server:windows:release": "cross-env NODE_ENV=production NODE_OPTIONS=--max-old-space-size=12288 yarn run build:gauzy-server && npm config set cache .cache && yarn electron-builder -c.electronVersion=38.2.2 -c.extraMetadata.author.name=Ever build --windows --publish=always --project dist/apps/gauzy-server",
"build:gauzy-server:windows:release:gh": "cross-env NODE_ENV=production NODE_OPTIONS=--max-old-space-size=30000 yarn run build:gauzy-server && npm config set cache .cache && yarn electron-builder -c.electronVersion=38.2.2 -c.extraMetadata.author.name=Ever build --windows --publish=always --project dist/apps/gauzy-server",
"build:gauzy-server:windows:release:gh:x64": "yarn run pack --desktop=server --arch=x64 --platform=win32 && cross-env NODE_ENV=production NODE_OPTIONS=--max-old-space-size=30000 yarn run build:gauzy-server && npm config set cache .cache && yarn electron-builder -c.electronVersion=38.2.2 -c.extraMetadata.author.name=Ever build --windows --x64 --publish=always --project dist/apps/gauzy-server",
"build:gauzy-server:windows:release:gh:arm64": "yarn run pack --desktop=server --arch=arm64 --platform=win32 && cross-env NODE_ENV=production NODE_OPTIONS=--max-old-space-size=30000 yarn run build:gauzy-server && npm config set cache .cache && yarn electron-builder -c.electronVersion=38.2.2 -c.extraMetadata.author.name=Ever build --windows --arm64 --publish=always --project dist/apps/gauzy-server",
"build:gauzy-server:windows:release:gh:x64": "yarn run pack --desktop=server --arch=x64 --platform=win32 && cross-env NODE_ENV=production NODE_OPTIONS=--max-old-space-size=30000 yarn run build:gauzy-server && node .scripts/electron-package-utils/assert-publish-channel.js --project dist/apps/gauzy-server --arch x64 && npm config set cache .cache && yarn electron-builder -c.electronVersion=38.2.2 -c.extraMetadata.author.name=Ever build --windows --x64 --publish=always --project dist/apps/gauzy-server",
"build:gauzy-server:windows:release:gh:arm64": "yarn run pack --desktop=server --arch=arm64 --platform=win32 && cross-env NODE_ENV=production NODE_OPTIONS=--max-old-space-size=30000 yarn run build:gauzy-server && node .scripts/electron-package-utils/assert-publish-channel.js --project dist/apps/gauzy-server --arch arm64 && npm config set cache .cache && yarn electron-builder -c.electronVersion=38.2.2 -c.extraMetadata.author.name=Ever build --windows --arm64 --publish=always --project dist/apps/gauzy-server",
"build:gauzy-server:linux": "cross-env NODE_ENV=production NODE_OPTIONS=--max-old-space-size=12288 yarn run build:gauzy-server && npm config set cache .cache && yarn electron-builder -c.electronVersion=38.2.2 build --linux --project dist/apps/gauzy-server",
"build:gauzy-server:linux:release": "cross-env NODE_ENV=production NODE_OPTIONS=--max-old-space-size=12288 yarn run build:gauzy-server && npm config set cache .cache && yarn electron-builder -c.electronVersion=38.2.2 build --linux --publish=always --project dist/apps/gauzy-server",
"build:gauzy-server:linux:release:gh": "cross-env NODE_ENV=production NODE_OPTIONS=--max-old-space-size=30000 yarn run build:gauzy-server && npm config set cache .cache && yarn electron-builder -c.electronVersion=38.2.2 build --linux --publish=always --project dist/apps/gauzy-server",
"build:gauzy-server:linux:release:gh:x64": "yarn run pack --desktop=server --arch=x64 --platform=linux && cross-env NODE_ENV=production NODE_OPTIONS=--max-old-space-size=30000 yarn run build:gauzy-server && npm config set cache .cache && yarn electron-builder -c.electronVersion=38.2.2 build --linux --x64 --publish=always --project dist/apps/gauzy-server",
"build:gauzy-server:linux:release:gh:arm64": "yarn run pack --desktop=server --arch=arm64 --platform=linux && cross-env NODE_ENV=production NODE_OPTIONS=--max-old-space-size=30000 yarn run build:gauzy-server && npm config set cache .cache && yarn electron-builder -c.electronVersion=38.2.2 build --linux --arm64 --publish=always --project dist/apps/gauzy-server",
"build:gauzy-server:linux:release:gh:x64": "yarn run pack --desktop=server --arch=x64 --platform=linux && cross-env NODE_ENV=production NODE_OPTIONS=--max-old-space-size=30000 yarn run build:gauzy-server && node .scripts/electron-package-utils/assert-publish-channel.js --project dist/apps/gauzy-server --arch x64 && npm config set cache .cache && yarn electron-builder -c.electronVersion=38.2.2 build --linux --x64 --publish=always --project dist/apps/gauzy-server",
"build:gauzy-server:linux:release:gh:arm64": "yarn run pack --desktop=server --arch=arm64 --platform=linux && cross-env NODE_ENV=production NODE_OPTIONS=--max-old-space-size=30000 yarn run build:gauzy-server && node .scripts/electron-package-utils/assert-publish-channel.js --project dist/apps/gauzy-server --arch arm64 && npm config set cache .cache && yarn electron-builder -c.electronVersion=38.2.2 build --linux --arm64 --publish=always --project dist/apps/gauzy-server",
"build:gauzy-server:mac": "yarn run build:gauzy-server && npm config set cache .cache && yarn electron-builder -c.electronVersion=38.2.2 build --mac --project dist/apps/gauzy-server",
"build:gauzy-server:mac:release": "yarn run build:gauzy-server && npm config set cache .cache && yarn electron-builder -c.electronVersion=38.2.2 build --mac --publish=always --project dist/apps/gauzy-server",
"quick:build:gauzy-server": "yarn electron-builder -c.electronVersion=38.2.2 -c.extraMetadata.author.name=Ever build --mac --project dist/apps/gauzy-server",
"build:gauzy-server:linux:release:gh:arm64:isolated": "yarn run pack --desktop=server --arch=arm64 --platform=linux && copyfiles -E -f apps/server/src/package.json dist/apps/gauzy-server && npm config set cache .cache && yarn electron-builder -c.electronVersion=38.2.2 build --linux --arm64 --publish=always --project dist/apps/gauzy-server",
"build:gauzy-server:linux:release:gh:x64:isolated": "yarn run pack --desktop=server --arch=x64 --platform=linux && copyfiles -E -f apps/server/src/package.json dist/apps/gauzy-server && npm config set cache .cache && yarn electron-builder -c.electronVersion=38.2.2 build --linux --x64 --publish=always --project dist/apps/gauzy-server",
"build:gauzy-server:windows:release:gh:x64:isolated": "yarn run pack --desktop=server --arch=x64 --platform=win32 && copyfiles -E -f apps/server/src/package.json dist/apps/gauzy-server && npm config set cache .cache && yarn electron-builder -c.electronVersion=38.2.2 build --windows --x64 --publish=always --project dist/apps/gauzy-server",
"build:gauzy-server:windows:release:gh:arm64:isolated": "yarn run pack --desktop=server --arch=arm64 --platform=win32 && copyfiles -E -f apps/server/src/package.json dist/apps/gauzy-server && npm config set cache .cache && yarn electron-builder -c.electronVersion=38.2.2 build --windows --arm64 --publish=always --project dist/apps/gauzy-server",
"build:gauzy-server:linux:release:gh:arm64:isolated": "yarn run pack --desktop=server --arch=arm64 --platform=linux && copyfiles -E -f apps/server/src/package.json dist/apps/gauzy-server && node .scripts/electron-package-utils/assert-publish-channel.js --project dist/apps/gauzy-server --arch arm64 && npm config set cache .cache && yarn electron-builder -c.electronVersion=38.2.2 build --linux --arm64 --publish=always --project dist/apps/gauzy-server",
"build:gauzy-server:linux:release:gh:x64:isolated": "yarn run pack --desktop=server --arch=x64 --platform=linux && copyfiles -E -f apps/server/src/package.json dist/apps/gauzy-server && node .scripts/electron-package-utils/assert-publish-channel.js --project dist/apps/gauzy-server --arch x64 && npm config set cache .cache && yarn electron-builder -c.electronVersion=38.2.2 build --linux --x64 --publish=always --project dist/apps/gauzy-server",
"build:gauzy-server:windows:release:gh:x64:isolated": "yarn run pack --desktop=server --arch=x64 --platform=win32 && copyfiles -E -f apps/server/src/package.json dist/apps/gauzy-server && node .scripts/electron-package-utils/assert-publish-channel.js --project dist/apps/gauzy-server --arch x64 && npm config set cache .cache && yarn electron-builder -c.electronVersion=38.2.2 build --windows --x64 --publish=always --project dist/apps/gauzy-server",
"build:gauzy-server:windows:release:gh:arm64:isolated": "yarn run pack --desktop=server --arch=arm64 --platform=win32 && copyfiles -E -f apps/server/src/package.json dist/apps/gauzy-server && node .scripts/electron-package-utils/assert-publish-channel.js --project dist/apps/gauzy-server --arch arm64 && npm config set cache .cache && yarn electron-builder -c.electronVersion=38.2.2 build --windows --arm64 --publish=always --project dist/apps/gauzy-server",
"build:gauzy-server:mac:release:isolated": "npm config set cache .cache && yarn electron-builder -c.electronVersion=38.2.2 build --mac --publish=always --project dist/apps/gauzy-server",
"copy-files-i18n-desktop-timer": "yarn run download:translations --desktop=desktop-timer",
"copy-files-i18n-desktop": "yarn run download:translations --desktop=desktop",
@@ -476,13 +477,13 @@
"build:gauzy-api-server:windows": "cross-env NODE_ENV=production NODE_OPTIONS=--max-old-space-size=12288 yarn run build:gauzy-api-server && npm config set cache .cache && yarn electron-builder -c.electronVersion=38.2.2 -c.extraMetadata.author.name=Ever build --windows --project dist/apps/gauzy-api-server",
"build:gauzy-api-server:windows:release": "cross-env NODE_ENV=production NODE_OPTIONS=--max-old-space-size=12288 yarn run build:gauzy-api-server && npm config set cache .cache && yarn electron-builder -c.electronVersion=38.2.2 -c.extraMetadata.author.name=Ever build --windows --publish=always --project dist/apps/gauzy-api-server",
"build:gauzy-api-server:windows:release:gh": "cross-env NODE_ENV=production NODE_OPTIONS=--max-old-space-size=30000 yarn run build:gauzy-api-server && npm config set cache .cache && yarn electron-builder -c.electronVersion=38.2.2 -c.extraMetadata.author.name=Ever build --windows --publish=always --project dist/apps/gauzy-api-server",
"build:gauzy-api-server:windows:release:gh:x64": "yarn run pack --desktop=server-api --arch=x64 --platform=win32 && cross-env NODE_ENV=production NODE_OPTIONS=--max-old-space-size=30000 yarn run build:gauzy-api-server && npm config set cache .cache && yarn electron-builder -c.electronVersion=38.2.2 -c.extraMetadata.author.name=Ever build --windows --x64 --publish=always --project dist/apps/gauzy-api-server",
"build:gauzy-api-server:windows:release:gh:arm64": "yarn run pack --desktop=server-api --arch=arm64 --platform=win32 && cross-env NODE_ENV=production NODE_OPTIONS=--max-old-space-size=30000 yarn run build:gauzy-api-server && npm config set cache .cache && yarn electron-builder -c.electronVersion=38.2.2 -c.extraMetadata.author.name=Ever build --windows --arm64 --publish=always --project dist/apps/gauzy-api-server",
"build:gauzy-api-server:windows:release:gh:x64": "yarn run pack --desktop=server-api --arch=x64 --platform=win32 && cross-env NODE_ENV=production NODE_OPTIONS=--max-old-space-size=30000 yarn run build:gauzy-api-server && node .scripts/electron-package-utils/assert-publish-channel.js --project dist/apps/gauzy-api-server --arch x64 && npm config set cache .cache && yarn electron-builder -c.electronVersion=38.2.2 -c.extraMetadata.author.name=Ever build --windows --x64 --publish=always --project dist/apps/gauzy-api-server",
"build:gauzy-api-server:windows:release:gh:arm64": "yarn run pack --desktop=server-api --arch=arm64 --platform=win32 && cross-env NODE_ENV=production NODE_OPTIONS=--max-old-space-size=30000 yarn run build:gauzy-api-server && node .scripts/electron-package-utils/assert-publish-channel.js --project dist/apps/gauzy-api-server --arch arm64 && npm config set cache .cache && yarn electron-builder -c.electronVersion=38.2.2 -c.extraMetadata.author.name=Ever build --windows --arm64 --publish=always --project dist/apps/gauzy-api-server",
"build:gauzy-api-server:linux": "cross-env NODE_ENV=production NODE_OPTIONS=--max-old-space-size=12288 yarn run build:gauzy-api-server && npm config set cache .cache && yarn electron-builder -c.electronVersion=38.2.2 build --linux --project dist/apps/gauzy-api-server",
"build:gauzy-api-server:linux:release": "cross-env NODE_ENV=production NODE_OPTIONS=--max-old-space-size=12288 yarn run build:gauzy-api-server && npm config set cache .cache && yarn electron-builder -c.electronVersion=38.2.2 build --linux --publish=always --project dist/apps/gauzy-api-server",
"build:gauzy-api-server:linux:release:gh": "cross-env NODE_ENV=production NODE_OPTIONS=--max-old-space-size=30000 yarn run build:gauzy-api-server && npm config set cache .cache && yarn electron-builder -c.electronVersion=38.2.2 build --linux --publish=always --project dist/apps/gauzy-api-server",
"build:gauzy-api-server:linux:release:gh:x64": "yarn run pack --desktop=server-api --arch=x64 --platform=linux && cross-env NODE_ENV=production NODE_OPTIONS=--max-old-space-size=30000 yarn run build:gauzy-api-server && npm config set cache .cache && yarn electron-builder -c.electronVersion=38.2.2 build --linux --x64 --publish=always --project dist/apps/gauzy-api-server",
"build:gauzy-api-server:linux:release:gh:arm64": "yarn run pack --desktop=server-api --arch=arm64 --platform=linux && cross-env NODE_ENV=production NODE_OPTIONS=--max-old-space-size=30000 yarn run build:gauzy-api-server && npm config set cache .cache && yarn electron-builder -c.electronVersion=38.2.2 build --linux --arm64 --publish=always --project dist/apps/gauzy-api-server",
"build:gauzy-api-server:linux:release:gh:x64": "yarn run pack --desktop=server-api --arch=x64 --platform=linux && cross-env NODE_ENV=production NODE_OPTIONS=--max-old-space-size=30000 yarn run build:gauzy-api-server && node .scripts/electron-package-utils/assert-publish-channel.js --project dist/apps/gauzy-api-server --arch x64 && npm config set cache .cache && yarn electron-builder -c.electronVersion=38.2.2 build --linux --x64 --publish=always --project dist/apps/gauzy-api-server",
"build:gauzy-api-server:linux:release:gh:arm64": "yarn run pack --desktop=server-api --arch=arm64 --platform=linux && cross-env NODE_ENV=production NODE_OPTIONS=--max-old-space-size=30000 yarn run build:gauzy-api-server && node .scripts/electron-package-utils/assert-publish-channel.js --project dist/apps/gauzy-api-server --arch arm64 && npm config set cache .cache && yarn electron-builder -c.electronVersion=38.2.2 build --linux --arm64 --publish=always --project dist/apps/gauzy-api-server",
"build:gauzy-api-server:mac": "yarn run build:gauzy-api-server && npm config set cache .cache && yarn electron-builder -c.electronVersion=38.2.2 build --mac --project dist/apps/gauzy-api-server",
"build:gauzy-api-server:mac:release": "yarn run build:gauzy-api-server && npm config set cache .cache && yarn electron-builder -c.electronVersion=38.2.2 build --mac --publish=always --project dist/apps/gauzy-api-server",
"copy-files-i18n-api-server": "yarn run download:translations --desktop=server-api",
@@ -503,13 +504,13 @@
"build:agent:windows": "cross-env NODE_ENV=production NODE_OPTIONS=--max-old-space-size=12288 yarn run build:agent && npm config set cache .cache && yarn electron-builder -c.electronVersion=38.2.2 -c.extraMetadata.author.name=Ever build --windows --project dist/apps/agent",
"build:agent:windows:release": "cross-env NODE_ENV=production NODE_OPTIONS=--max-old-space-size=12288 yarn run build:agent && npm config set cache .cache && yarn electron-builder -c.electronVersion=38.2.2 -c.extraMetadata.author.name=Ever build --windows --publish=always --project dist/apps/agent",
"build:agent:windows:release:gh": "cross-env NODE_ENV=production NODE_OPTIONS=--max-old-space-size=30000 yarn run build:agent && npm config set cache .cache && yarn electron-builder -c.electronVersion=38.2.2 -c.extraMetadata.author.name=Ever build --windows --publish=always --project dist/apps/agent",
"build:agent:windows:release:gh:x64": "yarn run pack --desktop=agent --arch=x64 --platform=win32 && cross-env NODE_ENV=production NODE_OPTIONS=--max-old-space-size=30000 yarn run build:agent && npm config set cache .cache && yarn electron-builder -c.electronVersion=38.2.2 -c.extraMetadata.author.name=Ever build --windows --x64 --publish=always --project dist/apps/agent",
"build:agent:windows:release:gh:arm64": "yarn run pack --desktop=agent --arch=arm64 --platform=win32 && cross-env NODE_ENV=production NODE_OPTIONS=--max-old-space-size=30000 yarn run build:agent && npm config set cache .cache && yarn electron-builder -c.electronVersion=38.2.2 -c.extraMetadata.author.name=Ever build --windows --arm64 --publish=always --project dist/apps/agent",
"build:agent:windows:release:gh:x64": "yarn run pack --desktop=agent --arch=x64 --platform=win32 && cross-env NODE_ENV=production NODE_OPTIONS=--max-old-space-size=30000 yarn run build:agent && node .scripts/electron-package-utils/assert-publish-channel.js --project dist/apps/agent --arch x64 && npm config set cache .cache && yarn electron-builder -c.electronVersion=38.2.2 -c.extraMetadata.author.name=Ever build --windows --x64 --publish=always --project dist/apps/agent",
"build:agent:windows:release:gh:arm64": "yarn run pack --desktop=agent --arch=arm64 --platform=win32 && cross-env NODE_ENV=production NODE_OPTIONS=--max-old-space-size=30000 yarn run build:agent && node .scripts/electron-package-utils/assert-publish-channel.js --project dist/apps/agent --arch arm64 && npm config set cache .cache && yarn electron-builder -c.electronVersion=38.2.2 -c.extraMetadata.author.name=Ever build --windows --arm64 --publish=always --project dist/apps/agent",
"build:agent:linux": "cross-env NODE_ENV=production NODE_OPTIONS=--max-old-space-size=12288 yarn run build:agent && npm config set cache .cache && yarn electron-builder -c.electronVersion=38.2.2 build --linux --project dist/apps/agent",
"build:agent:linux:release": "cross-env NODE_ENV=production NODE_OPTIONS=--max-old-space-size=12288 yarn run build:agent && npm config set cache .cache && yarn electron-builder -c.electronVersion=38.2.2 build --linux --publish=always --project dist/apps/agent",
"build:agent:linux:release:gh": "cross-env NODE_ENV=production NODE_OPTIONS=--max-old-space-size=30000 yarn run build:agent && npm config set cache .cache && yarn electron-builder -c.electronVersion=38.2.2 build --linux --publish=always --project dist/apps/agent",
"build:agent:linux:release:gh:x64": "yarn run pack --desktop=agent --arch=x64 --platform=linux && cross-env NODE_ENV=production NODE_OPTIONS=--max-old-space-size=30000 yarn run build:agent && npm config set cache .cache && yarn electron-builder -c.electronVersion=38.2.2 build --linux --x64 --publish=always --project dist/apps/agent",
"build:agent:linux:release:gh:arm64": "yarn run pack --desktop=agent --arch=arm64 --platform=linux && cross-env NODE_ENV=production NODE_OPTIONS=--max-old-space-size=30000 yarn run build:agent && npm config set cache .cache && yarn electron-builder -c.electronVersion=38.2.2 build --linux --arm64 --publish=always --project dist/apps/agent",
"build:agent:linux:release:gh:x64": "yarn run pack --desktop=agent --arch=x64 --platform=linux && cross-env NODE_ENV=production NODE_OPTIONS=--max-old-space-size=30000 yarn run build:agent && node .scripts/electron-package-utils/assert-publish-channel.js --project dist/apps/agent --arch x64 && npm config set cache .cache && yarn electron-builder -c.electronVersion=38.2.2 build --linux --x64 --publish=always --project dist/apps/agent",
"build:agent:linux:release:gh:arm64": "yarn run pack --desktop=agent --arch=arm64 --platform=linux && cross-env NODE_ENV=production NODE_OPTIONS=--max-old-space-size=30000 yarn run build:agent && node .scripts/electron-package-utils/assert-publish-channel.js --project dist/apps/agent --arch arm64 && npm config set cache .cache && yarn electron-builder -c.electronVersion=38.2.2 build --linux --arm64 --publish=always --project dist/apps/agent",
"build:agent:mac": "yarn run build:agent && npm config set cache .cache && yarn electron-builder -c.electronVersion=38.2.2 build --mac --project dist/apps/agent",
"build:agent:mac:quick": "yarn run build:agent:mac -c.mac.identity=null",
"build:agent:mac:release": "yarn run build:agent && npm config set cache .cache && yarn electron-builder -c.electronVersion=38.2.2 build --mac --publish=always --project dist/apps/agent",
@@ -541,13 +542,13 @@
"build:gauzy-mcp-server:linux": "cross-env NODE_ENV=production NODE_OPTIONS=--max-old-space-size=12288 yarn run build:gauzy-mcp-server && npm config set cache .cache && yarn electron-builder -c.electronVersion=38.2.2 build --linux --project dist/apps/server-mcp",
"build:gauzy-mcp-server:linux:release": "cross-env NODE_ENV=production NODE_OPTIONS=--max-old-space-size=12288 yarn run build:gauzy-mcp-server && npm config set cache .cache && yarn electron-builder -c.electronVersion=38.2.2 build --linux --publish=always --project dist/apps/server-mcp",
"build:gauzy-mcp-server:linux:release:gh": "cross-env NODE_ENV=production NODE_OPTIONS=--max-old-space-size=30000 yarn run build:gauzy-mcp-server && npm config set cache .cache && yarn electron-builder -c.electronVersion=38.2.2 build --linux --publish=always --project dist/apps/server-mcp",
"build:gauzy-mcp-server:linux:release:gh:x64": "yarn run pack --desktop=server-mcp --arch=x64 --platform=linux && cross-env NODE_ENV=production NODE_OPTIONS=--max-old-space-size=30000 yarn run build:gauzy-mcp-server && npm config set cache .cache && yarn electron-builder -c.electronVersion=38.2.2 build --linux --x64 --publish=always --project dist/apps/server-mcp",
"build:gauzy-mcp-server:linux:release:gh:arm64": "yarn run pack --desktop=server-mcp --arch=arm64 --platform=linux && cross-env NODE_ENV=production NODE_OPTIONS=--max-old-space-size=30000 yarn run build:gauzy-mcp-server && npm config set cache .cache && yarn electron-builder -c.electronVersion=38.2.2 build --linux --arm64 --publish=always --project dist/apps/server-mcp",
"build:gauzy-mcp-server:linux:release:gh:x64": "yarn run pack --desktop=server-mcp --arch=x64 --platform=linux && cross-env NODE_ENV=production NODE_OPTIONS=--max-old-space-size=30000 yarn run build:gauzy-mcp-server && node .scripts/electron-package-utils/assert-publish-channel.js --project dist/apps/server-mcp --arch x64 && npm config set cache .cache && yarn electron-builder -c.electronVersion=38.2.2 build --linux --x64 --publish=always --project dist/apps/server-mcp",
"build:gauzy-mcp-server:linux:release:gh:arm64": "yarn run pack --desktop=server-mcp --arch=arm64 --platform=linux && cross-env NODE_ENV=production NODE_OPTIONS=--max-old-space-size=30000 yarn run build:gauzy-mcp-server && node .scripts/electron-package-utils/assert-publish-channel.js --project dist/apps/server-mcp --arch arm64 && npm config set cache .cache && yarn electron-builder -c.electronVersion=38.2.2 build --linux --arm64 --publish=always --project dist/apps/server-mcp",
"build:gauzy-mcp-server:windows": "cross-env NODE_ENV=production NODE_OPTIONS=--max-old-space-size=12288 yarn run build:gauzy-mcp-server && npm config set cache .cache && yarn electron-builder -c.electronVersion=38.2.2 -c.extraMetadata.author.name=Ever build --windows --project dist/apps/server-mcp",
"build:gauzy-mcp-server:windows:release": "cross-env NODE_ENV=production NODE_OPTIONS=--max-old-space-size=12288 yarn run build:gauzy-mcp-server && npm config set cache .cache && yarn electron-builder -c.electronVersion=38.2.2 -c.extraMetadata.author.name=Ever build --windows --publish=always --project dist/apps/server-mcp",
"build:gauzy-mcp-server:windows:release:gh": "cross-env NODE_ENV=production NODE_OPTIONS=--max-old-space-size=30000 yarn run build:gauzy-mcp-server && npm config set cache .cache && yarn electron-builder -c.electronVersion=38.2.2 -c.extraMetadata.author.name=Ever build --windows --publish=always --project dist/apps/server-mcp",
"build:gauzy-mcp-server:windows:release:gh:x64": "yarn run pack --desktop=server-mcp --arch=x64 --platform=win32 && cross-env NODE_ENV=production NODE_OPTIONS=--max-old-space-size=30000 yarn run build:gauzy-mcp-server && npm config set cache .cache && yarn electron-builder -c.electronVersion=38.2.2 -c.extraMetadata.author.name=Ever build --windows --x64 --publish=always --project dist/apps/server-mcp",
"build:gauzy-mcp-server:windows:release:gh:arm64": "yarn run pack --desktop=server-mcp --arch=arm64 --platform=win32 && cross-env NODE_ENV=production NODE_OPTIONS=--max-old-space-size=30000 yarn run build:gauzy-mcp-server && npm config set cache .cache && yarn electron-builder -c.electronVersion=38.2.2 -c.extraMetadata.author.name=Ever build --windows --arm64 --publish=always --project dist/apps/server-mcp",
"build:gauzy-mcp-server:windows:release:gh:x64": "yarn run pack --desktop=server-mcp --arch=x64 --platform=win32 && cross-env NODE_ENV=production NODE_OPTIONS=--max-old-space-size=30000 yarn run build:gauzy-mcp-server && node .scripts/electron-package-utils/assert-publish-channel.js --project dist/apps/server-mcp --arch x64 && npm config set cache .cache && yarn electron-builder -c.electronVersion=38.2.2 -c.extraMetadata.author.name=Ever build --windows --x64 --publish=always --project dist/apps/server-mcp",
"build:gauzy-mcp-server:windows:release:gh:arm64": "yarn run pack --desktop=server-mcp --arch=arm64 --platform=win32 && cross-env NODE_ENV=production NODE_OPTIONS=--max-old-space-size=30000 yarn run build:gauzy-mcp-server && node .scripts/electron-package-utils/assert-publish-channel.js --project dist/apps/server-mcp --arch arm64 && npm config set cache .cache && yarn electron-builder -c.electronVersion=38.2.2 -c.extraMetadata.author.name=Ever build --windows --arm64 --publish=always --project dist/apps/server-mcp",
"build:gauzy-mcp-server:mac": "yarn run build:gauzy-mcp-server && npm config set cache .cache && yarn electron-builder -c.electronVersion=38.2.2 build --mac --project dist/apps/server-mcp",
"build:gauzy-mcp-server:mac:release": "yarn run build:gauzy-mcp-server && npm config set cache .cache && yarn electron-builder -c.electronVersion=38.2.2 build --mac --publish=always --project dist/apps/server-mcp",
"copy-files-i18n-mcp-server": "yarn run download:translations --desktop=server-mcp",