/** * Local testing script for the image processor lambda. * * Usage: * npm run local -- [bucket] * * Example: * npm run local -- staging/items/test-image.jpg my-bucket * */ const { handler } = require("./index"); async function main() { // Filter out dotenv config args from process.argv const args = process.argv .slice(2) .filter((arg) => !arg.startsWith("dotenv_config_path")); // Get staging key from command line args const stagingKey = args[0] || "staging/items/test-image.jpg"; const bucket = args[1] || process.env.S3_BUCKET; console.log("Testing image processor lambda locally..."); console.log(`Bucket: ${bucket}`); console.log(`Staging Key: ${stagingKey}`); console.log("---"); // Simulate S3 event const event = { Records: [ { eventSource: "aws:s3", eventName: "ObjectCreated:Put", s3: { bucket: { name: bucket, }, object: { key: stagingKey, }, }, }, ], }; console.log("Event:", JSON.stringify(event, null, 2)); console.log("---"); try { const result = await handler(event); console.log("Result:", JSON.stringify(result, null, 2)); process.exit(0); } catch (error) { console.error("Error:", error); process.exit(1); } } main();