Hyperapp: Object.assign and browser support: IE11 y/n?

Created on 16 Dec 2017  路  10Comments  路  Source: jorgebucaran/hyperapp

@Alber70g claimed to have used Hyperapp with IE9 without no changes, but I presume he was just lucky. 馃槃馃帀

I am using it with IE11 in production, which is closer to what we really support, although we claim IE10. See also: https://github.com/hyperapp/hyperapp/issues/466

If we drop IE11, we could get rid of the stand-in merge/assign function as well as (potentially) introduce some ES6isms.

function assign(target, source) {
  var result = {}

  for (var i in target) result[i] = target[i]
  for (var i in source) result[i] = source[i]

  return result
}

What do you think?

Community Discussion Inquiry

Most helpful comment

IE11 is my only supported browser at work for internal apps, so I'd prefer to keep it also. I'm sure I'm not alone.

The fact that I can just drop hyperapp in a script tag and get right to work without polyfills is great.

Edit: I could probably live with needing an Object.assign polyfill, but it will present a potential stumbling block for new folks. Maybe keep the IE11 compatibility for V1 and drop it in v2? Vue is planning on doing something similar for v3, I believe.

All 10 comments

Personally, I'd like to keep IE11 for now. I don't care about IE10.

IE11 is my only supported browser at work for internal apps, so I'd prefer to keep it also. I'm sure I'm not alone.

The fact that I can just drop hyperapp in a script tag and get right to work without polyfills is great.

Edit: I could probably live with needing an Object.assign polyfill, but it will present a potential stumbling block for new folks. Maybe keep the IE11 compatibility for V1 and drop it in v2? Vue is planning on doing something similar for v3, I believe.

@SkaterDad Same story at my company, so I hear you.

@SkaterDad @whaaaley What about something like this? (half-joke half-serious).

  app(
    state,
    actions,
    view,
    container,
    Object.assign ||
      function assign(target, source) {
        var result = {}

        for (var i in target) result[i] = target[i]
        for (var i in source) result[i] = source[i]

        return result
      }
  )

IE11 is 7.6% of our ecommerce traffic and it converts quite well.

Actually... a custom merge function would complete (almost) everything I'd want from Hyperapp, because I don't want one. 馃槵

Could we brainstorm ideas for adding a merge as an HOA?

@whaaaley ...a custom merge function would complete (almost) everything I'd want from Hyperapp, because I don't want one

I understand you want one, but I still don't understand why. Can you please explain in detail why you'd want this and you'd use it? 馃檹

@Alber70g claimed to have used Hyperapp with IE9 without no changes, but I presume he was just lucky. 馃槃馃帀

Please, keep Hyperapp support for IE9. I'm using it and works fluently. Especially now that we have a vital part of a banking application running with Hyperapp for 4 million customers (Login screen), it'd be awesome to keep it working with future versions.

[Edit:] However it might be that it works in IE9 because I'm using Typescript with ES3 as target

I think as long as Microsoft continues to support IE11 you will have users that will also need to support IE11. I think anything earlier we should be able to drop support for if we need to.

let/const here we come? 馃ぃ

Sounds good everyone, let's keep things the way they are. Maybe for the 2020 olympics.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

jbrodriguez picture jbrodriguez  路  4Comments

zhaotoday picture zhaotoday  路  3Comments

VictorWinberg picture VictorWinberg  路  3Comments

jorgebucaran picture jorgebucaran  路  4Comments

SkaterDad picture SkaterDad  路  3Comments