2.0.0 • Published 5 years ago
modernizr-esm v2.0.0
modernizr-esm
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
htmlelement - Ignores browser globals when imported directly in SSR environment
Refer to original Modernizr documentation for more information.
Install
npm install modernizr-esm --saveUsage
import emoji from 'modernizr-esm/feature/emoji';
console.log(emoji); // Are emojis supported?Async tests
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.
import flash from 'modernizr-esm/feature/flash';
flash().then(( support ) => {
console.log(support); // Is Flash supported?
});Multiple feature tests
import { cssgrid } from 'modernizr-esm/feature/css/cssgrid';
console.log(cssgrid); // Is CSS Grid supported?Setting feature HTML classes
Use classList and export value of feature test:
import emoji from 'modernizr-esm/feature/emoji';
document.documentElement.classList.add(`${emoji ? '' : 'no-'}emoji`);Or if you want to use Modernizr HTML class setter:
import setClasses from 'modernizr-esm/src/setClasses';
import emoji from 'modernizr-esm/feature/emoji';
setClasses([`${emoji ? '' : 'no-'}emoji`]);License
MIT © Ivan Nikolić
MIT © Modernizr