@1024pix/pix-ui 11.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.buildpacks +2 -0
- package/.circleci/config.yml +22 -0
- package/.gitattributes +7 -0
- package/.github/workflows/auto-merge.yml +26 -0
- package/.github/workflows/deploy-storybook.yml +21 -0
- package/.github/workflows/npm-publish.yml +23 -0
- package/.github/workflows/on-dev-merge.yml +33 -0
- package/.nvmrc +1 -0
- package/.prettierignore +1 -0
- package/.prettierrc.json +12 -0
- package/.storybook/fonts.css +1 -0
- package/.storybook/main.js +10 -0
- package/.storybook/manager.js +6 -0
- package/.storybook/preview.js +37 -0
- package/.storybook/storybook-custom-theme.js +37 -0
- package/CHANGELOG.md +469 -0
- package/CNAME +1 -0
- package/LICENSE.md +9 -0
- package/README.md +58 -0
- package/addon/components/pix-background-header.hbs +7 -0
- package/addon/components/pix-background-header.js +5 -0
- package/addon/components/pix-banner.hbs +16 -0
- package/addon/components/pix-banner.js +43 -0
- package/addon/components/pix-block.hbs +5 -0
- package/addon/components/pix-block.js +11 -0
- package/addon/components/pix-button-base.js +27 -0
- package/addon/components/pix-button-link.hbs +16 -0
- package/addon/components/pix-button-link.js +10 -0
- package/addon/components/pix-button-upload.hbs +11 -0
- package/addon/components/pix-button-upload.js +20 -0
- package/addon/components/pix-button.hbs +43 -0
- package/addon/components/pix-button.js +54 -0
- package/addon/components/pix-collapsible.hbs +29 -0
- package/addon/components/pix-collapsible.js +27 -0
- package/addon/components/pix-filter-banner.hbs +28 -0
- package/addon/components/pix-filter-banner.js +13 -0
- package/addon/components/pix-icon-button.hbs +11 -0
- package/addon/components/pix-icon-button.js +33 -0
- package/addon/components/pix-input-code.hbs +24 -0
- package/addon/components/pix-input-code.js +133 -0
- package/addon/components/pix-input-password.hbs +43 -0
- package/addon/components/pix-input-password.js +34 -0
- package/addon/components/pix-input.hbs +30 -0
- package/addon/components/pix-input.js +26 -0
- package/addon/components/pix-message.hbs +8 -0
- package/addon/components/pix-message.js +30 -0
- package/addon/components/pix-multi-select.hbs +70 -0
- package/addon/components/pix-multi-select.js +162 -0
- package/addon/components/pix-progress-gauge.hbs +19 -0
- package/addon/components/pix-progress-gauge.js +29 -0
- package/addon/components/pix-radio-button.hbs +12 -0
- package/addon/components/pix-radio-button.js +5 -0
- package/addon/components/pix-return-to.hbs +15 -0
- package/addon/components/pix-return-to.js +20 -0
- package/addon/components/pix-select.hbs +55 -0
- package/addon/components/pix-select.js +58 -0
- package/addon/components/pix-selectable-tag.hbs +10 -0
- package/addon/components/pix-selectable-tag.js +13 -0
- package/addon/components/pix-stars.hbs +16 -0
- package/addon/components/pix-stars.js +27 -0
- package/addon/components/pix-tag.hbs +3 -0
- package/addon/components/pix-tag.js +11 -0
- package/addon/components/pix-textarea.hbs +21 -0
- package/addon/components/pix-textarea.js +17 -0
- package/addon/components/pix-tooltip-deprecated.hbs +18 -0
- package/addon/components/pix-tooltip-deprecated.js +26 -0
- package/addon/components/pix-tooltip.hbs +18 -0
- package/addon/components/pix-tooltip.js +17 -0
- package/addon/styles/_breakpoints.scss +17 -0
- package/addon/styles/_colors.scss +87 -0
- package/addon/styles/_fonts.scss +10 -0
- package/addon/styles/_form.scss +68 -0
- package/addon/styles/_pix-background-header.scss +20 -0
- package/addon/styles/_pix-banner.scss +67 -0
- package/addon/styles/_pix-block.scss +29 -0
- package/addon/styles/_pix-button-base.scss +137 -0
- package/addon/styles/_pix-button-link.scss +4 -0
- package/addon/styles/_pix-button-upload.scss +5 -0
- package/addon/styles/_pix-button.scss +40 -0
- package/addon/styles/_pix-collapsible.scss +82 -0
- package/addon/styles/_pix-filter-banner.scss +74 -0
- package/addon/styles/_pix-icon-button.scss +60 -0
- package/addon/styles/_pix-input-code.scss +71 -0
- package/addon/styles/_pix-input-password.scss +68 -0
- package/addon/styles/_pix-input.scss +93 -0
- package/addon/styles/_pix-message.scss +35 -0
- package/addon/styles/_pix-multi-select.scss +182 -0
- package/addon/styles/_pix-progress-gauge.scss +119 -0
- package/addon/styles/_pix-radio-button.scss +72 -0
- package/addon/styles/_pix-return-to.scss +64 -0
- package/addon/styles/_pix-select.scss +71 -0
- package/addon/styles/_pix-selectable-tag.scss +86 -0
- package/addon/styles/_pix-stars.scss +43 -0
- package/addon/styles/_pix-tag.scss +69 -0
- package/addon/styles/_pix-textarea.scss +39 -0
- package/addon/styles/_pix-tooltip.scss +196 -0
- package/addon/styles/_reset-css.scss +36 -0
- package/addon/styles/_spacing.scss +9 -0
- package/addon/styles/addon.scss +41 -0
- package/app/components/pix-background-header.js +1 -0
- package/app/components/pix-banner.js +1 -0
- package/app/components/pix-block.js +1 -0
- package/app/components/pix-button-link.js +1 -0
- package/app/components/pix-button-upload.js +1 -0
- package/app/components/pix-button.js +1 -0
- package/app/components/pix-collapsible.js +1 -0
- package/app/components/pix-filter-banner.js +1 -0
- package/app/components/pix-icon-button.js +1 -0
- package/app/components/pix-input-code.js +1 -0
- package/app/components/pix-input-password.js +1 -0
- package/app/components/pix-input.js +1 -0
- package/app/components/pix-message.js +1 -0
- package/app/components/pix-multi-select.js +1 -0
- package/app/components/pix-progress-gauge.js +1 -0
- package/app/components/pix-radio-button.js +1 -0
- package/app/components/pix-return-to.js +1 -0
- package/app/components/pix-select.js +1 -0
- package/app/components/pix-selectable-tag.js +1 -0
- package/app/components/pix-stars.js +1 -0
- package/app/components/pix-tag.js +1 -0
- package/app/components/pix-textarea.js +1 -0
- package/app/components/pix-tooltip-deprecated.js +1 -0
- package/app/components/pix-tooltip.js +1 -0
- package/app/stories/form.stories.js +91 -0
- package/app/stories/form.stories.mdx +16 -0
- package/app/stories/pix-background-header.stories.js +19 -0
- package/app/stories/pix-background-header.stories.mdx +36 -0
- package/app/stories/pix-banner.stories.js +89 -0
- package/app/stories/pix-banner.stories.mdx +107 -0
- package/app/stories/pix-block.stories.js +20 -0
- package/app/stories/pix-block.stories.mdx +44 -0
- package/app/stories/pix-button-link.stories.js +125 -0
- package/app/stories/pix-button-link.stories.mdx +57 -0
- package/app/stories/pix-button-upload.stories.js +85 -0
- package/app/stories/pix-button-upload.stories.mdx +39 -0
- package/app/stories/pix-button.stories.js +253 -0
- package/app/stories/pix-button.stories.mdx +99 -0
- package/app/stories/pix-collapsible.stories.js +56 -0
- package/app/stories/pix-collapsible.stories.mdx +39 -0
- package/app/stories/pix-filter-banner.stories.js +51 -0
- package/app/stories/pix-filter-banner.stories.mdx +33 -0
- package/app/stories/pix-icon-button.stories.js +95 -0
- package/app/stories/pix-icon-button.stories.mdx +90 -0
- package/app/stories/pix-input-code.stories.js +74 -0
- package/app/stories/pix-input-code.stories.mdx +46 -0
- package/app/stories/pix-input-password.stories.js +89 -0
- package/app/stories/pix-input-password.stories.mdx +69 -0
- package/app/stories/pix-input.stories.js +94 -0
- package/app/stories/pix-input.stories.mdx +57 -0
- package/app/stories/pix-message.stories.js +57 -0
- package/app/stories/pix-message.stories.mdx +71 -0
- package/app/stories/pix-multi-select.stories.js +199 -0
- package/app/stories/pix-multi-select.stories.mdx +55 -0
- package/app/stories/pix-progress-gauge.stories.js +78 -0
- package/app/stories/pix-progress-gauge.stories.mdx +43 -0
- package/app/stories/pix-radio-button.stories.js +71 -0
- package/app/stories/pix-radio-button.stories.mdx +49 -0
- package/app/stories/pix-return-to.stories.js +45 -0
- package/app/stories/pix-return-to.stories.mdx +41 -0
- package/app/stories/pix-select.stories.js +140 -0
- package/app/stories/pix-select.stories.mdx +57 -0
- package/app/stories/pix-selectable-tag.stories.js +91 -0
- package/app/stories/pix-selectable-tag.stories.mdx +55 -0
- package/app/stories/pix-stars.stories.js +43 -0
- package/app/stories/pix-stars.stories.mdx +35 -0
- package/app/stories/pix-tag.stories.js +56 -0
- package/app/stories/pix-tag.stories.mdx +46 -0
- package/app/stories/pix-textarea.stories.js +59 -0
- package/app/stories/pix-textarea.stories.mdx +36 -0
- package/app/stories/pix-tooltip-deprecated.stories.js +136 -0
- package/app/stories/pix-tooltip-deprecated.stories.mdx +143 -0
- package/app/stories/pix-tooltip.stories.js +157 -0
- package/app/stories/pix-tooltip.stories.mdx +183 -0
- package/app/styles/app.scss +0 -0
- package/config/environment.js +5 -0
- package/docs/architecture.stories.mdx +106 -0
- package/docs/assets/accessibility-storybook.png +0 -0
- package/docs/assets/screen-pix-storybook.png +0 -0
- package/docs/breaking-changes.stories.mdx +90 -0
- package/docs/changelog.stories.mdx +6 -0
- package/docs/create-component.stories.mdx +118 -0
- package/docs/design-system.stories.mdx +20 -0
- package/docs/good-practices-a11y.stories.mdx +48 -0
- package/docs/good-practices-design.stories.mdx +71 -0
- package/docs/good-practices-responsive.stories.mdx +51 -0
- package/docs/good-practices-style-css.stories.mdx +40 -0
- package/docs/good-practices-tests.stories.mdx +9 -0
- package/docs/make-a-release.stories.mdx +66 -0
- package/docs/pull_request_template.md +14 -0
- package/docs/storybook.stories.mdx +44 -0
- package/docs/use-component.stories.mdx +89 -0
- package/docs/use-install.stories.mdx +37 -0
- package/index.js +5 -0
- package/package.json +121 -0
- package/scalingo.json +17 -0
- package/servers.conf.erb +30 -0
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import { Meta } from '@storybook/addon-docs/blocks';
|
|
2
|
+
|
|
3
|
+
<Meta title='Développement/Architecture' />
|
|
4
|
+
|
|
5
|
+
# Architecture du projet Pix UI
|
|
6
|
+
|
|
7
|
+
## Arborescence générale
|
|
8
|
+
|
|
9
|
+
- `.circleci` : configuration pour les [tests de circleci](https://app.circleci.com/pipelines/github/1024pix/pix-ui)
|
|
10
|
+
- `.storybook` : configuration de l'outil Storybook.
|
|
11
|
+
- `addon` : contenu de notre addon Pix UI.
|
|
12
|
+
- `app` : aide l'Ember app à découvrir automatiquement les composants exportés par un addon.
|
|
13
|
+
- `blueprints` : configuration des blueprints (permet de générer automatiquement un composant Pix UI).
|
|
14
|
+
- `config` : configuration de l'addon ember.
|
|
15
|
+
- `docs` : documentation du projet Pix UI.
|
|
16
|
+
- `scripts` : scripts utiles aux [releases de Pix UI](/?path=/docs/développement-faire-une-release--page).
|
|
17
|
+
- `tests` : dossier de tests unitaires et intégration.
|
|
18
|
+
- `.env` : créé et utilisé par Storybook.
|
|
19
|
+
- `CHANGELOG.md` : détails du contenu des dernières release.
|
|
20
|
+
- `ember-cli-build.js` : sert uniquement à configurer l'application factice trouvée dans tests/dummy/.
|
|
21
|
+
- `index.js` : point d'entrée (par défaut et par convention) pour un projet npm.
|
|
22
|
+
- `package.json` : configuration du projet npm.
|
|
23
|
+
|
|
24
|
+
Documentation ember sur l'[arborescence d'un addon ember ici](https://cli.emberjs.com/release/writing-addons/).
|
|
25
|
+
|
|
26
|
+
### .storybook
|
|
27
|
+
|
|
28
|
+
- `.storybook`
|
|
29
|
+
- `main.js`: indique l’emplacement des fichiers stories et des addons de storybook.
|
|
30
|
+
- `manager.js`: sert pour le thème de storybook.
|
|
31
|
+
- `preview-head.html` : setup automatique de storybook utile au live reload.
|
|
32
|
+
- `preview.js` : utile à la configuration générale des stories : chez nous on l'utilise pour l'ordre des onglets dans le menu de storybook etc.
|
|
33
|
+
- `storybook-custom-theme.js` : définition de notre thème storybook personnalisé.
|
|
34
|
+
|
|
35
|
+
### addon
|
|
36
|
+
|
|
37
|
+
Ce répertoire peut contenir un grand nombre des mêmes sous-répertoires et fichiers qu'une application Ember, comme `/components/` par exemple.
|
|
38
|
+
Pour créer des composants, la plupart du travail se fera ici.
|
|
39
|
+
|
|
40
|
+
- `addon`
|
|
41
|
+
- `components` : contient les templates et les controllers de chaque composants.
|
|
42
|
+
- `pix-tooltip.hbs`
|
|
43
|
+
- `pix-tooltip.js`
|
|
44
|
+
- `stories` : contient les stories.
|
|
45
|
+
- `pix-tooltip.stories.js`
|
|
46
|
+
- `pix-tooltip.stories.mdx`
|
|
47
|
+
- `styles` : contient les styles des composants et les styles généraux.
|
|
48
|
+
- `_colors.scss`
|
|
49
|
+
- `_fonts.scss`
|
|
50
|
+
- `_pix-tooltip.scss`
|
|
51
|
+
- `addon.scss` : point d'entrée des styles.
|
|
52
|
+
|
|
53
|
+
### app
|
|
54
|
+
|
|
55
|
+
Le répertoire des applications joue un rôle important pour aider une application Ember à localiser automatiquement les composants
|
|
56
|
+
exportés par un addon.
|
|
57
|
+
|
|
58
|
+
- `app`
|
|
59
|
+
- `components`
|
|
60
|
+
- `pix-tooltip.js` : sert à l'app Ember à retrouver le composant correspondant pour son export.
|
|
61
|
+
- `styles`
|
|
62
|
+
- `app.scss` : vide mais utile à [ember-cli-sass](https://github.com/adopted-ember-addons/ember-cli-sass).
|
|
63
|
+
|
|
64
|
+
### blueprints
|
|
65
|
+
|
|
66
|
+
Actuellement il n'existe qu'un blueprint sur Pix UI.
|
|
67
|
+
Ce dernier est nommé `pix-component`, il contient tous les modèles permettant de générer les fichiers à la création d'un composant via la commande :
|
|
68
|
+
|
|
69
|
+
```
|
|
70
|
+
ember generate pix-component <component-name>
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
Pour plus d'informations sur les blueprints ember voir [la documentation](https://cli.emberjs.com/release/advanced-use/blueprints/).
|
|
74
|
+
|
|
75
|
+
### config
|
|
76
|
+
|
|
77
|
+
- `config`
|
|
78
|
+
- `ember-try.js` : configuration des versions d'Ember dont la compatibilité doit être vérifiée par la suite de tests.
|
|
79
|
+
- `environment.js` : valeurs par défaut pour les applications qui utilisent notre addon.
|
|
80
|
+
Les changements de valeurs dans l'application hôte surchargeront celles par défaut.
|
|
81
|
+
|
|
82
|
+
### docs
|
|
83
|
+
|
|
84
|
+
Si vous constatez qu'il manque des informations utile au développement du projet, il est vivement encouragé de rajouter de la documentation dans ce dossier là.
|
|
85
|
+
Un fichier de documentation est rédigé en [markdown](https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet) et son extension est `.md` ou `.mdx`.
|
|
86
|
+
|
|
87
|
+
Les fichiers suffixés par `stories.mdx` s'afficheront dans la documentation de storybook. Tandis que les autres ne seront visible que sur github.
|
|
88
|
+
|
|
89
|
+
### scripts
|
|
90
|
+
|
|
91
|
+
Une bonne partie des scripts présents dans ce dossier sont issus de [Pix-bot](https://github.com/1024pix/pix-bot) et servaient aux releases
|
|
92
|
+
de Pix UI mais sont aujourd'hui obsolètes.
|
|
93
|
+
|
|
94
|
+
Ils peuvent cependant servir en dernier recours si Pix-Bot ne fonctionne pas.
|
|
95
|
+
|
|
96
|
+
### tests
|
|
97
|
+
|
|
98
|
+
- `tests`
|
|
99
|
+
- `dummy` : ne sert pas sous Pix UI car nous utilisons Storybook pour tester et documenter nos composants.
|
|
100
|
+
- `helpers`
|
|
101
|
+
- `integration` : au moins un test d'intégration est attendu par composant
|
|
102
|
+
- `unit` : tests unitaires
|
|
103
|
+
- `index.html`
|
|
104
|
+
- `test-helper.js`
|
|
105
|
+
|
|
106
|
+
Pour plus d'informations sur les bonnes pratiques de tests sur Pix UI voir [les guidelines des tests](/?path=/docs/développement-bonnes-pratiques-tests--page).
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import { Meta } from '@storybook/addon-docs/blocks';
|
|
2
|
+
|
|
3
|
+
<Meta title='Développement/Breaking changes' />
|
|
4
|
+
|
|
5
|
+
# Breaking changes dans Pix UI
|
|
6
|
+
|
|
7
|
+
## Qu'est-ce qu'un breaking change ?
|
|
8
|
+
|
|
9
|
+
> Breaking change: change in one part of a software system that potentially
|
|
10
|
+
> causes other components to fail; occurs most often in shared libraries of
|
|
11
|
+
> code used by multiple applications.
|
|
12
|
+
> [[wiktionary](https://en.wiktionary.org/wiki/breaking_change)]
|
|
13
|
+
|
|
14
|
+
Au sens de Pix UI, un breaking change est un changement dans Pix UI qui va
|
|
15
|
+
avoir un effet de bord indésirable dans une app Ember qui dépend de Pix UI. Cet
|
|
16
|
+
effet indésirable peut-être une erreur, auquel cas cas les tests et/ou le build
|
|
17
|
+
de l'app vont échouer, ce qui rend le problème facile à détecter.
|
|
18
|
+
|
|
19
|
+
Mais le problème peut aussi être silencieux, obligeant le développeur qui fait
|
|
20
|
+
la montée de version à être vigilant. On veut donc non seulement l'avertir de
|
|
21
|
+
la présence de ce breaking change (en faisant un release majeure) mais aussi
|
|
22
|
+
lui donner un maximum d'informations sur ce qu'il va devoir vérifier et
|
|
23
|
+
modifier.
|
|
24
|
+
|
|
25
|
+
## Comment identifier les *breaking changes* dans Pix UI ?
|
|
26
|
+
|
|
27
|
+
Pour cela, on peut se poser les questions suivantes :
|
|
28
|
+
|
|
29
|
+
Mes changements dans Pix UI peuvent-ils déclencher une erreur dans une app Pix ?
|
|
30
|
+
|
|
31
|
+
Exemples :
|
|
32
|
+
- Un composant est supprimé
|
|
33
|
+
- Un composant change de nom
|
|
34
|
+
- Un argument obligatoire est ajouté à un composant
|
|
35
|
+
|
|
36
|
+
Mes changements dans Pix UI peuvent-ils provoquer un problème silencieux dans
|
|
37
|
+
une app Pix ?
|
|
38
|
+
|
|
39
|
+
Exemples :
|
|
40
|
+
- Un argument facultatif change de nom
|
|
41
|
+
- La valeur par défaut d'un argument change
|
|
42
|
+
- Un changement de style CSS à l'intérieur va avoir des effets de bord à
|
|
43
|
+
l'extérieur (ex: un élément `block` devient un élément `inline`).
|
|
44
|
+
|
|
45
|
+
Il faut prêter une attention particulière aux modifications et aux ajouts de
|
|
46
|
+
code existant touchant les interfaces publiques des composants. Les ajouts de
|
|
47
|
+
code provoquent rarement des *breaking-changes*.
|
|
48
|
+
|
|
49
|
+
Exemples :
|
|
50
|
+
- Un nouveau composant est ajouté
|
|
51
|
+
- Un argument facultatif est ajouté
|
|
52
|
+
|
|
53
|
+
Astuce : pour repérer les potentiels breaking changes, le mieux est d'installer
|
|
54
|
+
la version en cours de développement de Pix UI dans une app Ember à partir de
|
|
55
|
+
sa branche sur Github. Si, sans faire aucune autre modification que cette mise
|
|
56
|
+
à jour, on observe des changements, alors il s'agit probablement de *breaking
|
|
57
|
+
changes*.
|
|
58
|
+
|
|
59
|
+
## Comment communiquer en cas de *breaking change* ?
|
|
60
|
+
|
|
61
|
+
C'est au développeur qui ouvre la *pull request* qu'incombe la responsabilité
|
|
62
|
+
d'identifier les éventuels *breaking changes* dans ses modifications et, le cas
|
|
63
|
+
échéant, de les signaler dans le titre de la PR. Il lui faudra donner aussi un
|
|
64
|
+
maximum d'informations dans une section breaking changes de la PR sur ce qu'il
|
|
65
|
+
convient de faire pour vérifier que rien de casse lors de la montée de version
|
|
66
|
+
de Pix UI.
|
|
67
|
+
|
|
68
|
+
Ainsi :
|
|
69
|
+
- le développeur qui fera la prochaine release de Pix UI saura que ce doit être
|
|
70
|
+
une version majeure ;
|
|
71
|
+
- le développeur qui fera la montée de version de Pix UI côté app Ember aura
|
|
72
|
+
connaissance de ces *breaking changes* et de ce qu'il a à vérifier.
|
|
73
|
+
|
|
74
|
+
## Comment éviter un *breaking change* ?
|
|
75
|
+
|
|
76
|
+
On veut éviter de faire de trop nombreuses versions majeures, car elles
|
|
77
|
+
impliquent un risque et un effort d'attention supplémentaire du développeur qui
|
|
78
|
+
va faire la montée de version de Pix UI dans une app Ember.
|
|
79
|
+
|
|
80
|
+
Plutôt que de supprimer une partie du code (comme par exemple l'argument d'une
|
|
81
|
+
fonction devenu obsolète), on peut la marquer comme *deprecated* et lancer un
|
|
82
|
+
warning pour avertir le développeur que la fonctionnalité sera prochainement
|
|
83
|
+
supprimée ou modifiée.
|
|
84
|
+
|
|
85
|
+
Lors de la montée de version suivante, on pourra supprimer tous les codes
|
|
86
|
+
deprecated, ce qui permet de regrouper les breaking changes, laisser au
|
|
87
|
+
développeur le temps d'adapter le code et éviter de multiplier les montées de
|
|
88
|
+
versions majeures.
|
|
89
|
+
|
|
90
|
+
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import { Meta } from '@storybook/addon-docs/blocks';
|
|
2
|
+
|
|
3
|
+
<Meta title='Développement/Créer un composant' />
|
|
4
|
+
|
|
5
|
+
# Créer un composant et sa story
|
|
6
|
+
|
|
7
|
+
## Création des fichiers nécessaires au composant
|
|
8
|
+
|
|
9
|
+
La commande suivante permet de générer un nouveau composant :
|
|
10
|
+
|
|
11
|
+
```shell
|
|
12
|
+
ember generate pix-component <component-name>
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
⚠️ Ne pas préfixer le nom du composant par `pix`, cela se fera automatiquement avec la commande.
|
|
16
|
+
|
|
17
|
+
Cette commande est [un blueprint ember](https://cli.emberjs.com/release/advanced-use/blueprints/), c'est à dire une
|
|
18
|
+
commande customisée, elle permet d'automatiser plusieurs choses.
|
|
19
|
+
|
|
20
|
+
La commande crée et pré-remplit les fichiers suivant :
|
|
21
|
+
* `addon/templates/components/pix-<component-name>.hbs`: template du composant.
|
|
22
|
+
* `addon/components/pix-<component-name>.js`: controller du composant.
|
|
23
|
+
* `addon/stories/pix-<component-name>.stories.mdx`: documentation du composant.
|
|
24
|
+
* `addon/stories/pix-<component-name>.stories.js`: arguments et code de l'aperçu du composant dans la documentation.
|
|
25
|
+
* `addon/styles/_pix-<component-name>.scss`: style du composant.
|
|
26
|
+
* `app/components/pix-<component-name>.js`, sert uniquement à ember pour retrouver les composants existants dans le dossier `addon`. **On ne modifiera pas ce fichier là.**
|
|
27
|
+
* `tests/integration/components/pix-<component-name>-test.js`: test du composant.
|
|
28
|
+
|
|
29
|
+
De plus la commande met à jour les imports scss dans le fichier :
|
|
30
|
+
* `addon.scss` (elle rajoutera l'import juste avant la ligne `html {`)
|
|
31
|
+
|
|
32
|
+
## C'est quoi une story ?
|
|
33
|
+
|
|
34
|
+
Une story, c'est deux fichiers :
|
|
35
|
+
- un dont l'extension est `.stories.mdx`
|
|
36
|
+
- un dont l'extension est `.stories.js`
|
|
37
|
+
|
|
38
|
+
Ils permettent de visualiser et documenter le composant.
|
|
39
|
+
|
|
40
|
+
Lorsqu'on lance Storybook ce dernier va dans `.storybook/main.js` afin de trouver l'emplacement des fichiers `.stories.js`
|
|
41
|
+
et `stories.mdx`.
|
|
42
|
+
|
|
43
|
+
Ces derniers permettent ainsi d'afficher un aperçu des composants ainsi que leur documentation.
|
|
44
|
+
|
|
45
|
+
## Comment écrire une story ?
|
|
46
|
+
|
|
47
|
+
Voici par exemple la story du composant PixMessage :
|
|
48
|
+
|
|
49
|
+
```javascript
|
|
50
|
+
// pix-message.stories.js
|
|
51
|
+
import { hbs } from 'ember-cli-htmlbars'; // import nécessaire pour 'canvasContent'
|
|
52
|
+
|
|
53
|
+
// Ici on instancie l'aperçu du composant dans la doc
|
|
54
|
+
export const message = (args) => {
|
|
55
|
+
return {
|
|
56
|
+
template: hbs`
|
|
57
|
+
<PixMessage @type={{type}} @withIcon={{withIcon}}>
|
|
58
|
+
Ceci est un message {{type}}
|
|
59
|
+
</PixMessage>
|
|
60
|
+
`,
|
|
61
|
+
context: args
|
|
62
|
+
};
|
|
63
|
+
};
|
|
64
|
+
|
|
65
|
+
// Ici on définit et on documente les arguments du composant
|
|
66
|
+
export const argTypes = {
|
|
67
|
+
type: {
|
|
68
|
+
name: 'type',
|
|
69
|
+
description: 'Type du message',
|
|
70
|
+
type: { name: 'string', required: false },
|
|
71
|
+
defaultValue: 'info',
|
|
72
|
+
control: { type: 'select', options: ['info', 'success', 'warning', 'alert'] },
|
|
73
|
+
},
|
|
74
|
+
}
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
```markdown
|
|
78
|
+
{/* pix-message.stories.mdx */}
|
|
79
|
+
import { Meta, Story, Canvas, ArgsTable } from '@storybook/addon-docs/blocks';
|
|
80
|
+
import centered from '@storybook/addon-centered/ember';
|
|
81
|
+
import * as stories from './pix-message.stories.js';
|
|
82
|
+
|
|
83
|
+
{/* Titre de la section affichée dans le menu de storybook */}
|
|
84
|
+
|
|
85
|
+
<Meta
|
|
86
|
+
title='Notification/Message'
|
|
87
|
+
component='PixMessage'
|
|
88
|
+
decorators={[centered]}
|
|
89
|
+
argTypes={stories.argTypes}
|
|
90
|
+
/>
|
|
91
|
+
|
|
92
|
+
# Pix Message
|
|
93
|
+
|
|
94
|
+
Un bandeau d'information, par défaut de type info, avec une icône facultative.
|
|
95
|
+
|
|
96
|
+
{/* Affiche la prévisualisation du composant telle que définie dans pix-message.stories.js */}
|
|
97
|
+
|
|
98
|
+
<Canvas isColumn>
|
|
99
|
+
<Story name="Message" story={stories.message} height={140} />
|
|
100
|
+
</Canvas>
|
|
101
|
+
|
|
102
|
+
## Usage
|
|
103
|
+
|
|
104
|
+
```html
|
|
105
|
+
<PixMessage @type='info' @withIcon='true'>
|
|
106
|
+
Ceci est un message à caractère informatif.
|
|
107
|
+
</PixMessage>
|
|
108
|
+
\```
|
|
109
|
+
|
|
110
|
+
## Arguments
|
|
111
|
+
|
|
112
|
+
{/* Affiche le tableau des arguments tels que définis dans pix-message.stories.js */}
|
|
113
|
+
|
|
114
|
+
<ArgsTable story="Message" />
|
|
115
|
+
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
Plus d'information sur le [guide d'ember de Storybook ici](https://storybook.js.org/docs/guides/guide-ember/).
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Meta } from '@storybook/addon-docs/blocks';
|
|
2
|
+
|
|
3
|
+
<Meta title='Développement/Design System' />
|
|
4
|
+
|
|
5
|
+
# Design System
|
|
6
|
+
|
|
7
|
+
> Un Design System s’apparente à une bibliothèque de composants, visuels et principes au code réutilisable.
|
|
8
|
+
> (...)
|
|
9
|
+
> Le Design System regroupe la charte ergonomique et la charte graphique.
|
|
10
|
+
|
|
11
|
+
Voir : https://www.usabilis.com/design-system/
|
|
12
|
+
|
|
13
|
+
Chez Pix, nos UX/UI designers guident notre Design System dont on retrouve la documentation sur [Zeroheight](https://zeroheight.com/8dd127da7/p/45cb0c-introduction).
|
|
14
|
+
|
|
15
|
+
Puis ce sont les développeurs qui s'occupent d'implémenter le Design System avec une [librairie de composants Ember](https://cli.emberjs.com/release/writing-addons/)
|
|
16
|
+
et dont la documentation est générée par [Storybook](https://storybook.js.org/docs/react/get-started/introduction).
|
|
17
|
+
|
|
18
|
+
Ainsi pour le Design System de Pix, c'est Zeroheight qui fait foi, notre librairie Pix UI n'en n'étant que l'implémentation.
|
|
19
|
+
|
|
20
|
+
S'il y a des doutes sur l'apparence d'un composant de notre Design System, il suffit de se rendre sur Zeroheight et d'inspecter le composant.
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { Meta } from '@storybook/addon-docs/blocks';
|
|
2
|
+
import accessibilityImage from './assets/accessibility-storybook.png';
|
|
3
|
+
|
|
4
|
+
<Meta title='Développement/Bonnes pratiques/Accessibilité' />
|
|
5
|
+
|
|
6
|
+
# Bonnes pratiques d'accessibilité
|
|
7
|
+
|
|
8
|
+
L'accessiblité est un enjeu important sur nos composants UI.
|
|
9
|
+
|
|
10
|
+
## S'assurer d'avoir un composant accessible
|
|
11
|
+
|
|
12
|
+
- Penser au contraste entre le fond et le texte de votre composant.
|
|
13
|
+
- La taille de la police ne peut pas être inférieure à `10px`.
|
|
14
|
+
- La navigation au clavier permet d'accéder à toutes les parties de votre composant `Tab pour aller à l'élément suivant, Entrée ou Espace pour valider, Maj+Tab pour revenir à l'élément précédent`.
|
|
15
|
+
- S'assurer que les éléments en focus suivent un ordre logique.
|
|
16
|
+
- Lancer un logiciel de lecture d'écran (VoiceOver pour Mac) et s'assurer que ce soit compréhensible pour l'utilisateur.
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
Exemples pour l'utilisation du lecteur d'écran :
|
|
20
|
+
- Est-ce que l’information est lu et est compréhensible ?
|
|
21
|
+
|
|
22
|
+
- Si l'information est obligatoire, est-ce signalé ?
|
|
23
|
+
|
|
24
|
+
- Est-ce que les champs à remplir sont bien accompagnés d’un label ?
|
|
25
|
+
|
|
26
|
+
- En cas d’erreur, est-ce que l’on prévient bien l'utilisateur pour corriger son erreur ?
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
Pour vous aider à créer un composant accessible :
|
|
30
|
+
|
|
31
|
+
- les channels Slack `#tech-a11y` (interne) et `#ext-hotline-accessibilité-pix-tanaguru` (externe avec Tanaguru) sont disponibles pour répondre à vos questions sur le sujet.
|
|
32
|
+
- Nos pratiques sur l'accessibilité [ici](https://github.com/1024pix/pix/blob/dev/docs/Accessibilite.md)
|
|
33
|
+
- Compte-rendu détaillé de notre atelier avec Tanaguru [ici](https://1024pix.atlassian.net/wiki/spaces/DEV/pages/2856288297/2021-05-27+-+Compte-rendu+Atelier+accessibilit+Tanaguru+les+devs)
|
|
34
|
+
- Checklist des recommandations WebAIM [ici](https://webaim.org/standards/wcag/checklist#sc2.4.4)
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
## Vérifier l'accessibilité d'un composant sur Storybook
|
|
38
|
+
|
|
39
|
+
Pour chaque composant, dans la partie 'Canvas', vous pouvez accéder à l'onglet 'Accessibility' qui donne un aperçu des règles d'accessibilité validées (Passes) ou non (Violations).
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
Il est possible de cliquer sur "More info..." pour connaître en détail ces règles.
|
|
43
|
+
|
|
44
|
+
<img src={accessibilityImage} alt="Accessibility in Storybook"/>
|
|
45
|
+
|
|
46
|
+
Mais cela ne couvre pas à 100% les règles d'accessibilité.
|
|
47
|
+
|
|
48
|
+
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { Meta } from '@storybook/addon-docs/blocks';
|
|
2
|
+
|
|
3
|
+
<Meta title='Développement/Bonnes pratiques/Design' />
|
|
4
|
+
|
|
5
|
+
# Bonnes pratiques design
|
|
6
|
+
|
|
7
|
+
## Nommage
|
|
8
|
+
|
|
9
|
+
- les **noms de branches** commencent par `pix-ui`.
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
- Les **noms des fichiers** suivent l'exemple de la pix-tooltip.
|
|
13
|
+
*Par exemple, pour les styles, on recomandera de rajouter `_` devant le nom du fichier pour indiquer que c'est un ["fichier partiel Sass"](https://sass-lang.com/guide#topic-4).*
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
- Les **noms des composants** commencent par `Pix` et sont écrit en *PascalCase*.
|
|
17
|
+
*Par exemple, un composant bouton devient : `PixButton`.*
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
- Les **noms des propriétés des composants** sont écrit en *camelCase*.
|
|
21
|
+
|
|
22
|
+
```hbs
|
|
23
|
+
<PixSelect
|
|
24
|
+
@options={{options}}
|
|
25
|
+
@onChange={{onChange}}
|
|
26
|
+
@selectedOption="1"
|
|
27
|
+
/>
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
- Les **noms des classes CSS** suivent la convention [BEM](https://github.com/1024pix/pix/blob/dev/docs/CSS.md).
|
|
31
|
+
|
|
32
|
+
```html
|
|
33
|
+
class='pix-tooltip__content'
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## Intentions & Responsabilités
|
|
37
|
+
|
|
38
|
+
Il faut garder une **responsabilité unique** par composant.
|
|
39
|
+
|
|
40
|
+
- Un composant doit interagir uniquement dans son scope afin de ne pas devenir trop complexe et provoquer des effets de bord.
|
|
41
|
+
- Un composant trop complexe induit plusieurs paramètres ce qui rend donc son utilisation délicate.
|
|
42
|
+
|
|
43
|
+
Par exemple, si l'intention d'un composant est d'être un bouton (dans notre existant, *`PixButton`*) et qu'on le fait évoluer pour qu'il puisse devenir aussi un lien, il perd alors son intention d'origine (le nommage du composant *`PixButton`* ne fait alors plus sens) et prend trop de responsabilités.
|
|
44
|
+
|
|
45
|
+
Il conviendra alors d'avoir un composant pour un bouton et un autre pour un lien.
|
|
46
|
+
|
|
47
|
+
## Breaking changes
|
|
48
|
+
|
|
49
|
+
Un breaking change implique un changement d'intention ou/et de responsabilités du composant. Il est nécessaire de l'indiquer dans la PR correspondante.
|
|
50
|
+
|
|
51
|
+
Exemple de PR : [Enrichir la Pix Tooltip - BREAKING CHANGES (Pix-2000).](https://github.com/1024pix/pix-ui/pull/68)
|
|
52
|
+
|
|
53
|
+
Lorsqu'une autre personne va mettre à jour Pix UI dans une application, il est important qu'elle **vérifie le bon fonctionnement et le bon affichage des composants impactés par ces changements**. Il faut lui faciliter au maximum cette tâche en indiquant clairement dans la description de la PR le ou les composants impactés et les vérifications à effectuer.
|
|
54
|
+
|
|
55
|
+
## Rétrocompatibilité / Deprecated
|
|
56
|
+
|
|
57
|
+
Il est aussi possible de signaler ces changements comme dépréciés :
|
|
58
|
+
- Ne pas supprimer le composant actuel mais l'indiquer comme déprécié afin qu'il soit toujours utilisable le temps de faire les modifications. À terme, l'élément déprécié sera supprimé dans une nouvelle version majeure de Pix UI.
|
|
59
|
+
|
|
60
|
+
Exemple d'un composant déprécié :
|
|
61
|
+
```hbs
|
|
62
|
+
<PixSelect>
|
|
63
|
+
<NewPixSelect
|
|
64
|
+
@options={{options}}
|
|
65
|
+
@onChange={{onChange}}
|
|
66
|
+
@selectedOption="1"
|
|
67
|
+
/>
|
|
68
|
+
</PixSelect>
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
Autres détails d'un breaking change sur la page [Installation](/?path=/docs/utiliser-pix-ui-installation--page).
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { Meta } from '@storybook/addon-docs/blocks';
|
|
2
|
+
|
|
3
|
+
<Meta title='Développement/Bonnes pratiques/Responsive' />
|
|
4
|
+
|
|
5
|
+
# Bonnes pratiques responsive
|
|
6
|
+
|
|
7
|
+
La mise en place de composants responsive doit respecter les règles définies dans le Design System.
|
|
8
|
+
|
|
9
|
+
## Breakpoints
|
|
10
|
+
|
|
11
|
+
L'ensemble des breakpoints pour les différentes résolutions sont définis dans [le chapitre **Layout/Breakpoints** du Design System](https://zeroheight.com/8dd127da7/p/6877af-layout/t/47086b).
|
|
12
|
+
|
|
13
|
+
Ils sont décris dans le fichier `addon/styles/_breakpoints.scss` et utilisables via la mixin `device-is`
|
|
14
|
+
|
|
15
|
+
Par exemple, ici le style s'applique si on a moins la largeure d'une tablette.
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
```scss
|
|
19
|
+
@include device-is('tablet') {
|
|
20
|
+
padding: 32px 58px;
|
|
21
|
+
font-size: 0.875rem;
|
|
22
|
+
}
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
Le différents devices disponibles sont :
|
|
26
|
+
- `mobile`
|
|
27
|
+
- `tablet`
|
|
28
|
+
- `desktop`
|
|
29
|
+
- `large-screen`
|
|
30
|
+
|
|
31
|
+
## Mobile first
|
|
32
|
+
|
|
33
|
+
Le développement des composants doit être pensé et développé pour mobile puis adapté à des résolutions et devices supérieurs par la suite.
|
|
34
|
+
|
|
35
|
+
```scss
|
|
36
|
+
.my-class {
|
|
37
|
+
width: 100px; // Sur mobile par défaut
|
|
38
|
+
|
|
39
|
+
@include device-is('tablet') {
|
|
40
|
+
width: 200px; // Sur tablette
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
@include device-is('desktop') {
|
|
44
|
+
width: 300px; // Sur desktop
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
@include device-is('large-screen') {
|
|
48
|
+
width: 400px; // Sur écran large
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
```
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { Meta } from '@storybook/addon-docs/blocks';
|
|
2
|
+
|
|
3
|
+
<Meta title='Développement/Bonnes pratiques/Style CSS' />
|
|
4
|
+
|
|
5
|
+
# Style CSS / SCSS
|
|
6
|
+
|
|
7
|
+
## Arborescence
|
|
8
|
+
|
|
9
|
+
- Les variables se trouvent dans leur fichier scss respectif: `_breakpoints.scss`, `_colors.scss`, `_fonts.scss`.
|
|
10
|
+
- Chaque composant a son fichier scss qui sont importés dans `addon/styles/addon.scss`.
|
|
11
|
+
|
|
12
|
+
~~~javascript
|
|
13
|
+
@import 'pix-tooltip';
|
|
14
|
+
~~~
|
|
15
|
+
|
|
16
|
+
## Rendre surchargeable le SCSS
|
|
17
|
+
|
|
18
|
+
Passer `...attributes` au composant.
|
|
19
|
+
|
|
20
|
+
~~~html
|
|
21
|
+
<div class="pix-background-header" ...attributes>
|
|
22
|
+
~~~
|
|
23
|
+
|
|
24
|
+
## Convention BEM
|
|
25
|
+
|
|
26
|
+
Nos classes suivent la convention [BEM](https://github.com/1024pix/pix/blob/dev/docs/CSS.md).
|
|
27
|
+
|
|
28
|
+
~~~javascript
|
|
29
|
+
class='pix-tooltip__content'
|
|
30
|
+
~~~
|
|
31
|
+
|
|
32
|
+
## rem, spacing...
|
|
33
|
+
|
|
34
|
+
Il est recommandé d'utiliser le `rem` plutot que `px`.
|
|
35
|
+
1rem = 16px
|
|
36
|
+
|
|
37
|
+
Concernant les niveaux de textes, se référer a ZeroHeight [ici](https://zeroheight.com/8dd127da7/p/20e4df-typographie/b/974231).
|
|
38
|
+
|
|
39
|
+
Utiliser les **variables Sass** déjà existantes.
|
|
40
|
+
*Par exemple, vérifier dans les fichiers `_fonts.scss` et `_colors.scss`. Si elles n'existent pas, les rajouter au bon endroit.*
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { Meta } from '@storybook/addon-docs/blocks';
|
|
2
|
+
|
|
3
|
+
<Meta title='Développement/Faire une release' />
|
|
4
|
+
|
|
5
|
+
# Faire une release
|
|
6
|
+
|
|
7
|
+
## C'est quoi une release ?
|
|
8
|
+
|
|
9
|
+
Une release est la publication d'un nouvelle version du projet.
|
|
10
|
+
|
|
11
|
+
Autrement dit, on crée un tag git pour nommer cette version. Les nouveautés embarquées par cette version sont donc
|
|
12
|
+
uniquement celles déjà présentes sur `dev` au moment de la release.
|
|
13
|
+
|
|
14
|
+
Les applications se servant de Pix UI pourront alors se mettre à jour et utiliser les nouveaux composants et des
|
|
15
|
+
dernières features en précisant le numéro de la version.
|
|
16
|
+
|
|
17
|
+
Par ailleurs, sur Pix UI une release signifie aussi la mise à jour automatique de [notre storybook en ligne](https://storybook.pix.fr/).
|
|
18
|
+
|
|
19
|
+
## Effectuer la release, méthode via slack (conseillée)
|
|
20
|
+
|
|
21
|
+
Aller dans le canal slack dédié aux releases : [#tech-releases](https://1024pix.slack.com/archives/CVAMDQYHY), puis taper la commande suivante :
|
|
22
|
+
- `/publish-pix-ui <version_souhaitée>`
|
|
23
|
+
`<version_souhaitée>` peut prendre 3 valeurs :
|
|
24
|
+
- `patch` : correctif de bug
|
|
25
|
+
- `minor` : modifications n'apportant pas de changement dans l'utilisation de Pix UI
|
|
26
|
+
- `major` : modifications apportant des breaking changes
|
|
27
|
+
|
|
28
|
+
Vous devriez voir apparaître dans le canal un premier message (visible uniquement par vous) de Pix-bot vous indiquant
|
|
29
|
+
que la demande de déploiement pour Pix UI a bien été prise en compte.
|
|
30
|
+
|
|
31
|
+
Ensuite, Pix-Bot vous confirmera à nouveau via deux messages (un privé et un public) du bon déploiement de Pix UI en
|
|
32
|
+
indiquant le numéro de sa nouvelle version.
|
|
33
|
+
|
|
34
|
+
Et voilà 🎉
|
|
35
|
+
|
|
36
|
+
Si vous souhaitez suivre le déroulement de la release, consulter les [logs](https://github.com/1024pix/pix-ui/actions/workflows/deploy-storybook.yml)
|
|
37
|
+
de la GitHub action `Deploy Pix UI Storybook`.
|
|
38
|
+
|
|
39
|
+
## Constater le bon fonctionnement de la release
|
|
40
|
+
|
|
41
|
+
Pour vérifier si la release s'est bien déroulée :
|
|
42
|
+
- vérifier le contenu du [CHANGELOG.md](../CHANGELOG.md) : contient-il toutes les PR qui ont été mergées récemment sur la branche `dev` ?
|
|
43
|
+
- vérifier si notre [Storybook en ligne](https://1024pix.github.io/pix-ui/) montre bien les nouveaux composants.
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
## Effectuer la release, méthode à la mano (déconseillée)
|
|
47
|
+
Après s'être mis à jour sur la branche dev, lancer le script de publication :
|
|
48
|
+
- `git checkout dev`
|
|
49
|
+
- `git pull`
|
|
50
|
+
- `./scripts/publish.sh <version_souhaitée>`
|
|
51
|
+
|
|
52
|
+
`<version_souhaitée>` peut prendre 3 valeurs :
|
|
53
|
+
- `patch` : correctif de bug
|
|
54
|
+
- `minor` : modifications n'apportant pas de changement dans l'utilisation de Pix UI
|
|
55
|
+
- `major` : modifications apportant des breaking changes
|
|
56
|
+
|
|
57
|
+
Pour plus d'informations au sujet de la version à choisir se référencer à [SemVer](https://semver.org/lang/fr/).
|
|
58
|
+
|
|
59
|
+
Le script de publication effectuera automatiquement les actions suivantes :
|
|
60
|
+
- mise à jour de la version du projet dans le `package.json`
|
|
61
|
+
- création d'un tag git correspondant à la nouvelle version
|
|
62
|
+
- mise à jour de la liste des changements dans le [CHANGELOG.md](../CHANGELOG.md)
|
|
63
|
+
- mise à jour de la branche `master` par rapport à `dev`
|
|
64
|
+
- re-[déploiement de storybook sur les GitHub Pages](/?path=/docs/développement-storybook--page)
|
|
65
|
+
|
|
66
|
+
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
## :boom: BREAKING_CHANGES
|
|
2
|
+
> _Décrivez ici les changements cassant (voir la doc associée)[https://github.com/1024pix/pix-ui/blob/dev/docs/breaking-changes.stories.mdx], s'il n'y en a pas indiquez le aussi.
|
|
3
|
+
|
|
4
|
+
## :christmas_tree: Problème
|
|
5
|
+
> _Décrivez ici le besoin ou l'intention couvert par cette Pull Request._
|
|
6
|
+
|
|
7
|
+
## :gift: Solution
|
|
8
|
+
> _Ajoutez à cet endroit, si nécessaire, des détails concernant la solution technique retenue et mise en oeuvre, des difficultés ou problèmes rencontrés._
|
|
9
|
+
|
|
10
|
+
## :star2: Remarques
|
|
11
|
+
> _Des infos supplémentaires, trucs et astuces ?_
|
|
12
|
+
|
|
13
|
+
## :santa: Pour tester
|
|
14
|
+
> _Les instructions pour reproduire le problème, les profils de test, le parcours spécifique à utiliser, etc._
|