Skip to content

Commit 9b467e6

Browse files
committed
pass relativeProjectDir to route module
1 parent 74ede4d commit 9b467e6

File tree

5 files changed

+18
-2
lines changed

5 files changed

+18
-2
lines changed

packages/next/src/build/utils.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -795,6 +795,7 @@ export async function isPageStatic({
795795
name: edgeInfo.name,
796796
useCache: true,
797797
distDir,
798+
relativeProjectDir: path.relative(process.cwd(), dir),
798799
})
799800
const mod = (
800801
await runtime.context._ENTRIES[`middleware_${edgeInfo.name}`]

packages/next/src/server/next-server.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1766,6 +1766,7 @@ export default class NextNodeServer extends BaseServer<
17661766

17671767
result = await run({
17681768
distDir: this.distDir,
1769+
relativeProjectDir: relative(process.cwd(), this.dir),
17691770
name: middlewareInfo.name,
17701771
paths: middlewareInfo.paths,
17711772
edgeFunctionEntry: middlewareInfo,
@@ -2039,6 +2040,7 @@ export default class NextNodeServer extends BaseServer<
20392040
const { run } = require('./web/sandbox') as typeof import('./web/sandbox')
20402041
const result = await run({
20412042
distDir: this.distDir,
2043+
relativeProjectDir: relative(process.cwd(), this.dir),
20422044
name: edgeInfo.name,
20432045
paths: edgeInfo.paths,
20442046
edgeFunctionEntry: edgeInfo,

packages/next/src/server/route-modules/route-module.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -224,7 +224,8 @@ export abstract class RouteModule<
224224
),
225225
},
226226
serverFilesManifest:
227-
self.__SERVER_FILES_MANIFEST as any as RequiredServerFilesManifest,
227+
(self.__SERVER_FILES_MANIFEST as any as RequiredServerFilesManifest) ||
228+
{},
228229
clientReferenceManifest: self.__RSC_MANIFEST?.[srcPage],
229230
serverActionsManifest: maybeJSONParse(self.__RSC_SERVER_MANIFEST),
230231
subresourceIntegrityManifest: maybeJSONParse(
@@ -332,7 +333,8 @@ export abstract class RouteModule<
332333
shouldCache: !this.isDev,
333334
}),
334335
this.isDev
335-
? ({} as any)
336+
? // in dev, routerServerGlobal is read instead for the nextConfig
337+
({} as any)
336338
: loadManifestFromRelativePath<RequiredServerFilesManifest>({
337339
projectDir,
338340
distDir: this.distDir,

packages/next/src/server/web/sandbox/context.test.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ describe('Next.js sandbox Request constructor', () => {
1919
onWarning: () => {},
2020
useCache: false,
2121
distDir: '/tmp',
22+
relativeProjectDir: '',
2223
edgeFunctionEntry: {
2324
assets: [],
2425
wasm: [],

packages/next/src/server/web/sandbox/sandbox.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ interface RunnerFnParams {
3535
useCache: boolean
3636
edgeFunctionEntry: Pick<EdgeFunctionDefinition, 'assets' | 'wasm' | 'env'>
3737
distDir: string
38+
relativeProjectDir: string
3839
incrementalCache?: any
3940
serverComponentsHmrCache?: ServerComponentsHmrCache
4041
}
@@ -91,6 +92,15 @@ export async function getRuntimeContext(
9192
RouterServerContextSymbol
9293
] = routerServerGlobal[RouterServerContextSymbol]
9394

95+
runtime.context.globalThis.process = {
96+
...runtime.context.globalThis.process,
97+
env: {
98+
...runtime.context.globalThis.process?.env,
99+
// Needed for accesssing routerServerGlobal in dev
100+
__NEXT_RELATIVE_PROJECT_DIR: params.relativeProjectDir,
101+
},
102+
}
103+
94104
if (params.serverComponentsHmrCache) {
95105
runtime.context.globalThis.__serverComponentsHmrCache =
96106
params.serverComponentsHmrCache

0 commit comments

Comments
 (0)