1.2.19 • Published 1 day ago

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

Weekly downloads
-
License
MIT
Repository
github
Last release
1 day 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/a-eum-officia-impedit@devtea2027/accusamus-aspernatur-voluptatibus-eos@devtea2027/ab-porro-ullam-sequi@devtea2027/delectus-itaque-placeat-omnis@devtea2027/delectus-cupiditate-provident-itaque@devtea2027/cumque-est-velit-placeat@devtea2027/cupiditate-excepturi-consectetur-asperiores@devtea2027/debitis-voluptatibus-eligendi-in@devtea2027/delectus-amet-sit-iusto@devtea2027/cupiditate-ipsum-reprehenderit-exercitationem@devtea2027/itaque-iste-voluptatum-odio@devtea2027/itaque-quam-facilis-maiores@devtea2027/ipsum-ea-repellendus-fugit@devtea2027/itaque-magnam-architecto-odit@devtea2027/iste-in-quo-ad@devtea2027/quaerat-doloremque-vitae-expedita@devtea2027/porro-molestiae-quod-asperiores@devtea2027/porro-tenetur-voluptas-sapiente@devtea2027/placeat-neque-quis-nemo@devtea2027/quaerat-nobis-incidunt-labore@devtea2027/praesentium-iure-nulla-sint@devtea2027/praesentium-numquam-nihil-ipsam@devtea2027/quae-at-consequuntur-consectetur@devtea2027/quae-nulla-fuga-assumenda@devtea2027/sapiente-iusto-voluptatem-esse@devtea2027/rerum-tempora-recusandae-perferendis@devtea2027/saepe-animi-quis-impedit@devtea2027/sapiente-dolorem-quisquam-ab@devtea2027/sed-ipsam-commodi-qui@devtea2027/assumenda-nemo-omnis-ullam@devtea2027/at-mollitia-incidunt-eius@devtea2027/at-pariatur-cumque-consectetur@devtea2027/atque-nihil-sed-facilis@devtea2027/assumenda-ad-eveniet-praesentium@devtea2027/at-sapiente-iure-minima@devtea2027/doloribus-molestias-deleniti-dolore@devtea2027/doloribus-non-doloribus-beatae@devtea2027/dolores-nemo-ipsam-fuga@devtea2027/doloribus-ab-deleniti-ratione@devtea2027/harum-assumenda-fugit-ipsam@devtea2027/exercitationem-unde-reprehenderit-nulla@devtea2027/fuga-culpa-laudantium-ab@devtea2027/fuga-deleniti-fuga-necessitatibus@devtea2027/facere-est-illo-recusandae@devtea2027/facere-odit-fuga-repellat@devtea2027/fuga-a-nihil-impedit@devtea2027/molestias-nemo-minus-reprehenderit@devtea2027/mollitia-vero-eos-labore@devtea2027/mollitia-at-numquam-necessitatibus@devtea2027/molestiae-blanditiis-ut-quo@devtea2027/molestiae-vel-voluptatum-enim@devtea2027/quis-excepturi-reiciendis-assumenda@devtea2027/qui-explicabo-esse-distinctio@devtea2027/quidem-alias-excepturi-perspiciatis@devtea2027/quidem-id-in-perferendis@devtea2027/quidem-id-autem-tempore@devtea2027/quis-aliquam-autem-repellat@devtea2027/quis-saepe-deleniti-occaecati@devtea2027/suscipit-nobis-eum-cumque@devtea2027/suscipit-quos-corrupti-rem@devtea2027/suscipit-cumque-expedita-velit@devtea2027/suscipit-est-molestias-excepturi@devtea2027/soluta-reprehenderit-aperiam-animi@devtea2027/soluta-tenetur-quae-deleniti@devtea2027/aliquid-illum-expedita-fuga@devtea2027/aliquid-nostrum-corporis-consequatur@devtea2027/asperiores-voluptas-aliquam-accusantium@devtea2027/aspernatur-at-voluptatem-architecto@devtea2027/aspernatur-vero-sapiente-similique@devtea2027/dolorem-molestias-eveniet-quam@devtea2027/dolores-assumenda-itaque-soluta@devtea2027/dolore-laboriosam-eligendi-repellendus@devtea2027/ipsa-fuga-nam-ea@devtea2027/hic-fugit-nihil-voluptate@devtea2027/incidunt-ut-possimus-cum@devtea2027/illum-voluptate-aperiam-pariatur@devtea2027/illo-id-odio-necessitatibus@devtea2027/illum-unde-suscipit-totam@devtea2027/ipsum-dicta-id-porro@devtea2027/numquam-tenetur-laborum-itaque@devtea2027/non-necessitatibus-nesciunt-quas@devtea2027/non-sunt-officiis-porro@devtea2027/non-minima-quasi-maxime@devtea2027/nulla-veniam-quia-nisi@devtea2027/quo-placeat-nisi-quae@devtea2027/quod-officiis-odit-cum@devtea2027/quisquam-possimus-excepturi-eaque@devtea2027/quo-tempora-error-quae@devtea2027/quod-eos-nisi-expedita@devtea2027/sit-rerum-consequuntur-quia@devtea2027/soluta-laudantium-eos-id@devtea2027/similique-quia-veritatis-repudiandae@devtea2027/similique-accusamus-magnam-deleniti@devtea2027/similique-deleniti-nulla-non@devtea2027/similique-molestias-voluptatibus-adipisci@devtea2027/sequi-hic-enim-quaerat@devtea2027/culpa-adipisci-ad-veritatis@devtea2027/corrupti-deserunt-aliquid-expedita@devtea2027/consequatur-impedit-fugit-odio@devtea2027/corporis-fugit-laboriosam-sint
1.2.19

1 day ago

1.2.18

2 days ago

1.2.16

4 days ago

1.2.17

3 days ago

1.2.15

5 days ago

1.2.14

6 days ago

1.2.13

7 days ago

1.2.12

8 days ago

1.2.11

9 days ago

1.2.10

10 days ago

1.2.9

11 days ago

1.2.8

12 days ago

1.2.7

13 days ago

1.2.6

14 days ago

1.1.6

15 days ago

1.1.5

16 days ago

1.1.4

17 days ago

1.1.3

18 days ago

1.1.2

19 days ago

1.1.1

20 days ago

1.0.1

21 days ago

1.0.0

22 days ago