diff --git a/.gitignore b/.gitignore index 8faaa8ab..63a50e64 100644 --- a/.gitignore +++ b/.gitignore @@ -8,7 +8,7 @@ node_modules/ dist/ dist-electron/ out/ -build/ +/build/ release/ # pnpm diff --git a/README.md b/README.md index 67269ca7..0e628bf3 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@

- Orca + Orca

Orca

diff --git a/config/electron-builder.config.cjs b/config/electron-builder.config.cjs index b35cb18c..650f8b36 100644 --- a/config/electron-builder.config.cjs +++ b/config/electron-builder.config.cjs @@ -5,7 +5,7 @@ module.exports = { appId: 'com.stablyai.orca', productName: 'Orca', directories: { - buildResources: 'build' + buildResources: 'resources/build' }, files: [ '!**/.vscode/*', @@ -37,9 +37,9 @@ module.exports = { createDesktopShortcut: 'always' }, mac: { - icon: 'build/icon.icns', - entitlements: 'build/entitlements.mac.plist', - entitlementsInherit: 'build/entitlements.mac.plist', + icon: 'resources/build/icon.icns', + entitlements: 'resources/build/entitlements.mac.plist', + entitlementsInherit: 'resources/build/entitlements.mac.plist', extendInfo: { NSCameraUsageDescription: "Application requests access to the device's camera.", NSMicrophoneUsageDescription: "Application requests access to the device's microphone.", diff --git a/patches/@xterm__addon-fit@0.11.0.patch b/config/patches/@xterm__addon-fit@0.11.0.patch similarity index 100% rename from patches/@xterm__addon-fit@0.11.0.patch rename to config/patches/@xterm__addon-fit@0.11.0.patch diff --git a/scripts/run-electron-vite-build.mjs b/config/scripts/run-electron-vite-build.mjs similarity index 100% rename from scripts/run-electron-vite-build.mjs rename to config/scripts/run-electron-vite-build.mjs diff --git a/scripts/verify-macos-release-env.mjs b/config/scripts/verify-macos-release-env.mjs similarity index 100% rename from scripts/verify-macos-release-env.mjs rename to config/scripts/verify-macos-release-env.mjs diff --git a/package.json b/package.json index e35d1efb..8f566442 100644 --- a/package.json +++ b/package.json @@ -24,14 +24,14 @@ "start": "electron-vite preview", "dev": "electron-vite dev", "build:cli": "tsc -p config/tsconfig.cli.json --outDir out --composite false --incremental false", - "build:electron-vite": "node scripts/run-electron-vite-build.mjs", + "build:electron-vite": "node config/scripts/run-electron-vite-build.mjs", "build": "pnpm run typecheck && pnpm run build:electron-vite && pnpm run build:cli", "postinstall": "pnpm rebuild electron && electron-builder install-app-deps", "build:unpack": "pnpm run build && electron-builder --config config/electron-builder.config.cjs --dir", "build:win": "pnpm run build && electron-builder --config config/electron-builder.config.cjs --win", - "build:icons": "bash icon/generate.sh", + "build:icons": "bash resources/icon-source/generate.sh", "build:mac": "pnpm run build && electron-builder --config config/electron-builder.config.cjs --mac", - "build:mac:release": "node scripts/verify-macos-release-env.mjs && ORCA_MAC_RELEASE=1 pnpm run build && ORCA_MAC_RELEASE=1 electron-builder --config config/electron-builder.config.cjs --mac", + "build:mac:release": "node config/scripts/verify-macos-release-env.mjs && ORCA_MAC_RELEASE=1 pnpm run build && ORCA_MAC_RELEASE=1 electron-builder --config config/electron-builder.config.cjs --mac", "build:linux": "pnpm run build && electron-builder --config config/electron-builder.config.cjs --linux", "release:rc": "npm version prerelease --preid=rc && git push --follow-tags", "release:patch": "npm version patch && git push --follow-tags", @@ -129,7 +129,7 @@ "node-pty" ], "patchedDependencies": { - "@xterm/addon-fit@0.11.0": "patches/@xterm__addon-fit@0.11.0.patch" + "@xterm/addon-fit@0.11.0": "config/patches/@xterm__addon-fit@0.11.0.patch" } } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 1ed7043a..01cf0521 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -7,7 +7,7 @@ settings: patchedDependencies: '@xterm/addon-fit@0.11.0': hash: 12b1dc2811a859b6703ebb63be654d1682ff1bb6045713a54e7d47e28deb7776 - path: patches/@xterm__addon-fit@0.11.0.patch + path: config/patches/@xterm__addon-fit@0.11.0.patch importers: diff --git a/build/entitlements.mac.plist b/resources/build/entitlements.mac.plist similarity index 100% rename from build/entitlements.mac.plist rename to resources/build/entitlements.mac.plist diff --git a/build/icon.icns b/resources/build/icon.icns similarity index 100% rename from build/icon.icns rename to resources/build/icon.icns diff --git a/build/icon.ico b/resources/build/icon.ico similarity index 100% rename from build/icon.ico rename to resources/build/icon.ico diff --git a/build/icon.png b/resources/build/icon.png similarity index 100% rename from build/icon.png rename to resources/build/icon.png diff --git a/icon/generate.sh b/resources/icon-source/generate.sh similarity index 76% rename from icon/generate.sh rename to resources/icon-source/generate.sh index ff7ea507..5255ca1a 100755 --- a/icon/generate.sh +++ b/resources/icon-source/generate.sh @@ -1,12 +1,12 @@ #!/bin/bash # Generate app icons from Icon Composer .icon project -# Produces: build/icon.icns (macOS), build/icon.png (fallback), resources/icon.png (tray) +# Produces: resources/build/icon.icns (macOS), resources/build/icon.png (fallback), resources/icon.png (tray) set -euo pipefail SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)" -PROJECT_DIR="$(dirname "$SCRIPT_DIR")" +PROJECT_DIR="$(dirname "$(dirname "$SCRIPT_DIR")")" ICON_SOURCE="$SCRIPT_DIR/icon.icon" -BUILD_DIR="$PROJECT_DIR/build" +BUILD_DIR="$PROJECT_DIR/resources/build" RESOURCES_DIR="$PROJECT_DIR/resources" TMP_DIR=$(mktemp -d) @@ -29,11 +29,11 @@ if [ ! -f "$TMP_DIR/icon.icns" ]; then fi cp "$TMP_DIR/icon.icns" "$BUILD_DIR/icon.icns" -echo " -> build/icon.icns" +echo " -> resources/build/icon.icns" # Extract 1024x1024 PNG from icns for electron-builder fallback & resources sips -s format png --resampleWidth 1024 "$BUILD_DIR/icon.icns" --out "$BUILD_DIR/icon.png" >/dev/null 2>&1 -echo " -> build/icon.png (1024x1024)" +echo " -> resources/build/icon.png (1024x1024)" sips -s format png --resampleWidth 256 "$BUILD_DIR/icon.icns" --out "$RESOURCES_DIR/icon.png" >/dev/null 2>&1 echo " -> resources/icon.png (256x256)" @@ -41,10 +41,10 @@ echo " -> resources/icon.png (256x256)" # Generate .ico for Windows (proper ICO format with multiple sizes) if command -v magick &>/dev/null; then magick "$BUILD_DIR/icon.png" -define icon:auto-resize=256,128,64,48,32,16 "$BUILD_DIR/icon.ico" - echo " -> build/icon.ico (multi-size ICO via ImageMagick)" + echo " -> resources/build/icon.ico (multi-size ICO via ImageMagick)" else echo "Warning: ImageMagick not found, skipping icon.ico generation" >&2 echo "Install with: brew install imagemagick" >&2 fi -echo "Done! Icons generated in build/ and resources/" +echo "Done! Icons generated in resources/build/ and resources/" diff --git a/icon/icon.icon/Assets/logo.svg b/resources/icon-source/icon.icon/Assets/logo.svg similarity index 100% rename from icon/icon.icon/Assets/logo.svg rename to resources/icon-source/icon.icon/Assets/logo.svg diff --git a/icon/icon.icon/icon.json b/resources/icon-source/icon.icon/icon.json similarity index 100% rename from icon/icon.icon/icon.json rename to resources/icon-source/icon.icon/icon.json