175 lines
6.2 KiB
YAML
175 lines
6.2 KiB
YAML
name: tane
|
||
description: "Tane — local-first, encrypted, decentralized traditional-seed inventory and market."
|
||
publish_to: 'none'
|
||
version: 0.1.5+7
|
||
|
||
environment:
|
||
sdk: ^3.11.5
|
||
|
||
resolution: workspace
|
||
|
||
dependencies:
|
||
flutter:
|
||
sdk: flutter
|
||
flutter_localizations:
|
||
sdk: flutter
|
||
|
||
commons_core:
|
||
path: ../../packages/commons_core
|
||
|
||
# State management (Cubit-first). Drift streams are the source of truth.
|
||
flutter_bloc: ^9.1.1
|
||
equatable: ^2.0.5
|
||
|
||
# Stream combinators (StreamGroup) for reactive multi-table reads.
|
||
async: ^2.11.0
|
||
|
||
# Encrypted local database. NOTE: do NOT add sqlite3_flutter_libs / drift_flutter
|
||
# — their bundled plain SQLite collides (same symbols) with SQLCipher and
|
||
# segfaults on desktop. SQLCipher is the only native sqlite provider here.
|
||
drift: ^2.28.0
|
||
sqlite3: ^2.7.5
|
||
sqlcipher_flutter_libs: ^0.6.5
|
||
|
||
# Dependency injection composition root.
|
||
get_it: ^8.0.3
|
||
|
||
# i18n (Weblate-friendly JSON per locale).
|
||
slang: ^4.7.0
|
||
slang_flutter: ^4.7.0
|
||
# ICU date/number formatting (locale-aware, never ad-hoc).
|
||
intl: ^0.20.2
|
||
|
||
# Secure key storage (OS keystore).
|
||
flutter_secure_storage: ^9.2.4
|
||
|
||
# Routing + media + paths.
|
||
go_router: ^14.6.2
|
||
image_picker: ^1.1.2
|
||
# On-device OCR (Tesseract, Apache-2.0/BSD) to suggest a name from a packet
|
||
# photo. Offline, no Google/cloud. Mobile-only; other platforms use a no-op.
|
||
flutter_tesseract_ocr: ^0.4.31
|
||
# Pure-Dart image preprocessing (grayscale/contrast/upscale) before OCR to
|
||
# lift accuracy on blurry packet photos.
|
||
image: ^4.3.0
|
||
# Save/open dialogs for the inventory export/import (MIT license).
|
||
file_picker: ^10.1.2
|
||
# Pure-Dart PDF generation (Apache-2.0) for the printable "what I share"
|
||
# catalog. No platform channels, so the whole flow is host-testable.
|
||
pdf: ^3.11.3
|
||
# Pure-Dart barcode/QR generation (Apache-2.0; already used transitively by
|
||
# pdf). Painted on screen for the profile's shareable identity QR.
|
||
barcode: ^2.2.9
|
||
# Camera QR scanning via pure ZXing (MIT) — no ML Kit, no Google Play
|
||
# Services (F-Droid-safe; same stack Ğ1nkgo ships). Mobile-only; other
|
||
# platforms simply don't offer the scan button.
|
||
zxing_barcode_scanner: ^1.0.3
|
||
path: ^1.9.0
|
||
path_provider: ^2.1.5
|
||
|
||
cupertino_icons: ^1.0.8
|
||
material_symbols_icons: ^4.2951.0
|
||
url_launcher: ^6.3.2
|
||
package_info_plus: ^9.0.1
|
||
# Optional coarse device location goes through a small platform channel to
|
||
# Android's own LocationManager (lib/services/coarse_location.dart) — no
|
||
# location plugin, and deliberately no Google Play Services, so the APK
|
||
# stays free of proprietary classes (F-Droid).
|
||
# Network reachability (BSD-3) to show a global "you're offline" banner — the
|
||
# social layer needs a connection; the inventory works regardless.
|
||
connectivity_plus: ^6.1.0
|
||
# Local OS notifications (BSD-3) for a heads-up when a private message arrives
|
||
# while the app is foregrounded. Mobile/Linux/macOS only; a no-op on web and
|
||
# Windows. Foreground-only by design — background/push is a later concern.
|
||
flutter_local_notifications: ^18.0.1
|
||
crop_your_image: ^2.0.0
|
||
|
||
dev_dependencies:
|
||
flutter_test:
|
||
sdk: flutter
|
||
integration_test:
|
||
sdk: flutter
|
||
|
||
flutter_lints: ^6.0.0
|
||
# Virtual clock to fast-forward the inventory auto-retry backoff in tests.
|
||
fake_async: ^1.3.1
|
||
build_runner: ^2.4.13
|
||
drift_dev: ^2.28.0
|
||
slang_build_runner: ^4.7.0
|
||
mocktail: ^1.0.4
|
||
# Nostr types (Event/Filter) to fake a NostrChannel in the connection test.
|
||
nostr: ^2.0.0
|
||
flutter_launcher_icons: ^0.14.4
|
||
flutter_native_splash: ^2.4.7
|
||
|
||
# App launcher icon: a white sprout on brand green (#2F7D34) for strong
|
||
# contrast. Regenerate with: dart run flutter_launcher_icons
|
||
flutter_launcher_icons:
|
||
image_path: assets/icon.png
|
||
android: true
|
||
ios: true
|
||
remove_alpha_ios: true
|
||
adaptive_icon_background: "#2F7D34"
|
||
adaptive_icon_foreground: assets/icon_foreground.png
|
||
web:
|
||
generate: true
|
||
image_path: assets/icon.png
|
||
background_color: "#2F7D34"
|
||
theme_color: "#2F7D34"
|
||
windows:
|
||
generate: true
|
||
image_path: assets/icon.png
|
||
icon_size: 256
|
||
|
||
# Native splash: white sprout on brand green, a darker green in dark mode.
|
||
# Regenerate with: dart run flutter_native_splash:create
|
||
flutter_native_splash:
|
||
color: "#2F7D34"
|
||
color_dark: "#22521E"
|
||
image: assets/splash_logo.png
|
||
android_12:
|
||
image: assets/splash_logo.png
|
||
color: "#2F7D34"
|
||
color_dark: "#22521E"
|
||
|
||
flutter:
|
||
uses-material-design: true
|
||
# Seed strings for slang live under lib/i18n (not a Flutter asset; compiled).
|
||
assets:
|
||
- assets/catalog/species.json
|
||
# Curated seed-saving guidance (pollination, isolation, difficulty…).
|
||
- assets/catalog/seed_saving.json
|
||
- assets/logo.png
|
||
# Bundled so the Linux runner can use it as the GTK window icon.
|
||
- assets/icon.png
|
||
# Tesseract OCR language data (tessdata_fast: eng + spa). Bundled for
|
||
# offline, on-device label OCR on mobile.
|
||
- assets/tessdata/
|
||
- assets/tessdata_config.json
|
||
# Real packet photos for the on-device OCR validation integration test.
|
||
# Remove before shipping if you don't want them in the bundle.
|
||
- assets/ocr_fixtures/
|
||
# Embedded in generated PDFs (printable catalog). DejaVu covers Latin
|
||
# (extended), Cyrillic and Greek; Noto Arabic + Noto CJK ride alongside as
|
||
# per-glyph fallbacks so RTL and CJK text render instead of tofu. Fonts are
|
||
# a per-locale resource, extensible to any script. Licenses: DejaVu
|
||
# (Bitstream Vera / public domain), Noto (SIL OFL 1.1). See assets/fonts/.
|
||
- assets/fonts/DejaVuSans.ttf
|
||
- assets/fonts/DejaVuSans-Bold.ttf
|
||
- assets/fonts/NotoSansArabic.ttf
|
||
- assets/fonts/NotoSansJP.ttf
|
||
fonts:
|
||
# Custom seed-themed icon glyphs (chars a–k). See docs/mockups/seedks-glyphs.png.
|
||
- family: seedks
|
||
fonts:
|
||
- asset: fonts/seedks.ttf
|
||
# Script coverage fallbacks for the UI text theme (see ui/theme.dart). Noto
|
||
# (SIL OFL 1.1) covers Arabic (RTL) and CJK (Japanese kanji/kana + shared
|
||
# Han) so those scripts render on every platform, including desktop where
|
||
# the system font may lack them. Variable fonts; Flutter picks the weight.
|
||
- family: Noto Sans Arabic
|
||
fonts:
|
||
- asset: assets/fonts/NotoSansArabic.ttf
|
||
- family: Noto Sans JP
|
||
fonts:
|
||
- asset: assets/fonts/NotoSansJP.ttf
|