Skip to content

Contribution Guide

matt_he edited this page Dec 31, 2018 · 3 revisions

Guide de contribution UiKit - Agorize-Gomette

  • Faire un fork du projet https://github.com/Agorize/agorize-uikit

  • Récupérer son fork en locale, avec git clone git@github.com:monNomUtilisateur/gommette.git

  • cd gommette

  • Créer le remote upstream basé sur le repo original git remote add upstream git@github.com:Agorize/agorize-uikit.git

  • Installer les packages avec yarn, yarn

  • Toujours commencer une nouvelle feature, un fix ou autre par la création d’une nouvelle branche issue de la branche dev du remote upstream, en suivant la convention de nommage qui suit.

  • Pour une feature, une branch feature/leNomDuScope basé sur upstream/dev

  • Pour un fix, une branche fix/leNomDuScope basé sur upstream/dev

  • Pour un hotfix, une branch hotfix/leNomDuScope basé sur upstream/hotfix (Ne pas oublier d’être à jour sur la branch hotfix par rapport à master)

  • Pour des POC, une branch poc/leNomDuScope

  • Toujours faire les commit à partir de commitizen pour avoir une release qui se fait automatiquement yarn commit ou git-cz

  • 1 fonctionnalité = 1 Pull Request

  • Pour créer sa pull request, git push origin leNomDeMaBranch

  • Sur github, sur le repo GitHub - Agorize/gommette, cliquer sur « Compare & Pull request »

  • Ajouter les labels correspondant

  • Ensuite après relecture de la future PR, créer la Pull Request en cliquant sur « Create pull request »

Faire un composant Vue Js

  • Établir les specs du composant en amont sur un fichier Readme (par exemple avec Bear)
  • Présenter les specs aux front (réunion de 15 minutes max) pour les faire valider.
  • Pour générer le composant avec son dossier, son fichier .vue, son fichier de test, ses render cases, son readme, utiliser hyphen avec la commande yarn run gen component new
  • Respecter le nom des composants Vue Styleguide Style Guide — Vue.js
  • Mettre dans le fichier de readme, les specs du composant préalablement définies
  • Rajouter son composant dans la liste des composants dans index.js afin qu’il soit exporté
  • Rédiger les tests avec Jest et tester avec la commande yarn test
  • Le composant doit être conforme avec le linter eslint qui utilise la configuration standard javascript yarn lint
  • Nos composants doivent tous être accessible AAA, et doivent être valides avec jest-axe GitHub - nickcolley/jest-axe: Custom Jest matcher for aXe for testing accessibility ♿️🃏
  • Créer plusieurs exemples styleguidist
  • Documenter les props pour styleguidist

Mettre du style dans le composant

  • Le tag parent doit avoir la classe go
  • Le style doit être écrit en BEM

Merger une PR

  • Pour merger sur dev, faire un squash.
  • Pour merger sur master, faire un rebase.

Être accessible AAA

Test unitaire de composants Vue.js

  • Tester toutes les méthodes
  • Tester les computed
  • Tester le rendu
  • Tester l’accessibilité avec jest-axe