mirror of
https://github.com/4gray/iptvnator.git
synced 2026-10-08 09:01:03 -08:00
fix(packaging): restore Snap desktop runtime (#1406)
* fix(packaging): restore Snap desktop runtime * docs(packaging): publish Snap launch repair note * fix(packaging): declare Node 22.12 floor * docs(architecture): update SQLite pin rationale * fix(tooling): align Node engine floor * fix(tooling): constrain supported Node releases * docs(architecture): correct node-abi consumer
This commit is contained in:
1 parent
2a7d7c315e
commit
728df1a68c
11 files changed
+404
-660
No files matched your search
@@ -305,18 +305,25 @@ Window decorations on Linux (shadows, corners):
|
||||
|
||||
Toolchain notes for the Electron 41 upgrade:
|
||||
|
||||
1. `better-sqlite3` is pinned to exactly `12.9.0` — the last release that
|
||||
ships prebuilt binaries for BOTH Node 20 (ABI 115, used by Jest) and
|
||||
Electron 41 (ABI 145, used at runtime). `12.10.0` dropped the Node 20
|
||||
prebuilds, which forces a from-source build that fails on machines
|
||||
without a C++ toolchain.
|
||||
1. `better-sqlite3` remains pinned to exactly `12.9.0` so native dependency
|
||||
updates happen deliberately with database-worker, packaging, and Electron
|
||||
E2E validation. The former Node 20 prebuild constraint no longer applies
|
||||
now that the supported development floor is Node 22.13; revisit this pin
|
||||
in a dedicated native-dependency update.
|
||||
2. The pnpm override `node-abi@3.85.0 -> 3.92.0` is required so
|
||||
`@electron/rebuild` (via `electron-builder install-app-deps`) can map
|
||||
Electron 41 to its ABI.
|
||||
3. Local development needs **Node >= 22.12**, declared in `engines`.
|
||||
`electron-builder` 26.15.3 pulls `@electron/rebuild` 4, which sets that
|
||||
floor, and the root `postinstall` runs `install-app-deps` on every
|
||||
`pnpm install`. CI already runs Node 22.
|
||||
`better-sqlite3`'s `prebuild-install` can map Electron 41 to ABI 145 when
|
||||
`electron-builder install-app-deps` rebuilds native modules. The 3.85
|
||||
registry stops at Electron 40, while 3.92 includes Electron 41;
|
||||
`@electron/rebuild` itself now resolves `node-abi` 4.x.
|
||||
3. Local development supports **Node 22.13–22.x or Node >= 24**, declared in
|
||||
`engines` as `^22.13.0 || >=24.0.0`.
|
||||
The direct `@faker-js/faker` dependency and current lint tooling require
|
||||
that floor. `electron-builder` 26.15.7 also pulls `@electron/rebuild` 4,
|
||||
which requires Node 22.12 or newer, and the root `postinstall` runs
|
||||
`install-app-deps` on every `pnpm install`. The 26.15.7 minimum also
|
||||
carries the v26 backport that fully extracts the Snap template's `.tar.7z`
|
||||
payload; 26.15.0–26.15.6 can
|
||||
produce a Snap that is missing `desktop-init.sh`. CI already runs Node 22.
|
||||
|
||||
Known caveats:
|
||||
|
||||
|
||||
Reference in new issue
Block a user