rxjs icon indicating copy to clipboard operation
rxjs copied to clipboard

Introduction of Non-ES5 APIs in ES5 Output in 7.5.5

Open patrickkunka opened this issue 3 years ago • 3 comments

Describe the bug

The most recent 7.5.5 release which includes #6842, introduces usage of Array.from() in Subject.prototype.next().

It may have been present in other areas of the codebase previously, but our codebase hits this path regularly, so it was noticed immediately on upgrade to this version.

We have to support older ES5 runtimes back to circa 2015 webkit browsers (for smart TVs), and avoid excessive polyfilling for performance and bundlesize reasons. Due to the fact RxJS is transpiled to ES5 by default, we've never had runtime issues on these platforms before. However on upgrade to 7.5.5 the absence of these more modern APIs now require that we polyfill around RxJS. Because we do not know which non ES5 APIs are in use, this is a somewhat difficult and risky task (if we miss something, we may experience fatal runtime errors).

What is the intention here? Should ES5 output be limited to ES5 APIs only, or should we be polyfilling?

Thanks!

Expected behavior

RxJS ES5 output should be limited to usage of ES5 language features and APIs only.

Reproduction code

No response

Reproduction URL

No response

Version

7.5.5

Environment

ES5 runtimes

Additional context

No response

patrickkunka avatar Apr 21 '22 09:04 patrickkunka

In my opinion, this looks unexpected mistake - we are supposed to support IE11 with version 7, and actual deprecation would be in v8. @benlesh thoughts?

kwonoj avatar Apr 21 '22 15:04 kwonoj

Any update on this? Thanks

patrickkunka avatar May 11 '22 20:05 patrickkunka

CORE TEAM: We should fix this in v7... v8 gets rid of ES5 support, so it's a non-issue there.

benlesh avatar Feb 08 '23 21:02 benlesh