RonaldJerez / vue-input-facade

A lightweight and dependency free input masking library created specific for Vue
https://ronaldjerez.github.io/vue-input-facade/latest/
183 stars 27 forks source link

Packaged code does not target ES5 #16

Closed tskimmett closed 4 years ago

tskimmett commented 4 years ago

Describe the bug The NPM package for this library contains non-ES5 syntax, making it difficult to use in an application which needs to support IE11.

Expected behavior The NPM package code should be ES5 compliant to simplify configuration for users needing to support IE11.

Alternatively, there could be a separate dist file in the package specifically for ES5.

RonaldJerez commented 4 years ago

That I know of there's no way to specify different builds in package.json. I also don't have access to IE to test out or extend any type of support, so if I were to include it it would signal some type of support.

The lib is ~6kb right now, with IE support its close to 30kb. Thats more polyfills than actual code.

tskimmett commented 4 years ago

I didn't see that kind of increase when I tested it.

With current browserslist query:

  File                                Size                Gzipped

  dist\vue-input-facade.umd.min.js    23.20 KiB           8.58 KiB
  dist\vue-input-facade.umd.js        75.81 KiB           19.00 KiB
  dist\vue-input-facade.common.js     75.41 KiB           18.86 KiB

With not ie < 11:

  File                                Size                Gzipped

  dist\vue-input-facade.umd.min.js    23.53 KiB           8.73 KiB
  dist\vue-input-facade.umd.js        77.08 KiB           19.45 KiB
  dist\vue-input-facade.common.js     76.67 KiB           19.32 KiB

The .browserslistrc change is the only thing necessary to get it working in IE11.

RonaldJerez commented 4 years ago

Interesting, last I checked (its been a while) it was pretty large, maybe some code was removed since then that has helped removed some polyfills.

I'll be fine with including a separate build if you want to take a stab at adding it as part of the build process, but again I'm not officially supporting IE so I'll put a footnote in the README indicating of the build existence but not officially supported.