id = "deployctl" name = "deployctl" homepage = "https://github.com/denoland/deployctl" description = "deployctl is the command line tool for Deno Deploy." icon = "theSVG:deno/light" executables = ["deployctl"] [dotfiles] # deployctl is configured per project (deno.json / --project flags). The only # thing it keeps in the user's home directory is the access token and the # update-check timestamp. paths = [] # The update checker's cache, written next to the credentials by # `fetchReleases()` in src/utils/info.ts. Nothing a user wrote. exclude = ["~/.deno/deployctl/update.json"] # src/utils/info.ts `getConfigPaths()`: # homeDir = windows ? USERPROFILE : HOME # configDir = join(homeDir, ".deno", "deployctl") # credentialsPath = join(configDir, "credentials.json") # and src/utils/token_storage/fs.ts writes `{"token": ...}` there with mode # 0600, refusing to read it back if the mode ever changes. # https://github.com/denoland/deployctl/blob/main/src/utils/info.ts # https://github.com/denoland/deployctl/blob/main/src/utils/token_storage/fs.ts # # USERPROFILE is the same location as `~`, so there is no second Windows # spelling to list. # # On macOS there is no file at all: src/utils/token_storage.ts picks # token_storage/darwin.ts, which puts the token in the login Keychain, and only # falls back to memory. A consumer resolving this path on a Mac simply finds # nothing, which is the right answer. secret = ["~/.deno/deployctl/credentials.json"] [commands] format = 1 label = "Deploy to Deno Deploy" description = "Deploy an entrypoint with deployctl deploy. The API token option is left out; use the DENO_DEPLOY_TOKEN environment variable." quality = "ai-draft" base = "fig:deployctl" parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = true, short_bundles = false } [[commands.source]] id = "fig" kind = "completion" url = "https://github.com/withfig/autocomplete/blob/master/src/deployctl.ts" license = "MIT" [[commands.subcommand]] path = ["deploy"] label = "Deploy a script" description = "Uploads the entrypoint and static files from the current directory." [[commands.subcommand.source]] id = "fig" kind = "completion" url = "https://github.com/withfig/autocomplete/blob/master/src/deployctl.ts" license = "MIT" [[commands.subcommand.field]] id = "project" label = "Project" type = "string" option = ["--project", "-p"] sources = ["fig"] [[commands.subcommand.field]] id = "entrypoint" label = "Entrypoint" type = "path" position = 0 path = { kind = "file", role = "input" } sources = ["fig"] [[commands.subcommand.field]] id = "prod" label = "Production deployment" type = "boolean" option = ["--prod"] sources = ["fig"] [[commands.subcommand.field]] id = "no_static" label = "Do not include static files" type = "boolean" option = ["--no-static"] sources = ["fig"] [[commands.subcommand.field]] id = "include" label = "Include pattern" type = "string" option = ["--include"] sources = ["fig"] [[commands.subcommand.field]] id = "exclude" label = "Exclude pattern" type = "string" option = ["--exclude"] sources = ["fig"] [[commands.subcommand.task]] id = "preview" label = "Preview deployment" fields = ["project", "entrypoint"] required = ["project", "entrypoint"] [[commands.subcommand.task]] id = "prod" label = "Production deployment" set = { prod = [true] } fields = ["project", "entrypoint", "prod"] required = ["project", "entrypoint"] [[commands.subcommand.group]] id = "basic" label = "Basic" fields = ["project", "entrypoint", "prod"] [[commands.subcommand.group]] id = "advanced" label = "Advanced" fields = ["no_static", "include", "exclude"]