diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index b3e4571..a8cc6d9 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -18,7 +18,7 @@ jobs: - platform: ubuntu-22.04 args: "" - platform: windows-latest - args: "" + args: "--bundles nsis,msi" - platform: macos-latest args: "--target aarch64-apple-darwin" - platform: macos-latest diff --git a/package-lock.json b/package-lock.json index 0ee801f..37b42c8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -56,7 +56,7 @@ "ws": "^8.18.3" }, "devDependencies": { - "@tauri-apps/api": "^2.9.1", + "@tauri-apps/api": "2.9.1", "@tauri-apps/cli": "^2.9.6", "@types/express": "^5.0.6", "@types/node": "^22.14.0", @@ -2145,9 +2145,9 @@ } }, "node_modules/@tauri-apps/api": { - "version": "2.10.1", - "resolved": "https://registry.npmjs.org/@tauri-apps/api/-/api-2.10.1.tgz", - "integrity": "sha512-hKL/jWf293UDSUN09rR69hrToyIXBb8CjGaWC7gfinvnQrBVvnLr08FeFi38gxtugAVyVcTa5/FD/Xnkb1siBw==", + "version": "2.9.1", + "resolved": "https://registry.npmjs.org/@tauri-apps/api/-/api-2.9.1.tgz", + "integrity": "sha512-IGlhP6EivjXHepbBic618GOmiWe4URJiIeZFlB7x3czM0yDHHYviH1Xvoiv4FefdkQtn6v7TuwWCRfOGdnVUGw==", "license": "Apache-2.0 OR MIT", "funding": { "type": "opencollective", diff --git a/package.json b/package.json index f22782c..2d6bdb7 100644 --- a/package.json +++ b/package.json @@ -62,7 +62,7 @@ "ws": "^8.18.3" }, "devDependencies": { - "@tauri-apps/api": "^2.9.1", + "@tauri-apps/api": "2.9.1", "@tauri-apps/cli": "^2.9.6", "@types/express": "^5.0.6", "@types/node": "^22.14.0", diff --git a/scripts/branding/build-nsis-assets.mjs b/scripts/branding/build-nsis-assets.mjs index e249390..81cef38 100644 --- a/scripts/branding/build-nsis-assets.mjs +++ b/scripts/branding/build-nsis-assets.mjs @@ -3,7 +3,9 @@ import path from 'node:path'; import sharp from 'sharp'; const root = process.cwd(); -const source = path.join(root, 'src-tauri', 'icons', 'icon.png'); +const preferredSource = path.join(root, 'null library.png'); +const fallbackSource = path.join(root, 'src-tauri', 'icons', 'icon.png'); +let source; const outDir = path.join(root, 'src-tauri', 'installer-assets'); const sidebarImage = path.join(outDir, 'nsis-sidebar.bmp'); const headerImage = path.join(outDir, 'nsis-header.bmp'); @@ -11,6 +13,17 @@ const installerIcon = path.join(root, 'src-tauri', 'icons', 'icon.ico'); await fs.mkdir(outDir, { recursive: true }); +try { + await fs.access(preferredSource); + source = preferredSource; +} catch (error) { + source = fallbackSource; + if (error?.code && error.code !== 'ENOENT') { + throw error; + } + console.warn(`Preferred installer splash image not found at: ${preferredSource}. Falling back to ${fallbackSource}.`); +} + const toBmp24 = async (inputPath, width, height, outputPath) => { const { data, info } = await sharp(inputPath) .resize(width, height, { fit: 'cover' }) @@ -63,6 +76,7 @@ await toBmp24(source, 164, 314, sidebarImage); await toBmp24(source, 150, 57, headerImage); console.log('NSIS branding assets prepared:'); +console.log(`- source image: ${source}`); console.log(`- ${headerImage}`); console.log(`- ${sidebarImage}`); console.log(`- ${installerIcon}`); diff --git a/server/declarations.d.ts b/server/declarations.d.ts index 45f5b2b..7b07995 100644 --- a/server/declarations.d.ts +++ b/server/declarations.d.ts @@ -1,4 +1,13 @@ declare module 'google-trends-api' { - const googleTrends: any; + interface GoogleTrendsQuery { + keyword: string; + } + + interface GoogleTrendsApi { + interestOverTime(options: GoogleTrendsQuery): Promise; + relatedQueries(options: GoogleTrendsQuery): Promise; + } + + const googleTrends: GoogleTrendsApi; export default googleTrends; }