Commit Graph

277 Commits (15083a6324cbf9abaf1179b56bc92ed025c02af0)

Author SHA1 Message Date
Maxime Quandalle c0bc5f34ca 🔥 Supprime la librairie `classnames`
Cette librairie n'était utilisée qu'une seule fois et styled-components
permet de s'en passer aisément.

Hélas, la libraire n'est pas supprimée du bundle car elle reste utilisée
par react-instantsearch-dom.
2021-12-03 14:37:36 +01:00
Johan Girod e4cc4e5ef7 Fix unit formatting in number input 2021-12-02 16:53:08 +01:00
Johan Girod 9cbee7cc89 Fix les tests E2E 2021-12-02 16:53:08 +01:00
Johan Girod fbb66a04d8 Remove monaco plugin 2021-12-02 16:53:08 +01:00
Maxime Quandalle d5979264d2 🔥 Utilise les paquets publicodes depuis NPM 2021-12-02 13:06:45 +01:00
Johan Girod 82050636a1
Merge pull request #1788 from betagouv/charte-urssaf-bootstrap
Nouveau design system
2021-11-30 16:09:05 +01:00
Maxime Quandalle 4282e032fc Merge commit '2e6ce3ab1a38189ecd071b97a8aa239e62a523ce' 2021-11-05 16:01:27 +01:00
Maxime Quandalle 2e6ce3ab1a Squashed 'publicodes/' changes from 10a30d32..a680ad31
a680ad31 🐛 Corrige un bug sur l'affichage des remplacements dans la doc publicodes
1e45d98d 🔥 Supprime la transformation d'emoji dans la doc publicodes
77973a9b 🐛 Répare l'affichage des règles remplacées
341b2e39 🎨🐛 corrige le style du remplacement dans les sommes
24dce683 🎨 Améliore l'explication des règles avec remplacement
6d086823 💚 fix lint
2d64d908 🏗Add export as Pdf button on simulators
163b766a  Prettier linting in publicodes subtree
e1507975  Reformat files
80161f95 🐛 Fix VAT example
79bde0be 🔥 Remove "classnames" dependency from publicodes-react
3e65e320 🔥 Remove ramda from publicodes-react
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: a680ad31c33b93e4f35171488cec1b6f9e08179a
2021-11-05 15:52:37 +01:00
Maxime Quandalle 4e27f6fe28 🖊 Documentation du nouveau composant <RulePage /> 2021-11-05 15:48:38 +01:00
Maxime Quandalle 4c728b0609 🎨 Affichage immédiat de la couleur personnalisée dans les intégrations 2021-11-03 13:15:36 +01:00
Maxime Quandalle 55fc3a2bc3 Remplace react-helmet par react-helmet-async
Motivation : https://github.com/nfl/react-helmet/issues/426#issuecomment-690925576
Popularité relative : https://www.npmtrends.com/react-helmet-vs-react-helmet-async
2021-11-02 12:36:44 +01:00
Maxime Quandalle 584db78ed6 ⬆ MAJ fuse.js 2021-10-21 16:06:20 +02:00
Johan Girod 09c91681a0 🐛 Réactive la question pour le calcul de l'impot sur le revenu pour les simulateur indépendant
fix #1755
2021-09-30 18:39:50 +02:00
Alexandre S 50826d74e4 🎨 Ajoute une recherche globale de simulateurs et de règles
Cette recherche se base sur Algolia. Elle est accessible depuis toutes les
pages. Elle remplace intégralement la précédente recherche.

La fonctionnalité possède deux parties:
 - la mise à jour des données (au build)
 - l'UI sous la forme de composants

L'UI se base sur la bibliothèque `react-instantsearch` qui est developpé et
maintenu par Algolia.

Co-authored-by: Johan Girod <johan.girod@beta.gouv.fr>
Co-authored-by: Maxime Quandalle <maxime.quandalle@gmail.com>
Co-authored-by: Alexandre Hajjar <alexandre.hajjar@gmail.com>
2021-09-15 14:58:44 +02:00
Alex S c6f6a55832
🤖 Remplace la CLI du build par un multiplexeur
Co-authored-by: Alexandre Valsamou-Stanislawski <alexandre.valsamoustanislawski@beta.gouv.fr>
2021-09-08 16:35:29 +02:00
Alexandre Hajjar 293eff4a19 Update yarn.lock 2021-09-06 16:55:44 +02:00
Johan Girod f63da5be55 💚 fix lint 2021-09-01 19:44:54 +02:00
Johan Girod 30096e64f2 🐛 Corrige le bug d'affichage lors de l'impression sur firefox 2021-09-01 19:44:54 +02:00
Alexandre Hajjar c9d6d3d7dd 📝 Increase readability of snapshot tests
* Translate to typescript.
* Use explicit imports for mocha and jest.
* Remove dependency on @types/mocha as it may conflict with jest types.
* Upgrade jest & replace yaml-jest with custom transformer.
* Fix mocha-webpack bug.
* Prevent jest from priting console outputs.
2021-08-31 10:42:52 +02:00
Alexandre Hajjar d3c866daa5 ⬆️ Upgrade prettier to 2.3.2 + modify editorconfig
* Remove the 1000 max_width rule in editorconfig which is obsolete since
  prettier 2.3.2 has fixed the key-wrapping problem.
* Let prettier run on yaml files (notably modele-social, but not the translation
  files).
* Simplify editorconfig file.
* Let editorconfig trim trailing whitespaces in yaml files, but ignore locale
  yaml files.
* Allow prettier on publicodes.
2021-07-26 12:26:25 +02:00
Alexandre Hajjar 656a55e87a Make cypress record_http deterministic (somehow) 2021-06-21 18:53:52 +02:00
Maxime Quandalle 1ec24399fc 🐛 Babel dans les workers
J'ai eu un peu de mal à adapter la configuration Typescript pour le
typage de l'export des workers, mais passer par le paramètre "typeRoot"
du tsconfig semble changer les choses.
2021-06-21 15:32:57 +02:00
Alexandre Hajjar ceed101460 Run external-integration tests in separate ghaction cron-style
* Create new Github Action
* Install cypress packages from mon-entreprise dev dependencies
2021-06-07 15:41:25 +02:00
Alexandre Hajjar 6c619a257b ⬆️ Cypress to 7.4.0 2021-06-03 18:29:06 +02:00
Maxime Quandalle 8c0fd73d79 ⬆ MAJ Typescript vers 4.3 2021-06-02 11:50:16 +02:00
Alexandre Hajjar c5d80fae71 🔥 Publicodes static cycles check using AST iterator
* AST API: add AST visitor & iterator
* cycles detection: use AST iterator
* remove dagrejs/graphlib
* cycle extraction: smallest cycle & print in Graphviz dot format

WARNING: a cycle still exists around `entreprise . chiffre d'affaires` see
issue #1524 for a definitive fix.
2021-05-12 17:57:24 +02:00
Alexandre Hajjar ef41744078 💅 upgrade publicodes-site syntax highlighter 2021-05-11 16:03:28 +02:00
Maxime Quandalle ca9b952dff ⬆️ MAJ Typescript vers 4.2 2021-05-09 20:05:18 +02:00
Johan Girod 2e972fca44 🐛 répare le mode --watch sur mon-entreprise x publicodes
Auparavant, les modifications sur publicodes ne lancaient pas de rebuild, il
fallait tuer et relancer le process pour que cela marche.

