trigger.dev 3.0.0-beta.9 → 3.0.0

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 (231) hide show
  1. package/dist/esm/apiClient.d.ts +190 -0
  2. package/dist/esm/apiClient.js +239 -0
  3. package/dist/esm/apiClient.js.map +1 -0
  4. package/dist/esm/build/buildWorker.d.ts +68 -0
  5. package/dist/esm/build/buildWorker.js +159 -0
  6. package/dist/esm/build/buildWorker.js.map +1 -0
  7. package/dist/esm/build/bundle.d.ts +36 -0
  8. package/dist/esm/build/bundle.js +197 -0
  9. package/dist/esm/build/bundle.js.map +1 -0
  10. package/dist/esm/build/extensions.d.ts +15 -0
  11. package/dist/esm/build/extensions.js +158 -0
  12. package/dist/esm/build/extensions.js.map +1 -0
  13. package/dist/esm/build/externals.d.ts +15 -0
  14. package/dist/esm/build/externals.js +285 -0
  15. package/dist/esm/build/externals.js.map +1 -0
  16. package/dist/esm/build/manifests.d.ts +2 -0
  17. package/dist/esm/build/manifests.js +22 -0
  18. package/dist/esm/build/manifests.js.map +1 -0
  19. package/dist/esm/build/packageModules.d.ts +18 -0
  20. package/dist/esm/build/packageModules.js +84 -0
  21. package/dist/esm/build/packageModules.js.map +1 -0
  22. package/dist/esm/build/plugins.d.ts +6 -0
  23. package/dist/esm/build/plugins.js +67 -0
  24. package/dist/esm/build/plugins.js.map +1 -0
  25. package/dist/esm/build/resolveModule.d.ts +1 -0
  26. package/dist/esm/build/resolveModule.js +9 -0
  27. package/dist/esm/build/resolveModule.js.map +1 -0
  28. package/dist/esm/cli/common.d.ts +30 -0
  29. package/dist/esm/cli/common.js +85 -0
  30. package/dist/esm/cli/common.js.map +1 -0
  31. package/dist/esm/cli/index.d.ts +2 -0
  32. package/dist/esm/cli/index.js +27 -0
  33. package/dist/esm/cli/index.js.map +1 -0
  34. package/dist/esm/commands/deploy.d.ts +5 -0
  35. package/dist/esm/commands/deploy.js +402 -0
  36. package/dist/esm/commands/deploy.js.map +1 -0
  37. package/dist/esm/commands/dev.d.ts +37 -0
  38. package/dist/esm/commands/dev.js +128 -0
  39. package/dist/esm/commands/dev.js.map +1 -0
  40. package/dist/esm/commands/init.d.ts +3 -0
  41. package/dist/esm/commands/init.js +427 -0
  42. package/dist/esm/commands/init.js.map +1 -0
  43. package/dist/esm/commands/list-profiles.d.ts +23 -0
  44. package/dist/esm/commands/list-profiles.js +40 -0
  45. package/dist/esm/commands/list-profiles.js.map +1 -0
  46. package/dist/esm/commands/login.d.ts +28 -0
  47. package/dist/esm/commands/login.js +275 -0
  48. package/dist/esm/commands/login.js.map +1 -0
  49. package/dist/esm/commands/logout.d.ts +23 -0
  50. package/dist/esm/commands/logout.js +28 -0
  51. package/dist/esm/commands/logout.js.map +1 -0
  52. package/dist/esm/commands/update.d.ts +24 -0
  53. package/dist/esm/commands/update.js +221 -0
  54. package/dist/esm/commands/update.js.map +1 -0
  55. package/dist/esm/commands/whoami.d.ts +34 -0
  56. package/dist/esm/commands/whoami.js +70 -0
  57. package/dist/esm/commands/whoami.js.map +1 -0
  58. package/dist/esm/config.d.ts +22 -0
  59. package/dist/esm/config.js +204 -0
  60. package/dist/esm/config.js.map +1 -0
  61. package/dist/esm/consts.d.ts +4 -0
  62. package/dist/esm/consts.js +5 -0
  63. package/dist/esm/consts.js.map +1 -0
  64. package/dist/esm/deploy/buildImage.d.ts +69 -0
  65. package/dist/esm/deploy/buildImage.js +472 -0
  66. package/dist/esm/deploy/buildImage.js.map +1 -0
  67. package/dist/esm/deploy/logs.d.ts +19 -0
  68. package/dist/esm/deploy/logs.js +96 -0
  69. package/dist/esm/deploy/logs.js.map +1 -0
  70. package/dist/esm/dev/backgroundWorker.d.ts +114 -0
  71. package/dist/esm/dev/backgroundWorker.js +412 -0
  72. package/dist/esm/dev/backgroundWorker.js.map +1 -0
  73. package/dist/esm/dev/devOutput.d.ts +9 -0
  74. package/dist/esm/dev/devOutput.js +137 -0
  75. package/dist/esm/dev/devOutput.js.map +1 -0
  76. package/dist/esm/dev/devSession.d.ts +17 -0
  77. package/dist/esm/dev/devSession.js +156 -0
  78. package/dist/esm/dev/devSession.js.map +1 -0
  79. package/dist/esm/dev/workerRuntime.d.ts +16 -0
  80. package/dist/esm/dev/workerRuntime.js +258 -0
  81. package/dist/esm/dev/workerRuntime.js.map +1 -0
  82. package/dist/esm/entryPoints/deploy-index-controller.d.ts +1 -0
  83. package/dist/esm/entryPoints/deploy-index-controller.js +85 -0
  84. package/dist/esm/entryPoints/deploy-index-controller.js.map +1 -0
  85. package/dist/esm/entryPoints/deploy-index-worker.d.ts +1 -0
  86. package/dist/esm/entryPoints/deploy-index-worker.js +104 -0
  87. package/dist/esm/entryPoints/deploy-index-worker.js.map +1 -0
  88. package/dist/esm/entryPoints/deploy-run-controller.d.ts +1 -0
  89. package/dist/esm/entryPoints/deploy-run-controller.js +996 -0
  90. package/dist/esm/entryPoints/deploy-run-controller.js.map +1 -0
  91. package/dist/esm/entryPoints/deploy-run-worker.d.ts +1 -0
  92. package/dist/esm/entryPoints/deploy-run-worker.js +297 -0
  93. package/dist/esm/entryPoints/deploy-run-worker.js.map +1 -0
  94. package/dist/esm/entryPoints/dev-index-worker.d.ts +1 -0
  95. package/dist/esm/entryPoints/dev-index-worker.js +104 -0
  96. package/dist/esm/entryPoints/dev-index-worker.js.map +1 -0
  97. package/dist/esm/entryPoints/dev-run-worker.d.ts +1 -0
  98. package/dist/esm/entryPoints/dev-run-worker.js +254 -0
  99. package/dist/esm/entryPoints/dev-run-worker.js.map +1 -0
  100. package/dist/esm/entryPoints/loader.d.ts +1 -0
  101. package/dist/esm/entryPoints/loader.js +16 -0
  102. package/dist/esm/entryPoints/loader.js.map +1 -0
  103. package/dist/esm/executions/taskRunProcess.d.ts +115 -0
  104. package/dist/esm/executions/taskRunProcess.js +254 -0
  105. package/dist/esm/executions/taskRunProcess.js.map +1 -0
  106. package/dist/esm/imports/magicast.d.ts +2 -0
  107. package/dist/esm/imports/magicast.js +5 -0
  108. package/dist/esm/imports/magicast.js.map +1 -0
  109. package/dist/esm/imports/xdg-app-paths.d.ts +2 -0
  110. package/dist/esm/imports/xdg-app-paths.js +3 -0
  111. package/dist/esm/imports/xdg-app-paths.js.map +1 -0
  112. package/dist/{index.d.ts → esm/index.d.ts} +1 -0
  113. package/dist/esm/index.js +17 -0
  114. package/dist/esm/index.js.map +1 -0
  115. package/dist/esm/indexing/indexWorkerManifest.d.ts +85 -0
  116. package/dist/esm/indexing/indexWorkerManifest.js +76 -0
  117. package/dist/esm/indexing/indexWorkerManifest.js.map +1 -0
  118. package/dist/esm/indexing/registerTasks.d.ts +2 -0
  119. package/dist/esm/indexing/registerTasks.js +62 -0
  120. package/dist/esm/indexing/registerTasks.js.map +1 -0
  121. package/dist/esm/package.json +3 -0
  122. package/dist/esm/runtimes/bun.d.ts +2 -0
  123. package/dist/esm/runtimes/bun.js +11 -0
  124. package/dist/esm/runtimes/bun.js.map +1 -0
  125. package/dist/esm/shims/esm.d.ts +1 -0
  126. package/dist/esm/shims/esm.js +9 -0
  127. package/dist/esm/shims/esm.js.map +1 -0
  128. package/dist/esm/sourceDir.d.ts +1 -0
  129. package/dist/esm/sourceDir.js +4 -0
  130. package/dist/esm/sourceDir.js.map +1 -0
  131. package/dist/esm/telemetry/tracing.d.ts +3 -0
  132. package/dist/esm/telemetry/tracing.js +58 -0
  133. package/dist/esm/telemetry/tracing.js.map +1 -0
  134. package/dist/esm/types.d.ts +6 -0
  135. package/dist/esm/types.js +2 -0
  136. package/dist/esm/types.js.map +1 -0
  137. package/dist/esm/utilities/assertExhaustive.d.ts +1 -0
  138. package/dist/esm/utilities/assertExhaustive.js +4 -0
  139. package/dist/esm/utilities/assertExhaustive.js.map +1 -0
  140. package/dist/esm/utilities/buildManifest.d.ts +2 -0
  141. package/dist/esm/utilities/buildManifest.js +9 -0
  142. package/dist/esm/utilities/buildManifest.js.map +1 -0
  143. package/dist/esm/utilities/cliOutput.d.ts +20 -0
  144. package/dist/esm/utilities/cliOutput.js +88 -0
  145. package/dist/esm/utilities/cliOutput.js.map +1 -0
  146. package/dist/esm/utilities/configFiles.d.ts +29 -0
  147. package/dist/esm/utilities/configFiles.js +65 -0
  148. package/dist/esm/utilities/configFiles.js.map +1 -0
  149. package/dist/esm/utilities/createFileFromTemplate.d.ts +16 -0
  150. package/dist/esm/utilities/createFileFromTemplate.js +50 -0
  151. package/dist/esm/utilities/createFileFromTemplate.js.map +1 -0
  152. package/dist/esm/utilities/deployErrors.d.ts +19 -0
  153. package/dist/esm/utilities/deployErrors.js +117 -0
  154. package/dist/esm/utilities/deployErrors.js.map +1 -0
  155. package/dist/esm/utilities/dotEnv.d.ts +4 -0
  156. package/dist/esm/utilities/dotEnv.js +28 -0
  157. package/dist/esm/utilities/dotEnv.js.map +1 -0
  158. package/dist/esm/utilities/eventBus.d.ts +14 -0
  159. package/dist/esm/utilities/eventBus.js +3 -0
  160. package/dist/esm/utilities/eventBus.js.map +1 -0
  161. package/dist/esm/utilities/fileSystem.d.ts +12 -0
  162. package/dist/esm/utilities/fileSystem.js +81 -0
  163. package/dist/esm/utilities/fileSystem.js.map +1 -0
  164. package/dist/esm/utilities/getApiKeyType.d.ts +13 -0
  165. package/dist/esm/utilities/getApiKeyType.js +44 -0
  166. package/dist/esm/utilities/getApiKeyType.js.map +1 -0
  167. package/dist/esm/utilities/initialBanner.d.ts +4 -0
  168. package/dist/esm/utilities/initialBanner.js +82 -0
  169. package/dist/esm/utilities/initialBanner.js.map +1 -0
  170. package/dist/esm/utilities/keyValueBy.d.ts +8 -0
  171. package/dist/esm/utilities/keyValueBy.js +19 -0
  172. package/dist/esm/utilities/keyValueBy.js.map +1 -0
  173. package/dist/esm/utilities/links.d.ts +9 -0
  174. package/dist/esm/utilities/links.js +10 -0
  175. package/dist/esm/utilities/links.js.map +1 -0
  176. package/dist/esm/utilities/linux.d.ts +1 -0
  177. package/dist/esm/utilities/linux.js +24 -0
  178. package/dist/esm/utilities/linux.js.map +1 -0
  179. package/dist/esm/utilities/logger.d.ts +40 -0
  180. package/dist/esm/utilities/logger.js +109 -0
  181. package/dist/esm/utilities/logger.js.map +1 -0
  182. package/dist/esm/utilities/normalizeImportPath.d.ts +1 -0
  183. package/dist/esm/utilities/normalizeImportPath.js +5 -0
  184. package/dist/esm/utilities/normalizeImportPath.js.map +1 -0
  185. package/dist/esm/utilities/obfuscateApiKey.d.ts +1 -0
  186. package/dist/esm/utilities/obfuscateApiKey.js +5 -0
  187. package/dist/esm/utilities/obfuscateApiKey.js.map +1 -0
  188. package/dist/esm/utilities/parseNameAndPath.d.ts +2 -0
  189. package/dist/esm/utilities/parseNameAndPath.js +10 -0
  190. package/dist/esm/utilities/parseNameAndPath.js.map +1 -0
  191. package/dist/esm/utilities/resolveInternalFilePath.d.ts +1 -0
  192. package/dist/esm/utilities/resolveInternalFilePath.js +8 -0
  193. package/dist/esm/utilities/resolveInternalFilePath.js.map +1 -0
  194. package/dist/esm/utilities/runtimeCheck.d.ts +8 -0
  195. package/dist/esm/utilities/runtimeCheck.js +52 -0
  196. package/dist/esm/utilities/runtimeCheck.js.map +1 -0
  197. package/dist/esm/utilities/safeJsonParse.d.ts +1 -0
  198. package/dist/esm/utilities/safeJsonParse.js +12 -0
  199. package/dist/esm/utilities/safeJsonParse.js.map +1 -0
  200. package/dist/esm/utilities/sanitizeEnvVars.d.ts +3 -0
  201. package/dist/esm/utilities/sanitizeEnvVars.js +4 -0
  202. package/dist/esm/utilities/sanitizeEnvVars.js.map +1 -0
  203. package/dist/esm/utilities/session.d.ts +33 -0
  204. package/dist/esm/utilities/session.js +82 -0
  205. package/dist/esm/utilities/session.js.map +1 -0
  206. package/dist/esm/utilities/sourceFiles.d.ts +12 -0
  207. package/dist/esm/utilities/sourceFiles.js +76 -0
  208. package/dist/esm/utilities/sourceFiles.js.map +1 -0
  209. package/dist/esm/utilities/taskFiles.d.ts +6 -0
  210. package/dist/esm/utilities/taskFiles.js +69 -0
  211. package/dist/esm/utilities/taskFiles.js.map +1 -0
  212. package/dist/esm/utilities/tempDirectories.d.ts +16 -0
  213. package/dist/esm/utilities/tempDirectories.js +27 -0
  214. package/dist/esm/utilities/tempDirectories.js.map +1 -0
  215. package/dist/esm/utilities/windows.d.ts +7 -0
  216. package/dist/esm/utilities/windows.js +21 -0
  217. package/dist/esm/utilities/windows.js.map +1 -0
  218. package/dist/esm/version.d.ts +1 -0
  219. package/dist/esm/version.js +2 -0
  220. package/dist/esm/version.js.map +1 -0
  221. package/package.json +85 -82
  222. package/dist/Containerfile.prod +0 -39
  223. package/dist/index.js +0 -6115
  224. package/dist/index.js.map +0 -1
  225. package/dist/templates/examples/simple.ts.template +0 -14
  226. package/dist/templates/trigger.config.ts.template +0 -16
  227. package/dist/workers/dev/worker-facade.js +0 -187
  228. package/dist/workers/dev/worker-setup.js +0 -40
  229. package/dist/workers/prod/entry-point.js +0 -1146
  230. package/dist/workers/prod/worker-facade.js +0 -193
  231. package/dist/workers/prod/worker-setup.js +0 -35
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/cli/common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAEnE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAEvD,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;IAClF,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IACzC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC;CACvC,CAAC,CAAC;AAIH,MAAM,UAAU,aAAa,CAAC,OAAgB;IAC5C,OAAO,OAAO;SACX,MAAM,CAAC,qBAAqB,EAAE,0BAA0B,EAAE,SAAS,CAAC;SACpE,MAAM,CAAC,uBAAuB,EAAE,sBAAsB,EAAE,yBAAyB,CAAC;SAClF,MAAM,CACL,yBAAyB,EACzB,+HAA+H,EAC/H,KAAK,CACN;SACA,MAAM,CAAC,kBAAkB,EAAE,8BAA8B,CAAC,CAAC;AAChE,CAAC;AAED,MAAM,OAAO,gBAAiB,SAAQ,KAAK;CAAG;AAC9C,MAAM,OAAO,gBAAiB,SAAQ,KAAK;CAAG;AAC9C,MAAM,OAAO,iBAAkB,SAAQ,gBAAgB;CAAG;AAE1D,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,MAA2B;IAC/D,IAAI,CAAC;QACH,MAAM,MAAM,EAAE,CAAC;QAEf,MAAM,QAAQ,EAAE,UAAU,EAAE,CAAC;IAC/B,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,QAAQ,EAAE,UAAU,EAAE,CAAC;QAE7B,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACvB,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;AAElC,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,IAAY,EACZ,MAAS,EACT,OAAgB,EAChB,MAA+C;IAE/C,OAAO,MAAM,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QACvD,IAAI,CAAC;YACH,MAAM,aAAa,GAAG,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YAEhD,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC;gBAC3B,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;YAChE,CAAC;YAED,IAAI,CAAC,aAAa,CAAC;gBACjB,GAAG,iBAAiB,CAAC,aAAa,CAAC,IAAI,EAAE,aAAa,CAAC;aACxD,CAAC,CAAC;YAEH,MAAM,CAAC,WAAW,GAAG,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC;YAEjD,MAAM,CAAC,KAAK,CAAC,YAAY,IAAI,8BAA8B,EAAE;gBAC3D,OAAO,EAAE,OAAO;gBAChB,WAAW,EAAE,IAAI,EAAE,WAAW,EAAE;aACjC,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YAEhD,IAAI,CAAC,GAAG,EAAE,CAAC;YAEX,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,YAAY,gBAAgB,EAAE,CAAC;gBAClC,mBAAmB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YAC/B,CAAC;iBAAM,IAAI,CAAC,YAAY,iBAAiB,EAAE,CAAC;gBAC1C,KAAK,CAAC,qBAAqB,CAAC,CAAC;YAC/B,CAAC;iBAAM,IAAI,CAAC,YAAY,gBAAgB,EAAE,CAAC;gBACzC,aAAa;YACf,CAAC;iBAAM,CAAC;gBACN,mBAAmB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;gBAE7B,MAAM,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACxF,CAAC;YAED,IAAI,CAAC,GAAG,EAAE,CAAC;YAEX,MAAM,CAAC,CAAC;QACV,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,kBAAkB;IAChC,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;QACxB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;QACzB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { Command } from "commander";
2
+ export declare const program: Command;
@@ -0,0 +1,27 @@
1
+ import { Command } from "commander";
2
+ import { configureDevCommand } from "../commands/dev.js";
3
+ import { configureInitCommand } from "../commands/init.js";
4
+ import { configureLoginCommand } from "../commands/login.js";
5
+ import { configureLogoutCommand } from "../commands/logout.js";
6
+ import { configureWhoamiCommand } from "../commands/whoami.js";
7
+ import { COMMAND_NAME } from "../consts.js";
8
+ import { configureListProfilesCommand } from "../commands/list-profiles.js";
9
+ import { configureUpdateCommand } from "../commands/update.js";
10
+ import { VERSION } from "../version.js";
11
+ import { configureDeployCommand } from "../commands/deploy.js";
12
+ import { installExitHandler } from "./common.js";
13
+ export const program = new Command();
14
+ program
15
+ .name(COMMAND_NAME)
16
+ .description("Create, run locally and deploy Trigger.dev background tasks.")
17
+ .version(VERSION, "-v, --version", "Display the version number");
18
+ configureLoginCommand(program);
19
+ configureInitCommand(program);
20
+ configureDevCommand(program);
21
+ configureDeployCommand(program);
22
+ configureWhoamiCommand(program);
23
+ configureLogoutCommand(program);
24
+ configureListProfilesCommand(program);
25
+ configureUpdateCommand(program);
26
+ installExitHandler();
27
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,4BAA4B,EAAE,MAAM,8BAA8B,CAAC;AAC5E,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEjD,MAAM,CAAC,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAErC,OAAO;KACJ,IAAI,CAAC,YAAY,CAAC;KAClB,WAAW,CAAC,8DAA8D,CAAC;KAC3E,OAAO,CAAC,OAAO,EAAE,eAAe,EAAE,4BAA4B,CAAC,CAAC;AAEnE,qBAAqB,CAAC,OAAO,CAAC,CAAC;AAC/B,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAC9B,mBAAmB,CAAC,OAAO,CAAC,CAAC;AAC7B,sBAAsB,CAAC,OAAO,CAAC,CAAC;AAChC,sBAAsB,CAAC,OAAO,CAAC,CAAC;AAChC,sBAAsB,CAAC,OAAO,CAAC,CAAC;AAChC,4BAA4B,CAAC,OAAO,CAAC,CAAC;AACtC,sBAAsB,CAAC,OAAO,CAAC,CAAC;AAEhC,kBAAkB,EAAE,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { Command } from "commander";
2
+ import { CliApiClient } from "../apiClient.js";
3
+ export declare function configureDeployCommand(program: Command): Command;
4
+ export declare function deployCommand(dir: string, options: unknown): Promise<void>;
5
+ export declare function syncEnvVarsWithServer(apiClient: CliApiClient, projectRef: string, environmentSlug: string, envVars: Record<string, string>): Promise<boolean>;
@@ -0,0 +1,402 @@
1
+ import { intro, outro } from "@clack/prompts";
2
+ import { prepareDeploymentError } from "@trigger.dev/core/v3";
3
+ import { Option as CommandOption } from "commander";
4
+ import { writeFile } from "node:fs/promises";
5
+ import { join, relative, resolve } from "node:path";
6
+ import { readPackageJSON, writePackageJSON } from "pkg-types";
7
+ import { z } from "zod";
8
+ import { buildWorker } from "../build/buildWorker.js";
9
+ import { CommonCommandOptions, commonOptions, handleTelemetry, SkipLoggingError, wrapCommandAction, } from "../cli/common.js";
10
+ import { loadConfig } from "../config.js";
11
+ import { buildImage, generateContainerfile } from "../deploy/buildImage.js";
12
+ import { checkLogsForErrors, checkLogsForWarnings, printErrors, printWarnings, saveLogs, } from "../deploy/logs.js";
13
+ import { buildManifestToJSON } from "../utilities/buildManifest.js";
14
+ import { chalkError, cliLink, isLinksSupported, prettyError } from "../utilities/cliOutput.js";
15
+ import { loadDotEnvVars } from "../utilities/dotEnv.js";
16
+ import { writeJSONFile } from "../utilities/fileSystem.js";
17
+ import { printStandloneInitialBanner } from "../utilities/initialBanner.js";
18
+ import { logger } from "../utilities/logger.js";
19
+ import { getProjectClient } from "../utilities/session.js";
20
+ import { getTmpDir } from "../utilities/tempDirectories.js";
21
+ import { spinner } from "../utilities/windows.js";
22
+ import { login } from "./login.js";
23
+ import { updateTriggerPackages } from "./update.js";
24
+ import { resolveAlwaysExternal } from "../build/externals.js";
25
+ const DeployCommandOptions = CommonCommandOptions.extend({
26
+ dryRun: z.boolean().default(false),
27
+ skipSyncEnvVars: z.boolean().default(false),
28
+ env: z.enum(["prod", "staging"]),
29
+ loadImage: z.boolean().default(false),
30
+ buildPlatform: z.enum(["linux/amd64", "linux/arm64"]).default("linux/amd64"),
31
+ namespace: z.string().optional(),
32
+ selfHosted: z.boolean().default(false),
33
+ registry: z.string().optional(),
34
+ push: z.boolean().default(false),
35
+ config: z.string().optional(),
36
+ projectRef: z.string().optional(),
37
+ apiUrl: z.string().optional(),
38
+ saveLogs: z.boolean().default(false),
39
+ skipUpdateCheck: z.boolean().default(false),
40
+ noCache: z.boolean().default(false),
41
+ envFile: z.string().optional(),
42
+ });
43
+ export function configureDeployCommand(program) {
44
+ return commonOptions(program
45
+ .command("deploy")
46
+ .description("Deploy your Trigger.dev v3 project to the cloud.")
47
+ .argument("[path]", "The path to the project", ".")
48
+ .option("-e, --env <env>", "Deploy to a specific environment (currently only prod and staging are supported)", "prod")
49
+ .option("--skip-update-check", "Skip checking for @trigger.dev package updates")
50
+ .option("-c, --config <config file>", "The name of the config file, found at [path]")
51
+ .option("-p, --project-ref <project ref>", "The project ref. Required if there is no config file. This will override the project specified in the config file.")
52
+ .option("--dry-run", "Do a dry run of the deployment. This will not actually deploy the project, but will show you what would be deployed.")
53
+ .option("--skip-sync-env-vars", "Skip syncing environment variables when using the syncEnvVars extension.")
54
+ .option("--env-file <env file>", "Path to the .env file to load into the CLI process. Defaults to .env in the project directory."))
55
+ .addOption(new CommandOption("--self-hosted", "Build and load the image using your local Docker. Use the --registry option to specify the registry to push the image to when using --self-hosted, or just use --push to push to the default registry.").hideHelp())
56
+ .addOption(new CommandOption("--no-cache", "Do not use the cache when building the image. This will slow down the build process but can be useful if you are experiencing issues with the cache.").hideHelp())
57
+ .addOption(new CommandOption("--push", "When using the --self-hosted flag, push the image to the default registry. (defaults to false when not using --registry)").hideHelp())
58
+ .addOption(new CommandOption("--registry <registry>", "The registry to push the image to when using --self-hosted").hideHelp())
59
+ .addOption(new CommandOption("--tag <tag>", "(Coming soon) Specify the tag to use when pushing the image to the registry").hideHelp())
60
+ .addOption(new CommandOption("--namespace <namespace>", "Specify the namespace to use when pushing the image to the registry").hideHelp())
61
+ .addOption(new CommandOption("--load-image", "Load the built image into your local docker").hideHelp())
62
+ .addOption(new CommandOption("--build-platform <platform>", "The platform to build the deployment image for")
63
+ .default("linux/amd64")
64
+ .hideHelp())
65
+ .addOption(new CommandOption("--save-logs", "If provided, will save logs even for successful builds").hideHelp())
66
+ .action(async (path, options) => {
67
+ await handleTelemetry(async () => {
68
+ await printStandloneInitialBanner(true);
69
+ await deployCommand(path, options);
70
+ });
71
+ });
72
+ }
73
+ export async function deployCommand(dir, options) {
74
+ return await wrapCommandAction("deployCommand", DeployCommandOptions, options, async (opts) => {
75
+ return await _deployCommand(dir, opts);
76
+ });
77
+ }
78
+ async function _deployCommand(dir, options) {
79
+ intro("Deploying project");
80
+ if (!options.skipUpdateCheck) {
81
+ await updateTriggerPackages(dir, { ...options }, true, true);
82
+ }
83
+ const projectPath = resolve(process.cwd(), dir);
84
+ const authorization = await login({
85
+ embedded: true,
86
+ defaultApiUrl: options.apiUrl,
87
+ profile: options.profile,
88
+ });
89
+ if (!authorization.ok) {
90
+ if (authorization.error === "fetch failed") {
91
+ throw new Error(`Failed to connect to ${authorization.auth?.apiUrl}. Are you sure it's the correct URL?`);
92
+ }
93
+ else {
94
+ throw new Error(`You must login first. Use the \`login\` CLI command.\n\n${authorization.error}`);
95
+ }
96
+ }
97
+ const resolvedConfig = await loadConfig({
98
+ cwd: projectPath,
99
+ overrides: { project: options.projectRef },
100
+ configFile: options.config,
101
+ });
102
+ logger.debug("Resolved config", resolvedConfig);
103
+ const projectClient = await getProjectClient({
104
+ accessToken: authorization.auth.accessToken,
105
+ apiUrl: authorization.auth.apiUrl,
106
+ projectRef: resolvedConfig.project,
107
+ env: options.env,
108
+ profile: options.profile,
109
+ });
110
+ if (!projectClient) {
111
+ throw new Error("Failed to get project client");
112
+ }
113
+ const serverEnvVars = await projectClient.client.getEnvironmentVariables(resolvedConfig.project);
114
+ loadDotEnvVars(resolvedConfig.workingDir, options.envFile);
115
+ const destination = getTmpDir(resolvedConfig.workingDir, "build", options.dryRun);
116
+ const $buildSpinner = spinner();
117
+ const forcedExternals = await resolveAlwaysExternal(projectClient.client);
118
+ const buildManifest = await buildWorker({
119
+ target: "deploy",
120
+ environment: options.env,
121
+ destination: destination.path,
122
+ resolvedConfig,
123
+ rewritePaths: true,
124
+ envVars: serverEnvVars.success ? serverEnvVars.data.variables : {},
125
+ forcedExternals,
126
+ listener: {
127
+ onBundleStart() {
128
+ $buildSpinner.start("Building project");
129
+ },
130
+ onBundleComplete(result) {
131
+ $buildSpinner.stop("Successfully built project");
132
+ logger.debug("Bundle result", result);
133
+ },
134
+ },
135
+ });
136
+ logger.debug("Successfully built project to", destination.path);
137
+ if (options.dryRun) {
138
+ logger.info(`Dry run complete. View the built project at ${destination.path}`);
139
+ return;
140
+ }
141
+ const deploymentResponse = await projectClient.client.initializeDeployment({
142
+ contentHash: buildManifest.contentHash,
143
+ userId: authorization.userId,
144
+ selfHosted: options.selfHosted,
145
+ registryHost: options.registry,
146
+ namespace: options.namespace,
147
+ });
148
+ if (!deploymentResponse.success) {
149
+ throw new Error(`Failed to start deployment: ${deploymentResponse.error}`);
150
+ }
151
+ const deployment = deploymentResponse.data;
152
+ // If the deployment doesn't have any externalBuildData, then we can't use the remote image builder
153
+ // TODO: handle this and allow the user to the build and push the image themselves
154
+ if (!deployment.externalBuildData && !options.selfHosted) {
155
+ throw new Error(`Failed to start deployment, as your instance of trigger.dev does not support hosting. To deploy this project, you must use the --self-hosted flag to build and push the image yourself.`);
156
+ }
157
+ if (buildManifest.deploy.sync &&
158
+ buildManifest.deploy.sync.env &&
159
+ Object.keys(buildManifest.deploy.sync.env).length > 0) {
160
+ const numberOfEnvVars = Object.keys(buildManifest.deploy.sync.env).length;
161
+ const vars = numberOfEnvVars === 1 ? "var" : "vars";
162
+ if (!options.skipSyncEnvVars) {
163
+ const $spinner = spinner();
164
+ $spinner.start(`Syncing ${numberOfEnvVars} env ${vars} with the server`);
165
+ const success = await syncEnvVarsWithServer(projectClient.client, resolvedConfig.project, options.env, buildManifest.deploy.sync.env);
166
+ if (!success) {
167
+ await failDeploy(projectClient.client, deployment, {
168
+ name: "SyncEnvVarsError",
169
+ message: `Failed to sync ${numberOfEnvVars} env ${vars} with the server`,
170
+ }, "", $spinner);
171
+ }
172
+ else {
173
+ $spinner.stop(`Successfully synced ${numberOfEnvVars} env ${vars} with the server`);
174
+ }
175
+ }
176
+ else {
177
+ logger.log("Skipping syncing env vars. The environment variables in your project have changed, but the --skip-sync-env-vars flag was provided.");
178
+ }
179
+ }
180
+ const version = deployment.version;
181
+ const deploymentLink = cliLink("View deployment", `${authorization.dashboardUrl}/projects/v3/${resolvedConfig.project}/deployments/${deployment.shortCode}`);
182
+ const testLink = cliLink("Test tasks", `${authorization.dashboardUrl}/projects/v3/${resolvedConfig.project}/test?environment=${options.env === "prod" ? "prod" : "stg"}`);
183
+ const $spinner = spinner();
184
+ if (isLinksSupported) {
185
+ $spinner.start(`Deploying version ${version} ${deploymentLink}`);
186
+ }
187
+ else {
188
+ $spinner.start(`Deploying version ${version}`);
189
+ }
190
+ const selfHostedRegistryHost = deployment.registryHost ?? options.registry;
191
+ const registryHost = selfHostedRegistryHost ?? "registry.trigger.dev";
192
+ const buildResult = await buildImage({
193
+ selfHosted: options.selfHosted,
194
+ buildPlatform: options.buildPlatform,
195
+ noCache: options.noCache,
196
+ push: options.push,
197
+ registryHost,
198
+ registry: options.registry,
199
+ deploymentId: deployment.id,
200
+ deploymentVersion: deployment.version,
201
+ imageTag: deployment.imageTag,
202
+ loadImage: options.loadImage,
203
+ contentHash: deployment.contentHash,
204
+ externalBuildId: deployment.externalBuildData?.buildId,
205
+ externalBuildToken: deployment.externalBuildData?.buildToken,
206
+ externalBuildProjectId: deployment.externalBuildData?.projectId,
207
+ projectId: projectClient.id,
208
+ projectRef: resolvedConfig.project,
209
+ apiUrl: projectClient.client.apiURL,
210
+ apiKey: projectClient.client.accessToken,
211
+ authAccessToken: authorization.auth.accessToken,
212
+ compilationPath: destination.path,
213
+ buildEnvVars: buildManifest.build.env,
214
+ });
215
+ logger.debug("Build result", buildResult);
216
+ const warnings = checkLogsForWarnings(buildResult.logs);
217
+ if (!warnings.ok) {
218
+ await failDeploy(projectClient.client, deployment, { name: "BuildError", message: warnings.summary }, buildResult.logs, $spinner, warnings.warnings, warnings.errors);
219
+ throw new SkipLoggingError("Failed to build image");
220
+ }
221
+ if (!buildResult.ok) {
222
+ await failDeploy(projectClient.client, deployment, { name: "BuildError", message: buildResult.error }, buildResult.logs, $spinner, warnings.warnings);
223
+ throw new SkipLoggingError("Failed to build image");
224
+ }
225
+ const getDeploymentResponse = await projectClient.client.getDeployment(deployment.id);
226
+ if (!getDeploymentResponse.success) {
227
+ await failDeploy(projectClient.client, deployment, { name: "DeploymentError", message: getDeploymentResponse.error }, buildResult.logs, $spinner);
228
+ throw new SkipLoggingError("Failed to get deployment with worker");
229
+ }
230
+ const deploymentWithWorker = getDeploymentResponse.data;
231
+ if (!deploymentWithWorker.worker) {
232
+ await failDeploy(projectClient.client, deployment, { name: "DeploymentError", message: "Failed to get deployment with worker" }, buildResult.logs, $spinner);
233
+ throw new SkipLoggingError("Failed to get deployment with worker");
234
+ }
235
+ const imageReference = options.selfHosted
236
+ ? `${selfHostedRegistryHost ? `${selfHostedRegistryHost}/` : ""}${buildResult.image}${buildResult.digest ? `@${buildResult.digest}` : ""}`
237
+ : `${registryHost}/${buildResult.image}${buildResult.digest ? `@${buildResult.digest}` : ""}`;
238
+ const finalizeResponse = await projectClient.client.finalizeDeployment(deployment.id, {
239
+ imageReference,
240
+ selfHosted: options.selfHosted,
241
+ });
242
+ if (!finalizeResponse.success) {
243
+ await failDeploy(projectClient.client, deployment, { name: "FinalizeError", message: finalizeResponse.error }, buildResult.logs, $spinner);
244
+ throw new SkipLoggingError("Failed to finalize deployment");
245
+ }
246
+ $spinner.stop(`Successfully deployed version ${version}`);
247
+ const taskCount = deploymentWithWorker.worker?.tasks.length ?? 0;
248
+ outro(`Version ${version} deployed with ${taskCount} detected task${taskCount === 1 ? "" : "s"} ${isLinksSupported ? `| ${deploymentLink} | ${testLink}` : ""}`);
249
+ }
250
+ function rewriteBuildManifestPaths(buildManifest, destinationDir) {
251
+ return {
252
+ ...buildManifest,
253
+ files: buildManifest.files.map((file) => ({
254
+ ...file,
255
+ entry: cleanEntryPath(file.entry),
256
+ out: rewriteOutputPath(destinationDir, file.out),
257
+ })),
258
+ outputPath: rewriteOutputPath(destinationDir, buildManifest.outputPath),
259
+ configPath: rewriteOutputPath(destinationDir, buildManifest.configPath),
260
+ runControllerEntryPoint: buildManifest.runControllerEntryPoint
261
+ ? rewriteOutputPath(destinationDir, buildManifest.runControllerEntryPoint)
262
+ : undefined,
263
+ runWorkerEntryPoint: rewriteOutputPath(destinationDir, buildManifest.runWorkerEntryPoint),
264
+ indexControllerEntryPoint: buildManifest.indexControllerEntryPoint
265
+ ? rewriteOutputPath(destinationDir, buildManifest.indexControllerEntryPoint)
266
+ : undefined,
267
+ indexWorkerEntryPoint: rewriteOutputPath(destinationDir, buildManifest.indexWorkerEntryPoint),
268
+ loaderEntryPoint: buildManifest.loaderEntryPoint
269
+ ? rewriteOutputPath(destinationDir, buildManifest.loaderEntryPoint)
270
+ : undefined,
271
+ };
272
+ }
273
+ async function writeProjectFiles(buildManifest, resolvedConfig, outputPath) {
274
+ // Step 1. Read the package.json file
275
+ const packageJson = await readProjectPackageJson(resolvedConfig.packageJsonPath);
276
+ if (!packageJson) {
277
+ throw new Error("Could not read the package.json file");
278
+ }
279
+ const dependencies = buildManifest.externals?.reduce((acc, external) => {
280
+ acc[external.name] = external.version;
281
+ return acc;
282
+ }, {}) ?? {};
283
+ // Step 3: Write the resolved dependencies to the package.json file
284
+ await writePackageJSON(join(outputPath, "package.json"), {
285
+ ...packageJson,
286
+ name: packageJson.name ?? "trigger-project",
287
+ dependencies: {
288
+ ...dependencies,
289
+ },
290
+ trustedDependencies: Object.keys(dependencies),
291
+ devDependencies: {},
292
+ peerDependencies: {},
293
+ scripts: {},
294
+ });
295
+ await writeJSONFile(join(outputPath, "build.json"), buildManifestToJSON(buildManifest));
296
+ await writeContainerfile(outputPath, buildManifest);
297
+ }
298
+ async function readProjectPackageJson(packageJsonPath) {
299
+ const packageJson = await readPackageJSON(packageJsonPath);
300
+ return packageJson;
301
+ }
302
+ // Remove any query parameters from the entry path
303
+ // For example, src/trigger/ai.ts?sentryProxyModule=true -> src/trigger/ai.ts
304
+ function cleanEntryPath(entry) {
305
+ return entry.split("?")[0];
306
+ }
307
+ function rewriteOutputPath(destinationDir, filePath) {
308
+ return `/app/${relative(destinationDir, filePath)}`;
309
+ }
310
+ async function writeContainerfile(outputPath, buildManifest) {
311
+ if (!buildManifest.runControllerEntryPoint || !buildManifest.indexControllerEntryPoint) {
312
+ throw new Error("Something went wrong with the build. Aborting deployment. [code 7789]");
313
+ }
314
+ const containerfile = await generateContainerfile({
315
+ runtime: buildManifest.runtime,
316
+ entrypoint: buildManifest.runControllerEntryPoint,
317
+ build: buildManifest.build,
318
+ image: buildManifest.image,
319
+ indexScript: buildManifest.indexControllerEntryPoint,
320
+ });
321
+ await writeFile(join(outputPath, "Containerfile"), containerfile);
322
+ }
323
+ export async function syncEnvVarsWithServer(apiClient, projectRef, environmentSlug, envVars) {
324
+ const uploadResult = await apiClient.importEnvVars(projectRef, environmentSlug, {
325
+ variables: envVars,
326
+ override: true,
327
+ });
328
+ return uploadResult.success;
329
+ }
330
+ async function failDeploy(client, deployment, error, logs, $spinner, warnings, errors) {
331
+ $spinner.stop(`Failed to deploy project`);
332
+ const doOutputLogs = async (prefix = "Error") => {
333
+ if (logs.trim() !== "") {
334
+ const logPath = await saveLogs(deployment.shortCode, logs);
335
+ printWarnings(warnings);
336
+ printErrors(errors);
337
+ checkLogsForErrors(logs);
338
+ outro(`${chalkError(`${prefix}:`)} ${error.message}. Full build logs have been saved to ${logPath}`);
339
+ }
340
+ else {
341
+ outro(`${chalkError(`${prefix}:`)} ${error.message}.`);
342
+ }
343
+ };
344
+ const exitCommand = (message) => {
345
+ throw new SkipLoggingError(message);
346
+ };
347
+ const deploymentResponse = await client.getDeployment(deployment.id);
348
+ if (!deploymentResponse.success) {
349
+ logger.debug(`Failed to get deployment with worker: ${deploymentResponse.error}`);
350
+ }
351
+ else {
352
+ const serverDeployment = deploymentResponse.data;
353
+ switch (serverDeployment.status) {
354
+ case "PENDING":
355
+ case "DEPLOYING":
356
+ case "BUILDING": {
357
+ await doOutputLogs();
358
+ await client.failDeployment(deployment.id, {
359
+ error,
360
+ });
361
+ exitCommand("Failed to deploy project");
362
+ break;
363
+ }
364
+ case "CANCELED": {
365
+ await doOutputLogs("Canceled");
366
+ exitCommand("Failed to deploy project");
367
+ break;
368
+ }
369
+ case "FAILED": {
370
+ const errorData = serverDeployment.errorData
371
+ ? prepareDeploymentError(serverDeployment.errorData)
372
+ : undefined;
373
+ if (errorData) {
374
+ prettyError(errorData.name, errorData.stack, errorData.stderr);
375
+ if (logs.trim() !== "") {
376
+ const logPath = await saveLogs(deployment.shortCode, logs);
377
+ outro(`Aborting deployment. Full build logs have been saved to ${logPath}`);
378
+ }
379
+ else {
380
+ outro(`Aborting deployment`);
381
+ }
382
+ }
383
+ else {
384
+ await doOutputLogs("Failed");
385
+ }
386
+ exitCommand("Failed to deploy project");
387
+ break;
388
+ }
389
+ case "DEPLOYED": {
390
+ await doOutputLogs("Deployed with errors");
391
+ exitCommand("Deployed with errors");
392
+ break;
393
+ }
394
+ case "TIMED_OUT": {
395
+ await doOutputLogs("TimedOut");
396
+ exitCommand("Timed out");
397
+ break;
398
+ }
399
+ }
400
+ }
401
+ }
402
+ //# sourceMappingURL=deploy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../../src/commands/deploy.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ import { Command } from "commander";
2
+ import { z } from "zod";
3
+ declare const DevCommandOptions: z.ZodObject<{
4
+ logLevel: z.ZodDefault<z.ZodEnum<["debug", "info", "log", "warn", "error", "none"]>>;
5
+ apiUrl: z.ZodOptional<z.ZodString>;
6
+ skipTelemetry: z.ZodDefault<z.ZodBoolean>;
7
+ profile: z.ZodDefault<z.ZodString>;
8
+ debugOtel: z.ZodDefault<z.ZodBoolean>;
9
+ config: z.ZodOptional<z.ZodString>;
10
+ projectRef: z.ZodOptional<z.ZodString>;
11
+ skipUpdateCheck: z.ZodDefault<z.ZodBoolean>;
12
+ envFile: z.ZodOptional<z.ZodString>;
13
+ }, "strip", z.ZodTypeAny, {
14
+ logLevel: "error" | "debug" | "info" | "warn" | "none" | "log";
15
+ skipTelemetry: boolean;
16
+ profile: string;
17
+ debugOtel: boolean;
18
+ skipUpdateCheck: boolean;
19
+ apiUrl?: string | undefined;
20
+ config?: string | undefined;
21
+ projectRef?: string | undefined;
22
+ envFile?: string | undefined;
23
+ }, {
24
+ logLevel?: "error" | "debug" | "info" | "warn" | "none" | "log" | undefined;
25
+ apiUrl?: string | undefined;
26
+ skipTelemetry?: boolean | undefined;
27
+ profile?: string | undefined;
28
+ debugOtel?: boolean | undefined;
29
+ config?: string | undefined;
30
+ projectRef?: string | undefined;
31
+ skipUpdateCheck?: boolean | undefined;
32
+ envFile?: string | undefined;
33
+ }>;
34
+ export type DevCommandOptions = z.infer<typeof DevCommandOptions>;
35
+ export declare function configureDevCommand(program: Command): Command;
36
+ export declare function devCommand(options: DevCommandOptions): Promise<void>;
37
+ export {};
@@ -0,0 +1,128 @@
1
+ import { z } from "zod";
2
+ import { CommonCommandOptions, commonOptions, wrapCommandAction } from "../cli/common.js";
3
+ import { watchConfig } from "../config.js";
4
+ import { startDevSession } from "../dev/devSession.js";
5
+ import { chalkError } from "../utilities/cliOutput.js";
6
+ import { printDevBanner, printStandloneInitialBanner } from "../utilities/initialBanner.js";
7
+ import { logger } from "../utilities/logger.js";
8
+ import { runtimeChecks } from "../utilities/runtimeCheck.js";
9
+ import { getProjectClient } from "../utilities/session.js";
10
+ import { login } from "./login.js";
11
+ import { updateTriggerPackages } from "./update.js";
12
+ const DevCommandOptions = CommonCommandOptions.extend({
13
+ debugOtel: z.boolean().default(false),
14
+ config: z.string().optional(),
15
+ projectRef: z.string().optional(),
16
+ skipUpdateCheck: z.boolean().default(false),
17
+ envFile: z.string().optional(),
18
+ });
19
+ export function configureDevCommand(program) {
20
+ return commonOptions(program
21
+ .command("dev")
22
+ .description("Run your Trigger.dev tasks locally")
23
+ .argument("[path]", "The path to the project", ".")
24
+ .option("-c, --config <config file>", "The name of the config file, found at [path].")
25
+ .option("-p, --project-ref <project ref>", "The project ref. Required if there is no config file.")
26
+ .option("--env-file <env file>", "Path to the .env file to use for the dev session. Defaults to .env in the project directory.")
27
+ .option("--debug-otel", "Enable OpenTelemetry debugging")
28
+ .option("--skip-update-check", "Skip checking for @trigger.dev package updates")).action(async (_, options) => {
29
+ wrapCommandAction("dev", DevCommandOptions, options, async (opts) => {
30
+ await devCommand(opts);
31
+ });
32
+ });
33
+ }
34
+ export async function devCommand(options) {
35
+ runtimeChecks();
36
+ const authorization = await login({
37
+ embedded: true,
38
+ defaultApiUrl: options.apiUrl,
39
+ profile: options.profile,
40
+ });
41
+ if (!authorization.ok) {
42
+ if (authorization.error === "fetch failed") {
43
+ logger.log(`${chalkError("X Error:")} Connecting to the server failed. Please check your internet connection or contact eric@trigger.dev for help.`);
44
+ }
45
+ else {
46
+ logger.log(`${chalkError("X Error:")} You must login first. Use the \`login\` CLI command.\n\n${authorization.error}`);
47
+ }
48
+ process.exitCode = 1;
49
+ return;
50
+ }
51
+ let watcher;
52
+ try {
53
+ const devInstance = await startDev({ ...options, cwd: process.cwd(), login: authorization });
54
+ watcher = devInstance.watcher;
55
+ await devInstance.waitUntilExit();
56
+ }
57
+ finally {
58
+ await watcher?.stop();
59
+ }
60
+ }
61
+ async function startDev(options) {
62
+ logger.debug("Starting dev CLI", { options });
63
+ let watcher;
64
+ try {
65
+ if (options.logLevel) {
66
+ logger.loggerLevel = options.logLevel;
67
+ }
68
+ await printStandloneInitialBanner(true);
69
+ let displayedUpdateMessage = false;
70
+ if (!options.skipUpdateCheck) {
71
+ displayedUpdateMessage = await updateTriggerPackages(options.cwd, { ...options }, true, true);
72
+ }
73
+ let devInstance;
74
+ printDevBanner(displayedUpdateMessage);
75
+ watcher = await watchConfig({
76
+ cwd: options.cwd,
77
+ async onUpdate(config) {
78
+ logger.debug("Updated config, rerendering", { config });
79
+ if (devInstance) {
80
+ devInstance.stop();
81
+ }
82
+ devInstance = await bootDevSession(config);
83
+ },
84
+ overrides: {
85
+ project: options.projectRef,
86
+ },
87
+ configFile: options.config,
88
+ });
89
+ logger.debug("Initial config", watcher.config);
90
+ // eslint-disable-next-line no-inner-declarations
91
+ async function bootDevSession(configParam) {
92
+ const projectClient = await getProjectClient({
93
+ accessToken: options.login.auth.accessToken,
94
+ apiUrl: options.login.auth.apiUrl,
95
+ projectRef: configParam.project,
96
+ env: "dev",
97
+ profile: options.profile,
98
+ });
99
+ if (!projectClient) {
100
+ process.exit(1);
101
+ }
102
+ return startDevSession({
103
+ name: projectClient.name,
104
+ rawArgs: options,
105
+ rawConfig: configParam,
106
+ client: projectClient.client,
107
+ initialMode: "local",
108
+ dashboardUrl: options.login.dashboardUrl,
109
+ showInteractiveDevSession: true,
110
+ });
111
+ }
112
+ devInstance = await bootDevSession(watcher.config);
113
+ const waitUntilExit = async () => { };
114
+ return {
115
+ watcher,
116
+ stop: async () => {
117
+ devInstance?.stop();
118
+ await watcher?.stop();
119
+ },
120
+ waitUntilExit,
121
+ };
122
+ }
123
+ catch (error) {
124
+ await watcher?.stop();
125
+ throw error;
126
+ }
127
+ }
128
+ //# sourceMappingURL=dev.js.map