(function() {
    var isIE11 = !!window.MSInputMethodContext && !!document.documentMode;

    if (isIE11) {
        // IE11 does not provide classList on SVGElements
        if (! ("classList" in SVGElement.prototype)) {
            Object.defineProperty(SVGElement.prototype, 'classList', Object.getOwnPropertyDescriptor(HTMLElement.prototype, 'classList'));
        }

        // IE11 does not provide children on SVGElements
        if (! ("children" in SVGElement.prototype)) {
            Object.defineProperty(SVGElement.prototype, 'children', Object.getOwnPropertyDescriptor(HTMLElement.prototype, 'children'));
        }

        if (!Array.from) {
            // JSONata provides an Array.from polyfill that doesn't handle iterables.
            // So in IE11 we expect Array.from to exist already, it just needs some
            // changes to support iterables.
            throw new Error("Missing Array.from base polyfill");
        }
        Array._from = Array.from;
        Array.from = function() {
            var arrayLike = arguments[0]
            if (arrayLike.forEach) {
                var result = [];
                arrayLike.forEach(function(i) {
                    result.push(i);
                })
                return result;
            }
            return Array._from.apply(null,arguments);
        }
    }
})();

(function() {
    var isIE11 = !!window.MSInputMethodContext && !!document.documentMode;

    if (isIE11) {
        // IE11 does not provide classList on SVGElements
        if (! ("classList" in SVGElement.prototype)) {
            Object.defineProperty(SVGElement.prototype, 'classList', Object.getOwnPropertyDescriptor(HTMLElement.prototype, 'classList'));
        }

        // IE11 does not provide children on SVGElements
        if (! ("children" in SVGElement.prototype)) {
            Object.defineProperty(SVGElement.prototype, 'children', Object.getOwnPropertyDescriptor(HTMLElement.prototype, 'children'));
        }

        if (!Array.from) {
            // JSONata provides an Array.from polyfill that doesn't handle iterables.
            // So in IE11 we expect Array.from to exist already, it just needs some
            // changes to support iterables.
            throw new Error("Missing Array.from base polyfill");
        }
        Array.from = function() {
            if (arguments.length > 1) {
                throw new Error("Node-RED's IE11 Array.from polyfill doesn't support multiple arguments");
            }
            var arrayLike = arguments[0]
            if (arrayLike.forEach) {
                var result = [];
                arrayLike.forEach(function(i) {
                    result.push(i);
                })
            } else {
                for (var i=0;i<arrayLike.length;i++) {
                    result.push(arrayList[i]);
                }
            }
            return result;
        }
    }
})();

Add basic Array.from polyfill for IE11