Skip to content
This repository was archived by the owner on Nov 1, 2023. It is now read-only.

kai-oswald/nuxt-firebase

Repository files navigation

Note

This lib was created when Vuefire wasn't Nuxt 3 ready yet, but it is now in a good state. I recommend using Vuefire instead of this one

nuxt-firebase module

Firebase module for Nuxt

Docs Demo

Features

  • Nuxt 3 ready
  • Vue 3 composables
  • Modular Mode (Firebase v9+)
  • Usage in API server routes
  • Authentication support
  • TypeScript support

Quick Setup

  1. Add @oswld/nuxt-firebase dependency to your project
# using yarn
yarn add --dev @oswld/nuxt-firebase

# using npm
npm i --save-dev @oswld/nuxt-firebase
  1. Add @oswld/nuxt-firebase to the modules section of nuxt.config.ts
{
    modules: [
        '@oswld/nuxt-firebase'
    ],   
}
  1. Add your firebase config to the firebase section of nuxt.config.ts
{
    firebase: {
        config: firebaseConfig
    }
}
  1. Add config for firebase-admin. These must currently be present on process.env, so add them to your environment variables:
// .env
FIREBASE_PRIVATE_KEY="-----BEGIN PRIVATE KEY-----\n1234\n-----END PRIVATE KEY-----\n"
FIREBASE_CLIENT_EMAIL="firebase-adminsdk-1234@your-firebase-project.iam.gserviceaccount.com"
FIREBASE_PROJECT_ID="your-firebase-project"

That's it! You can now use firebase in your Nuxt app ✨

Vue Composables

  • useFirebaseUser
  • useFirebaseApp
  • useFirebaseAuth
  • useFirebaseToken
  • useFirebaseFunctions
  • useFirestore

Server services

  • serverFirebaseAdmin
  • serverFirebaseAuth
  • serverFirebaseUser

Nuxt 2

If you are looking for a solution with Nuxt 2, checkout https://github.com/nuxt-community/firebase-module

Development

  1. Clone this repository
  2. Install dependencies using yarn install or npm install
  3. Prepare development server using yarn dev:prepare or npm run dev:prepare
  4. Build module using yarn build or npm build
  5. Launch playground using yarn dev or npm run dev

License

MIT License

Releases

No releases published

Packages

No packages published