Skip to content

babel-polyfill and es6-shim #467

@gnh1201

Description

@gnh1201

Related items

Description

To run ES5 or higher Javascript on WSH(Windows Scripting Host), we need a babel-polyfill. for example:

function _extend(dst) {
  for (var _len = arguments.length, sources = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
    sources[_key - 1] = arguments[_key];
  }

  if (dst && sources) {
    var _loop = function _loop(src) {
      if ((typeof src === 'undefined' ? 'undefined' : _typeof(src)) === 'object') {
        Object.getOwnPropertyNames(src).forEach(function (key) {
          dst[key] = src[key];
        });
      }
    };

    var _iteratorNormalCompletion = true;
    var _didIteratorError = false;
    var _iteratorError = undefined;

    try {
      for (var _iterator = sources[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
        var src = _step.value;

        _loop(src);
      }
    } catch (err) {
      _didIteratorError = true;
      _iteratorError = err;
    } finally {
      try {
        if (!_iteratorNormalCompletion && _iterator.RETURN) {  // es5: _iterator.return, babel: _iterator.RETURN
          _iterator.RETURN();
        }
      } finally {
        if (_didIteratorError) {
          throw _iteratorError;
        }
      }
    }
  }

  return dst;
};

This code works well with only babel-polyfill and es5 shim and sham. The problem occurs when adding es6-shim here.

In this case, it should be changed as below to works.

  var defineProperty = function (object, name, value, force) {
    if (!object || (!force && name in object)) { return; }

This change has also been proposed in #466.

I think that this change should apply. Or a better idea?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions