Commit Graph

448 Commits (1215b62e369eb4d3ccc3a621bc647576b5c01257)

Author SHA1 Message Date
Jérémy Rialland 5af2dfa9c0 Fix eslint error 2022-06-10 16:09:43 +02:00
Jérémy Rialland 0fcb568590 use workspace modele-social 2022-06-10 16:09:43 +02:00
Jérémy Rialland ed1b999fb8 Add e2e tests 2022-06-10 16:09:43 +02:00
Jérémy Rialland 1ca577d360 Add husky for execute pre commit script
Build yaml dts on pre commit
Vite build is 20sec faster
2022-06-10 16:09:43 +02:00
Jérémy Rialland b803b3afb1 Update to api beta 41 2022-06-10 16:09:43 +02:00
Jérémy Rialland 6611c92f5e Move to Scalingo 2022-06-10 16:09:43 +02:00
Jérémy Rialland 8442053d9d fix lint out of memory 2022-06-10 16:09:43 +02:00
Jérémy Rialland c4e53e4659 Update to api 37 2022-06-10 16:09:43 +02:00
Jérémy Rialland c3e7e316e5 Update vite packages, ignore error on import 2022-06-10 16:09:43 +02:00
Jérémy Rialland 0a7014bb89 Add netlify serverless function for api 2022-06-10 16:09:43 +02:00
Jérémy Rialland 3dc4226af1 Use typescript 4.7 rc for api 2022-06-10 16:09:43 +02:00
Jérémy Rialland b10f8b787a Ajout de l'api rest 2022-06-10 16:09:43 +02:00
Maxime Quandalle d1ef03762b Ajout d'un paragraphe place des entreprises sur le simulateur de chômage partiel 2022-06-09 09:25:55 +01:00
Johan Girod 0fe36bd69b Met à jour les paquets des règles à la dernière version de publicodes 2022-06-02 11:29:06 +02:00
Maxime Quandalle 7f08675e1a 🔥 Supprime Ramda 2022-05-27 15:44:06 +02:00
Johan Girod 3d2021ca21 Met à jour vers la dernière version de publicodes (1.0.0-beta.38) 2022-05-24 14:35:06 +02:00
Maxime Quandalle 48f569979f 🐛 oups 2022-05-04 16:43:34 +02:00
Maxime Quandalle 5d562ab69b ⬆ MAJ Vite et Vitest 2022-04-24 23:28:08 +02:00
Johan Girod 2a7c940dc3 Nouvel assistant à la déclaration de revenu des indépendants 2022-04-20 18:46:32 +02:00
Maxime Quandalle 6084736596 ⬆ MAJ Cypress v9 2022-04-14 12:29:53 +02:00
Jérémy Rialland cd47674b9d WIP Migration Sentry 2022-04-14 11:15:09 +02:00
Jérémy Rialland 9047fc9ae3 ⬆️ Update eslint plugins + prettier 2022-04-07 18:24:32 +02:00
Jérémy Rialland 5b713d1371 Ajout du plugin eslint standard 2022-04-07 18:24:32 +02:00
Maxime Quandalle c6176f5764 ⬆ MAJ @storybook/builder-vite
https://github.com/storybookjs/builder-vite#project-has-been-renamed
2022-04-04 09:57:16 +02:00
Maxime Quandalle eb204584fe ⬆ Vite 2.9 2022-04-04 09:57:16 +02:00
Jérémy Rialland a8e753992d ⬆️ Update package 2022-03-30 11:52:04 +02:00
Jérémy Rialland 4eff86a18a WIP exonération-covid
fix #2045
Co-authored-by: Johan Girod <dev@johangirod.com>
2022-03-30 11:52:04 +02:00
Jérémy Rialland 545c02a972 Add capture console error in sentry
Update Sentry
2022-03-29 15:22:11 +02:00
Jérémy Rialland 058702462e ⬆️ Update eslint packages
Add and delete some rules
2022-03-29 15:22:11 +02:00
Jérémy Rialland 7550d4f533 Revert "Revert "Place des entreprises (#2034)""
This reverts commit 2c8c0fca5e.
2022-03-16 16:08:51 +01:00
Johan Girod 2c8c0fca5e Revert "Place des entreprises (#2034)"
This reverts commit 078e60b728.
2022-03-15 20:21:58 +01:00
Johan Girod 730f5bfa06 Met à jour les tests de non-regression 2022-03-15 14:29:26 +01:00
Johan Girod 3aa11ace73 Revoie les parcours avec entreprise existante
- Met à jour le style des notifications dans la conversation
- Améliore la landing page
- Améliore la vue de la situation des simulateurs
- Les données de l'entreprise courante sont stockées en publicodes
- Ajoute la possibilité de réinitialisé la simulation sans les données entreprises
2022-03-15 14:29:26 +01:00
Jérémy Rialland 078e60b728
Place des entreprises (#2034)
* WIP Place des entreprises

* Fix Emoji waning

* WIP Place des entreprises

* Ajout de PdE dans les CSP directive

* Ajout de l'option small sur la popover

* Style de l'iframe place des entreprises

* ⬆ Update react-aria button, dialog and overlays

* Amélioration du composant PlaceDesEntreprises

* Empêche l'event "click" apres un event "touch" sur mobile (fix #2020)

* Clean commentaire

* Fix des erreurs de dom

* Ajout des fonctions isProduction, isStaging et isDevelopment

* Ajout des url de staging place des entreprises

* Refacto du texte

* Ajout des traduction

* Ajout du staging de PdE dans le cors

* Modification du lien storybook EN

* Ajout de dépréciation sur les var d'env MODE, DEV et PROD

* Ajout du siret pour PdE dans Gérer

* Ajout d'un scrollToTop sur l'onLoad de l'iframe

* Fix css de la popover sur mobile

* Fix css des bar de pourcentage sur tablet
2022-03-15 13:12:27 +01:00
Maxime Quandalle b28895e068 ⬆ Met à jour i18next-parser
Suite au support ES Module https://github.com/i18next/i18next-parser/issues/497
2022-03-13 09:10:20 +01:00
Maxime Quandalle 1362c89bae ⬆ Mise à jour publicodes 2022-03-08 11:56:54 +00:00
Jérémy Rialland 33199b79e0 * Ajout de storybook
Ajout d'un Switch oui/non

* Fix lint

* Add react-router and fix type

* Fix lint

* Resolution du conflit de version de prettier avec storybook

* Fix storybook

* Reduce Storybook bundle size
Refacto css in QuickLinks
Remove useless comment
Add default theme to CSS prop

* Déploiement de Storybook

* Fix déploiement

* Fix déploiement storybook url

* Fix Switch style

* Remplace les oui/non radio bouton par un Switch

* Filter aria props + react props in Storybook controls
Sort props in Storybook
Add global style in Storybook decorator

* Update Storybook packages

* Ajout d'un debounce dans OuiNonInput

* Fix du Switch

* Refacto des alias

* Fix lint error avec Storybook

* Fix eslint error

* Refacto deploy for Storybook

* Ajout de type pour les yaml d'economie collaborative
Ajout de type sur les fonction du locale storage
+ Autre fix de type

* Deploy storybook in dist dir in prod

* Fix focus on Switch

* Fix cy test

*  Remplace l'alias ~ par @

*  Refacto du Switch

* Remplace la checkbox par un Switch dans ChiffreAffairesActivitéMixte

* Ajout des stories RadioGroup et ToggleGroup

* Remplace le Switch oui/non par un ToggleGroup

* Ajout d'un label dans le Switch
Ajout du mode light sur le Switch

* Fix autofocus

* Fix cypress test

* 🐛 Ajout du polyfill replaceAll

* Test de deploiement

* Ajout d'une redirection pour Storybook

* Fix Storybook url

* Fix du deploiement de Storybook
2022-03-03 15:10:10 +01:00
Jérémy Rialland 80be3f9229
#2007 add yes no switch (#2037)
* Ajout de storybook

Ajout d'un Switch oui/non

* Fix lint

* Add react-router and fix type

* Fix lint

* Resolution du conflit de version de prettier avec storybook

* Fix storybook

* Reduce Storybook bundle size
Refacto css in QuickLinks
Remove useless comment
Add default theme to CSS prop

* Déploiement de Storybook

* Fix déploiement

* Fix déploiement storybook url

* Fix Switch style

* Remplace les oui/non radio bouton par un Switch

* Filter aria props + react props in Storybook controls
Sort props in Storybook
Add global style in Storybook decorator

* Update Storybook packages

* Ajout d'un debounce dans OuiNonInput

* Fix du Switch

* Refacto des alias

* Fix lint error avec Storybook

* Fix eslint error

* Refacto deploy for Storybook

* Ajout de type pour les yaml d'economie collaborative
Ajout de type sur les fonction du locale storage
+ Autre fix de type

* Deploy storybook in dist dir in prod

* Fix focus on Switch

* Fix cy test

*  Remplace l'alias ~ par @

*  Refacto du Switch

* Remplace la checkbox par un Switch dans ChiffreAffairesActivitéMixte

* Ajout des stories RadioGroup et ToggleGroup

* Remplace le Switch oui/non par un ToggleGroup

* Ajout d'un label dans le Switch
Ajout du mode light sur le Switch

* Fix autofocus

* Fix cypress test

* 🐛 Ajout du polyfill replaceAll

* Test de deploiement

* Ajout d'une redirection pour Storybook

* Fix Storybook url

* Fix du deploiement de Storybook
2022-03-03 14:37:53 +01:00
Jérémy Rialland 1877d351ff Revert "🎨 Ajout de storybook + d'un Switch oui/non (#2014)"
This reverts commit e3d0883804.
2022-03-03 11:08:05 +01:00
Jérémy Rialland e3d0883804
🎨 Ajout de storybook + d'un Switch oui/non (#2014)
* Ajout de storybook

Ajout d'un Switch oui/non

* Fix lint

* Add react-router and fix type

* Fix lint

* Resolution du conflit de version de prettier avec storybook

* Fix storybook

* Reduce Storybook bundle size
Refacto css in QuickLinks
Remove useless comment
Add default theme to CSS prop

* Déploiement de Storybook

* Fix déploiement

* Fix déploiement storybook url

* Fix Switch style

* Remplace les oui/non radio bouton par un Switch

* Filter aria props + react props in Storybook controls
Sort props in Storybook
Add global style in Storybook decorator

* Update Storybook packages

* Ajout d'un debounce dans OuiNonInput

* Fix du Switch

* Refacto des alias

* Fix lint error avec Storybook

* Fix eslint error

* Refacto deploy for Storybook

* Ajout de type pour les yaml d'economie collaborative
Ajout de type sur les fonction du locale storage
+ Autre fix de type

* Deploy storybook in dist dir in prod

* Fix focus on Switch

* Fix cy test

*  Remplace l'alias ~ par @

*  Refacto du Switch

* Remplace la checkbox par un Switch dans ChiffreAffairesActivitéMixte

* Ajout des stories RadioGroup et ToggleGroup

* Remplace le Switch oui/non par un ToggleGroup

* Ajout d'un label dans le Switch
Ajout du mode light sur le Switch

* Fix autofocus

* Fix cypress test

* 🐛 Ajout du polyfill replaceAll
2022-03-03 10:49:35 +01:00
Jérémy Rialland 63269f280c
Fix sentry (#2033)
* 🐛 Fix variable d'env manquante
* ⬆ Update sentry
* 🔥 Suppression de la var d'env inutilisé VITE_GIT_HEAD
2022-03-02 18:39:10 +01:00
Jérémy Rialland 020fe18dda
🐛 Correction de deux liens dans les metadata-src (#2030)
🐛 Correction de deux liens dans les metadata-src
 Ajout de type sur le sitePath
 Refacto du script algolia:update en typescript
* Fix eslint error
* Ajout de commentaire sur les types
 Refacto du type de retour de getSimulatorsData
2022-03-01 15:52:55 +01:00
Johan Girod fe5430cbcd Met à jour les paquets publicodes à la dernière version
fix #2015
2022-02-21 16:36:29 +01:00
Jérémy Rialland 88d0627c88
Nettoyage du fichier .env.template + Ajout du devtool redux uniquement en mode dev (#2001)
*  Déplace les scripts de traduction dans site

*  Nettoyage du fichier .env.template

*  Ajout du devtool redux uniquement en mode dev

*  Ajout d'une erreur si l'api github ne retourne pas un status 200

*  Fix types

*  Temporary fix package import error

* ⬆️ Update @redux-devtools/extension
2022-02-09 10:26:56 +01:00
Johan Girod 096b5e8568 Répare l'autoresize de l'iframe sur chrome
On utilise une logique propre, plus la peine de passer par iframeResizer (qui intègre beaucoup de logique
de polyfill).

Par ailleurs, répare la page de test de l'intégration iframe en dev.

fix #1968, fix #1998
2022-02-08 17:13:59 +01:00
Jérémy Rialland bbcb981c3e
Refacto de la config eslint (#1962)
*  Refacto de la config eslint

*  Ajout de rel='noreferrer' sur les liens

*  Fix de différentes erreurs de types et de tests

*  Ajout des regles cypress dans eslint

*  Suppression de la regle react/jsx-no-target-blank

*  Fix import
2022-02-07 09:34:32 +01:00
Maxime Quandalle 595a898f11 🐛 Corrige l'affichage de la documentation en mode dev 2022-02-01 18:31:52 +01:00
Jérémy Rialland cfeff3ee72
🐛 Fix de l'apelles polyfill et suppression du proxy polyfill.io (#1970)
* 🐛 Empêche netlify de mettre en cache les polyfill

* 🐛 test no cache

* 🐛 test no proxy

* 🐛 fix cors

* 🐛 Suppression du proxy polyfill.io de dev
2022-02-01 13:40:59 +01:00
Maxime Quandalle 560513a6e7 🔥 Supprime reselect 2022-02-01 08:37:58 +01:00
Maxime Quandalle df93f40da3 🔥 Suppression de dépendences NPM non utilisées 2022-02-01 08:37:58 +01:00
Maxime Quandalle 1836dfd400 Prise en compte des retours PR vitejs
- Creation d'un composnant <BrowserOnly /> pour éviter le CLS
- Restaure l'animation de chargement et le message de navigateur obsolète
- Correction d'une chaîne de caractère dans l'UI avec des tabulations
- Répare la section nouveautés
- Suppression du rehooks/local-storage
- Suppression de swr
2022-01-31 13:33:07 +01:00
Maxime Quandalle df1cfa3872 Ajout d'un build pour le script iframe 2022-01-31 13:33:07 +01:00
Maxime Quandalle cdf441a9e1 🐛 Corrections diverses 2022-01-31 13:33:07 +01:00
Maxime Quandalle 485518997d ⬆ Mise à jour des dépendences
🔥 Suppression de la dépendence "enzyme"
2022-01-31 13:33:07 +01:00
Johan Girod d9cd522dd8 Répare react-pdf avec vitejs 2022-01-31 13:33:07 +01:00
Johan Girod d01a318f77 Met à jour recharts pour fonctionner en ESModule 2022-01-31 13:33:07 +01:00
Maxime Quandalle d540cd03d5 Utilise netlify-cli pour la preview locale 2022-01-31 13:33:07 +01:00
Maxime Quandalle 9ad8b0f186 Remplace react-markdown par markdown-to-jsx
La version utilisée de react-markdown n'était pas compatible avec
ViteJS. J'ai tenté la mise à jour vers la v7 qui est publiée sous forme
de ES Module, ce qui nécessitait d'intégrer plusieurs changements d'API.
En m'y attelant j'ai réalisé que la motivation première de
react-markdown était de ne surtout pas utiliser
`dangerouslySetInnerHTML`, ce qui est utile pour les cas d'usages où le
markdown n'est pas digne de confiance (message d'utilisateurs par
exemple). Cette contrainte oblige à alourdir sensiblement la quantité de
JavaScript à charger et à évaluer.

Anisi dans certains markdown que l'on affiche, on utilise la balise HTML
`<sup>`, qui n'est pas parsée nativement pas react-markdown. Comme on ne
peut pas faire de `dangerouslySetInnerHTML` il faut intégrer un parseur
HTML complet qui rajout 60kb, juste pour quelques occurences de `<sup>`
dans les pages nouveautés.

Dans notre cas d'usage reparser tout le html en Javascript, n'est pas
utile. markdown-to-jsx semble plus adapté et beaucoup plus léger. Par
ailleurs le paquet est 5 fois plus utilisé que react-markdown :
https://www.npmtrends.com/react-markdown-vs-markdown-to-jsx
2022-01-31 13:33:07 +01:00
Maxime Quandalle 50a54fbf26 🔥 Remplace Jest par Vitest
Nous utilisions Jest uniquement pour les tests de non regressions qui
recquièrent le “snapshot testing”. Cette fonctionnalité étant supoprtée
par Vitest, il n'est plus utile de maintenir 2 environnement de tests
séparés.
2022-01-31 13:33:07 +01:00
Maxime Quandalle 23cb5b83d4 Migration vers les ESModules 2022-01-31 13:33:07 +01:00
Maxime Quandalle 2599f1d462 Ajoute une configuration ViteJS 2022-01-31 13:33:07 +01:00
Jérémy Rialland a23c2e77e5 🐛 Ajout d'un proxy de dev pour polyfill.io 2022-01-26 17:56:49 +01:00
Jérémy Rialland 4d79264519 🐛 Ajout du resize-observer pour safari <= 13
fix #1893
2022-01-26 17:56:49 +01:00
Johan Girod 600de13951 Remplace le parseur yaml de modele-social par un autre qui supporte les ancres 2022-01-26 16:10:47 +01:00
Maxime Quandalle 98204d2e9b 🖊 Budget T4 2021 2022-01-19 16:19:00 +01:00
Johan Girod dd9a864e8e Fix linting & traduction 2022-01-04 10:25:10 +01:00
Maxime Quandalle fd02b0095f Affiche une bannière dans la section dev lors d'un recrutement 2021-12-15 12:21:48 +01:00
Alex S 984b5de38b
Nouvelle page d'accueil - charte urssaf (#1851)
* 🎨 Ajoute un champs de recherche d'entreprise dans la page d'accueil

Aucune intéractivité ajoutée pour l'instant

🔥 Déplace la recherche dans un nouveau composant

🎨 Ajoute une animation lors de la saisie de texte

🎨 Branche la recherche d'entreprise via l'api existante

🎨 Améliorations diverses

 ajoute la possibilité d'utiliser entrée lorsqu'il n'y a qu'un seul résultat

Remplace les résultats sous forme de lien par des boutons

🐛 Fix le prérendu

💚 Fix TS & répare le composant 'Appear'

Améliore le style sur mobile

Ajoute une section simulateurs sur la landing

Enlève l'animation lorsqu'on revient à la page d'accueil depuis une autre page

Branche la selection d'entreprise avec la page 'gérer'

Branche la selection d'entreprise avec la page 'gérer'

Ajoute un raccourci vers l'entreprise selectionnée depuis la page d'accueil

👽 ajoute les traductions manquantes

* Adapte la nouvelle page à la charte URSSAF

* Répare la selection des resultats

Simplifie le contenu de la landing

* Met à jour les tests cypress avec le flow de recherche

* Répare les erreurs de type

* Réduit la taille du champ de recherche sur la landing

* Met en avant la recherche entreprise

* Améliore le test cypress de la recherche

* Utilise une couleur moins forte pour le fond de la recherche

* Remet en couleur claire par la landing

* Utilise data-testid pour identifier les éléments de la recherche

* Enlève un composant non utilisé

Co-authored-by: Johan Girod <johan.girod@beta.gouv.fr>
Co-authored-by: Alexandre Valsamou-Stanislawski <alexandre.valsamoustanislawski@beta.gouv.fr>
2021-12-07 15:43:44 +00:00
Johan Girod cf388fa328 Met à jour le logo pour les liens directs 2021-12-07 09:00:50 +01:00
Maxime Quandalle 15376c4d70 🔥 Supprime des dépendances non utilisées
Notamment :
- color-convert
- nearley
- dedent-js
- focus-trap-react
- react-syntax-highlighter
- react-transition-group
- react-useportal
- csv-loader
- intl, intl-locales-supported
2021-12-03 14:37:36 +01:00
Maxime Quandalle 46a424f0be Regroupe toutes les dépendances au niveau du site
Le package.json racine sert uniquement à définir les workspaces mais les
dépendances doivent être définies dans chacun des workspace. C'est
pourquoi un `yarn install` à la racine sans ajouter d'option spécifique
ne fonctionne pas.

J'ai donc déplacé l'ensemble des dépendances de dev dans le workspace
`site`, la plupart étaient des doublons déjà présent dans le fichier.
2021-12-03 14:37:36 +01:00
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
Maxime Quandalle 6545281f01
Suppression de liens morts dans la description SEO (#858)
* Personnalise la configuration ESLint pour les scripts

* 👽 Déplace la traduction de l'explication SEO

sur le simulateur salarié

* Ajout d'une fonction rule dans sitePaths

Permet de type-checker le nom de la règle pour éviter les liens morts

* 👽 Ajoute un test pour la traduction des unités

* 👽 Traduction BNC

* 👽 fix translations
2020-01-27 12:17:26 +01:00
Johan Girod be1891aecb Revert "Revert "Aide à la déclaration des indépendants""
This reverts commit b5b2e56bd0.
2020-01-26 11:55:54 +01:00
Johan Girod b5b2e56bd0
Revert "Aide à la déclaration des indépendants" 2020-01-24 18:06:05 +01:00
Maxime Quandalle 0a6e34349c WIP Formulaire pour la déclaration des indépendants
- Plus d'indications/aides dans l'UI pour expliquer ce que l'on attend
- Version mobile avec la barre de droite en bas
- Ajouter l'intégralité des champs concernés
- Latence quand on clique sur une option
- Gestion des erreurs de saisie
- Navigation au clavier, gestion du focus

Est-ce le bon modèle ?
2020-01-23 14:56:45 +01:00
Johan Girod d74b625be3 👽 Vérifie que tous les éléments d'ui sont traduits
Tous les éléments à traduire (via la balise <Trans> ou la fonction 't')
sont analysé statiquement. Si il manque une traduction, la PR est bloquée

Ajoute un script de traduction automatique via `yarn run i18n:ui:translate`

Met à jour CONTRIBUTING.md avec les infos sur la traduction
2020-01-22 15:10:46 +01:00
Maxime Quandalle 54d45dbdb6
Création d'une section /nouveautés
Cette nouvelle section s'accompagne d'un bandeau qui s'affiche quand une
nouvelle version est publiée sur GitHub.

Les données sont téléchargées depuis l'API GitHub en GraphQL au moment
du build du site puis persistées dans un fichier Json statique.
2020-01-15 15:24:10 +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
Maxime Quandalle f613fbcc9f ⬆ MAJ des dépendances
A nécessité de modifier quelques types suite à la modification du typage
des dépendances
2019-12-27 15:39:10 +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 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
Maxime Quandalle f2a0b7ed76 ⬆ MAJ de Cypress 2019-11-11 11:33:38 +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 c3094019e4 🔥 React-Select ATMP et du coup 🔥 react-select partout 2019-11-05 18:06:56 +01:00
Maël 5dbb93eeca 🔥 Plus de react-select pour la recherche de règles 2019-11-05 17:06:26 +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
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 c40ae69660 👽 ajoute les traductions pour la nouvelle architecture 2019-10-23 12:21:48 +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 b58c98d2df
Merge pull request #706 from betagouv/graphique-repartition
Ajout d'un graphique repartiton
2019-10-10 13:26:26 +02:00
Maxime Quandalle d2098c3d0c
Refacto de du composant Distribution
⬆ MAJ de react-spring vers version 8
Quelques changements d'API. Par ailleurs la version 8 exporte deux modules
l'un avec les "render-props" et l'autres avec les "hooks"

🔥 Suppression de @researchgate/react-intersection-observer
Remplacement par un custom hook
2019-10-10 12:06:57 +02:00
Mael 46b18b3575 MAJ eslint 2019-10-07 16:38:29 +02:00
Johan Girod 57a7b30f14 🎨🔥 change la recherche d'entreprise
- On utilise un nouveau composant qui se base sur la dernière version de l'api SIRENE
- On sépare les données entre la simulation des cotisations et la création d'entreprise
- On gagne des lignes !
2019-10-07 11:06:05 +02:00
Maxime Quandalle 468088f0e6
⬆ MAJ de React-router vers v5.1
Cette nouvelle version supporte les hooks
https://reacttraining.com/blog/react-router-v5-1/
2019-09-30 13:01:08 +02:00
Mael 5175540097 🐛 Correction de la lib
Problèmes de window et document undefined
2019-09-25 17:23:37 +02:00
Maxime Quandalle dbbb67ee7f
Ajout du lint pour les hooks React
Comme recommandé dans la documentation des hooks React, ajout des deux
linters suivants : react-hooks/rules-of-hooks et react-hooks/exhaustive-deps

Mise à jour des composants, en particulier les useEffect pour y spécifier
toutes les dépendances.
2019-09-17 12:54:54 +02:00
Maxime Quandalle 3fbd94bc65
🔥 Suppression de redux-form
Supprime aussi redux-batched-action. Le code résultant est plus concis
(alors que l'on supprime une dépendance !), et plus clair car il y a moins
d'indirections pour se conformer aux API de redux-form.
2019-09-17 12:54:18 +02:00
Johan Girod b2d0d4624a
🐎 améliore la performance du parsing
A peu près ~50% de gagné lors du parsing
Problème : long temps de blocage de l'UI lors du premier parsing des règles

Il reste encore quelques bugs
2019-09-13 10:23:55 +02:00