@payloadcms/figma 0.0.1-alpha.7 → 0.0.1-alpha.71

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 (390) hide show
  1. package/dist/api/control-plane.d.ts +56 -6
  2. package/dist/api/control-plane.js +181 -72
  3. package/dist/api/figma-api.d.ts +22 -1
  4. package/dist/api/figma-api.js +78 -25
  5. package/dist/auth/callback-server.d.ts +19 -7
  6. package/dist/auth/callback-server.js +72 -30
  7. package/dist/auth/credentials.d.ts +21 -0
  8. package/dist/auth/credentials.js +21 -0
  9. package/dist/auth/crypto-utils.d.ts +28 -0
  10. package/dist/auth/crypto-utils.js +132 -21
  11. package/dist/auth/jwt-validator.d.ts +2 -1
  12. package/dist/auth/jwt-validator.js +2 -2
  13. package/dist/auth/oauth-flow.d.ts +19 -3
  14. package/dist/auth/oauth-flow.js +77 -22
  15. package/dist/auth/project-token.d.ts +32 -16
  16. package/dist/auth/project-token.js +171 -65
  17. package/dist/auth/refresh.d.ts +2 -1
  18. package/dist/auth/refresh.js +25 -12
  19. package/dist/auth/token-store-migration.d.ts +58 -0
  20. package/dist/auth/token-store-migration.js +156 -0
  21. package/dist/auth/token-store.d.ts +63 -97
  22. package/dist/auth/token-store.js +405 -122
  23. package/dist/auth/types.d.ts +35 -4
  24. package/dist/cli.js +93 -6
  25. package/dist/commands/bootstrap.d.ts +18 -0
  26. package/dist/commands/bootstrap.js +90 -0
  27. package/dist/commands/build-lambda-zip.d.ts +5 -0
  28. package/dist/commands/build-lambda-zip.js +19 -0
  29. package/dist/commands/debug.d.ts +8 -0
  30. package/dist/commands/debug.js +180 -0
  31. package/dist/commands/deploy.d.ts +9 -0
  32. package/dist/commands/deploy.js +180 -151
  33. package/dist/commands/dump-tokens.d.ts +12 -0
  34. package/dist/commands/dump-tokens.js +69 -0
  35. package/dist/commands/env.d.ts +13 -0
  36. package/dist/commands/env.js +88 -0
  37. package/dist/commands/init.d.ts +9 -5
  38. package/dist/commands/init.js +241 -148
  39. package/dist/commands/list-tokens.d.ts +3 -3
  40. package/dist/commands/list-tokens.js +24 -9
  41. package/dist/commands/login.d.ts +8 -1
  42. package/dist/commands/login.js +34 -16
  43. package/dist/commands/logout.d.ts +5 -4
  44. package/dist/commands/logout.js +77 -15
  45. package/dist/commands/upgrade.d.ts +5 -0
  46. package/dist/commands/upgrade.js +331 -0
  47. package/dist/config/oauth.d.ts +17 -11
  48. package/dist/config/oauth.js +38 -37
  49. package/dist/constants.d.ts +63 -18
  50. package/dist/constants.js +158 -18
  51. package/dist/db-content-api/generated/content-api-types.d.ts +3978 -0
  52. package/dist/db-content-api/generated/content-api-types.js +7 -0
  53. package/dist/db-content-api/index.d.ts +37 -0
  54. package/dist/db-content-api/index.js +923 -0
  55. package/dist/db-content-api/temp-utilities/slug.d.ts +2 -0
  56. package/dist/db-content-api/temp-utilities/slug.js +3 -0
  57. package/dist/db-content-api/temp-utilities/sorting.d.ts +3 -0
  58. package/dist/db-content-api/temp-utilities/sorting.js +39 -0
  59. package/dist/db-content-api/temp-utilities/types.d.ts +22 -0
  60. package/dist/db-content-api/temp-utilities/types.js +15 -0
  61. package/dist/db-content-api/temp-utilities/unwrapDocument.d.ts +39 -0
  62. package/dist/db-content-api/temp-utilities/unwrapDocument.js +64 -0
  63. package/dist/db-content-api/utilities/auth.d.ts +30 -0
  64. package/dist/db-content-api/utilities/auth.js +84 -0
  65. package/dist/db-content-api/utilities/data/applyDefaults.d.ts +7 -0
  66. package/dist/db-content-api/utilities/data/applyDefaults.js +75 -0
  67. package/dist/db-content-api/utilities/data/castFieldValue.d.ts +11 -0
  68. package/dist/db-content-api/utilities/data/castFieldValue.js +68 -0
  69. package/dist/db-content-api/utilities/data/index.d.ts +49 -0
  70. package/dist/db-content-api/utilities/data/index.js +301 -0
  71. package/dist/db-content-api/utilities/data/removeVirtualFields.d.ts +12 -0
  72. package/dist/db-content-api/utilities/data/removeVirtualFields.js +54 -0
  73. package/dist/db-content-api/utilities/data/stripFields.d.ts +48 -0
  74. package/dist/db-content-api/utilities/data/stripFields.js +195 -0
  75. package/dist/db-content-api/utilities/data/transformPublishedLocale.d.ts +23 -0
  76. package/dist/db-content-api/utilities/data/transformPublishedLocale.js +42 -0
  77. package/dist/db-content-api/utilities/data/validateRelationships.d.ts +7 -0
  78. package/dist/db-content-api/utilities/data/validateRelationships.js +102 -0
  79. package/dist/db-content-api/utilities/joins.d.ts +53 -0
  80. package/dist/db-content-api/utilities/joins.js +139 -0
  81. package/dist/db-content-api/utilities/locale/index.d.ts +10 -0
  82. package/dist/db-content-api/utilities/locale/index.js +21 -0
  83. package/dist/db-content-api/utilities/meta/buildLocalizedPaths.d.ts +11 -0
  84. package/dist/db-content-api/utilities/meta/buildLocalizedPaths.js +74 -0
  85. package/dist/db-content-api/utilities/meta/buildMeta.d.ts +42 -0
  86. package/dist/db-content-api/utilities/meta/buildMeta.js +41 -0
  87. package/dist/db-content-api/utilities/meta/buildPathTypes.d.ts +17 -0
  88. package/dist/db-content-api/utilities/meta/buildPathTypes.js +244 -0
  89. package/dist/db-content-api/utilities/meta/buildUniquePaths.d.ts +13 -0
  90. package/dist/db-content-api/utilities/meta/buildUniquePaths.js +62 -0
  91. package/dist/db-content-api/utilities/meta/normalizeLocaleInWhere.d.ts +10 -0
  92. package/dist/db-content-api/utilities/meta/normalizeLocaleInWhere.js +102 -0
  93. package/dist/db-content-api/utilities/where.d.ts +20 -0
  94. package/dist/db-content-api/utilities/where.js +108 -0
  95. package/dist/deploy/schedule-extract-plugin.d.ts +11 -0
  96. package/dist/deploy/schedule-extract-plugin.js +34 -0
  97. package/dist/endpoints/health.d.ts +3 -0
  98. package/dist/endpoints/health.js +11 -0
  99. package/dist/endpoints/schema.d.ts +3 -0
  100. package/dist/endpoints/schema.js +29 -0
  101. package/dist/exports/client.d.ts +3 -0
  102. package/dist/exports/client.js +3 -0
  103. package/dist/index.d.ts +2 -1
  104. package/dist/index.js +3 -1
  105. package/dist/lib/download-skill.d.ts +13 -0
  106. package/dist/lib/download-skill.js +79 -0
  107. package/dist/oauth/components/FigmaAvatar/index.d.ts +4 -0
  108. package/dist/oauth/components/FigmaAvatar/index.js +27 -0
  109. package/dist/oauth/components/FigmaAvatar/index.scss +12 -0
  110. package/dist/oauth/components/FigmaAvatarCell/index.d.ts +5 -0
  111. package/dist/oauth/components/FigmaAvatarCell/index.js +25 -0
  112. package/dist/oauth/components/FigmaAvatarCell/index.scss +5 -0
  113. package/dist/oauth/components/FigmaAvatarPlaceholder/index.d.ts +9 -0
  114. package/dist/oauth/components/FigmaAvatarPlaceholder/index.js +37 -0
  115. package/dist/oauth/components/FigmaAvatarPlaceholder/index.scss +28 -0
  116. package/dist/oauth/components/LoginButton/iframeAutoLogin.d.ts +82 -0
  117. package/dist/oauth/components/LoginButton/iframeAutoLogin.js +170 -0
  118. package/dist/oauth/components/LoginButton/index.js +150 -12
  119. package/dist/oauth/components/LoginButton/index.scss +75 -3
  120. package/dist/oauth/components/LogoutButton/index.js +20 -7
  121. package/dist/oauth/defaults.d.ts +3 -1
  122. package/dist/oauth/defaults.js +68 -10
  123. package/dist/oauth/endpoints/getLoginEndpoint.js +72 -77
  124. package/dist/oauth/endpoints/getLogoutEndpoint.js +7 -4
  125. package/dist/oauth/endpoints/getMetaEndpoint.js +18 -3
  126. package/dist/oauth/endpoints/getRedirectToLoginEndpoint.js +11 -2
  127. package/dist/oauth/index.js +27 -5
  128. package/dist/oauth/strategy/index.d.ts +0 -2
  129. package/dist/oauth/strategy/index.js +40 -17
  130. package/dist/oauth/types.d.ts +23 -6
  131. package/dist/oauth/utilities/establishSession.d.ts +23 -0
  132. package/dist/oauth/utilities/establishSession.js +82 -0
  133. package/dist/oauth/utilities/exchangeCodeForAccessToken.d.ts +24 -0
  134. package/dist/oauth/utilities/exchangeCodeForAccessToken.js +28 -0
  135. package/dist/oauth/utilities/figmaHostnames.d.ts +3 -0
  136. package/dist/oauth/utilities/figmaHostnames.js +26 -0
  137. package/dist/oauth/utilities/getAuthorizeURL.d.ts +65 -1
  138. package/dist/oauth/utilities/getAuthorizeURL.js +57 -2
  139. package/dist/oauth/utilities/isAbsoluteURL.d.ts +2 -0
  140. package/dist/oauth/utilities/isAbsoluteURL.js +3 -0
  141. package/dist/oauth/utilities/isDuplicateKeyError.d.ts +7 -0
  142. package/dist/oauth/utilities/isDuplicateKeyError.js +14 -0
  143. package/dist/oauth/utilities/refreshTokens.js +6 -3
  144. package/dist/plugin/auth-preflight.d.ts +8 -0
  145. package/dist/plugin/auth-preflight.js +20 -0
  146. package/dist/plugin/bootstrap-preflight.d.ts +23 -0
  147. package/dist/plugin/bootstrap-preflight.js +45 -0
  148. package/dist/plugin/build-config.d.ts +27 -15
  149. package/dist/plugin/build-config.js +327 -17
  150. package/dist/plugin/dev-cookie-names.d.ts +14 -0
  151. package/dist/plugin/dev-cookie-names.js +19 -0
  152. package/dist/storage-content-api/api-types.d.ts +168 -0
  153. package/dist/storage-content-api/api-types.js +6 -0
  154. package/dist/storage-content-api/client-uploads/ClientUploadHandler.d.ts +9 -0
  155. package/dist/storage-content-api/client-uploads/ClientUploadHandler.js +43 -0
  156. package/dist/storage-content-api/client-uploads/generateSignedURL.d.ts +13 -0
  157. package/dist/storage-content-api/client-uploads/generateSignedURL.js +39 -0
  158. package/dist/storage-content-api/client.d.ts +6 -0
  159. package/dist/storage-content-api/client.js +39 -0
  160. package/dist/storage-content-api/generateURL.d.ts +7 -0
  161. package/dist/storage-content-api/generateURL.js +8 -0
  162. package/dist/storage-content-api/handleDelete.d.ts +8 -0
  163. package/dist/storage-content-api/handleDelete.js +17 -0
  164. package/dist/storage-content-api/handleUpload.d.ts +11 -0
  165. package/dist/storage-content-api/handleUpload.js +144 -0
  166. package/dist/storage-content-api/index.d.ts +5 -0
  167. package/dist/storage-content-api/index.js +31 -0
  168. package/dist/storage-content-api/staticHandler.d.ts +10 -0
  169. package/dist/storage-content-api/staticHandler.js +63 -0
  170. package/dist/storage-content-api/types.d.ts +10 -0
  171. package/dist/storage-content-api/types.js +3 -0
  172. package/dist/storage-content-api/utilities/getSafeFilename.d.ts +12 -0
  173. package/dist/storage-content-api/utilities/getSafeFilename.js +61 -0
  174. package/dist/storage-content-api/utilities/index.d.ts +3 -0
  175. package/dist/storage-content-api/utilities/index.js +4 -0
  176. package/dist/storage-content-api/utilities/parseClientUploadContext.d.ts +19 -0
  177. package/dist/storage-content-api/utilities/parseClientUploadContext.js +30 -0
  178. package/dist/templates/.env.example +5 -0
  179. package/dist/templates/README.md +19 -0
  180. package/dist/types/config.d.ts +2 -1
  181. package/dist/types/config.js +0 -2
  182. package/dist/types.d.ts +10 -1
  183. package/dist/utils/adapters/nextjs.d.ts +9 -0
  184. package/dist/utils/adapters/nextjs.js +64 -0
  185. package/dist/utils/adapters/nitro.d.ts +9 -0
  186. package/dist/utils/adapters/nitro.js +169 -0
  187. package/dist/utils/adapters/vite.d.ts +10 -0
  188. package/dist/utils/adapters/vite.js +33 -0
  189. package/dist/utils/asset-collection.d.ts +27 -6
  190. package/dist/utils/asset-collection.js +59 -30
  191. package/dist/utils/build-detection.d.ts +5 -11
  192. package/dist/utils/build-detection.js +74 -11
  193. package/dist/utils/build-lambda-zip.d.ts +16 -0
  194. package/dist/utils/build-lambda-zip.js +78 -0
  195. package/dist/utils/cache-bootstrap.d.ts +8 -0
  196. package/dist/utils/cache-bootstrap.js +18 -0
  197. package/dist/utils/config.js +1 -1
  198. package/dist/utils/deploy-adapter.d.ts +40 -0
  199. package/dist/utils/deploy-adapter.js +58 -0
  200. package/dist/utils/download-template.d.ts +9 -1
  201. package/dist/utils/download-template.js +24 -18
  202. package/dist/utils/env-management.d.ts +24 -7
  203. package/dist/utils/env-management.js +119 -64
  204. package/dist/utils/format-env-suffix.d.ts +12 -0
  205. package/dist/utils/format-env-suffix.js +13 -0
  206. package/dist/utils/formatter.js +23 -11
  207. package/dist/utils/fs-utils.d.ts +6 -0
  208. package/dist/utils/fs-utils.js +27 -0
  209. package/dist/utils/handle-upgrade.d.ts +9 -0
  210. package/dist/utils/handle-upgrade.js +41 -0
  211. package/dist/utils/lambda-config.d.ts +3 -1
  212. package/dist/utils/lambda-config.js +75 -78
  213. package/dist/utils/messages.d.ts +1 -2
  214. package/dist/utils/messages.js +39 -11
  215. package/dist/utils/package-manager.d.ts +24 -0
  216. package/dist/utils/package-manager.js +53 -0
  217. package/dist/utils/parse-template-spec.d.ts +12 -0
  218. package/dist/utils/parse-template-spec.js +62 -0
  219. package/dist/utils/payload-config-ast.d.ts +27 -6
  220. package/dist/utils/payload-config-ast.js +106 -58
  221. package/dist/utils/payload-config-finder.d.ts +2 -2
  222. package/dist/utils/payload-config-finder.js +48 -9
  223. package/dist/utils/payload-config-modifier.d.ts +1 -1
  224. package/dist/utils/payload-config-modifier.js +114 -66
  225. package/dist/utils/payload-package-check.d.ts +33 -2
  226. package/dist/utils/payload-package-check.js +129 -28
  227. package/dist/utils/project.d.ts +7 -2
  228. package/dist/utils/project.js +60 -32
  229. package/dist/utils/resolve-environment.d.ts +14 -0
  230. package/dist/utils/resolve-environment.js +31 -0
  231. package/dist/utils/s3-upload.d.ts +7 -2
  232. package/dist/utils/s3-upload.js +39 -6
  233. package/dist/utils/token-display.d.ts +5 -1
  234. package/dist/utils/token-display.js +49 -22
  235. package/dist/utils/typescript-validator.js +4 -6
  236. package/dist/utils/version-check.d.ts +3 -0
  237. package/dist/utils/version-check.js +38 -0
  238. package/package.json +44 -15
  239. package/dist/api/control-plane.d.ts.map +0 -1
  240. package/dist/api/control-plane.js.map +0 -1
  241. package/dist/api/figma-api.d.ts.map +0 -1
  242. package/dist/api/figma-api.js.map +0 -1
  243. package/dist/auth/browser.d.ts.map +0 -1
  244. package/dist/auth/browser.js.map +0 -1
  245. package/dist/auth/callback-server.d.ts.map +0 -1
  246. package/dist/auth/callback-server.js.map +0 -1
  247. package/dist/auth/crypto-utils.d.ts.map +0 -1
  248. package/dist/auth/crypto-utils.js.map +0 -1
  249. package/dist/auth/jwt-validator.d.ts.map +0 -1
  250. package/dist/auth/jwt-validator.js.map +0 -1
  251. package/dist/auth/oauth-flow.d.ts.map +0 -1
  252. package/dist/auth/oauth-flow.js.map +0 -1
  253. package/dist/auth/pkce.d.ts.map +0 -1
  254. package/dist/auth/pkce.js.map +0 -1
  255. package/dist/auth/project-token.d.ts.map +0 -1
  256. package/dist/auth/project-token.js.map +0 -1
  257. package/dist/auth/refresh.d.ts.map +0 -1
  258. package/dist/auth/refresh.js.map +0 -1
  259. package/dist/auth/token-store.d.ts.map +0 -1
  260. package/dist/auth/token-store.js.map +0 -1
  261. package/dist/auth/types.d.ts.map +0 -1
  262. package/dist/auth/types.js.map +0 -1
  263. package/dist/cli.d.ts.map +0 -1
  264. package/dist/cli.js.map +0 -1
  265. package/dist/commands/deploy.d.ts.map +0 -1
  266. package/dist/commands/deploy.js.map +0 -1
  267. package/dist/commands/init.d.ts.map +0 -1
  268. package/dist/commands/init.js.map +0 -1
  269. package/dist/commands/list-tokens.d.ts.map +0 -1
  270. package/dist/commands/list-tokens.js.map +0 -1
  271. package/dist/commands/login.d.ts.map +0 -1
  272. package/dist/commands/login.js.map +0 -1
  273. package/dist/commands/logout.d.ts.map +0 -1
  274. package/dist/commands/logout.js.map +0 -1
  275. package/dist/config/oauth.d.ts.map +0 -1
  276. package/dist/config/oauth.js.map +0 -1
  277. package/dist/constants.d.ts.map +0 -1
  278. package/dist/constants.js.map +0 -1
  279. package/dist/exports/client.d.ts.map +0 -1
  280. package/dist/exports/client.js.map +0 -1
  281. package/dist/index.d.ts.map +0 -1
  282. package/dist/index.js.map +0 -1
  283. package/dist/oauth/components/LoginButton/index.d.ts.map +0 -1
  284. package/dist/oauth/components/LoginButton/index.js.map +0 -1
  285. package/dist/oauth/components/LogoutButton/index.d.ts.map +0 -1
  286. package/dist/oauth/components/LogoutButton/index.js.map +0 -1
  287. package/dist/oauth/defaults.d.ts.map +0 -1
  288. package/dist/oauth/defaults.js.map +0 -1
  289. package/dist/oauth/endpoints/getLoginEndpoint.d.ts.map +0 -1
  290. package/dist/oauth/endpoints/getLoginEndpoint.js.map +0 -1
  291. package/dist/oauth/endpoints/getLogoutEndpoint.d.ts.map +0 -1
  292. package/dist/oauth/endpoints/getLogoutEndpoint.js.map +0 -1
  293. package/dist/oauth/endpoints/getMetaEndpoint.d.ts.map +0 -1
  294. package/dist/oauth/endpoints/getMetaEndpoint.js.map +0 -1
  295. package/dist/oauth/endpoints/getRedirectToLoginEndpoint.d.ts.map +0 -1
  296. package/dist/oauth/endpoints/getRedirectToLoginEndpoint.js.map +0 -1
  297. package/dist/oauth/exports/client.d.ts.map +0 -1
  298. package/dist/oauth/exports/client.js.map +0 -1
  299. package/dist/oauth/hooks/afterLogout.d.ts.map +0 -1
  300. package/dist/oauth/hooks/afterLogout.js.map +0 -1
  301. package/dist/oauth/hooks/me.d.ts.map +0 -1
  302. package/dist/oauth/hooks/me.js.map +0 -1
  303. package/dist/oauth/hooks/refresh.d.ts.map +0 -1
  304. package/dist/oauth/hooks/refresh.js.map +0 -1
  305. package/dist/oauth/index.d.ts.map +0 -1
  306. package/dist/oauth/index.js.map +0 -1
  307. package/dist/oauth/strategy/index.d.ts.map +0 -1
  308. package/dist/oauth/strategy/index.js.map +0 -1
  309. package/dist/oauth/types.d.ts.map +0 -1
  310. package/dist/oauth/types.js.map +0 -1
  311. package/dist/oauth/utilities/clearCookie.d.ts.map +0 -1
  312. package/dist/oauth/utilities/clearCookie.js.map +0 -1
  313. package/dist/oauth/utilities/createCookieOptions.d.ts.map +0 -1
  314. package/dist/oauth/utilities/createCookieOptions.js.map +0 -1
  315. package/dist/oauth/utilities/createDebugLogger.d.ts.map +0 -1
  316. package/dist/oauth/utilities/createDebugLogger.js.map +0 -1
  317. package/dist/oauth/utilities/extractOrigin.d.ts.map +0 -1
  318. package/dist/oauth/utilities/extractOrigin.js.map +0 -1
  319. package/dist/oauth/utilities/getAdminCollectionSlug.d.ts.map +0 -1
  320. package/dist/oauth/utilities/getAdminCollectionSlug.js.map +0 -1
  321. package/dist/oauth/utilities/getAdminPath.d.ts +0 -8
  322. package/dist/oauth/utilities/getAdminPath.d.ts.map +0 -1
  323. package/dist/oauth/utilities/getAdminPath.js +0 -9
  324. package/dist/oauth/utilities/getAdminPath.js.map +0 -1
  325. package/dist/oauth/utilities/getAuthorizeURL.d.ts.map +0 -1
  326. package/dist/oauth/utilities/getAuthorizeURL.js.map +0 -1
  327. package/dist/oauth/utilities/getCookieExpiration.d.ts.map +0 -1
  328. package/dist/oauth/utilities/getCookieExpiration.js.map +0 -1
  329. package/dist/oauth/utilities/getSecondsFromTokenExp.d.ts.map +0 -1
  330. package/dist/oauth/utilities/getSecondsFromTokenExp.js.map +0 -1
  331. package/dist/oauth/utilities/getTokenExp.d.ts.map +0 -1
  332. package/dist/oauth/utilities/getTokenExp.js.map +0 -1
  333. package/dist/oauth/utilities/getUsernameField.d.ts.map +0 -1
  334. package/dist/oauth/utilities/getUsernameField.js.map +0 -1
  335. package/dist/oauth/utilities/hasUserTokenPropsChanged.d.ts.map +0 -1
  336. package/dist/oauth/utilities/hasUserTokenPropsChanged.js.map +0 -1
  337. package/dist/oauth/utilities/mergeHeaders.d.ts.map +0 -1
  338. package/dist/oauth/utilities/mergeHeaders.js.map +0 -1
  339. package/dist/oauth/utilities/refreshTokens.d.ts.map +0 -1
  340. package/dist/oauth/utilities/refreshTokens.js.map +0 -1
  341. package/dist/plugin/adapter.d.ts.map +0 -1
  342. package/dist/plugin/adapter.js.map +0 -1
  343. package/dist/plugin/build-config.d.ts.map +0 -1
  344. package/dist/plugin/build-config.js.map +0 -1
  345. package/dist/types/config.d.ts.map +0 -1
  346. package/dist/types/config.js.map +0 -1
  347. package/dist/types.d.ts.map +0 -1
  348. package/dist/types.js.map +0 -1
  349. package/dist/utils/asset-collection.d.ts.map +0 -1
  350. package/dist/utils/asset-collection.js.map +0 -1
  351. package/dist/utils/build-detection.d.ts.map +0 -1
  352. package/dist/utils/build-detection.js.map +0 -1
  353. package/dist/utils/config.d.ts.map +0 -1
  354. package/dist/utils/config.js.map +0 -1
  355. package/dist/utils/download-template.d.ts.map +0 -1
  356. package/dist/utils/download-template.js.map +0 -1
  357. package/dist/utils/env-management.d.ts.map +0 -1
  358. package/dist/utils/env-management.js.map +0 -1
  359. package/dist/utils/format.d.ts.map +0 -1
  360. package/dist/utils/format.js.map +0 -1
  361. package/dist/utils/formatter.d.ts.map +0 -1
  362. package/dist/utils/formatter.js.map +0 -1
  363. package/dist/utils/git.d.ts.map +0 -1
  364. package/dist/utils/git.js.map +0 -1
  365. package/dist/utils/is-debug.d.ts.map +0 -1
  366. package/dist/utils/is-debug.js.map +0 -1
  367. package/dist/utils/lambda-config.d.ts.map +0 -1
  368. package/dist/utils/lambda-config.js.map +0 -1
  369. package/dist/utils/log.d.ts.map +0 -1
  370. package/dist/utils/log.js.map +0 -1
  371. package/dist/utils/messages.d.ts.map +0 -1
  372. package/dist/utils/messages.js.map +0 -1
  373. package/dist/utils/package-manager.d.ts.map +0 -1
  374. package/dist/utils/package-manager.js.map +0 -1
  375. package/dist/utils/payload-config-ast.d.ts.map +0 -1
  376. package/dist/utils/payload-config-ast.js.map +0 -1
  377. package/dist/utils/payload-config-finder.d.ts.map +0 -1
  378. package/dist/utils/payload-config-finder.js.map +0 -1
  379. package/dist/utils/payload-config-modifier.d.ts.map +0 -1
  380. package/dist/utils/payload-config-modifier.js.map +0 -1
  381. package/dist/utils/payload-package-check.d.ts.map +0 -1
  382. package/dist/utils/payload-package-check.js.map +0 -1
  383. package/dist/utils/project.d.ts.map +0 -1
  384. package/dist/utils/project.js.map +0 -1
  385. package/dist/utils/s3-upload.d.ts.map +0 -1
  386. package/dist/utils/s3-upload.js.map +0 -1
  387. package/dist/utils/token-display.d.ts.map +0 -1
  388. package/dist/utils/token-display.js.map +0 -1
  389. package/dist/utils/typescript-validator.d.ts.map +0 -1
  390. package/dist/utils/typescript-validator.js.map +0 -1
@@ -0,0 +1,8 @@
1
+ import type { BootstrapInfo } from '../api/control-plane.js';
2
+ import type { TokenStore } from '../auth/token-store.js';
3
+ /**
4
+ * Cache bootstrap data for all environments in the local encrypted store.
5
+ * Called from init, env, and build-config to keep the store populated.
6
+ */
7
+ export declare function cacheAllEnvironments(tokenStore: TokenStore, projectId: string, bootstrapInfo: BootstrapInfo): void;
8
+ //# sourceMappingURL=cache-bootstrap.d.ts.map
@@ -0,0 +1,18 @@
1
+ import * as log from './log.js';
2
+ /**
3
+ * Cache bootstrap data for all environments in the local encrypted store.
4
+ * Called from init, env, and build-config to keep the store populated.
5
+ */ export function cacheAllEnvironments(tokenStore, projectId, bootstrapInfo) {
6
+ const { oauthCredentials } = bootstrapInfo;
7
+ for (const env of bootstrapInfo.environments){
8
+ tokenStore.setBootstrapData(projectId, env.name, {
9
+ contentSystemId: env.contentSystemId,
10
+ oauthClientId: oauthCredentials.oauthClientId,
11
+ oauthClientSecret: oauthCredentials.oauthClientSecret,
12
+ tenantInstanceId: env.tenantInstanceId
13
+ });
14
+ }
15
+ log.debug(`Cached bootstrap data for environments: ${bootstrapInfo.environments.map((e)=>e.name).join(', ')}`);
16
+ }
17
+
18
+ //# sourceMappingURL=cache-bootstrap.js.map
@@ -19,7 +19,7 @@ const GITIGNORE_FILENAME = '.gitignore';
19
19
  }
