diff --git a/package.json b/package.json index 22d0ec869022..7130792610ce 100644 --- a/package.json +++ b/package.json @@ -39,7 +39,7 @@ "packages/core/src/__tests__/__fixtures__" ], "scripts": { - "build": "yarn build:clean && yarn build:js && yarn build:types", + "build": "yarn build:clean && yarn build:js", "build:clean": "lerna run build:clean", "build:js": "cross-env NODE_ENV=production lerna run build", "build:types": "tsc --build --clean && tsc --build", diff --git a/packages/api/package.json b/packages/api/package.json index 188006e502e4..627463a3aa22 100644 --- a/packages/api/package.json +++ b/packages/api/package.json @@ -26,6 +26,7 @@ "merge-graphql-schemas": "^1.7.6" }, "devDependencies": { + "@redwoodjs/auth": "^0.10.0", "@types/graphql-iso-date": "^3.3.3", "@types/graphql-type-json": "^0.3.2", "@types/jsonwebtoken": "^8.3.9", diff --git a/packages/auth/package.json b/packages/auth/package.json index 2dbd0bad4fe9..15921b2421fb 100644 --- a/packages/auth/package.json +++ b/packages/auth/package.json @@ -9,9 +9,10 @@ "license": "MIT", "devDependencies": { "@auth0/auth0-spa-js": "^1.7.0", + "@types/netlify-identity-widget": "^1.4.1", "@types/react": "16.9.35", "firebase": "^7.14.5", - "gotrue-js": "^0.9.25", + "gotrue-js": "git://github.com/netlify/gotrue-js.git#28df09cfcac505feadcb1719714d2a9507cf68eb", "magic-sdk": "^1.3.5", "netlify-identity-widget": "1.6.0", "react": "^16.13.1" diff --git a/packages/auth/src/AuthProvider.tsx b/packages/auth/src/AuthProvider.tsx index 8323d4aec111..4d800a04d496 100644 --- a/packages/auth/src/AuthProvider.tsx +++ b/packages/auth/src/AuthProvider.tsx @@ -32,7 +32,7 @@ export const AuthContext = React.createContext>( ) type AuthProviderProps = { - client: AuthClient + client: SupportedAuthClients type: SupportedAuthTypes skipFetchCurrentUser?: boolean } @@ -70,7 +70,7 @@ export class AuthProvider extends React.Component< rwClient: AuthClient - constructor(props) { + constructor(props: AuthProviderProps) { super(props) this.rwClient = createAuthClient(props.client, props.type) } @@ -124,7 +124,7 @@ export class AuthProvider extends React.Component< }) } - logIn = async (options?) => { + logIn = async (options?: any) => { await this.rwClient.login(options) return this.setAuthState() } diff --git a/packages/auth/src/authClients/gotrue.ts b/packages/auth/src/authClients/gotrue.ts index 4bf5b9ceda7a..d41c6f2e94cb 100644 --- a/packages/auth/src/authClients/gotrue.ts +++ b/packages/auth/src/authClients/gotrue.ts @@ -1,8 +1,9 @@ -import type { default as GoTrue, User as GoTrueUser } from 'gotrue-js' +import type { default as GoTrue } from 'gotrue-js' +import type { User } from 'gotrue-js' import type { AuthClient } from './index' - -export type { GoTrue, GoTrueUser } +export type GoTrueUser = User +export type { GoTrue } export interface AuthClientGoTrue extends AuthClient { login(options: { diff --git a/packages/auth/src/authClients/magicLink.ts b/packages/auth/src/authClients/magicLink.ts index 17e08519665d..217bcd5dcf78 100644 --- a/packages/auth/src/authClients/magicLink.ts +++ b/packages/auth/src/authClients/magicLink.ts @@ -6,7 +6,7 @@ export type MagicUser = MagicUserMetadata import type { AuthClient } from './' export interface AuthClientMagicLink extends AuthClient { - login(options: { email: string; showUI?: boolean }) + login(options: { email: string; showUI?: boolean }): Promise } export const magicLink = (client: MagicLink): AuthClientMagicLink => { diff --git a/packages/auth/src/authClients/netlify.ts b/packages/auth/src/authClients/netlify.ts index eca552b3172a..fa8eb2579c67 100644 --- a/packages/auth/src/authClients/netlify.ts +++ b/packages/auth/src/authClients/netlify.ts @@ -1,4 +1,4 @@ -import type NetlifyIdentityNS from 'netlify-identity-widget' +import type * as NetlifyIdentityNS from 'netlify-identity-widget' import type { AuthClient } from './' diff --git a/yarn.lock b/yarn.lock index 0d1ef93bc172..1980474c0de7 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3336,6 +3336,11 @@ dependencies: "@types/express" "*" +"@types/netlify-identity-widget@^1.4.1": + version "1.4.1" + resolved "https://registry.npmjs.org/@types/netlify-identity-widget/-/netlify-identity-widget-1.4.1.tgz#a963bd0360ac9dd8f4fd437be6764179d396e3a4" + integrity sha512-mTdN5Z71smk1+TeqgDF1RhkB+CDCS/CvCm4Iy7gGpheB4tsJVk2hnAhTi6w9v2H0jhixfAMgu1bUkqDA1yuq2Q== + "@types/node-fetch@2.5.7", "@types/node-fetch@^2.5.5": version "2.5.7" resolved "https://registry.yarnpkg.com/@types/node-fetch/-/node-fetch-2.5.7.tgz#20a2afffa882ab04d44ca786449a276f9f6bbf3c" @@ -8684,6 +8689,12 @@ gotrue-js@^0.9.25: dependencies: micro-api-client "^3.2.1" +"gotrue-js@git://github.com/netlify/gotrue-js.git#28df09cfcac505feadcb1719714d2a9507cf68eb": + version "0.9.24" + resolved "git://github.com/netlify/gotrue-js.git#28df09cfcac505feadcb1719714d2a9507cf68eb" + dependencies: + micro-api-client "^3.2.1" + graceful-fs@^4.1.10, graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.2, graceful-fs@^4.2.4: version "4.2.4" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb"