-
Notifications
You must be signed in to change notification settings - Fork 0
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
Add ADR for adopting Styled Components as a global styling strategy across CFIA projects #94
Open
CFIALeronB
wants to merge
1
commit into
main
Choose a base branch
from
92-create-adr-for-adopting-styled-components
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,40 @@ | ||
# ADR-009: Adopting Styled Components for CSS Styling Across CFIA Projects | ||
|
||
## Executive Summary | ||
|
||
This ADR documents the decision to adopt Styled Components over traditional CSS for styling across various projects at the Canadian Food Inspection Agency (CFIA). The decision is driven by the need for enhanced scalability, consistency, and development efficiency in styling approaches. | ||
|
||
## Context | ||
|
||
As projects at CFIA scale and evolve, maintaining a consistent and manageable styling approach becomes crucial. Traditional CSS, while familiar, poses challenges in large-scale applications due to its global scope and potential for naming conflicts. | ||
|
||
## Decision | ||
|
||
We have decided to adopt Styled Components across CFIA projects for the following reasons: | ||
1. **Component-Level Styling:** Enhances modularity and reusability, ensuring styles are encapsulated within their respective components. | ||
2. **Dynamic Styling:** Offers greater flexibility with prop-based style alterations, allowing for more dynamic and context-aware styling. | ||
3. **Reduced Naming Conflicts:** Automatically generated unique class names significantly reduce the risk of naming conflicts. | ||
4. **Easier Deletion of Unused Styles:** Styles are tightly coupled with components, making it straightforward to remove unused code and prevent style bloat. | ||
5. **Improved Developer Experience:** Integrates with modern development tools, offering features like syntax highlighting and style linting, thus enhancing the overall development process. | ||
|
||
**Link to Reference Materials:** | ||
- [Styled Components Official Documentation](https://styled-components.com/docs) | ||
|
||
## Alternatives Considered | ||
|
||
1. **Continuing with Traditional CSS:** | ||
- Pros: Familiarity and simplicity. | ||
- Cons: Scalability issues, potential naming conflicts, and less dynamic styling capabilities. | ||
|
||
2. **Other CSS-in-JS Libraries:** | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. We should probably detail few of those. |
||
- Pros: Similar benefits to Styled Components. | ||
- Cons: Potential lack of feature parity or community support compared to Styled Components. | ||
|
||
## Consequences | ||
|
||
Adopting Styled Components is expected to streamline the development process, enhance the maintainability of codebases, and provide a more dynamic and scalable styling solution for CFIA's diverse range of projects. | ||
|
||
## References | ||
|
||
- Styled Components documentation and community discussions. | ||
- Comparative analysis of CSS styling approaches in modern web development. |
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should also show the pro and cons for Styled Components.