Commit Graph

25 Commits (49dbac252c94847422820fd4915bcfaf2d8f54b7)

Author SHA1 Message Date
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
Maxime Quandalle f51066b908
Utilisation des hooks React-Router
Sur les 9 utilisations de withRouter :
- suppression de 6 occurrences inutilisées
- migration d'1 occurrence vers le hook useLocation
- maintien de 2 occurrences inchangées car utilisées par des composants "class"
2019-09-30 13:01:19 +02:00
Maxime Quandalle 0663c97204 Utilisation du hook useTranslation de react-i18next
Suppression de notre composant withLanguage qui rajoutait une abstraction
inutile.

Note: de nombreux appels à withTranslation et withLanguage était inutile
car le composant augmenté n'utilisait pas les paramètres fournis (language, t, i18n).
L'utilisation des hooks nous permet de mieux gérer le code mort, car il s'agit
de simples variables dont le non-usage est détecté par l'analyse statique.
2019-09-11 11:17:23 +02:00
Maxime Quandalle 1b01948d29 🎨 Laisser la question courante affichée dans les raccourcis
Suite à un retour utilisateur qui ne savait plus quelle question était
posée car le lien sur lequel il venait de cliquer avait changé.
2019-09-09 11:33:47 +02:00
Maxime Quandalle 4e4caab3da ⚙️ Ne pas afficher les fonctions désactivées
TODO: Mettre à jour immédiatement la liste des questions suivantes (QuickLinks) ?
2019-09-09 11:33:47 +02:00
Johan Girod 5393de1dc2
🎨 uniformise le style des suggestions 2019-09-06 15:31:18 +02:00
Mael 40fbef4ec9 Avertissement 2019-07-12 10:33:02 +02:00
Johan Girod e201bae422
améliore la config yaml des simulateurs
On a maintenant une seule clé : question, qui combine questions à l'affiche, questions moins prioritaire et questions en liste noire
2019-07-01 19:27:46 +02:00
Johan Girod 85c3651f0c
⚙️ répare un bug dans le moteur pour les dépendance parentes
On ne les prenait pas en compte lorsque l'on utilisait treatVariable
D'où le gros besoin de fusionner une bonne fois pour toute treatVariable et treatRuleRoot
2019-07-01 19:27:45 +02:00
Johan Girod 70205d5ab8
👽 traductions 2019-06-12 13:56:51 +02:00
Johan Girod 7876bfed9f
🎨 améliore l'UI / UX sur les questions posée 2019-06-06 17:55:31 +02:00
Johan Girod 28a0588735
Rétablit les liens rapide en dessous de la question courante
Avec un nouveau mécanisme : ils sont toujours visible et disparaissent au fur et à mesure que l'on répond aux questions
2019-06-05 18:48:16 +02:00
Johan Girod 64a3987ed0
Ajoute un bouton pour revenir à la question précédente 2019-06-05 17:04:54 +02:00
Johan Girod f11f0579fd
Affiche automatiquement la question après la première valeur rentrée
🔥 Et supprime le code gérant  dans le state
2019-06-05 15:16:46 +02:00
Johan Girod 8a6f9aaea6
Enlève le delay d'apparition des résultats 2019-04-30 15:03:30 +02:00
Johan Girod ed8d9f1a28
Amélioration du Feedback et changement du mail de contact 2019-04-30 14:56:54 +02:00
Mael b2c0b70fd6 Séparation simulation générique et simulation cotisations
Le sélecteur noUserInput fait ce qu'il dit faire. Un autre spécifique à
TargetSelection est créé. En conséquence, l'explication y est intégrée.
2019-04-19 19:21:29 +02:00
Johan Girod 5d7c502f3c 🐛 corrige quelques bugs 2019-04-09 11:01:07 +02:00
Mael f9580f15b5 Tentative d'implémentation des contrôles à l'évaluation
Evidememnt, ça pose problème : on n'a pas encore retourné la valeur d'un
noeud (ex. cotisation X) qu'on demande son évaluation dans le contrôle
(cotisation X > 450)
2019-03-19 16:55:38 +01:00
Mael 0b52b2f0ee 🎨 Boutons déclencheurs de simulation plus visibles
Au moyen de boutons cette fois-ci
2019-03-19 16:55:38 +01:00
Johan Girod d7d5833a54 💚 Fix les derniers warnings de flow 2019-02-03 18:05:55 +01:00
Johan Girod f228c04ed9 Adapte le délai d'apparition des résultats et quicklink 2019-01-31 17:33:14 +01:00
Mael 732105f4cb 🎨 Délai inférieur pour l'apparition des raccourcis 2019-01-29 11:58:21 +01:00
Johan Girod 89207d8307 🎨 répare le style des groupes de boutons 2019-01-24 11:28:00 +01:00
Mael e22266e324 Fusion des composants de simulation 2019-01-21 16:41:41 +01:00