Skip to content

Commit bb96e84

Browse files
authored
Fix init.ts import for deployed workers (#2041)
* import init file in managed worker * refactor for easier diff * managed worker: attach configured incorrectly error details * add changeset * disable pre * we also didn't rewrite the output path * Revert "disable pre" This reverts commit 89afe44.
1 parent 39f0308 commit bb96e84

File tree

4 files changed

+29
-7
lines changed

4 files changed

+29
-7
lines changed

.changeset/twelve-actors-hide.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"trigger.dev": patch
3+
---
4+
5+
Fix init.ts auto-import for deployed workers

packages/cli-v3/src/build/buildWorker.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,9 @@ export function rewriteBuildManifestPaths(
116116
loaderEntryPoint: buildManifest.loaderEntryPoint
117117
? rewriteOutputPath(destinationDir, buildManifest.loaderEntryPoint)
118118
: undefined,
119+
initEntryPoint: buildManifest.initEntryPoint
120+
? rewriteOutputPath(destinationDir, buildManifest.initEntryPoint)
121+
: undefined,
119122
};
120123
}
121124
// Remove any query parameters from the entry path

packages/cli-v3/src/entryPoints/dev-run-worker.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -104,12 +104,12 @@ const heartbeatIntervalMs = getEnvVar("HEARTBEAT_INTERVAL_MS");
104104
const standardLocalsManager = new StandardLocalsManager();
105105
localsAPI.setGlobalLocalsManager(standardLocalsManager);
106106

107-
const standardRunTimelineMetricsManager = new StandardRunTimelineMetricsManager();
108-
runTimelineMetrics.setGlobalManager(standardRunTimelineMetricsManager);
109-
110107
const standardLifecycleHooksManager = new StandardLifecycleHooksManager();
111108
lifecycleHooks.setGlobalLifecycleHooksManager(standardLifecycleHooksManager);
112109

110+
const standardRunTimelineMetricsManager = new StandardRunTimelineMetricsManager();
111+
runTimelineMetrics.setGlobalManager(standardRunTimelineMetricsManager);
112+
113113
const devUsageManager = new DevUsageManager();
114114
usage.setGlobalUsageManager(devUsageManager);
115115
timeout.setGlobalManager(new UsageTimeoutManager(devUsageManager));

packages/cli-v3/src/entryPoints/managed-run-worker.ts

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -324,6 +324,18 @@ const zodIpc = new ZodIpcConnection({
324324
async () => {
325325
const beforeImport = performance.now();
326326
resourceCatalog.setCurrentFileContext(taskManifest.entryPoint, taskManifest.filePath);
327+
328+
// Load init file if it exists
329+
if (workerManifest.initEntryPoint) {
330+
try {
331+
await import(normalizeImportPath(workerManifest.initEntryPoint));
332+
console.log(`Loaded init file from ${workerManifest.initEntryPoint}`);
333+
} catch (err) {
334+
console.error(`Failed to load init file`, err);
335+
throw err;
336+
}
337+
}
338+
327339
await import(normalizeImportPath(taskManifest.entryPoint));
328340
resourceCatalog.clearCurrentFileContext();
329341
const durationMs = performance.now() - beforeImport;
@@ -439,6 +451,8 @@ const zodIpc = new ZodIpcConnection({
439451
error: {
440452
type: "INTERNAL_ERROR",
441453
code: TaskRunErrorCodes.CONFIGURED_INCORRECTLY,
454+
message: err instanceof Error ? err.message : String(err),
455+
stackTrace: err instanceof Error ? err.stack : undefined,
442456
},
443457
usage: {
444458
durationMs: 0,
@@ -448,10 +462,7 @@ const zodIpc = new ZodIpcConnection({
448462
});
449463
}
450464
},
451-
FLUSH: async ({ timeoutInMs }, sender) => {
452-
await flushAll(timeoutInMs);
453-
},
454-
CANCEL: async ({ timeoutInMs }, sender) => {
465+
CANCEL: async ({ timeoutInMs }) => {
455466
_isCancelled = true;
456467
cancelController.abort("run cancelled");
457468
await callCancelHooks(timeoutInMs);
@@ -460,6 +471,9 @@ const zodIpc = new ZodIpcConnection({
460471
}
461472
await flushAll(timeoutInMs);
462473
},
474+
FLUSH: async ({ timeoutInMs }) => {
475+
await flushAll(timeoutInMs);
476+
},
463477
RESOLVE_WAITPOINT: async ({ waitpoint }) => {
464478
sharedWorkerRuntime.resolveWaitpoints([waitpoint]);
465479
},

0 commit comments

Comments
 (0)