Commit Graph

50 Commits (b2cee93d58433a191d943f9767c1ab76e562ba21)

Author SHA1 Message Date
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 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 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
Johan Girod 983ad40f2c 🐛 Corrige la page blanche sur publi.codes
Ajoute également des test E2E sur https://publi.codes
Fix #1004
2020-04-27 16:18:26 +02:00
Johan Girod 7ccc4ce4e3 Revert "Revert "Refacto : séparation claire du moteur et de l'application 🔥""
This reverts commit 8c7ab52a4f.
2020-04-24 11:27:48 +02:00
Johan Girod 8c7ab52a4f
Revert "Refacto : séparation claire du moteur et de l'application 🔥" 2020-04-21 15:49:48 +02:00
Johan Girod 03128ccda4 ⚙️ Ajoute la possibilité de spécifier des unités dans les valeurs par défaut et dans la situation 2020-04-21 11:03:58 +02:00
lajarre e2403f03ca 🐛 Use node 12.16.1 everywhere
* package.json min version
* circle dockerimages
* adding .node-version (notably useful for Netlify)
* plus: yarn.lock upgraded using node 12.16.1
2020-03-23 17:22:37 +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 e9d5f1c62b 🔥 Rangement
* Suppression de fichiers "documentation" qui n'avaient pas été modifiés
  depuis deux ans et n'étaient plus à jour
* Déplacement de base.yaml dans un répertoire publicode de premier
  niveau. Déplacement de la traduction des règles dans le répertoire
  source/locales
* Suppression de la page /documentation/exemples qui n'était pas
  référencée sur le site, pas consultée dans nos stats, et boguée.
* Suppression de la configuration git quotepath qui ne semble plus utile
2020-02-05 14:30:54 +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
Johan Girod efbaaa742e 👽🔨 ajoute un script de traduction automatique des règles
Ainsi qu'une tâche circle ci pour vérifier qu'il ne manque pas des traductions de règles
2020-01-21 18:23:26 +01:00
Johan Girod 19ea58a5d0 🐛 fix #760 2019-10-31 10:24:55 +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 f958e632d5 Ajoute des tests extensif pour tous les simulateurs 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
Johan Girod fac63bf5d1
💚 remet l'enregistrement des tests E2E maintenant que nous sommes labelisés OSS par Cypress 2019-04-24 10:52:27 +02:00
Johan Girod 0683dfacf4
💚 enlève l'enregistrement cypress tant que nous n'avons pas le plan open-source 2019-04-24 10:49:11 +02:00
Johan Girod a84a562eb2
💚 répare les tests E2E suite à la suppression d'embauche.beta.gouv.fr 2019-04-24 10:49:11 +02:00
Johan Girod d8100592bb 💚 enlève les tests E2E sur demo en attendant de corriger le changement de langue 2019-02-18 17:19:30 +01:00
Johan Girod ef9145af77 💚 refactor le ficher circle.yaml 2019-02-14 08:50:13 +01:00
Johan Girod 2c1a2cece3 💚 change la config des tests E2E pour permettre le test du changement de langue sur circleci 2019-02-14 08:50:13 +01:00
Johan Girod 59db9c7d99 ajoute des tests E2E pour le changement de langue 2019-02-14 08:50:13 +01:00
Johan Girod 3160c2348d 💚 Répare une erreur circle.ci sur master 2019-02-08 14:10:45 +01:00
Johan Girod e5518ea239 Met à jour les sitemap 2019-02-08 11:51:02 +01:00
Johan Girod 8e3a0ba501 Ajoute des script npm pour lancer les tests E2E 2019-02-08 11:09:13 +01:00
Johan Girod 502682fe65 ajoute des tests E2E pour mon-entreprise & mycompanyinfrance 2019-02-07 18:43:53 +01:00
Johan Girod 8edfc6a846 💚 réarrange le fichier circle-ci (factorisation des commandes) 2019-02-07 17:53:22 +01:00
Johan Girod d77248238d 💚 fix cypress on master 2018-11-15 11:35:30 +01:00
Johan Girod 3ceaa96ade 🐛 Augmente le timeout avant le lancement des test E2E sur master 2018-11-06 18:06:01 +01:00
Johan Girod 31be978ef3
Ajoute un délai avant les test e2e sur la prod
Pour éviter les plantages intempestifs
2018-10-11 12:07:16 +02:00
Johan Girod 9a65a27bf2 Add webhook to circleci --7 2018-09-06 19:42:27 +02:00
Johan Girod da213d0cca Add webhook to circleci --6 2018-09-06 19:37:20 +02:00
Johan Girod ff8c114b89 Add webhook to circleci --5 2018-09-06 19:36:06 +02:00
Johan Girod 97f7cf6fde Add webhook to circleci --4 2018-09-06 19:30:30 +02:00
Johan Girod 6db183344c Add webhook to circleci --3 2018-09-06 19:26:30 +02:00
Johan Girod 5a9e8a2fde Add webhook to circleci --2 2018-09-06 19:17:56 +02:00
Johan Girod aaf6f89b9a Add webhook to circleci 2018-09-06 19:16:10 +02:00
Johan Girod 8de90e8156 Fix circle CI check on prod --3 2018-09-06 18:45:20 +02:00
Johan Girod 186143e423 Fix circle CI check on prod --2 2018-09-06 18:38:37 +02:00
Johan Girod b64a2f0b45 Fix circle CI check on prod 2018-09-06 18:36:14 +02:00
Johan Girod ea2b9435e0 Add circle CI check on our partner integration (pole-emploi) 2018-09-06 18:30:24 +02:00
Johan Girod 6cd4d69236 💚 ajoute des tests end-to-end à circleCI 2018-09-06 14:54:23 +02:00
Mael fde1baf8b5 Correction de l'affichage du BarèmeLinéaire
La tranche surlignée était mauvaise

+💚 ajoute une ligne pour gérer les fichiers avec utf8
dans leur nom
2018-09-05 11:16:09 +02:00
Johan Girod 5a5d6f6814 💚 🐛 yarn is preinstall in circle ci 2.0 2018-08-29 18:37:25 +02:00
Johan Girod f536b9aa61 💚 circle-ci 2.0 2018-08-24 17:04:33 +02:00
Johan Girod b4a1111644 ⬆️ met à jour les dependances et enleve l'étape flow typed au yarn install 2018-08-04 11:44:24 +02:00
Mael a7ab825d3b :up_arrow: MAJ version node
La derniere version LTS, pour pouvoir utiliser la fonctionnalite object
spread
2018-04-23 15:45:55 +02:00
Laurent Bossavit 2a76940bd7 Ajouter des réglagles pour CircleCI 2017-06-28 17:24:17 +02:00