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

@schematize/serverless-function-test

v0.6.6

Published

Schematize Serverless Function Tester Library for testing serverless functions locally

Readme

@schematize/serverless-function-test

Local HTTP server for exercising Schematize serverless function handlers. It turns incoming requests into API Gateway HTTP API v2–style events, loads your handler (with .env and working directory scoped to the function), and writes the response back on the socket.

Layout

| Piece | Role | |--------|------| | src/index.mjs | CLI entrypoint — parses arguments, starts http/https, routes requests, calls runFunction. | | src/runHandler.mjs | Shared runtimeinitAwslambda, buildEvent, loadHandler, invokeHandler, runFunction (used by this CLI and other tools such as schambda). |

The npm bin field points the executable at src/index.mjs (with a #!/usr/bin/env shebang).

Installing the binary

From a project that lists this package as a dependency:

npm install @schematize/serverless-function-test

Then either:

npx schematize-serverless-function-test --handler ./path/to/function

or, from that project’s root:

./node_modules/.bin/schematize-serverless-function-test …

Run the command from the directory whose relative paths (--handler, bundle folders) should resolve — paths are joined with process.cwd().

CLI usage

You must supply either --bundles or --handler.

--handler <dir>

Serve a single function directory (relative to the current working directory). Every path is dispatched to that handler (internal route match is /.+/).

Example:

schematize-serverless-function-test --handler ./workspaces/my-bundle/serverlessFunction/utils

The loader resolves the handler via that directory’s package.json functionSettings.handler (file.exportName), or defaults to index + default export.

--bundles <path>[,<path>…]

Comma-separated list of bundle root directories. For each bundle, the tool reads bundle/package.json, expects bundle.serverlessFunctionList, and for each entry uses dir + regex (path regex) to decide which function handles a request.

Example:

schematize-serverless-function-test --bundles ./workspaces/bundle-auth

--port <number>

Listen port. Default: 3000.

--key and --cert (HTTPS)

Optional paths (relative to process.cwd()) to a TLS key and certificate. If both are set, the server uses HTTPS; if only one is set, it warns and falls back to HTTP.

Programmatic use (without the CLI)

Import helpers from the package export map:

import {
  initAwslambda,
  buildEvent,
  runFunction,
} from '@schematize/serverless-function-test/runHandler';

runFunction loads the function’s .env, temporarily chdirs into functionDir, invokes the handler, then restores process.cwd() and environment.

Notes

  • Intended for local testing only. The CLI sets NODE_TLS_REJECT_UNAUTHORIZED=0 for developer convenience.
  • Request bodies are surfaced in the synthetic event as base64 (isBase64Encoded: true), matching common Lambda patterns.

License

MIT