Files
web/packages/common/dataCache/DistributedCache/generateCacheKey/getPrefix.ts
Anton Gunnarsson 048a477e52 Merged in feat/common-package (pull request #2333)
feat: Add common package

* Add isEdge, safeTry and dataCache to new common package

* Add eslint and move prettier config

* Fix yarn lock

* Clean up tests

* Add lint-staged config to common

* Add missing dependencies


Approved-by: Joakim Jäderberg
2025-06-11 13:08:39 +00:00

42 lines
1.0 KiB
TypeScript

import { env } from "../../../env/server"
import { getBranchPrefix } from "./getBranchPrefix"
export function getPrefix(options: {
includeGitHashInKey: boolean
includeBranchPrefix: boolean
}): string {
const prefixTokens = []
const includeGitHashInKey = options.includeGitHashInKey
const includeBranchPrefix = options.includeBranchPrefix
if (process.env.NODE_ENV === "development") {
const devPrefix = process.env.USER || process.env.USERNAME || "dev"
return `${devPrefix}`
}
if (includeGitHashInKey) {
const gitSha = env.GIT_SHA?.trim().substring(0, 7)
if (!gitSha) {
throw new Error("Unable to getPrefix, GIT_SHA must be set")
}
prefixTokens.push(gitSha)
}
if (includeBranchPrefix) {
const branch = env.BRANCH?.trim()
if (!branch) {
throw new Error("Unable to getPrefix, BRANCH must be set")
}
const branchPrefix = getBranchPrefix(branch)
if (branchPrefix) {
prefixTokens.push(branchPrefix)
}
}
return prefixTokens.join(":")
}