From 0421b9cb88cbef0c4e57396fc32e09006b4adfce Mon Sep 17 00:00:00 2001 From: Eric Allam Date: Wed, 5 Feb 2025 12:12:21 +0000 Subject: [PATCH] Auto-fix config.dirs of /trigger and /src/trigger --- .changeset/lovely-toys-obey.md | 5 +++++ .vscode/launch.json | 8 ++++++++ packages/cli-v3/src/config.ts | 19 ++++++++++++++++--- 3 files changed, 29 insertions(+), 3 deletions(-) create mode 100644 .changeset/lovely-toys-obey.md diff --git a/.changeset/lovely-toys-obey.md b/.changeset/lovely-toys-obey.md new file mode 100644 index 0000000000..28355ef4ff --- /dev/null +++ b/.changeset/lovely-toys-obey.md @@ -0,0 +1,5 @@ +--- +"trigger.dev": patch +--- + +Auto-fix /trigger or /src/trigger config.dirs to relative paths to prevent misconfiguration from preventing dev CLI from working diff --git a/.vscode/launch.json b/.vscode/launch.json index c3e9782ea0..3a74929366 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -46,6 +46,14 @@ "cwd": "${workspaceFolder}/references/init-shell", "sourceMaps": true }, + { + "type": "node-terminal", + "request": "launch", + "name": "Debug V3 init dev CLI", + "command": "pnpm exec trigger dev", + "cwd": "${workspaceFolder}/references/init-shell", + "sourceMaps": true + }, { "type": "node-terminal", "request": "launch", diff --git a/packages/cli-v3/src/config.ts b/packages/cli-v3/src/config.ts index 872ce5c747..731c2ba6c4 100644 --- a/packages/cli-v3/src/config.ts +++ b/packages/cli-v3/src/config.ts @@ -155,11 +155,11 @@ async function resolveConfig( let dirs = config.dirs ? config.dirs : await autoDetectDirs(workingDir); - dirs = dirs.map((dir) => (isAbsolute(dir) ? relative(workingDir, dir) : dir)); + dirs = dirs.map((dir) => resolveTriggerDir(dir, workingDir)); const mergedConfig = defu( { - workingDir: packageJsonPath ? dirname(packageJsonPath) : cwd, + workingDir, configFile: result.configFile, packageJsonPath, tsconfigPath, @@ -187,11 +187,24 @@ async function resolveConfig( return { ...mergedConfig, - dirs: Array.from(new Set(mergedConfig.dirs)), + dirs: Array.from(new Set(dirs)), instrumentedPackageNames: getInstrumentedPackageNames(mergedConfig), }; } +function resolveTriggerDir(dir: string, workingDir: string): string { + if (isAbsolute(dir)) { + // If dir is `/trigger` or `/src/trigger`, we should add a `.` to make it relative to the working directory + if (dir === "/trigger" || dir === "/src/trigger") { + return `.${dir}`; + } else { + return relative(workingDir, dir); + } + } + + return dir; +} + async function safeResolveTsConfig(cwd: string) { try { return await resolveTSConfig(cwd);