-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathelectron-builder.yml
More file actions
93 lines (82 loc) · 2.88 KB
/
Copy pathelectron-builder.yml
File metadata and controls
93 lines (82 loc) · 2.88 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
# Packaging for RunAnywhere AI (RunanywhereAI/runanywhere-electron).
# Invoked by `npm run package` / `package:mac` / `package:win`.
#
# Native artifacts cannot load from inside app.asar. asarUnpack covers the fat
# .node today and the future split (shared libs + per-backend plugins).
appId: ai.runanywhere.desktop
productName: RunAnywhere AI
copyright: Copyright © RunAnywhere
directories:
output: release
buildResources: assets
files:
- package.json
- out/**/*
- assets/icon.png
- assets/icon.ico
- '!**/{test,tests,e2e,src,scripts,release}/**'
- '!**/*.{md,map,ts,tsx}'
- '!**/tsconfig*.json'
- '!**/vite.config.*'
- '!**/playwright.config.*'
- '!**/eslint.config.*'
- '!electron-builder.yml'
# Foreign-platform natives are removed after packing — see scripts/after-pack.mjs.
# Every @runanywhere tarball carries all three platform payloads (that is what
# lets one tree emit both Windows arches), so an x64 Windows build shipped
# 338 MB of prebuilds to use 109 MB of them.
#
# This is a hook rather than a `files` pattern on purpose: there is no
# `${platform}` macro, and a platform-specific `files:` block does not merge
# with the top-level exclusions the way it reads like it should. Both attempts
# silently shipped NOTHING, which is a worse failure than shipping too much —
# the app still launches and every engine disappears.
afterPack: ./scripts/after-pack.mjs
asar: true
# Unpack every loadable native artifact under the Electron SDK — and by
# extension glob so a future thin-addon + N dylibs/plugins layout still works
# without another packaging change.
#
# The whole prebuilds tree is unpacked per package, not just files matching a
# native extension. QHexRT's QAIRT runtime includes `libqnnhtpv81.cat`, and the
# Hexagon skel fails signature verification unless the catalog sits in the SAME
# directory as the `.so` and stub `.dll` beside it — an extension glob alone
# would unpack the siblings and leave the `.cat` inside app.asar, which reads at
# runtime as a corrupt model rather than as a packaging fault.
asarUnpack:
- '**/*.node'
- '**/*.dylib'
- '**/*.dll'
- '**/*.so'
- '**/*.so.*'
- '**/node_modules/@runanywhere/*/prebuilds/**'
- '**/node_modules/@runanywhere/electron/**/plugins/**'
mac:
category: public.app-category.productivity
icon: assets/icon.png
hardenedRuntime: true
gatekeeperAssess: false
# Local / CI packages are unsigned; release signing is a follow-up.
identity: null
target:
- target: dmg
arch:
- arm64
- target: zip
arch:
- arm64
dmg:
artifactName: ${productName}-${version}-mac-${arch}.${ext}
win:
icon: assets/icon.ico
target:
- target: nsis
arch:
- x64
- arm64
nsis:
oneClick: false
allowToChangeInstallationDirectory: true
artifactName: ${productName}-${version}-win-${arch}.${ext}
# Packaging only — no publish channel wired yet.
publish: null