@honeybadger-io/cloudflare
v0.3.1
Published
Cloudflare Workers integration for Honeybadger
Readme
Honeybadger Cloudflare Workers Integration
Error monitoring for Cloudflare Workers via Honeybadger.
Documentation and Support
For full documentation and support, see Honeybadger's JavaScript docs.
Installation
npm install @honeybadger-io/cloudflareUsage
Wrap your Worker's exported handler with withHoneybadger. Pass a getConfig function that receives your env and returns Honeybadger config overrides (e.g. apiKey, environment).
Set the API key via Wrangler secrets:
wrangler secret put HONEYBADGER_API_KEYPass any (env) => Partial<Config> to control Honeybadger config from your env:
import { withHoneybadger } from '@honeybadger-io/cloudflare'
import type { Types } from '@honeybadger-io/core'
const getConfig = (env: Env): Partial<Types.Config> => ({
apiKey: env.HONEYBADGER_API_KEY,
environment: env.ENVIRONMENT ?? 'production',
revision: env.GIT_SHA,
})
export default withHoneybadger(getConfig, {
async fetch(request, env, ctx) {
// ...
},
async scheduled(controller, env, ctx) {
// ...
},
})Supported handlers
withHoneybadger wraps all handlers present on your export: fetch, scheduled, queue, email, and tail. Errors in any handler are reported to Honeybadger and rethrown; reporting runs via ctx.waitUntil() so it does not block the response.
TypeScript types
This package does not bundle Cloudflare Worker types. It relies on ambient types (ExportedHandler, ExecutionContext, MessageBatch, etc.) that your Worker project already provides. Either approach works:
Runtime types via Wrangler (recommended for Wrangler v3.66+). Generate a
worker-configuration.d.tsfrom yourwrangler.toml/wrangler.jsonc:npx wrangler typesThen reference it from your
tsconfig.json:{ "compilerOptions": { "types": ["./worker-configuration.d.ts"] } }@cloudflare/workers-types(for older Wrangler or projects that prefer the published types):npm install --save-dev @cloudflare/workers-types{ "compilerOptions": { "types": ["@cloudflare/workers-types"] } }
@cloudflare/workers-types is declared as an optional peer dependency, so it won't be installed automatically.
License
This package is MIT licensed. See the MIT-LICENSE file in this folder for details.
