From f18aa988882f9986e454713c534f05d4cbe33146 Mon Sep 17 00:00:00 2001 From: cita-777 Date: Mon, 6 Apr 2026 15:37:22 +0800 Subject: [PATCH] fix desktop release packaging rebuild --- package.json | 4 ++-- scripts/desktop/packageScripts.test.ts | 26 ++++++++++++++++++++++++++ 2 files changed, 28 insertions(+), 2 deletions(-) create mode 100644 scripts/desktop/packageScripts.test.ts diff --git a/package.json b/package.json index ae71ac3..6bdabcd 100644 --- a/package.json +++ b/package.json @@ -41,8 +41,8 @@ "typecheck": "npm run typecheck:web && npm run typecheck:web:test && npm run typecheck:server && npm run typecheck:desktop", "dist:desktop": "npm run build && electron-builder --config electron-builder.yml --publish never", "dist:desktop:mac:intel": "npm run build && electron-builder --config electron-builder.yml --publish never --mac --x64", - "package:desktop": "npm run desktop:icons && electron-builder --config electron-builder.yml --publish never", - "package:desktop:mac:intel": "npm run desktop:icons && electron-builder --config electron-builder.yml --publish never --mac --x64", + "package:desktop": "npm run dist:desktop", + "package:desktop:mac:intel": "npm run dist:desktop:mac:intel", "docs:dev": "vitepress dev docs --host 0.0.0.0 --port 4173", "docs:build": "vitepress build docs", "docs:preview": "vitepress preview docs --host 0.0.0.0 --port 4173", diff --git a/scripts/desktop/packageScripts.test.ts b/scripts/desktop/packageScripts.test.ts new file mode 100644 index 0000000..c211287 --- /dev/null +++ b/scripts/desktop/packageScripts.test.ts @@ -0,0 +1,26 @@ +import { readFileSync } from 'node:fs'; +import { resolve } from 'node:path'; +import { describe, expect, it } from 'vitest'; + +describe('desktop package scripts', () => { + it('rebuilds the app before package:desktop targets invoke electron-builder', () => { + const packageJson = JSON.parse( + readFileSync(resolve(process.cwd(), 'package.json'), 'utf8'), + ) as { scripts?: Record }; + + const scripts = packageJson.scripts || {}; + const packageDesktop = scripts['package:desktop'] || ''; + const packageDesktopIntel = scripts['package:desktop:mac:intel'] || ''; + const distDesktop = scripts['dist:desktop'] || ''; + const distDesktopIntel = scripts['dist:desktop:mac:intel'] || ''; + + expect( + packageDesktop === 'npm run dist:desktop' || packageDesktop.includes('npm run build'), + ).toBe(true); + expect( + packageDesktopIntel === 'npm run dist:desktop:mac:intel' || packageDesktopIntel.includes('npm run build'), + ).toBe(true); + expect(distDesktop).toContain('npm run build'); + expect(distDesktopIntel).toContain('npm run build'); + }); +});