96 lines
3.2 KiB
Markdown
96 lines
3.2 KiB
Markdown
<!-- file: deltas/0.1.4/pre.018-fix.001.md -->
|
|
<!-- version: 1 -->
|
|
|
|
# Delta `0.1.4-pre.018-fix.001` — validation frontend/Tauri et conformité Clippy
|
|
|
|
## Base
|
|
|
|
`0.1.4-pre.018` a été appliquée et le parcours fonctionnel du registre d'éditeurs spécialisés est validé. La validation a toutefois révélé deux défauts de tranche :
|
|
|
|
- `cargo clippy --workspace --all-targets` échoue sur quatre closures du nouveau test `desktop_contract.rs` à cause de la règle workspace `clippy::implicit-return` ;
|
|
- `npm run check` lance inutilement `vite build`, alors que le build frontend de production appartient déjà à `cargo tauri build` via `beforeBuildCommand = npm run build`.
|
|
|
|
Le build Tauri a également été exécuté trop tôt dans la séquence de validation. La politique KSP est clarifiée : **`cargo tauri build` est la dernière opération**, après tous les contrôles Rust, le type-check frontend et le parcours fonctionnel `tauri dev`.
|
|
|
|
## Corrections
|
|
|
|
### Clippy
|
|
|
|
Les closures de `tests/desktop_contract.rs` utilisent désormais des `return` explicites conformément aux règles Rust KSP. Aucun `#[allow(...)]` n'est ajouté.
|
|
|
|
### Contrôle frontend
|
|
|
|
`package.json` définit désormais :
|
|
|
|
```text
|
|
npm run check -> tsc --noEmit
|
|
```
|
|
|
|
Le script `build` reste :
|
|
|
|
```text
|
|
npm run build -> tsc && vite build
|
|
```
|
|
|
|
et demeure appelé exclusivement par le hook Tauri de build dans le cycle normal.
|
|
|
|
Le test de contrat desktop vérifie explicitement que :
|
|
|
|
- `beforeBuildCommand` reste `npm run build` ;
|
|
- `build` contient `tsc` + `vite build` ;
|
|
- `check` vaut exactement `tsc --noEmit` et ne produit donc aucun bundle.
|
|
|
|
### Ordre de validation
|
|
|
|
La règle normative **KSP-APP-034** formalise cette politique pour toutes les applications Tauri KSP. La documentation courante fixe l'ordre suivant :
|
|
|
|
1. `cargo fmt --all` ;
|
|
2. `cargo check --workspace` ;
|
|
3. `cargo clippy --workspace --all-targets` ;
|
|
4. tests Rust ciblés/workspace selon la tranche ;
|
|
5. `npm run check` (`tsc --noEmit` uniquement) ;
|
|
6. `cargo tauri dev -c crates/ksp-app-config-desk/tauri.conf.json` et parcours fonctionnel ;
|
|
7. **en dernier seulement**, `cargo tauri build -c crates/ksp-app-config-desk/tauri.conf.json`.
|
|
|
|
Le build Tauri déclenche lui-même le build frontend de production ; aucun `vite build` standalone n'est requis. `docs/rules/RULES_KSP.md` est mis à jour dans ce fix afin que cette règle ne dépende plus du seul plan `0.1.4`.
|
|
|
|
## Version technique
|
|
|
|
```text
|
|
workspace.package.version = 0.1.4-pre.18.fix.1
|
|
```
|
|
|
|
## Validation attendue
|
|
|
|
Depuis la racine :
|
|
|
|
```bash
|
|
cargo fmt --all
|
|
cargo check --workspace
|
|
cargo clippy --workspace --all-targets
|
|
cargo test -p ksp-app-config-desk
|
|
cargo test -p ksp-config-lib
|
|
cargo test -p ksp-logging-lib
|
|
```
|
|
|
|
Puis :
|
|
|
|
```bash
|
|
cd crates/ksp-app-config-desk
|
|
npm run check
|
|
cd ../..
|
|
cargo tauri dev -c crates/ksp-app-config-desk/tauri.conf.json
|
|
```
|
|
|
|
Le parcours fonctionnel du registre spécialisé a déjà été validé sur `pre.018` ; un smoke test suffit après application du fix.
|
|
|
|
Après validation de **tout ce qui précède**, terminer par :
|
|
|
|
```bash
|
|
cargo tauri build -c crates/ksp-app-config-desk/tauri.conf.json
|
|
```
|
|
|
|
## Suite
|
|
|
|
Après validation de ce fix, `pre.018` peut être clôturée et `0.1.4-pre.019` peut commencer comme tranche finale de clôture de `0.1.4`.
|