Hi guys,
So I just had the following problem, which completely killed my app for IE11:
I have a Meteor-Files Collection defined in a file, which is imported on both client and server.
Inside a if(Meteor.isServer) { } I had a require() for a server-side package: detect-character-encoding
Problem was, that I did not know, that although the require() as inside the if, the package was still also packaged on the client, because the whole file was imported on the client as I already said.
This package is using an arrow function in its main file: https://github.com/sonicdoe/detect-character-encoding/blob/master/index.js
–> IE11 was broken, because this arrow function was not transpiled at all!
–> I suggest the following:
Implement some check for the browser-legacy-bundle.js file for not supported syntax like arrow functions, spread operators and all that. If for some reason syntax/code like that is found, I would like a ERROR message during meteor build!
Is this possible? This was a huge problem, because I thought I did everything right, just did some updates on my server side code, published my new update without testing on IE11 and 24hrs later I find out because of a user complaint, that since this update IE11 was completely dead. This is obviously a huge issue!!
Thanks guys, cheers
Patrick