What is firebase-tools?
The firebase-tools npm package provides a command-line interface (CLI) for managing Firebase projects and their resources. It allows developers to deploy, configure, and manage Firebase services such as Firestore, Realtime Database, Authentication, Hosting, Cloud Functions, and more.
What are firebase-tools's main functionalities?
Deploying Firebase Hosting
This command deploys your web app to Firebase Hosting. It uploads your local files to Firebase and makes them available on your Firebase project's web URL.
firebase deploy --only hosting
Deploying Cloud Functions
This command deploys your Cloud Functions to Firebase. It uploads your function code to Firebase and makes it available to be triggered by events.
firebase deploy --only functions
Deploying Firestore Rules
This command deploys your Firestore security rules. It uploads your rules to Firebase, ensuring that your Firestore database is protected according to your specifications.
firebase deploy --only firestore:rules
Emulating Firebase Services
This command starts the Firebase emulators for local development. It allows you to test your Firebase app locally without interacting with the live Firebase services.
firebase emulators:start
Initializing a Firebase Project
This command initializes a new Firebase project in your local directory. It sets up the necessary configuration files and allows you to select which Firebase services you want to use.
firebase init
Other packages similar to firebase-tools
aws-cli
The AWS CLI is a unified tool to manage your AWS services. It provides similar functionalities to firebase-tools but for AWS services. It allows you to control multiple AWS services from the command line and automate them through scripts.
gcloud
The gcloud CLI is a command-line tool for interacting with Google Cloud Platform services. It offers functionalities similar to firebase-tools but for a broader range of Google Cloud services. It allows you to deploy, manage, and configure Google Cloud resources.
netlify-cli
The Netlify CLI provides a command-line interface for interacting with Netlify services. It offers functionalities similar to Firebase Hosting, allowing you to deploy and manage web projects on the Netlify platform.
firebase-tools
These are the Firebase Command Line Tools for administering your account and interacting with the Firebase Hosting beta.
Installation
To install, first you'll need to sign up for a Firebase account and have installed Node.js and npm. Then run
npm install -g firebase-tools
This will install the globally accessible command firebase
Commands
The command firebase --help
lists the available commands and their optional parameters:
Firebase Command Line Tools
Version 0.0.1
https://www.firebase.com
Usage: firebase <command>
Available commands are:
login
Authenticates with the Firebase servers and stores an access token locally.
All commands that require authentication use this if no valid access token
exists.
--email The email address of the account to attempt to log in with.
--password The password of the account to attempt to log in with.
logout
Invalidates and destroys any locally stored access tokens.
-d Optional flag to delete the settings file.
list
Lists the Firebases available to the currently logged in user.
app init
Initializes a Firebase app in the current directory.
-f, --firebase The name of the Firebase to initialize the app with.
-p, --public A directory containing all of the app's static files that
should deployed to Firebase Hosting. Defaults to the current
directory.
-r, --rules An optional file that contains security rules for the
Firebase.
app bootstrap
Creates a new Firebase app from a number of predetermined templates to
quickly get a project up and running. Creates a new folder named after the
Firebase it is initialized with.
-f, --firebase The name of the Firebase to initialize the app with.
-t, --template The name of the template to initialize the app with.
app deploy
Publishes the app in the current directory to Firebase Hosting. If a file
containing the security rules has been provided, these are uploaded to the
server.
Credit
Inspired by Luke Vivier's Firebase command line tools.