edge-trigger
v1.0.1
Published
A lightweight and versatile library designed to transform standard Node.js functions into deploy-ready bundles for various edge computing platforms, including Cloudflare Workers and Vercel Edge Functions. Optimize your serverless applications with seamles
Maintainers
Readme
Edge-Trigger
Edge-Trigger is a powerful library that transforms any Node.js function into a deploy-ready bundle for various edge platforms with a single command.
Quick Start
Get up and running in minutes.
1. Installation
Install Edge-Trigger as a dev dependency in your project:
npm install edge-trigger --save-dev2. Create your function
Create a file (e.g., my-function.js) and write your Node.js function:
// my-function.js
// Your function can be async or sync
async function handler(event) {
const { request } = event;
const url = new URL(request.url);
// Your function logic here
return new Response(`Hello from ${url.pathname}!`);
}
module.exports = { handler };3. Create a build script
Create a build script (e.g., build.js) to bundle your function for your target platform:
// build.js
const { build } = require('edge-trigger');
const { handler } = require('./my-function');
// Target 'cloudflare', 'vercel', or 'node'
const platform = 'cloudflare';
build({
func: handler,
platform,
// Optional: specify an output directory
// outDir: 'dist'
});4. Run the build
Execute the build script:
node build.jsThis will create a bundled file in the dist directory, ready for deployment to your chosen platform.
Example Usage
Here's a more detailed example demonstrating how to use Edge-Trigger to create bundles for different platforms.
const { build } = require('edge-trigger');
// Your core application logic
const myFunction = async (event) => {
const body = await event.request.json();
return new Response(JSON.stringify({ message: "Hello from the edge!", ...body }), {
headers: { 'Content-Type': 'application/json' },
});
};
// Build for different platforms
build({ func: myFunction, platform: 'cloudflare' });
build({ func: myFunction, platform: 'vercel' });
build({ func: myFunction, platform: 'node' });Supported Platforms
- Cloudflare Workers (
cloudflare) - Vercel Edge Functions (
vercel) - Node.js (
node)
How It Works
Edge-Trigger leverages the power of esbuild to bundle your Node.js function and its dependencies into a single, efficient file. It creates a temporary entry point, builds the bundle, and then cleans up, leaving you with a clean, deployable artifact. This approach ensures that your function is optimized for the specific requirements of each edge platform.
