trigger.dev 0.0.0-v3-prerelease-20250108142426 → 0.0.0-v4-prerelease-20250917185130
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.
- package/README.md +28 -1
- package/dist/esm/apiClient.d.ts +158 -74
- package/dist/esm/apiClient.js +341 -76
- package/dist/esm/apiClient.js.map +1 -1
- package/dist/esm/build/buildWorker.d.ts +10 -6
- package/dist/esm/build/buildWorker.js +22 -38
- package/dist/esm/build/buildWorker.js.map +1 -1
- package/dist/esm/build/bundle.d.ts +18 -1
- package/dist/esm/build/bundle.js +142 -52
- package/dist/esm/build/bundle.js.map +1 -1
- package/dist/esm/build/entryPoints.d.ts +12 -0
- package/dist/esm/build/entryPoints.js +127 -0
- package/dist/esm/build/entryPoints.js.map +1 -0
- package/dist/esm/build/extensions.js +17 -0
- package/dist/esm/build/extensions.js.map +1 -1
- package/dist/esm/build/externals.js +184 -2
- package/dist/esm/build/externals.js.map +1 -1
- package/dist/esm/build/packageModules.d.ts +15 -5
- package/dist/esm/build/packageModules.js +154 -36
- package/dist/esm/build/packageModules.js.map +1 -1
- package/dist/esm/cli/common.d.ts +1 -1
- package/dist/esm/cli/common.js +38 -45
- package/dist/esm/cli/common.js.map +1 -1
- package/dist/esm/cli/index.js +19 -3
- package/dist/esm/cli/index.js.map +1 -1
- package/dist/esm/commands/analyze.d.ts +23 -0
- package/dist/esm/commands/analyze.js +122 -0
- package/dist/esm/commands/analyze.js.map +1 -0
- package/dist/esm/commands/deploy.d.ts +5 -2
- package/dist/esm/commands/deploy.js +271 -160
- package/dist/esm/commands/deploy.js.map +1 -1
- package/dist/esm/commands/dev.d.ts +36 -6
- package/dist/esm/commands/dev.js +71 -2
- package/dist/esm/commands/dev.js.map +1 -1
- package/dist/esm/commands/env.d.ts +2 -0
- package/dist/esm/commands/env.js +298 -0
- package/dist/esm/commands/env.js.map +1 -0
- package/dist/esm/commands/init.d.ts +9 -1
- package/dist/esm/commands/init.js +132 -65
- package/dist/esm/commands/init.js.map +1 -1
- package/dist/esm/commands/install-mcp.d.ts +50 -0
- package/dist/esm/commands/install-mcp.js +497 -0
- package/dist/esm/commands/install-mcp.js.map +1 -0
- package/dist/esm/commands/install-rules.d.ts +11 -0
- package/dist/esm/commands/install-rules.js +381 -0
- package/dist/esm/commands/install-rules.js.map +1 -0
- package/dist/esm/commands/list-profiles.d.ts +3 -7
- package/dist/esm/commands/list-profiles.js +7 -4
- package/dist/esm/commands/list-profiles.js.map +1 -1
- package/dist/esm/commands/login.d.ts +9 -5
- package/dist/esm/commands/login.js +40 -7
- package/dist/esm/commands/login.js.map +1 -1
- package/dist/esm/commands/logout.d.ts +1 -1
- package/dist/esm/commands/mcp.d.ts +38 -0
- package/dist/esm/commands/mcp.js +82 -0
- package/dist/esm/commands/mcp.js.map +1 -0
- package/dist/esm/commands/preview.d.ts +5 -0
- package/dist/esm/commands/preview.js +93 -0
- package/dist/esm/commands/preview.js.map +1 -0
- package/dist/esm/commands/promote.d.ts +3 -0
- package/dist/esm/commands/promote.js +86 -0
- package/dist/esm/commands/promote.js.map +1 -0
- package/dist/esm/commands/switch.d.ts +19 -0
- package/dist/esm/commands/switch.js +93 -0
- package/dist/esm/commands/switch.js.map +1 -0
- package/dist/esm/commands/trigger.d.ts +33 -0
- package/dist/esm/commands/trigger.js +88 -0
- package/dist/esm/commands/trigger.js.map +1 -0
- package/dist/esm/commands/update.d.ts +3 -2
- package/dist/esm/commands/update.js +23 -9
- package/dist/esm/commands/update.js.map +1 -1
- package/dist/esm/commands/whoami.d.ts +12 -1
- package/dist/esm/commands/whoami.js +36 -6
- package/dist/esm/commands/whoami.js.map +1 -1
- package/dist/esm/commands/workers/build.d.ts +4 -0
- package/dist/esm/commands/workers/build.js +345 -0
- package/dist/esm/commands/workers/build.js.map +1 -0
- package/dist/esm/commands/workers/create.d.ts +2 -0
- package/dist/esm/commands/workers/create.js +91 -0
- package/dist/esm/commands/workers/create.js.map +1 -0
- package/dist/esm/commands/workers/index.d.ts +2 -0
- package/dist/esm/commands/workers/index.js +13 -0
- package/dist/esm/commands/workers/index.js.map +1 -0
- package/dist/esm/commands/workers/list.d.ts +2 -0
- package/dist/esm/commands/workers/list.js +80 -0
- package/dist/esm/commands/workers/list.js.map +1 -0
- package/dist/esm/commands/workers/run.d.ts +2 -0
- package/dist/esm/commands/workers/run.js +105 -0
- package/dist/esm/commands/workers/run.js.map +1 -0
- package/dist/esm/config.d.ts +2 -1
- package/dist/esm/config.js +35 -8
- package/dist/esm/config.js.map +1 -1
- package/dist/esm/deploy/buildImage.d.ts +12 -11
- package/dist/esm/deploy/buildImage.js +360 -115
- package/dist/esm/deploy/buildImage.js.map +1 -1
- package/dist/esm/dev/backgroundWorker.d.ts +6 -245
- package/dist/esm/dev/backgroundWorker.js +11 -320
- package/dist/esm/dev/backgroundWorker.js.map +1 -1
- package/dist/esm/dev/devOutput.js +48 -9
- package/dist/esm/dev/devOutput.js.map +1 -1
- package/dist/esm/dev/devSession.d.ts +2 -1
- package/dist/esm/dev/devSession.js +68 -65
- package/dist/esm/dev/devSession.js.map +1 -1
- package/dist/esm/dev/devSupervisor.d.ts +12 -0
- package/dist/esm/dev/devSupervisor.js +568 -0
- package/dist/esm/dev/devSupervisor.js.map +1 -0
- package/dist/esm/dev/lock.d.ts +1 -0
- package/dist/esm/dev/lock.js +80 -0
- package/dist/esm/dev/lock.js.map +1 -0
- package/dist/esm/dev/mcpServer.d.ts +10 -0
- package/dist/esm/dev/mcpServer.js +201 -0
- package/dist/esm/dev/mcpServer.js.map +1 -0
- package/dist/esm/dev/taskRunProcessPool.d.ts +39 -0
- package/dist/esm/dev/taskRunProcessPool.js +220 -0
- package/dist/esm/dev/taskRunProcessPool.js.map +1 -0
- package/dist/esm/dev/workerRuntime.d.ts +2 -2
- package/dist/esm/dev/workerRuntime.js +1 -265
- package/dist/esm/dev/workerRuntime.js.map +1 -1
- package/dist/esm/entryPoints/dev-index-worker.js +45 -8
- package/dist/esm/entryPoints/dev-index-worker.js.map +1 -1
- package/dist/esm/entryPoints/dev-run-controller.d.ts +58 -0
- package/dist/esm/entryPoints/dev-run-controller.js +652 -0
- package/dist/esm/entryPoints/dev-run-controller.js.map +1 -0
- package/dist/esm/entryPoints/dev-run-worker.js +394 -199
- package/dist/esm/entryPoints/dev-run-worker.js.map +1 -1
- package/dist/esm/entryPoints/managed/controller.d.ts +63 -0
- package/dist/esm/entryPoints/managed/controller.js +502 -0
- package/dist/esm/entryPoints/managed/controller.js.map +1 -0
- package/dist/esm/entryPoints/managed/env.d.ts +170 -0
- package/dist/esm/entryPoints/managed/env.js +199 -0
- package/dist/esm/entryPoints/managed/env.js.map +1 -0
- package/dist/esm/entryPoints/managed/execution.d.ts +143 -0
- package/dist/esm/entryPoints/managed/execution.js +901 -0
- package/dist/esm/entryPoints/managed/execution.js.map +1 -0
- package/dist/esm/entryPoints/managed/logger.d.ts +30 -0
- package/dist/esm/entryPoints/managed/logger.js +47 -0
- package/dist/esm/entryPoints/managed/logger.js.map +1 -0
- package/dist/esm/entryPoints/managed/notifier.d.ts +30 -0
- package/dist/esm/entryPoints/managed/notifier.js +63 -0
- package/dist/esm/entryPoints/managed/notifier.js.map +1 -0
- package/dist/esm/entryPoints/managed/overrides.d.ts +18 -0
- package/dist/esm/entryPoints/managed/overrides.js +19 -0
- package/dist/esm/entryPoints/managed/overrides.js.map +1 -0
- package/dist/esm/entryPoints/managed/poller.d.ts +31 -0
- package/dist/esm/entryPoints/managed/poller.js +89 -0
- package/dist/esm/entryPoints/managed/poller.js.map +1 -0
- package/dist/esm/entryPoints/managed/snapshot.d.ts +54 -0
- package/dist/esm/entryPoints/managed/snapshot.js +293 -0
- package/dist/esm/entryPoints/managed/snapshot.js.map +1 -0
- package/dist/esm/entryPoints/managed/taskRunProcessProvider.d.ts +62 -0
- package/dist/esm/entryPoints/managed/taskRunProcessProvider.js +252 -0
- package/dist/esm/entryPoints/managed/taskRunProcessProvider.js.map +1 -0
- package/dist/esm/entryPoints/{deploy-index-controller.js → managed-index-controller.js} +27 -3
- package/dist/esm/entryPoints/managed-index-controller.js.map +1 -0
- package/dist/esm/entryPoints/{deploy-index-worker.js → managed-index-worker.js} +50 -21
- package/dist/esm/entryPoints/managed-index-worker.js.map +1 -0
- package/dist/esm/entryPoints/managed-run-controller.js +13 -0
- package/dist/esm/entryPoints/managed-run-controller.js.map +1 -0
- package/dist/esm/entryPoints/managed-run-worker.js +512 -0
- package/dist/esm/entryPoints/managed-run-worker.js.map +1 -0
- package/dist/esm/executions/taskRunProcess.d.ts +28 -82
- package/dist/esm/executions/taskRunProcess.js +130 -74
- package/dist/esm/executions/taskRunProcess.js.map +1 -1
- package/dist/esm/indexing/indexWorkerManifest.d.ts +21 -5
- package/dist/esm/indexing/indexWorkerManifest.js +4 -4
- package/dist/esm/indexing/indexWorkerManifest.js.map +1 -1
- package/dist/esm/indexing/registerResources.d.ts +5 -0
- package/dist/esm/indexing/registerResources.js +44 -0
- package/dist/esm/indexing/registerResources.js.map +1 -0
- package/dist/esm/mcp/auth.d.ts +12 -0
- package/dist/esm/mcp/auth.js +152 -0
- package/dist/esm/mcp/auth.js.map +1 -0
- package/dist/esm/mcp/capabilities.d.ts +4 -0
- package/dist/esm/mcp/capabilities.js +22 -0
- package/dist/esm/mcp/capabilities.js.map +1 -0
- package/dist/esm/mcp/config.d.ts +82 -0
- package/dist/esm/mcp/config.js +87 -0
- package/dist/esm/mcp/config.js.map +1 -0
- package/dist/esm/mcp/context.d.ts +45 -0
- package/dist/esm/mcp/context.js +129 -0
- package/dist/esm/mcp/context.js.map +1 -0
- package/dist/esm/mcp/formatters.d.ts +7 -0
- package/dist/esm/mcp/formatters.js +330 -0
- package/dist/esm/mcp/formatters.js.map +1 -0
- package/dist/esm/mcp/logger.d.ts +11 -0
- package/dist/esm/mcp/logger.js +34 -0
- package/dist/esm/mcp/logger.js.map +1 -0
- package/dist/esm/mcp/mintlifyClient.d.ts +1 -0
- package/dist/esm/mcp/mintlifyClient.js +65 -0
- package/dist/esm/mcp/mintlifyClient.js.map +1 -0
- package/dist/esm/mcp/schemas.d.ts +324 -0
- package/dist/esm/mcp/schemas.js +144 -0
- package/dist/esm/mcp/schemas.js.map +1 -0
- package/dist/esm/mcp/tools/deploys.d.ts +174 -0
- package/dist/esm/mcp/tools/deploys.js +161 -0
- package/dist/esm/mcp/tools/deploys.js.map +1 -0
- package/dist/esm/mcp/tools/docs.d.ts +77 -0
- package/dist/esm/mcp/tools/docs.js +18 -0
- package/dist/esm/mcp/tools/docs.js.map +1 -0
- package/dist/esm/mcp/tools/orgs.d.ts +172 -0
- package/dist/esm/mcp/tools/orgs.js +172 -0
- package/dist/esm/mcp/tools/orgs.js.map +1 -0
- package/dist/esm/mcp/tools/previewBranches.d.ts +78 -0
- package/dist/esm/mcp/tools/previewBranches.js +28 -0
- package/dist/esm/mcp/tools/previewBranches.js.map +1 -0
- package/dist/esm/mcp/tools/runs.d.ts +335 -0
- package/dist/esm/mcp/tools/runs.js +160 -0
- package/dist/esm/mcp/tools/runs.js.map +1 -0
- package/dist/esm/mcp/tools/tasks.d.ts +200 -0
- package/dist/esm/mcp/tools/tasks.js +117 -0
- package/dist/esm/mcp/tools/tasks.js.map +1 -0
- package/dist/esm/mcp/tools.d.ts +2 -0
- package/dist/esm/mcp/tools.js +40 -0
- package/dist/esm/mcp/tools.js.map +1 -0
- package/dist/esm/mcp/types.d.ts +6 -0
- package/dist/esm/mcp/types.js +2 -0
- package/dist/esm/mcp/types.js.map +1 -0
- package/dist/esm/mcp/utils.d.ts +89 -0
- package/dist/esm/mcp/utils.js +95 -0
- package/dist/esm/mcp/utils.js.map +1 -0
- package/dist/esm/rules/install.d.ts +1 -0
- package/dist/esm/rules/install.js +2 -0
- package/dist/esm/rules/install.js.map +1 -0
- package/dist/esm/rules/manifest.d.ts +145 -0
- package/dist/esm/rules/manifest.js +110 -0
- package/dist/esm/rules/manifest.js.map +1 -0
- package/dist/esm/rules/types.d.ts +3 -0
- package/dist/esm/rules/types.js +3 -0
- package/dist/esm/rules/types.js.map +1 -0
- package/dist/esm/utilities/accessTokens.d.ts +12 -0
- package/dist/esm/utilities/accessTokens.js +30 -0
- package/dist/esm/utilities/accessTokens.js.map +1 -0
- package/dist/esm/utilities/analyze.d.ts +13 -0
- package/dist/esm/utilities/analyze.js +463 -0
- package/dist/esm/utilities/analyze.js.map +1 -0
- package/dist/esm/utilities/cliOutput.d.ts +6 -1
- package/dist/esm/utilities/cliOutput.js +11 -2
- package/dist/esm/utilities/cliOutput.js.map +1 -1
- package/dist/esm/utilities/configFiles.d.ts +65 -15
- package/dist/esm/utilities/configFiles.js +124 -26
- package/dist/esm/utilities/configFiles.js.map +1 -1
- package/dist/esm/utilities/eventBus.d.ts +7 -3
- package/dist/esm/utilities/eventBus.js.map +1 -1
- package/dist/esm/utilities/fileSystem.d.ts +7 -1
- package/dist/esm/utilities/fileSystem.js +42 -4
- package/dist/esm/utilities/fileSystem.js.map +1 -1
- package/dist/esm/utilities/gitMeta.d.ts +2 -0
- package/dist/esm/utilities/gitMeta.js +220 -0
- package/dist/esm/utilities/gitMeta.js.map +1 -0
- package/dist/esm/utilities/githubActions.d.ts +4 -0
- package/dist/esm/utilities/githubActions.js +18 -0
- package/dist/esm/utilities/githubActions.js.map +1 -0
- package/dist/esm/utilities/initialBanner.js +18 -6
- package/dist/esm/utilities/initialBanner.js.map +1 -1
- package/dist/esm/utilities/localEnvVars.d.ts +3 -0
- package/dist/esm/utilities/localEnvVars.js +19 -0
- package/dist/esm/utilities/localEnvVars.js.map +1 -0
- package/dist/esm/utilities/sanitizeEnvVars.d.ts +16 -3
- package/dist/esm/utilities/sanitizeEnvVars.js +15 -0
- package/dist/esm/utilities/sanitizeEnvVars.js.map +1 -1
- package/dist/esm/utilities/session.d.ts +14 -0
- package/dist/esm/utilities/session.js +44 -47
- package/dist/esm/utilities/session.js.map +1 -1
- package/dist/esm/utilities/supportsHyperlinks.d.ts +15 -0
- package/dist/esm/utilities/supportsHyperlinks.js +122 -0
- package/dist/esm/utilities/supportsHyperlinks.js.map +1 -0
- package/dist/esm/utilities/tempDirectories.d.ts +1 -0
- package/dist/esm/utilities/tempDirectories.js +19 -2
- package/dist/esm/utilities/tempDirectories.js.map +1 -1
- package/dist/esm/utilities/terminalLink.d.ts +56 -0
- package/dist/esm/utilities/terminalLink.js +76 -0
- package/dist/esm/utilities/terminalLink.js.map +1 -0
- package/dist/esm/utilities/windows.js +65 -1
- package/dist/esm/utilities/windows.js.map +1 -1
- package/dist/esm/version.js +1 -1
- package/package.json +44 -25
- package/dist/esm/entryPoints/deploy-index-controller.js.map +0 -1
- package/dist/esm/entryPoints/deploy-index-worker.js.map +0 -1
- package/dist/esm/entryPoints/deploy-run-controller.js +0 -1099
- package/dist/esm/entryPoints/deploy-run-controller.js.map +0 -1
- package/dist/esm/entryPoints/deploy-run-worker.js +0 -366
- package/dist/esm/entryPoints/deploy-run-worker.js.map +0 -1
- package/dist/esm/indexing/registerTasks.d.ts +0 -2
- package/dist/esm/indexing/registerTasks.js +0 -62
- package/dist/esm/indexing/registerTasks.js.map +0 -1
- package/dist/esm/telemetry/tracing.d.ts +0 -3
- package/dist/esm/telemetry/tracing.js +0 -58
- package/dist/esm/telemetry/tracing.js.map +0 -1
- /package/dist/esm/entryPoints/{deploy-index-controller.d.ts → managed-index-controller.d.ts} +0 -0
- /package/dist/esm/entryPoints/{deploy-index-worker.d.ts → managed-index-worker.d.ts} +0 -0
- /package/dist/esm/entryPoints/{deploy-run-controller.d.ts → managed-run-controller.d.ts} +0 -0
- /package/dist/esm/entryPoints/{deploy-run-worker.d.ts → managed-run-worker.d.ts} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trigger.js","sourceRoot":"","sources":["../../../src/commands/trigger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAE9C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAC5F,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AAE1E,MAAM,kBAAkB,GAAG,oBAAoB,CAAC,MAAM,CAAC;IACrD,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAChC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAClC,CAAC,CAAC;AAIH,MAAM,UAAU,2BAA2B,CAAC,OAAgB;IAC1D,OAAO,OAAO;SACX,OAAO,CAAC,SAAS,CAAC;SAClB,WAAW,CAAC,gBAAgB,CAAC;SAC7B,QAAQ,CAAC,aAAa,EAAE,sBAAsB,CAAC;SAC/C,MAAM,CACL,yBAAyB,EACzB,+HAA+H,EAC/H,KAAK,CACN;SACA,MAAM,CAAC,kBAAkB,EAAE,8BAA8B,CAAC;SAC1D,MAAM,CACL,iBAAiB,EACjB,kFAAkF,EAClF,MAAM,CACP;SACA,MAAM,CAAC,4BAA4B,EAAE,8CAA8C,CAAC;SACpF,MAAM,CACL,iCAAiC,EACjC,oHAAoH,CACrH;SACA,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE;QAC9B,MAAM,eAAe,CAAC,KAAK,IAAI,EAAE;YAC/B,MAAM,kBAAkB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACP,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,QAAgB,EAAE,OAAgB;IACzE,OAAO,MAAM,iBAAiB,CAAC,SAAS,EAAE,kBAAkB,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QACpF,MAAM,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAChC,OAAO,MAAM,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,QAAgB,EAAE,OAA2B;IAC7E,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,mBAAmB,QAAQ,EAAE,CAAC,CAAC;IAErC,MAAM,aAAa,GAAG,MAAM,KAAK,CAAC;QAChC,QAAQ,EAAE,IAAI;QACd,aAAa,EAAE,OAAO,CAAC,MAAM;QAC7B,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,MAAM,EAAE,IAAI;KACb,CAAC,CAAC;IAEH,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,CAAC;QACtB,IAAI,aAAa,CAAC,KAAK,KAAK,cAAc,EAAE,CAAC;YAC3C,MAAM,IAAI,KAAK,CACb,wBAAwB,aAAa,CAAC,IAAI,EAAE,MAAM,sCAAsC,CACzF,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CACb,2DAA2D,aAAa,CAAC,KAAK,EAAE,CACjF,CAAC;QACJ,CAAC;IACH,CAAC;IAED,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,GAAG,CAAC,CAAC;IAEhD,MAAM,cAAc,GAAG,MAAM,UAAU,CAAC;QACtC,GAAG,EAAE,WAAW;QAChB,SAAS,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,UAAU,EAAE;QAC1C,UAAU,EAAE,OAAO,CAAC,MAAM;KAC3B,CAAC,CAAC;IAEH,MAAM,CAAC,KAAK,CAAC,iBAAiB,EAAE,cAAc,CAAC,CAAC;IAEhD,MAAM,aAAa,GAAG,MAAM,gBAAgB,CAAC;QAC3C,WAAW,EAAE,aAAa,CAAC,IAAI,CAAC,WAAW;QAC3C,MAAM,EAAE,aAAa,CAAC,IAAI,CAAC,MAAM;QACjC,UAAU,EAAE,cAAc,CAAC,OAAO;QAClC,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,OAAO,EAAE,OAAO,CAAC,OAAO;KACzB,CAAC,CAAC;IAEH,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;IAClD,CAAC;IAED,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE;QACpE,OAAO,EAAE;YACP,OAAO,EAAE,kBAAkB;SAC5B;KACF,CAAC,CAAC;IAEH,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;IAC5C,CAAC;IAED,MAAM,OAAO,GAAG,GAAG,aAAa,CAAC,YAAY,gBAAgB,cAAc,CAAC,OAAO,EAAE,CAAC;IACtF,MAAM,MAAM,GAAG,GAAG,OAAO,SAAS,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;IAEtD,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;IAC5B,MAAM,IAAI,GAAG,SAAS,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC;IAEpD,KAAK,CAAC,YAAY,IAAI,IAAI,IAAI,EAAE,CAAC,CAAC;AACpC,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Command } from "commander";
|
|
2
|
-
import { PackageJson } from "pkg-types";
|
|
2
|
+
import { PackageJson, type ResolveOptions } from "pkg-types";
|
|
3
3
|
import { z } from "zod";
|
|
4
4
|
export declare const UpdateCommandOptions: z.ZodObject<Pick<{
|
|
5
5
|
apiUrl: z.ZodOptional<z.ZodString>;
|
|
@@ -17,7 +17,8 @@ export type UpdateCommandOptions = z.infer<typeof UpdateCommandOptions>;
|
|
|
17
17
|
export declare function configureUpdateCommand(program: Command): Command;
|
|
18
18
|
export declare function updateCommand(dir: string, options: UpdateCommandOptions): Promise<void>;
|
|
19
19
|
export declare function updateTriggerPackages(dir: string, options: UpdateCommandOptions, embedded?: boolean, requireUpdate?: boolean): Promise<boolean>;
|
|
20
|
-
export declare function
|
|
20
|
+
export declare function tryResolveTriggerPackageVersion(name: string, basedir?: string): Promise<string | undefined>;
|
|
21
|
+
export declare function getPackageJson(absoluteProjectPath: string, options?: ResolveOptions): Promise<{
|
|
21
22
|
packageJson: PackageJson;
|
|
22
23
|
readonlyPackageJson: PackageJson;
|
|
23
24
|
packageJsonPath: string;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { confirm, intro, isCancel, log, outro } from "@clack/prompts";
|
|
2
2
|
import { detectPackageManager, installDependencies } from "nypm";
|
|
3
|
-
import { dirname, resolve } from "path";
|
|
3
|
+
import { dirname, join, resolve } from "path";
|
|
4
4
|
import { readPackageJSON, resolvePackageJSON } from "pkg-types";
|
|
5
5
|
import { CommonCommandOptions, OutroCommandError, wrapCommandAction } from "../cli/common.js";
|
|
6
6
|
import { chalkError, prettyError, prettyWarning } from "../utilities/cliOutput.js";
|
|
@@ -68,7 +68,11 @@ export async function updateTriggerPackages(dir, options, embedded, requireUpdat
|
|
|
68
68
|
mismatches.push(dep);
|
|
69
69
|
}
|
|
70
70
|
const isDowngrade = mismatches.some((dep) => {
|
|
71
|
-
|
|
71
|
+
const depMinVersion = semver.minVersion(dep.version);
|
|
72
|
+
if (!depMinVersion) {
|
|
73
|
+
return false;
|
|
74
|
+
}
|
|
75
|
+
return semver.gt(depMinVersion, targetVersion);
|
|
72
76
|
});
|
|
73
77
|
return {
|
|
74
78
|
mismatches,
|
|
@@ -198,20 +202,30 @@ async function getTriggerDependencies(packageJson, packageJsonPath) {
|
|
|
198
202
|
if (ignoredPackages.includes(name)) {
|
|
199
203
|
continue;
|
|
200
204
|
}
|
|
201
|
-
const $version = await tryResolveTriggerPackageVersion(name, packageJsonPath);
|
|
205
|
+
const $version = await tryResolveTriggerPackageVersion(name, dirname(packageJsonPath));
|
|
202
206
|
deps.push({ type, name, version: $version ?? version });
|
|
203
207
|
}
|
|
204
208
|
}
|
|
205
209
|
return deps;
|
|
206
210
|
}
|
|
207
|
-
async function tryResolveTriggerPackageVersion(name,
|
|
211
|
+
export async function tryResolveTriggerPackageVersion(name, basedir) {
|
|
208
212
|
try {
|
|
209
213
|
const resolvedPath = nodeResolve.sync(name, {
|
|
210
|
-
basedir
|
|
214
|
+
basedir,
|
|
211
215
|
});
|
|
212
216
|
logger.debug(`Resolved ${name} package version path`, { name, resolvedPath });
|
|
213
|
-
|
|
214
|
-
|
|
217
|
+
const { packageJson } = await getPackageJson(dirname(resolvedPath), {
|
|
218
|
+
test: (filePath) => {
|
|
219
|
+
// We need to skip any type-marker files
|
|
220
|
+
if (filePath.includes(join("dist", "commonjs"))) {
|
|
221
|
+
return false;
|
|
222
|
+
}
|
|
223
|
+
if (filePath.includes(join("dist", "esm"))) {
|
|
224
|
+
return false;
|
|
225
|
+
}
|
|
226
|
+
return true;
|
|
227
|
+
},
|
|
228
|
+
});
|
|
215
229
|
if (packageJson.version) {
|
|
216
230
|
logger.debug(`Resolved ${name} package version`, { name, version: packageJson.version });
|
|
217
231
|
return packageJson.version;
|
|
@@ -247,8 +261,8 @@ async function updateConfirmation(depsToUpdate, targetVersion) {
|
|
|
247
261
|
message: confirmMessage,
|
|
248
262
|
});
|
|
249
263
|
}
|
|
250
|
-
export async function getPackageJson(absoluteProjectPath) {
|
|
251
|
-
const packageJsonPath = await resolvePackageJSON(absoluteProjectPath);
|
|
264
|
+
export async function getPackageJson(absoluteProjectPath, options) {
|
|
265
|
+
const packageJsonPath = await resolvePackageJSON(absoluteProjectPath, options);
|
|
252
266
|
const readonlyPackageJson = await readPackageJSON(packageJsonPath);
|
|
253
267
|
const packageJson = structuredClone(readonlyPackageJson);
|
|
254
268
|
return { packageJson, readonlyPackageJson, packageJsonPath };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../../src/commands/update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAEtE,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,MAAM,CAAC;AACjE,OAAO,EAAY,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../../src/commands/update.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,7 @@ type WhoAmIResult = {
|
|
|
6
6
|
userId: string;
|
|
7
7
|
email: string;
|
|
8
8
|
dashboardUrl: string;
|
|
9
|
+
projectUrl?: string;
|
|
9
10
|
};
|
|
10
11
|
} | {
|
|
11
12
|
success: false;
|
|
@@ -16,19 +17,29 @@ declare const WhoamiCommandOptions: z.ZodObject<{
|
|
|
16
17
|
logLevel: z.ZodDefault<z.ZodEnum<["debug", "info", "log", "warn", "error", "none"]>>;
|
|
17
18
|
skipTelemetry: z.ZodDefault<z.ZodBoolean>;
|
|
18
19
|
profile: z.ZodDefault<z.ZodString>;
|
|
20
|
+
} & {
|
|
21
|
+
config: z.ZodOptional<z.ZodString>;
|
|
22
|
+
projectRef: z.ZodOptional<z.ZodString>;
|
|
23
|
+
envFile: z.ZodOptional<z.ZodString>;
|
|
19
24
|
}, "strip", z.ZodTypeAny, {
|
|
20
25
|
logLevel: "error" | "debug" | "info" | "warn" | "none" | "log";
|
|
21
26
|
skipTelemetry: boolean;
|
|
22
27
|
profile: string;
|
|
23
28
|
apiUrl?: string | undefined;
|
|
29
|
+
config?: string | undefined;
|
|
30
|
+
projectRef?: string | undefined;
|
|
31
|
+
envFile?: string | undefined;
|
|
24
32
|
}, {
|
|
25
33
|
logLevel?: "error" | "debug" | "info" | "warn" | "none" | "log" | undefined;
|
|
26
34
|
apiUrl?: string | undefined;
|
|
35
|
+
config?: string | undefined;
|
|
36
|
+
projectRef?: string | undefined;
|
|
27
37
|
skipTelemetry?: boolean | undefined;
|
|
28
38
|
profile?: string | undefined;
|
|
39
|
+
envFile?: string | undefined;
|
|
29
40
|
}>;
|
|
30
41
|
type WhoamiCommandOptions = z.infer<typeof WhoamiCommandOptions>;
|
|
31
42
|
export declare function configureWhoamiCommand(program: Command): Command;
|
|
32
|
-
export declare function whoAmICommand(options: unknown): Promise<WhoAmIResult>;
|
|
43
|
+
export declare function whoAmICommand(options: unknown): Promise<WhoAmIResult | undefined>;
|
|
33
44
|
export declare function whoAmI(options?: WhoamiCommandOptions, embedded?: boolean, silent?: boolean): Promise<WhoAmIResult>;
|
|
34
45
|
export {};
|
|
@@ -4,11 +4,24 @@ import { logger } from "../utilities/logger.js";
|
|
|
4
4
|
import { isLoggedIn } from "../utilities/session.js";
|
|
5
5
|
import { printInitialBanner } from "../utilities/initialBanner.js";
|
|
6
6
|
import { CommonCommandOptions, commonOptions, handleTelemetry, wrapCommandAction, } from "../cli/common.js";
|
|
7
|
+
import { z } from "zod";
|
|
7
8
|
import { CliApiClient } from "../apiClient.js";
|
|
8
9
|
import { spinner } from "../utilities/windows.js";
|
|
9
|
-
|
|
10
|
+
import { loadConfig } from "../config.js";
|
|
11
|
+
import { resolveLocalEnvVars } from "../utilities/localEnvVars.js";
|
|
12
|
+
import { tryCatch } from "@trigger.dev/core";
|
|
13
|
+
const WhoamiCommandOptions = CommonCommandOptions.extend({
|
|
14
|
+
config: z.string().optional(),
|
|
15
|
+
projectRef: z.string().optional(),
|
|
16
|
+
envFile: z.string().optional(),
|
|
17
|
+
});
|
|
10
18
|
export function configureWhoamiCommand(program) {
|
|
11
|
-
return commonOptions(program
|
|
19
|
+
return commonOptions(program
|
|
20
|
+
.command("whoami")
|
|
21
|
+
.description("display the current logged in user and project details")
|
|
22
|
+
.option("-c, --config <config file>", "The name of the config file")
|
|
23
|
+
.option("-p, --project-ref <project ref>", "The project ref. This will override the project specified in the config file.")
|
|
24
|
+
.option("--env-file <env file>", "Path to the .env file to load into the CLI process. Defaults to .env in the project directory.")).action(async (options) => {
|
|
12
25
|
await handleTelemetry(async () => {
|
|
13
26
|
await printInitialBanner(false);
|
|
14
27
|
await whoAmICommand(options);
|
|
@@ -24,6 +37,18 @@ export async function whoAmI(options, embedded = false, silent = false) {
|
|
|
24
37
|
if (!embedded) {
|
|
25
38
|
intro(`Displaying your account details [${options?.profile ?? "default"}]`);
|
|
26
39
|
}
|
|
40
|
+
const envVars = resolveLocalEnvVars(options?.envFile);
|
|
41
|
+
if (envVars.TRIGGER_PROJECT_REF) {
|
|
42
|
+
logger.debug("Using project ref from env", { ref: envVars.TRIGGER_PROJECT_REF });
|
|
43
|
+
}
|
|
44
|
+
const [configError, resolvedConfig] = await tryCatch(loadConfig({
|
|
45
|
+
overrides: { project: options?.projectRef ?? envVars.TRIGGER_PROJECT_REF },
|
|
46
|
+
configFile: options?.config,
|
|
47
|
+
warn: false,
|
|
48
|
+
}));
|
|
49
|
+
if (configError) {
|
|
50
|
+
logger.debug("Error loading config", { error: configError });
|
|
51
|
+
}
|
|
27
52
|
const loadingSpinner = spinner();
|
|
28
53
|
if (!silent) {
|
|
29
54
|
loadingSpinner.start("Checking your account details");
|
|
@@ -49,7 +74,7 @@ export async function whoAmI(options, embedded = false, silent = false) {
|
|
|
49
74
|
};
|
|
50
75
|
}
|
|
51
76
|
const apiClient = new CliApiClient(authentication.auth.apiUrl, authentication.auth.accessToken);
|
|
52
|
-
const userData = await apiClient.whoAmI();
|
|
77
|
+
const userData = await apiClient.whoAmI(resolvedConfig?.project);
|
|
53
78
|
if (!userData.success) {
|
|
54
79
|
loadingSpinner.stop("Error getting your account details");
|
|
55
80
|
logger.error(userData.error);
|
|
@@ -61,9 +86,14 @@ export async function whoAmI(options, embedded = false, silent = false) {
|
|
|
61
86
|
if (!embedded) {
|
|
62
87
|
loadingSpinner.stop("Retrieved your account details");
|
|
63
88
|
note(`User ID: ${userData.data.userId}
|
|
64
|
-
Email:
|
|
65
|
-
URL:
|
|
66
|
-
|
|
89
|
+
Email: ${userData.data.email}
|
|
90
|
+
URL: ${chalkLink(authentication.auth.apiUrl)}`, `Account details [${authentication.profile}]`);
|
|
91
|
+
const { project } = userData.data;
|
|
92
|
+
if (project) {
|
|
93
|
+
note(`Name: ${project.name}
|
|
94
|
+
Org: ${project.orgTitle}
|
|
95
|
+
URL: ${chalkLink(project.url)}`, `Project details [${resolvedConfig?.project}]`);
|
|
96
|
+
}
|
|
67
97
|
}
|
|
68
98
|
else {
|
|
69
99
|
!silent && loadingSpinner.stop(`Retrieved your account details for ${userData.data.email}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"whoami.js","sourceRoot":"","sources":["../../../src/commands/whoami.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAErD,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EACL,oBAAoB,EACpB,aAAa,EACb,eAAe,EACf,iBAAiB,GAClB,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"whoami.js","sourceRoot":"","sources":["../../../src/commands/whoami.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { Command } from "commander";
|
|
2
|
+
import { CliApiClient } from "../../apiClient.js";
|
|
3
|
+
export declare function configureWorkersBuildCommand(program: Command): Command;
|
|
4
|
+
export declare function syncEnvVarsWithServer(apiClient: CliApiClient, projectRef: string, environmentSlug: string, envVars: Record<string, string>, parentEnvVars?: Record<string, string>): Promise<boolean>;
|
|
@@ -0,0 +1,345 @@
|
|
|
1
|
+
import { intro, outro, log } from "@clack/prompts";
|
|
2
|
+
import { getBranch, prepareDeploymentError } from "@trigger.dev/core/v3";
|
|
3
|
+
import { Option as CommandOption } from "commander";
|
|
4
|
+
import { resolve } from "node:path";
|
|
5
|
+
import { z } from "zod";
|
|
6
|
+
import { buildWorker } from "../../build/buildWorker.js";
|
|
7
|
+
import { CommonCommandOptions, commonOptions, handleTelemetry, SkipLoggingError, wrapCommandAction, } from "../../cli/common.js";
|
|
8
|
+
import { loadConfig } from "../../config.js";
|
|
9
|
+
import { buildImage } from "../../deploy/buildImage.js";
|
|
10
|
+
import { checkLogsForErrors, checkLogsForWarnings, printErrors, printWarnings, saveLogs, } from "../../deploy/logs.js";
|
|
11
|
+
import { chalkError, cliLink, isLinksSupported, prettyError } from "../../utilities/cliOutput.js";
|
|
12
|
+
import { loadDotEnvVars } from "../../utilities/dotEnv.js";
|
|
13
|
+
import { printStandloneInitialBanner } from "../../utilities/initialBanner.js";
|
|
14
|
+
import { logger } from "../../utilities/logger.js";
|
|
15
|
+
import { getProjectClient } from "../../utilities/session.js";
|
|
16
|
+
import { getTmpDir } from "../../utilities/tempDirectories.js";
|
|
17
|
+
import { spinner } from "../../utilities/windows.js";
|
|
18
|
+
import { login } from "../login.js";
|
|
19
|
+
import { updateTriggerPackages } from "../update.js";
|
|
20
|
+
import { resolveAlwaysExternal } from "../../build/externals.js";
|
|
21
|
+
import { createGitMeta } from "../../utilities/gitMeta.js";
|
|
22
|
+
const WorkersBuildCommandOptions = CommonCommandOptions.extend({
|
|
23
|
+
// docker build options
|
|
24
|
+
load: z.boolean().default(false),
|
|
25
|
+
network: z.enum(["default", "none", "host"]).optional(),
|
|
26
|
+
tag: z.string().optional(),
|
|
27
|
+
push: z.boolean().default(false),
|
|
28
|
+
noCache: z.boolean().default(false),
|
|
29
|
+
// trigger options
|
|
30
|
+
local: z.boolean().default(false), // TODO: default to true when webapp has no remote build support
|
|
31
|
+
dryRun: z.boolean().default(false),
|
|
32
|
+
skipSyncEnvVars: z.boolean().default(false),
|
|
33
|
+
env: z.enum(["prod", "staging", "preview"]),
|
|
34
|
+
branch: z.string().optional(),
|
|
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
|
+
envFile: z.string().optional(),
|
|
41
|
+
});
|
|
42
|
+
export function configureWorkersBuildCommand(program) {
|
|
43
|
+
return commonOptions(program
|
|
44
|
+
.command("build")
|
|
45
|
+
.description("Build a self-hosted worker image")
|
|
46
|
+
.argument("[path]", "The path to the project", ".")
|
|
47
|
+
.option("-e, --env <env>", "Deploy to a specific environment (currently only prod and staging are supported)", "prod")
|
|
48
|
+
.option("-b, --branch <branch>", "The branch to deploy to. If not provided, the branch will be detected from the current git branch.")
|
|
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("--skip-sync-env-vars", "Skip syncing environment variables when using the syncEnvVars extension.")
|
|
53
|
+
.option("--env-file <env file>", "Path to the .env file to load into the CLI process. Defaults to .env in the project directory."))
|
|
54
|
+
.addOption(new CommandOption("--dry-run", "This will only create the build context without actually building the image. This can be useful for debugging.").hideHelp())
|
|
55
|
+
.addOption(new CommandOption("--no-cache", "Do not use any build cache. This will significantly slow down the build process but can be useful to fix caching issues.").hideHelp())
|
|
56
|
+
.option("--local", "Force building the image locally.")
|
|
57
|
+
.option("--push", "Push the image to the configured registry.")
|
|
58
|
+
.option("-t, --tag <tag>", "Specify the full name of the resulting image with an optional tag. The tag will always be overridden for remote builds.")
|
|
59
|
+
.option("--load", "Load the built image into your local docker")
|
|
60
|
+
.option("--network <mode>", "The networking mode for RUN instructions when using --local", "host")
|
|
61
|
+
.option("--platform <platform>", "The platform to build the deployment image for", "linux/amd64")
|
|
62
|
+
.option("--save-logs", "If provided, will save logs even for successful builds")
|
|
63
|
+
.action(async (path, options) => {
|
|
64
|
+
await handleTelemetry(async () => {
|
|
65
|
+
await printStandloneInitialBanner(true);
|
|
66
|
+
await workersBuildCommand(path, options);
|
|
67
|
+
});
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
async function workersBuildCommand(dir, options) {
|
|
71
|
+
return await wrapCommandAction("workerBuildCommand", WorkersBuildCommandOptions, options, async (opts) => {
|
|
72
|
+
return await _workerBuildCommand(dir, opts);
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
async function _workerBuildCommand(dir, options) {
|
|
76
|
+
intro("Building worker image");
|
|
77
|
+
if (!options.skipUpdateCheck) {
|
|
78
|
+
await updateTriggerPackages(dir, { ...options }, true, true);
|
|
79
|
+
}
|
|
80
|
+
const projectPath = resolve(process.cwd(), dir);
|
|
81
|
+
const authorization = await login({
|
|
82
|
+
embedded: true,
|
|
83
|
+
defaultApiUrl: options.apiUrl,
|
|
84
|
+
profile: options.profile,
|
|
85
|
+
});
|
|
86
|
+
if (!authorization.ok) {
|
|
87
|
+
if (authorization.error === "fetch failed") {
|
|
88
|
+
throw new Error(`Failed to connect to ${authorization.auth?.apiUrl}. Are you sure it's the correct URL?`);
|
|
89
|
+
}
|
|
90
|
+
else {
|
|
91
|
+
throw new Error(`You must login first. Use the \`login\` CLI command.\n\n${authorization.error}`);
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
const resolvedConfig = await loadConfig({
|
|
95
|
+
cwd: projectPath,
|
|
96
|
+
overrides: { project: options.projectRef },
|
|
97
|
+
configFile: options.config,
|
|
98
|
+
});
|
|
99
|
+
logger.debug("Resolved config", resolvedConfig);
|
|
100
|
+
const gitMeta = await createGitMeta(resolvedConfig.workspaceDir);
|
|
101
|
+
logger.debug("gitMeta", gitMeta);
|
|
102
|
+
const branch = options.env === "preview" ? getBranch({ specified: options.branch, gitMeta }) : undefined;
|
|
103
|
+
if (options.env === "preview" && !branch) {
|
|
104
|
+
throw new Error("You need to specify a preview branch when deploying to preview, pass --branch <branch>.");
|
|
105
|
+
}
|
|
106
|
+
const projectClient = await getProjectClient({
|
|
107
|
+
accessToken: authorization.auth.accessToken,
|
|
108
|
+
apiUrl: authorization.auth.apiUrl,
|
|
109
|
+
projectRef: resolvedConfig.project,
|
|
110
|
+
env: options.env,
|
|
111
|
+
branch,
|
|
112
|
+
profile: options.profile,
|
|
113
|
+
});
|
|
114
|
+
if (!projectClient) {
|
|
115
|
+
throw new Error("Failed to get project client");
|
|
116
|
+
}
|
|
117
|
+
const serverEnvVars = await projectClient.client.getEnvironmentVariables(resolvedConfig.project);
|
|
118
|
+
loadDotEnvVars(resolvedConfig.workingDir, options.envFile);
|
|
119
|
+
const destination = getTmpDir(resolvedConfig.workingDir, "build", options.dryRun);
|
|
120
|
+
const $buildSpinner = spinner();
|
|
121
|
+
const forcedExternals = await resolveAlwaysExternal(projectClient.client);
|
|
122
|
+
const buildManifest = await buildWorker({
|
|
123
|
+
target: "unmanaged",
|
|
124
|
+
environment: options.env,
|
|
125
|
+
branch,
|
|
126
|
+
destination: destination.path,
|
|
127
|
+
resolvedConfig,
|
|
128
|
+
rewritePaths: true,
|
|
129
|
+
envVars: serverEnvVars.success ? serverEnvVars.data.variables : {},
|
|
130
|
+
forcedExternals,
|
|
131
|
+
listener: {
|
|
132
|
+
onBundleStart() {
|
|
133
|
+
$buildSpinner.start("Building project");
|
|
134
|
+
},
|
|
135
|
+
onBundleComplete(result) {
|
|
136
|
+
$buildSpinner.stop("Successfully built project");
|
|
137
|
+
logger.debug("Bundle result", result);
|
|
138
|
+
},
|
|
139
|
+
},
|
|
140
|
+
});
|
|
141
|
+
logger.debug("Successfully built project to", destination.path);
|
|
142
|
+
if (options.dryRun) {
|
|
143
|
+
logger.info(`Dry run complete. View the built project at ${destination.path}`);
|
|
144
|
+
return;
|
|
145
|
+
}
|
|
146
|
+
const deploymentResponse = await projectClient.client.initializeDeployment({
|
|
147
|
+
contentHash: buildManifest.contentHash,
|
|
148
|
+
userId: authorization.userId,
|
|
149
|
+
selfHosted: options.local,
|
|
150
|
+
type: "UNMANAGED",
|
|
151
|
+
});
|
|
152
|
+
if (!deploymentResponse.success) {
|
|
153
|
+
throw new Error(`Failed to start deployment: ${deploymentResponse.error}`);
|
|
154
|
+
}
|
|
155
|
+
const deployment = deploymentResponse.data;
|
|
156
|
+
let local = options.local;
|
|
157
|
+
// If the deployment doesn't have any externalBuildData, then we can't use the remote image builder
|
|
158
|
+
if (!deployment.externalBuildData && !options.local) {
|
|
159
|
+
log.warn("This webapp instance does not support remote builds, falling back to local build. Please use the `--local` flag to skip this warning.");
|
|
160
|
+
local = true;
|
|
161
|
+
}
|
|
162
|
+
if (buildManifest.deploy.sync &&
|
|
163
|
+
buildManifest.deploy.sync.env &&
|
|
164
|
+
Object.keys(buildManifest.deploy.sync.env).length > 0) {
|
|
165
|
+
const numberOfEnvVars = Object.keys(buildManifest.deploy.sync.env).length;
|
|
166
|
+
const vars = numberOfEnvVars === 1 ? "var" : "vars";
|
|
167
|
+
if (!options.skipSyncEnvVars) {
|
|
168
|
+
const $spinner = spinner();
|
|
169
|
+
$spinner.start(`Syncing ${numberOfEnvVars} env ${vars} with the server`);
|
|
170
|
+
const success = await syncEnvVarsWithServer(projectClient.client, resolvedConfig.project, options.env, buildManifest.deploy.sync.env, buildManifest.deploy.sync.parentEnv);
|
|
171
|
+
if (!success) {
|
|
172
|
+
await failDeploy(projectClient.client, deployment, {
|
|
173
|
+
name: "SyncEnvVarsError",
|
|
174
|
+
message: `Failed to sync ${numberOfEnvVars} env ${vars} with the server`,
|
|
175
|
+
}, "", $spinner);
|
|
176
|
+
}
|
|
177
|
+
else {
|
|
178
|
+
$spinner.stop(`Successfully synced ${numberOfEnvVars} env ${vars} with the server`);
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
else {
|
|
182
|
+
logger.log("Skipping syncing env vars. The environment variables in your project have changed, but the --skip-sync-env-vars flag was provided.");
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
const version = deployment.version;
|
|
186
|
+
const deploymentLink = cliLink("View deployment", `${authorization.dashboardUrl}/projects/v3/${resolvedConfig.project}/deployments/${deployment.shortCode}`);
|
|
187
|
+
const testLink = cliLink("Test tasks", `${authorization.dashboardUrl}/projects/v3/${resolvedConfig.project}/test?environment=${options.env === "prod" ? "prod" : "stg"}`);
|
|
188
|
+
const $spinner = spinner();
|
|
189
|
+
if (isLinksSupported) {
|
|
190
|
+
$spinner.start(`Building worker version ${version} ${deploymentLink}`);
|
|
191
|
+
}
|
|
192
|
+
else {
|
|
193
|
+
$spinner.start(`Building worker version ${version}`);
|
|
194
|
+
}
|
|
195
|
+
const buildResult = await buildImage({
|
|
196
|
+
isLocalBuild: local,
|
|
197
|
+
imagePlatform: deployment.imagePlatform,
|
|
198
|
+
noCache: options.noCache,
|
|
199
|
+
push: options.push,
|
|
200
|
+
deploymentId: deployment.id,
|
|
201
|
+
deploymentVersion: deployment.version,
|
|
202
|
+
imageTag: deployment.imageTag,
|
|
203
|
+
load: options.load,
|
|
204
|
+
contentHash: deployment.contentHash,
|
|
205
|
+
externalBuildId: deployment.externalBuildData?.buildId,
|
|
206
|
+
externalBuildToken: deployment.externalBuildData?.buildToken,
|
|
207
|
+
externalBuildProjectId: deployment.externalBuildData?.projectId,
|
|
208
|
+
projectId: projectClient.id,
|
|
209
|
+
projectRef: resolvedConfig.project,
|
|
210
|
+
apiUrl: projectClient.client.apiURL,
|
|
211
|
+
apiKey: projectClient.client.accessToken,
|
|
212
|
+
branchName: branch,
|
|
213
|
+
authAccessToken: authorization.auth.accessToken,
|
|
214
|
+
compilationPath: destination.path,
|
|
215
|
+
buildEnvVars: buildManifest.build.env,
|
|
216
|
+
network: options.network,
|
|
217
|
+
builder: "trigger",
|
|
218
|
+
});
|
|
219
|
+
logger.debug("Build result", buildResult);
|
|
220
|
+
const warnings = checkLogsForWarnings(buildResult.logs);
|
|
221
|
+
if (!warnings.ok) {
|
|
222
|
+
await failDeploy(projectClient.client, deployment, { name: "BuildError", message: warnings.summary }, buildResult.logs, $spinner, warnings.warnings, warnings.errors);
|
|
223
|
+
throw new SkipLoggingError("Failed to build image");
|
|
224
|
+
}
|
|
225
|
+
if (!buildResult.ok) {
|
|
226
|
+
await failDeploy(projectClient.client, deployment, { name: "BuildError", message: buildResult.error }, buildResult.logs, $spinner, warnings.warnings);
|
|
227
|
+
throw new SkipLoggingError("Failed to build image");
|
|
228
|
+
}
|
|
229
|
+
// Index the deployment
|
|
230
|
+
// const runtime = new UnmanagedWorkerRuntime({
|
|
231
|
+
// name: projectClient.name,
|
|
232
|
+
// config: resolvedConfig,
|
|
233
|
+
// args: {
|
|
234
|
+
// ...options,
|
|
235
|
+
// debugOtel: false,
|
|
236
|
+
// },
|
|
237
|
+
// client: projectClient.client,
|
|
238
|
+
// dashboardUrl: authorization.dashboardUrl,
|
|
239
|
+
// });
|
|
240
|
+
// await runtime.init();
|
|
241
|
+
// console.log("buildManifest", buildManifest);
|
|
242
|
+
// await runtime.initializeWorker(buildManifest);
|
|
243
|
+
const getDeploymentResponse = await projectClient.client.getDeployment(deployment.id);
|
|
244
|
+
if (!getDeploymentResponse.success) {
|
|
245
|
+
await failDeploy(projectClient.client, deployment, { name: "DeploymentError", message: getDeploymentResponse.error }, buildResult.logs, $spinner);
|
|
246
|
+
throw new SkipLoggingError("Failed to get deployment with worker");
|
|
247
|
+
}
|
|
248
|
+
const deploymentWithWorker = getDeploymentResponse.data;
|
|
249
|
+
if (!deploymentWithWorker.worker) {
|
|
250
|
+
await failDeploy(projectClient.client, deployment, { name: "DeploymentError", message: "Failed to get deployment with worker" }, buildResult.logs, $spinner);
|
|
251
|
+
throw new SkipLoggingError("Failed to get deployment with worker");
|
|
252
|
+
}
|
|
253
|
+
$spinner.stop(`Successfully built worker version ${version}`);
|
|
254
|
+
const taskCount = deploymentWithWorker.worker?.tasks.length ?? 0;
|
|
255
|
+
log.message(`Detected ${taskCount} task${taskCount === 1 ? "" : "s"}`);
|
|
256
|
+
if (taskCount > 0) {
|
|
257
|
+
logger.table(deploymentWithWorker.worker.tasks.map((task) => ({
|
|
258
|
+
id: task.slug,
|
|
259
|
+
export: task.exportName ?? "@deprecated",
|
|
260
|
+
path: task.filePath,
|
|
261
|
+
})));
|
|
262
|
+
}
|
|
263
|
+
outro(`Version ${version} built and ready to deploy: ${deployment.imageTag} ${isLinksSupported ? `| ${deploymentLink} | ${testLink}` : ""}`);
|
|
264
|
+
}
|
|
265
|
+
export async function syncEnvVarsWithServer(apiClient, projectRef, environmentSlug, envVars, parentEnvVars) {
|
|
266
|
+
const uploadResult = await apiClient.importEnvVars(projectRef, environmentSlug, {
|
|
267
|
+
variables: envVars,
|
|
268
|
+
parentVariables: parentEnvVars,
|
|
269
|
+
override: true,
|
|
270
|
+
});
|
|
271
|
+
return uploadResult.success;
|
|
272
|
+
}
|
|
273
|
+
async function failDeploy(client, deployment, error, logs, $spinner, warnings, errors) {
|
|
274
|
+
$spinner.stop(`Failed to deploy project`);
|
|
275
|
+
const doOutputLogs = async (prefix = "Error") => {
|
|
276
|
+
if (logs.trim() !== "") {
|
|
277
|
+
const logPath = await saveLogs(deployment.shortCode, logs);
|
|
278
|
+
printWarnings(warnings);
|
|
279
|
+
printErrors(errors);
|
|
280
|
+
checkLogsForErrors(logs);
|
|
281
|
+
outro(`${chalkError(`${prefix}:`)} ${error.message}. Full build logs have been saved to ${logPath}`);
|
|
282
|
+
}
|
|
283
|
+
else {
|
|
284
|
+
outro(`${chalkError(`${prefix}:`)} ${error.message}.`);
|
|
285
|
+
}
|
|
286
|
+
};
|
|
287
|
+
const exitCommand = (message) => {
|
|
288
|
+
throw new SkipLoggingError(message);
|
|
289
|
+
};
|
|
290
|
+
const deploymentResponse = await client.getDeployment(deployment.id);
|
|
291
|
+
if (!deploymentResponse.success) {
|
|
292
|
+
logger.debug(`Failed to get deployment with worker: ${deploymentResponse.error}`);
|
|
293
|
+
}
|
|
294
|
+
else {
|
|
295
|
+
const serverDeployment = deploymentResponse.data;
|
|
296
|
+
switch (serverDeployment.status) {
|
|
297
|
+
case "PENDING":
|
|
298
|
+
case "DEPLOYING":
|
|
299
|
+
case "BUILDING": {
|
|
300
|
+
await doOutputLogs();
|
|
301
|
+
await client.failDeployment(deployment.id, {
|
|
302
|
+
error,
|
|
303
|
+
});
|
|
304
|
+
exitCommand("Failed to deploy project");
|
|
305
|
+
break;
|
|
306
|
+
}
|
|
307
|
+
case "CANCELED": {
|
|
308
|
+
await doOutputLogs("Canceled");
|
|
309
|
+
exitCommand("Failed to deploy project");
|
|
310
|
+
break;
|
|
311
|
+
}
|
|
312
|
+
case "FAILED": {
|
|
313
|
+
const errorData = serverDeployment.errorData
|
|
314
|
+
? prepareDeploymentError(serverDeployment.errorData)
|
|
315
|
+
: undefined;
|
|
316
|
+
if (errorData) {
|
|
317
|
+
prettyError(errorData.name, errorData.stack, errorData.stderr);
|
|
318
|
+
if (logs.trim() !== "") {
|
|
319
|
+
const logPath = await saveLogs(deployment.shortCode, logs);
|
|
320
|
+
outro(`Aborting deployment. Full build logs have been saved to ${logPath}`);
|
|
321
|
+
}
|
|
322
|
+
else {
|
|
323
|
+
outro(`Aborting deployment`);
|
|
324
|
+
}
|
|
325
|
+
}
|
|
326
|
+
else {
|
|
327
|
+
await doOutputLogs("Failed");
|
|
328
|
+
}
|
|
329
|
+
exitCommand("Failed to deploy project");
|
|
330
|
+
break;
|
|
331
|
+
}
|
|
332
|
+
case "DEPLOYED": {
|
|
333
|
+
await doOutputLogs("Deployed with errors");
|
|
334
|
+
exitCommand("Deployed with errors");
|
|
335
|
+
break;
|
|
336
|
+
}
|
|
337
|
+
case "TIMED_OUT": {
|
|
338
|
+
await doOutputLogs("TimedOut");
|
|
339
|
+
exitCommand("Timed out");
|
|
340
|
+
break;
|
|
341
|
+
}
|
|
342
|
+
}
|
|
343
|
+
}
|
|
344
|
+
}
|
|
345
|
+
//# sourceMappingURL=build.js.map
|