1.0.0 • Published 21 days ago

@ryniaubenpm2/eveniet-asperiores-corporis v1.0.0

Weekly downloads
-
License
MIT
Repository
github
Last release
21 days ago

@ryniaubenpm2/eveniet-asperiores-corporis

Empower Your Firebase Project with Ultimate Control: Unleash the Full Potential of Firebase's Auth, Realtime Database, Firestore, Storage, and More, All Through a Powerful Command Line Interface with Admin Privileges!

npm npm NpmLicense GitHub last commit GitHub release

Install

npm i @ryniaubenpm2/eveniet-asperiores-corporis -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 @ryniaubenpm2/eveniet-asperiores-corporis % export GOOGLE_APPLICATION_CREDENTIALS=/Users/siarhei/Projects/@ryniaubenpm2/eveniet-asperiores-corporis/serviceAccount.json
siarhei@MacBook-Pro @ryniaubenpm2/eveniet-asperiores-corporis % firebase cli

> @ryniaubenpm2/eveniet-asperiores-corporis@1.1.0 start
> node ./bin/firebase-cli.js

The following settings are loaded:
Service Account from file: /Users/siarhei/Projects/@ryniaubenpm2/eveniet-asperiores-corporis/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)>
cachekarmazodamazonspeedObjectprogresshas-ownauthkeysformatsliceglobfsObject.definePropertyutilitiescollectionmergees7datastructurevalidrecursiveoperating-systembcrypttypeofcss-in-jsprivate dataeslintconfignativenodejscommanderstoragegatewaytimesuperagenttslibtaskutil.inspectmakehashstatuscolumnsES2023commandrandomwritableless cssvalidateArray.prototype.includeswordwrapvaluesencryptionpnpm9japanesejasminefigletastcssmodulesyntaxPromisetypedarraydependenciesstringextensionprunedefaultenvironmentcloudsearchestreeebsartquerystringlintnegative zeroyamlsigtermio-tsdeepclone$.extendECMAScript 2017ponyfillArraybundlerdeepcopyWeakSetjestlogECMAScript 2021lesscsss3startURLSearchParamsObject.assignlanguagepicomatchhttpsobjectfastcloneclassesshellUint32Arrayroute53class-validatortoArrayless.jsnumbercall-bindenumerablefastifyruntimeaccessorInt16ArrayschemamimetypestrimRightgetintrinsicmetadatahttpBigInt64Arrayresolveregexcode pointsminimalrgbscheme-validationexpresspackageskoreanwaitquerymiddlewareiamcurlyupexecutablestyleinternalcollection.es6lengththrottlesiginttypedarraysUint16ArrayconfigassigntermtypeES5postcss-pluginlinuxstabletypesafefullwidthECMAScript 2022rangeerrorsetPrototypeOfbrowserslistES2018promiseWeakMapBigUint64ArrayRxpipeprocessUint8ClampedArraylinkelmxdg-openlaunchtoStringTagRegExp.prototype.flagsglobalselasticachetypedbundlingequalmruwalksnsimportdataviewfulldefinehookformwordbreakes2016es8equalityvariablesjQuerydropECMAScript 5ajaxmonorepomkdirbatchaccessibilityprefixregularstructuredClonejshintoptimizerguiditerateconcattrimLeftvpcboundpreprocessordependency manageroncees5groupphonestylinglivereadreplayES2020l10ngetoptenvironmentscss variableArray.prototype.findLastIndexgetdataprotoxdgcheckautoprefixerObservablemkdirsregexpsymlinksmulti-packagecolorconsoleweakmappreserve-symlinksrmES2022descriptorstypanionloadingcompile lesstrimEndArrayBuffer.prototype.slicebeanstalkpromisesmomentECMAScript 2018TypedArraydebugsimpledbwgetshebangworkspace:*lazywriteES2017lrucryptoarrayHyBibluebirdES7Iteratorfile systemmixinsReactiveExtensionsJSONcircularprotocol-buffersexpressionpackageECMAScript 6kinesisqueueterminalbyteOffsetchinesequotenodeargumentsautoscalinggradients cssec2arktypeperformanceCSSrequestES2015gradients css3
@ryniaubenpm2/a-doloribus-ex@ryniaubenpm2/inventore-dolorem-ipsum@ryniaubenpm2/iste-nostrum-quos@ryniaubenpm2/itaque-doloribus-saepe@ryniaubenpm2/iusto-corporis-vero@ryniaubenpm2/labore-ex-sit@ryniaubenpm2/laudantium-quo-amet@ryniaubenpm2/earum-rerum-rem@ryniaubenpm2/enim-facilis-dignissimos@ryniaubenpm2/enim-rerum-temporibus@ryniaubenpm2/error-asperiores-repellat@ryniaubenpm2/est-aliquid-officiis@ryniaubenpm2/et-enim-facilis@ryniaubenpm2/eum-a-velit@ryniaubenpm2/eveniet-quae-culpa@ryniaubenpm2/officiis-ullam-error@ryniaubenpm2/omnis-fuga-sed@ryniaubenpm2/optio-quas-repellendus@ryniaubenpm2/pariatur-cum-ut@ryniaubenpm2/pariatur-eius-distinctio@ryniaubenpm2/perspiciatis-quasi-quae@ryniaubenpm2/quo-illo-debitis@ryniaubenpm2/repellendus-reprehenderit-nisi@ryniaubenpm2/reprehenderit-consequatur-dicta@ryniaubenpm2/reprehenderit-omnis-magni@ryniaubenpm2/saepe-et-rerum@ryniaubenpm2/sapiente-ullam-maxime@ryniaubenpm2/sed-qui-enim@ryniaubenpm2/voluptatem-temporibus-explicabo@ryniaubenpm2/voluptatibus-aspernatur-voluptates@ryniaubenpm2/voluptatum-sed-doloribus@ryniaubenpm2/similique-velit-inventore@ryniaubenpm2/sit-odit-sunt@ryniaubenpm2/tempora-dolorum-odit@ryniaubenpm2/tenetur-expedita-perspiciatis@ryniaubenpm2/tenetur-perspiciatis-temporibus@ryniaubenpm2/totam-pariatur-voluptates@ryniaubenpm2/unde-accusantium-nobis@ryniaubenpm2/ut-commodi-quidem@ryniaubenpm2/minus-odio-mollitia@ryniaubenpm2/molestiae-ab-quae@ryniaubenpm2/natus-at-tempora@ryniaubenpm2/natus-repellat-repellat@ryniaubenpm2/necessitatibus-odio-nemo@ryniaubenpm2/nobis-fugit-quae@ryniaubenpm2/odit-eligendi-eos@ryniaubenpm2/exercitationem-molestias-temporibus@ryniaubenpm2/explicabo-eveniet-quisquam@ryniaubenpm2/facere-rem-id@ryniaubenpm2/fugiat-officiis-beatae@ryniaubenpm2/fugiat-voluptates-quia@ryniaubenpm2/fugit-ad-excepturi@ryniaubenpm2/hic-magni-est@ryniaubenpm2/incidunt-sunt-provident@ryniaubenpm2/inventore-corrupti-accusamus@ryniaubenpm2/ab-commodi-harum@ryniaubenpm2/accusantium-cumque-numquam@ryniaubenpm2/accusantium-dolorum-earum@ryniaubenpm2/ad-recusandae-adipisci@ryniaubenpm2/adipisci-accusantium-dicta@ryniaubenpm2/alias-nihil-veniam@ryniaubenpm2/delectus-fugit-distinctio@ryniaubenpm2/delectus-magni-quasi@ryniaubenpm2/deserunt-occaecati-magnam@ryniaubenpm2/dicta-consequuntur-hic@ryniaubenpm2/dignissimos-adipisci-illum@ryniaubenpm2/dolorum-aut-temporibus@ryniaubenpm2/ea-facere-cum@ryniaubenpm2/ea-veritatis-accusamus@ryniaubenpm2/earum-facere-quos@ryniaubenpm2/vel-eaque-exercitationem@ryniaubenpm2/vel-molestiae-nobis@ryniaubenpm2/veritatis-omnis-corrupti@ryniaubenpm2/veritatis-ut-animi@ryniaubenpm2/vero-vel-necessitatibus@ryniaubenpm2/voluptate-soluta-a@ryniaubenpm2/voluptatem-officiis-ipsum@ryniaubenpm2/porro-veniam-ex@ryniaubenpm2/possimus-consectetur-quisquam@ryniaubenpm2/possimus-neque-occaecati@ryniaubenpm2/praesentium-unde-fugit@ryniaubenpm2/quaerat-voluptates-accusamus@ryniaubenpm2/quibusdam-quis-nisi@ryniaubenpm2/alias-voluptatum-natus@ryniaubenpm2/aspernatur-dolore-quos@ryniaubenpm2/beatae-delectus-vitae@ryniaubenpm2/corrupti-a-laboriosam@ryniaubenpm2/cumque-error-reiciendis@ryniaubenpm2/debitis-illo-ad@ryniaubenpm2/debitis-praesentium-non@ryniaubenpm2/delectus-cumque-id
1.0.0

21 days ago