This repository has been archived by the owner. It is now read-only.
Static Autoprefixer for inline styles
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
dist
generator
modules
test Initial array prefixing implementation Jun 7, 2016
.codeclimate.yml updated codeclimate settings Feb 28, 2016
.esformatter initial version Feb 24, 2016
.gitignore
.jshintrc initial version Feb 24, 2016
.travis.yml initial version Feb 24, 2016
Changelog.md
LICENSE initial version Feb 24, 2016
README.md Update README.md Jul 2, 2016
config.js initial version Feb 24, 2016
package.json

README.md

Deprecated: Please do not use this package anymore. There will be no more updates to this package. It has been merged into inline-style-prefixer directly to improve issue tracking and maintenance. You can still use the small prefix-all subset via inline-style-prefixer/static.

Build Status Test Coverage Code Climate npm version npm downloads Dependencies Gzipped Size

inline-style-prefix-all is a tiny (3.3kb gzipped) static javascript Autoprefixer for inline style objects. It uses data from caniuse.com to get all properties that require a prefix up to a given browser version.
It was extracted from inline-style-prefixer. Check that repository for detailed information on which properties are supported, which special plugins are used and other stuff.

You could also use inline-style-prefixer completely as it uses prefix-all as a fallback, but this repository has reduced file size.

Browser Scope

It will only add prefixes if a property still needs them in one of the following browser versions.
This means e.g. border-radius will not be prefixed at all.
For legacy support check custom build.

  • Chrome: 30+
  • Safari: 6+
  • Firefox: 25+
  • Opera: 13+
  • IE: 9+
  • Edge 12+
  • iOS: 6+
  • Android: 4+
  • IE mobile: 9+
  • Opera mini: 5+
  • Android UC: 9+
  • Android Chrome: 30+

Usage

npm install inline-style-prefix-all --save
import prefixAll from 'inline-style-prefix-all'

const styles = {
  transition: '200ms all linear',
  boxSizing: 'border-box',
  display: 'flex',
  color: 'blue'
}

const prefixedStyles = prefixAll(styles)

// prefixedStyles === output
const output = {
  WebkitTransition: '200ms all linear',
  // Firefox dropped prefixed transition with version 16
  // IE never supported prefixed transitions
  transition: '200ms all linear',
  MozBoxSizing: 'border-box',
  // Firefox up to version 28 needs a prefix
  // Others dropped prefixes out of scope
  boxSizing: 'border-box',
  // Fallback/prefixed values get grouped in arrays
  display: ['-webkit-box', '-moz-box', '-ms-flexbox', '-webkit-flex', 'flex']
  color: 'blue'
}

Custom Build & Legacy Support

You may have to create a custom build if you need older browser versions. Just modify the config.js file which includes all the browser version specifications.

npm install
npm run build

License

inline-style-prefix-all is licensed under the MIT License.
Documentation is licensed under Creative Common License.
Created with ♥ by @rofrischmann.

Contributing

I would love to see people getting involved.
If you have a feature request please create an issue. Also if you're even improving inline-style-prefix-all by any kind please don't be shy and send a pull request to let everyone benefit.

Issues

If you're having any issue please let me know as fast as possible to find a solution a hopefully fix the issue. Try to add as much information as possible such as your environment, exact case, the line of actions to reproduce the issue.

Pull Requests

If you are creating a pull request, try to use commit messages that are self-explanatory. Also always add some tests unless it's totally senseless (add a reason why it's senseless) and test your code before you commit so Travis won't throw errors.