# electron-builder.yml — Auto-generated by SF-06

appId: com.oaflow.desktop
productName: oaflow
copyright: "Copyright © 2026 oaflow"

# ─── Directories ─────────────────────────────────
directories:
  output: release
  buildResources: assets

# ─── Files ───────────────────────────────────────
files:
  - dist/electron/**/*
  - "!node_modules/**/*"
  - "**/*.node"

# ─── Extra Resources ─────────────────────────────
extraResources:
  - from: "../web/out"
    to: "web"
    filter:
      - "**/*"
  - from: "../api/dist"
    to: "api"
    filter:
      - "**/*"
  - from: "../api/data"
    to: "data"
    filter:
      - "**/*"

# ─── macOS ───────────────────────────────────────
mac:
  category: public.app-category.productivity
  icon: assets/icon.png
  target:
    - target: dmg
      arch:
        - x64
        - arm64
    - target: zip
      arch:
        - x64
        - arm64
  darkModeSupport: true
  hardenedRuntime: true
  gatekeeperAssess: false
  entitlements: entitlements.mac.plist
  entitlementsInherit: entitlements.mac.plist

# ─── Windows ─────────────────────────────────────
win:
  icon: assets/icon.png
  target:
    - target: nsis
      arch:
        - x64
    - target: portable
      arch:
        - x64
  publisherName: oaflow

nsis:
  oneClick: false
  perMachine: false
  allowToChangeInstallationDirectory: true
  installerIcon: assets/icon.ico
  uninstallerIcon: assets/icon.ico
  installerHeaderIcon: assets/icon.ico
  createDesktopShortcut: true
  createStartMenuShortcut: true
  shortcutName: oaflow

# ─── Linux ───────────────────────────────────────
linux:
  icon: assets/icon.png
  category: Utility
  target:
    - target: AppImage
      arch:
        - x64
    - target: deb
      arch:
        - x64
    - target: rpm
      arch:
        - x64
  desktop:
    Name: oaflow
    Comment: oaflow Desktop Application
    Terminal: false
    Type: Application
    Categories: Utility;

# ─── Auto Update ─────────────────────────────────
publish:
  provider: generic
  url: https://releases.example.com/oaflow/
  channel: latest
