Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[DOC] ADR-57 - Migration des fichiers SCSS dans le dossier des composants #10481

Open
wants to merge 1 commit into
base: dev
Choose a base branch
from

Conversation

mcampourcy
Copy link
Contributor

🍂 Problème

Le paradigme d’Ember impose de séparer tous les fichiers (controllers, templates, styles) en gardant la même arborescence pour s’y retrouver. Dans le cas des styles, ça peut être franchement laborieux de s'y retrouver.

🌰 Proposition

Création d'une ADR proposant de mettre les fichiers de style dans le dossier des composants.

🎃 Remarques

RAS

🪵 Pour tester

  • Lire l'ADR
  • Commenter / corriger les fautes si besoin
  • Donner son avis
    • Valider la PR et donc l'ADR
    • ou
    • Faire un request changes et dire pourquoi on ne veut pas de l'ADR

@mcampourcy mcampourcy added 👀 Tech Review Needed cross-team Toutes les équipes de dev labels Nov 5, 2024
@mcampourcy mcampourcy self-assigned this Nov 5, 2024
@pix-bot-github
Copy link

Une fois les applications déployées, elles seront accessibles via les liens suivants :

Les variables d'environnement seront accessibles via les liens suivants :

docs/adr/0057-migration-css-dans-les-composants.md Outdated Show resolved Hide resolved
- Pour un composant donné, les styles sont plus faciles à retrouver et à maintenir

### Inconvénients
- On est hors du paradigme d’Ember, risque de problèmes futurs inattendus
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ça n'a pas encore l'air sec sec mais ils évoquent d'autres approches (<style> blocks for scoped CSS) et questionnement notamment le lien avec le reste de l'écosystème : CSS Modules, Emotion, Styled Components, vanilla-extract...

La RFC est en statut "Ready For Release" alors j'imagine qu'il faut rester attentif sur les prochaines communications.


### Inconvénients
- On est hors du paradigme d’Ember, risque de problèmes futurs inattendus
- Est-ce qu'on garde les styles globaux dans le dossier "styles" ?
Copy link
Member

@yannbertrand yannbertrand Nov 5, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ça me parait être le moins risqué avant qu'ils n'aient tranché sur la direction. Ma crainte notamment c'est que les fichiers SCSS soient embarqués dans le build et donc alourdirait le build final. C'est ce qu'on avait remarqué en essayant de regrouper les fichiers de tests au plus proche des composants. J'avais vérifié pour les styles en l'état : aucun impact.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Même réflexion, je serais assez partante pour ça aussi (je l'ajoute à la solution dans l'ADR)

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

question :

Pour les tests c'est HS. mais ça doit se configurer au build d'exclure certains type de fichiers ?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pour les tests c'est HS. mais ça doit se configurer au build d'exclure certains type de fichiers ?

On n'avait pas creusé ce point pour ne pas trop s'écarter des reco d'Ember


Dans le cas des styles, c'est parfois laborieux de retrouver le fichier correspondant au composant sur lequel on travaille.

Le paradigme des frameworks plus récents comme VueJS ou Svelte propose un fichier unique qui intègre la logique, le template, et son css scopé. Dans le cas de ReactJS, la norme est de mettre le fichier CSS à côté du fichier de composant correspondant.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nitpick : "frameworks plus récents" que quoi ? 🫣

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Plus récents qu'Ember ?

Copy link
Member

@yannbertrand yannbertrand Nov 6, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Je ne vois pas en quoi c'est utile dans l'argumentation de préciser ce point. Ils "ont des paradigmes différents" est suffisant, non ?

Est-ce que quelque chose de nouveau est forcément mieux ? 😄

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmm, on peut remplacer "récent" par "les plus utilisés depuis plusieurs années" ?

Copy link
Contributor

@xav-car xav-car Nov 8, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

suggestion

la colocalisation des fichiers ou l'intégration dans un même fichier dans la majorité des frameworks permet une DX (developer experience) plus agréable ?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@xav-car c'est tellement bien formulé 👌

@mcampourcy mcampourcy force-pushed the adr-057-css-files-close-to-component-files branch from 6308cf6 to 056180a Compare November 8, 2024 09:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cross-team Toutes les équipes de dev 👀 Tech Review Needed
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants