Commit d3e6f5c
authored
fix(nextjs): Use env variable for build detection (#4608)
In non-Vercel-deployed nextjs apps using our SDK, we instrument the server in order to be able to capture transactions for a wider variety of incoming requests than is possible using our `withSentry` API route handler wrapper. We don't do this during build, however, because there's no server to wrap.
Until now, we've been relying on the fact that child processes of the main build process were invoked by `node <path>/node_modules/jest-worker/build/workers/processChild.js` in order to recognize them as such. Recently, however, next started vendoring pre-compiled versions of more of its dependencies[1], including `jest-worker`, such that now those child process are invoked by `node <path>/node_modules/next/dist/compiled/jest-worker/processChild.js`. This broke our build detection.
Rather than just switch to using the new path, this PR refactors the check to use an env variable set by the main build process, in order that the check not get fooled by any child processes spawned at runtime. (I don't actually know if that ever happens, but there's no reason it couldn't, so better to have a foolproof indicator.)
[1] vercel/next.js#327421 parent 8e4e671 commit d3e6f5c
1 file changed
+12
-4
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
23 | 23 | | |
24 | 24 | | |
25 | 25 | | |
26 | | - | |
27 | | - | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
28 | 30 | | |
29 | 31 | | |
30 | | - | |
31 | | - | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
32 | 40 | | |
33 | 41 | | |
34 | 42 | | |
| |||
0 commit comments