babel-plugin-transform-proxy-compat

0.22.4 • Public • Published

babel-plugin-transform-proxy-compat

This babel plugin enables Proxy usage in IE 11. In order to make this work, we have to rewrite property lookups, assignments, property deletions, function invocations, in statements and for in loops to use functions in order to execute the correct proxy handlers.

Options

resolveProxyCompat

Object, default to { module: 'proxy-compat' }

Accepts either:

  • module property with a string value when the proxy APIs should be retrieved from an external module.
// Config
{
    module: 'my-proxy-compat';
}

// Result
import ProxyCompat from 'my-proxy-compat';
const callKey = ProxyCompat.callKey;
callKey(console, 'log', 'I am Compat');
  • global property with a string value when the proxy APIs should be retrieved from a global variable.
// Config
{
    global: 'MyProxyCompat';
}

// Result
const callKey = MyProxyCompat.callKey;
callKey(console, 'log', 'I am Compat');
  • independent property with a string value when the proxy APIs should be retrieved from independent modules.
// Config
{
    independent: 'my-proxy-compat';
}

// Result
import callKey from 'my-proxy-compat/callKey';
callKey(console, 'log', 'I am Compat');

Disabling compat transform with comment

It's possible to disable the proxy compat transform for a specific file using the /* proxy-compat-disable */ comment at the top of the file. This is an escape hatch for code that is performance sensitive and doesn't manipulate any Proxy. Make sure to use it extremely wisely.

/* proxy-compat-disable */

function palindrome(str) {
    return (
        str ===
        str
            .split('')
            .reverse()
            .join('')
    );
}

Versions

Current Tags

Version History

Package Sidebar

Install

npm i babel-plugin-transform-proxy-compat

Weekly Downloads

7,048

Version

0.22.4

License

MIT

Unpacked Size

34.8 kB

Total Files

8

Last publish

Collaborators

  • divmain
  • lwc-admin
  • caridy
  • tbliss
  • pmdartus
  • ekashida
  • kevinv11n
  • jye-sf
  • rui.qiu
  • ravi.jayaramappa
  • jodarove
  • abdulsattar
  • nolanlawson
  • jmsjtu