umd-free-zone

0.1.3 • Public • Published

umd-free-zone

umd-free-zone is meant to prevent your UMD-compatible scripts from falling for unwanted global AMD and CommonJS shims.

Just add umd-free-zone/start.js before your scripts and umd-free-zone/end.js after them.

This will ensure your scripts register globally.

Example

Imagine you want to load the UMD compatible React from unpkg and intend for it to become a global (window.React).

Yet, you have an evil Mailchimp script that brutally exports a global define function, and you can't guarantee your React will load before the nasty AMD leak.

umd-free-zone to the rescue! Just add it before and after the scripts you want to become global.

Bad:

React will fall for the alien global define.

// Nasty script that globally defines a `define` function
<script src="https://downloads.mailchimp.com/js/signup-forms/popup/embed.js"></script>

<script src="https://unpkg.com/react@16.1.1/umd/react.production.min.js"></script>
<script> window.React // undefined! Ouch. </script>

Good:

Wrap your scripts in umd-free-zone start and end:

// Nasty script that globally defines a `define` function
<script src="https://downloads.mailchimp.com/js/signup-forms/popup/embed.js"></script>

<script src="https://unpkg.com/umd-free-zone@0.1.3/start.js"></script>
<script src="https://unpkg.com/react@16.1.1/umd/react.production.min.js"></script>
<script> window.React // undefined! Ouch. </script>
<script src="https://unpkg.com/umd-free-zone@0.1.3/end.js"></script>

// The leaky AMD works as usual from here onwards, if you want it to.

Readme

Keywords

none

Package Sidebar

Install

npm i umd-free-zone

Weekly Downloads

4,872

Version

0.1.3

License

MIT

Last publish

Collaborators

  • vitorlgomes
  • mateuspontes
  • alexalves2501
  • brunojdo
  • carolinerpessoa
  • evertonataide
  • gtkatakura
  • vtexlab-user