appId: com.electron.app
productName: erpauto
directories:
  buildResources: build
extraResources:
  - from: build/bin/portable-updater.exe
    to: portable-updater.exe
files:
  - '!**/.vscode/*'
  - '!src/*'
  - '!electron-vite.config.{js,ts,mjs,cjs}'
  - '!{.eslintcache,eslint.config.mjs,.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}'
  - 'package.json'
  # Include build output
  - 'out/**/*'
  # Include config.template.yaml in the build for reference
  - 'config.template.yaml'
  # Exclude Playwright browser downloads (manual install for company environment)
  - '!**/node_modules/playwright-core/.local-browsers/**'
asarUnpack:
  - resources/**
  # Unpack playwright for native modules
  - '**/node_modules/playwright/**'
  - '**/node_modules/playwright-core/**'
win:
  executableName: erpauto
  target:
    - nsis
    - portable
portable:
  artifactName: ${name}-portable.${ext}
  # Portable app uses user data directory (AppData), not exe directory
  # This ensures config persists across app updates
nsis:
  artifactName: ${name}-${version}-setup.${ext}
  shortcutName: ${productName}
  uninstallDisplayName: ${productName}
  createDesktopShortcut: always
npmRebuild: false
