@likewatt/models
v1.1.21
Published
Package privé contenant les modèles TypeScript partagés pour les applications Likewatt.
Readme
@likewatt/models
Package privé contenant les modèles TypeScript partagés pour les applications Likewatt.
Installation
npm install @likewatt/modelsDescription
Ce package exporte les modèles de données TypeScript utilisés dans l'écosystème Likewatt, incluant :
- Entités principales :
Site,Scenario,User,License,CollectiveSite,Invitation,ScenarioDefaultValue - Entités TypeORM :
Analysis,Optimization,WebhookOutput, historiques (Co2, Enedis, FCR, Okwind, Pvgis, Spot, Tempo) - Modèles internes : Paramètres énergétiques (batteries, PV, éolien, hydrogène, stockage thermique, etc.)
- Types frontend : Types TypeScript pour l'interface utilisateur
- Énumérations : Types énumérés partagés
Structure
src/core/: Entités principales et modèles internessrc/frontend/: Types TypeScript pour le frontenddist/: Build compilé (CommonJS)
Technologies
- TypeScript 5.x
- TypeORM 0.3.x
- Mongoose 8.x
- NestJS decorators (Swagger, Mongoose)
- Class Validator
Scripts disponibles
npm run build # Compile le projet TypeScript
npm run format # Formate le code avec Prettier
npm run lint # Lint et fixe le code avec ESLint
npm run lint:quick # Lint sans auto-fix
npm run release # Crée une release automatique (conventional commits)
npm run release:minor # Crée une release minor
npm run release:major # Crée une release majorConvention de commit
Le projet utilise Husky et Commitlint pour enforcer les conventions de commit.
Format requis
<type>(<scope>): <subject>
<body>
<footer>Types autorisés
feat: Nouvelle fonctionnalitéfix: Correction de bugdocs: Documentationstyle: Formatage, point-virgules manquants, etc.refactor: Refactoring du codeperf: Amélioration des performancestest: Ajout de testsbuild: Changements du système de buildci: Changements CI/CDchore: Tâches de maintenancerevert: Revert d'un commit précédent
Exemples
feat(user): add authentication endpoint
fix(scenario): correct energy calculation
docs(readme): update installation instructions
refactor(battery): simplify params validation
ci(pipeline): add automatic versioningImpact sur le versioning
feat: incrémente la version minor (1.0.0 → 1.1.0)fix: incrémente la version patch (1.0.0 → 1.0.1)BREAKING CHANGEdans le footer : incrémente la version major (1.0.0 → 2.0.0)
Release et versioning
Le package utilise standard-version pour le versioning sémantique basé sur les commits conventionnels.
Release automatique
Chaque push sur la branche main déclenche automatiquement :
- Installation des dépendances
- Build du projet
- Analyse des commits pour déterminer le type de version (patch/minor/major)
- Génération du CHANGELOG
- Publication sur le registry NPM privé
Release manuelle
Via Bitbucket Pipelines, possibilité de forcer un type de release :
patch: Correctifs (1.0.0 → 1.0.1)minor: Nouvelles fonctionnalités (1.0.0 → 1.1.0)major: Breaking changes (1.0.0 → 2.0.0)prepatch,preminor,premajor,prerelease: Versions de pré-release
Configuration
- Compilation : ES2019, CommonJS, avec decorators experimentaux
- Output :
dist/index.js(main),dist/index.d.ts(types) - Registry : NPM privé Likewatt
Confidentialité
Ce package est privé et ne doit pas être partagé en dehors de Likewatt.
