Et pour faire passer les tests jest au passage.
A noter : il faudra vraiment se pencher sur la notion d'applicable / non applicable
Une variable non applicable a une valeur '0' / 'false', mais une variable
à false n'est pas considérée comme non applicable. Je pense qu'il serait avantageux
de simplifier le modèle en introduisant une symetrie entre applicable si et la valeur
d'une variable.
Dans 16ae29bdc, j'avais supprimé la cotisation de 1% sur les CDD pour
financer le CIF. Cette cotisation n'avait en fait pas été supprimée mais
remplacée par une cotisation pour financer le CPF...
This reverts commit 16ae29bdcc.
* Utilisation de la version stable de TypeScript 3.7
* Début de migration du State Redux. Plutôt que de redéfinir les types
en doublon par rapport aux actions et reducers, on utilise les valeurs
retournées par ces fonctions comme source pour les types globaux.
* Modification de tsconfig pour meilleur typage dans VS Code
* Meilleur typage de l'environnement : suppression de @types/node qui
était trop large (contient tout l'environnement serveur), et
remplacement par @types/webpack-env. Par ailleurs typage des variables
d'environnement utilisées.
* Début de migration de l'économie collaborative
* Migration de nombreux composants UI
* Mise à jour de dépendances pour récupérer un meilleur typage
* Ajout d'un hook pour configurer les simulateurs
* Suppression du higher-order component "withSitePaths", on utilise
systématiquement le hook useContext.
L'essentiel de l'application est maintenant migré, reste le moteur !
Nous générons deux bundles à partir de notre code JavaScript, un pour
les navigateurs modernes et un pour les anciens navigateurs. Vu que
notre site est statique nous utilisons la technique de l'attribut
module/nomodule dans la balise script pour que le navigateur télécharge
la bonne version du bundle.
Safari 10.1 ne supportant pas l'attribut nomodule, nous utilisions une
prothèse pour ajouter ce support. Il semble que ce code ne fonctionnait
pas bien car c'est toujours la version "legacy" du bundle qui était
utilisée sur les versions modernes de Safari (11, 12, 13).
Il y a actuellement un problème de Tracking sur la version Legacy suite
à la migration vers Typescript. J'ai du mal à comprendre d'où vient le
problème, mais en attendant un premier remède consiste à servir la
version normale du bundle aux navigateurs Safari récents.
Note: il semble que Safari téléchargeait les deux bundles ! Ce commit
devrait donc baisser significativement le volume de fichiers à
télécharger.
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.
Les valeurs configurées suivantes correspondait aux valeurs par défaut,
et il n'est donc pas nécessaire de les spécifier. Les retirer ne change
rien :
- printWidth: 80
- arrowParens: avoid
- proseWrap: preserve
- tabWidth: 2
Par ailleurs j'ai supprimé :
- trailingComma "none", les traillingComma permettent d'avoir de
meilleurs diff git ligne par ligne
- jsxBracketSameLine "false", de même afin d'avoir de meilleurs diff
ligne par ligne
Ces deux changements ne devrait concerner qu'un nombre de lignes
modeste, et vu la transition en cours vers Typescript, autant faire les
deux en même temps pour limiter les commits qui perturbent l'historique
git.