In general I like simplifications wherever are possible, but using these immutability helper libraries were always a bit hard to swallow for me. I get that e.g. in the example we can save a few lines of code (and I get that this can be a lot if the project is huge), but we also loose the immutable feeling of the code, and would argue that it can misguide the reader of the code.
Also JavaScript's syntax has evolved so much, I almost never have the feeling that I'd need to use a library to enforce immutability.
Hello.
Our tracker is used on various e-commerce sites for user behaviour tracking.
It can be used in SPA-s, but it's nor really important. Usually you can send events like a user viewed a product or put an item into the cart.
We are having some logic for sending out these events to our services by using the javascript tracker version of snowplow.
I mentioned we have to support IE8 but I can elaborate on that one: basically web ecommerce sites will use that tracker so we have to makse sure as much browsers are capable of using it as possible.
Hope my answer was specific enough.
We have a lightweight tracker which can send events. Our current stack is Grunt/Browserify and Snowplow.
I have the chance to rewrite the whole tracker, but I’m a bit lost what tech stack to use.
The requirements include to be as small as possible and to be able to support old browsers like IE8.
I would like to use ES6 / TypeScript, but I’m afraid e.g. Webpack will blow up my bundle size which is not acceptable.
Do you have any suggestions for setting up such an environment?