All Projects → robinweser → elodin-old

robinweser / elodin-old

Licence: MIT license
Quality and Optimisation tools for CSS in JavaScript

Programming Languages

javascript
184084 projects - #8 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to elodin-old

Wemake Python Styleguide
The strictest and most opinionated python linter ever!
Stars: ✭ 1,714 (+11326.67%)
Mutual labels:  linter, code-quality
Flake8 Eradicate
Flake8 plugin to find commented out or dead code
Stars: ✭ 184 (+1126.67%)
Mutual labels:  linter, code-quality
Editorconfig Checker
A tool to verify that your files are in harmony with your .editorconfig
Stars: ✭ 119 (+693.33%)
Mutual labels:  linter, code-quality
Lint Staged
🚫💩 — Run linters on git staged files
Stars: ✭ 9,492 (+63180%)
Mutual labels:  linter, developer-experience
Neomake
Asynchronous linting and make framework for Neovim/Vim
Stars: ✭ 2,512 (+16646.67%)
Mutual labels:  style-linter, linter
Static Analysis
⚙️ A curated list of static analysis (SAST) tools for all programming languages, config files, build tools, and more.
Stars: ✭ 9,310 (+61966.67%)
Mutual labels:  linter, code-quality
sonar-css-plugin
SonarQube CSS / SCSS / Less Analyzer
Stars: ✭ 46 (+206.67%)
Mutual labels:  linter, code-quality
Pep8speaks
A GitHub app to automatically review Python code style over Pull Requests
Stars: ✭ 546 (+3540%)
Mutual labels:  linter, code-quality
Xo
❤️ JavaScript/TypeScript linter (ESLint wrapper) with great defaults
Stars: ✭ 6,277 (+41746.67%)
Mutual labels:  style-linter, linter
Flakehell
Flake8 wrapper to make it nice, legacy-friendly, configurable.
Stars: ✭ 217 (+1346.67%)
Mutual labels:  linter, code-quality
Sonar Jproperties Plugin
SonarQube Java Properties Analyzer
Stars: ✭ 5 (-66.67%)
Mutual labels:  linter, code-quality
Husky.Net
Git hooks made easy with Husky.Net internal task runner! 🐶 It brings the dev-dependency concept to the .NET world!
Stars: ✭ 394 (+2526.67%)
Mutual labels:  linter, developer-experience
Sonarts
Static code analyzer for TypeScript
Stars: ✭ 776 (+5073.33%)
Mutual labels:  linter, code-quality
Stylelint
A mighty, modern linter that helps you avoid errors and enforce conventions in your styles.
Stars: ✭ 9,350 (+62233.33%)
Mutual labels:  linter, css-in-js
Undercover
Actionable code coverage - detects untested code blocks in recent changes
Stars: ✭ 574 (+3726.67%)
Mutual labels:  linter, code-quality
Cflint
Static code analysis for CFML (a linter)
Stars: ✭ 156 (+940%)
Mutual labels:  linter, code-quality
Sonar Kotlin
SonarQube plugin for Kotlin
Stars: ✭ 412 (+2646.67%)
Mutual labels:  linter, code-quality
Flake8 Bugbear
A plugin for Flake8 finding likely bugs and design problems in your program. Contains warnings that don't belong in pyflakes and pycodestyle.
Stars: ✭ 518 (+3353.33%)
Mutual labels:  linter, code-quality
Dotenv Linter
☺️ Linting dotenv files like a charm!
Stars: ✭ 207 (+1280%)
Mutual labels:  linter, code-quality
node-lintspaces
A validator for checking different kinds of whitespaces in your files.
Stars: ✭ 31 (+106.67%)
Mutual labels:  linter, quality-assurance

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 which is a modern CSS value compiler.

TravisCI Test Coverage npm downloads npm version Gitter

Support Us

Support Robin Frischmann's work on Fela and its ecosystem (Elodin) directly via Patreon.

Or support us on Open Collective to fund community work. This also includes Elodin as well.
Thank you to all our backers!

Installation

yarn add elodin

You may alternatively use npm i --save elodin.

Features

  • Validation using bredon-validate
  • Most Plugins are fixable
  • Detailed Warnings

The gist

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:

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!
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.
Also, please read our code of conduct.

License

Elodin is licensed under the MIT License.
Documentation is licensed under Creative Common License.
Created with by @rofrischmann.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].