Skip to content

Commit 89f74cb

Browse files
authored
refactor: Modify lambda functions to match Netlify instructions (#1110)
1 parent 770ae06 commit 89f74cb

4 files changed

Lines changed: 29 additions & 25 deletions

File tree

netlify.toml

Lines changed: 0 additions & 2 deletions
This file was deleted.

src/index.jsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,8 @@ export async function prerender() {
3434
globalThis.DOMParser = DOMParser;
3535

3636
// fetch latest release data
37-
const { handler } = await import('./lambda/release.js');
38-
const { version, url } = JSON.parse((await handler()).body);
37+
const { default: releaseLambda } = await import('./lambda/release.js');
38+
const { version, url } = await (await releaseLambda()).json();
3939
globalThis.prerenderPreactVersion = version;
4040
globalThis.prerenderPreactReleaseUrl = url;
4141

src/lambda/release.js

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,20 @@
1-
export const handler = async event => {
2-
const { version, url } = await fetchRelease(
3-
`preactjs/${event?.queryStringParameters.repo || 'preact'}`
4-
);
1+
/*
2+
* @param {Request} [req]
3+
* @param {unknown} [_context]
4+
*/
5+
export default async function releaseLambda(req, _context) {
6+
const repo = req?.url ? new URL(req.url).searchParams.get('repo') : 'preact';
7+
8+
const { version, url } = await fetchRelease(`preactjs/${repo}`);
59

6-
return {
7-
statusCode: 200,
8-
body: JSON.stringify({
9-
version,
10-
url
11-
}),
10+
return new Response(JSON.stringify({ version, url }), {
11+
status: 200,
1212
headers: {
1313
'Content-Type': 'application/json',
1414
'Cache-Control': 'public, max-age=3600, stale-if-error=86400'
1515
}
16-
};
17-
};
16+
});
17+
}
1818

1919
function checkStatus(r) {
2020
if (!r.ok) {

src/lambda/repo.js

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,22 @@
1-
export const handler = async event => {
2-
const result = await repoInfo(
3-
event.queryStringParameters.repo || 'preactjs/preact'
4-
);
5-
return {
6-
statusCode: 200,
7-
body: JSON.stringify(result),
1+
/**
2+
* @param {Request} [req]
3+
* @param {unknown} [_context]
4+
*/
5+
export default async function repoLambda(req, _context) {
6+
const repo = req?.url
7+
? new URL(req.url).searchParams.get('repo')
8+
: 'preactjs/preact';
9+
10+
const result = await repoInfo(repo);
11+
12+
return new Response(JSON.stringify(result), {
13+
status: 200,
814
headers: {
915
'Content-Type': 'application/json',
1016
'Cache-Control': 'public, max-age=3600, stale-if-error=86400'
1117
}
12-
};
13-
};
18+
});
19+
}
1420

1521
function checkStatus(r) {
1622
if (!r.ok) {

0 commit comments

Comments
 (0)