I have strange problem. I had existing Angular4 project managed under Angular-CLI with RxJS library. After updating RxJS library to version 5.5.2 project starts to have problems with Observable operators. The Errors in Google Chrome are like this:
ERROR TypeError: this.apiService.request(...).switchMap is not a function
I know I can fix this with:
import 'rxjs/add/operator/switchMap';
But problem is with IDE in this case Visual Studio Code. It just not shows which operator imports missing. The only way I found so far to detect missing operators is to run application and check all features of the app in the browser with Developer Console opened waiting for this kind of errors. So I have two questions.
- Is there any better way to detect missing operators in my updated project? Why doesn't the build process catch the fact that the operator is missing?
- Is there any way that I can setup
Visual Studio Codeto show me this kind of errors before I push some changes and discover them in the browser? Syntax completion in this IDE is even working with not imported operators, which I think is wrong.
I'm attaching output from ng -v:
_ _ ____ _ ___
/ \ _ __ __ _ _ _| | __ _ _ __ / ___| | |_ _|
/ △ \ | '_ \ / _` | | | | |/ _` | '__| | | | | | |
/ ___ \| | | | (_| | |_| | | (_| | | | |___| |___ | |
/_/ \_\_| |_|\__, |\__,_|_|\__,_|_| \____|_____|___|
|___/
Angular CLI: 1.5.3
Node: 6.11.2
OS: darwin x64
Angular: 4.4.6
... animations, common, compiler, compiler-cli, core, forms
... http, platform-browser, platform-browser-dynamic
... platform-server, router, tsc-wrapped
@angular/cdk: 2.0.0-beta.12
@angular/cli: 1.5.3
@angular/flex-layout: 2.0.0-beta.8
@angular/material: 2.0.0-beta.12
@angular-devkit/build-optimizer: 0.0.33
@angular-devkit/core: 0.0.21
@angular-devkit/schematics: 0.0.37
@ngtools/json-schema: 1.1.0
@ngtools/webpack: 1.8.3
@schematics/angular: 0.1.7
typescript: 2.3.4
webpack: 3.8.1
And output from npm list --depth=0
├── @angular/[email protected]
├── @angular/[email protected]
├── @angular/[email protected]
├── @angular/[email protected]
├── @angular/[email protected]
├── @angular/[email protected]
├── @angular/[email protected]
├── @angular/[email protected]
├── @angular/[email protected]
├── @angular/[email protected]
├── @angular/[email protected]
├── @angular/[email protected]
├── @angular/[email protected]
├── @angular/[email protected]
├── @angular/[email protected]
├── @types/[email protected]
├── @types/[email protected]
├── @types/[email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
└── [email protected]