Firebase project creation, listing, and management functionality for organizing Firebase resources and services.
Lists all Firebase projects accessible to the authenticated user.
/**
* List Firebase projects
* @param options - Command options
* @returns Promise resolving to array of project information
*/
function list(options?: Options): Promise<Array<{
projectId: string;
projectNumber: string;
displayName: string;
name: string;
resources: {
hostingSite?: string;
realtimeDatabaseInstance?: string;
storageBucket?: string;
locationId?: string;
};
state: "ACTIVE" | "DELETE_REQUESTED";
}>>;Usage Examples:
const client = require("firebase-tools");
// List all projects
const projects = await client.projects.list();
console.log("Your Firebase projects:");
projects.forEach(project => {
console.log(`- ${project.displayName} (${project.projectId})`);
});Creates a new Firebase project.
/**
* Create new Firebase project
* @param projectId - Unique project identifier
* @param options - Project creation options
* @returns Promise resolving when project is created
*/
function create(
projectId: string,
options?: Options & {
/** Display name for the project */
displayName?: string;
/** Google Cloud organization ID */
organization?: string;
/** Google Cloud folder ID */
folder?: string;
}
): Promise<{
projectId: string;
displayName: string;
resources: {
hostingSite?: string;
realtimeDatabaseInstance?: string;
storageBucket?: string;
locationId?: string;
};
}>;Usage Examples:
// Create project with minimal configuration
await client.projects.create("my-new-project", {
displayName: "My New Project"
});
// Create project in organization
await client.projects.create("company-project", {
displayName: "Company Project",
organization: "123456789"
});
// Create project in folder
await client.projects.create("team-project", {
displayName: "Team Project",
folder: "folders/987654321"
});Adds Firebase services to an existing Google Cloud Platform project.
/**
* Add Firebase to existing GCP project
* @param options - Configuration options
* @returns Promise resolving when Firebase is added
*/
function addfirebase(options: Options & {
/** GCP project ID to add Firebase to */
gcpProject: string;
}): Promise<{
projectId: string;
displayName: string;
resources: {
hostingSite?: string;
realtimeDatabaseInstance?: string;
storageBucket?: string;
locationId?: string;
};
}>;Usage Examples:
// Add Firebase to existing GCP project
await client.projects.addfirebase({
gcpProject: "existing-gcp-project-123"
});Firebase projects contain the following components:
When creating a Firebase project, the following resources are automatically provisioned:
Firebase projects follow specific naming conventions:
Project ID:
Display Name:
Hosting Site: Defaults to {projectId}.web.app
Storage Bucket: Defaults to {projectId}.appspot.com
Database Instance: Defaults to {projectId}-default-rtdb
Projects can be organized under Google Cloud organizations:
Google Cloud folders provide additional organization:
Deleted projects can be restored through the Firebase console during the 30-day grace period.
myapp-prod, myapp-staging)