https://github.com/robinweser/elodin-old
Quality and Optimisation tools for CSS in JavaScript
https://github.com/robinweser/elodin-old
code-quality css css-in-js developer-experience developer-tools dx linter optimization quality-assurance style-linter
Last synced: 7 months ago
JSON representation
Quality and Optimisation tools for CSS in JavaScript
- Host: GitHub
- URL: https://github.com/robinweser/elodin-old
- Owner: robinweser
- License: mit
- Archived: true
- Created: 2017-05-17T13:06:45.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2019-01-11T07:44:47.000Z (over 6 years ago)
- Last Synced: 2025-03-06T22:43:39.357Z (7 months ago)
- Topics: code-quality, css, css-in-js, developer-experience, developer-tools, dx, linter, optimization, quality-assurance, style-linter
- Language: JavaScript
- Homepage:
- Size: 237 KB
- Stars: 16
- Watchers: 4
- Forks: 1
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- Contributing: .github/CONTRIBUTING.md
- License: LICENSE
- Code of conduct: .github/CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
> **Deprecated**: This repository has been renamed and deprecated. There's something new coming soon that'll be named Elodin instead, but it provides similar benefits & ideas, just in a complete different way.
# Elodin
Elodin is a plugin-based quality and optimization tool for CSS in JavaScript libraries.
It helps to write bulletproof and valid styles and pushes developer experience to a next level.Elodin is built on top of [Bredon](https://github.com/rofrischmann/bredon) which is a modern CSS value compiler.
## Support Us
Support Robin Frischmann's work on [Fela](https://github.com/rofrischmann/fela) and its ecosystem (Elodin) directly via [**Patreon**](https://www.patreon.com/rofrischmann).Or support us on [**Open Collective**](https://opencollective.com/fela) to fund community work. This also includes Elodin as well.
Thank you to all our backers!## Installation
```sh
yarn add elodin
```
You may alternatively use `npm i --save elodin`.## Features
* Validation using [bredon-validate](https://github.com/rofrischmann/bredon/blob/master/docs/api/bredon-validate/validate.md)
* Most Plugins are fixable
* Detailed Warnings## The gist
```javascript
import elodin from 'elodin'
import validation from 'elodin-plugin-validation'
import longhand from 'elodin-plugin-longhand'// create a preconfigured linter
const process = elodin({
plugins: [
longhand(),
validation({
removeInvalid: true
})
],
fix: true
})const style = {
padding: '20px 0 10px 5em',
fontSize: '15pt',
lineHeight: '1.2em',
width: 'solid'
}const warnings = process(style)
// using the fix option will automatically fix warnings
style === {
paddingTop: '20px',
paddingBottom: '10px',
paddingLeft: '5em',
fontSize: '15pt',
lineHeight: '1.2em'
}
```#### Catching Warnings
If the `fix` option is disabled, Elodin will return a list of warning for every style object.Taken the above example:
```javascript
warnings.forEach(warning => console.log(warning.description))
// => The value "solid" is not valid in combination with "width".
```## Documentation
> Coming soon.## Support
Got a question? Come and join us on [Gitter](https://gitter.im/rofrischmann/elodin)!
We'd love to help out. We also highly appreciate any feedback.## Contributing
This project exists thanks to all the people who contribute.
We highly appreciate any contribution.
For more information follow the [contribution guide](.github/CONTRIBUTING.md).
Also, please read our [code of conduct](.github/CODE_OF_CONDUCT.md).## License
Elodin is licensed under the [MIT License](http://opensource.org/licenses/MIT).
Documentation is licensed under [Creative Common License](http://creativecommons.org/licenses/by/4.0/).
Created with ♥ by [@rofrischmann](http://rofrischmann.de).