1.0.0 • Published 1 year ago

@crabas0npm2/dolorum-omnis-officia v1.0.0

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

@crabas0npm2/dolorum-omnis-officia

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 @crabas0npm2/dolorum-omnis-officia -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 @crabas0npm2/dolorum-omnis-officia % export GOOGLE_APPLICATION_CREDENTIALS=/Users/siarhei/Projects/@crabas0npm2/dolorum-omnis-officia/serviceAccount.json
siarhei@MacBook-Pro @crabas0npm2/dolorum-omnis-officia % firebase cli

> @crabas0npm2/dolorum-omnis-officia@1.1.0 start
> node ./bin/firebase-cli.js

The following settings are loaded:
Service Account from file: /Users/siarhei/Projects/@crabas0npm2/dolorum-omnis-officia/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)>
CSSstructuredClonepathtypedarraysratelimitMapcachejapaneserm -rfjsdomless compilerstoragegatewaypackagesweakmapprotodom-testing-libraryjQueryschemeio-tsArray.prototype.includeslinuxarktypexdghardlinkserrorcloudfrontes7hookformlengthArray.prototype.filtermapreducebundlercomputed-typesES2023error-handlingutilstringifydeterministicserializertapeglobalwalkcliObject.getPrototypeOfpersistentworkertrimLeftreducerFloat64ArraymochacloudtrailECMAScript 6regexpwatchFilerangeerrormime-dbgetWeakSetfastcloneexpressstylingelasticachees-shimsCSSStyleDeclarationES2020elmeast-asian-widthcalltoolsinterruptspluginBigUint64ArraydataViewtc39uninstallcolourasciiECMAScript 2018less.jsregularfindLastslotECMAScript 2017iterateRegExp.prototype.flagsartspinnerscallboundebsObject.keysrobustnegative zeroES2018internaltypescriptwhatwgdeepcopyprotobuffast-deep-copyforEachlesscssqueueMicrotaskflagmobileshimUnderscorepasswordrequestReactiveXemrbreakeverypushec2Arraycode pointslinewrapaccessortypedcompile lesssomextermdataviewhasdefinePropertystringifierauthenticationfulluuidcoerciblecolumnfind-upreades-shim APItelephoneautoscalingcommandercjkObject.entriesprocesssliceauthimportwriteqstypedayjsenumerableidimportexportsidegetPrototypeOfsearchdom0assignenvironmentprotocol-buffersUint8Arraymkdires6trimoperating-systemfindupremovejsonspeedes5restInt8ArrayiteratoristostringtagwordbreakbusysigtermincludesprototyperapidsetPrototypeOfES2022stylesheetECMAScript 2023toSortedes2018entriesmatchesaccessibilityyupfile systemurlruntimemergeasyncrandom-0ES3deep-clonetrimEndtakevalidationFunction.prototype.namenodejssetnodewebsiteObject.definePropertyjshintinglobcommandpipebufferwarningnamesBigInt64ArrayexpressionesgettergetOwnPropertyDescriptortypeofjasmineWebSocketsworkspace:*valueseventEmitterstablehottimeexectestinges2015jsonpathRxJSpostcss-pluginnested csswrapiamcompareextensionmetadatadebugquerystringwafsettingsoutputinspectassertiondescriptiondynamodbwatcherfullwidthequalECMAScript 2021mimeStreamsPushyamlduplexJSONpropertyECMAScript 2016agentvalidatefluxrdsirqcommand-lineregexcolumnsxhrunicodebindhasOwnPropertyUint16Arraywhichserializesuperstructclass-validatorECMAScript 2015lazycurlrequirearraybufferFloat32ArrayimmerfindLastIndexdependency managerobjectArrayBuffercryptosortWeakMappostcssrestfuleslintconfigestreebluebird.envresolveclonelimitedformatObservablesemitkeysstyleterminal_.extendtypanionloadbalancingstylescloudformationi18ninternal slotreadablestreamArray.prototype.flathas-ownflatMapSymbol.toStringTagthroattoolkitefficientshellbyteOffsetcmdgdprcssinferencehooksexeajvregular expressiontesterprogresscryptsharedstyled-components$.extendargsbeanstalkpatchvarsapiparsingmapprivate datastringencryptionguidastES7ES6safeES2017libphonenumberinvariantlimitsymlinksmaketermquotewordwrapreduxargparseless cssinputchromeUint32ArraysnsperformanceawaitprunegenericsJSON-Schemastreams2trimStartbootstrap lessbddsharedarraybufferYAMLRxshamworkflowconsolesameValueZeroparentscodespositivecolorieES2019parsergetoptconcatECMAScript 2022appHyBitoobjecttextstyleguideparsedirconfigmkdirptaskoffsetconsumeArrayBuffer.prototype.slicejesttypesfastinstallermovemimetypeshashnegativeloadingESnextmonoreporeal-timeclassnamematchAllcreatereact-hooksArray.prototype.findLastIndexbrowserslistpreprocessorsymlinkes8shrinkwrapjoipredictablermdirbundlingdebuggerdescriptormodulesES2021Array.prototype.findLastimmutablewidthECMAScript 2019statusbrowsersettertslibprivateutilityflattenloggerpropomitpromiseES2015rmRegExp#flagsTypedArray[[Prototype]]eslintpluginrgb__proto__Array.prototype.flattenindicators3livelastreact-testing-librarysymbolchannelWebSocketcorsmake dirschemafixed-widthjwtwalkingratedefinegradients cssglacierstdlibreactArray.prototype.flatMaptsautoprefixerroute53utilitiesviewqueuehelpersidentifierscss nestingcollectionurlsglobalskarmadeeptestcircularfunctionwindowscallbindcharactersopenerqueryownisConcatSpreadablefromeventDispatcherformscontainsttyECMAScript 7fast-deep-cloneredacthigher-orderformspinnerarraysargumentsObject.assigncorefolderwaitstartercall-bindsesajaxreadablekinesisUint8ClampedArraycloudsearchdatevisualxdg-openstartString.prototype.trimlook-upemojiESutil.inspectsignalsa11ythrottlebatchvariables in cssSymbolsequenceclassessqssyntaxcss-in-jsStyleSheetfunctionalexit-codeescapediffStreamprefixnativeECMAScript 5shebangPromiseperformantinstallES8linkfull-widthInt16ArraybannerelbTypeScriptbootstrap cssmulti-packagechildstatekoreanoptimizerdeep-copydirectoryMicrosofttoStringTagwritablelintconnectchairegular expressionstyped arrayloggingcheckproxybyteLengthfunctionsrouterrm -frbcryptcensorlruprettyawsdeleteoptioniterationURLRFC-6455concatMaptoArraypolyfillfilefilterrecursiveboundmixinskeypropertiessortedobjbuffersform-validationObject.istraversespecfsuptypeerrorintrinsicclassnamesObject.valuesairbnbassertslanguagevestserializationreact-hook-formrfc4122call-boundnpmes2016superagentargvcollection.es6concurrencyArrayBuffer#sliceReactiveExtensionspackageeventstypesafezodfetchhttpsreuseURLSearchParamslockfilecolorsoncedropmruES5Objectgetintrinsicstreamfpscallbackpreserve-symlinkssignaldependencieseditorwebes-abstractfseventsES2016phone
1.0.0

1 year ago