* Prettier upgrade to 2.3.0.
* Run prettier on yaml files.
* Trim trailing whitespaces in yaml files (via editorconfig plugin).
* Translate rules again.
* Squashed 'publicodes/' changes from 10a30d32..71b68707
71b68707 📦 Publicodes v1.0.0-beta.16
bdc92216 Merge the tests and publish workflows
1c032ebc ✅ Add test for a value with a percentage in its unit
d2865e8c Disable sum optimization inside comparisons
f4faa35d Ajout d'un test qui casse l'implé actuelle des missing parentes
f6105283 🖋 Document packages publication on NPM
a79eeb86 Better Github workflows
d0db4d09 Import publish action
c268cff5 Type checking in CI
a35403d7 Correction formattage
3022fd78 Add a separate cache for applicability
35095da9 Optimize the evaluation of applicability
7525446e Add a github action to run tests on push
39a12a13 Ajout d'un prettierrc / reformattage de quelques fichiers récents
c296a25e Ajout d'un deuxièmes test non fonctionnel sur le sujet #33
9f5afb4e Désactivation d'un nouveau test pas encore résolu
76d00085 Récupération de la complexité initiale du test missing variations
93210235 🐛 Meilleures missingVariables des variations
369abeae Simplification du test missingVariables qui ne marche pas
64217d3d Nouveau test missing variables éval paresseuse variations
d9c3e1f6 Conversion d'un gros test JS object en YAML
615ae5e5 Ajout d'un test râté pour #33
d290b46d Passage à mochapack pour webpack 5
5d7a5b31 Paquets NPM et conf babel manquants
1df9a8d4 Ajout d'un .gitignore et yarn.lock
6c2d0203 Uniformise l'unité des arrondis
2cbffe8a ⬆ MAJ Typescript vers 4.3
678403e4 Corrige le calcul des cotisations forfaitaires de début d'activité
8cdaac05 Simpler condition component (#1578)
b7459617 🔥 Supprime les variables temporelles
db62b57d 🔥 Supprime l'utilisation des temporals dans les mécanismes
git-subtree-dir: publicodes
git-subtree-split: 71b687077ec30ea3959209657c2ac7fd7a0277e1
* 🔥 Supprime l'action de déploiement de publicodes
Migrée sur betagouv/publicodes
* 🖋 MAJ documentation de contribution
* ✅ Désactive prettier pour publicodes
Je préférerais ne pas avoir à désactiver Prettier pour le répertoire
publicodes mais pour une raison qui m'échappe (peut-être liée aux
versions des differentes dépendances prettier/babel/typescript ?) entre
betagouv/publicodes et betagouv/mon-entreprise, l'une des lignes est
formatée différemment ce qui provoque une erreur dans la CI.
On va considérer que la “bonne configuration” est celle de
betagouv/publicodes et ignorer celle de betagouv/mon-entreprise. Mais ça
serait quand même mieux d'avoir la même des deux côtés.
* 🔨 Sort une question d'un espace parfois non applicable
Le cache n'était pas réinitialisé, et les valeurs utilisée étaient celle du dernier calcul de la fonction uniroot, qui n'est pas forcément celui du résultat finalement retourné.
Les traductions n'étaient pas bien gérée, vu que les
fichiers de traductions ne sont pas dans le paquet.
Par ailleur il y avait un bug de dépendance implicite qui
demandait l'instantiation de i18n côté applicatif pour
pouvoir utiliser les composants de la bibliothèque.
Le support d'autres langues n'est pas la priorité actuelle,
mais nous y reviendrons lorsque l'on aura plus de temps
Ce mécanisme permet d'activer le calcul itératif pour trouver la
valeur de la règle qui résout la référence circulaire.
Il est possible pour une règle de se référencer elle-même. Par défaut, le
moteur considère qu'il s'agit d'un cycle non voulu, et renvoie 'null' comme valeur
pour la règle en question, en affichant un avertissement.
Mais dans certains cas, la formule est bonne et le cycle est voulu. La valeur de la
règle attendue est donc celle qui résout l'équation obtenue via la référence cyclique.
Lorsque l'on active cette fonctionnalité, le moteur va procéder par essaie erreur jusqu'à
trouver cette valeur.
Note : la résolution de cycle est coûteuse en temps de calcul. Il faut donc veiller à
ne pas la cumuler avec l'évaluation d'un autre mécanisme coûteux comme l'inversion numérique
par exemple.
* remove ParsedRules argument to constructor (was undocumented, so no
harm for Publicodes users)
* replace by Engine.shallowCopy()
* simplify EngineContext in mon-entreprise.
* Ajout de tags meta aux pages /documentation
Pour les moteurs de recherche, et pour les partages sur réseaux sociaux.
A utiliser avec un module de type prerender.io dans le cas de ces
derniers, qui ne font pas tourner le javascript, contrairement à Google.
* Meta description : si pas de description, la question
* MAJ react-helmet dans mon-entreprise
Cela aboutissait à certaines question non posées dans le simulateur auto-entrepreneur
Par ailleurs, ajoute une visualisation des données manquantes sur la page règles (pour un debuggage plus facile)
* ✨ Simplifie la lecture de l’action SET_SIMULATION - “return early”
* ✨ Make automatic translation more fail-safe
* 🎨 Fix visuals for Overlay component
* ✨ Make Banner component more versatile
* Share simulation banner
* Ajout des identifiants courts pour les objectifs
* Dé/sérialisation search params <-> situation & targetUnit, basée sur
une logique générique (typeof)
* Suppression dans l'URL des search params correspondant à des
noms de règles ou identifiant courts
* Banner de partage, avec modale ou Navigator.share si disponible.
Co-authored-by: Alexandre Hajjar <alexandre.hajjar@gmail.com>
* URL with state: remove targetUnit
* serializeEvaluation for url sharing
* serializeEvaluation for number, boolean, string
* use this serialization in url search params
* for now, no support for Objects (like localisation)
Co-authored-by: Johan Girod <dev@johangirod.com>
* 🖋️ Quelques légères modifications de nom pour les identifiants courts
Co-authored-by: Paul Chavard <github@paul.chavard.net>
Co-authored-by: Johan Girod <dev@johangirod.com>
close#552