1
0
Fork 0
mirror of https://github.com/betagouv/mon-entreprise synced 2025-02-09 02:55:01 +00:00
Commit graph

715 commits

Author SHA1 Message Date
Johan Girod
0c94d01543 🐛 corrige les problèmes d'inversion lorsque l'on saisi 0€
fix #835
2020-01-14 15:52:38 +01:00
Johan Girod
4139db82f5 🐛 affiche tous les rapports sous forme de pourcentage 2020-01-08 11:21:58 +01:00
Johan Girod
878bb64c77 💚 répare l'ACRE (test de non regression) 2020-01-08 10:56:35 +01:00
Johan Girod
c2358605ae prends en compte les informations de l'api entreprise dans les simulations 2020-01-07 15:53:33 +01:00
Johan Girod
22bcda8e2a corrige le dispositif ZFU pour les indeps 2020-01-07 15:53:33 +01:00
Johan Girod
91d0989a87 🎨 Ajoute un input de type date 2020-01-07 15:53:33 +01:00
Johan Girod
4749727938 🔨 ⚙️ ajoute un mécanisme durée pour la proratisation de l'ACRE :wip: 2020-01-07 15:53:33 +01:00
Johan Girod
cae22f651d 🔨 ⚙️ corrige un bug qui faisait que les rend non applicable n'apparaissait pas dans les missings variables 2020-01-07 15:53:32 +01:00
Johan Girod
b54b369669 🔨 ajoute la déduction tabac
🐛⚙️ et corrige un bug dans le moteur lorsque plusieurs règles en, remplace une autre
2020-01-07 15:53:32 +01:00
Johan Girod
ff80f442c1 🔨 ajoute les conjoints collaborateurs 2020-01-07 15:53:32 +01:00
Maxime Quandalle
712f753d5d 🐛 Corrige la comparaison de régime
Fixes #813
Ajoute des types sur les règles et analysis pour éviter ce type d'erreurs
2019-12-20 12:49:49 +01:00
Maxime Quandalle
e5b42e2321
🔥 Supprime le HOC withColours
Renomme colour en color, pour-être cohérent avec le CSS
2019-12-18 23:06:46 +01:00
Maxime Quandalle
ca5b7cc2df
Ajout des types null et undefined
Ajout des paramètres strictNullChecks et strictPropertyInitialization
dans la configuration TypeScript et correction des environ 70 erreurs
de typage résultantes.
2019-12-18 18:52:32 +01:00
Johan Girod
a1d1e7d0ef 🖋️ améliore les informations concernant la micro entreprise 2019-12-18 14:02:00 +01:00
Maxime Quandalle
2e164f47fa ⚙️ Support des expressions dans le résultat d'un barème linéaire 2019-12-17 11:34:28 +01:00
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
Johan Girod
34085d3b31 🐛 répare le warning lors des inversions 2019-12-16 15:30:31 +01:00
Johan Girod
00b340fa5c 🐛 Corrige un bug sur le changement d'unité
Et enlève quelques console.log
2019-12-16 12:20:01 +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
Johan Girod
6b7f50fe4a ⚙️ ajoute la comparaison des dates 2019-12-16 11:33:38 +01:00
Johan Girod
e798dd6d02 ⚙️ support les mois au lieu de date complète 2019-12-16 11:33:38 +01:00
Johan Girod
a19843dc21 ⚙️ ajoute le parsing des dates 2019-12-16 11:33:38 +01:00
Maxime Quandalle
a45ea0c79e Mécanisme encadrement
Permet de définir un plafond et/ou un plancher sur une valeur
2019-12-12 10:45:56 +01:00
Maxime Quandalle
8044207d3d Améliorations simulateur artiste-auteur
Intégration des retours de l'URSSAF, ajout de l'option surcotisation
pour la retraite, changement de l'espace de nom de premier niveau.
2019-12-10 20:13:14 +01:00
Johan Girod
cb6d97e6de 💚 répare les test unitaires 2019-11-12 11:11:39 +01:00
Johan Girod
f224272f5c 🔨⚙️🔥 refactore les règles pour une meilleure lisibilité
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.
2019-11-11 18:47:43 +01:00
Johan Girod
41d3e17ce2 wip 2019-11-11 18:47:43 +01:00
Johan Girod
cb342ff7aa 🐛 corrections des bugs sur artiste et sportifs 2019-11-11 18:46:41 +01:00
Johan Girod
53f67bb329 🔨 debug les règles pour les sportifs 2019-11-11 18:46:41 +01:00
Johan Girod
66c09a8f64 ⚙️🔥 refactor parseReference pour moins de bugs
note: il y a encore du boulot, mais c'est mieux
2019-11-11 18:46:41 +01:00
Johan Girod
3bb5c1ec67 🔨 décommente les règles pour les sportifs 2019-11-11 18:45:54 +01:00
Johan Girod
fa1614b5fe 🔨 ajoute la gestion des missings variables pour les remplacement 2019-11-11 18:45:54 +01:00
Johan Girod
bfb09555dd 🐛 Corrige les erreurs de syntaxe du fichier de règles 2019-11-11 18:45:54 +01:00
Johan Girod
716d950733 ⚙️ ajoute la possibilité d'écrire des nombre dans les noms de variables 2019-11-11 18:45:54 +01:00
Johan Girod
ccb8f47a83 ⚙️ ajoute la possibilité de desactiver une branche via un booléen 2019-11-11 18:45:11 +01:00
Johan Girod
c0bd229cde ⚙️ supporte plusieurs remplacement d'un coup 2019-11-11 18:44:34 +01:00
Johan Girod
a63d02601f ⚙️ ajoute la gestion des filtre pour les variables remplacée 2019-11-11 18:44:34 +01:00
Johan Girod
bf9c8dd011 ⚙️ supporte les tableaux de contextes pour les remplacement 2019-11-11 18:44:34 +01:00
Johan Girod
f52b6b9808 ⚙️ ajoute la possibilité de restreindre le remplacement à un contexte donné 2019-11-11 18:44:34 +01:00
Johan Girod
988597a792 ⚙️ emplèche les boucles infinies dans le remplacement lorsque c'est possible 2019-11-11 18:44:34 +01:00
Johan Girod
db3b2a514c ⚙️ ajoute un mécanisme de remplacement de règle
Co-authored-by: Maxime Quandalle <maxime.quandalle@beta.gouv.fr>
2019-11-11 18:44:34 +01:00
Maxime Quandalle
7e2a4085a7 Poursuite de la migration TypeScript
* 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 !
2019-11-11 11:33:38 +01:00
Mael
0954c8c3f7 Déplacement de getInputComponent 2019-11-05 18:45:18 +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
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
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
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