Dashboard › cli › Distillation
ea7b5d13-fd08-4521-9f39-589622bed0e1["lore_tm_v1_4msN36QuhjJo_c5qDCNdRuld9WWUtcnOTB6-2nmM6MQ"]
stripTrailingSep(p) in packages/cli/src/lib/binary.ts to strip a trailing path separator only when p.length > 1, never from a bare root like /, so PATH entries such as ~/.local/bin/ and ~/.local/bin compare equally.sentry cli upgrade nightly # Switch to nightly channel and update.sentry cli upgrade 0.5.0 # Install a specific stable version.EBUSY on Windows because Defender/SmartScreen scans and locks them after the file handle closes; spawn retries use SPAWN_MAX_ATTEMPTS = 5 and SPAWN_RETRY_BASE_MS = 500, with delay calculated as attempt * base.isEbusyError(error) recognizes an Error whose NodeJS.ErrnoException.code is "EBUSY".isEnoentSpawnError(error) recognizes either standard code === "ENOENT" or Bunβs message form containing Executable not found in $PATH.runSetupOnNewBinary() conditionally adds --install, --ensure-auth-scopes, and --no-agent-skills according to the corresponding setup options.~/.sentry/bin curl installations are relocated to the XDG directory.getPlatformBinaryName() follows sentry-<os>-<arch>[-musl][.exe]: OS is darwin, windows, or linux; architecture is arm64 only when process.arch === "arm64" and otherwise x64; -musl is added when isMusl() is true; .exe is added on Windows. Examples include sentry-linux-x64 and sentry-linux-arm64-musl.https://api.github.com/repos/${source.githubRepo}; a failed fetch reports Failed to fetch from GitHub: HTTP ${response.status}.compareVersions(a, b) now uses semver.compare rather than Bun.semver.order; it correctly compares stable X.Y.Z and nightly X.Y.Z-dev.<unix-seconds> versions, including numeric prerelease identifiers, and returns 1, -1, or 0.ChainStepResult is either { ok: true; digest: string; size: number } or a failure with one of three exact reasons: "version-mismatch" carrying expected and actual: string | null; "missing-layer" carrying layerName; or "size-exceeded" carrying layerSize and budget.action: downgrade ? "downgraded" : "upgraded" and includes currentVersion, targetVersion, channel, method, forced, warnings, and changelog; it includes offline: true only when offline.