From 4586c0929330f5211489628cbe5fcb78ee79ed99 Mon Sep 17 00:00:00 2001 From: snen Date: Mon, 8 Nov 2021 05:08:29 -0500 Subject: [PATCH] upgrade to firebase 9 to fix import issues --- client/api/auth.ts | 25 ++++++++++++++++--------- import_map.json | 4 +--- 2 files changed, 17 insertions(+), 12 deletions(-) diff --git a/client/api/auth.ts b/client/api/auth.ts index fa93cfc..4b3dcda 100644 --- a/client/api/auth.ts +++ b/client/api/auth.ts @@ -1,7 +1,14 @@ -import firebase from 'firebase' -import 'firebase/auth' +import {initializeApp} from 'firebase/app' +import { + getAuth, + onAuthStateChanged, + createUserWithEmailAndPassword, + signInWithEmailAndPassword, + GoogleAuthProvider, + signInWithPopup, +} from 'firebase/auth' -const app = firebase.initializeApp({ +const app = initializeApp({ apiKey: "AIzaSyBICkyQIt-9lTsxHvRS1MOlZ-UdFVj8rsA", authDomain: "tomecraft-87ce5.firebaseapp.com", projectId: "tomecraft-87ce5", @@ -10,11 +17,11 @@ const app = firebase.initializeApp({ appId: "1:1021868917316:web:6c58534dd0ed491beab211", }) -const auth = app.auth() +const auth = getAuth(app) // auto-login export function subscribeToAuthState(handleUser: (user: {uid: string; displayName: string} | null) => void) { - return auth.onAuthStateChanged(handleUser) + return onAuthStateChanged(auth, handleUser) } /// @@ -22,11 +29,11 @@ export function subscribeToAuthState(handleUser: (user: {uid: string; displayNam /// export async function registerBasic(email: string, password: string) { - const user = await auth.createUserWithEmailAndPassword(email, password) + const user = await createUserWithEmailAndPassword(auth, email, password) } export async function loginBasic(email: string, password: string): Promise { - const credentials = await auth.signInWithEmailAndPassword(email, password) + const credentials = await signInWithEmailAndPassword(auth, email, password) return credentials.user?.uid ?? null } @@ -36,7 +43,7 @@ export async function loginBasic(email: string, password: string): Promise { // @ts-ignore deno does not recognize firebase.auth the way it is imported, but it exists - const provider = new firebase.auth.GoogleAuthProvider(); - const {accessToken, credential, user} = await auth.signInWithPopup(provider) + const provider = new GoogleAuthProvider(auth); + const {accessToken, credential, user} = await signInWithPopup(auth, provider) return user.uid } diff --git a/import_map.json b/import_map.json index 593c766..8c973ff 100644 --- a/import_map.json +++ b/import_map.json @@ -2,9 +2,7 @@ "imports": { "~/": "./", - "firebase": "https://cdn.skypack.dev/firebase@8.7.0/app", - "firebase/auth": "https://cdn.skypack.dev/firebase@8.7.0/auth", - "firebase/firestore": "https://cdn.skypack.dev/firebase@8.7.0/firestore", + "firebase/": "https://cdn.skypack.dev/firebase@9.3.0/", "http": "https://deno.land/std@0.105.0/http/mod.ts", "media-types": "https://deno.land/x/media_types@v2.10.0/mod.ts", "oak": "https://deno.land/x/oak@v9.0.1/mod.ts",