Commit Graph

10 Commits (2b04fbbc1f86347a2f461921e7592539da2dd314)

Author SHA1 Message Date
Johan Girod 7ccc4ce4e3 Revert "Revert "Refacto : séparation claire du moteur et de l'application 🔥""
This reverts commit 8c7ab52a4f.
2020-04-24 11:27:48 +02:00
Johan Girod 8c7ab52a4f
Revert "Refacto : séparation claire du moteur et de l'application 🔥" 2020-04-21 15:49:48 +02:00
Johan Girod 03128ccda4 ⚙️ Ajoute la possibilité de spécifier des unités dans les valeurs par défaut et dans la situation 2020-04-21 11:03:58 +02:00
Maxime Quandalle 1891d85d15
🖊 Documente titre, description, références 2020-02-05 15:42:19 +01:00
Johan Girod 00b122fa97 ⚙️ ajoute la conversion d'unité
Gros changements en perspective :
- Supprime la notion de période, au bénéfice de celle d'unité
  (`période : mensuelle` devient `unité: €/mois`)
- Améliore les rapports d'erreur avec des messages plus clair
- Ajoute un avertissement lorsque des types ne sont pas compatible
- Ajoute la conversion automatique d'unité dans le moteur
- Ajoute une notion d'unité par défaut de la simulation,
  c'est l'unité vers laquelle les règles qui ne spécifient pas
  d'unité seront converties
- Ajoute une notion d'unité par défaut des règles, qui spécifie
  l'unité de la règle qui prévaut lorsque qu'il n'y a pas
  d'unité par défaut de la simulation (utile pour les question ou
  pour s'assurer du bon type d'une règle)
2019-12-16 11:34:04 +01:00
Maxime Quandalle 97f6d8ffbf Taille des tabulations dans VS Code
Notre config prettier utilise les tabulations plutôt que les espaces
pour l'indentation. Prettier essaie de formater le code avec des lignes
de 80 caractères maximum, et compte 2 caractères pour les tabulations.
MAJ de la configuration VS Code pour être aligné avec la configuration
prettier.

Naturellement le développeur reste libre d'afficher les tabulations
comme il veut.
2019-10-31 13:28:13 +01:00
Maxime Quandalle 6de970f0e3 🔥 Migration vers TypeScript
Outils
======

Ce commit retire le tooling de Flow, et ajoute le support de TypeScript
pour les fichiers .ts et .tsx. Il n'est pas nécessaire de tout migrer
d'un coup ce qui facilite la transition. On garde en effet le
compilateur Babel avec un preset TypeScript (ce qui permet donc de
retirer à la fois les types Flow et TypeScript) plutôt que d'utiliser le
compilateur standard pour la conversion du code. Cela permet aussi de
mieux s'intégrer avec d'autres outils, notamment les test-runners.

Ajout d'une nouvelle commande `yarn run type-check`, intégrée dans
CircleCI.

Par ailleurs ajout du support de l'opérateur ?? pour donner des valeurs
par défaut (nullish-coalescing-operator).

Typage des libraires tierces
============================

Les principales libraires que nous utilisons ont un typage TypeScript de
bon niveau, ce qui facilite l'intégration. J'ai mis à jour react-i18next
et i18next afin de corriger un problème de typage.

Typage du code
==============

Le typage est loin d'être complet dans ce commit, en particulier il
manque les types relatifs au state Redux, ainsi qu'au moteur (règle,
explication). Néanmoins le typage des contextes fonctionne, en
particulier sitePaths (avec un type récursif non trivial !) qui a déjà
permis de détecter un lien mort.

Le typage des "paths" (Components/, Règles/, etc.) fonctionne bien, y
compris avec l'auto-complétion automatique des import par Typescript.

TypeScript se révèle déjà bien agréable dans VSCode (auto-complétion,
refacto, etc.) ! Reste à migrer progressivement le reste du code !
2019-10-30 10:20:48 +01:00
Johan Girod 1aa05d1d1b Nouvelle navigation avec boutons retours pour le parcours gérer 2019-10-23 12:21:48 +02:00
Maxime Quandalle 8adc1ffd8e Ajout du paramètre organizeImports 2019-07-10 18:37:12 +02:00
Maxime Quandalle 5cef59ceb4 Commit des paramètres VS Code 2019-07-10 18:37:12 +02:00