angular-redux / platform

[Unmaintained] Redux bindings and utilities for Angular
MIT License
140 stars 86 forks source link

Angular v8 support #90

Open asvishnyakov opened 5 years ago

asvishnyakov commented 5 years ago

This is a...

What toolchain are you using for transpilation/bundling?

Environment

NodeJS Version: 10.16 Typescript Version: 3.4 Angular Version: 8 @angular-redux/store version: 10 @angular/cli version: (if applicable) OS: Windows

Additional Notes:

Should we wait support of angular v8 from angular-redux or it's safe to use it as is with angular v8? Have you any plans to upgrade?

smithad15 commented 5 years ago

There will definitely be an upgrade, however major version changes of Angular don't usually produce too many issues with using the library. Please do let us know if you see anything breaking in v8

esfandiar commented 5 years ago

We recently upgraded to Angular 8 and angular-redux v10 works fine with Angular 8, and we didn't have to change anything. The only annoyance is that yarn (npm would do it too I guess) throws a warning that angular-redux expects Angular 7 not 8. It would be nice if package.json was updated to support both.

smithad15 commented 5 years ago

That was my theory, but thank you for confirming. Feel free to utilize v10 with Angular 8. I will do a version bump at some point to remove the dependency warning, but that will require a major release and I want to see if I can get some more work in before I do so.

JackSchaible commented 5 years ago

I'm getting an error after upgrading to Angular 8 (from 7): Property '[Symbol.observable]' is missing in type 'NgRedux<RootState>' but required in type 'ObservableStore<RootState>'.

Not sure if I need to update another package (maybe the redux node_module itself?). If it can help, my package.json has these dependencies:

"dependencies": { "@angular-redux/form": "^10.0.0", "@angular-redux/store": "^10.0.0", "@angular/animations": "^8.1.0", "@angular/cdk": "^8.0.2", "@angular/common": "^8.1.0", "@angular/compiler": "^8.1.0", "@angular/core": "^8.1.0", "@angular/forms": "^8.1.0", "@angular/material": "^8.0.2", "@angular/platform-browser": "^8.1.0", "@angular/platform-browser-dynamic": "^8.1.0", "@angular/router": "^8.1.0", "@ngrx/store-devtools": "^8.0.1", "core-js": "^3.1.4", "hammerjs": "^2.0.8", "ng-click-outside": "^4.0.0", "npm": "^6.10.0", "redux": "^4.0.3", "redux-devtools-extension": "^2.13.8", "rxjs": "~6.5.2", "ts-md5": "^1.2.4", "zone.js": "~0.9.1" }, "devDependencies": { "@angular-devkit/build-angular": "~0.801.0", "@angular/cli": "^8.1.0", "@angular/compiler-cli": "^8.1.0", "@angular/language-service": "^8.1.0", "@types/node": "~12.6.1", "codelyzer": "^5.0.1", "protractor": "~5.4.2", "ts-node": "~8.3.0", "tslint": "~5.18.0", "typescript": "^3.4.5" }

JackSchaible commented 5 years ago

I'm getting an error after upgrading to Angular 8 (from 7): Property '[Symbol.observable]' is missing in type 'NgRedux<RootState>' but required in type 'ObservableStore<RootState>'.

Not sure if I need to update another package (maybe the redux node_module itself?). If it can help, my package.json has these dependencies:

"dependencies": { "@angular-redux/form": "^10.0.0", "@angular-redux/store": "^10.0.0", "@angular/animations": "^8.1.0", "@angular/cdk": "^8.0.2", "@angular/common": "^8.1.0", "@angular/compiler": "^8.1.0", "@angular/core": "^8.1.0", "@angular/forms": "^8.1.0", "@angular/material": "^8.0.2", "@angular/platform-browser": "^8.1.0", "@angular/platform-browser-dynamic": "^8.1.0", "@angular/router": "^8.1.0", "@ngrx/store-devtools": "^8.0.1", "core-js": "^3.1.4", "hammerjs": "^2.0.8", "ng-click-outside": "^4.0.0", "npm": "^6.10.0", "redux": "^4.0.3", "redux-devtools-extension": "^2.13.8", "rxjs": "~6.5.2", "ts-md5": "^1.2.4", "zone.js": "~0.9.1" }, "devDependencies": { "@angular-devkit/build-angular": "~0.801.0", "@angular/cli": "^8.1.0", "@angular/compiler-cli": "^8.1.0", "@angular/language-service": "^8.1.0", "@types/node": "~12.6.1", "codelyzer": "^5.0.1", "protractor": "~5.4.2", "ts-node": "~8.3.0", "tslint": "~5.18.0", "typescript": "^3.4.5" }

Ok, found the issue. Apparently, Redux@4.0.3 doesn't work. Installed 4.0.1, works fine. Hope this helps anyone who has the same issue.

asvishnyakov commented 5 years ago

@smithad15

but that will require a major release and I want to see if I can get some more work in before I do so.

Hah, it's what about I argued with my team few weeks ago. Why do we need to wait any additional changes? Why we can't just make yet another release even if it require minor or major version bump? Why it can't include only single simple fix? Chrome now have version 75 and there are no one worry about that.

Sieabah commented 5 years ago

Could it just be a patch release to change the package.json? I really don't want to wait just so I can get rid of some install warnings that I can't tell which ones are real warnings anymore. You've had 2 months since Angular 8 has been released to fix this?

ghost commented 5 years ago

Im getting the same error as @JackSchaible will there be a fix ? or should I downgrade my Redux to 4.0.1 ?

craigryan commented 5 years ago

Update It builds once I change redux from ^4.0.1 to just 4.0.1. I'll leave the following as is in case it helps anyone else.

"Ok, found the issue. Apparently, Redux@4.0.3 doesn't work. Installed 4.0.1, works fine. Hope this helps anyone who has the same issue."

This didn't fix the problem. My versions are as follows (redux set from 4.0.4 back to 4.0.1, same error).

"@angular-redux/store": "^10.0.0", "redux": "^4.0.1", "redux-devtools-extension": "^2.13.8",

and I'm on Angular 8.1.3. The error with either redux version is

ERROR in node_modules/@angular-redux/store/components/ng-redux.d.ts:10:31 - error TS2420: Class 'NgRedux' incorrectly implements interface 'ObservableStore'. Property '[Symbol.observable]' is missing in type 'NgRedux' but required in type 'ObservableStore'.

10 export declare abstract class NgRedux implements ObservableStore {

node_modules/redux/index.d.ts:247:3 247 [Symbol.observable()]: Observable\<S> [Symbol.observable] is declared here.

HarelM commented 4 years ago

Any chance to update the dependency for angular? I'm using this version with angular 8 and it works as expected, I would like to avoid seeing the npm warnings...

asvishnyakov commented 4 years ago

I still expecting problems with redux-observable-decorator (@Epic) because of lacking support of es2015 mode in redux observable: https://github.com/redux-observable/redux-observable/issues/644


because of that I was need to create a fork of redux-observable decorator (https://github.com/asvishnyakov/redux-observable-decorator-es6-compat) and use it together with redux-observable-es6-compat to have ability to use differential loading

Sieabah commented 4 years ago

@dalu I've just moved to using ngxs instead of relying on this directly.

HarelM commented 4 years ago

@dalu see my comment above...

kirillgroshkov commented 4 years ago

any progress on this?