appId: com.convenientbrands.bodyshop-desktop-rome
copyright: Convenient Brands, LLC.
productName: Rome Shop Partner
generateUpdatesFilesForAllChannels: true

directories:
  buildResources: build
files:
  - "!**/.vscode/*"
  - "!**/.idea/*"
  - "!src/*"
  - "!electron.vite.config.{js,ts,mjs,cjs}"
  - "!{.eslintignore,.eslintrc.cjs,.prettierignore,.prettierrc.yaml,dev-app-update.yml,CHANGELOG.md,README.md}"
  - "!{.env,.env.*,.npmrc,pnpm-lock.yaml}"
  - "!{tsconfig.json,tsconfig.node.json,tsconfig.web.json}"
asarUnpack:
  - resources/**
win:
  executableName: ShopPartner
  icon: resources/ro-icon.png
  azureSignOptions:
    endpoint: https://eus.codesigning.azure.net
    certificateProfileName: ImEXRPS
    codeSigningAccountName: ImEX
    publisherName: ImEX Systems Inc.
nsis:
  artifactName: rome-partner-${env.ARTIFACT_SUFFIX}${arch}.${ext}
  shortcutName: ${productName}
  uninstallDisplayName: ${productName}
  createDesktopShortcut: always
  include: "scripts/installer.nsh" # Reference NSIS script from scripts directory
mac:
  entitlementsInherit: build/entitlements.mac.plist
  category: public.app-category.business
  icon: resources/ro-icon.png
  extendInfo:
    - NSCameraUsageDescription: Application requests access to the device's camera.
    - NSMicrophoneUsageDescription: Application requests access to the device's microphone.
    - NSDocumentsFolderUsageDescription: Application requests access to the user's Documents folder.
    - NSDownloadsFolderUsageDescription: Application requests access to the user's Downloads folder.
    - CFBundleURLTypes:
        - CFBundleTypeRole: Viewer # More specific role for protocol handling
          CFBundleURLName: com.convenientbrands.bodyshop-desktop-rome
          CFBundleURLSchemes:
            - imexmedia
  target:
    - target: default
      arch:
        - arm64
    - target: default
      arch:
        - x64
dmg:
  artifactName: rome-partner-${env.ARTIFACT_SUFFIX}${arch}.${ext}
appImage:
  artifactName: rome-partner-${env.ARTIFACT_SUFFIX}${arch}.${ext}
npmRebuild: false
publish:
  provider: s3
  bucket: rome-partner
  region: us-east-2
