Modernizr tests as ES Modules.
npm install modernizr-esm[![Build Status][ci-img]][ci] [![BrowserStack Status][browserstack-img]][browserstack]
Modernizr tests as ES Modules.
Features:
* Each test can be imported and used separately
* Tests return multiple named exports if they test multiple features
* Async tests support Promises as result
* No global modifications like setting classes on html element
* Ignores browser globals when imported directly in SSR environment
Refer to original Modernizr documentation for more information.
``sh`
npm install modernizr-esm --save
`js
import emoji from 'modernizr-esm/feature/emoji';
console.log(emoji); // Are emojis supported?
`
`js
import flash from 'modernizr-esm/feature/flash';
flash(( support ) => {
console.log(support); // Is Flash supported?
});
`
If you don’t provide callback, calling function will return Promise.
`js
import flash from 'modernizr-esm/feature/flash';
flash().then(( support ) => {
console.log(support); // Is Flash supported?
});
`
`js
import { cssgrid } from 'modernizr-esm/feature/css/cssgrid';
console.log(cssgrid); // Is CSS Grid supported?
`
Use classList and export value of feature test:
`js
import emoji from 'modernizr-esm/feature/emoji';
document.documentElement.classList.add(${emoji ? '' : 'no-'}emoji);`
Or if you want to use Modernizr HTML class setter:
`js
import setClasses from 'modernizr-esm/src/setClasses';
import emoji from 'modernizr-esm/feature/emoji';
setClasses([${emoji ? '' : 'no-'}emoji]);``
MIT © Ivan Nikolić
MIT © Modernizr
[ci]: https://travis-ci.com/niksy/modernizr-esm
[ci-img]: https://travis-ci.com/niksy/modernizr-esm.svg?branch=master
[browserstack]: https://www.browserstack.com/
[browserstack-img]: https://www.browserstack.com/automate/badge.svg?badge_key=aFhHRXNHY0UranNzQWJabHB6N3FUYjNwUnNkTzJJMkxkVCt6NUFCd1JUcz0tLUdrVkgrRUpKN2U5ODRSRlkxTnVYZ3c9PQ==--99d655e7bb05a3806890f6ea29c0075892b28010