lite: add scripts for local bundling#13756
Conversation
20248b1 to
ac0c4d1
Compare
ac0c4d1 to
edd6aaf
Compare
| <key>com.apple.security.cs.disable-library-validation</key> | ||
| <true/> |
There was a problem hiding this comment.
Required to load the unsigned Electron runtime.
| "@gitbutler/design-core", | ||
| "@tanstack/eslint-plugin-query", | ||
| "electron", | ||
| "@types/semver", |
There was a problem hiding this comment.
If I don't add this. dependency, linting gets angry when accessing updater.currentVersion.prerelease as its type is unknown. And then adding this, linting gets angry that there's an unused dependency and you gotta awkwardly use the type explicitly.
So I'll just ignore the dep and we get the type checking properly, without making the code awkward. Really rough edge of TypeScript.
There was a problem hiding this comment.
Pull request overview
Adds Lite app tooling to support local Electron Builder bundling, plus small supporting changes for macOS signing and updater behavior.
Changes:
- Add
bundle-local/bundle-local-nightlyscripts for locally packaging Lite (including building@gitbutler/but-sdkfirst). - Introduce a macOS “local” entitlements plist for ad-hoc signed builds.
- Update updater logic to skip auto-update checks for
-devprerelease builds; add@types/semverand lockfile updates.
Reviewed changes
Copilot reviewed 5 out of 6 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
pnpm-lock.yaml |
Adds @types/semver and updates the resolved dependency graph accordingly. |
knip.jsonc |
Suppresses Knip reporting for @types/semver in the Lite workspace. |
apps/lite/resources/entitlements.mac.local.plist |
Adds a local-only entitlements profile for macOS bundling. |
apps/lite/README.md |
Documents the new local bundling scripts and caveats (macOS signing, updater testing, optional but CLI bundling). |
apps/lite/package.json |
Adds the new bundling scripts and changes default versioning to a -dev prerelease. |
apps/lite/electron/src/updater.ts |
Skips update checks for dev prerelease builds and adds error handling around update checks. |
Files not reviewed (1)
- pnpm-lock.yaml: Language not supported
Also sets some local-only settings, including: * `-dev` suffix on the version to be able to disable the updater for dev builds * Dev-only entitlements for macOS required to run the bundle
edd6aaf to
a16d74a
Compare
🧢 Changes
Adds scripts to facilitate easy local bundling of the Lite app.