Skip to content

Commit 7185d62

Browse files
eduardoboucasLukas Holzerlukasholzer
authored
feat: support new monorepo setup (#2260)
* feat: support new monorepo setup * chore: update netlify/build --------- Co-authored-by: Lukas Holzer <[email protected]> Co-authored-by: Lukas Holzer <[email protected]>
1 parent cd6c3c9 commit 7185d62

File tree

4 files changed

+21
-8
lines changed

4 files changed

+21
-8
lines changed

packages/runtime/src/helpers/edge.ts

+3-1
Original file line numberDiff line numberDiff line change
@@ -354,9 +354,11 @@ export const getEdgeFunctionPatternForPage = ({
354354
export const writeEdgeFunctions = async ({
355355
netlifyConfig,
356356
routesManifest,
357+
constants: { PACKAGE_PATH = '' },
357358
}: {
358359
netlifyConfig: NetlifyConfig
359360
routesManifest: RoutesManifest
361+
constants: NetlifyPluginConstants
360362
}) => {
361363
const generator = await getPluginVersion()
362364

@@ -366,7 +368,7 @@ export const writeEdgeFunctions = async ({
366368
version: 1,
367369
}
368370

369-
const edgeFunctionRoot = resolve('.netlify', 'edge-functions')
371+
const edgeFunctionRoot = resolve(PACKAGE_PATH, '.netlify', 'edge-functions')
370372
await emptyDir(edgeFunctionRoot)
371373

372374
const { publish } = netlifyConfig.build

packages/runtime/src/helpers/functions.ts

+15-4
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,12 @@ export interface APILambda extends SSRLambda {
5858
}
5959

6060
export const generateFunctions = async (
61-
{ FUNCTIONS_SRC = DEFAULT_FUNCTIONS_SRC, INTERNAL_FUNCTIONS_SRC, PUBLISH_DIR }: NetlifyPluginConstants,
61+
{
62+
INTERNAL_FUNCTIONS_SRC,
63+
PUBLISH_DIR,
64+
PACKAGE_PATH = '',
65+
FUNCTIONS_SRC = join(PACKAGE_PATH, DEFAULT_FUNCTIONS_SRC),
66+
}: NetlifyPluginConstants,
6267
appDir: string,
6368
apiLambdas: APILambda[],
6469
ssrLambdas: SSRLambda[],
@@ -171,20 +176,26 @@ export const generateFunctions = async (
171176
*/
172177
export const generatePagesResolver = async ({
173178
INTERNAL_FUNCTIONS_SRC,
174-
FUNCTIONS_SRC = DEFAULT_FUNCTIONS_SRC,
175179
PUBLISH_DIR,
180+
PACKAGE_PATH = '',
181+
FUNCTIONS_SRC = join(PACKAGE_PATH, DEFAULT_FUNCTIONS_SRC),
176182
}: NetlifyPluginConstants): Promise<void> => {
177183
const functionsPath = INTERNAL_FUNCTIONS_SRC || FUNCTIONS_SRC
178184

179-
const jsSource = await getResolverForPages(PUBLISH_DIR)
185+
const jsSource = await getResolverForPages(PUBLISH_DIR, PACKAGE_PATH)
180186

181187
await writeFile(join(functionsPath, ODB_FUNCTION_NAME, 'pages.js'), jsSource)
182188
await writeFile(join(functionsPath, HANDLER_FUNCTION_NAME, 'pages.js'), jsSource)
183189
}
184190

185191
// Move our next/image function into the correct functions directory
186192
export const setupImageFunction = async ({
187-
constants: { INTERNAL_FUNCTIONS_SRC, FUNCTIONS_SRC = DEFAULT_FUNCTIONS_SRC, IS_LOCAL },
193+
constants: {
194+
IS_LOCAL,
195+
INTERNAL_FUNCTIONS_SRC,
196+
PACKAGE_PATH = '',
197+
FUNCTIONS_SRC = join(PACKAGE_PATH, DEFAULT_FUNCTIONS_SRC),
198+
},
188199
imageconfig = {},
189200
netlifyConfig,
190201
basePath,

packages/runtime/src/index.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -213,7 +213,7 @@ const plugin: NetlifyPlugin = {
213213
apiLambdas,
214214
})
215215

216-
await writeEdgeFunctions({ netlifyConfig, routesManifest })
216+
await writeEdgeFunctions({ constants, netlifyConfig, routesManifest })
217217
},
218218

219219
async onPostBuild({

packages/runtime/src/templates/getPageResolver.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,8 @@ export const getResolverForDependencies = ({
4343
`
4444
}
4545

46-
export const getResolverForPages = async (publish: string) => {
47-
const functionDir = resolve('.netlify', 'functions', HANDLER_FUNCTION_NAME)
46+
export const getResolverForPages = async (publish: string, packagePath: string) => {
47+
const functionDir = resolve(packagePath, '.netlify', 'functions', HANDLER_FUNCTION_NAME)
4848
const dependencies = await getAllPageDependencies(publish)
4949
return getResolverForDependencies({ dependencies, functionDir })
5050
}

0 commit comments

Comments
 (0)