Files
iris-context/commands/ops/firebase.go
VERSE ebde9ba68f refactor(commands): separate commands and its core into two folders (#32)
- I think it would be better if one for commands only, one for the spec
handling core logic so people won't be confused by the core logic inside
the commands folder (cleaner I guess)
- Regen docs
2026-07-05 11:27:30 +07:00

107 lines
8.1 KiB
Go

package ops
import (
"github.com/versenilvis/iris/spec"
)
func init() {
spec.Register(&spec.Spec{
Name: "firebase",
Description: "ProjectAlias",
Subcommands: []spec.Subcommand{
{Name: "appdistribution:distribute", Description: "Upload a distribution"},
{Name: "apps:android:sha:create", Description: "Add a SHA certificate hash for a given app id"},
{Name: "apps:android:sha:delete", Description: "Delete a SHA certificate hash for a given app id"},
{Name: "apps:create", Description: "Create a new Firebase app"},
{Name: "auth:export", Description: "Export accounts from your Firebase project into a data file"},
{Name: "auth:import", Description: "Import users into your Firebase project from a data file(.csv or .json)"},
{Name: "database:get", Description: "Fetch and print JSON data at the specified path"},
{Name: "database:instances:create", Description: "Create a realtime database instance"},
{Name: "database:instances:list", Description: "List realtime database instances, optionally filtered by a specified location"},
{Name: "database:profile", Description: "Profile the Realtime Database and generate a usage report"},
{Name: "database:push", Description: "Add a new JSON object to a list of data in your Firebase"},
{Name: "database:remove", Description: "Remove data from your Firebase at the specified path"},
{Name: "database:set", Description: "Store JSON data at the specified path via STDIN, arg, or file"},
{Name: "database:settings:get", Description: "Store JSON data at the specified path via STDIN, arg, or file"},
{Name: "database:settings:set", Description: "Set the realtime database setting at path"},
{Name: "database:update", Description: "Update some of the keys for the defined path in your Firebase"},
{Name: "deploy", Description: "Deploy code and assets to your Firebase project"},
{Name: "emulators:export", Description: "Export data from running emulators"},
{Name: "emulators:start", Description: "Start the local Firebase emulators"},
{Name: "experimental:functions:shell", Description: "Launch full Node shell with emulated functions"},
{Name: "ext:configure", Description: "Configure an existing extension instance"},
{Name: "ext:info", Description: "List all the extensions that are installed in your Firebase project"},
{Name: "ext:uninstall", Description: "Uninstall an extension that is installed in your Firebase project by instance ID"},
{Name: "ext:update", Description: "Update an existing extension instance to the latest version"},
{Name: "firestore:delete", Description: "Delete data from Cloud Firestore"},
{Name: "firestore:indexes", Description: "List indexes in your project's Cloud Firestore database"},
{Name: "functions:config:clone", Description: "Clone environment config from another project"},
{Name: "functions:config:get", Description: "Fetch environment config stored at the given path"},
{Name: "functions:config:set", Description: "Set environment config with key=value syntax"},
{Name: "functions:log", Description: "Read logs from deployed functions"},
{Name: "functions:shell", Description: "Launch full Node shell with emulated functions"},
{Name: "help", Description: "Display help information"},
{Name: "hosting:channel:create", Description: "Create a Firebase Hosting channel"},
{Name: "hosting:channel:delete", Description: "Delete a Firebase Hosting channel"},
{Name: "hosting:channel:deploy", Description: "Deploy to a specific Firebase Hosting channel"},
{Name: "hosting:channel:list", Description: "List all Firebase Hosting channels for your project"},
{Name: "hosting:channel:open", Description: "Opens the URL for a Firebase Hosting channel"},
{Name: "hosting:clone", Description: "Clone a version from one site to another"},
{Name: "hosting:disable", Description: "Stop serving web traffic to your Firebase Hosting site"},
{Name: "hosting:sites:create", Description: "Create a Firebase Hosting site"},
{Name: "hosting:sites:delete", Description: "Delete a Firebase Hosting site"},
{Name: "hosting:sites:get", Description: "Print info about a Firebase Hosting site"},
{Name: "hosting:sites:list", Description: "List Firebase Hosting sites"},
{Name: "init", Description: "Setup a Firebase project in the current directory"},
{Name: "login", Description: "Log the CLI into Firebase"},
{Name: "login:add", Description: "Authorize the CLI for an additional account"},
{Name: "login:ci", Description: "Generate an access token for use in non-interactive environments"},
{Name: "login:list", Description: "List authorized CLI accounts"},
{Name: "login:use", Description: "Set the default account to use for this project directory"},
{Name: "logout", Description: "Log the CLI out of Firebase"},
},
Options: []spec.Option{
{Name: "--app", Description: "The app id of your Firebase app"},
{Name: "--release-notes", Description: "Release notes to include with this distribution"},
{Name: "--release-notes-file", Description: "Path to file with release notes to include with this distribution"},
{Name: "--testers", Description: "A comma separated list of tester emails to distribute to"},
{Name: "--testers-file", Description: "Path to file with a comma separated list of tester emails to distribute to"},
{Name: "--groups", Description: "A comma separated list of group aliases to distribute to"},
{Name: "--groups-file", Description: "Path to file with a comma separated list of group aliases to distribute to"},
{Name: "-h", Description: "Output usage information"},
{Name: "-a", Description: "Required package name for the Android app"},
{Name: "-b", Description: "Required bundle id for the iOS app"},
{Name: "-s", Description: "(optional) app store id for the iOS app"},
{Name: "--format", Description: "Format of exported data (csv, json). Ignored if [dataFile] has format extension"},
{Name: "--hash-algo", Description: "Specify the hash algorithm used in password for these accounts"},
{Name: "--hash-key", Description: "Specify the key used in hash algorithm"},
{Name: "--salt-separator", Description: "Specify how many rounds for hash calculation"},
{Name: "--mem-cost", Description: "Specify the parallelization for standard scrypt"},
{Name: "--block-size", Description: "Specify the block size (normally is 8) for standard scrypt"},
{Name: "--dk-len", Description: "Specify derived key length for standard scrypt"},
{Name: "--hash-input-order", Description: "Output usage information"},
{Name: "-l", Description: "(optional) location for the database instance, defaults to us-central1"},
{Name: "-o", Description: "Save the output to the specified file"},
{Name: "-d", Description: "Collect database usage information for the specified number of seconds"},
{Name: "--raw", Description: "Output the raw stats collected as newline delimited json"},
{Name: "--no-collapse", Description: "Prevent collapsing similar paths into $wildcard locations"},
{Name: "-i", Description: "Output usage information"},
{Name: "--instance", Description: "Output usage information"},
{Name: "-y", Description: "Pass this option to bypass confirmation prompt"},
{Name: "-p", Description: "Override the Hosting public directory specified in firebase.json"},
{Name: "-m", Description: "An optional message describing this deploy"},
{Name: "-f", Description: "Output usage information"},
{Name: "--only", Description: "Import emulator data from a previous export (see emulators:export)"},
{Name: "--export-on-exit", Description: "Run the Emulator UI"},
{Name: "--params", Description: "Path of params file with .env format"},
{Name: "--markdown", Description: "Output info in Markdown suitable for constructing a README file"},
{Name: "-r", Description: "No confirmation. Otherwise, a confirmation prompt will appear"},
{Name: "--pretty", Description: "Output usage information"},
{Name: "--from", Description: "The project from which to clone configuration"},
{Name: "--except", Description: "A comma-separated list of keys to not clone"},
{Name: "--open", Description: "Open logs page in web browser"},
{Name: "--inspect-functions", Description: "Output usage information"},
},
})
}