20
20
  }
21
21
  // Parse existing entries
22
- const existingLines = existingContent.split('\n').filter((line)=>line.trim());
22
+ const existingLines = existingContent.split(/\r?\n/).filter((line)=>line.trim());
23
23
  const existingSet = new Set(existingLines);
24
24
  // Add new entries that don't exist
25
25
  const newEntries = entries.filter((entry)=>!existingSet.has(entry));
@@ -0,0 +1,40 @@
1
+ export interface PageCollection {
2
+ /** S3 key → relative filesystem path from project root */
3
+ pathMap: Record<string, string>;
4
+ /** Route → S3 upload keys for that route (e.g., { "/products": ["products.html", "products.rsc"] }) */
5
+ routeAssetMap: Record<string, string[]>;
6
+ /** Route paths for the manifest pages array (e.g., ["/products", "/blog"]) */
7
+ routes: string[];
8
+ /** S3 keys to upload (e.g., ["products.html", "products.rsc", "products.meta"]) */
9
+ uploadKeys: string[];
10
+ }
11
+ export interface AssetCollection {
12
+ /** S3 key → relative filesystem path from project root */
13
+ pathMap: Record<string, string>;
14
+ /** Route paths for the manifest assets array (e.g., ["/favicon.ico"]) */
15
+ routes: string[];
16
+ /** S3 keys to upload (same as routes for assets, without leading slash) */
17
+ uploadKeys: string[];
18
+ }
19
+ export type AdapterName = 'nextjs' | 'nitro' | 'vite';
20
+ export interface DeployAdapter {
21
+ collectAssets(projectPath: string): Promise<AssetCollection>;
22
+ collectPages(projectPath: string): Promise<PageCollection>;
23
+ /** SPA fallback path (e.g., "/index.html"). Undefined for SSR/SSG apps. */
24
+ fallback?: string;
25
+ name: AdapterName;
26
+ /** Assembles and zips the server bundle. Returns path to zip, or null if no server (e.g., Vite SPA). */
27
+ prepareLambdaBundle(projectPath: string): Promise<null | string>;
28
+ }
29
+ /**
30
+ * Auto-detect the framework adapter based on build output.
31
+ *
32
+ * - .next/ exists → nextjs
33
+ * - .output/nitro.json exists → nitro
34
+ * - dist/index.html exists (no .next/, no .output/) → vite
35
+ *
36
+ * @param projectPath - Path to project root
37
+ * @param override - Explicit adapter name from --adapter flag
38
+ */
39
+ export declare function detectAdapter(projectPath: string, override?: AdapterName): Promise<DeployAdapter>;
40
+ //# sourceMappingURL=deploy-adapter.d.ts.map
@@ -0,0 +1,58 @@
1
+ import fs from 'fs/promises';
2
+ import path from 'path';
3
+ /**
4
+ * Auto-detect the framework adapter based on build output.
5
+ *
6
+ * - .next/ exists → nextjs
7
+ * - .output/nitro.json exists → nitro
8
+ * - dist/index.html exists (no .next/, no .output/) → vite
9
+ *
10
+ * @param projectPath - Path to project root
11
+ * @param override - Explicit adapter name from --adapter flag
12
+ */ export async function detectAdapter(projectPath, override) {
13
+ if (override) {
14
+ return loadAdapter(override);
15
+ }
16
+ const hasNext = await exists(path.join(projectPath, '.next'));
17
+ const hasNitro = await exists(path.join(projectPath, '.output', 'nitro.json'));
18
+ const hasViteDist = await exists(path.join(projectPath, 'dist', 'index.html'));
19
+ if (hasNext) {
20
+ return loadAdapter('nextjs');
21
+ }
22
+ if (hasNitro) {
23
+ return loadAdapter('nitro');
24
+ }
25
+ if (hasViteDist) {
26
+ return loadAdapter('vite');
27
+ }
28
+ throw new Error('Could not detect framework. Expected .next/ (NextJS), .output/nitro.json (Nitro), or dist/index.html (Vite). ' + 'Use --adapter to specify explicitly.');
29
+ }
30
+ async function loadAdapter(name) {
31
+ switch(name){
32
+ case 'nextjs':
33
+ {
34
+ const mod = await import('./adapters/nextjs.js');
35
+ return mod.nextjsAdapter;
36
+ }
37
+ case 'nitro':
38
+ {
39
+ const mod = await import('./adapters/nitro.js');
40
+ return mod.nitroAdapter;
41
+ }
42
+ case 'vite':
43
+ {
44
+ const mod = await import('./adapters/vite.js');
45
+ return mod.viteAdapter;
46
+ }
47
+ }
48
+ }
49
+ async function exists(filePath) {
50
+ try {
51
+ await fs.stat(filePath);
52
+ return true;
53
+ } catch {
54
+ return false;
55
+ }
56
+ }
57
+
58
+ //# sourceMappingURL=deploy-adapter.js.map
@@ -5,11 +5,19 @@ export declare class TemplateDownloadError extends Error {
5
5
  cause?: Error | undefined;
6
6
  constructor(message: string, cause?: Error | undefined);
7
7
  }
