Commit Graph

14 Commits (fc0ede0e4e873287de9b6786637ab8083dba5aec)

Author SHA1 Message Date
Maxime Quandalle 1b963b8bbe Ajout de l'option "allowJs" dans tsconfig.js
Cela permet l'inférence de type à partir des fichiers js qui ne sont pas
encore convertis en TypeScript.
Par ailleurs suppression des dernières traces de Flow.
Ajout d'options plus strictes pour dans la config tsconfig.js
2019-12-17 11:34:12 +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
Mael 46b18b3575 MAJ eslint 2019-10-07 16:38:29 +02:00
Maxime Quandalle dbbb67ee7f
Ajout du lint pour les hooks React
Comme recommandé dans la documentation des hooks React, ajout des deux
linters suivants : react-hooks/rules-of-hooks et react-hooks/exhaustive-deps

Mise à jour des composants, en particulier les useEffect pour y spécifier
toutes les dépendances.
2019-09-17 12:54:54 +02:00
Johan Girod 2a44e71437 🐛 répare la page blanche sur mycompanyinfrance.fr 2019-02-08 13:46:37 +01:00
Johan Girod d7d5833a54 💚 Fix les derniers warnings de flow 2019-02-03 18:05:55 +01:00
Mael 3f9b06cd0a Nouveau composant de simulation qui compare des situations 2019-01-07 11:35:10 +01:00
Mael ed492ebb10 Mise à jour des plugins babel, suppression erreur décorateurs 2019-01-07 11:35:10 +01:00
Mael f7a84b134b Choix entre l'estimation du revenu du dirigeant ou du salarié 2019-01-07 11:35:10 +01:00
Johan Girod f539f6fd8f Ajoute un test end to end pour la landing embauche
Ajout de cypress comme librairie
2018-09-06 14:54:23 +02:00
Johan Girod 0e028cc843 wip 2018-08-04 12:11:34 +02:00
Mael 0877ba76a2 Moins de contraintes eslint 2018-08-04 12:02:24 +02:00
Mael 6971bd5b98 Mention de l'ACOSS dans /à-propos 2018-07-27 18:07:04 +02:00
Mael 8510e93065 Eslint 2018-06-26 09:13:25 +00:00