UNPKG

@sentry/cli

Version:

A command line utility to work with Sentry. https://docs.sentry.io/hosted/learn/cli/

231 lines (230 loc) 7.66 kB
/** * TypeScript type definitions for @sentry/cli */ /** * Options for configuring the Sentry CLI */ export type SentryCliOptions = { /** * The URL of the Sentry instance you are connecting to. Defaults to https://sentry.io/. * This value will update `SENTRY_URL` env variable. */ url?: string; /** * Authentication token for HTTP requests to Sentry. * This value will update `SENTRY_AUTH_TOKEN` env variable. */ authToken?: string; /** * Sentry DSN. * This value will update `SENTRY_DSN` env variable. */ dsn?: string; /** * Organization slug. * This value will update `SENTRY_ORG` env variable. */ org?: string; /** * Project slug. * This value will update `SENTRY_PROJECT` env variable. */ project?: string; /** * Version control system remote name. * This value will update `SENTRY_VCS_REMOTE` env variable. */ vcsRemote?: string; /** * If true, all logs are suppressed. */ silent?: boolean; /** * A header added to every outgoing network request. * This value will update `CUSTOM_HEADER` env variable. */ customHeader?: string; /** * Headers added to every outgoing network request. * This value does not set any env variable, and is overridden by `customHeader`. */ headers?: Record<string, string>; }; /** * Custom upload-sourcemaps options for a particular `include` path. In this * case `paths` takes the place of `include` in the options so as to make it * clear that this is not recursive. */ export type SourceMapsPathDescriptor = Omit<SentryCliUploadSourceMapsOptions, 'include'> & { paths: string[]; }; /** * Options for uploading source maps */ export type SentryCliUploadSourceMapsOptions = { /** * One or more paths that Sentry CLI should scan recursively for sources. * It will upload all .map files and match associated .js files. */ include: Array<string | SourceMapsPathDescriptor>; /** * One or more paths to ignore during upload. Overrides entries in ignoreFile file. */ ignore?: string[]; /** * Path to a file containing list of files/directories to ignore. * Can point to .gitignore or anything with same format. */ ignoreFile?: string | null; /** * Enables rewriting of matching sourcemaps so that indexed maps are flattened * and missing sources are inlined if possible. Defaults to `true`. */ rewrite?: boolean; /** * This prevents the automatic detection of sourcemap references. */ sourceMapReference?: boolean; /** * Enables files gzip decompression prior to uploading. Defaults to `false`. */ decompress?: boolean; /** * Enable artifacts deduplication prior to uploading. This will skip uploading * any artifacts that are already present on the server. Defaults to `true`. */ dedupe?: boolean; /** * When paired with the rewrite option this will remove a prefix from uploaded files. * For instance you can use this to remove a path that is build machine specific. */ stripPrefix?: string[]; /** * When paired with the rewrite option this will add ~ to the stripPrefix array. */ stripCommonPrefix?: boolean; /** * The projects to upload the sourcemaps to. If not provided, the sourcemaps will be uploaded to the default project. */ projects?: string[]; /** * This attempts sourcemap validation before upload when rewriting is not enabled. * It will spot a variety of issues with source maps and cancel the upload if any are found. * This is not enabled by default as this can cause false positives. */ validate?: boolean; /** * This sets an URL prefix at the beginning of all files. * This defaults to `~/` but you might want to set this to the full URL. * This is also useful if your files are stored in a sub folder. eg: url-prefix `~/static/js`. */ urlPrefix?: string; /** * This sets an URL suffix at the end of all files. * Useful for appending query parameters. */ urlSuffix?: string; /** * This sets the file extensions to be considered. * By default the following file extensions are processed: js, map, jsbundle and bundle. */ ext?: string[]; /** * Unique identifier for the distribution, used to further segment your release. * Usually your build number. */ dist?: string; }; /** * Options for creating a new deployment */ export type SentryCliNewDeployOptions = { /** * Environment for this release. Values that make sense here would be `production` or `staging`. */ env: string; /** * Deployment start time in Unix timestamp (in seconds) or ISO 8601 format. */ started?: number | string; /** * Deployment finish time in Unix timestamp (in seconds) or ISO 8601 format. */ finished?: number | string; /** * Deployment duration (in seconds). Can be used instead of started and finished. */ time?: number; /** * Human readable name for the deployment. */ name?: string; /** * URL that points to the deployment. */ url?: string; /** * The projects to deploy the release to. If not provided, the deployment will be created for all projects associated with the release. */ projects?: string[]; }; /** * Options for setting commits on a release */ export type SentryCliCommitsOptions = { /** * Automatically choose the associated commit (uses the current commit). Overrides other setCommit options. */ auto?: boolean; /** * The full repo name as defined in Sentry. Required if auto option is not true. */ repo?: string; /** * The current (last) commit in the release. Required if auto option is not true. */ commit?: string; /** * The commit before the beginning of this release (in other words, the last commit of the previous release). * If omitted, this will default to the last commit of the previous release in Sentry. * If there was no previous release, the last 10 commits will be used. */ previousCommit?: string; /** * When the flag is set and the previous release commit was not found in the repository, will create a release * with the default commits count(or the one specified with `--initial-depth`) instead of failing the command. */ ignoreMissing?: boolean; /** * When the flag is set, command will not fail and just exit silently if no new commits for a given release have been found. */ ignoreEmpty?: boolean; }; /** * Options for injecting debug IDs into source files and source maps */ export type SentryCliInjectOptions = { /** * One or more paths that Sentry CLI should scan recursively for JavaScript source files. */ paths: string[]; /** * One or more paths to ignore during injection. Overrides entries in ignoreFile file. * Defaults to ['node_modules'] if neither ignore nor ignoreFile is specified. */ ignore?: string[]; /** * Path to a file containing list of files/directories to ignore. * Can point to .gitignore or anything with the same format. */ ignoreFile?: string; /** * Set the file extensions of JavaScript files that are considered for injection. * This overrides the default extensions (js, cjs, mjs). */ ext?: string[]; /** * Don't modify files on disk. */ dryRun?: boolean; };