12.0.3 • Published 4 years ago

@fela-next/fela-plugin-validator v12.0.3

Weekly downloads
-
License
MIT
Repository
github
Last release
4 years ago

fela-plugin-validator

Enforces object validation for keyframes and rules. Logs invalid properties to the console. If enabled, csslint is used to check the CSS. One might also enable automatic property deletion.

Installation

yarn add fela-plugin-validator

You may alternatively use npm i --save fela-plugin-validator.

Usage

Make sure to read the documentation on how to use plugins.

import { createRenderer } from '@fela-next/fela'
import validator from '@fela-next/fela-plugin-validator'

const renderer = createRenderer({
  plugins: [ validator() ]
})

Plugin ordering

Make sure that you place the validator plugin at the end of your plugins array - or else you may get some false error / validation messages.

Configuration

Options
 OptionValueDefaultDescription
logInvalid(boolean?) truelogs invalid properties/values
deleteInvalid(boolean?) falsedeletes invalid properties/values
useCSSLint(boolean?)(Object?)falseuse CSSLint for style validation. If an object is transferred, it will be interpreted as a set of rules for the validation (see here)
Example
import { createRenderer } from '@fela-next/fela'
import validator from '@fela-next/fela-plugin-validator'

const validatorPlugin = validator({
  logInvalid: true,
  deleteInvalid: true,
  useCSSLint: true
})

const renderer = createRenderer({
  plugins: [ validatorPlugin ]
})

Example

If the deleteInvalid option is enabled.

Keyframe

Input

{
  '0%': {
    color: 'red'
  },
  '101%': {
    color: 'blue'
  },
  color: 'blue'
}

Output

{
  '0%': {
    color: 'red'
  }
}

Rule

Input

{
  color: 'red',
  ':hover': {
    color: 'green',
    foo: {
      color: 'blue'
    }
  },
  'nested': {
    color: 'yellow'
  }
}

Output

{
  color: 'red',
  ':hover': {
    color: 'green',
  }
}

License

Fela is licensed under the MIT License. Documentation is licensed under Creative Common License. Created with ♥ by @robinweser and all the great contributors.