mon-entreprise/CONTRIBUTING.md

238 lines
10 KiB
Markdown
Raw Permalink Normal View History

2019-07-09 12:17:09 +00:00
# Comment contribuer ?
2019-07-09 12:17:09 +00:00
Merci de prendre le temps de contribuer ! 🎉
2019-07-09 12:17:09 +00:00
Voici quelques informations pour démarrer :
2019-07-09 12:17:09 +00:00
## Rapport de bug, nouvelles fonctionnalités
2019-09-25 15:42:06 +00:00
Nous utilisons GitHub pour suivre tous les bugs et discussions sur les nouvelles fonctionnalités. Pour rapporter un bug ou proposer une évolution vous pouvez [ouvrir une nouvelle discussion](https://github.com/betagouv/mon-entreprise/issues/new). N'hésitez pas à utiliser la recherche pour vérifier si le sujet n'est pas déjà traité dans une discussion ouverte.
2019-07-09 12:17:09 +00:00
## Développement
2019-09-25 15:42:06 +00:00
Si vous voulez participer au développement de nouvelles fonctionnalités, vous pouvez consulter la liste des «[good first issue](https://github.com/betagouv/mon-entreprise/issues?q=is%3Aopen+is%3Aissue+label%3A%22%3Anew%3A+good+first+issue%22) ». Ce sont des fonctionnalités intéressantes qui ne sont normalement pas trop complexe à implémenter. N'hésitez pas à poser toutes vos questions sur ces issues !
2019-07-09 12:17:09 +00:00
### Technologies
L'application est écrite en JavaScript, elle est exécuté uniquement côté client — il n'y a pas de serveur applicatif, nous générons des fichiers `.html` statiques
Nous utilisons :
2021-04-15 08:43:56 +00:00
- [TypeScript](https://www.typescriptlang.org) pour ajouter un système de typage à notre code JavaScript. Le typage n'est pas utilisé partout et il n'est pas obligatoire de le prendre en compte pour contribuer.
- [Yarn](https://yarnpkg.com/fr) pour la gestion des dépendances (à la place de NPM qui est souvent utilisé dans les applications JavaScript)
- [React](https://reactjs.org) pour la gestion de l'interface utilisateur
- [Redux](https://redux.js.org) pour gérer le “state” de l'application côté client
- [Prettier](https://prettier.io/) pour formater le code source, l'idéal est de configurer votre éditeur de texte pour que les fichiers soit formatés automatiquement quand vous sauvegardez un fichier. Si vous utilisez [VS Code](https://code.visualstudio.com/) cette configuration est automatique.
- [Webpack](https://webpack.js.org) pour le “bundling”
- [Eslint](http://eslint.org) qui permet par exemple d'éviter de garder des variables inutilisées
- [Ramda](https://ramdajs.com) comme libraire d'utilitaires pour manipuler les listes/objects/etc (c'est une alternative à lodash ou underscore)
- [Mocha](https://mochajs.org), [Jest](https://jestjs.io) et [Cypress](https://www.cypress.io) pour les l'execution des tests. Plus d'informations dans la section consacrée aux tests.
2019-07-09 12:17:09 +00:00
### Démarrage
2021-06-15 09:39:13 +00:00
Si possible, assurez-vous d'avoir toutes les clés d'API nécessaires dans votre fichier
`mon-entreprise/.env` (un template est disponible dans `mon-entreprise/.env.template`).
2021-06-15 09:39:13 +00:00
**NB : ne vous inquiétez pas, ceci n'est pas nécessaire pour effectuer une première contribution à
la base de code !** Cependant, vous en aurez besoin pour la commande `yarn prepare` et pour les
commandes de traduction automatique français -> anglais. Si vous êtes confronté à ce type de besoin,
demandez l'aide des contributeurs du projet.
2019-07-09 12:17:09 +00:00
Si l'historique des commits est trop volumineux, vous pouvez utiliser le paramètre `depth` de git pour ne télécharger que les derniers commits.
```
# Clone this repo on your computer
2019-09-25 15:42:06 +00:00
git clone --depth 100 git@github.com:betagouv/mon-entreprise.git && cd mon-entreprise
2019-07-09 12:17:09 +00:00
# Mettre à jour votre config git locale
git config blame.ignoreRevsFile .git-blame-ignore-revs
2019-07-09 12:17:09 +00:00
# Install the Javascript dependencies through Yarn
yarn install
# Download some data
yarn prepare
# Watch changes in publicodes and run the server for mon-entreprise
2019-07-09 12:17:09 +00:00
yarn start
```
2021-06-15 09:39:13 +00:00
L'application est exécutée sur http://localhost:8080/mon-entreprise pour la version française et
http://localhost:8080/infrance pour la version anglaise.
2019-07-09 12:17:09 +00:00
2021-06-15 09:39:13 +00:00
Pour activer le traçage Redux:
2021-02-11 18:46:51 +00:00
```
REDUX_TRACE=true yarn start
```
2019-07-09 12:17:09 +00:00
### Messages de commit
2017-03-20 09:24:02 +00:00
A mettre sans retenue dans les messages de commit :
MAJ publicodes (#1645) * 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 :bug: 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
2021-07-06 13:47:44 +00:00
- 🎨 `:art:` pour une modification de l'UI
- 🐎 `:racehorse:` pour une amélioration de performance
- 🐛 `:bug:` pour une correction de bug
- 🔥 `:fire:` pour une suppression de code ou de fichier
- 💚 `:green_heart:` pour une correction de CI
-`:white_check_mark:` pour un ajout de test
- ⬆️ `:arrow_up:` pour une mise à jour de dépendances
-`:sparkles:` pour une ré-organisation du code
-`:gear:` pour une contribution sur le moteur publicodes
- 🔨 `:hammer:` pour une contribution à la base de règles
- 📆 `:calendar:` pour un changement de règle du à une évolution temporelle (en attendant mieux)
- 📈 `:chart_with_upwards_trend:` pour une amélioration du tracking
- 👽 `:alien:` pour ajouter des traductions
-`:wheelchair:` pour corriger les problèmes liés à l'accessibilité
- 🖋 `:fountain_pen:` pour séparer les commits liés à la modification du contenu
- 🔍 `:mag:` pour les modifications liées au référencement naturel
### Tests
2021-06-15 09:39:13 +00:00
Pour la vérification syntaxique :
```sh
$ yarn lint
```
Pour la vérification du typage :
```sh
$ yarn test:type
```
Pour executer les tests unitaires :
```sh
2021-06-15 09:39:13 +00:00
$ yarn test
```
Pour le snapshot testing :
```sh
2021-06-15 09:39:13 +00:00
$ yarn test:regressions
```
Si vous souhaitez mettre à jour les snapshots vous pouvez utiliser le paramètre `--updateSnapshot`, son raccourci `-u`, ou encore le [mode interactif](https://jestjs.io/docs/en/snapshot-testing#interactive-snapshot-mode).
2021-06-15 09:39:13 +00:00
Pour les tests d'intégration sur chacun des 3 sites :
```sh
2021-06-15 09:39:13 +00:00
$ yarn workspace mon-entreprise test:dev-e2e:mon-entreprise
$ yarn workspace mon-entreprise test:dev-e2e:mycompanyinfrance
$ yarn workspace mon-entreprise test:dev-e2e:publicodes
```
### Traduction 👽
Le site est disponible en français, et en anglais sur https://mycompanyinfrance.com
Les traductions se trouvent dans le répertoire `source/locales`.
2020-04-05 21:27:31 +00:00
La librairie utilisée pour la traduction de l'UI est
[react-i18next](https://react.i18next.com/).
Lorsque l'on introduit une nouvelle chaîne de caractère dans l'UI il faut
systématiquement penser à gérer sa traduction, via un composant `<Trans>`, ou
via la fonction `t`
Le circle-ci fait une analyse statique du code pour repérer les chaînes non
traduites, dans le moteur et l'UI :
```sh
$ yarn run i18n:rules:check
$ yarn run i18n:ui:check
```
2020-04-05 21:27:31 +00:00
Pour traduire automatiquement les chaînes manquantes via l'api Deepl :
```sh
$ yarn run i18n:rules:translate
$ yarn run i18n:ui:translate
```
N'oubliez pas de vérifier sur le diff que rien n'est choquant.
### CI/CD
2021-05-19 12:47:17 +00:00
- Nous utilisons des [Github actions](https://github.com/features/actions) pour faire tourner les builds et
2021-04-15 08:43:56 +00:00
tests.
2021-05-19 12:47:17 +00:00
- [Netlify](https://www.netlify.com/), s'occupe de lhébergement du site sur Internet avec gestion des DNS.
### Analyse des bundles
La commande `yarn run build:analyse-bundle` gènere une visualisation interactive du
contenu packagé, cf.
[webpack-bundle-analyzer](https://github.com/webpack-contrib/webpack-bundle-analyzer)
MAJ publicodes (#1645) * 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 :bug: 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
2021-07-06 13:47:44 +00:00
### Tests
Pour tester les règles, il est recommandé de:
- faire tourner un simulateur et vérifier à la main l'adéquation des règles avec les normes
traduites ;
- créer des cas de tests de non-régression sous la forme de nouveaux snapshots (cf.
`mon-entreprise/test/regressions`).
En local, le moteur de recherche n'est pas mis à jour automatiquement et la liste des règles
est exposée ici: http://localhost:8080/mon-entreprise/documentation/dev
MAJ publicodes (#1645) * 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 :bug: 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
2021-07-06 13:47:44 +00:00
## Publicodes
### Documentation
2021-09-01 09:17:51 +00:00
La documentation de publicodes est disponible sur https://publi.codes.
MAJ publicodes (#1645) * 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 :bug: 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
2021-07-06 13:47:44 +00:00
Un wiki contenant des informations intéressantes sur publicodes et le
raisonnement ayant abouti à ce langage sont dispos sur le repository
2021-09-01 09:17:51 +00:00
[betagouv/publicodes](https://github.com/betagouv/publicodes/wiki)
MAJ publicodes (#1645) * 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 :bug: 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
2021-07-06 13:47:44 +00:00
Pour se familiariser avec les règles, vous pouvez jeter un œil aux fichiers
contenant les règles elles-mêmes (dans le dossier `modele-social`) mais cela
peut s'avérer assez abrupt.
2021-09-01 09:17:51 +00:00
Essayez plutôt de jeter un oeil [aux tests](https://github.com/betagouv/publicodes/tree/master/core/test/m%C3%A9canismes)
dans un premier temps, et pourquoi pas à [à l'implémentation des mécanismes](https://github.com/betagouv/publicodes/tree/master/core/source/mecanisms).
MAJ publicodes (#1645) * 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 :bug: 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
2021-07-06 13:47:44 +00:00
### Traduction des normes (lois) en règles Publicodes
Checklist:
- [ ] Lire les articles de vulgarisation (sur le site de l'URSSAF, des impôts, etc.).
- [ ] Utiliser un moteur de recherche spécialisé, comme [RFPaye](https://rfpaye.grouperf.com/).
- [ ] [Lire les normes][wiki normes] et noter leurs référence dans les règles Publicodes.
[wiki normes]: https://github.com/betagouv/mon-entreprise/wiki/Comment-lire-les-normes-(la-loi)-efficacement-pour-r%C3%A9diger-des-r%C3%A8gles-Publicodes%3F
2021-05-19 12:47:17 +00:00
### Modifier publicodes
Publicodes dispose désormais de son propre dépôt GitHub https://github.com/betagouv/publicodes
2021-06-15 09:39:13 +00:00
Néanmoins pour certaines nouvelles fonctionnalités de mon-entreprise nous concervons le besoin de
modifier publicodes avec le moins de frictions possible. Pour tester une évolution du moteur il
serait en effet trop lourd d'avoir à ouvrir d'abord une PR côté publicodes, la merger, publier une
nouvelle version du paquet, puis ré-intégrer cette nouvelle version sur mon-entreprise.
2021-05-19 12:47:17 +00:00
2021-06-15 09:39:13 +00:00
C'est pourquoi nous intégrons le code source du publicode dans le sous-répertoire `publicodes/`. La
commande `git subtree` nous permet de synchroniser les changements effectués dans l'un ou l'autre
des dépôts.
2021-05-19 12:47:17 +00:00
La première chose à faire est d'ajouter une nouvelle `remote` pour `betagouv/publicodes`, ici nous l'appelons simplement `publicodes` :
```sh
git remote add publicodes git@github.com:betagouv/publicodes.git
```
Ensuite il est possible de remonter les changements effectués dans le sous-repertoire `publicodes/` vers la branche master de la remote `publicodes`.
```sh
$ git subtree push --prefix=publicodes publicodes master
```
Dans l'autre sens il est possible de rapatrier les changements avec la commande
```sh
$ git subtree pull --prefix=publicodes publicodes master --squash
```
MAJ publicodes (#1645) * 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 :bug: 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
2021-07-06 13:47:44 +00:00
Les dépendances peuvent avoir changé côté publicodes, mieux vaut donc enchaîner avec un `yarn install` pour être à jour.