npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@tangerinelife/fastify-sentry

v0.0.3

Published

Fastify sentry integration

Downloads

3

Readme

Fastify Sentry

Fastify sentry integration using the sentry SDK, compatible with both fastify v2 and v3

Installation

npm install @tangerinelife/fastify-sentry

Usage

Import the Fastify Sentry library and initialize with the minimum required configuration

import * as FastifySentry from "@tangerinelife/fastify-sentry";

FastifySentry.init({
  service: process.env.APP.NAME,
  release: `${process.env.npm_package_name}@${process.env.npm_package_version}`, // optional but needed for sourceMaps
  dsn: process.env.SENTRY.DSN,
  environment: 'development',
  database: 'postgres', // optional but needed for database calls tracing
  tracesSampleRate: process.env.SENTRY.TRACES_SAMPLE_RATE, // skip this option to disable tracing
  redact: { body: ['Token', 'AuthenticationKey', 'bvn'], queryString: ['token'] }, // optional
  rewriteFrameOptions: { root: __dirname || process.cwd() }, // optional but needed for sourceMaps
});

Attach the handlers to your fastify instance

// We use onRequest hook here to register the request and tracing handlers

fastify.addHook('onRequest', (request, reply, done) => {
  FastifySentry.Handlers.requestHandler(request, reply);

  FastifySentry.Handlers.tracingHandler(request, reply);

  done();
});

// We use setErrorHandler to register the error Handler

fastify.setErrorHandler((error, request, reply) => {
  FastifySentry.Handlers.errorHandler(error, request, reply, {
    shouldHandleError() {
      // you can use this method to determine if an error should be reported, like filtering out certain errors
      return true;
    },
  });
});

// If you are using NestJS, the error handler may be used in a custom exception filter or error interceptor

Sensitive data filtering The redact option we supplied during initialization is used to prevent sensitive data from being sent to sentry. It is optional and some sensible default has been set. Here is the complete object:

redact: {
  header: [] // list of keys to redact from request header,
  body: [] // list of keys to redact from request payload,
  queryString: [] // list of keys to redact from url query string,
  replaceWith: '', // what will replace the redacted field
};

That is all you need to use this package. Start catching bugs and fixing things.

Sentry NodeJS docs

Check out the official sentry NodeJS docs to learn more about sentry https://docs.sentry.io/platforms/node and for sourceMap configuration.

Contributing

Please feel free to fork this package and contribute by submitting a pull request to enhance the functionalities.

Thanks

Thank you for choosing this library