Failed to compile after updating to version 2.17.0

after installing version 2.17.0 I receive an error when running the app from Radzen studio.
I tried this on three difference machines.

ng-cli:
ERROR in src/app/techneaux-api-auth.service.ts(3,33): error TS2307: Cannot find module '@angular/http'.

ng-cli: i 「wdm」: Failed to compile.

Hi @michael,

We will release a hotfix version shortly.

1 Like

@michael the hotfix version 2.17.1 has been released. The issue should be fixed now.

I also get the following error:

ERROR in node_modules/rxjs/Observable.d.ts(1,15): error TS2307: Cannot find module 'rxjs-compat/Observable'.
node_modules/rxjs/Subscription.d.ts(1,15): error TS2307: Cannot find module 'rxjs-compat/Subscription'.
src/app/bht-layout/bht-layout.component.ts(3,10): error TS2305: Module '"C:/_projects/ReferenceMgt_radzen/client/node_modules/rxjs/Subscription"' has no exported member 'Subscription'.
src/app/bht-layout/bht-layout.component.ts(4,10): error TS2305: Module '"C:/_projects/ReferenceMgt_radzen/client/node_modules/rxjs/Observable"' has no exported member 'Observable'.

@subzerodeluxe do you have any custom code in your application? If not please zip the meta directory and send it over to info@radzen.com. Thank you in advance!

Or you can paste the code of the bht-layout.component.ts.

Yes. I needed to refactor my RxJS code. Rookie mistake!
Thanks anyways for the quick reply! :slight_smile:

Indeed the upgrade to Angular 7 brought RxJS 6.0 which has some breaking changes. We decided not to bring the rxjs-compat module in order to reduce the final application bundle size.

I am still having the same problem with 2.18. It is working with 2.12, can you please give some pointers to this refactorting?
thanks

Well, there are a few breaking changes in RxJS 6.

  1. Different internal structure that requires you to change your import statements
    e.g. import { Subject } from 'rxjs/Subject' => import { Subject } from 'rxjs'
  2. pipe() as a method to chain your operators, the old way of chaining them will not work
  3. Some operators were renamed e.g. do() => tap()

Depending on your lines of code, it could be as simple as changing a few import statements