Skip to content

Commit 59ff8c1

Browse files
authored
chore: add project id source (#8983)
Add `projectIDSource` to analytics event.
1 parent 10d5a8f commit 59ff8c1

File tree

1 file changed

+25
-8
lines changed
  • packages/payload/src/utilities/telemetry

1 file changed

+25
-8
lines changed

Diff for: packages/payload/src/utilities/telemetry/index.ts

+25-8
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ export type BaseEvent = {
2626
nodeVersion: string
2727
payloadVersion: string
2828
projectID: string
29+
projectIDSource: 'cwd' | 'git' | 'packageJSON' | 'serverURL'
2930
uploadAdapters: string[]
3031
}
3132

@@ -49,14 +50,16 @@ export const sendEvent = async ({ event, payload }: Args): Promise<void> => {
4950

5051
// Only generate the base event once
5152
if (!baseEvent) {
53+
const { projectID, source: projectIDSource } = getProjectID(payload, packageJSON)
5254
baseEvent = {
5355
ciName: ciInfo.isCI ? ciInfo.name : null,
5456
envID: getEnvID(),
5557
isCI: ciInfo.isCI,
5658
nodeEnv: process.env.NODE_ENV || 'development',
5759
nodeVersion: process.version,
5860
payloadVersion: getPayloadVersion(packageJSON),
59-
projectID: getProjectID(payload, packageJSON),
61+
projectID,
62+
projectIDSource,
6063
...getLocalizationInfo(payload),
6164
dbAdapter: payload.db.name,
6265
emailAdapter: payload.email?.name || null,
@@ -104,13 +107,27 @@ const getEnvID = (): string => {
104107
return generated
105108
}
106109

107-
const getProjectID = (payload: Payload, packageJSON: PackageJSON): string => {
108-
const projectID =
109-
getGitID(payload) ||
110-
getPackageJSONID(payload, packageJSON) ||
111-
payload.config.serverURL ||
112-
process.cwd()
113-
return oneWayHash(projectID, payload.secret)
110+
const getProjectID = (
111+
payload: Payload,
112+
packageJSON: PackageJSON,
113+
): { projectID: string; source: BaseEvent['projectIDSource'] } => {
114+
const gitID = getGitID(payload)
115+
if (gitID) {
116+
return { projectID: oneWayHash(gitID, payload.secret), source: 'git' }
117+
}
118+
119+
const packageJSONID = getPackageJSONID(payload, packageJSON)
120+
if (packageJSONID) {
121+
return { projectID: oneWayHash(packageJSONID, payload.secret), source: 'packageJSON' }
122+
}
123+
124+
const serverURL = payload.config.serverURL
125+
if (serverURL) {
126+
return { projectID: oneWayHash(serverURL, payload.secret), source: 'serverURL' }
127+
}
128+
129+
const cwd = process.cwd()
130+
return { projectID: oneWayHash(cwd, payload.secret), source: 'cwd' }
114131
}
115132

116133
const getGitID = (payload: Payload) => {

0 commit comments

Comments
 (0)