payload 3.0.0-alpha.65 → 3.0.0-alpha.67

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (207) hide show
  1. package/dist/admin/RichText.d.ts +3 -0
  2. package/dist/admin/RichText.d.ts.map +1 -1
  3. package/dist/admin/RichText.js.map +1 -1
  4. package/dist/admin/elements/Tab.d.ts +3 -0
  5. package/dist/admin/elements/Tab.d.ts.map +1 -1
  6. package/dist/admin/elements/Tab.js.map +1 -1
  7. package/dist/admin/types.d.ts +1 -1
  8. package/dist/admin/types.d.ts.map +1 -1
  9. package/dist/admin/types.js.map +1 -1
  10. package/dist/auth/getAccessResults.js +1 -1
  11. package/dist/auth/getAccessResults.js.map +1 -1
  12. package/dist/auth/operations/forgotPassword.js +3 -2
  13. package/dist/auth/operations/forgotPassword.js.map +1 -1
  14. package/dist/auth/operations/login.d.ts.map +1 -1
  15. package/dist/auth/operations/login.js +3 -0
  16. package/dist/auth/operations/login.js.map +1 -1
  17. package/dist/auth/sendVerificationEmail.js +3 -2
  18. package/dist/auth/sendVerificationEmail.js.map +1 -1
  19. package/dist/bin/loader/index.d.ts.map +1 -1
  20. package/dist/bin/loader/index.js +2 -1
  21. package/dist/bin/loader/index.js.map +1 -1
  22. package/dist/bin/loader/resolveOriginalPath.d.ts +10 -0
  23. package/dist/bin/loader/resolveOriginalPath.d.ts.map +1 -0
  24. package/dist/bin/loader/resolveOriginalPath.js +32 -0
  25. package/dist/bin/loader/resolveOriginalPath.js.map +1 -0
  26. package/dist/collections/config/sanitize.d.ts +2 -3
  27. package/dist/collections/config/sanitize.d.ts.map +1 -1
  28. package/dist/collections/config/sanitize.js +7 -4
  29. package/dist/collections/config/sanitize.js.map +1 -1
  30. package/dist/collections/config/schema.d.ts.map +1 -1
  31. package/dist/collections/config/schema.js +1 -0
  32. package/dist/collections/config/schema.js.map +1 -1
  33. package/dist/config/build.d.ts.map +1 -1
  34. package/dist/config/build.js +3 -4
  35. package/dist/config/build.js.map +1 -1
  36. package/dist/config/sanitize.d.ts +1 -1
  37. package/dist/config/sanitize.d.ts.map +1 -1
  38. package/dist/config/sanitize.js +28 -7
  39. package/dist/config/sanitize.js.map +1 -1
  40. package/dist/config/schema.js +1 -1
  41. package/dist/config/schema.js.map +1 -1
  42. package/dist/config/types.d.ts +11 -2
  43. package/dist/config/types.d.ts.map +1 -1
  44. package/dist/config/types.js.map +1 -1
  45. package/dist/database/queryValidation/validateQueryPaths.js +1 -1
  46. package/dist/database/queryValidation/validateQueryPaths.js.map +1 -1
  47. package/dist/email/consoleEmailAdapter.d.ts.map +1 -1
  48. package/dist/email/consoleEmailAdapter.js +1 -0
  49. package/dist/email/consoleEmailAdapter.js.map +1 -1
  50. package/dist/email/types.d.ts +1 -0
  51. package/dist/email/types.d.ts.map +1 -1
  52. package/dist/email/types.js.map +1 -1
  53. package/dist/errors/APIError.d.ts +2 -2
  54. package/dist/errors/APIError.d.ts.map +1 -1
  55. package/dist/errors/APIError.js +1 -2
  56. package/dist/errors/APIError.js.map +1 -1
  57. package/dist/errors/AuthenticationError.d.ts +2 -3
  58. package/dist/errors/AuthenticationError.d.ts.map +1 -1
  59. package/dist/errors/AuthenticationError.js +2 -3
  60. package/dist/errors/AuthenticationError.js.map +1 -1
  61. package/dist/errors/DuplicateCollection.d.ts +2 -3
  62. package/dist/errors/DuplicateCollection.d.ts.map +1 -1
  63. package/dist/errors/DuplicateCollection.js +2 -3
  64. package/dist/errors/DuplicateCollection.js.map +1 -1
  65. package/dist/errors/DuplicateFieldName.d.ts +2 -3
  66. package/dist/errors/DuplicateFieldName.d.ts.map +1 -1
  67. package/dist/errors/DuplicateFieldName.js +2 -3
  68. package/dist/errors/DuplicateFieldName.js.map +1 -1
  69. package/dist/errors/DuplicateGlobal.d.ts +2 -3
  70. package/dist/errors/DuplicateGlobal.d.ts.map +1 -1
  71. package/dist/errors/DuplicateGlobal.js +2 -3
  72. package/dist/errors/DuplicateGlobal.js.map +1 -1
  73. package/dist/errors/ErrorDeletingFile.d.ts +2 -3
  74. package/dist/errors/ErrorDeletingFile.d.ts.map +1 -1
  75. package/dist/errors/ErrorDeletingFile.js +2 -3
  76. package/dist/errors/ErrorDeletingFile.js.map +1 -1
  77. package/dist/errors/FileRetrievalError.d.ts +6 -0
  78. package/dist/errors/FileRetrievalError.d.ts.map +1 -0
  79. package/dist/errors/FileRetrievalError.js +13 -0
  80. package/dist/errors/FileRetrievalError.js.map +1 -0
  81. package/dist/errors/FileUploadError.d.ts +2 -3
  82. package/dist/errors/FileUploadError.d.ts.map +1 -1
  83. package/dist/errors/FileUploadError.js +2 -3
  84. package/dist/errors/FileUploadError.js.map +1 -1
  85. package/dist/errors/Forbidden.d.ts +2 -3
  86. package/dist/errors/Forbidden.d.ts.map +1 -1
  87. package/dist/errors/Forbidden.js +2 -3
  88. package/dist/errors/Forbidden.js.map +1 -1
  89. package/dist/errors/InvalidConfiguration.d.ts +2 -3
  90. package/dist/errors/InvalidConfiguration.d.ts.map +1 -1
  91. package/dist/errors/InvalidConfiguration.js +2 -3
  92. package/dist/errors/InvalidConfiguration.js.map +1 -1
  93. package/dist/errors/InvalidFieldName.d.ts +2 -3
  94. package/dist/errors/InvalidFieldName.d.ts.map +1 -1
  95. package/dist/errors/InvalidFieldName.js +2 -3
  96. package/dist/errors/InvalidFieldName.js.map +1 -1
  97. package/dist/errors/InvalidFieldRelationship.d.ts +2 -3
  98. package/dist/errors/InvalidFieldRelationship.d.ts.map +1 -1
  99. package/dist/errors/InvalidFieldRelationship.js +2 -3
  100. package/dist/errors/InvalidFieldRelationship.js.map +1 -1
  101. package/dist/errors/InvalidSchema.d.ts +2 -3
  102. package/dist/errors/InvalidSchema.d.ts.map +1 -1
  103. package/dist/errors/InvalidSchema.js +2 -3
  104. package/dist/errors/InvalidSchema.js.map +1 -1
  105. package/dist/errors/LockedAuth.d.ts +2 -3
  106. package/dist/errors/LockedAuth.d.ts.map +1 -1
  107. package/dist/errors/LockedAuth.js +2 -3
  108. package/dist/errors/LockedAuth.js.map +1 -1
  109. package/dist/errors/MissingCollectionLabel.d.ts +2 -3
  110. package/dist/errors/MissingCollectionLabel.d.ts.map +1 -1
  111. package/dist/errors/MissingCollectionLabel.js +2 -3
  112. package/dist/errors/MissingCollectionLabel.js.map +1 -1
  113. package/dist/errors/MissingEditorProp.d.ts +2 -3
  114. package/dist/errors/MissingEditorProp.d.ts.map +1 -1
  115. package/dist/errors/MissingEditorProp.js +2 -3
  116. package/dist/errors/MissingEditorProp.js.map +1 -1
  117. package/dist/errors/MissingFieldInputOptions.d.ts +2 -3
  118. package/dist/errors/MissingFieldInputOptions.d.ts.map +1 -1
  119. package/dist/errors/MissingFieldInputOptions.js +2 -3
  120. package/dist/errors/MissingFieldInputOptions.js.map +1 -1
  121. package/dist/errors/MissingFieldType.d.ts +2 -3
  122. package/dist/errors/MissingFieldType.d.ts.map +1 -1
  123. package/dist/errors/MissingFieldType.js +2 -3
  124. package/dist/errors/MissingFieldType.js.map +1 -1
  125. package/dist/errors/MissingFile.d.ts +2 -3
  126. package/dist/errors/MissingFile.d.ts.map +1 -1
  127. package/dist/errors/MissingFile.js +2 -3
  128. package/dist/errors/MissingFile.js.map +1 -1
  129. package/dist/errors/NotFound.d.ts +2 -3
  130. package/dist/errors/NotFound.d.ts.map +1 -1
  131. package/dist/errors/NotFound.js +2 -3
  132. package/dist/errors/NotFound.js.map +1 -1
  133. package/dist/errors/QueryError.d.ts +2 -3
  134. package/dist/errors/QueryError.d.ts.map +1 -1
  135. package/dist/errors/QueryError.js +2 -3
  136. package/dist/errors/QueryError.js.map +1 -1
  137. package/dist/errors/TimestampsRequired.d.ts +2 -3
  138. package/dist/errors/TimestampsRequired.d.ts.map +1 -1
  139. package/dist/errors/TimestampsRequired.js +2 -3
  140. package/dist/errors/TimestampsRequired.js.map +1 -1
  141. package/dist/errors/UnathorizedError.d.ts +2 -3
  142. package/dist/errors/UnathorizedError.d.ts.map +1 -1
  143. package/dist/errors/UnathorizedError.js +2 -3
  144. package/dist/errors/UnathorizedError.js.map +1 -1
  145. package/dist/errors/ValidationError.d.ts +2 -3
  146. package/dist/errors/ValidationError.d.ts.map +1 -1
  147. package/dist/errors/ValidationError.js +2 -3
  148. package/dist/errors/ValidationError.js.map +1 -1
  149. package/dist/errors/index.d.ts +20 -19
  150. package/dist/errors/index.d.ts.map +1 -1
  151. package/dist/errors/index.js +20 -19
  152. package/dist/errors/index.js.map +1 -1
  153. package/dist/exports/i18n.d.ts +2 -0
  154. package/dist/exports/i18n.d.ts.map +1 -0
  155. package/dist/exports/i18n.js +3 -0
  156. package/dist/exports/i18n.js.map +1 -0
  157. package/dist/fields/config/client.d.ts +1 -1
  158. package/dist/fields/config/sanitize.d.ts +7 -2
  159. package/dist/fields/config/sanitize.d.ts.map +1 -1
  160. package/dist/fields/config/sanitize.js +56 -45
  161. package/dist/fields/config/sanitize.js.map +1 -1
  162. package/dist/fields/config/sanitize.spec.js +76 -85
  163. package/dist/fields/config/sanitize.spec.js.map +1 -1
  164. package/dist/fields/config/types.d.ts +4 -3
  165. package/dist/fields/config/types.d.ts.map +1 -1
  166. package/dist/fields/config/types.js.map +1 -1
  167. package/dist/fields/hooks/afterRead/promise.d.ts.map +1 -1
  168. package/dist/fields/hooks/afterRead/promise.js +3 -0
  169. package/dist/fields/hooks/afterRead/promise.js.map +1 -1
  170. package/dist/fields/validations.d.ts.map +1 -1
  171. package/dist/fields/validations.js +3 -0
  172. package/dist/fields/validations.js.map +1 -1
  173. package/dist/globals/config/sanitize.d.ts +2 -3
  174. package/dist/globals/config/sanitize.d.ts.map +1 -1
  175. package/dist/globals/config/sanitize.js +36 -35
  176. package/dist/globals/config/sanitize.js.map +1 -1
  177. package/dist/preferences/operations/delete.js +2 -2
  178. package/dist/preferences/operations/delete.js.map +1 -1
  179. package/dist/preferences/operations/update.js +1 -1
  180. package/dist/preferences/operations/update.js.map +1 -1
  181. package/dist/uploads/generateFileData.js +2 -2
  182. package/dist/uploads/generateFileData.js.map +1 -1
  183. package/dist/uploads/getExternalFile.d.ts.map +1 -1
  184. package/dist/uploads/getExternalFile.js +5 -2
  185. package/dist/uploads/getExternalFile.js.map +1 -1
  186. package/dist/uploads/types.d.ts +4 -0
  187. package/dist/uploads/types.d.ts.map +1 -1
  188. package/dist/uploads/types.js.map +1 -1
  189. package/dist/utilities/checkDuplicateCollections.js +1 -1
  190. package/dist/utilities/checkDuplicateCollections.js.map +1 -1
  191. package/dist/utilities/configToJSONSchema.d.ts.map +1 -1
  192. package/dist/utilities/configToJSONSchema.js +3 -0
  193. package/dist/utilities/configToJSONSchema.js.map +1 -1
  194. package/dist/utilities/configToJSONSchema.spec.js +2 -2
  195. package/dist/utilities/configToJSONSchema.spec.js.map +1 -1
  196. package/dist/utilities/createLocalReq.d.ts.map +1 -1
  197. package/dist/utilities/createLocalReq.js +4 -2
  198. package/dist/utilities/createLocalReq.js.map +1 -1
  199. package/dist/utilities/importWithoutClientFiles.js +1 -1
  200. package/dist/utilities/importWithoutClientFiles.js.map +1 -1
  201. package/dist/utilities/parseCookies.js +1 -1
  202. package/dist/utilities/parseCookies.js.map +1 -1
  203. package/dist/utilities/telemetry/index.d.ts +7 -1
  204. package/dist/utilities/telemetry/index.d.ts.map +1 -1
  205. package/dist/utilities/telemetry/index.js +41 -19
  206. package/dist/utilities/telemetry/index.js.map +1 -1
  207. package/package.json +67 -70
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utilities/createLocalReq.ts"],"sourcesContent":["import type { User } from '../auth/types.js'\nimport type { Payload, RequestContext } from '../index.js'\nimport type { PayloadRequestWithData } from '../types/index.js'\n\nimport { getDataLoader } from '../collections/dataloader.js'\nimport { getLocalI18n } from '../translations/getLocalI18n.js'\n\nfunction getRequestContext(\n req: PayloadRequestWithData = { context: null } as PayloadRequestWithData,\n context: RequestContext = {},\n): RequestContext {\n if (req.context) {\n if (Object.keys(req.context).length === 0 && req.context.constructor === Object) {\n // if req.context is `{}` avoid unnecessary spread\n return context\n } else {\n return { ...req.context, ...context }\n }\n } else {\n return context\n }\n}\n\nconst attachFakeURLProperties = (req: PayloadRequestWithData) => {\n /**\n * *NOTE*\n * If no URL is provided, the local API was called directly outside\n * the context of a request. Therefore we create a fake URL object.\n * `ts-ignore` is used below for properties that are 'read-only'\n * since they do not exist yet we can safely ignore the error.\n */\n let urlObject\n\n function getURLObject() {\n if (urlObject) return urlObject\n const urlToUse = req?.url || req.payload.config?.serverURL || 'http://localhost'\n try {\n urlObject = new URL(urlToUse)\n } catch (error) {\n urlObject = new URL('http://localhost')\n }\n\n return urlObject\n }\n\n if (!req.host) req.host = getURLObject().host\n if (!req.protocol) req.protocol = getURLObject().protocol\n if (!req.pathname) req.pathname = getURLObject().pathname\n // @ts-expect-error\n if (!req.searchParams) req.searchParams = getURLObject().searchParams\n // @ts-expect-error\n if (!req.origin) req.origin = getURLObject().origin\n // @ts-expect-error\n if (!req?.url) req.url = getURLObject().url\n}\n\ntype CreateLocalReq = (\n options: {\n context?: RequestContext\n fallbackLocale?: string\n locale?: string\n req?: PayloadRequestWithData\n user?: User\n },\n payload: Payload,\n) => Promise<PayloadRequestWithData>\nexport const createLocalReq: CreateLocalReq = async (\n { context, fallbackLocale, locale: localeArg, req = {} as PayloadRequestWithData, user },\n payload,\n) => {\n const i18n = req?.i18n || (await getLocalI18n({ config: payload.config }))\n\n if (payload.config?.localization) {\n const locale = localeArg === '*' ? 'all' : localeArg\n const defaultLocale = payload.config.localization.defaultLocale\n req.locale = locale || req?.locale || defaultLocale\n const fallbackLocaleFromConfig = payload.config.localization.locales.find(\n ({ code }) => req.locale === code,\n )?.fallbackLocale\n if (typeof fallbackLocale !== 'undefined') {\n req.fallbackLocale = fallbackLocale\n } else if (typeof req?.fallbackLocale === 'undefined') {\n req.fallbackLocale = fallbackLocaleFromConfig || defaultLocale\n }\n }\n\n req.context = getRequestContext(req, context)\n req.payloadAPI = req?.payloadAPI || 'local'\n req.payload = payload\n req.i18n = i18n\n req.t = i18n.t\n req.user = user || req?.user || null\n req.payloadDataLoader = req?.payloadDataLoader || getDataLoader(req)\n req.routeParams = req?.routeParams || {}\n req.query = req?.query || {}\n\n attachFakeURLProperties(req)\n\n return req\n}\n"],"names":["getDataLoader","getLocalI18n","getRequestContext","req","context","Object","keys","length","constructor","attachFakeURLProperties","urlObject","getURLObject","urlToUse","url","payload","config","serverURL","URL","error","host","protocol","pathname","searchParams","origin","createLocalReq","fallbackLocale","locale","localeArg","user","i18n","localization","defaultLocale","fallbackLocaleFromConfig","locales","find","code","payloadAPI","t","payloadDataLoader","routeParams","query"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
1
+ {"version":3,"sources":["../../src/utilities/createLocalReq.ts"],"sourcesContent":["import type { User } from '../auth/types.js'\nimport type { Payload, RequestContext } from '../index.js'\nimport type { PayloadRequestWithData } from '../types/index.js'\n\nimport { getDataLoader } from '../collections/dataloader.js'\nimport { getLocalI18n } from '../translations/getLocalI18n.js'\n\nfunction getRequestContext(\n req: PayloadRequestWithData = { context: null } as PayloadRequestWithData,\n context: RequestContext = {},\n): RequestContext {\n if (req.context) {\n if (Object.keys(req.context).length === 0 && req.context.constructor === Object) {\n // if req.context is `{}` avoid unnecessary spread\n return context\n } else {\n return { ...req.context, ...context }\n }\n } else {\n return context\n }\n}\n\nconst attachFakeURLProperties = (req: PayloadRequestWithData) => {\n /**\n * *NOTE*\n * If no URL is provided, the local API was called directly outside\n * the context of a request. Therefore we create a fake URL object.\n * `ts-expect-error` is used below for properties that are 'read-only'\n * since they do not exist yet we can safely ignore the error.\n */\n let urlObject\n\n function getURLObject() {\n if (urlObject) return urlObject\n const urlToUse = req?.url || req.payload.config?.serverURL || 'http://localhost'\n try {\n urlObject = new URL(urlToUse)\n } catch (error) {\n urlObject = new URL('http://localhost')\n }\n\n return urlObject\n }\n\n if (!req.host) req.host = getURLObject().host\n if (!req.protocol) req.protocol = getURLObject().protocol\n if (!req.pathname) req.pathname = getURLObject().pathname\n // @ts-expect-error\n if (!req.searchParams) req.searchParams = getURLObject().searchParams\n // @ts-expect-error\n if (!req.origin) req.origin = getURLObject().origin\n // @ts-expect-error\n if (!req?.url) req.url = getURLObject().href\n}\n\ntype CreateLocalReq = (\n options: {\n context?: RequestContext\n fallbackLocale?: string\n locale?: string\n req?: PayloadRequestWithData\n user?: User\n },\n payload: Payload,\n) => Promise<PayloadRequestWithData>\nexport const createLocalReq: CreateLocalReq = async (\n { context, fallbackLocale, locale: localeArg, req = {} as PayloadRequestWithData, user },\n payload,\n) => {\n const i18n = req?.i18n || (await getLocalI18n({ config: payload.config }))\n\n if (payload.config?.localization) {\n const locale = localeArg === '*' ? 'all' : localeArg\n const defaultLocale = payload.config.localization.defaultLocale\n req.locale = locale || req?.locale || defaultLocale\n const fallbackLocaleFromConfig = payload.config.localization.locales.find(\n ({ code }) => req.locale === code,\n )?.fallbackLocale\n if (typeof fallbackLocale !== 'undefined') {\n req.fallbackLocale = fallbackLocale\n } else if (typeof req?.fallbackLocale === 'undefined') {\n req.fallbackLocale = fallbackLocaleFromConfig || defaultLocale\n }\n }\n\n // @ts-expect-error\n if (!req.headers) req.headers = new Headers()\n req.context = getRequestContext(req, context)\n req.payloadAPI = req?.payloadAPI || 'local'\n req.payload = payload\n req.i18n = i18n\n req.t = i18n.t\n req.user = user || req?.user || null\n req.payloadDataLoader = req?.payloadDataLoader || getDataLoader(req)\n req.routeParams = req?.routeParams || {}\n req.query = req?.query || {}\n\n attachFakeURLProperties(req)\n\n return req\n}\n"],"names":["getDataLoader","getLocalI18n","getRequestContext","req","context","Object","keys","length","constructor","attachFakeURLProperties","urlObject","getURLObject","urlToUse","url","payload","config","serverURL","URL","error","host","protocol","pathname","searchParams","origin","href","createLocalReq","fallbackLocale","locale","localeArg","user","i18n","localization","defaultLocale","fallbackLocaleFromConfig","locales","find","code","headers","Headers","payloadAPI","t","payloadDataLoader","routeParams","query"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
@@ -7,7 +7,7 @@ export const importWithoutClientFiles = async (filePath)=>{
7
7
  const { href: filePathUrl } = pathToFileURL(filePath);
8
8
  const { href: loaderUrl } = pathToFileURL(path.resolve(dirname, '../../dist/bin/loader/index.js'));
9
9
  register(loaderUrl, filePathUrl);
10
- const result = await import(filePathUrl);
10
+ const result = await import(filePath);
11
11
  return result;
12
12
  };
13
13
  /**
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utilities/importWithoutClientFiles.ts"],"sourcesContent":["import { register } from 'node:module'\nimport { URL, fileURLToPath, pathToFileURL } from 'node:url'\nimport path from 'path'\n\nimport type { SanitizedConfig } from '../config/types.js'\n\nconst filename = fileURLToPath(import.meta.url)\nconst dirname = path.dirname(filename)\n\nexport const importWithoutClientFiles = async <T = unknown>(filePath: string) => {\n const { href: filePathUrl } = pathToFileURL(filePath)\n const { href: loaderUrl } = pathToFileURL(path.resolve(dirname, '../../dist/bin/loader/index.js'))\n\n register(loaderUrl, filePathUrl)\n const result = await import(filePathUrl)\n return result as T\n}\n\n/**\n * Resolve and load Payload config from either a relative or absolute path\n */\nexport const importConfig = async (configPath: string) => {\n const isAbsolutePath = path.isAbsolute(configPath)\n if (isAbsolutePath) {\n const config = await importWithoutClientFiles<{ default: Promise<SanitizedConfig> }>(configPath)\n return await config.default\n }\n\n const callerFilename = getCallerInfo()[1].getFileName()\n\n const url = new URL(callerFilename)\n\n const callerDir = path.dirname(fileURLToPath(url))\n\n const fullConfigPath = path.resolve(callerDir, configPath)\n\n const config = await importWithoutClientFiles<{ default: Promise<SanitizedConfig> }>(\n fullConfigPath,\n )\n return await config.default\n}\n\nconst getCallerInfo = () => {\n const _prepareStackTrace = Error.prepareStackTrace\n try {\n let result = []\n Error.prepareStackTrace = (_, callSites) => {\n const callSitesWithoutCurrent = callSites.slice(1)\n result = callSitesWithoutCurrent\n return callSitesWithoutCurrent\n }\n\n new Error().stack\n return result\n } finally {\n Error.prepareStackTrace = _prepareStackTrace\n }\n}\n"],"names":["register","URL","fileURLToPath","pathToFileURL","path","filename","url","dirname","importWithoutClientFiles","filePath","href","filePathUrl","loaderUrl","resolve","result","importConfig","configPath","isAbsolutePath","isAbsolute","config","default","callerFilename","getCallerInfo","getFileName","callerDir","fullConfigPath","_prepareStackTrace","Error","prepareStackTrace","_","callSites","callSitesWithoutCurrent","slice","stack"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,SAASA,QAAQ,QAAQ,cAAa;AACtC,SAASC,GAAG,EAAEC,aAAa,EAAEC,aAAa,QAAQ,WAAU;AAC5D,OAAOC,UAAU,OAAM;AAIvB,MAAMC,WAAWH,cAAc,YAAYI,GAAG;AAC9C,MAAMC,UAAUH,KAAKG,OAAO,CAACF;AAE7B,OAAO,MAAMG,2BAA2B,OAAoBC;IAC1D,MAAM,EAAEC,MAAMC,WAAW,EAAE,GAAGR,cAAcM;IAC5C,MAAM,EAAEC,MAAME,SAAS,EAAE,GAAGT,cAAcC,KAAKS,OAAO,CAACN,SAAS;IAEhEP,SAASY,WAAWD;IACpB,MAAMG,SAAS,MAAM,MAAM,CAACH;IAC5B,OAAOG;AACT,EAAC;AAED;;CAEC,GACD,OAAO,MAAMC,eAAe,OAAOC;IACjC,MAAMC,iBAAiBb,KAAKc,UAAU,CAACF;IACvC,IAAIC,gBAAgB;QAClB,MAAME,SAAS,MAAMX,yBAAgEQ;QACrF,OAAO,MAAMG,OAAOC,OAAO;IAC7B;IAEA,MAAMC,iBAAiBC,eAAe,CAAC,EAAE,CAACC,WAAW;IAErD,MAAMjB,MAAM,IAAIL,IAAIoB;IAEpB,MAAMG,YAAYpB,KAAKG,OAAO,CAACL,cAAcI;IAE7C,MAAMmB,iBAAiBrB,KAAKS,OAAO,CAACW,WAAWR;IAE/C,MAAMG,SAAS,MAAMX,yBACnBiB;IAEF,OAAO,MAAMN,OAAOC,OAAO;AAC7B,EAAC;AAED,MAAME,gBAAgB;IACpB,MAAMI,qBAAqBC,MAAMC,iBAAiB;IAClD,IAAI;QACF,IAAId,SAAS,EAAE;QACfa,MAAMC,iBAAiB,GAAG,CAACC,GAAGC;YAC5B,MAAMC,0BAA0BD,UAAUE,KAAK,CAAC;YAChDlB,SAASiB;YACT,OAAOA;QACT;QAEA,IAAIJ,QAAQM,KAAK;QACjB,OAAOnB;IACT,SAAU;QACRa,MAAMC,iBAAiB,GAAGF;IAC5B;AACF"}
1
+ {"version":3,"sources":["../../src/utilities/importWithoutClientFiles.ts"],"sourcesContent":["import { register } from 'node:module'\nimport { URL, fileURLToPath, pathToFileURL } from 'node:url'\nimport path from 'path'\n\nimport type { SanitizedConfig } from '../config/types.js'\n\nconst filename = fileURLToPath(import.meta.url)\nconst dirname = path.dirname(filename)\n\nexport const importWithoutClientFiles = async <T = unknown>(filePath: string) => {\n const { href: filePathUrl } = pathToFileURL(filePath)\n const { href: loaderUrl } = pathToFileURL(path.resolve(dirname, '../../dist/bin/loader/index.js'))\n\n register(loaderUrl, filePathUrl)\n const result = await import(filePath)\n return result as T\n}\n\n/**\n * Resolve and load Payload config from either a relative or absolute path\n */\nexport const importConfig = async (configPath: string) => {\n const isAbsolutePath = path.isAbsolute(configPath)\n if (isAbsolutePath) {\n const config = await importWithoutClientFiles<{ default: Promise<SanitizedConfig> }>(configPath)\n return await config.default\n }\n\n const callerFilename = getCallerInfo()[1].getFileName()\n\n const url = new URL(callerFilename)\n\n const callerDir = path.dirname(fileURLToPath(url))\n\n const fullConfigPath = path.resolve(callerDir, configPath)\n\n const config = await importWithoutClientFiles<{ default: Promise<SanitizedConfig> }>(\n fullConfigPath,\n )\n return await config.default\n}\n\nconst getCallerInfo = () => {\n const _prepareStackTrace = Error.prepareStackTrace\n try {\n let result = []\n Error.prepareStackTrace = (_, callSites) => {\n const callSitesWithoutCurrent = callSites.slice(1)\n result = callSitesWithoutCurrent\n return callSitesWithoutCurrent\n }\n\n new Error().stack\n return result\n } finally {\n Error.prepareStackTrace = _prepareStackTrace\n }\n}\n"],"names":["register","URL","fileURLToPath","pathToFileURL","path","filename","url","dirname","importWithoutClientFiles","filePath","href","filePathUrl","loaderUrl","resolve","result","importConfig","configPath","isAbsolutePath","isAbsolute","config","default","callerFilename","getCallerInfo","getFileName","callerDir","fullConfigPath","_prepareStackTrace","Error","prepareStackTrace","_","callSites","callSitesWithoutCurrent","slice","stack"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,SAASA,QAAQ,QAAQ,cAAa;AACtC,SAASC,GAAG,EAAEC,aAAa,EAAEC,aAAa,QAAQ,WAAU;AAC5D,OAAOC,UAAU,OAAM;AAIvB,MAAMC,WAAWH,cAAc,YAAYI,GAAG;AAC9C,MAAMC,UAAUH,KAAKG,OAAO,CAACF;AAE7B,OAAO,MAAMG,2BAA2B,OAAoBC;IAC1D,MAAM,EAAEC,MAAMC,WAAW,EAAE,GAAGR,cAAcM;IAC5C,MAAM,EAAEC,MAAME,SAAS,EAAE,GAAGT,cAAcC,KAAKS,OAAO,CAACN,SAAS;IAEhEP,SAASY,WAAWD;IACpB,MAAMG,SAAS,MAAM,MAAM,CAACL;IAC5B,OAAOK;AACT,EAAC;AAED;;CAEC,GACD,OAAO,MAAMC,eAAe,OAAOC;IACjC,MAAMC,iBAAiBb,KAAKc,UAAU,CAACF;IACvC,IAAIC,gBAAgB;QAClB,MAAME,SAAS,MAAMX,yBAAgEQ;QACrF,OAAO,MAAMG,OAAOC,OAAO;IAC7B;IAEA,MAAMC,iBAAiBC,eAAe,CAAC,EAAE,CAACC,WAAW;IAErD,MAAMjB,MAAM,IAAIL,IAAIoB;IAEpB,MAAMG,YAAYpB,KAAKG,OAAO,CAACL,cAAcI;IAE7C,MAAMmB,iBAAiBrB,KAAKS,OAAO,CAACW,WAAWR;IAE/C,MAAMG,SAAS,MAAMX,yBACnBiB;IAEF,OAAO,MAAMN,OAAOC,OAAO;AAC7B,EAAC;AAED,MAAME,gBAAgB;IACpB,MAAMI,qBAAqBC,MAAMC,iBAAiB;IAClD,IAAI;QACF,IAAId,SAAS,EAAE;QACfa,MAAMC,iBAAiB,GAAG,CAACC,GAAGC;YAC5B,MAAMC,0BAA0BD,UAAUE,KAAK,CAAC;YAChDlB,SAASiB;YACT,OAAOA;QACT;QAEA,IAAIJ,QAAQM,KAAK;QACjB,OAAOnB;IACT,SAAU;QACRa,MAAMC,iBAAiB,GAAGF;IAC5B;AACF"}
@@ -1,4 +1,4 @@
1
- import APIError from '../errors/APIError.js';
1
+ import { APIError } from '../errors/APIError.js';
2
2
  export const parseCookies = (headers)=>{
3
3
  const list = new Map();
4
4
  const rc = headers.get('Cookie');
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utilities/parseCookies.ts"],"sourcesContent":["import APIError from '../errors/APIError.js'\n\nexport const parseCookies = (headers: Request['headers']): Map<string, string> => {\n const list = new Map<string, string>()\n const rc = headers.get('Cookie')\n\n if (rc) {\n rc.split(';').forEach((cookie) => {\n const parts = cookie.split('=')\n const key = parts.shift().trim()\n const encodedValue = parts.join('=')\n\n try {\n const decodedValue = decodeURI(encodedValue)\n list.set(key, decodedValue)\n } catch (e) {\n throw new APIError(`Error decoding cookie value for key ${key}: ${e.message}`)\n }\n })\n }\n\n return list\n}\n"],"names":["APIError","parseCookies","headers","list","Map","rc","get","split","forEach","cookie","parts","key","shift","trim","encodedValue","join","decodedValue","decodeURI","set","e","message"],"rangeMappings":";;;;;;;;;;;;;;;;;;","mappings":"AAAA,OAAOA,cAAc,wBAAuB;AAE5C,OAAO,MAAMC,eAAe,CAACC;IAC3B,MAAMC,OAAO,IAAIC;IACjB,MAAMC,KAAKH,QAAQI,GAAG,CAAC;IAEvB,IAAID,IAAI;QACNA,GAAGE,KAAK,CAAC,KAAKC,OAAO,CAAC,CAACC;YACrB,MAAMC,QAAQD,OAAOF,KAAK,CAAC;YAC3B,MAAMI,MAAMD,MAAME,KAAK,GAAGC,IAAI;YAC9B,MAAMC,eAAeJ,MAAMK,IAAI,CAAC;YAEhC,IAAI;gBACF,MAAMC,eAAeC,UAAUH;gBAC/BX,KAAKe,GAAG,CAACP,KAAKK;YAChB,EAAE,OAAOG,GAAG;gBACV,MAAM,IAAInB,SAAS,CAAC,oCAAoC,EAAEW,IAAI,EAAE,EAAEQ,EAAEC,OAAO,CAAC,CAAC;YAC/E;QACF;IACF;IAEA,OAAOjB;AACT,EAAC"}
1
+ {"version":3,"sources":["../../src/utilities/parseCookies.ts"],"sourcesContent":["import { APIError } from '../errors/APIError.js'\n\nexport const parseCookies = (headers: Request['headers']): Map<string, string> => {\n const list = new Map<string, string>()\n const rc = headers.get('Cookie')\n\n if (rc) {\n rc.split(';').forEach((cookie) => {\n const parts = cookie.split('=')\n const key = parts.shift().trim()\n const encodedValue = parts.join('=')\n\n try {\n const decodedValue = decodeURI(encodedValue)\n list.set(key, decodedValue)\n } catch (e) {\n throw new APIError(`Error decoding cookie value for key ${key}: ${e.message}`)\n }\n })\n }\n\n return list\n}\n"],"names":["APIError","parseCookies","headers","list","Map","rc","get","split","forEach","cookie","parts","key","shift","trim","encodedValue","join","decodedValue","decodeURI","set","e","message"],"rangeMappings":";;;;;;;;;;;;;;;;;;","mappings":"AAAA,SAASA,QAAQ,QAAQ,wBAAuB;AAEhD,OAAO,MAAMC,eAAe,CAACC;IAC3B,MAAMC,OAAO,IAAIC;IACjB,MAAMC,KAAKH,QAAQI,GAAG,CAAC;IAEvB,IAAID,IAAI;QACNA,GAAGE,KAAK,CAAC,KAAKC,OAAO,CAAC,CAACC;YACrB,MAAMC,QAAQD,OAAOF,KAAK,CAAC;YAC3B,MAAMI,MAAMD,MAAME,KAAK,GAAGC,IAAI;YAC9B,MAAMC,eAAeJ,MAAMK,IAAI,CAAC;YAEhC,IAAI;gBACF,MAAMC,eAAeC,UAAUH;gBAC/BX,KAAKe,GAAG,CAACP,KAAKK;YAChB,EAAE,OAAOG,GAAG;gBACV,MAAM,IAAInB,SAAS,CAAC,oCAAoC,EAAEW,IAAI,EAAE,EAAEQ,EAAEC,OAAO,CAAC,CAAC;YAC/E;QACF;IACF;IAEA,OAAOjB;AACT,EAAC"}
@@ -3,13 +3,18 @@ import type { AdminInitEvent } from './events/adminInit.js';
3
3
  import type { ServerInitEvent } from './events/serverInit.js';
4
4
  export type BaseEvent = {
5
5
  ciName: null | string;
6
+ dbAdapter: string;
7
+ emailAdapter: null | string;
6
8
  envID: string;
7
9
  isCI: boolean;
10
+ locales: string[];
11
+ localizationDefaultLocale: null | string;
12
+ localizationEnabled: boolean;
8
13
  nodeEnv: string;
9
14
  nodeVersion: string;
10
- payloadPackages: Record<string, string>;
11
15
  payloadVersion: string;
12
16
  projectID: string;
17
+ uploadAdapters: string[];
13
18
  };
14
19
  type PackageJSON = {
15
20
  dependencies: Record<string, string | undefined>;
@@ -22,5 +27,6 @@ type Args = {
22
27
  };
23
28
  export declare const sendEvent: ({ event, payload }: Args) => Promise<void>;
24
29
  export declare const getPayloadVersion: (packageJSON: PackageJSON) => string;
30
+ export declare const getLocalizationInfo: (payload: Payload) => Pick<BaseEvent, 'locales' | 'localizationDefaultLocale' | 'localizationEnabled'>;
25
31
  export {};
26
32
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utilities/telemetry/index.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AACnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAC3D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAM7D,MAAM,MAAM,SAAS,GAAG;IACtB,MAAM,EAAE,IAAI,GAAG,MAAM,CAAA;IACrB,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,OAAO,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,MAAM,CAAA;IACnB,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACvC,cAAc,EAAE,MAAM,CAAA;IACtB,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,KAAK,WAAW,GAAG;IACjB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAA;IAChD,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAED,KAAK,cAAc,GAAG,cAAc,GAAG,eAAe,CAAA;AAEtD,KAAK,IAAI,GAAG;IACV,KAAK,EAAE,cAAc,CAAA;IACrB,OAAO,EAAE,OAAO,CAAA;CACjB,CAAA;AAID,eAAO,MAAM,SAAS,uBAA8B,IAAI,KAAG,QAAQ,IAAI,CAsCtE,CAAA;AA4DD,eAAO,MAAM,iBAAiB,gBAAiB,WAAW,KAAG,MAE5D,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utilities/telemetry/index.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AACnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAC3D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAM7D,MAAM,MAAM,SAAS,GAAG;IACtB,MAAM,EAAE,IAAI,GAAG,MAAM,CAAA;IACrB,SAAS,EAAE,MAAM,CAAA;IACjB,YAAY,EAAE,IAAI,GAAG,MAAM,CAAA;IAC3B,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,OAAO,CAAA;IACb,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,yBAAyB,EAAE,IAAI,GAAG,MAAM,CAAA;IACxC,mBAAmB,EAAE,OAAO,CAAA;IAC5B,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,MAAM,CAAA;IACnB,cAAc,EAAE,MAAM,CAAA;IACtB,SAAS,EAAE,MAAM,CAAA;IACjB,cAAc,EAAE,MAAM,EAAE,CAAA;CACzB,CAAA;AAED,KAAK,WAAW,GAAG;IACjB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAA;IAChD,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAED,KAAK,cAAc,GAAG,cAAc,GAAG,eAAe,CAAA;AAEtD,KAAK,IAAI,GAAG;IACV,KAAK,EAAE,cAAc,CAAA;IACrB,OAAO,EAAE,OAAO,CAAA;CACjB,CAAA;AAID,eAAO,MAAM,SAAS,uBAA8B,IAAI,KAAG,QAAQ,IAAI,CAyCtE,CAAA;AAiED,eAAO,MAAM,iBAAiB,gBAAiB,WAAW,KAAG,MAE5D,CAAA;AAED,eAAO,MAAM,mBAAmB,wBAE7B,KAAK,SAAS,EAAE,SAAS,GAAG,2BAA2B,GAAG,qBAAqB,CAcjF,CAAA"}
@@ -11,7 +11,7 @@ const Conf = ConfImport.default || ConfImport;
11
11
  let baseEvent = null;
12
12
  export const sendEvent = async ({ event, payload })=>{
13
13
  try {
14
- const packageJSON = await getPackageJSON();
14
+ const { packageJSON, packageJSONPath } = await getPackageJSON();
15
15
  // Only generate the base event once
16
16
  if (!baseEvent) {
17
17
  baseEvent = {
@@ -20,16 +20,20 @@ export const sendEvent = async ({ event, payload })=>{
20
20
  isCI: ciInfo.isCI,
21
21
  nodeEnv: process.env.NODE_ENV || 'development',
22
22
  nodeVersion: process.version,
23
- payloadPackages: getPayloadPackages(packageJSON),
24
23
  payloadVersion: getPayloadVersion(packageJSON),
25
- projectID: getProjectID(payload, packageJSON)
24
+ projectID: getProjectID(payload, packageJSON),
25
+ ...getLocalizationInfo(payload),
26
+ dbAdapter: payload.db.name,
27
+ emailAdapter: payload.email?.name || null,
28
+ uploadAdapters: payload.config.upload.adapters
26
29
  };
27
30
  }
28
31
  if (process.env.PAYLOAD_TELEMETRY_DEBUG) {
29
32
  payload.logger.info({
30
33
  event: {
31
34
  ...baseEvent,
32
- ...event
35
+ ...event,
36
+ packageJSONPath
33
37
  },
34
38
  msg: 'Telemetry Event'
35
39
  });
@@ -80,22 +84,26 @@ const getGitID = (payload)=>{
80
84
  return null;
81
85
  }
82
86
  };
83
- const getPayloadPackages = (packageJSON)=>{
84
- return Object.keys(packageJSON.dependencies || {}).reduce((acc, key)=>{
85
- return key.startsWith('@payloadcms/') ? {
86
- ...acc,
87
- [key]: packageJSON.dependencies[key]
88
- } : acc;
89
- }, {});
90
- };
91
87
  const getPackageJSON = async ()=>{
92
- const filename = fileURLToPath(import.meta.url);
93
- const dirname = path.dirname(filename);
94
- const packageJsonPath = await findUp('package.json', {
95
- cwd: dirname
96
- });
97
- const jsonContent = JSON.parse(fs.readFileSync(packageJsonPath, 'utf-8'));
98
- return jsonContent;
88
+ let packageJSONPath = path.resolve(process.cwd(), 'package.json');
89
+ if (!fs.existsSync(packageJSONPath)) {
90
+ // Old logic
91
+ const filename = fileURLToPath(import.meta.url);
92
+ const dirname = path.dirname(filename);
93
+ packageJSONPath = await findUp('package.json', {
94
+ cwd: dirname
95
+ });
96
+ const jsonContent = JSON.parse(fs.readFileSync(packageJSONPath, 'utf-8'));
97
+ return {
98
+ packageJSON: jsonContent,
99
+ packageJSONPath
100
+ };
101
+ }
102
+ const packageJSON = JSON.parse(fs.readFileSync(packageJSONPath, 'utf-8'));
103
+ return {
104
+ packageJSON,
105
+ packageJSONPath
106
+ };
99
107
  };
100
108
  const getPackageJSONID = (payload, packageJSON)=>{
101
109
  return oneWayHash(packageJSON.name, payload.secret);
@@ -103,5 +111,19 @@ const getPackageJSONID = (payload, packageJSON)=>{
103
111
  export const getPayloadVersion = (packageJSON)=>{
104
112
  return packageJSON?.dependencies?.payload ?? '';
105
113
  };
114
+ export const getLocalizationInfo = (payload)=>{
115
+ if (!payload.config.localization) {
116
+ return {
117
+ locales: [],
118
+ localizationDefaultLocale: null,
119
+ localizationEnabled: false
120
+ };
121
+ }
122
+ return {
123
+ locales: payload.config.localization.localeCodes,
124
+ localizationDefaultLocale: payload.config.localization.defaultLocale,
125
+ localizationEnabled: true
126
+ };
127
+ };
106
128
 
107
129
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/utilities/telemetry/index.ts"],"sourcesContent":["import { execSync } from 'child_process'\nimport ciInfo from 'ci-info'\nimport ConfImport from 'conf'\nimport { randomBytes } from 'crypto'\nimport findUp from 'find-up'\nimport fs from 'fs'\nimport path from 'path'\nimport { fileURLToPath } from 'url'\n\nimport type { Payload } from '../../types/index.js'\nimport type { AdminInitEvent } from './events/adminInit.js'\nimport type { ServerInitEvent } from './events/serverInit.js'\n\nimport { oneWayHash } from './oneWayHash.js'\n\nconst Conf = (ConfImport.default || ConfImport) as unknown as typeof ConfImport.default\n\nexport type BaseEvent = {\n ciName: null | string\n envID: string\n isCI: boolean\n nodeEnv: string\n nodeVersion: string\n payloadPackages: Record<string, string>\n payloadVersion: string\n projectID: string\n}\n\ntype PackageJSON = {\n dependencies: Record<string, string | undefined>\n name: string\n}\n\ntype TelemetryEvent = AdminInitEvent | ServerInitEvent\n\ntype Args = {\n event: TelemetryEvent\n payload: Payload\n}\n\nlet baseEvent: BaseEvent | null = null\n\nexport const sendEvent = async ({ event, payload }: Args): Promise<void> => {\n try {\n const packageJSON = await getPackageJSON()\n\n // Only generate the base event once\n if (!baseEvent) {\n baseEvent = {\n ciName: ciInfo.isCI ? ciInfo.name : null,\n envID: getEnvID(),\n isCI: ciInfo.isCI,\n nodeEnv: process.env.NODE_ENV || 'development',\n nodeVersion: process.version,\n payloadPackages: getPayloadPackages(packageJSON),\n payloadVersion: getPayloadVersion(packageJSON),\n projectID: getProjectID(payload, packageJSON),\n }\n }\n\n if (process.env.PAYLOAD_TELEMETRY_DEBUG) {\n payload.logger.info({\n event: { ...baseEvent, ...event },\n msg: 'Telemetry Event',\n })\n return\n }\n\n if (payload.config.telemetry !== false) {\n await fetch('https://telemetry.payloadcms.com/events', {\n body: JSON.stringify({ ...baseEvent, ...event }),\n headers: {\n 'Content-Type': 'application/json',\n },\n method: 'post',\n })\n }\n } catch (_) {\n // Eat any errors in sending telemetry event\n }\n}\n\n/**\n * This is a quasi-persistent identifier used to dedupe recurring events. It's\n * generated from random data and completely anonymous.\n */\nconst getEnvID = (): string => {\n const conf = new Conf()\n const ENV_ID = 'envID'\n\n const val = conf.get(ENV_ID)\n if (val) {\n return val as string\n }\n\n const generated = randomBytes(32).toString('hex')\n conf.set(ENV_ID, generated)\n return generated\n}\n\nconst getProjectID = (payload: Payload, packageJSON: PackageJSON): string => {\n const projectID =\n getGitID(payload) ||\n getPackageJSONID(payload, packageJSON) ||\n payload.config.serverURL ||\n process.cwd()\n return oneWayHash(projectID, payload.secret)\n}\n\nconst getGitID = (payload: Payload) => {\n try {\n const originBuffer = execSync('git config --local --get remote.origin.url', {\n stdio: 'pipe',\n timeout: 1000,\n })\n\n return oneWayHash(String(originBuffer).trim(), payload.secret)\n } catch (_) {\n return null\n }\n}\n\nconst getPayloadPackages = (packageJSON: PackageJSON): Record<string, string> => {\n return Object.keys(packageJSON.dependencies || {}).reduce((acc, key) => {\n return key.startsWith('@payloadcms/') ? { ...acc, [key]: packageJSON.dependencies[key] } : acc\n }, {})\n}\n\nconst getPackageJSON = async (): Promise<PackageJSON> => {\n const filename = fileURLToPath(import.meta.url)\n const dirname = path.dirname(filename)\n const packageJsonPath = await findUp('package.json', { cwd: dirname })\n const jsonContent: PackageJSON = JSON.parse(fs.readFileSync(packageJsonPath, 'utf-8'))\n return jsonContent\n}\n\nconst getPackageJSONID = (payload: Payload, packageJSON: PackageJSON): string => {\n return oneWayHash(packageJSON.name, payload.secret)\n}\n\nexport const getPayloadVersion = (packageJSON: PackageJSON): string => {\n return packageJSON?.dependencies?.payload ?? ''\n}\n"],"names":["execSync","ciInfo","ConfImport","randomBytes","findUp","fs","path","fileURLToPath","oneWayHash","Conf","default","baseEvent","sendEvent","event","payload","packageJSON","getPackageJSON","ciName","isCI","name","envID","getEnvID","nodeEnv","process","env","NODE_ENV","nodeVersion","version","payloadPackages","getPayloadPackages","payloadVersion","getPayloadVersion","projectID","getProjectID","PAYLOAD_TELEMETRY_DEBUG","logger","info","msg","config","telemetry","fetch","body","JSON","stringify","headers","method","_","conf","ENV_ID","val","get","generated","toString","set","getGitID","getPackageJSONID","serverURL","cwd","secret","originBuffer","stdio","timeout","String","trim","Object","keys","dependencies","reduce","acc","key","startsWith","filename","url","dirname","packageJsonPath","jsonContent","parse","readFileSync"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,SAASA,QAAQ,QAAQ,gBAAe;AACxC,OAAOC,YAAY,UAAS;AAC5B,OAAOC,gBAAgB,OAAM;AAC7B,SAASC,WAAW,QAAQ,SAAQ;AACpC,OAAOC,YAAY,UAAS;AAC5B,OAAOC,QAAQ,KAAI;AACnB,OAAOC,UAAU,OAAM;AACvB,SAASC,aAAa,QAAQ,MAAK;AAMnC,SAASC,UAAU,QAAQ,kBAAiB;AAE5C,MAAMC,OAAQP,WAAWQ,OAAO,IAAIR;AAyBpC,IAAIS,YAA8B;AAElC,OAAO,MAAMC,YAAY,OAAO,EAAEC,KAAK,EAAEC,OAAO,EAAQ;IACtD,IAAI;QACF,MAAMC,cAAc,MAAMC;QAE1B,oCAAoC;QACpC,IAAI,CAACL,WAAW;YACdA,YAAY;gBACVM,QAAQhB,OAAOiB,IAAI,GAAGjB,OAAOkB,IAAI,GAAG;gBACpCC,OAAOC;gBACPH,MAAMjB,OAAOiB,IAAI;gBACjBI,SAASC,QAAQC,GAAG,CAACC,QAAQ,IAAI;gBACjCC,aAAaH,QAAQI,OAAO;gBAC5BC,iBAAiBC,mBAAmBd;gBACpCe,gBAAgBC,kBAAkBhB;gBAClCiB,WAAWC,aAAanB,SAASC;YACnC;QACF;QAEA,IAAIQ,QAAQC,GAAG,CAACU,uBAAuB,EAAE;YACvCpB,QAAQqB,MAAM,CAACC,IAAI,CAAC;gBAClBvB,OAAO;oBAAE,GAAGF,SAAS;oBAAE,GAAGE,KAAK;gBAAC;gBAChCwB,KAAK;YACP;YACA;QACF;QAEA,IAAIvB,QAAQwB,MAAM,CAACC,SAAS,KAAK,OAAO;YACtC,MAAMC,MAAM,2CAA2C;gBACrDC,MAAMC,KAAKC,SAAS,CAAC;oBAAE,GAAGhC,SAAS;oBAAE,GAAGE,KAAK;gBAAC;gBAC9C+B,SAAS;oBACP,gBAAgB;gBAClB;gBACAC,QAAQ;YACV;QACF;IACF,EAAE,OAAOC,GAAG;IACV,4CAA4C;IAC9C;AACF,EAAC;AAED;;;CAGC,GACD,MAAMzB,WAAW;IACf,MAAM0B,OAAO,IAAItC;IACjB,MAAMuC,SAAS;IAEf,MAAMC,MAAMF,KAAKG,GAAG,CAACF;IACrB,IAAIC,KAAK;QACP,OAAOA;IACT;IAEA,MAAME,YAAYhD,YAAY,IAAIiD,QAAQ,CAAC;IAC3CL,KAAKM,GAAG,CAACL,QAAQG;IACjB,OAAOA;AACT;AAEA,MAAMlB,eAAe,CAACnB,SAAkBC;IACtC,MAAMiB,YACJsB,SAASxC,YACTyC,iBAAiBzC,SAASC,gBAC1BD,QAAQwB,MAAM,CAACkB,SAAS,IACxBjC,QAAQkC,GAAG;IACb,OAAOjD,WAAWwB,WAAWlB,QAAQ4C,MAAM;AAC7C;AAEA,MAAMJ,WAAW,CAACxC;IAChB,IAAI;QACF,MAAM6C,eAAe3D,SAAS,8CAA8C;YAC1E4D,OAAO;YACPC,SAAS;QACX;QAEA,OAAOrD,WAAWsD,OAAOH,cAAcI,IAAI,IAAIjD,QAAQ4C,MAAM;IAC/D,EAAE,OAAOZ,GAAG;QACV,OAAO;IACT;AACF;AAEA,MAAMjB,qBAAqB,CAACd;IAC1B,OAAOiD,OAAOC,IAAI,CAAClD,YAAYmD,YAAY,IAAI,CAAC,GAAGC,MAAM,CAAC,CAACC,KAAKC;QAC9D,OAAOA,IAAIC,UAAU,CAAC,kBAAkB;YAAE,GAAGF,GAAG;YAAE,CAACC,IAAI,EAAEtD,YAAYmD,YAAY,CAACG,IAAI;QAAC,IAAID;IAC7F,GAAG,CAAC;AACN;AAEA,MAAMpD,iBAAiB;IACrB,MAAMuD,WAAWhE,cAAc,YAAYiE,GAAG;IAC9C,MAAMC,UAAUnE,KAAKmE,OAAO,CAACF;IAC7B,MAAMG,kBAAkB,MAAMtE,OAAO,gBAAgB;QAAEqD,KAAKgB;IAAQ;IACpE,MAAME,cAA2BjC,KAAKkC,KAAK,CAACvE,GAAGwE,YAAY,CAACH,iBAAiB;IAC7E,OAAOC;AACT;AAEA,MAAMpB,mBAAmB,CAACzC,SAAkBC;IAC1C,OAAOP,WAAWO,YAAYI,IAAI,EAAEL,QAAQ4C,MAAM;AACpD;AAEA,OAAO,MAAM3B,oBAAoB,CAAChB;IAChC,OAAOA,aAAamD,cAAcpD,WAAW;AAC/C,EAAC"}
1
+ {"version":3,"sources":["../../../src/utilities/telemetry/index.ts"],"sourcesContent":["import { execSync } from 'child_process'\nimport ciInfo from 'ci-info'\nimport ConfImport from 'conf'\nimport { randomBytes } from 'crypto'\nimport findUp from 'find-up'\nimport fs from 'fs'\nimport path from 'path'\nimport { fileURLToPath } from 'url'\n\nimport type { Payload } from '../../types/index.js'\nimport type { AdminInitEvent } from './events/adminInit.js'\nimport type { ServerInitEvent } from './events/serverInit.js'\n\nimport { oneWayHash } from './oneWayHash.js'\n\nconst Conf = (ConfImport.default || ConfImport) as unknown as typeof ConfImport.default\n\nexport type BaseEvent = {\n ciName: null | string\n dbAdapter: string\n emailAdapter: null | string\n envID: string\n isCI: boolean\n locales: string[]\n localizationDefaultLocale: null | string\n localizationEnabled: boolean\n nodeEnv: string\n nodeVersion: string\n payloadVersion: string\n projectID: string\n uploadAdapters: string[]\n}\n\ntype PackageJSON = {\n dependencies: Record<string, string | undefined>\n name: string\n}\n\ntype TelemetryEvent = AdminInitEvent | ServerInitEvent\n\ntype Args = {\n event: TelemetryEvent\n payload: Payload\n}\n\nlet baseEvent: BaseEvent | null = null\n\nexport const sendEvent = async ({ event, payload }: Args): Promise<void> => {\n try {\n const { packageJSON, packageJSONPath } = await getPackageJSON()\n\n // Only generate the base event once\n if (!baseEvent) {\n baseEvent = {\n ciName: ciInfo.isCI ? ciInfo.name : null,\n envID: getEnvID(),\n isCI: ciInfo.isCI,\n nodeEnv: process.env.NODE_ENV || 'development',\n nodeVersion: process.version,\n payloadVersion: getPayloadVersion(packageJSON),\n projectID: getProjectID(payload, packageJSON),\n ...getLocalizationInfo(payload),\n dbAdapter: payload.db.name,\n emailAdapter: payload.email?.name || null,\n uploadAdapters: payload.config.upload.adapters,\n }\n }\n\n if (process.env.PAYLOAD_TELEMETRY_DEBUG) {\n payload.logger.info({\n event: { ...baseEvent, ...event, packageJSONPath },\n msg: 'Telemetry Event',\n })\n return\n }\n\n if (payload.config.telemetry !== false) {\n await fetch('https://telemetry.payloadcms.com/events', {\n body: JSON.stringify({ ...baseEvent, ...event }),\n headers: {\n 'Content-Type': 'application/json',\n },\n method: 'post',\n })\n }\n } catch (_) {\n // Eat any errors in sending telemetry event\n }\n}\n\n/**\n * This is a quasi-persistent identifier used to dedupe recurring events. It's\n * generated from random data and completely anonymous.\n */\nconst getEnvID = (): string => {\n const conf = new Conf()\n const ENV_ID = 'envID'\n\n const val = conf.get(ENV_ID)\n if (val) {\n return val as string\n }\n\n const generated = randomBytes(32).toString('hex')\n conf.set(ENV_ID, generated)\n return generated\n}\n\nconst getProjectID = (payload: Payload, packageJSON: PackageJSON): string => {\n const projectID =\n getGitID(payload) ||\n getPackageJSONID(payload, packageJSON) ||\n payload.config.serverURL ||\n process.cwd()\n return oneWayHash(projectID, payload.secret)\n}\n\nconst getGitID = (payload: Payload) => {\n try {\n const originBuffer = execSync('git config --local --get remote.origin.url', {\n stdio: 'pipe',\n timeout: 1000,\n })\n\n return oneWayHash(String(originBuffer).trim(), payload.secret)\n } catch (_) {\n return null\n }\n}\n\nconst getPackageJSON = async (): Promise<{\n packageJSON?: PackageJSON\n packageJSONPath: string\n}> => {\n let packageJSONPath = path.resolve(process.cwd(), 'package.json')\n\n if (!fs.existsSync(packageJSONPath)) {\n // Old logic\n const filename = fileURLToPath(import.meta.url)\n const dirname = path.dirname(filename)\n packageJSONPath = await findUp('package.json', { cwd: dirname })\n const jsonContent: PackageJSON = JSON.parse(fs.readFileSync(packageJSONPath, 'utf-8'))\n return { packageJSON: jsonContent, packageJSONPath }\n }\n\n const packageJSON: PackageJSON = JSON.parse(fs.readFileSync(packageJSONPath, 'utf-8'))\n return { packageJSON, packageJSONPath }\n}\n\nconst getPackageJSONID = (payload: Payload, packageJSON: PackageJSON): string => {\n return oneWayHash(packageJSON.name, payload.secret)\n}\n\nexport const getPayloadVersion = (packageJSON: PackageJSON): string => {\n return packageJSON?.dependencies?.payload ?? ''\n}\n\nexport const getLocalizationInfo = (\n payload: Payload,\n): Pick<BaseEvent, 'locales' | 'localizationDefaultLocale' | 'localizationEnabled'> => {\n if (!payload.config.localization) {\n return {\n locales: [],\n localizationDefaultLocale: null,\n localizationEnabled: false,\n }\n }\n\n return {\n locales: payload.config.localization.localeCodes,\n localizationDefaultLocale: payload.config.localization.defaultLocale,\n localizationEnabled: true,\n }\n}\n"],"names":["execSync","ciInfo","ConfImport","randomBytes","findUp","fs","path","fileURLToPath","oneWayHash","Conf","default","baseEvent","sendEvent","event","payload","packageJSON","packageJSONPath","getPackageJSON","ciName","isCI","name","envID","getEnvID","nodeEnv","process","env","NODE_ENV","nodeVersion","version","payloadVersion","getPayloadVersion","projectID","getProjectID","getLocalizationInfo","dbAdapter","db","emailAdapter","email","uploadAdapters","config","upload","adapters","PAYLOAD_TELEMETRY_DEBUG","logger","info","msg","telemetry","fetch","body","JSON","stringify","headers","method","_","conf","ENV_ID","val","get","generated","toString","set","getGitID","getPackageJSONID","serverURL","cwd","secret","originBuffer","stdio","timeout","String","trim","resolve","existsSync","filename","url","dirname","jsonContent","parse","readFileSync","dependencies","localization","locales","localizationDefaultLocale","localizationEnabled","localeCodes","defaultLocale"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
package/package.json CHANGED
@@ -1,14 +1,48 @@
1
1
  {
2
2
  "name": "payload",
3
- "version": "3.0.0-alpha.65",
4
- "description": "Node, React and MongoDB Headless CMS and Application Framework",
3
+ "version": "3.0.0-alpha.67",
4
+ "description": "Node, React, Headless CMS and Application Framework built on Next.js",
5
+ "keywords": [
6
+ "admin panel",
7
+ "api",
8
+ "cms",
9
+ "content management",
10
+ "dashboard",
11
+ "framework",
12
+ "graphQL",
13
+ "headless",
14
+ "javascript",
15
+ "next.js",
16
+ "node",
17
+ "payload",
18
+ "react",
19
+ "self hosted",
20
+ "typescript"
21
+ ],
22
+ "homepage": "https://payloadcms.com",
23
+ "bugs": {
24
+ "url": "https://github.com/payloadcms/payload"
25
+ },
26
+ "repository": {
27
+ "type": "git",
28
+ "url": "https://github.com/payloadcms/payload.git",
29
+ "directory": "packages/payload"
30
+ },
5
31
  "license": "MIT",
6
- "main": "./dist/index.js",
7
- "types": "./dist/index.d.ts",
8
- "type": "module",
9
- "bin": {
10
- "payload": "bin.js"
32
+ "author": {
33
+ "name": "Payload",
34
+ "email": "info@payloadcms.com",
35
+ "url": "https://payloadcms.com"
11
36
  },
37
+ "maintainers": [
38
+ {
39
+ "name": "Payload",
40
+ "email": "info@payloadcms.com",
41
+ "url": "https://payloadcms.com"
42
+ }
43
+ ],
44
+ "sideEffects": false,
45
+ "type": "module",
12
46
  "exports": {
13
47
  ".": {
14
48
  "import": "./dist/index.js",
@@ -21,10 +55,25 @@
21
55
  "types": "./dist/exports/*.d.ts"
22
56
  }
23
57
  },
58
+ "main": "./dist/index.js",
59
+ "types": "./dist/index.d.ts",
60
+ "bin": {
61
+ "payload": "bin.js"
62
+ },
63
+ "files": [
64
+ "bin.js",
65
+ "dist",
66
+ "docs",
67
+ "*.js",
68
+ "*.d.ts",
69
+ "!jest.config.js",
70
+ "!jest.components.config.js"
71
+ ],
24
72
  "dependencies": {
25
73
  "@swc-node/core": "^1.13.0",
26
74
  "@swc-node/sourcemap-support": "^0.5.0",
27
75
  "@types/probe-image-size": "^7.2.4",
76
+ "ajv": "^8.12.0",
28
77
  "bson-objectid": "2.0.4",
29
78
  "ci-info": "^4.0.0",
30
79
  "conf": "10.2.0",
@@ -50,16 +99,7 @@
50
99
  "scheduler": "0.23.0",
51
100
  "scmp": "2.1.0",
52
101
  "uuid": "^9.0.1",
53
- "@payloadcms/translations": "3.0.0-alpha.65"
54
- },
55
- "peerDependencies": {
56
- "@swc/core": "^1.4.13",
57
- "graphql": "^16.8.1"
58
- },
59
- "peerDependenciesMeta": {
60
- "@swc/core": {
61
- "optional": true
62
- }
102
+ "@payloadcms/translations": "3.0.0-alpha.67"
63
103
  },
64
104
  "devDependencies": {
65
105
  "@monaco-editor/react": "4.5.1",
@@ -105,65 +145,22 @@
105
145
  "ts-essentials": "7.0.3",
106
146
  "@payloadcms/eslint-config": "1.1.1"
107
147
  },
148
+ "peerDependencies": {
149
+ "@swc/core": "^1.4.13",
150
+ "graphql": "^16.8.1"
151
+ },
152
+ "peerDependenciesMeta": {
153
+ "@swc/core": {
154
+ "optional": true
155
+ }
156
+ },
108
157
  "engines": {
109
- "node": ">=18.20.2"
158
+ "node": "^18.20.2 || >=20.6.0"
110
159
  },
111
- "files": [
112
- "bin.js",
113
- "dist",
114
- "docs",
115
- "*.js",
116
- "*.d.ts",
117
- "!jest.config.js",
118
- "!jest.components.config.js"
119
- ],
120
- "keywords": [
121
- "payload",
122
- "cms",
123
- "content management",
124
- "framework",
125
- "typescript",
126
- "javascript",
127
- "node",
128
- "express",
129
- "headless",
130
- "graphQL",
131
- "restful",
132
- "access control",
133
- "dashboard",
134
- "admin panel",
135
- "api",
136
- "MongoDB",
137
- "self hosted",
138
- "react",
139
- "auth"
140
- ],
141
160
  "publishConfig": {
142
161
  "access": "public",
143
162
  "registry": "https://registry.npmjs.org/"
144
163
  },
145
- "homepage": "https://payloadcms.com",
146
- "author": {
147
- "email": "info@payloadcms.com",
148
- "name": "Payload",
149
- "url": "https://payloadcms.com"
150
- },
151
- "maintainers": [
152
- {
153
- "email": "info@payloadcms.com",
154
- "name": "Payload",
155
- "url": "https://payloadcms.com"
156
- }
157
- ],
158
- "repository": {
159
- "type": "git",
160
- "url": "https://github.com/payloadcms/payload.git",
161
- "directory": "packages/payload"
162
- },
163
- "bugs": {
164
- "url": "https://github.com/payloadcms/payload"
165
- },
166
- "sideEffects": false,
167
164
  "scripts": {
168
165
  "build": "pnpm copyfiles && pnpm build:swc && pnpm build:types",
169
166
  "build:swc": "swc ./src -d ./dist --config-file .swcrc",