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
42 lines
1.0 KiB
TypeScript
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(":")
|
|
}
|