doesitarm/netlify/functions/eleventy-builder/eleventy-builder.js
2021-07-24 14:32:53 -05:00

54 lines
1.6 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

const { EleventyServerless } = require("@11ty/eleventy");
// Explicit dependencies for the bundler from config file and global data.
// The file is generated by the Eleventy Serverless Bundler Plugin.
require("./eleventy-bundler-modules.js");
async function handler(event) {
console.log('event.path', event.path)
let elev = new EleventyServerless("eleventy-builder", {
path: event.path,
query: event.queryStringParameters,
inputDir: ".",
functionsDir: "./netlify/functions/",
});
try {
return {
statusCode: 200,
headers: {
"Content-Type": "text/html; charset=UTF-8",
},
body: await elev.render(),
};
} catch (error) {
// Only console log for matching serverless paths
// (otherwise youll see a bunch of BrowserSync 404s for non-dynamic URLs during --serve)
if (elev.isServerlessUrl(event.path)) {
console.log("Serverless Error:", error);
}
return {
statusCode: error.httpStatusCode || 500,
body: JSON.stringify(
{
error: error.message,
},
null,
2
),
};
}
}
// Choose one:
// * Runs on each request: AWS Lambda (or Netlify Function)
// * Runs on first request only: Netlify On-demand Builder
// (dont forget to `npm install @netlify/functions`)
// exports.handler = handler;
const { builder } = require("@netlify/functions");
exports.handler = builder(handler);