8
+ export type TemplateSource = {
9
+ owner: string;
10
+ ref: string;
11
+ repo: string;
12
+ templatePath: string;
13
+ };
14
+ export declare const DEFAULT_TEMPLATE_SOURCE: TemplateSource;
8
15
  /**
9
16
  * Download Payload template from GitHub with retry logic
10
17
  *
11
18
  * @param projectDir - Directory to extract template into
19
+ * @param source - Optional override of repo / ref / template path
12
20
  * @throws TemplateDownloadError if download fails
13
21
  */
14
- export declare function downloadTemplateFromGitHub(projectDir: string): Promise<void>;
22
+ export declare function downloadTemplateFromGitHub(projectDir: string, source?: Partial<TemplateSource>): Promise<void>;
15
23
  //# sourceMappingURL=download-template.d.ts.map
@@ -11,22 +11,30 @@ import { x } from 'tar';
11
11
  this.name = 'TemplateDownloadError';
12
12
  }
13
13
  }
14
- const BRANCH_OR_TAG = 'main';
15
- const TEMPLATE_NAME = 'blank';
14
+ export const DEFAULT_TEMPLATE_SOURCE = {
15
+ owner: 'payloadcms',
16
+ ref: 'v3.84.1',
17
+ repo: 'payload',
18
+ templatePath: 'blank'
19
+ };
16
20
  const MAX_RETRIES = 3;
