Latest Threat Research:SANDWORM_MODE: Shai-Hulud-Style npm Worm Hijacks CI Workflows and Poisons AI Toolchains.Details
Socket
Book a DemoInstallSign in
Socket

@openpanel/express

Package Overview
Dependencies
Maintainers
1
Versions
11
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@openpanel/express

The Express middleware is a basic wrapper around Javascript SDK. It provides a simple way to add the SDK to your Express application.

latest
npmnpm
Version
1.2.0
Version published
Weekly downloads
266
322.22%
Maintainers
1
Weekly downloads
 
Created
Source

Express

The Express middleware is a basic wrapper around Javascript SDK. It provides a simple way to add the SDK to your Express application.

📖 Full documentation: https://openpanel.dev/docs/sdks/express

Looking for a step-by-step tutorial? Check out the Express analytics guide.

Installation

pnpm install @openpanel/express

Usage

The default export of @openpanel/express is a function that returns an Express middleware. It will also append the Openpanel SDK to the req object.

You can access it via req.op.

import express from 'express';

import createOpenpanelMiddleware from '@openpanel/express';

const app = express();

app.use(
  createOpenpanelMiddleware({
    clientId: 'xxx',
    clientSecret: 'xxx',
    // trackRequest(url) {
    //   return url.includes('/v1')
    // },
    // getProfileId(req) {
    //   return req.user.id
    // }
  })
);

app.get('/sign-up', (req, res) => {
  // track sign up events
  req.op.track('sign-up', {
    email: req.body.email,
  });
  res.send('Hello World');
});

app.listen(3000, () => {
  console.log('Server is running on http://localhost:3000');
});

Options

Common options
  • apiUrl - The url of the openpanel API or your self-hosted instance
  • clientId - The client id of your application
  • clientSecret - The client secret of your application (only required for server-side events)
  • filter - A function that will be called before sending an event. If it returns false, the event will not be sent
  • disabled - If true, the library will not send any events

Express options

  • trackRequest - A function that returns true if the request should be tracked.
  • getProfileId - A function that returns the profile ID of the user making the request.

Typescript

If req.op is not typed you can extend the Request interface.

import { OpenPanel } from '@openpanel/express';

declare global {
  namespace Express {
    export interface Request {
      op: OpenPanel;
    }
  }
}

FAQs

Package last updated on 02 Mar 2026

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts