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

@memberjunction/server-bootstrap-lite

v5.34.1

Published

MemberJunction Server Bootstrap (Lite) - Class registrations manifest without ESM-incompatible dependencies (communication, storage)

Readme

@memberjunction/server-bootstrap-lite

Lightweight class registrations manifest for MemberJunction server-side tools. Excludes heavy and ESM-incompatible dependencies (communication providers, storage, bizapps actions) that are unnecessary for CLI tools, CodeGen, MCP Server, and similar lightweight applications.

Overview

This package provides a pre-built class registration manifest that imports and registers all core @memberjunction/* classes needed for server-side operation, but intentionally excludes heavyweight packages that are only needed for the full MJAPI server.

graph TD
    A["server-bootstrap-lite"] --> B["Core Entity Classes"]
    A --> C["Core Action Classes"]
    A --> D["AI Engine Classes"]
    A --> E["Metadata Sync"]

    F["server-bootstrap<br/>(Full)"] --> A
    F --> G["Communication Providers"]
    F --> H["Storage Providers"]
    F --> I["BizApps Actions"]
    F --> J["Skip Integration"]

    K["CLI Tools / CodeGen"] --> A
    L["MJAPI Server"] --> F

    style A fill:#2d6a9f,stroke:#1a4971,color:#fff
    style F fill:#7c5295,stroke:#563a6b,color:#fff
    style K fill:#2d8659,stroke:#1a5c3a,color:#fff
    style L fill:#b8762f,stroke:#8a5722,color:#fff
    style G fill:#b8762f,stroke:#8a5722,color:#fff
    style H fill:#b8762f,stroke:#8a5722,color:#fff
    style I fill:#b8762f,stroke:#8a5722,color:#fff

Installation

npm install @memberjunction/server-bootstrap-lite

When to Use

Use server-bootstrap-lite instead of server-bootstrap for:

| Application | Use Lite? | Why | |-------------|-----------|-----| | MJCLI | Yes | Does not need communication/storage providers | | CodeGen (CodeGenLib, MJCodeGenAPI) | Yes | Only needs entity metadata and class registration | | MCP Server | Yes | Lightweight integration, no email/SMS needed | | A2A Server | Yes | Agent-to-agent, no UI or storage dependencies | | Custom CLI tools | Yes | Minimal footprint for scripting | | MJAPI Server | No | Needs full manifest with all providers | | MJ Explorer | No | Needs ng-bootstrap for Angular manifests |

Usage

// Import for side effects -- triggers all class registrations
import '@memberjunction/server-bootstrap-lite';

// Or import the manifest metadata
import {
  CLASS_REGISTRATIONS,
  CLASS_REGISTRATIONS_MANIFEST_LOADED,
  CLASS_REGISTRATIONS_COUNT,
  CLASS_REGISTRATIONS_PACKAGES
} from '@memberjunction/server-bootstrap-lite';

console.log(`Registered ${CLASS_REGISTRATIONS_COUNT} classes from ${CLASS_REGISTRATIONS_PACKAGES.length} packages`);

Exports

| Export | Type | Description | |--------|------|-------------| | CLASS_REGISTRATIONS | object[] | Array of class instances that create static import paths | | CLASS_REGISTRATIONS_MANIFEST_LOADED | boolean | Always true, confirms manifest was loaded | | CLASS_REGISTRATIONS_COUNT | number | Total number of registered classes | | CLASS_REGISTRATIONS_PACKAGES | string[] | List of package names included in the manifest |

How It Works

Modern bundlers (ESBuild, Vite) use tree-shaking to eliminate unused code. MemberJunction's @RegisterClass decorators rely on dynamic class instantiation via MJGlobal.ClassFactory, which bundlers cannot detect. The manifest system prevents tree-shaking by creating explicit static import paths for every decorated class.

This "lite" variant includes a curated subset of the full manifest, excluding packages that:

  • Require ESM-incompatible native modules
  • Pull in heavy communication SDKs (email, SMS, push)
  • Include cloud storage providers
  • Contain business application-specific actions

Dependencies

The lite manifest includes core MemberJunction packages for:

  • Entity class registration
  • Action class registration
  • AI engine and model drivers
  • Metadata synchronization
  • Core business logic

See the full server-bootstrap package for the complete manifest including all providers.

License

ISC