JSPM

  • Created
  • Published
  • Downloads 46
  • Score
    100M100P100Q76105F
  • License GPL-3.0

Cli for firebase project

Package Exports

  • firebase-admin-cli
  • firebase-admin-cli/bin/firebase-cli.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (firebase-admin-cli) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

firebase-admin-cli

Command Line Interface with admin rights for Firebase Project (Auth, Realtime Database, Firestore, Storage, etc.).

npm npm NpmLicense GitHub last commit GitHub release

Install

npm i firebase-admin-cli -g

Run

> export GOOGLE_APPLICATION_CREDENTIALS=/FULL_PATH_TO_YOUR_SERVICE_ACCOUNT.json
> firebase-cli

How to use

Just use JavaScript to manage the database.

  • You can use one-line commands
console.log(
  await db
    .collection("users")
    .get()
    .then(({ docs }) => docs.map((e) => e.data()))
);
const users = await db.collection("users").get();
console.log(users.docs.map((e) => e.data()));
  • You can insert multi-line scripts
// command 1 (use Ctrl + V to input multiline code)
const users = await db.collection("users").get();
const arr = users.docs.map((e) => e.data());
console.log(arr);
  • You can assign the result of a command to variables and use them in another command
// command 1
const users = await db.collection("users").get();
// command 2
const arr = users.docs.map((e) => e.data());
// command 3
console.log(arr);
  • You can output the result of the command to the console (you can study the structures and utility properties and methods of objects)
console.log(await db.collection("users").get());
  • You can even execute your script from a file using require();
require("../my_migration_script.js").run();

my_migration_script.js

const admin = require("firebase-admin");

module.exports.run = async () => {
  const users = await admin.firestore().collection("users").get();
  const arr = users.docs.map((e) => e.data());
  console.log(arr);
};

Example

siarhei@MacBook-Pro firebase-admin-cli % export GOOGLE_APPLICATION_CREDENTIALS=/Users/siarhei/Projects/firebase-admin-cli/serviceAccount.json
siarhei@MacBook-Pro firebase-admin-cli % firebase cli

> firebase-admin-cli@1.1.0 start
> node ./bin/firebase-cli.js

The following settings are loaded:
Service Account from file: /Users/siarhei/Projects/firebase-admin-cli/serviceAccount.json
Project id: fir-engine-f1dcd
┌─────────┬──────────┬───────────────────────────────────────────┬─────────────────────────────┐
│ (index)command  │                   title                   │            alias            │
├─────────┼──────────┼───────────────────────────────────────────┼─────────────────────────────┤
│    0'help()''Сall current help''help()'           │
│    1'auth''Сall firebase authorization interface''admin.auth()'        │
│    2'rtdb''Сall firebase database interface''admin.database()'      │
│    3'db''Сall firebase firestore interface''admin.firestore()'     │
│    4'bucket''Сall firebase storage/bucket interface''admin.storage().bucket()'  │
│    5'types''Сall firebase firestore types interface''admin.firestore'      │
│    6'exit()''Exit console''terminalInterface.close()' │
└─────────┴──────────┴───────────────────────────────────────────┴─────────────────────────────┘
Firebase Admin CLI (fir-engine-f1dcd)>const users = await db
  .collection('users')
  .get();
console.log('users', users.docs);
Firebase Admin CLI (fir-engine-f1dcd)>
users []
Firebase Admin CLI (fir-engine-f1dcd)>