mirror of
https://github.com/johannesjo/super-productivity.git
synced 2026-07-18 17:05:48 +00:00
uuidv7 is imported only from src/app/util/uuid-v7.ts; the Angular
bundler inlines it (verified via chunk-65AEYVPY.js.map source
attribution). Adding it to the three electron-builder configs drops
another ~80 KB from the asar.
Extend tools/verify-electron-requires.js to also flag bare require()
targets in electron/ that match a `\!**/<pkg>/**` exclusion in
electron-builder.yaml. Without this, adding `require('@noble/ciphers')`
or similar in electron/main.ts would pass dev (which resolves against
on-disk node_modules) and only crash with MODULE_NOT_FOUND on packaged
releases. The script is already invoked from .github/workflows/
electron-smoke.yml, so the new check runs in CI automatically.
Manual verification covers 14 cases (8 excluded, 6 allowed) including
@noble/ciphers, @noble/hashes, scoped-vs-bare resolution, and Node
built-ins.
53 lines
1.8 KiB
YAML
53 lines
1.8 KiB
YAML
appId: com.super-productivity.app
|
|
productName: Super Productivity
|
|
artifactName: ${name}-${arch}.${ext}
|
|
files:
|
|
- electron/**/*
|
|
- '!electron/**/*.ts'
|
|
- '!electron/**/*.js.map'
|
|
- .tmp/angular-dist/**/*
|
|
- 'embedded.provisionprofile'
|
|
# Exclude Nx binaries - they're build tools, not runtime dependencies
|
|
- '!**/@nx/nx-darwin-*/**'
|
|
- '!**/@nx/nx-linux-*/**'
|
|
- '!**/@nx/nx-win32-*/**'
|
|
# Capacitor (mobile shim) - never required from electron/ at runtime
|
|
- '!**/@capacitor/**'
|
|
- '!**/@capawesome/**'
|
|
- '!**/capacitor-plugin-safe-area/**'
|
|
# sharp + libvips native binaries - only used by tools/generate-*-icon.js
|
|
# during local dev; ~33 MB of unused weight in the asar otherwise
|
|
- '!**/sharp/**'
|
|
- '!**/@img/**'
|
|
# Nx LMDB cache and Rollup pulled in transitively by build tooling
|
|
- '!**/@lmdb/**'
|
|
- '!**/@rollup/**'
|
|
# Compiled into the Angular CSS bundle; the node_modules copy is unused
|
|
- '!**/@material-symbols/**'
|
|
# @noble/ciphers and hash-wasm are imported by the Angular bundle and
|
|
# inlined by the bundler (WASM is base64-embedded). The node_modules
|
|
# copies are dead weight at runtime.
|
|
- '!**/@noble/**'
|
|
- '!**/hash-wasm/**'
|
|
# uuidv7 is imported by src/ (Angular bundle inlines it); not used by electron/
|
|
- '!**/uuidv7/**'
|
|
directories:
|
|
output: './.tmp/app-builds'
|
|
|
|
mac:
|
|
appId: com.super-productivity.app
|
|
type: development
|
|
category: public.app-category.productivity
|
|
# entitlements: build/entitlements.mac.plist
|
|
# entitlementsInherit: build/entitlements.mac.plist
|
|
hardenedRuntime: false
|
|
gatekeeperAssess: false
|
|
provisioningProfile: embedded.provisionprofile
|
|
# darkModeSupport: true
|
|
target:
|
|
- mas-dev
|
|
|
|
mas:
|
|
category: public.app-category.productivity
|
|
entitlements: build/entitlements.mas.plist
|
|
entitlementsInherit: build/entitlements.mas.inherit.plist
|