mostajs-orm-validator
v0.2.0
Published
Algorithmic linter for @mostajs/orm schemas. Detects 18 conceptual anomalies with inline squiggles + quick-fix.
Maintainers
Readme
@mostajs/orm — ORMConceptValidator (VSCode Extension)
v0.1.0 — Plug-in VSCode pour le
ORMConceptValidatorde@mostajs/orm. Détecte 18 anomalies conceptuelles dans vosEntitySchemaavec squiggles inline et quick-fix.
Auteur : Dr Hamid MADANI [email protected]
Installation
Depuis le Marketplace (quand publié)
ext install apolocine.mostajs-orm-validatorDepuis source (développement)
git clone https://github.com/apolocine/mosta-orm-vscode
cd mosta-orm-vscode
npm install
npm run compile
# Ouvrir le dossier dans VSCode, F5 pour lancer un Extension Development HostPré-requis
Le workspace doit avoir :
@mostajs/orm@^1.15.0(le validator CLI doit être accessible vianpx mostajs-orm-validator)- Un dossier de schémas (default
./schemas, configurable)
Configuration
Paramètres dans VSCode (File > Preferences > Settings, chercher "mostajs orm") :
| Paramètre | Default | Description |
|---|---|---|
| mostajsOrmValidator.enabled | true | Active/désactive l'extension pour le workspace |
| mostajsOrmValidator.schemasDir | ./schemas | Dossier des fichiers *.schema.ts |
| mostajsOrmValidator.sourceRoot | ./lib | Dossier source pour règles cross-file (R005, R007, R008, R011, R012, R014, R015) |
| mostajsOrmValidator.ignore | [] | Règles à ignorer (ex: ["R015", "R017"]) |
| mostajsOrmValidator.runOnSave | true | Relancer à chaque save d'un *.schema.ts |
Commandes (Ctrl+Shift+P)
| Commande | Description |
|---|---|
| ORMValidator: Validate current workspace | Lance le validator sur tout le workspace |
| ORMValidator: Apply all auto-fixes | Applique --fix pour toutes les règles fixables (V3-A V2) |
| ORMValidator: Rollback last --fix (restore .bak) | Restaure les .bak du dernier --fix |
Fonctionnement
À l'ouverture d'un fichier TypeScript, l'extension :
- Lance
npx mostajs-orm-validator <schemasDir> --src <sourceRoot> --format json - Parse les findings JSON
- Affiche chaque finding comme un Diagnostic VSCode (squiggle inline) :
- 🔴
error→ squiggle rouge - 🟡
warning→ squiggle jaune - ℹ️
info→ squiggle bleu - 💡
hint→ soulignement gris
- 🔴
- Le code de la règle (ex: R001-EMPTY-RELATIONS) apparaît dans le tooltip + dans la barre Problems
- Sur sauvegarde (si
runOnSave: true), relance la validation
Quick-fix V3-C V1 (limité)
V0.1.0 propose des suggestions textuelles dans les tooltips. Les quick-fix automatiques (via VSCode Code Actions) arrivent en V3-C V2 — pour l'instant utiliser le CLI :
npx mostajs-orm-validator ./schemas --src ./lib --fix-dry-run # preview
npx mostajs-orm-validator ./schemas --src ./lib --fix # apply
npx mostajs-orm-validator ./schemas --rollback-fix # undoLimites V0.1.0
- Quick-fix VSCode Code Action : non implémenté (V3-C V2) — utiliser CLI pour appliquer
- LSP server dédié : pas encore (V3-C V3, performance optimale) — utilise le CLI via spawn
- Marketplace publish : pas encore (décision utilisateur — nécessite PAT Azure DevOps)
Roadmap
- V3-C V2 : LSP server natif (perf, sans spawn CLI) + Code Actions VSCode pour les quick-fix
- V3-C V3 : Publish sur VSCode Marketplace + JetBrains Marketplace (IntelliJ/WebStorm)
- V4 : Intégration GitHub Actions / preview dans PR
Licence
AGPL-3.0-or-later
