okta / okta-angular

Angular SDK for Okta's OIDC flow
https://github.com/okta/okta-angular
Other
44 stars 31 forks source link

Sign-In Widget doesn't work out-of-the-box when using Angular strict mode #29

Open mraible opened 3 years ago

mraible commented 3 years ago

When I create an Angular 11 app in strict-mode, importing the Sign-In Widget doesn't work.

Error: src/app/login/login.component.ts:6:24 - error TS7016: Could not find a declaration file for module '@okta/okta-signin-widget'. '/Users/mraible/AngularCalculator/node_modules/@okta/okta-signin-widget/dist/js/okta-sign-in.entry.js' implicitly has an 'any' type.
  Try `npm i --save-dev @types/okta__okta-signin-widget` if it exists or add a new declaration (.d.ts) file containing `declare module '@okta/okta-signin-widget';`

6 import OktaSignIn from '@okta/okta-signin-widget';
                         ~~~~~~~~~~~~~~~~~~~~~~~~~~

If I create a src/sign-in-widget.d.ts file with the following contents, it works.

declare module '@okta/okta-signin-widget';

I'm creating this issue so we can document this problem in the README. Or better yet, fix it!

denysoblohin-okta commented 3 years ago

Thanks for submitting this issue. PR for adding declaration file for okta-signin-widget is under review, will be available soon. https://github.com/okta/okta-signin-widget/pull/1740

mraible commented 3 years ago

FWIW, I discovered this issue while updating our blog post on Angular Login.