mirror of
https://github.com/stablyai/orca
synced 2026-04-21 14:17:16 +00:00
refactor: reorganize project structure for build assets and scripts (#419)
Move build resources to resources/build/, icon source files to resources/icon-source/, scripts to config/scripts/, and patches to config/patches/ for a cleaner top-level directory layout.
This commit is contained in:
parent
e5f75564af
commit
bced9b5308
15 changed files with 18 additions and 18 deletions
2
.gitignore
vendored
2
.gitignore
vendored
|
|
@ -8,7 +8,7 @@ node_modules/
|
||||||
dist/
|
dist/
|
||||||
dist-electron/
|
dist-electron/
|
||||||
out/
|
out/
|
||||||
build/
|
/build/
|
||||||
release/
|
release/
|
||||||
|
|
||||||
# pnpm
|
# pnpm
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
<p align="center">
|
<p align="center">
|
||||||
<a href="https://onOrca.dev"><img src="build/icon.png" alt="Orca" width="128" /></a>
|
<a href="https://onOrca.dev"><img src="resources/build/icon.png" alt="Orca" width="128" /></a>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<h1 align="center">Orca</h1>
|
<h1 align="center">Orca</h1>
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@ module.exports = {
|
||||||
appId: 'com.stablyai.orca',
|
appId: 'com.stablyai.orca',
|
||||||
productName: 'Orca',
|
productName: 'Orca',
|
||||||
directories: {
|
directories: {
|
||||||
buildResources: 'build'
|
buildResources: 'resources/build'
|
||||||
},
|
},
|
||||||
files: [
|
files: [
|
||||||
'!**/.vscode/*',
|
'!**/.vscode/*',
|
||||||
|
|
@ -37,9 +37,9 @@ module.exports = {
|
||||||
createDesktopShortcut: 'always'
|
createDesktopShortcut: 'always'
|
||||||
},
|
},
|
||||||
mac: {
|
mac: {
|
||||||
icon: 'build/icon.icns',
|
icon: 'resources/build/icon.icns',
|
||||||
entitlements: 'build/entitlements.mac.plist',
|
entitlements: 'resources/build/entitlements.mac.plist',
|
||||||
entitlementsInherit: 'build/entitlements.mac.plist',
|
entitlementsInherit: 'resources/build/entitlements.mac.plist',
|
||||||
extendInfo: {
|
extendInfo: {
|
||||||
NSCameraUsageDescription: "Application requests access to the device's camera.",
|
NSCameraUsageDescription: "Application requests access to the device's camera.",
|
||||||
NSMicrophoneUsageDescription: "Application requests access to the device's microphone.",
|
NSMicrophoneUsageDescription: "Application requests access to the device's microphone.",
|
||||||
|
|
|
||||||
|
|
@ -24,14 +24,14 @@
|
||||||
"start": "electron-vite preview",
|
"start": "electron-vite preview",
|
||||||
"dev": "electron-vite dev",
|
"dev": "electron-vite dev",
|
||||||
"build:cli": "tsc -p config/tsconfig.cli.json --outDir out --composite false --incremental false",
|
"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",
|
"build": "pnpm run typecheck && pnpm run build:electron-vite && pnpm run build:cli",
|
||||||
"postinstall": "pnpm rebuild electron && electron-builder install-app-deps",
|
"postinstall": "pnpm rebuild electron && electron-builder install-app-deps",
|
||||||
"build:unpack": "pnpm run build && electron-builder --config config/electron-builder.config.cjs --dir",
|
"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: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": "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",
|
"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:rc": "npm version prerelease --preid=rc && git push --follow-tags",
|
||||||
"release:patch": "npm version patch && git push --follow-tags",
|
"release:patch": "npm version patch && git push --follow-tags",
|
||||||
|
|
@ -129,7 +129,7 @@
|
||||||
"node-pty"
|
"node-pty"
|
||||||
],
|
],
|
||||||
"patchedDependencies": {
|
"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"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,7 @@ settings:
|
||||||
patchedDependencies:
|
patchedDependencies:
|
||||||
'@xterm/addon-fit@0.11.0':
|
'@xterm/addon-fit@0.11.0':
|
||||||
hash: 12b1dc2811a859b6703ebb63be654d1682ff1bb6045713a54e7d47e28deb7776
|
hash: 12b1dc2811a859b6703ebb63be654d1682ff1bb6045713a54e7d47e28deb7776
|
||||||
path: patches/@xterm__addon-fit@0.11.0.patch
|
path: config/patches/@xterm__addon-fit@0.11.0.patch
|
||||||
|
|
||||||
importers:
|
importers:
|
||||||
|
|
||||||
|
|
|
||||||
|
Before Width: | Height: | Size: 117 KiB After Width: | Height: | Size: 117 KiB |
|
Before Width: | Height: | Size: 353 KiB After Width: | Height: | Size: 353 KiB |
|
|
@ -1,12 +1,12 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
# Generate app icons from Icon Composer .icon project
|
# 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
|
set -euo pipefail
|
||||||
|
|
||||||
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
||||||
PROJECT_DIR="$(dirname "$SCRIPT_DIR")"
|
PROJECT_DIR="$(dirname "$(dirname "$SCRIPT_DIR")")"
|
||||||
ICON_SOURCE="$SCRIPT_DIR/icon.icon"
|
ICON_SOURCE="$SCRIPT_DIR/icon.icon"
|
||||||
BUILD_DIR="$PROJECT_DIR/build"
|
BUILD_DIR="$PROJECT_DIR/resources/build"
|
||||||
RESOURCES_DIR="$PROJECT_DIR/resources"
|
RESOURCES_DIR="$PROJECT_DIR/resources"
|
||||||
TMP_DIR=$(mktemp -d)
|
TMP_DIR=$(mktemp -d)
|
||||||
|
|
||||||
|
|
@ -29,11 +29,11 @@ if [ ! -f "$TMP_DIR/icon.icns" ]; then
|
||||||
fi
|
fi
|
||||||
|
|
||||||
cp "$TMP_DIR/icon.icns" "$BUILD_DIR/icon.icns"
|
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
|
# 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
|
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
|
sips -s format png --resampleWidth 256 "$BUILD_DIR/icon.icns" --out "$RESOURCES_DIR/icon.png" >/dev/null 2>&1
|
||||||
echo " -> resources/icon.png (256x256)"
|
echo " -> resources/icon.png (256x256)"
|
||||||
|
|
@ -41,10 +41,10 @@ echo " -> resources/icon.png (256x256)"
|
||||||
# Generate .ico for Windows (proper ICO format with multiple sizes)
|
# Generate .ico for Windows (proper ICO format with multiple sizes)
|
||||||
if command -v magick &>/dev/null; then
|
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"
|
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
|
else
|
||||||
echo "Warning: ImageMagick not found, skipping icon.ico generation" >&2
|
echo "Warning: ImageMagick not found, skipping icon.ico generation" >&2
|
||||||
echo "Install with: brew install imagemagick" >&2
|
echo "Install with: brew install imagemagick" >&2
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "Done! Icons generated in build/ and resources/"
|
echo "Done! Icons generated in resources/build/ and resources/"
|
||||||
|
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 2.1 KiB |
Loading…
Reference in a new issue