Commit Graph

282 Commits (872133aefcdd1aaac76b89bd01ba2d822fc67974)

Author SHA1 Message Date
Johan Girod 83b9e55d6e Ajoute une version CDN de la lib (avec toutes les dépendances, pour utiliser directement dans le navigateur)
fix #1211
2020-12-11 13:39:42 +01:00
Johan Girod 0d50e03777 Ajoute la possibilité d'importer publicodes en ESModule natif
Pour cela, la solution la plus simple est de faire un wrapper autour de l'api exposée.
Il ne faudra pas oublier de le mettre à jour.

[A lire pour en savoir plus](https://redfin.engineering/node-modules-at-war-why-commonjs-and-es-modules-cant-get-along-9617135eeca1)

fix #1239
2020-12-11 13:39:42 +01:00
Johan Girod 41d80b980a Apply suggestions from code review
Co-authored-by: Maxime Quandalle <maxime.quandalle@gmail.com>
2020-12-10 17:16:43 +01:00
Johan Girod 6ed470ca1a Enlève les attributs formules aux exemples des mécanismes 2020-12-10 17:16:43 +01:00
Johan Girod 1ea7722aa5 🖋️ tri les mécanismes par ordre alphabétique 2020-12-10 17:16:43 +01:00
Johan Girod b3be527ae2 🖋️ ajoute des descriptions pour les nouveaux mécanismes 2020-12-10 17:16:43 +01:00
Johan Girod 7630a24475 🖋️ améliore la documentation pour refleter les changements récents de publicode 2020-12-10 17:16:43 +01:00
Johan Girod f68e886b78 🎨 Améliore l'affichage des noms des règles imbriquées 2020-12-10 16:54:21 +01:00
Johan Girod 2c930a3877 🎨 Petites améliorations graphique pour la doc 2020-12-10 16:31:09 +01:00
Johan Girod 08e5b734ba ⚙️ améliore la résolution des noms dans les règles
Lorsque l'on cherche un nom de règle, on laisse la possibilité à
une règle de se référencer elle même, mais alors cette résolution
est la dernière à être envisagée.

Dans l'exemple :
```yaml
b: 5
a . b: b
```
`a . b` référence bien `b` qui vaut `5`

Et dans celui ci :
```
a: 0
a . b:
  remplace:a
  par: b * 5
  valeur: 2
```
`a . b` remplace `a` en la multipliant par sa propre valeur (ici 2)

fix #1081, fix #1083
2020-12-10 16:31:09 +01:00
Maxime Quandalle 800ade5a0a Prettier s'occupe aussi des scripts 2020-12-10 12:23:16 +01:00
Johan Girod bba2371e76 🎨 Rétabli le bouton "déplier" dans les sommes...
Maintenant pour toutes les règles, y compris quand ce ne sont pas des sommes
2020-12-09 19:12:23 +01:00
Johan Girod 1a628879a2 🐛 fix la possibilité d'avoir choix obligatoire = non pour le mécanisme une possibilité 2020-12-09 17:41:29 +01:00
Johan Girod d418f2b123 💚 fix CI test 2020-12-09 17:28:26 +01:00
Johan Girod 6986e20455 🎨🐛 Simplifie l'écriture des composantes, et affiche les calculs dans les règles imbriquées 2020-12-09 17:12:55 +01:00
Johan Girod 9b208e967a 🐛 Réimplémente une version hacky de isApplicable : isNotApplicable
En attendant d'avoir un type propre pour la valeur Non Applicable
2020-12-09 17:07:10 +01:00
Johan Girod 546d0276c0 Corrige la page blanche sur indemnité-kilométrique-vélo 2020-12-09 15:49:47 +01:00
Maxime Quandalle c2149ac047 🐎 Ajoute un cache au niveau des nœuds 2020-12-09 13:10:19 +01:00
Maxime Quandalle a5634ab547 🐎 Nœuds remplace partagés 2020-12-09 13:10:19 +01:00
Maxime Quandalle b9b8a0c9bf 🐎 Correction de l'algo de désactivation d'espace de nom
La vérification de l'applicabilité du parent faisait un aller/retour
inutile entre la règle enfant et la règle parent, à l'origine d'une
régression de performance.
2020-12-09 13:10:19 +01:00
Maxime Quandalle e1941078c0
Sort les fonctions jsx de l'AST (#1275)
* ⚙️ Sort les fonctions JSX de l'AST

Remplace la fonction makeJsx par un composant React <Explanation />

Déplace presque tout le code React dans le répertoire components/ en
prévision de sa séparation dans un paquet dédié.

* ⚙️ Renomme le nœud "replacement" en "replacementRule"

* ⚙️ Ajout d'un attribut visualisationKind pour les mécanismes transformées

* ⚙️ Retours PR 1275
2020-12-08 12:40:54 +01:00
Johan Girod 80282ed0fd ⚙️ meilleure implémentation de par défaut 2020-12-08 10:40:18 +01:00
Johan Girod 8d3d6560af Change pour suivre les conventions de nommage 2020-12-07 14:40:59 +01:00
Johan Girod 87de1210ee Corrige le linting 2020-12-07 14:40:59 +01:00
Johan Girod 16743800df Renomme updateAST en transformAST et ajoute des commentaires explicatifs 2020-12-07 14:40:59 +01:00
Johan Girod 3f449b7dbb corrige un type 2020-12-07 14:40:59 +01:00
Johan Girod 9ce1791ff2 ⬆️ Update prettier for supporting =?? syntax 2020-12-07 14:40:59 +01:00
Johan Girod fae2efa9bb 💚 corrige pour faire passer les tests de non regression 2020-12-07 14:40:58 +01:00
Johan Girod ab02bbb5f5 🔥 Mise à jour du site mon-entreprise suite aux refacto de evaluateRule 2020-12-07 14:39:53 +01:00
Johan Girod ba01ae2d4f ⚙️🔥 Ajoute un AST bien typé pour publicodes
- Introduction de nouveaux mécanismes
- Réecriture de l'evaluation et du parsing des règles.
- Les règles peuvent apparaître dans les formules de calcul
- Introduction d'un AST en bonne et due forme
- Réecriture de buildRuleDependancies.
- Ajout d'une passe pour la désambiguation des références
- Réecriture de rendNonApplicable et de remplace
- Réimplémentation de parentDependancy

Voir #1191
2020-12-07 14:39:53 +01:00
Maxime Quandalle b2cee93d58 📏 Active le mode strict de TypeScript sur la partie mon-entreprise 2020-11-24 16:22:17 +01:00
Maxime Quandalle d7f140334e 🐎 Accélère l'inversion
La fonction `uniroot` prend 2 paramètres d'amorçage "min" et "max" qui
nous définissions jusqu'alors comme des minimums et maximum absolus
-10^8 et +10^8. Vu que nous sommes obligés de calculer au moins une
première valeur à l'extérieur de `uniroot` notamment pour calculer les
variables manquantes, ce commit permet de ré-utiliser ce calcul dans
l'amorçage d' `uniroot`.

Les gains de performances sont détaillés dans la PR associée.

Par ailleurs supprime l'option "valeurs négatives possibles" rendue
obsolète.

Il y a des légers décalages d'1€ sur une dizaine de snapshots qui liés à
des arrondis à l'euro. On calcule en effet les inversions à 10 centimes
près et on peut donc tomber sur une valeur de xx,54€ là où la vraie
valeur est xx,48€ ce qui donne 1€ de différence avec l'arrondi alors que
la différence initialement calculée est inférieure à 10 centimes.

Par curiosité j'ai rejoué les tests de non-régressions en changeant les
paramètres d'`uniroot` pour avoir une précision au centime près (en
augmentant le nombre max d'itération à 50) et il se trouve que sur la
dizaine de tests différents entre ce commit et la version d'avant une
moitié des arrondis à l'euro étaient faux avant et corrects maintenant
et inversement pour l'autre moitié.
2020-11-23 15:55:17 +01:00
Maxime Quandalle f19b77a3fb 👽 Prose et traductions 2020-11-20 17:21:45 +01:00
Maxime Quandalle cc602e1a48 ⬆ MAJ TypeScript vers 4.1
Plein de nouveautés et notamment la possibilité de "programmer" les
types chaînes littérales qui nous sera utile par exemple pour vérifier
statiquement la validité d'une *expression* publicode dans
`engine.evaluate`.
https://devblogs.microsoft.com/typescript/announcing-typescript-4-1/

⬆ MAJ ESLint-typescript pour la compatibilité
2020-11-20 12:08:21 +01:00
Mael 9009d48363 Create README.md 2020-11-18 17:55:04 +01:00
Alexandre Hajjar 6ceedfea15 🔥 Rm régularisation 2020-11-17 17:57:36 +01:00
Alexandre Hajjar 4087bdd959 📝 /\t/ / in markdown docs 2020-11-17 17:56:37 +01:00
Alexandre Hajjar 660bcf05fb
📝 Publicodes docs update (#1208)
📝 Publicodes documentation update

* composantes
* sychronisation
* Simplify inversion docs
*  Use tabs in markdown files
* API docs
* JS attribut -> propriété

Co-authored-by: Johan Girod <johan.girod@beta.gouv.fr>
2020-11-17 11:43:38 +01:00
Maxime Quandalle 69b663d132 🐎 Ajout d'un cache pour l'applicabilité
En analysant les traces d'execution, il apparaît qu'un temps conséquent
est passé dans la fonction `evaluateApplicability`. L'ajout d'un cache
simple semble améliorer significativement les performances (environ -30%
dans mes mesures non scientifiques).
2020-11-13 11:32:33 +01:00
Maxime Quandalle c216740a35 🐛 Permet le passage des tests dans la CI même avec des erreurs de type 2020-11-12 10:24:35 +01:00
Maxime Quandalle c6bd92d5f9 🐛 Supprime l'obligation de déclarer les parents dans le Publicode Studio
Et lien local local vers le publicode Studio quand on est en développement local
2020-11-12 10:24:35 +01:00
Maxime Quandalle b105933234 🐛 Ajoute les dépendances lors de l'import dans le Studio
Fixes #1157
2020-11-12 10:24:35 +01:00
Maxime Quandalle f1c810346f ⚙️ Ajoute un attribut "dependencies" sur les règles parsées 2020-11-12 10:24:35 +01:00
Maxime Quandalle fcd8306ace ⚙️ Petites simplifications du code du moteur
- évite l'indirection vers "parseReferenceTransforms" pour les
  références simples (il faut encore simplifier ce code)
- déplacement de fonctions de parsage vers les "stateless"
- typage de registerEvaluationFunction
- simplifie fragments.join()
2020-11-05 18:25:43 +01:00
Maxime Quandalle edcd1d46d1 🔨 Ajoute le plancher pour les frais pro IR
cf. https://github.com/betagouv/mon-entreprise/pull/1193#discussion_r517924266
2020-11-05 15:50:58 +01:00
Maxime Quandalle bc8c4d823a ⚙️ Nouvelle API d'évaluation
Modifie l'API de la fonction `evaluate` pour transmettre le contexte
avec `this`, ce qui simplifie l'interface de ces fonctions.

L'objet `this` (qui contient `this.parsedRules`, `this.situation`,
`this.evaluate`, etc.) est un interpréteur Publicodes, mais nous n'avons
pas besoin de créer une nouvelle abstraction car cet objet présente
exactement la même interface que l'objet public exposé dans
`publicodes/index.ts` et c'est donc l'interface publique qui est
utilisée dans les appels internes.
2020-11-05 10:22:48 +01:00
Maxime Quandalle c66e529fb7 ⚙️ Ajout d'un type de nœud serialisable
Ce commit parachève la sortie de l'ensemble des functions "evaluate" de
l'AST et ajoute un "nodeKind" sur chaque nœud afin de les associer à la
bonne function d'évaluation.

L'API pour les mécanismes pourra être améliorée afin de ne pas appeler
`registerEvaluationFunction` sur chaque mécanisme mais en standardisant
l'interface exportée par les mécanismes, par exemple

  export { name, parse, evaluate, render }

Par ailleurs il devrait être facile de sortir les fonctions `jsx` en se
basant sur les mêmes "nodeKind".

Enfin, il faudra nettoyer l'AST pour supprimer les attributs inutilisés
et ajouter du typage fort.
2020-11-05 10:22:48 +01:00
Johan Girod fcb44fc317 transforme applicable si et non applicable si en mécanisme chainée
Par la même occasion, uniformise l'écriture des mécanismes chainées
2020-11-04 11:59:03 +01:00
Johan Girod f738e64710 Utilise une version auto-hebergé des polices plutôt que celles du CDN font.google
See #606
2020-11-03 10:44:44 +01:00
Johan Girod 51e69b7220 🐛 corrige #1176 2020-11-03 10:44:44 +01:00
Maxime Quandalle dd23d8f73d ⚙️ Précision adaptative de l'inversion
Si une inversion n'est pas trouvée à 0,1 près, fallback à 1 près.

Utile pour les cotisations des avocats, et permet de réaliser certaines
inversions qui étaient impossibles jusqu'à lors (cf. snapshots).
2020-10-30 14:45:09 +01:00
Johan Girod a681df71b5 🔨 prends en compte les retours CARMF 2020-10-26 11:55:40 +01:00
Maxime Quandalle 1ce36b4305 🤩 Affichage des références sur les réponses aux questions 2020-10-21 16:54:37 +02:00
Johan Girod 2223bd2792 🐎 rends paresseuse l'évaluation du mécanisme "toutes ces conditions" 2020-10-14 18:47:08 +02:00
Maxime Quandalle a56237c2ae ⚙️ Sort les fonctions evaluate des "ruleProps" 2020-10-13 12:55:42 +02:00
Maxime Quandalle 33eb6c32db ⚙️ Sort la fonction evaluateReference de l'AST 2020-10-13 12:55:42 +02:00
Johan Girod 0e6c81278c 🖋️ maj le texte des règles sur l'impôt 2020-10-12 17:15:21 +02:00
Johan Girod 6502039b0b 🎨 petites amélioration style modale 2020-10-12 17:15:21 +02:00
Johan Girod 941f6fcdeb 🐛 Désactive la logique de règles sans page de documentation, qui souffre de limites actuelles
- On veut pouvoir afficher un lien vers la règle définissant la [ref] lorsqu'on est dans une formule avec une référence virtuelle
- Si on fait référence dans une règle à une notification sans formule (juste applicable) la règle crash

En attendant une réecriture de l'inlining qui permette d'ajouter le contexte à la référence appelée (référence ou définition),
je préfère désactiver cette logique
2020-10-12 17:15:21 +02:00
Johan Girod 5876519d75 🐛 rétabli l'affichage des règles reliées dans la documentation 2020-10-12 17:15:20 +02:00
Johan Girod b61b7d4e0d Réecrit les questions sur les IJSS pour les PAMC 2020-10-12 17:15:20 +02:00
Johan Girod f74bbc8a31 Ajoute un bouton pour cacher la règle publicodes dans la documentation 2020-10-12 17:15:20 +02:00
Johan Girod 8f5bea211e 🐛 répare la notif et le calcul de la réduction retraite complémentaire CARCDSF 2020-10-12 17:15:20 +02:00
Maxime Quandalle 6fa30e505c Ajout d'un test d'intégration pour le temps partiel au smic
Ainsi que d'un test unitaire pour les références dans la situation
2020-10-11 16:51:19 +02:00
Maxime Quandalle 973f12ab46 ⚙️ Évalue la situation dans l'ordre topologique
Nous utilisions jusqu'à présent le code suivant pour évaluer la situation:

> mapObjIndexed(value => evaluateExpression(value), situation)

c'est à dire une évaluation ligne par ligne. Or si certaines valeurs de
la situation contiennent des références, il faut les évaluer dans le bon
ordre.

Avec cette modification, seul le parsage est fait lorsqu'on appelle
`setSituation` et l'évaluation est faite ultérieurement lorsque c'est
nécessaire avec la même logique que pour les règles.

L'implémentation a pour effet de bord de ne plus supprimer l'utilisation
de true / false dans la situation qui doivent être remplacés par "oui"
et "non".
2020-10-11 16:51:19 +02:00
Maxime Quandalle 4789dfce04 🐛 Corrige la saisie du SMIC à temps partiel
Grâce aux récentes évolutions de Publicode, ce retour utilisateur
fréquent trouve une solution particulièrement simple et élégante en
remplaçant la valeur littérale du SMIC par une référence vers le SMIC
contractuel. Cela procure les avantages suivants :
- Le montant du SMIC est défini une seule fois dans la base de règles,
  et on y fait référence partout où on l'utilise
- Vu que c'est la référence qui est stockée dans la "situation" on peut
  répondre à la question "temps partiel" après avoir cliqué sur "SMIC"
  dans la case "salaire brut" et le montant correspondant va
  automatiquement se recalculer.

A nécessité quelques menues modifications du code qui gère les
références dans la situation pour corriger des bugs.

Fixes #649
2020-10-11 16:51:19 +02:00
Alexandre Hajjar 343ca00a27 ⚙️ Detect cycles in parsed rules
Build a dependencies graph and detect cycles:
* Types and guards for nodes of the ParsedRules AST
* Simple visitor framework for the nodes and their `formule` sub-nodes
* Build a directed graph for dependencies using @dagrejs/graphlib
2020-10-09 13:30:39 +02:00
Alexandre Hajjar 960fda08e6 📝 Remplace & applicable: split getApplicableReplacements & tests
* Split and document `getApplicableReplacements`
* More remplace tests
* `isDisabledBy` is mandatory in `ParsedRule`
2020-10-09 13:30:39 +02:00
Johan Girod 9f1fb9f482 🐛 Désactive le remplacement pour la documentation 2020-09-30 18:09:16 +02:00
Maxime Quandalle ce5013cdc3 Vérifie l'unité des suggestions
Pour éviter les bugs comme celui corrigé dans caff99f qui était encore
présent dans la règle "contrat salarié . rémunération . brut de base .
équivalent temps plein"

La vérification de la cohérence d'unité n'est pas suffisamment stricte
pour détecter tous les problèmes, issue à venir.
2020-09-29 12:01:41 +01:00
Maxime Quandalle 4748d33a71 🐛 Corrige l'affichage de certaines pages de doc
Fixes #1132
2020-09-29 12:01:41 +01:00
Maxime Quandalle aa0e42de78 🔥 Supprime la décote et la franchise
Le mécanisme "allègement" proposaient ces deux paramètres ajoutant
beaucoup de complexité pour une seule utilisation dans la base de règle
qui peut être remplacée par une formule littérale.

Closes #1119
2020-09-29 11:16:01 +01:00
Johan Girod 71929c9e03 Revert "⚙️ Toujours retourner une valeur pour isApplicable"
This reverts commit 29c74da20b.
2020-09-23 14:34:26 +02:00
Johan Girod d9b6ea706c 🔨
- Change l'organisation des cotisations indépendant (toutes les cotisations sont au même niveau)
- Change l'assiette de calcul de la CSG, qui est basée sur toutes les cotisations sociales obligatoire (à vérifier)
- Change le mode de calcul de l'assiette de remboursement CPAM, qui est basée sur les revenus conventionnés (ajoute une question sur le pourcentage conventionné / non conventionné)
- Change l'organisation des PL en PL . PAMC (régime URSSAF) et PL . CAR*** (caisse de retraite) pour mieux prendre en compte le médecin non conventionné
- Désactive le subSimulateur en attendant d'améliorer sa logique
2020-09-23 10:43:08 +02:00
Maxime Quandalle 13f051c22e 📚 Ne pas afficher certaines pages de documentation
Fixes #1129
2020-09-22 19:21:58 +01:00
Maxime Quandalle 847b4eeb4c 🔥 Refacto des contrôles
Ce commit supprime le concept de "contrôle" au sein du moteur, en les
remplaçant par des règles publicodes classiques. Cela permet notamment
d'uniformiser les règles d'applicabilité (désactivation via espace de
nom ou "rend non applicable" par exemple) ainsi que d'accéder à la
valeur d'un contrôle donné avec le nom de la règle correspondante.

Par ailleurs renomme le concept de "contrôle" en "notifcation" dans la
partie mon-entreprise/.
2020-09-22 19:21:58 +01:00
Maxime Quandalle 29c74da20b ⚙️ Toujours retourner une valeur pour isApplicable 2020-09-22 19:21:58 +01:00
Maxime Quandalle 633275e090 🐛 Corrige l'affichage des références dans la documentation 2020-09-15 16:27:24 +02:00
Maxime Quandalle 862b1dacb9 ⚙️ Convertit le ficher parseReference en Typescript 2020-09-15 11:58:18 +02:00
Maxime Quandalle 34e9204eba 🔥 Supprime la fonction collectDefaults
Cette fonction n'était plus utilisée depuis #1025
2020-09-15 11:58:18 +02:00
Maxime Quandalle d43ab13942 ⚙️ Simplifie la logique de la fonction evaluateNode 2020-09-15 11:58:18 +02:00
Maxime Quandalle 2236e32674 Corrige la configuration Eslint 2020-09-12 18:40:36 +02:00
Maxime Quandalle eaf0ae38ae Corrige une erreur de type 2020-09-07 17:55:35 +02:00
Maxime Quandalle 8dbae98785 Landing pages dédiées par profession médicale 2020-09-07 17:55:35 +02:00
Johan Girod 7723f92e98 🐛🔨 corrige les taux acre pour les auto-entrepreneur
La réforme a été appliqué à partir du 01/04/2020 et non du 01/01/2020 comme prévu à l'origine
2020-09-04 12:06:39 +02:00
Maxime Quandalle 009fe610ae ⚙️ Ne pas remonter les missingVariables des règles rendues non applicables 2020-09-01 17:15:45 +02:00
Johan Girod 26c15baa2b 🐛 répare le comportement de l'autocomplète de commune au click 2020-08-28 17:57:12 +02:00
Johan Girod 8b0f6a4a7e 🤩 Les popups modales s'ouvrent sans géner l'utilisateur désormais
- Les modales sur mobile s'ouvrent en bas pour être facilement fermée
- Les modales sur iframe s'ouvrent au même endroit que sur le site normal (plus de bug de scroll / déplacement intempestif
2020-08-28 17:57:12 +02:00
fm89 98b6b76d58
Corrige le lien cassé vers le dossier du dépôt 2020-08-27 09:04:40 +02:00
Johan Girod e60afdb3e9 🐛 corrige l'url pour le script de download des règles 2020-08-24 12:08:09 +02:00
Johan Girod 95b94118b3 ⬆️ upgrade yarn.lock 2020-08-24 11:42:50 +02:00
Johan Girod b907d81e86 🔨 🐛 ajout une règle de non cumul des dispositifs de réduction de cotisations 2020-07-03 19:22:40 +02:00
Johan Girod bbdfa151c6 Termine le formulaire de demande de mobilité en Europe
- Ajoute la possibilité de signer via un écran tactile
- Améliore le parcours du formulaire
- Prends en compte les retours ACOSS
- Ajoute une possibilité d'intégration en iframe (non listée dans les intégrations officielles)
2020-07-03 16:40:43 +02:00
Johan Girod 7ec1234638 💚 répare les tests et lance prettier après la traduction auto 2020-06-18 10:37:28 +02:00
Johan Girod 8631d47ace 💚 répare les tests 2020-06-18 10:14:34 +02:00
Johan Girod c2a6dce3bf Ajoute la recherche par code postal pour les communes 2020-06-18 09:51:16 +02:00
Johan Girod 168e4105cb Ajoute la génération du pdf à partir du formulaire completé 2020-06-18 09:51:16 +02:00
Johan Girod 02f5d790b9 Ajoute un nouveau formulaire pour la demande de détachement
Donne l'occasion d'experimenter avec la génération automatique de formulaire
en publicodes. Pas mal de question à creuser, mais quelques pistes interessantes
2020-06-18 09:51:14 +02:00
Maxime Quandalle d42504f47a 🐛 Corrige un bug de navigation dans les questions
Ainsi qu'un problème avec la saisie des suggestions avec unités.
cf. https://github.com/betagouv/mon-entreprise/pull/1076#issuecomment-644135851
2020-06-16 14:09:23 +02:00
Maxime Quandalle 48cf8d90ef 🔥 Supprime un TODO obsolète 2020-06-16 14:09:23 +02:00
Maxime Quandalle 12a4f96368 🔥 Supprime la fonction getSituationValue 2020-06-16 14:09:23 +02:00
Mael 8b5295b867
🖊 Corrige des coquilles dans la documentation publicode (#1068) 2020-06-08 23:13:31 +02:00
Maxime Quandalle b9ac00a6e8 ⚙️ Supprime l'argument `k` en paramètre des mécanismes 2020-06-06 14:18:45 +02:00
Maxime Quandalle b9f6d8249e ⚙️ Factorise la gestion des composantes hors des mécanismes 2020-06-06 14:18:23 +02:00
Maxime Quandalle 6bb8973809 🎨 Affiche différemment les règles non applicables dans une somme 2020-06-08 11:37:23 +02:00
Maxime Quandalle 38c2051232 ⚙️ Sépare les mécanismes dans des fichiers distincts
Refacto qui avait été commencée sans aller au bout.
Sort aussi quelques fonctions `evaluate` des fonctions de parsage
lorsque qu'elle n'utilisent pas les paramètres de `parse`.
2020-06-04 13:57:49 +02:00
Johan Girod 3f31d5d32f 🖋️ enlève les références à `useDefaultValues` de la documentation 2020-06-04 12:36:58 +02:00
Maxime Quandalle 7a2e7cff4d 🔥 Supprime la variable de contexte useDefaultValue 2020-06-04 12:36:58 +02:00
Maxime Quandalle ac8f09fd16 ⚙️ Intégre les missingVariables dans le moteur 2020-06-04 12:36:58 +02:00
Johan Girod d3fb23b2bb 🐎 charge la coloration syntaxique uniquement si besoin
- enlève la librairie react-syntax-highlighting des dépendances de publicodes
- affiche un fallback avec le code source non coloré pendant le chargement de la librairie
2020-06-03 18:11:33 +02:00
Johan Girod 9e81494e5e 🐎 mécanisme recalcul : si la situation ne change pas, le cache n'est pas supprimé 2020-06-03 14:41:11 +02:00
Johan Girod 16d5696378 🎨 améliore la gestion du `line-height` dans l'application 2020-05-28 12:24:49 +02:00
Johan Girod 3e978a6986 rajoute le bouton 'voir source' sur la documentation publicode 2020-05-27 11:45:01 +02:00
Johan Girod 871f63ff89 🖋️ ajoute de la doc publicodes sur les composants react exportés 2020-05-27 10:44:02 +02:00
Johan Girod dec259877d 🖋️ ajoute un paragraphe sur les peerDepencies dans la doc api 2020-05-27 09:45:13 +02:00
Johan Girod 60cae1f5ce 🐛 corrige une erreur dans l'affichage d'unité avec pourcentage 2020-05-26 17:33:26 +02:00
Johan Girod b175945d78 ajoute un prototype d'interface pour les warnings du moteur 2020-05-26 16:40:22 +02:00
Johan Girod 2351726034 corrige les tests 2020-05-26 16:15:12 +02:00
Johan Girod e4bcb40aa2 ⬆️ bump publicodes to beta.3 2020-05-26 15:01:57 +02:00
Johan Girod 612ea77cfc Ajoute les explications des mécanismes sur la documentation publicodes 2020-05-26 13:20:54 +02:00
Johan Girod 7b704445da 🖋️ améliore la doc api 2020-05-25 20:36:29 +02:00
Johan Girod cf9e2b4b3c 🖋️ améliore la doc api 2020-05-25 20:17:55 +02:00
Johan Girod c449c3dd3e 🖋️ met à jour la doc de l'intégration librairie sur mon-entreprise pour utiliser le paquet publicodes 2020-05-25 19:26:52 +02:00
Johan Girod 1e43f3d758 🔥 change l'api de formatValue pour une version plus cohérente 2020-05-25 17:06:15 +02:00
Johan Girod c6459f6d3c 🎨 precharge les images du moteur en blob
Ce, afin de ne pas à avoir à gérer les fichiers importés. Ceci étant dit, c'est une solution temporaire. Dans le futur, il faudrait plutôt se baser sur les balise og des sources
2020-05-19 19:31:04 +02:00
Johan Girod f3c9d7c60d 🐛 corrige le montant de la CSG dans l'aide aux indépendants
note : il faudra songer sérieusement à modifier ce mécanisme de composante, source de nombreux bug (cf #874)

Ajoute des tests de non regressions pour la page d'aide
2020-05-19 18:07:19 +02:00
Johan Girod aa2525d7df 🎨 Améliore le style des règles
Et abandonne l'import de feuille de style dans le moteur pour lui préférer les styled-components
2020-05-19 16:43:18 +02:00
Johan Girod 9b9e25d57f 🖋️ ajoute la documentation pour l'api (partie référence) 2020-05-19 10:06:50 +02:00
Maxime Quandalle 7a8d0a18d8 🖊 Rédaction doc API publicode 2020-05-19 10:06:50 +02:00
Johan Girod 046076f32d 🔥 renomme la commande 'compile' en 'build' pour être conforme aux normes
Et éviter de créer de la confusion si une prochaine commande compile devait venir pour la compilation des règles publicodes
2020-05-18 20:10:03 +02:00
Johan Girod aad6eee12f Investigue la publication du paquet npm publicode 2020-05-18 16:44:12 +02:00
Johan Girod d91283cde2 🔥 Sépare le moteur dans un packet isolé 2020-05-14 15:25:22 +02:00