freenowtech / freenowtech/wave
What should we do with the `styled-system`?
- Dominant language
- TypeScript
- Stars
- 67
- Forks
- 31
- Avg merge
- 1d 8h
- Merged PRs (30d)
- 4
Description
## Context
We use low-level [styled-system library](https://github.com/styled-system/styled-system) to provide nice component css-props and shortcuts like `p`, `m`, etc. Those props are crucial for the developer experience and are actively used across codebases together with the per breakpoint value setting like:
```jsx
...
```
## Problem
The last time when _styled-system_ was updated was in May, 2020. Even though the API is stable, issues with types pop up here and there.
_styled-components_ at the same time is evolving, and version 6.0 will be shipped this year. There is a risk that styled-system won't work with it.
## Options
Here are the steps we can proactively take to mitigate future issues. Please, add yours!
**Option #1**. Fork and support the styled-system library for Wave's use case only
Even though the codebase of the styled-system consists of many files, they are primarily configurations of what to expose in each helper. We'll have flexibility to remove things we don't use and keep the surface smaller than now.
The downsides:
* costs to maintain the library
* current codebase is in plain JS (there are tests, though)
**Option #2**. Implement a set of helpers with the same functionality
We use only a subset of the styled-system, it could be easier to implement the featureset in place.
**Option #3**. Migrate to other solution.
Contributor guide
Assessment
This issue has not been assessed yet.