Commit Graph

3517 Commits (6de970f0e38de69dc3d4374b2c417c5ec1325973)

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 ac4e3cd615 ⚙️ Support des pluriels dans les unités en yaml
Support de l'écriture sous forme accordée (ie 3 semaines avec un “s”)
2019-10-29 11:40:16 +01:00
Maxime Quandalle 648fb249ed ⚙️ Meilleure grammaire pour les unités litérales
Deplacement de la détection de la règle "words" (ie une suite de mots)
du lexer/tokenizer vers le parser. Le lexer se contente de donner les
mots un à un, et une liste de "words" est détectée via une règle Nearley.

Cela permet de corriger l'ambiguité entre unités et noms de variables qui
est dépendante du contexte et ne peut donc pas être levée au niveau du lexer.
2019-10-29 11:40:16 +01:00
Maxime Quandalle 544ffbfd54 🖊 Corrections orthographiques de pluriels 2019-10-28 18:14:16 +01:00
Johan Girod 7a7e7f539f 🐛 remonte en haut de la page lorsque l'on navigue vers un simulateur
fix #748
2019-10-25 16:59:52 +02:00
Johan Girod 4545e4a011 🐛 répare la page blanche lors du parcours création
Fix #750
2019-10-25 16:56:38 +02:00
Johan Girod ab502f916d
Merge pull request #746 from betagouv/quickfix
remove header from integrations
2019-10-24 15:51:41 +02:00
Johan Girod 58e13df9bb remove header from integrations 2019-10-24 15:51:07 +02:00
Johan Girod 6f664f5905
Merge pull request #709 from betagouv/nouvelle-landing
Nouveaux parcours
2019-10-24 12:16:49 +02:00
Johan Girod 7c7ae476fc 👽 traduit l'économie collaborative et réorganise la page des obligations 2019-10-24 12:10:36 +02:00
Johan Girod b63701b599 Plus de redirections intempestives 2019-10-23 18:18:43 +02:00
Johan Girod b5d6025c89 🎨 rends les animations plus discrète 2019-10-23 12:21:48 +02:00
Johan Girod 1593cdcd69 🎨 🖋️ prend en compte les modifications de la revue 2019-10-23 12:21:48 +02:00
Johan Girod f2ba57eca8 Ajoute les redirections coté front
Vu qu'on utilise un serviceworker, lorsque la requête ne passe pas jusqu'au serveur, la redirection n'est pas effective
On parse les règles de redirection netlify coté front et on les ajoute à l'app
2019-10-23 12:21:48 +02:00
Johan Girod f958e632d5 Ajoute des tests extensif pour tous les simulateurs 2019-10-23 12:21:48 +02:00
Johan Girod c40ae69660 👽 ajoute les traductions pour la nouvelle architecture 2019-10-23 12:21:48 +02:00
Johan Girod 7ed50ebb9c ajoute les redirections netlify 2019-10-23 12:21:48 +02:00
Johan Girod 9b80e87674 🐛 répare le guide du statut juridique 2019-10-23 12:21:48 +02:00
Johan Girod 2b271a903f 🐛 silent fail when state is corrupted 2019-10-23 12:21:48 +02:00
Johan Girod 8b7741ec7e Ajoute les ressources utiles 2019-10-23 12:21:48 +02:00
Johan Girod b27c9576fb Nouveau parcours de création 2019-10-23 12:21:48 +02:00
Johan Girod 45d73f1159 Ajoute une page qui liste les simulateurs 2019-10-23 12:21:48 +02:00
Johan Girod 1aa05d1d1b Nouvelle navigation avec boutons retours pour le parcours gérer 2019-10-23 12:21:48 +02:00
Johan Girod 3eda3ae705 Add a jsconfig file for webpack top alias 2019-10-23 12:21:48 +02:00
Johan Girod 70c4b488eb 🎨 🐛 taille du logo sur ie et safari 2019-10-23 12:21:48 +02:00
Johan Girod 044597132f 🎨 🐛 problème sur le prerender des styled component 2019-10-23 12:21:48 +02:00
Johan Girod c33248fd1e ajoute la description à la page de choix de statut 2019-10-23 12:21:48 +02:00
Johan Girod 60bc060c31 🎨 ajoute un header sur toutes les pages 2019-10-23 12:21:48 +02:00
Johan Girod d70c64d83f Ajoute la prise en compte du dirigeant majoritaire et un lien vers la page sécurité sociale 2019-10-23 12:21:48 +02:00
Johan Girod 73c79e4b81 ajoute un nouveau parcours gérer mon entreprise 2019-10-23 12:21:48 +02:00
Johan Girod 936d436f43 🔥 enlève les reducers inutiles 2019-10-23 12:21:48 +02:00
Johan Girod f56704de8c 💚 répare les tests E2E 2019-10-23 12:21:48 +02:00
Johan Girod 0d482a0107 🎨 améliore l'animation de feedback sur le click des boutons 2019-10-23 12:21:48 +02:00
Johan Girod b87bd23ab5 🎨 accelère l'animation de checkbox 2019-10-23 12:21:48 +02:00
Johan Girod 2d0d443687 👽 ajoute les traductions manquantes 2019-10-23 12:21:48 +02:00
Johan Girod e684ddfc4e 🎨 redesign la landing
fix #621
2019-10-23 12:21:48 +02:00
Johan Girod 148ac62001 🎨 Améliore le contraste des couleurs pour l'accessibilité (AA) 2019-10-23 12:21:48 +02:00
Johan Girod 957242301a 🎨 uniformise les styles entre card et button-choice 2019-10-23 12:21:48 +02:00
Maxime Quandalle 275664b417
Merge pull request #741 from betagouv/smic-heures-sup
Prise en compte des heures supplémentaires dans le paramètre SMIC des réductions
2019-10-22 18:32:13 +02:00
Maxime Quandalle 5901f589d6
🔨 Réductions de cotisations avec heures supplémentaires
Le paramètre SMIC utilisé dans le calcul des réductions, en particulier
de la réduction générale, doit prendre en compte les heures supplémentaires.

