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 mac: entitlementsInherit: build/entitlements.mac.plist 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. notarize: false dmg: artifactName: ${name}-${version}.${ext} linux: target: - AppImage - snap - deb maintainer: electronjs.org category: Utility appImage: artifactName: ${name}-${version}.${ext} npmRebuild: false publish: provider: generic url: https://example.com/auto-updates