0.1.3 • Published 5 years ago

polyshim v0.1.3

Weekly downloads
26,247
License
MIT
Repository
github
Last release
5 years ago

Polyshim

NPM version Build Status Downloads License

A set of polyfills and shims for working with DOM and ECMAScript.

Russian readme

Install

npm install polyshim

Usage

The library offers two use cases:

Polyfill

Just connect the necessary polyfills, and use the functionality as if the functionality was supported by browsers:

import 'polyshim/polyfill/closest';

let item = document.querySelector('.component .component__item');
let component = item.closest('.component');

Shim

The use of shims allows you to "not touch" the native methods, thus without overwriting perhaps another implementation of polyfills. This is especially useful for writing redistributable libraries.

import closest from 'polyshim/shim/closest';

let item = document.querySelector('.component .component__item');
let component = closest.call(item, '.component');

Polyfill list

  • Object.assign
  • Element.prototype.matches
  • Element.prototype.closest
  • DOMTokenList.prototype.toggle (force parameter)
  • Event (constructor)
  • CustomEvent (constructor)

Testing

To run tests, use:

npm test

If necessary, you can install launchers for other browsers and activate them in karma.conf.js:

npm i --save-dev karma-ie-launcher

Browser support

  • Internet Explorer 11+
  • Other modern browsers