-
Notifications
You must be signed in to change notification settings - Fork 217
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
RFC: Upgrade to RxJS 5.5 #1244
Comments
I do believe that upgrading to rxjs@^5.5.x is inevitable. I suppose that we can introduce a breaking change along with the Angular@6 release. I am not sure how we should proceed with the Angular LTS release. Probably we should also have 2 versions of the packages. What do you think? |
The Angular 6 release will lead to another major version bump for all packages, but this is not directly related to the RxJS issue. We need a fix for Angular 5.x LTS. It has been using RxJS 5.5 since it became available, but we didn't notice the issues as they only pop up when the build optimizer is enabled. The Angular CLI enables the build-optimizer by default in version 1.6.1 and later. |
More bad news. Due to angular/angular-cli#9069, pipeable operators will include the full RxJS library. Depending on your use case the difference can be quite significant. In my test project this adds around 100kB to the download size: With global operators, RxJS ~ 52kB gzipped With pipeable operators, RxJS ~ 125kB gzipped
EDIT: See following response |
adds missing pipable operators, part of telerik/kendo-angular#1244
adds missing pipable operators, part of telerik/kendo-angular#1244
Definitely following this one closely :-) #goteamtelerik |
Is this being done as a break fix or is there a work around for the current kendo release? We implemented the latest kendo library and have a prod production date with it, but cannot do our prod build. What previous version of the library will work? |
@mikemwalsh it will be a breaking change, resulting in a major version bump. Otherwise we'll break users with rxjs < 5.5 that don't have pipeable operators. The workaround is to disable the build optimizer: |
All packages have been updated to use the new pipeable operators from RxJS 5.5+ This is a full list of the updated packages and their current version:
It's highly recommended that you update to these versions if your project is already on the latest rxjs. In addition, older versions will output a warning when used with RxJS 5.5:
As always, you can use npm outdated to inspect your project dependencies for updates. |
RxJS 5.5 introduces a new way to import operators, namely pipeable operators née lettable operators. This new way to import operators improves module isolation and helps reduce bundle size.
Pipeable operators are only partially compatible with previous versions, particularly static methods like Obserbable.merge can lead to build errors when imported globally. See ReactiveX/rxjs#3222, #1214, #1230, #1236.
To remedy this situation, I propose to:
@progress/kendo-*
packages to require"rxjs": "<5.5.0"
@progress/kendo-*
packages that require"rxjs": "^5.5.0"
and utilize pipeable operators.Tag all Angular 4 LTS compatible package versions. You will be able to get the latest LTS-compatible version by specifying "ng4" as a version.Edit: No tags needed, packages remain compatible with Angular LTS, you just need to use rxjs > 5.5Please note:
/cc @rusev @rkonstantinov @gyoshev @ggkrustev @tapopov @valchev @danielkaradachki @Raisolution
white space reserved for a rant on breaking changes in minor releases
The text was updated successfully, but these errors were encountered: