https://github.com/compulim/event-target-shim-es5
ES5 wrapper for event-target-shim
https://github.com/compulim/event-target-shim-es5
es5 event event-target html
Last synced: about 1 month ago
JSON representation
ES5 wrapper for event-target-shim
- Host: GitHub
- URL: https://github.com/compulim/event-target-shim-es5
- Owner: compulim
- Created: 2019-12-23T19:26:08.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2023-03-04T05:30:34.000Z (about 2 years ago)
- Last Synced: 2025-03-24T16:02:54.372Z (about 2 months ago)
- Topics: es5, event, event-target, html
- Language: JavaScript
- Homepage: https://npmjs.com/package/event-target-shim
- Size: 438 KB
- Stars: 2
- Watchers: 2
- Forks: 1
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
Awesome Lists containing this project
README
# event-target-shim-es5
[](https://www.npmjs.com/package/event-target-shim-es5) 
This package is based on [`event-target-shim`](https://npmjs.com/package/event-target-shim). Although the original package contains an [ES5 bundle](https://unpkg.com/event-target-shim/dist/event-target-shim.umd.js), it did not contains an ES5 module. Importing the module directly or indirectly may break web apps running on ES5 browsers.
On install, this package will transpile your version of `event-target-shim` to make it compatible with ES5 browsers.
Package authors should consider importing this package instead of `event-target-shim`, so your packages will not break your users due to having `event-target-shim` as a transient dependency.
## How to use
To install in your project, run:
```sh
npm install event-target-shim event-target-shim-es5
```In your code:
```js
import EventTarget, { defineEventAttribute } from 'event-target-shim-es5';class YourComponent extends EventTarget {
handleClick() {
this.dispatchEvent(new Event('click'));
}
}defineEventAttribute(YourComponent.prototype, 'click');
```## How it works
On `postinstall`, this package will run Babel and Webpack to transpile `event-target-shim` into a single file.
This package peer-depends on `event-target-shim`. Thus, you can select your own version of `event-target-shim`.
### Updating `event-target-shim`
When you update `event-target-shim`, re-run `npm install event-target-shim-es5` to get the latest package transpiled.
## Alternatives
Instead of importing this package, there are alternative workarounds you can use.
### Including the source code
You can copy the source code of `event-target-shim` into your web app and use your build pipeline transpile the original package.
When copying, be sure to include the original license and continue to depends on the package to make sure `npm audit` will scan for vulnerabilities.
### Modify your bundler configuration
Webpack do not transpile code under `/node_modules/` unless specified explicitly. You can modify `webpack.config.js` to include `/node_modules/event-target-shim/` and use `babel-loader` to transpile it on-the-fly.
## Contributions
Like us? [Star](https://github.com/compulim/event-target-shim-es5/stargazers) us.
Want to make it better? [File](https://github.com/compulim/event-target-shim-es5/issues) us an issue.
Don't like something you see? [Submit](https://github.com/compulim/event-target-shim-es5/pulls) a pull request.