Cette non prise en compte nous conduisait à sur-estimer le montant des
cotisations sociales sur les heures supplémentaires.
2019-10-22 13:31:08 +02:00
Maxime Quandalle 9a466f0b1d
Merge pull request #739 from betagouv/snapshot-testing
Snapshot testing
2019-10-22 10:44:45 +02:00
Maxime Quandalle 1e7730dd25
Snapshot testing
Ajout de tests de non-regressions des calculs afin d'éviter de déployer
silencieusement des effets de bord non-désirés dans les règles de calculs.

J'ai ajouté Jest pour sa fonction de snapshot testing qui est
particulièrement adaptée pour ce type de cas (voir #717). J'ai essayé
avec mocha-snapshot sans succès.

J'ai eu un petit peu de mal à configurer Jest, car il n'est pas possible
de ré-utiliser la configuration Webpack, qu'il faut alors dupliquer. C'est
pourquoi j'ai limité l'utilisation de Jest aux seuls tests de snapshot.
À voir s'il y a un intérêt à migrer les tests Mocha vers Jest ultérieurement.

Fixes #717
2019-10-22 10:35:31 +02:00
Maxime Quandalle 3017c81f33
🐛 Correction pluralisation d'une unité 2019-10-17 18:10:16 +02:00
Mael 2137d7325b
Merge pull request #738 from betagouv/laem-patch-2
Typo titre du site publi.codes
2019-10-17 16:55:56 +02:00
Mael 5707034a36 Typo titre du site publi.codes 2019-10-17 16:49:22 +02:00
Maxime Quandalle 90c1548e65
Merge pull request #736 from betagouv/documentation-bareme
Meilleure documentation des barèmes
2019-10-17 15:12:24 +02:00
Maxime Quandalle 9be4ff0ca3
⚙️ Support des unités dans les formules litérales
Implémentation de #730
2019-10-17 15:04:06 +02:00
Maxime Quandalle f67098a29b
🐛 Serialisation d'une unité nulle
Corrige #737
2019-10-17 09:33:00 +02:00
Maxime Quandalle 6440b3fad4
Test de la traduction et pluralisation des unités
Implémentés dans 139ca46
2019-10-17 09:33:00 +02:00
Maxime Quandalle bcb251923c
🎨 Meilleur affichage des multiplicateurs
Affichage des multiplicateurs directement au niveau des tranches et
supprime l'affichage du label "multiplicateur" qui était difficile à
comprendre.

Ajout d'un attribut de règle "acronyme", utilisé pour afficher un nom de
règle plus court au niveau des tranches d'un barème.
2019-10-17 09:33:00 +02:00