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>
* 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.
* 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.
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.
* 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.
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
* 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
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.
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 !)
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é
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.
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
- 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)
- 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
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
* 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
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.
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.
- 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
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>
* 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
- 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 ?
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
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.
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