babel-plugin-transform-proxy-compat
v0.22.4
Published
Babel plugin to transform code to COMPAT mode
Downloads
31,613
Maintainers
Keywords
Readme
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 astring
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 astring
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 astring
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('')
);
}