mirror of
https://github.com/LukeHagar/vercel.git
synced 2025-12-09 12:57:46 +00:00
46 lines
1.1 KiB
JavaScript
46 lines
1.1 KiB
JavaScript
const path = require('path');
|
|
const { mkdirp, copyFile } = require('fs-extra');
|
|
|
|
const {
|
|
glob,
|
|
download,
|
|
shouldServe,
|
|
createLambda,
|
|
getWritableDirectory,
|
|
} = require('@now/build-utils');
|
|
|
|
exports.analyze = ({ files, entrypoint }) => files[entrypoint].digest;
|
|
|
|
exports.version = 3;
|
|
|
|
exports.build = async ({ workPath, files, entrypoint, meta }) => {
|
|
const outDir = await getWritableDirectory();
|
|
|
|
await download(files, workPath, meta);
|
|
|
|
const handlerPath = path.join(__dirname, 'handler');
|
|
await copyFile(handlerPath, path.join(outDir, 'handler'));
|
|
|
|
const entrypointOutDir = path.join(outDir, path.dirname(entrypoint));
|
|
await mkdirp(entrypointOutDir);
|
|
|
|
// For now only the entrypoint file is copied into the lambda
|
|
await copyFile(
|
|
path.join(workPath, entrypoint),
|
|
path.join(outDir, entrypoint)
|
|
);
|
|
|
|
const lambda = await createLambda({
|
|
files: await glob('**', outDir),
|
|
handler: 'handler',
|
|
runtime: 'go1.x',
|
|
environment: {
|
|
SCRIPT_FILENAME: entrypoint,
|
|
},
|
|
});
|
|
|
|
return { output: lambda };
|
|
};
|
|
|
|
exports.shouldServe = shouldServe;
|