From 247e62d53d6f6ea4699a90033538c93e74bca3fc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=9Cmit=20Tun=C3=A7?= Date: Thu, 23 Apr 2026 11:53:42 +0300 Subject: [PATCH] chore: prepare release configuration and finalize build scripts --- electron-builder.yml | 33 +++++++++++++++++++++++++++++++++ package.json | 5 +++-- scripts/setup-binaries.js | 12 +++++++++--- 3 files changed, 45 insertions(+), 5 deletions(-) create mode 100644 electron-builder.yml diff --git a/electron-builder.yml b/electron-builder.yml new file mode 100644 index 0000000..20cc833 --- /dev/null +++ b/electron-builder.yml @@ -0,0 +1,33 @@ +appId: com.voicext.app +productName: VoiceXt +directories: + output: out/make + buildResources: resources + +files: + - out/main/index.js + - out/preload/index.js + - out/renderer/**/* + - package.json + +extraResources: + - from: bin + to: bin + filter: + - "**/*" + +win: + target: nsis + icon: resources/icon.png + artifactName: "${productName}-Setup-${version}.${ext}" + +nsis: + oneClick: false + allowToChangeInstallationDirectory: true + shortcutName: VoiceXt + createDesktopShortcut: true + +publish: + provider: github + owner: truncgil + repo: voicext diff --git a/package.json b/package.json index dd81eb7..766408e 100644 --- a/package.json +++ b/package.json @@ -1,9 +1,10 @@ { "name": "voicext", "version": "1.0.0", - "description": "Local AI Transcription Tool", + "productName": "VoiceXt", + "description": "High Performance Local AI Transcription Tool", "main": "./out/main/index.js", - "author": "Voicext", + "author": "Truncgil Software", "scripts": { "dev": "electron-vite dev", "build": "electron-vite build", diff --git a/scripts/setup-binaries.js b/scripts/setup-binaries.js index 286615a..9fdff8f 100644 --- a/scripts/setup-binaries.js +++ b/scripts/setup-binaries.js @@ -67,9 +67,15 @@ async function setup() { fs.unlinkSync(whisperZipPath) console.log('Downloading Base Model (140MB)...') - const modelPath = path.join(modelsDir, 'ggml-base.bin') - if (!fs.existsSync(modelPath)) { - await downloadFile('https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-base.bin', modelPath) + const baseModelPath = path.join(modelsDir, 'ggml-base.bin') + if (!fs.existsSync(baseModelPath)) { + await downloadFile('https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-base.bin', baseModelPath) + } + + console.log('Downloading Small Model (460MB)...') + const smallModelPath = path.join(modelsDir, 'ggml-small.bin') + if (!fs.existsSync(smallModelPath)) { + await downloadFile('https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-small.bin', smallModelPath) } console.log('Setup Complete!')