babel-plugin-transform-proxy-compat

    0.22.2 • 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('')
        );
    }

    Keywords

    none

    Install

    npm i babel-plugin-transform-proxy-compat

    DownloadsWeekly Downloads

    17,258

    Version

    0.22.2

    License

    MIT

    Unpacked Size

    51.4 kB

    Total Files

    15

    Last publish

    Collaborators

    • avatar
    • avatar
    • avatar
    • avatar
    • avatar
    • avatar
    • avatar
    • avatar
    • avatar
    • avatar
    • avatar
    • avatar
    • avatar