Incidement corrige la fuite mémoire du CTRL+C sur le yarn start
2021-05-04 12:22:22 +02:00
Johan Girod a62d3e2d95 Met à jour l'intégration sentry avec l'instance de beta.gouv.fr 2021-05-04 10:11:59 +02:00
Johan Girod eb511f0bba Ajoute un script pour rafraichir les dépendances publicodes (utile en développement) 2021-04-15 14:38:59 +02:00
Johan Girod 96b4bf8631 ⬆️ Upgrade to cypress 6 2021-03-24 13:25:56 +01:00
Mael ac39dc3429
Meta documentation (#1411)
* 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
2021-03-16 16:19:03 +01:00
Johan Girod ce0e957a35 Ajoute la repartition des visites par page 2021-03-16 14:12:05 +01:00
dependabot[bot] 330bab3baf
Bump elliptic from 6.5.3 to 6.5.4 (#1443)
Bumps [elliptic](https://github.com/indutny/elliptic) from 6.5.3 to 6.5.4.
- [Release notes](https://github.com/indutny/elliptic/releases)
- [Commits](https://github.com/indutny/elliptic/compare/v6.5.3...v6.5.4)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-03-16 14:11:47 +01:00
Johan Girod 794d35fd02 Enlève mecanismDoc des exports de publicodes
Déplace l'import du fichier dans publicodes-react, le seul endroit où il est utilisé
2021-02-01 15:14:15 +01:00
Johan Girod 593ce40aea 🐛 Répare le build de publicodes 2021-01-26 12:02:20 +01:00
Alexandre Hajjar 5eec284b13 ⬆️ Upgrading test libs & adding typescript test support 2021-01-20 18:21:17 +01:00
Maxime Quandalle 6cfc474013 🔥 Supprime redux-thunk 2021-01-11 16:58:23 +01:00
Maxime Quandalle 803e49f787 🚚 Déplace le site publicodes dans le bon répertoire
Déplace:
mon-entreprise/source/sites/publi.codes → publicodes/site
mon-entreprise/source/sites/mon-entreprise.fr → mon-entreprise/source/site

La config Webpack du site publicodes reste encore liée à celle de
mon-entreprise.fr, il faudra la dissocier quand nous déplacerons le
projet publicodes dans son propre dépôt.
2020-12-16 18:14:45 +01:00
Maxime Quandalle 3f7f3b6389 🎴 Déplace les icônes des références vers mon-entreprise 2020-12-16 18:14:45 +01:00
Maxime Quandalle 3857b274be 🌗 Sépare les paquets publicodes core et react 2020-12-16 18:14:45 +01:00
dependabot[bot] 6390307be6 Bump ini from 1.3.5 to 1.3.7
Bumps [ini](https://github.com/isaacs/ini) from 1.3.5 to 1.3.7.
- [Release notes](https://github.com/isaacs/ini/releases)
- [Commits](https://github.com/isaacs/ini/compare/v1.3.5...v1.3.7)

Signed-off-by: dependabot[bot] <support@github.com>
2020-12-11 09:44:49 +01:00
Maxime Quandalle c9a783a09c 📦 Déplace les règles dans un paquet NPM systeme-social 2020-12-10 12:23:16 +01:00
Johan Girod 9ce1791ff2 ⬆️ Update prettier for supporting =?? syntax 2020-12-07 14:40:59 +01:00
Johan Girod 9adbdcd693 🐛 répare le service worker lors des split testing netlify
fix #1269
2020-12-07 14:10:19 +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 81ecef7021 ⬆ MAJ du React adapter Enzyme
Utilisation d'un fork en attendant que React 17 soit supporté par
Enzyme.

J'ai essayé rapidement la librairie
https://testing-library.com/docs/react-testing-library/migrate-from-enzyme
vers laquelle certains utilisateurs d'Enzyme semblent maintenant se
tourner, mais la migration est non triviale (alors même que nous n'avons
qu'un seul fichier qui utilise les tests Enzyme !)
2020-11-20 12:08:21 +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
Maxime Quandalle 27db026892 ⬆ MAJ React vers v17
Pas de changement de fonctionnalités
Plus besoin d'importer React pour utiliser JSX
2020-11-20 12:08:21 +01:00
Maxime Quandalle 753daccac9 Ajoute des règles de linting pour les tests Mocha
J'ai involontairement mergé un `it.only` dans #1136 qui désactive tous
les tests sauf un — utile en développement mais pas quelque chose que
l'on veut commiter sur `master`. La règle Eslint bloquera désormais ce
code.
2020-10-12 15:57:34 +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
Johan Girod 05808479fc ajoute un test e2e pour la génération de PDF de demande de mobilité 2020-09-23 16:00:03 +02:00
Maxime Quandalle 5e625e15b5 ⬆ Typescript 4.0
MAJ de typescript-eslint qui va avec. Voir notamment
https://github.com/typescript-eslint/typescript-eslint/releases/tag/v3.0.0
pour la modification de la configuration eslint.
2020-09-12 18:40:36 +02:00
dependabot[bot] da1f9a6665
⬆️ Bump bl from 4.0.2 to 4.0.3
Bumps [bl](https://github.com/rvagg/bl) from 4.0.2 to 4.0.3.
- [Release notes](https://github.com/rvagg/bl/releases)
- [Commits](https://github.com/rvagg/bl/compare/v4.0.2...v4.0.3)

Signed-off-by: dependabot[bot] <support@github.com>
2020-09-02 16:44:17 +00:00
Maxime Quandalle e67bbab6e1 🔥 Supprime "react-loading-skeleton" et sa dépendance "emotion" 2020-09-01 17:42:50 +02:00
Johan Girod f91834d4e2 🐛 corrige overlay et pdf 2020-08-27 18:12:14 +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 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 168e4105cb Ajoute la génération du pdf à partir du formulaire completé 2020-06-18 09:51:16 +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 55eb4f9da1 💚 ajoute un maximum pour l'allocation mémoire node afin d'éviter les erreurs 137 sur circleci 2020-06-03 14:41:11 +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 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 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 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 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
Maxime Quandalle e71ec202e8 🖊 Ajout d'une explication pour le formulaire d'aide à la déclaration
Explication fournie par la DNRTI.
2020-05-15 06:19:47 +02:00
Maxime Quandalle b6c2cedb6f 🔥 Supprime l'impression du formulaire DNRTI
Et simplification du code
2020-05-15 04:01:37 +02:00
Maxime Quandalle ced589ad74 ⬆ MAJ TypeScript vers 3.9 2020-05-15 10:32:45 +02:00
Johan Girod d91283cde2 🔥 Sépare le moteur dans un packet isolé 2020-05-14 15:25:22 +02:00
Alexandre Hajjar 291b5ff3bc TS-aware eslint + in CI
* Use @typescript-eslint/parser
* Add npm/yarn scripts: prettier check and eslint on all files
* Run all of this in CI (along with eslintrc checker)
* Use typescript parser only for ts{x,} files
* Fix test & cypress sub-configs
* Fix .test.js + off explicit-function-return-type
2020-05-05 18:24:14 +02:00
Maxime Quandalle c2d3f6ef99 🔥 Supprime react-addons-css-transition-group
La libraire n'était utilisée qu'une seule fois sans qu'elle soit
vraiment nécessaire. Elle était à l'origine des avertissements
"componentWillMount has been renamed" dans la console.
2020-05-05 02:26:08 +02:00
Maxime Quandalle 5e6fe909ad 🐛 Répare le hot reload 2020-05-05 02:26:08 +02:00
Maxime Quandalle b6dbc339eb ⬆ Met à jour react-easy-emoji
Cette version inclut les types TypeScript
2020-05-01 22:12:27 +02:00
Maxime Quandalle e2f906a19f 🧰 Supprime un avertissement dans la console
Le message "Warning: componentWillMount has been renamed" venait de la
dépendance react-side-effect de react-helmet.
2020-05-01 22:12:27 +02:00
Maxime Quandalle 919aecb19d ⬆ Mise à jour de styled-components et react-loading-skeleton 2020-04-27 12:44:50 +02:00
Maxime Quandalle 4f92268345 🧰 Change le parseur yaml 2020-04-27 12:44:50 +02:00
Maxime Quandalle 7dfb11066d 🧰 Ajout d'une commande yarn run analyze-bundle
Utilise webpack-bundle-analyzer pour afficher une visualisation
interactive des bundles.
2020-04-27 12:44:50 +02:00
Johan Girod 95e8d53103 🐛 corrige l'ordre des questions en cas de réponse à une possibilité 2020-04-24 11:27:50 +02:00
Maxime Quandalle 53cc51447a ⬆ Mise à jour du client sentry
Avec l'objectif de supporter les sources maps. Je n'ai pas bien compris
si le support est automatique ou s'il faut uploader les source maps
avec sentry/cli.
2020-04-23 17:49:56 +02:00
Maxime Quandalle e8072fe8e1
Page /stats (#969)
Co-authored-by: Elodie Quandalle <elodie.quandalle@gmail.com>
2020-04-23 17:44:41 +02:00
Maxime Quandalle 7b7dc15624 Ajoute des types TypeScript 2020-04-13 10:41:02 +02:00
Johan Girod 78e97f0f37 Améliore les variables temporelles et la régularisation
- Correction de quelques bugs
- Améliration des perfs du studio
- Ajout de la visualisation des variables temporelles dans le studio
- Ajout d'un exemple de régularisation plus complet
- Complète la doc du mécanisme de régularisation
2020-04-10 12:26:06 +02:00
Maxime Quandalle 0a03b7550c
Ajoute des types TypeScript
Transforme quelques derniers composants class en fonctions
2020-04-06 00:40:41 +02:00
Johan Girod dd2db299d6 Ajoute l'ensemble des mécanismes existants 2020-03-25 09:36:03 +01:00
Maxime Quandalle 57bb595884
😷 Page Coronavirus et intégration du chômage partiel (#926)
Suite à la crise du coronavirus le gouvernement a élargi le dispositif
d'activité partielle et encouragé son recours massif.

Ce commit contient les modifications suivantes :

* Intégration de l'activité partielle sur le simulateur salarié ;
* Création d'une page /coronavirus incluant un simulateur spécifique pour le
  chômage partiel ainsi que des informations générale sur les dispositifs
  gouvernementaux. Référencement de cette page sur la page d'accueil et sur
  le simulateur salarié ;
* Grosse refacto du calcul de la CSG/CRDS pour y inclure le calcul des revenus
  de remplacement. Corrige aussi des erreurs pour la CSG des salariés
  bénéficiant de la DFS, et intègre l'exonération de CSG à Mayotte ;
* Légères modifications de la fenêtre « prochaines question » ;
* Affichage d'un placeholder sur les inputs des questions.

Co-authored-by: Johan Girod <johangirod@gmail.com>
2020-03-22 23:14:51 +01:00
Maxime Quandalle ca6195ecc5 ⬆ Mise à jour des dépendances
La MAJ de Typescript vers la version 3.8 a nécessité de mettre à jour plusieurs types
2020-03-17 14:25:44 +01:00
Maxime Quandalle c65a04cf86 ⚙️ Réorganise l'API publique de la lib 2020-03-17 09:53:09 +01:00
Loic GUILLOIS 94847f2932
Merge branch 'master' into bundlesize 2020-03-10 11:41:40 +01:00
Loïc Guillois 0382baa0bc 🎨 WIP: Récapitulatif aide déclaration indépendants 2020-03-10 10:51:54 +01:00
Loïc Guillois 23f622bd73 Ajout du test de taille du fichier compilé pour 'mon entreprise' 2020-03-10 10:40:19 +01:00
Maxime Quandalle 9278244e7e Studio : Support des exemples et menu déroulant 2020-03-02 17:35:23 +01:00
Mael 8657435f46 Première ébauche de studio de création de règles pour publi.codes 2020-03-02 17:35:23 +01:00
Loïc Guillois 541a8a8dbb 💚 corrige type checking pour dépendance fuse.js 2020-02-25 14:28:04 +01:00
Loïc Guillois 130b2c06d9 🎨 Recherche : surlignage fuzzy matching 2020-02-25 14:28:04 +01:00
Maxime Quandalle 283bd5bf8e
🎨 Suppression des actions du pied de page sur les intégrations 2020-02-02 21:45:52 +01:00