forked from jsnbuchanan/crowd-funder-for-time-pwa
- Replace manual ImageMagick scripts with official capacitor-assets toolchain - Consolidate duplicate asset sources to single resources/ directory - Implement comprehensive asset configuration schema and validation - Add CI safeguards for asset validation and platform asset detection - Convert capacitor.config.json to TypeScript format - Pin Node.js version for deterministic builds - Remove legacy manual asset generation scripts: * generate-icons.sh, generate-ios-assets.sh, generate-android-icons.sh * check-android-resources.sh, check-ios-resources.sh * purge-generated-assets.sh - Add new asset management commands: * assets:config - generate/update configurations * assets:validate - validate configurations * assets:clean - clean generated assets (dev only) * build:native - build with asset generation - Create GitHub Actions workflow for asset validation - Update documentation with new asset management workflow This standardization eliminates asset duplication, improves build reliability, and provides a maintainable asset management system using Capacitor defaults. Breaking Changes: Manual asset generation scripts removed Migration: Assets now sourced from resources/ directory only CI: Automated validation prevents committed platform assets
33 lines
1.4 KiB
Plaintext
33 lines
1.4 KiB
Plaintext
---
|
|
alwaysApply: true
|
|
---
|
|
# Asset Configuration Directive
|
|
*Scope: Assets Only (icons, splashes, image pipelines) — not overall build orchestration*
|
|
|
|
## Intent
|
|
- Version **asset configuration files** (optionally dev-time generated).
|
|
- **Do not** version platform asset outputs (Android/iOS/Electron); generate them **at build-time** with standard tools.
|
|
- Keep existing per-platform build scripts unchanged.
|
|
|
|
## Source of Truth
|
|
- **Preferred (Capacitor default):** `resources/` as the single master source.
|
|
- **Alternative:** `assets/` is acceptable **only** if `capacitor-assets` is explicitly configured to read from it.
|
|
- **Never** maintain both `resources/` and `assets/` as parallel sources. Migrate and delete the redundant folder.
|
|
|
|
## Config Files
|
|
- Live under: `config/assets/` (committed).
|
|
- Examples:
|
|
- `config/assets/capacitor-assets.config.json` (or the path the tool expects)
|
|
- `config/assets/android.assets.json`
|
|
- `config/assets/ios.assets.json`
|
|
- `config/assets/common.assets.yaml` (optional shared layer)
|
|
- **Dev-time generation allowed** for these configs; **build-time generation is forbidden**.
|
|
|
|
## Build-Time Behavior
|
|
- Build generates platform assets (not configs) using the standard chain:
|
|
```bash
|
|
npm run build:capacitor # web build via Vite (.mts)
|
|
npx cap sync
|
|
npx capacitor-assets generate # produces platform assets; not committed
|
|
# then platform-specific build steps
|