v0.1.4-pre.018-fix.001
This commit is contained in:
95
deltas/0.1.4/pre.018-fix.001.md
Normal file
95
deltas/0.1.4/pre.018-fix.001.md
Normal file
@@ -0,0 +1,95 @@
|
||||
<!-- 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`.
|
||||
Reference in New Issue
Block a user