Class 'Subject<T>' incorrectly extends base class 'Observable<T> Nativescript navigation drawer error
Asked Answered
E

2

7

# This is the error I am facing now:

i downloaded navigation drawer sample using npm (https://github.com/shripalsoni04/nativescript-angular-drawer-template). but it gives the following error.

dhrn@dhrn-Inspiron-5548:~/NativeApp/Supervisor$ tns run android

Searching for devices...
iTunes is not available for this operating system. You will not be able to work with connected iOS devices.
Executing before-prepare hook from /home/dhrn/NativeApp/Supervisor/hooks/before-prepare/nativescript-dev-typescript.js
Found peer TypeScript 2.4.1
node_modules/rxjs/Subject.d.ts(16,22): error TS2415: Class 'Subject<T>' incorrectly extends base class 'Observable<T>'.
  Types of property 'lift' are incompatible.
    Type '<R>(operator: Operator<T, R>) => Observable<T>' is not assignable to type '<R>(operator: Operator<T, R>) => Observable<R>'.
      Type 'Observable<T>' is not assignable to type 'Observable<R>'.
        Type 'T' is not assignable to type 'R'.

node_modules/tns-core-modules/ui/core/properties/properties.d.ts(48,14): error TS2559: Type 'Property<T, U>' has no properties in common with type 'TypedPropertyDescriptor<U>'.

node_modules/tns-core-modules/ui/core/properties/properties.d.ts(59,14): error TS2559: Type 'CoercibleProperty<T, U>' has no properties in common with type 'TypedPropertyDescriptor<U>'.

Unable to apply changes on device: 192.168.56.101:5555. Error is: TypeScript compiler failed with exit code 1.


```
**My configuration:**

```
{
    "description": "NativeScript Application",
    "license": "SEE LICENSE IN <your-license-filename>",
    "readme": "NativeScript Application",
    "repository": "<fill-your-repository-here>",
    "nativescript": {
        "id": "org.nativescript.supervisor",
        "tns-android": {
            "version": "3.1.1"
        }
    },
    "dependencies": {
        "@angular/common": "~4.0.0",
        "@angular/compiler": "~4.0.0",
        "@angular/core": "~4.0.0",
        "@angular/forms": "~4.0.0",
        "@angular/http": "~4.0.0",
        "@angular/platform-browser": "~4.0.0",
        "@angular/platform-browser-dynamic": "~4.0.0",
        "@angular/router": "~4.0.0",
        "nativescript-angular": "~3.0.0",
        "nativescript-telerik-ui": "^2.0.1",
        "nativescript-theme-core": "~1.0.4",
        "reflect-metadata": "~0.1.8",
        "rxjs": "~5.2.0",
        "tns-core-modules": "~3.0.0",
        "zone.js": "0.8.2"
    },
    "devDependencies": {
        "babel-traverse": "6.18.0",
        "babel-types": "6.18.0",
        "babylon": "6.13.1",
        "lazy": "1.0.11",
        "nativescript-dev-typescript": "^0.4.0",
        "typescript": "^2.3.2",
        "zone.js": "~0.7.2"
    }
}

Project Configuration:

dhrn@dhrn-Inspiron-5548:~/NativeApp/Supervisor$ tns info 
All NativeScript components versions information
┌──────────────────┬─────────────────┬────────────────┬───────────────┐
│ Component        │ Current version │ Latest version │ Information   │
│ nativescript     │ 3.1.1           │ 3.1.1          │ Up to date    │
│ tns-core-modules │ 3.1.0           │ 3.1.0          │ Up to date    │
│ tns-android      │ 3.1.1           │ 3.1.1          │ Up to date    │
│ tns-ios          │                 │ 3.1.0          │ Not installed │
└──────────────────┴─────────────────┴────────────────┴───────────────┘

Please kindly help me to fix this issue .

Electrocute answered 30/6, 2017 at 12:40 Comment(2)
Possible duplicate of How do I get around this "Subject incorrectly extends Observable" error in TypeScript 2.4 and RxJS 5.x?Knitting
Looks like a duplicate of #44810695. You can get around this with the noStrictGenericChecks compiler option.Knitting
S
12

There are some issues with Microsoft/Typescript 2.4.1 update.
From the discussion in this issues page, it seems you need to use

enter image description here
configuration. Make sure, you actually have typescript 2.4.0 installed.
You can download it from here

Shankle answered 1/7, 2017 at 7:4 Comment(4)
I needed to use typescript 2.3.4Stomatology
@jim in that case make sure you have it as "typescript": "2.3.4" not as "typescript": "^2.3.4" or "typescript": "~2.3.4", Refer to here, and again you should have this particular version installedShankle
i'm getting new error -> node_modules/tns-core-modules/ui/core/properties/properties.d.ts(48,14): error TS2559: Type 'Property<T, U>' has no properties in common with type 'TypedPropertyDescriptor<U>'. node_modules/tns-core-modules/ui/core/properties/properties.d.ts(59,14): error TS2559: Type 'CoercibleProperty<T, U>' has no properties in common with type 'TypedPropertyDescriptor<U>'.Electrocute
@DharanG are you sure you are not referencing version Typescipt 2.4.1 as of now ..? Make sure the version number doesn't contain "^ or ~ " in package.json (for both rxjs: and typescript: ), in that case it will be upgrading and/or pointing to their higher versions, and not to the specific. Take a look hereShankle
W
1

try this tsconfig.json

RxJS 6 will have this fixed, but as a temporary workaround, you can use the noStrictGenericChecks compiler option

"noStrictGenericChecks": true

{
  "compileOnSave": true,
  "compilerOptions": {
    "target": "es5",
    "module": "commonjs",
    "moduleResolution": "node",
    "sourceMap": true,
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "lib": [ "es2015", "dom" ],
    "noImplicitAny": true,
    "suppressImplicitAnyIndexErrors": true,
    "noStrictGenericChecks": true 
  }
}
Waterresistant answered 20/7, 2017 at 13:15 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.