SherpaJS Logo

What is SherpaJS?

SherpaJS is a modular and agnostic serverless JavaScript web framework, that allows developers to easily build backend serverless web applications. Using a directory-based structure, inspired by NextJS, developers can define endpoints or import modules to execute code. Modules allow developers to easily reuse sets of endpoints and deploy them on their own servers - for example analytics, authentication, and release systems (Community Modules). SherpaJS servers can then be compiled to a variety of different serverless platforms including Vercel Serverless and local Server (Supported Platforms).

This project is in early development, so it is possible for you to run into issues. If you run into any issues please just create a new issue and link your code. Feel free to debug or update the code!


Primary Features

The main features of SherpaJS include:

  • Routing - A file-based routing system that supports dynamic routes, loading modules, and rendering HTML.
  • Modules - Build and utilize pre-build sets of endpoints that can be configured and loaded at specific routes.
  • Agnostic Deployment - Build your serverless applications to numerous serverless platforms including Vercel. AWS Lambda coming soon.
  • Rendering - Render static HTML at specific routes. Templated HTML and Vue coming later.
  • Static Files - Serve static files and access static files from endpoints.

We are constantly adding new features and have plenty of amazing things planned for the future including: documentation generation, SDK client generation, and admin panels.


Community Modules

A list of some of the community modules for SherpaJS, with more coming all the time! If you make a module, let us know!

ModuleDescription
Static FlagsCreate static flags of booleans, strings, or numbers
EventsCreate event sending endpoints for analytics platforms like PostHog using Metadapter Events

Supported Platforms

The current platforms that SherpaJS supports, with more to come in the future!

  • Vercel Edge Functions
  • Local

Deploy a Server

SherpaJS can compile to various different web platforms, with more to come later. Want to support a new framework? Submit a Ticket. See the build command to compile to each platform.


Vercel Edge Functions

Building to Vercel will generate a Vercel serverless server in the .vercel directory relative to your output. When your SherpaJS server repository is deployed Vercel this folder will automatically be deployed. Ensure your build command is set to build SherpaJS with the Vercel bundler.


Local Server

Building to local server will generate a NodeJS server, that utilizes the built in HTTP service. This server will be located at the .sherpa/index.js relative to your output. You can start the server using sherpa start.