Skip to content

Commit 58ba162

Browse files
authored
fix: copy imageconfig into edge function dir (#1462)
* fix: copy imageconfig into edge function dir * chore: fix test
1 parent e7d381c commit 58ba162

File tree

3 files changed

+18
-10
lines changed

3 files changed

+18
-10
lines changed

plugin/src/helpers/edge.ts

+10-2
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
1+
/* eslint-disable max-lines */
12
import { promises as fs, existsSync } from 'fs'
23
import { resolve, join } from 'path'
34

45
import type { NetlifyConfig } from '@netlify/build'
5-
import { emptyDir, ensureDir, readJSON, readJson, writeJSON, writeJson } from 'fs-extra'
6+
import { copyFile, emptyDir, ensureDir, readJSON, readJson, writeJSON, writeJson } from 'fs-extra'
67
import type { MiddlewareManifest } from 'next/dist/build/webpack/plugins/middleware-plugin'
78

89
type EdgeFunctionDefinition = MiddlewareManifest['middleware']['name']
@@ -139,7 +140,13 @@ export const writeEdgeFunctions = async (netlifyConfig: NetlifyConfig) => {
139140
'Using Netlify Edge Functions for image format detection. Set env var "NEXT_DISABLE_EDGE_IMAGES=true" to disable.',
140141
)
141142
}
142-
await copyEdgeSourceFile({ edgeFunctionDir: edgeFunctionRoot, file: 'ipx.ts' })
143+
const edgeFunctionDir = join(edgeFunctionRoot, 'ipx')
144+
await ensureDir(edgeFunctionDir)
145+
await copyEdgeSourceFile({ edgeFunctionDir, file: 'ipx.ts', target: 'index.ts' })
146+
await copyFile(
147+
join('.netlify', 'functions-internal', '_ipx', 'imageconfig.json'),
148+
join(edgeFunctionDir, 'imageconfig.json'),
149+
)
143150
manifest.functions.push({
144151
function: 'ipx',
145152
path: '/_next/image*',
@@ -183,3 +190,4 @@ export const updateConfig = async (publish: string) => {
183190
config.config.env.NEXT_USE_NETLIFY_EDGE = 'true'
184191
await writeJSON(configFile, config)
185192
}
193+
/* eslint-enable max-lines */

plugin/src/templates/edge/ipx.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { Accepts } from "https://deno.land/x/[email protected]/mod.ts";
22
import type { Context } from "netlify:edge";
33
// Available at build time
4-
import imageconfig from "../functions-internal/_ipx/imageconfig.json" assert {
4+
import imageconfig from "./imageconfig.json" assert {
55
type: "json",
66
};
77

test/index.js

+7-7
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ const chance = new Chance()
4040
const FIXTURES_DIR = `${__dirname}/fixtures`
4141
const SAMPLE_PROJECT_DIR = `${__dirname}/../demos/default`
4242
const constants = {
43-
INTERNAL_FUNCTIONS_SRC: '.netlify/internal-functions',
43+
INTERNAL_FUNCTIONS_SRC: '.netlify/functions-internal',
4444
PUBLISH_DIR: '.next',
4545
FUNCTIONS_DIST: '.netlify/functions',
4646
}
@@ -368,12 +368,12 @@ describe('onBuild()', () => {
368368

369369
await plugin.onBuild(defaultArgs)
370370

371-
expect(existsSync(`.netlify/internal-functions/___netlify-handler/___netlify-handler.js`)).toBeTruthy()
372-
expect(existsSync(`.netlify/internal-functions/___netlify-handler/bridge.js`)).toBeTruthy()
373-
expect(existsSync(`.netlify/internal-functions/___netlify-handler/handlerUtils.js`)).toBeTruthy()
374-
expect(existsSync(`.netlify/internal-functions/___netlify-odb-handler/___netlify-odb-handler.js`)).toBeTruthy()
375-
expect(existsSync(`.netlify/internal-functions/___netlify-odb-handler/bridge.js`)).toBeTruthy()
376-
expect(existsSync(`.netlify/internal-functions/___netlify-odb-handler/handlerUtils.js`)).toBeTruthy()
371+
expect(existsSync(`.netlify/functions-internal/___netlify-handler/___netlify-handler.js`)).toBeTruthy()
372+
expect(existsSync(`.netlify/functions-internal/___netlify-handler/bridge.js`)).toBeTruthy()
373+
expect(existsSync(`.netlify/functions-internal/___netlify-handler/handlerUtils.js`)).toBeTruthy()
374+
expect(existsSync(`.netlify/functions-internal/___netlify-odb-handler/___netlify-odb-handler.js`)).toBeTruthy()
375+
expect(existsSync(`.netlify/functions-internal/___netlify-odb-handler/bridge.js`)).toBeTruthy()
376+
expect(existsSync(`.netlify/functions-internal/___netlify-odb-handler/handlerUtils.js`)).toBeTruthy()
377377
})
378378

379379
test('writes correct redirects to netlifyConfig', async () => {

0 commit comments

Comments
 (0)