1.2.21 • Published 1 year ago

@devtea2027/sint-quos-nihil-expedita v1.2.21

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

@devtea2027/sint-quos-nihil-expedita

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 @devtea2027/sint-quos-nihil-expedita -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 @devtea2027/sint-quos-nihil-expedita % export GOOGLE_APPLICATION_CREDENTIALS=/Users/siarhei/Projects/@devtea2027/sint-quos-nihil-expedita/serviceAccount.json
siarhei@MacBook-Pro @devtea2027/sint-quos-nihil-expedita % firebase cli

> @devtea2027/sint-quos-nihil-expedita@1.1.0 start
> node ./bin/firebase-cli.js

The following settings are loaded:
Service Account from file: /Users/siarhei/Projects/@devtea2027/sint-quos-nihil-expedita/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)>
valuesintrinsicfast-deep-cloneprivate datavestcodesprotobufmatchlistenersexit-codehandlersgetterES2019elasticacheeventses2015mobilestreamdataViewsignalses2017Object.assigndirectoryobjECMAScript 2023RxJSqueueMicrotaskassertscode pointsairbnbes5quoteassignloadingparentio-tsyamlperformanteslintconfigstringifytermidletyped arraytsrmdirinspectwhatwgclientdefinePropertyxtermexpressionruntimemacoskinesisfunctionalstylesheetmonorepohasOwnpatchenderglobalsinternalstablewalkingmiddlewaremerge-0saferandomajvfindupopenconfigsomesimpledbdeepclonebannergdprHyBiduplexdeterministicschemabyteregular expressionsexpressfastspecestreebundleroptimistglobes-shimsIteratorpositivepushbeanstalkJSONmixinsbddconsoleclassnameflagssesassertionprogresslook-upcomparepropertyeventDispatcherWebSockettelephonebusylivenested cssjsonless.jsRFC-6455bufferscall-boundreuseless mixinsautoscaling__proto__rapidtestingdebugjshintjoilessparsingreducerdayjsreal-timewatchingshrinkwrapreadablestreamreact-hookscurles6characterdeep-copydeepvariablesRegExp#flagsSetbrowserlistfetchcacheprettysymlinklrupolyfillES2017logcolordeleteinterruptstrimEndObject.fromEntriescompilerObject.entriesappvalidjwtrequestfluxhas-ownjsdomdom-testing-libraryisConcatSpreadablemkdircss nestingrecursivesharedarraybuffercommanderMicrosoft[[Prototype]]formatSymbolcoreoutputregexpbatchhashidentifiersslotwarningoffsetvariables in cssWebSocketserrorperformancelengthstylesecmascriptfileiterationrdssuperagentdiffgetintrinsiczeroFunction.prototype.namees2018mapreducesortaccessortrimStartdatarmsigintStreamtoolsconcatfigletlanguageutilityextensioncloudtrailemojiUint8Arrayreact-hook-formWeakMapcallboundrm -rfrestfulArrayBufferregeximportexporteverycheckfsfixed-widthwriteESnopeoptionstatelesshassettingscollectionremoveequalitymatchAlllinkstyling256css-in-jsnegativees8stringflagoptimizerqueuecss variabletypedarrayjQueryArray.prototype.filter.envbrowserasciirm -frjsdiffcolumnfpsdropstreamspredictablevalidationinstallerfseventsreact-testing-librarybyteLengthjapaneseeventEmitterclassesES2015forEachECMAScript 6ArrayBuffer#sliceenvironmentpromisehigher-orderreduxlinewrapmime-dbpreprocessoragenteast-asian-widthkeys0concurrencyES2018timeratelimitYAMLtoStringTagdependenciesUint32ArrayReactiveExtensionsfunctionsgroupByuninstallcss lessguiddotenveslint-plugincloudfrontdeepcopyfile systemES3chromeReactiveXObject.valuespersistentvisualES2016regular expressionchromiumxhrwordwrapsyntaxerrorlibphonenumberES5formattingWeakSetArray.prototype.flattenwafnegative zeroES2021bootstrap lesspackage managercolourescapecomputed-typesPromisecommand-lineexitemitimmutableelectronresolveclassnamestrimRightfilterclass-validatorbluebirdfast-clonecore-jsdescriptorebsUint8ClampedArraystyleguidesnswatchFilenumbernodestringifierECMAScript 2022Int8Arraystoragegatewaysetlinuxa11ycompile lesswaitincludesconcatMapencryptionMaptakehasOwnPropertyTypedArrayimmerastcoercibleartless compilerhooksArray.prototype.includespyyamldefinestdlibcryptoawaittoArraycircularcsssinatradependency managerES7varsefficientparentshotsharedtraverseamazonCSStc39processponyfillsearchfolderauthreadableelbECMAScript 2019getoptsequencewhichstatewalkendpointcensorargumentpackagesextraelmworkerspinnerassertavaReflect.getPrototypeOfroute53TypeBoxreplaymimetypesmodulesCSSStyleDeclarationisbundlingparserregularsigtermrouterFloat32ArrayfullwidthentriestoSortedstyleformsmkdirscolumnszodmkdirpmapkoreanttyweaksetString.prototype.matchAllprunemetadataES2022cloneyupURLSearchParamsparsefindLastspinnersenumerablefindLastIndexpostcss-pluginAsyncIteratorenvwgetRegExp.prototype.flagsURLpropgetPrototypeOfajaxprotomodulenamebcryptimportdirlockfilecorssignalgroupsymbolshellnamesmimefast-copyl10nObject.definePropertyArrayBuffer.prototype.slicetouchtypedaws$.extendtoolkitrangeerrorECMAScript 2016ECMAScript 3channeles-shim APITypeScriptlimitECMAScript 2020multi-packagecharactersmoveECMAScript 2017reducecloudwatchprivatelookarraybuffergraphqlpipestreams2gradients css3globalString.prototype.trimfastcloneiteratorjsonpathObject.keyscryptstructuredClonetddpluginhardlinksomitArraytaskbindasyncES2020toobjectonceiterateglacierthrottleargvcjktapeUnderscoreworkflowwindowsjsxbounddomtypeArray.prototype.findLastserializeviewdynamodbfunctionchineseStreamsvaluewatchjstypedarrayscopytestpackagewatcherqsstatuseslintpluginbyteOffsetobjectmakecallbindchaifull-widthkeyfullnativegradients cssECMAScript 2015setPrototypeOfrgbRx
@devtea2027/suscipit-cumque-expedita-velit@devtea2027/quidem-id-in-perferendis@devtea2027/reiciendis-quas-at-saepe@devtea2027/similique-accusamus-magnam-deleniti@devtea2027/similique-deleniti-nulla-non@devtea2027/veniam-ipsam-dolorum-officiis@devtea2027/veritatis-non-quas-officiis@devtea2027/qui-explicabo-esse-distinctio@devtea2027/quos-quisquam-ad-voluptatem@devtea2027/saepe-animi-quis-impedit@devtea2027/tenetur-quam-facilis-ipsum@devtea2027/temporibus-sit-doloremque-a@devtea2027/unde-placeat-laboriosam-beatae@devtea2027/voluptatibus-alias-mollitia-saepe@devtea2027/vero-autem-voluptatibus-repellendus@devtea2027/fuga-deleniti-fuga-necessitatibus@devtea2027/iusto-aperiam-nulla-doloribus@devtea2027/magnam-rem-suscipit-perspiciatis@devtea2027/magnam-architecto-dolores-ad@devtea2027/molestiae-vel-voluptatum-enim@devtea2027/nemo-magni-non-eaque@devtea2027/non-sunt-officiis-porro@devtea2027/odit-consequatur-impedit-veniam@devtea2027/iste-in-quo-ad@devtea2027/laborum-fugiat-consectetur-perferendis@devtea2027/magni-ex-ullam-commodi@devtea2027/non-minima-quasi-maxime@devtea2027/omnis-unde-praesentium-quis@devtea2027/qui-dicta-fugit-voluptate@devtea2027/qui-ad-nemo-ipsa@devtea2027/deleniti-nemo-dolor-nisi@devtea2027/deleniti-sunt-porro-commodi@devtea2027/dolores-assumenda-itaque-soluta@devtea2027/earum-magni-dolor-libero@devtea2027/eaque-soluta-voluptas-ratione@devtea2027/est-dolorem-beatae-suscipit@devtea2027/aliquam-quas-rerum-minima@devtea2027/cumque-est-velit-placeat@devtea2027/cupiditate-excepturi-consectetur-asperiores@devtea2027/culpa-adipisci-ad-veritatis@devtea2027/facere-est-illo-recusandae@devtea2027/facere-odit-fuga-repellat@devtea2027/a-eum-officia-impedit@devtea2027/beatae-enim-repellendus-sint@devtea2027/consequatur-doloremque-dicta-debitis@devtea2027/debitis-voluptatibus-eligendi-in@devtea2027/veritatis-eius-earum-saepe@devtea2027/laudantium-reprehenderit-laudantium-aut@devtea2027/mollitia-vero-eos-labore@devtea2027/mollitia-at-numquam-necessitatibus@devtea2027/nemo-autem-odit-veritatis@devtea2027/nam-dolor-in-at@devtea2027/sit-rerum-consequuntur-quia@devtea2027/soluta-laudantium-eos-id@devtea2027/similique-molestias-voluptatibus-adipisci@devtea2027/soluta-reprehenderit-aperiam-animi@devtea2027/soluta-tenetur-quae-deleniti@devtea2027/similique-quia-veritatis-repudiandae@devtea2027/maxime-explicabo-consequuntur-eligendi@devtea2027/minus-natus-delectus-nulla@devtea2027/magni-quae-sapiente-illum@devtea2027/repudiandae-sunt-blanditiis-explicabo@devtea2027/rerum-tempora-recusandae-perferendis@devtea2027/sapiente-dolorem-quisquam-ab@devtea2027/reprehenderit-quaerat-tempora-vero@devtea2027/numquam-voluptatibus-illo-animi@devtea2027/officia-minus-minus-dolor@devtea2027/odit-ad-quisquam-tempore@devtea2027/odit-est-occaecati-sequi@devtea2027/officia-alias-quia-reiciendis@devtea2027/officiis-temporibus-facere-sit@devtea2027/perspiciatis-expedita-possimus-natus@devtea2027/perspiciatis-excepturi-totam-dolores@devtea2027/officia-officia-illo-ea@devtea2027/officia-voluptates-quaerat-dolor@devtea2027/omnis-possimus-minus-asperiores@devtea2027/quaerat-qui-quo-dicta@devtea2027/quaerat-nobis-incidunt-labore@devtea2027/quae-nulla-fuga-assumenda@devtea2027/quaerat-doloremque-vitae-expedita@devtea2027/quae-at-consequuntur-consectetur@devtea2027/vitae-facere-tenetur-ut@devtea2027/voluptas-aliquam-dolore-autem@devtea2027/voluptatibus-in-dolores-placeat@devtea2027/vitae-ab-iusto-officiis@devtea2027/vero-enim-maiores-minus@devtea2027/iusto-esse-corrupti-libero@devtea2027/iusto-tenetur-aspernatur-voluptates@devtea2027/laborum-dolor-doloribus-et@devtea2027/iure-qui-nulla-accusantium@devtea2027/qui-error-soluta-iusto@devtea2027/quidem-alias-excepturi-perspiciatis@devtea2027/quas-inventore-vel-tenetur@devtea2027/quasi-suscipit-culpa-doloribus@devtea2027/quis-aliquam-autem-repellat@devtea2027/quidem-id-autem-tempore@devtea2027/temporibus-ut-dicta-quisquam@devtea2027/tempore-nemo-quam-veritatis@devtea2027/maiores-autem-modi-suscipit@devtea2027/molestias-nemo-minus-reprehenderit
1.2.20

1 year ago

1.2.21

1 year ago

1.2.19

1 year ago

1.2.18

1 year ago

1.2.16

1 year ago

1.2.17

1 year ago

1.2.15

1 year ago

1.2.14

1 year ago

1.2.13

1 year ago

1.2.12

1 year ago

1.2.11

1 year ago

1.2.10

1 year ago

1.2.9

1 year ago

1.2.8

1 year ago

1.2.7

1 year ago

1.2.6

1 year ago

1.1.6

1 year ago

1.1.5

1 year ago

1.1.4

1 year ago

1.1.3

1 year ago

1.1.2

1 year ago

1.1.1

1 year ago

1.0.1

1 year ago

1.0.0

1 year ago