build: capacitor 8 dependencies, config and android sync scripts

This commit is contained in:
2026-08-20 08:31:59 +02:00
parent 4683ffee57
commit 12851a2b1c
4 changed files with 1035 additions and 3 deletions
+25
View File
@@ -0,0 +1,25 @@
import type { CapacitorConfig } from '@capacitor/cli';
// sattle is a pure PWA (`quasar build -m pwa` -> dist/pwa); the native app is
// that exact build wrapped. All platform divergence lives behind
// src/capabilities/ - app code never imports a Capacitor plugin directly.
//
// appId eu.protom.sattle: the developer owns protom.eu (canonical git host
// git.protom.eu). No OTA updater plugin on purpose (unlike the tbc-pwa
// reference): PWA update semantics stay 'prompt' and the wrapper ships the
// same dist/pwa, so a native release is cut like any app-store release.
//
// Signing-time TODOs (no release keystore exists yet):
// - generate the release keystore and put its SHA-256 cert fingerprint into
// public/.well-known/assetlinks.json (placeholder value there today)
// - once the PWA hosting origin is final, add an autoVerify https
// intent-filter for it in android/app/src/main/AndroidManifest.xml
// - iOS: `npx cap add ios` on a macOS machine; fill the Team ID in
// public/.well-known/apple-app-site-association (stub there today)
const config: CapacitorConfig = {
appId: 'eu.protom.sattle',
appName: 'sattle',
webDir: 'dist/pwa',
};
export default config;
+7 -2
View File
@@ -27,8 +27,13 @@
nodejs_22
corepack_22
git
# extensible: capacitor/android SDK tooling, etc. go here as
# the project grows
# Android SDK/gradle are deliberately NOT provided via
# nixpkgs androidenv: composeAndroidPackages is heavy and
# fragile, and `npx cap sync android` needs no SDK. For
# native builds install Android Studio (or cmdline-tools +
# `sdkmanager "platforms;android-35" "build-tools"`) locally
# and point ANDROID_HOME at it; the gradle wrapper in
# android/ does the rest.
]
# playwright e2e drives the system chromium (see
# playwright.config.ts); nixpkgs chromium is linux-only
+993 -1
View File
File diff suppressed because it is too large Load Diff
+10
View File
@@ -15,10 +15,19 @@
"test:e2e": "playwright test",
"test:e2e:ui": "playwright test --ui",
"typecheck": "vue-tsc --noEmit",
"cap:sync": "quasar build -m pwa && cap sync android",
"cap:open": "cap open android",
"postinstall": "quasar prepare --silent"
},
"dependencies": {
"@agicash/qr-scanner": "^0.1.2",
"@aparajita/capacitor-biometric-auth": "10.0.0",
"@aparajita/capacitor-secure-storage": "8.0.0",
"@capacitor/android": "8.4.1",
"@capacitor/app": "8.1.1",
"@capacitor/clipboard": "8.0.1",
"@capacitor/core": "8.4.1",
"@capacitor/share": "8.0.1",
"@fontsource/noto-sans": "^5.3.0",
"@noble/curves": "^2.3.0",
"@noble/hashes": "^2.3.0",
@@ -35,6 +44,7 @@
"vue-router": "^5.0.6"
},
"devDependencies": {
"@capacitor/cli": "8.4.1",
"@eslint/js": "^10.0.1",
"@intlify/unplugin-vue-i18n": "^11.0.0",
"@playwright/test": "^1.62.1",