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 🙏

© 2026 – Pkg Stats / Ryan Hefner

@saltcorn/record-and-rerun

v0.1.16

Published

Record and rerun user interactions in Saltcorn applications

Readme

record-and-rerun

This plugin allows you to record user interactions (navigations, clicks and keypresses) on a page, store them in the database and rerun them later using the playwright framework. This way you can easily create automated tests (or benchmarks) based on real user interactions.

System requirements

This plugin requires Playwright on your server.
Playwright needs several system libraries that must be installed with sudo.

While configuring the plugin, you will see a button Install Playwright, but this only works if all dependencies are fulfilled. You can ensure this by running:

sudo npx playwright install-deps

and click the button. Or alternatively, install everything on your own:

sudo npx playwright install-deps
npx playwright install

Plugin configuration

In the plugin configuration you have an option to set up the standard Tables, Views and Actions.

Database schema

The table-schema looks like this:

Session overview

  • session_recordings: For each recorded session you get a row in session_recordings with the name and session type (web or mobile)
    Note: mobile support is still experimental.
  • session_events: The actual events are stored in session_events in a JSON field.
  • session_runs:: When you do a rerun (or benchmark), a row in session_runs is created. Important fields:
    • success: Boolean field indicating if the run was successful
    • html-report: File field storing the HTML report generated by Playwright
    • benchmark_results: JSON field storing the benchmark results if was a benchmark run

Views

The following views are created:

  • Sessions Recorder: View to start or stop recording sessions.
    When you start a recording, the current user is logged out and redirected to /.
    Make sure the user who initiates the recording has an API token configured.
    This token is used to upload the recorded events, and it works even if the user being recorded (after the logout) does not have access rights to the session_events table.
  • Sessions List: This view lists all recorded sessions and provides buttons to either rerun a session or run a benchmark.
    The rerun button triggers the rerun_user_workflow action, while the benchmark button uses the benchmark_user_workflow action.
  • Session Events List: In this view you can see the recorded events as JSON data.
  • Session Runs List: Shows the results of a rerun (HTML report and success flag).
  • Session Benchmark Runs List: Shows the results of a benchmark run (benchmark results as JSON and success flag).