JSPM

@soda/get-current-script

1.0.2
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 377648
  • Score
    100M100P100Q205880F
  • License MIT

get the current executing script, with polyfills for IE9+ and Firefox

Package Exports

  • @soda/get-current-script

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@soda/get-current-script) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

@soda/get-current-script CI

It is basically a function that returns document.currentScript but with support for IE9-11, thanks to https://github.com/amiller-gh/currentScript-polyfill.

It also works around a Firefox issue when the script is called in a microtask, which makes document.currentScript unusable in a webpack dynamic-imported chunk.

It is shipped as a utility function rather than a polyfill, because we can't easily tell if the document.currentScript is returning null due to the Firefox issue or because it's running in an event handler / a callback.

The implementation here may not adhere strictly to document.currentScript spec when called in async code or in a callback. In these situations the spec calls for document.currentScript to return null. However, for the grand majority of your document.currentScript needs, this utility will do the job!

Usage

npm i @soda/get-current-script
const getCurrentScript = require('@soda/get-current-script')
const script = getCurrentScript() // the current executing <script> element