angular-token icon indicating copy to clipboard operation
angular-token copied to clipboard

Compatibility With Angular 9

Open andrewariley87 opened this issue 4 years ago • 16 comments

I'm submitting a...

  • [ ] Regression (a behavior that used to work and stopped working in a new release)
  • [ ] Bug report
  • [ ] Performance issue
  • [ ] Feature request
  • [ ] Documentation issue or request
  • [X] Other... Please describe: Is this compatible with Angular 9?

Current behavior

I tried to update my app to Angular 9.0.6 by running ng update @angular/cli @angular/core and got the following

Package "angular-token" has an incompatible peer dependency to "@angular/core" (requires "^7.0.0" (extended), would install "9.0.6").
Package "angular-token" has an incompatible peer dependency to "@angular/common" (requires "^7.0.0" (extended), would install "9.0.6").

Expected behavior

Compatibility with Angular 9

What is the motivation / use case for changing the behavior?

I want to update my app to use Angular 9

Environment

Angular-Token version: 7.0.1 Angular version: 8.0.2 -> 9.0.6

Bundler

  • [X] Angular CLI (Webpack)
  • [ ] Webpack
  • [ ] SystemJS

Browser:

  • [ ] Chrome (desktop) version XX
  • [ ] Chrome (Android) version XX
  • [ ] Chrome (iOS) version XX
  • [ ] Firefox version XX
  • [ ] Safari (desktop) version XX
  • [ ] Safari (iOS) version XX
  • [ ] IE version XX
  • [ ] Edge version XX

andrewariley87 avatar Mar 13 '20 14:03 andrewariley87

Hey @andrewariley87 I haven't looked in much detail, but you can give it a try in Angular 9. The warning you're see is due to the version range I set, because I didn't test it with Angular 9 yet (Does not have any implication on functionality)

neroniaky avatar Mar 18 '20 03:03 neroniaky

I can confirm that it is NOT compatible with Angular 9, because of a new requirement for the ModuleWithProviders.

When you call the forRoot() method it will throw the following error:

ERROR in node_modules/angular-token/lib/angular-token.module.d.ts:6:51 - error NG6005: AngularTokenModule.forRoot returns a ModuleWithProviders type without a generic type argument. Please add a generic type argument to the ModuleWithProviders type. If this occurrence is in library code you don't control, please contact the library authors.

The fix is as simple as adding a type to ModuleWithProviders:

static forRoot(options: AngularTokenOptions): ModuleWithProviders<AngularTokenModule> {
  ...
}

It is simple, but I need to leave now, so if not yet done, I'll send a PR this Friday.

mattarau avatar Mar 19 '20 23:03 mattarau

@neroniaky and @mattarau Thank you both for looking into this and the quick response!

andrewariley87 avatar Mar 20 '20 13:03 andrewariley87

Hey @andrewariley87 and @neroniaky, I've tested it today and found out that the whole main project would have to be updated to v9 in order to work, so I did it. Above you can see the PR with the Update.

mattarau avatar Mar 20 '20 16:03 mattarau

I published 9.0.0-beta.0 Please give it a try.

neroniaky avatar Apr 28 '20 21:04 neroniaky

any news on this? tried to move from Angular v8.2 to Angular v9 today but got errors that angular-token is not compatible and may break. Would be nice if you guys could publish the next stable version 9.0.0 soon.

ManCodeB avatar May 07 '20 21:05 ManCodeB

@ManCodeB Could you give 9.0.0-beta.0 a try and see if it works for you?

neroniaky avatar May 10 '20 17:05 neroniaky

@neroniaky I am using Angular v9.1.4 with angular-token v7.0.1 right now, and it works like it used to with Angular v7.x

ManCodeB avatar May 19 '20 08:05 ManCodeB

I'm using Angular9 and rails refused to create registration record. It show "email can't be blank", passowrd can't be blank. The registerAcccount should accept custom data provided. like this

this.tokenService.registerAccount({
      user: {
      email: this.registerForm.value['email'],
      password: this.registerForm.value['password'],
      passwordConfirmation: this.registerForm.value['password_confirmation']
    }}).subscribe(
      res => console.warn(res.data),
      error => console.warn(error)
    );

prdpspkt avatar May 20 '20 10:05 prdpspkt

@neroniaky 9.0.0-beta.0 is working as expected in Angular 9.1.9.

mgraulich avatar May 25 '20 22:05 mgraulich

@mgraulich Yes, it's working but the package has poor documentation. Some extra lines of configurations in devise-token-auth should be added.

prdpspkt avatar May 26 '20 06:05 prdpspkt

Any update regarding a stable release for ng 9?

stanciupaul avatar Jul 08 '20 13:07 stanciupaul

@stanciupaul Could you give 9.0.0-beta.0 a try? Thanks!

neroniaky avatar Jul 30 '20 12:07 neroniaky

@neroniaky 9.0.0-beta.0 works fine even with Angular 12. When you plan to release a stable version?

stanciupaul avatar Jul 13 '21 06:07 stanciupaul

@neroniaky Please could you release a stable version (ie. not a beta)? Thank you.

rmcsharry avatar Sep 06 '21 08:09 rmcsharry

@neroniaky Please could we get a non-beta release?

btw, many thanks for all your hard work. If my app ever makes any money I'll be sure to sponsor you!

rmcsharry avatar Feb 15 '22 21:02 rmcsharry