17
- const INITIAL_RETRY_DELAY = 1000 // 1 second
18
- ;
21
+ const INITIAL_RETRY_DELAY = 1000;
19
22
  /**
20
23
  * Download Payload template from GitHub with retry logic
21
24
  *
22
25
  * @param projectDir - Directory to extract template into
26
+ * @param source - Optional override of repo / ref / template path
23
27
  * @throws TemplateDownloadError if download fails
24
- */ export async function downloadTemplateFromGitHub(projectDir) {
28
+ */ export async function downloadTemplateFromGitHub(projectDir, source) {
29
+ const resolved = {
30
+ ...DEFAULT_TEMPLATE_SOURCE,
31
+ ...source
32
+ };
25
33
  let lastError;
26
34
  for(let attempt = 1; attempt <= MAX_RETRIES; attempt++){
27
35
  try {
28
- await downloadTemplateAttempt(projectDir);
29
- return; // Success
36
+ await downloadTemplateAttempt(projectDir, resolved);
37
+ return;
30
38
  } catch (error) {
31
39
  lastError = error instanceof Error ? error : new Error('Unknown error');
32
40
  if (attempt < MAX_RETRIES) {
@@ -36,31 +44,29 @@ const INITIAL_RETRY_DELAY = 1000 // 1 second
36
44
  }
37
45
  }
38
46
  }
39
- // All retries failed
40
47
  throw new TemplateDownloadError(`Failed to download template after ${MAX_RETRIES} attempts`, lastError);
41
48
  }
42
- /**
43
- * Single attempt to download template (extracted for retry logic)
44
- */ async function downloadTemplateAttempt(projectDir) {
45
- const url = `https://codeload.github.com/payloadcms/payload/tar.gz/${BRANCH_OR_TAG}`;
46
- const filter = `payload-${BRANCH_OR_TAG}/templates/${TEMPLATE_NAME}/`;
49
+ async function downloadTemplateAttempt(projectDir, source) {
50
+ const url = `https://codeload.github.com/${source.owner}/${source.repo}/tar.gz/${source.ref}`;
51
+ // GitHub strips the leading 'v' and replaces '/' with '-' when naming the tarball root dir
52
+ const refSlug = source.ref.replace(/^v/, '').replace(/\//g, '-');
53
+ const tarballPrefix = `${source.repo}-${refSlug}`;
54
+ const filter = `${tarballPrefix}/templates/${source.templatePath}/`;
55
+ const strip = 2 + source.templatePath.split('/').length;
47
56
  try {
48
- // Ensure target directory exists
49
57
  await fs.mkdir(projectDir, {
50
58
  recursive: true
51
59
  });
52
60
  await pipeline(await downloadTarStream(url), x({
53
61
  cwd: projectDir,
54
62
  filter: (p)=>p.includes(filter),
55
- strip: 2 + TEMPLATE_NAME.split('/').length
63
+ strip
56
64
  }));
57
65
  } catch (error) {
58
66
  throw new TemplateDownloadError('Failed to download template from GitHub', error instanceof Error ? error : undefined);
59
67
  }
60
68
  }
61
- /**
62
- * Download tar stream from URL
63
- */ async function downloadTarStream(url) {
69
+ async function downloadTarStream(url) {
64
70
  const res = await fetch(url);
65
71
  if (!res.ok) {
66
72
  throw new Error(`HTTP ${res.status}: ${res.statusText}`);
@@ -1,16 +1,33 @@
1
1
  /**
2
- * Generate a cryptographically secure secret for PAYLOAD_SECRET
2
+ * Get an environment variable value from .env file (async)
3
3
  *
4
- * @returns 24-character hexadecimal string
4
+ * @param projectPath - Path to project directory
5
+ * @param key - Environment variable name to retrieve
6
+ * @returns The value if found, null otherwise
7
+ */
8
+ export declare function getEnvVar(projectPath: string, key: string): Promise<null | string>;
9
+ /**
10
+ * Get an environment variable value from .env file (sync)
11
+ *
12
+ * @param projectPath - Path to project directory
13
+ * @param key - Environment variable name to retrieve
14
+ * @returns The value if found, null otherwise
5
15
  */
6
- export declare function generateSecret(): string;
16
+ export declare function getEnvVarSync(projectPath: string, key: string): null | string;
7
17
  /**
8
- * Manage environment files for a new project
18
+ * Add or update an environment variable in .env file
9
19
  *
10
- * Creates .env from .env.example (if exists) and populates PAYLOAD_SECRET
20
+ * @param projectPath - Path to project directory
21
+ * @param key - Environment variable name
22
+ * @param value - Environment variable value
23
+ */
24
+ export declare function addOrUpdateEnvVar(projectPath: string, key: string, value: string): Promise<void>;
25
+ /**
26
+ * Remove an environment variable from .env file
11
27
  *
12
28
  * @param projectPath - Path to project directory
13
- * @returns The generated payload secret
29
+ * @param key - Environment variable name to remove
30
+ * @returns true if key was found and removed, false otherwise
14
31
  */
15
- export declare function manageEnvFiles(projectPath: string): Promise<string>;
32
+ export declare function removeEnvVar(projectPath: string, key: string): Promise<boolean>;
16
33
  //# sourceMappingURL=env-management.d.ts.map
@@ -1,97 +1,152 @@
1
- import { randomBytes } from 'crypto';
2
1
  import fs from 'fs/promises';
2
+ import fsSync from 'node:fs';
3
3
  import path from 'path';
4
4
  /**
5
- * Generate a cryptographically secure secret for PAYLOAD_SECRET
6
- *
7
- * @returns 24-character hexadecimal string
8
- */ export function generateSecret() {
9
- return randomBytes(32).toString('hex').slice(0, 24);
10
- }
11
- /**
12
- * Sanitize and process environment file contents
13
- *
14
- * @param contents - Raw .env file contents
15
- * @param payloadSecret - Secret to use for PAYLOAD_SECRET
16
- * @returns Processed .env contents
17
- */ function sanitizeEnv(contents, payloadSecret) {
18
- const lines = contents.split('\n');
19
- const seenKeys = new Set();
20
- const processedLines = [];
5
+ * Parse .env file contents and extract value for a key
6
+ */ function parseEnvValue(contents, key) {
7
+ const lines = contents.split(/\r?\n/);
21
8
  for (const line of lines){
22
9
  // Skip empty lines and comments
23
10
  if (!line.trim() || line.trim().startsWith('#')) {
24
- processedLines.push(line);
25
11
  continue;
26
12
  }
27
13
  // Skip lines without =
28
14
  if (!line.includes('=')) {
29
- processedLines.push(line);
30
15
  continue;
31
16
  }
32
- const [key] = line.split('=');
33
- const trimmedKey = key.trim();
34
- // Skip duplicate keys
35
- if (seenKeys.has(trimmedKey)) {
36
- continue;
37
- }
38
- seenKeys.add(trimmedKey);
39
- // Replace PAYLOAD_SECRET with actual value
40
- if (trimmedKey === 'PAYLOAD_SECRET' || trimmedKey === 'PAYLOAD_SECRET_KEY') {
41
- processedLines.push(`PAYLOAD_SECRET=${payloadSecret}`);
42
- } else {
43
- processedLines.push(line);
17
+ const equalsIndex = line.indexOf('=');
18
+ const lineKey = line.substring(0, equalsIndex).trim();
19
+ if (lineKey === key) {
20
+ return line.substring(equalsIndex + 1);
44
21
  }
45
22
  }
46
- // Add PAYLOAD_SECRET if not present
47
- if (!seenKeys.has('PAYLOAD_SECRET') && !seenKeys.has('PAYLOAD_SECRET_KEY')) {
48
- processedLines.push(`PAYLOAD_SECRET=${payloadSecret}`);
23
+ return null;
24
+ }
25
+ /**
26
+ * Get an environment variable value from .env file (async)
27
+ *
28
+ * @param projectPath - Path to project directory
29
+ * @param key - Environment variable name to retrieve
30
+ * @returns The value if found, null otherwise
31
+ */ export async function getEnvVar(projectPath, key) {
32
+ const envPath = path.join(projectPath, '.env');
33
+ try {
34
+ const contents = await fs.readFile(envPath, 'utf-8');
35
+ return parseEnvValue(contents, key);
36
+ } catch {
37
+ // File doesn't exist or can't be read
38
+ return null;
49
39
  }
50
- return processedLines.join('\n');
51
40
  }
52
41
  /**
53
- * Manage environment files for a new project
42
+ * Get an environment variable value from .env file (sync)
54
43
  *
55
- * Creates .env from .env.example (if exists) and populates PAYLOAD_SECRET
44
+ * @param projectPath - Path to project directory
45
+ * @param key - Environment variable name to retrieve
46
+ * @returns The value if found, null otherwise
47
+ */ export function getEnvVarSync(projectPath, key) {
48
+ const envPath = path.join(projectPath, '.env');
49
+ try {
50
+ const contents = fsSync.readFileSync(envPath, 'utf-8');
51
+ return parseEnvValue(contents, key);
52
+ } catch {
53
+ // File doesn't exist or can't be read
54
+ return null;
55
+ }
56
+ }
57
+ /**
58
+ * Add or update an environment variable in .env file
56
59
  *
57
60
  * @param projectPath - Path to project directory
58
- * @returns The generated payload secret
59
- */ export async function manageEnvFiles(projectPath) {
60
- const payloadSecret = generateSecret();
61
- const envExamplePath = path.join(projectPath, '.env.example');
61
+ * @param key - Environment variable name
62
+ * @param value - Environment variable value
63
+ */ export async function addOrUpdateEnvVar(projectPath, key, value) {
62
64
  const envPath = path.join(projectPath, '.env');
63
65
  try {
64
- // Check if .env.example exists
65
- let envExampleContents = '';
66
- try {
67
- envExampleContents = await fs.readFile(envExamplePath, 'utf-8');
68
- } catch {
69
- // No .env.example, create minimal .env
70
- envExampleContents = '';
71
- }
72
- // Check if .env already exists
66
+ let contents = '';
73
67
  let envExists = false;
68
+ // Try to read existing .env file
74
69
  try {
75
- await fs.access(envPath);
70
+ contents = await fs.readFile(envPath, 'utf-8');
76
71
  envExists = true;
77
72
  } catch {
78
- // .env doesn't exist
73
+ // .env doesn't exist, will create it
79
74
  }
80
- if (!envExists) {
81
- // Create .env from .env.example
82
- const sanitized = sanitizeEnv(envExampleContents, payloadSecret);
83
- await fs.writeFile(envPath, sanitized, 'utf-8');
84
- } else {
85
- // Update existing .env if it doesn't have PAYLOAD_SECRET
86
- const existingContents = await fs.readFile(envPath, 'utf-8');
87
- if (!existingContents.includes('PAYLOAD_SECRET=') && !existingContents.includes('PAYLOAD_SECRET_KEY=')) {
88
- const sanitized = sanitizeEnv(existingContents, payloadSecret);
89
- await fs.writeFile(envPath, sanitized, 'utf-8');
75
+ const lines = contents.split(/\r?\n/);
76
+ const seenKeys = new Set();
77
+ const processedLines = [];
78
+ let keyUpdated = false;
79
+ for (const line of lines){
80
+ // Skip empty lines at start if file didn't exist
81
+ if (!envExists && !line.trim()) {
82
+ continue;
83
+ }
84
+ // Preserve empty lines and comments
85
+ if (!line.trim() || line.trim().startsWith('#')) {
86
+ processedLines.push(line);
87
+ continue;
88
+ }
89
+ // Skip lines without =
90
+ if (!line.includes('=')) {
91
+ processedLines.push(line);
92
+ continue;
93
+ }
94
+ const [lineKey] = line.split('=');
95
+ const trimmedKey = lineKey.trim();
96
+ // Skip duplicate keys (keep first occurrence)
97
+ if (seenKeys.has(trimmedKey)) {
98
+ continue;
99
+ }
100
+ seenKeys.add(trimmedKey);
101
+ // Update or keep the line
102
+ if (trimmedKey === key) {
103
+ processedLines.push(`${key}=${value}`);
104
+ keyUpdated = true;
105
+ } else {
106
+ processedLines.push(line);
90
107
  }
91
108
  }
92
- return payloadSecret;
109
+ // Add key if not present
110
+ if (!keyUpdated) {
111
+ processedLines.push(`${key}=${value}`);
112
+ }
113
+ await fs.writeFile(envPath, processedLines.join('\n'), 'utf-8');
93
114
  } catch (error) {
94
- throw new Error(`Failed to manage environment files: ${error instanceof Error ? error.message : 'Unknown error'}`);
115
+ throw new Error(`Failed to update .env file: ${error instanceof Error ? error.message : 'Unknown error'}`);
116
+ }
117
+ }
118
+ /**
119
+ * Remove an environment variable from .env file
120
+ *
121
+ * @param projectPath - Path to project directory
122
+ * @param key - Environment variable name to remove
123
+ * @returns true if key was found and removed, false otherwise
124
+ */ export async function removeEnvVar(projectPath, key) {
125
+ const envPath = path.join(projectPath, '.env');
126
+ try {
127
+ const contents = await fs.readFile(envPath, 'utf-8');
128
+ const lines = contents.split(/\r?\n/);
129
+ const filteredLines = [];
130
+ let found = false;
131
+ for (const line of lines){
132
+ if (line.trim() && !line.trim().startsWith('#') && line.includes('=')) {
133
+ const equalsIndex = line.indexOf('=');
134
+ const lineKey = line.substring(0, equalsIndex).trim();
135
+ if (lineKey === key) {
136
+ found = true;
137
+ continue;
138
+ }
139
+ }
140
+ filteredLines.push(line);
141
+ }
142
+ if (found) {
143
+ // Collapse consecutive blank lines and trim leading/trailing blank lines
144
+ const collapsed = filteredLines.join('\n').replace(/\n{3,}/g, '\n\n').replace(/^\n+/, '');
145
+ await fs.writeFile(envPath, collapsed, 'utf-8');
146
+ }
147
+ return found;
148
+ } catch {
149
+ return false;
95
150
  }
96
151
  }
97
152
 
@@ -0,0 +1,12 @@
1
+ import type { Environment } from '../constants.js';
2
+ /**
3
+ * Format environment suffix for user-facing messages.
4
+ * Returns empty string for production (default), suffix for other environments.
5
+ *
6
+ * @param env - The environment
7
+ * @param prefix - Prefix before environment name (default: ' to ')
8
+ * @param suffix - Suffix after environment name (default: '')
9
+ * @returns Formatted string or empty string for production
10
+ */
11
+ export declare function formatEnvSuffix(env: Environment, prefix?: string, suffix?: string): string;
12
+ //# sourceMappingURL=format-env-suffix.d.ts.map
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Format environment suffix for user-facing messages.
3
+ * Returns empty string for production (default), suffix for other environments.
4
+ *
5
+ * @param env - The environment
6
+ * @param prefix - Prefix before environment name (default: ' to ')
7
+ * @param suffix - Suffix after environment name (default: '')
8
+ * @returns Formatted string or empty string for production
9
+ */ export function formatEnvSuffix(env, prefix = ' to ', suffix = '') {
10
+ return env !== 'production' ? `${prefix}${env}${suffix}` : '';
11
+ }
12
+
13
+ //# sourceMappingURL=format-env-suffix.js.map
@@ -1,44 +1,56 @@
1
- import { spawn } from 'child_process';
1
+ import spawn from 'cross-spawn';
2
2
  import path from 'path';
3
+ import * as log from './log.js';
3
4
  /**
4
5
  * Format file with Prettier
5
6
  * Returns warning if formatting fails but does not throw
6
7
  */ export async function formatFile(filePath, packageManager) {
8
+ const cmd = `${packageManager} exec prettier --write ${filePath}`;
9
+ const cwd = path.dirname(filePath);
10
+ log.debug(`Running formatter: ${cmd} (cwd: ${cwd})`);
7
11
  return new Promise((resolve)=>{
8
12
  try {
9
- const args = [
13
+ const child = spawn(packageManager, [
10
14
  'exec',
11
15
  'prettier',
12
16
  '--write',
13
17
  filePath
14
- ];
15
- const child = spawn(packageManager, args, {
16
- cwd: path.dirname(filePath),
17
- shell: true,
18
+ ], {
19
+ cwd,
18
20
  stdio: 'pipe'
19
21
  });
22
+ let stderr = '';
23
+ child.stderr?.on('data', (data)=>{
24
+ stderr += data.toString();
25
+ });
20
26
  child.on('close', (code)=>{
21
27
  if (code === 0) {
28
+ log.debug('Prettier formatting succeeded');
22
29
  resolve({
23
30
  success: true
24
31
  });
25
32
  } else {
33
+ const detail = stderr.trim();
34
+ log.debug(`Prettier exited with code ${code}${detail ? `: ${detail}` : ''}`);
26
35
  resolve({
27
36
  success: false,
28
- warning: 'Could not format file with Prettier'
37
+ warning: `Could not format file with Prettier (exit code ${code})${detail ? `: ${detail}` : ''}`
29
38
  });
30
39
  }
31
40
  });
32
- child.on('error', ()=>{
41
+ child.on('error', (err)=>{
42
+ log.debug(`Prettier spawn error: ${err.message}`);
33
43
  resolve({
34
44
  success: false,
35
- warning: 'Could not format file with Prettier'
45
+ warning: `Could not format file with Prettier: ${err.message}`
36
46
  });
37
47
  });
38
- } catch {
48
+ } catch (err) {
49
+ const message = err instanceof Error ? err.message : 'Unknown error';
50
+ log.debug(`Prettier failed to spawn: ${message}`);
39
51
  resolve({
40
52
  success: false,
41
- warning: 'Could not format file with Prettier'
53
+ warning: `Could not format file with Prettier: ${message}`
42
54
  });
43
55
  }
44
56
  });
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Recursively collect all file paths under a directory,
3
+ * returned as forward-slash-separated paths relative to baseDir.
4
+ */
5
+ export declare function collectFilesRecursive(dir: string, baseDir: string): Promise<string[]>;
6
+ //# sourceMappingURL=fs-utils.d.ts.map
@@ -0,0 +1,27 @@
1
+ import fs from 'fs/promises';
2
+ import path from 'path';
3
+ /**
4
+ * Recursively collect all file paths under a directory,
5
+ * returned as forward-slash-separated paths relative to baseDir.
6
+ */ export async function collectFilesRecursive(dir, baseDir) {
7
+ const files = [];
8
+ try {
9
+ const entries = await fs.readdir(dir, {
10
+ withFileTypes: true
11
+ });
12
+ for (const entry of entries){
13
+ const fullPath = path.join(dir, entry.name);
14
+ if (entry.isDirectory()) {
15
+ const subFiles = await collectFilesRecursive(fullPath, baseDir);
16
+ files.push(...subFiles);
17
+ } else if (entry.isFile()) {
18
+ files.push(path.relative(baseDir, fullPath).split(path.sep).join('/'));
19
+ }
20
+ }
21
+ } catch {
22
+ // Not accessible
23
+ }
24
+ return files;
25
+ }
26
+
27
+ //# sourceMappingURL=fs-utils.js.map
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Walk up from a directory to find the nearest package.json with name "@payloadcms/figma".
3
+ */
4
+ export declare function findPackageRoot(startDir: string): Promise<null | string>;
5
+ /**
6
+ * Build and pack the local @payloadcms/figma package, returning the tgz path.
7
+ */
8
+ export declare function packLocalPackage(pkgDir: string): string;
9
+ //# sourceMappingURL=handle-upgrade.d.ts.map