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

@brix-sdk/runtime-sdk-api-web

v1.0.0

Published

Brix Runtime SDK Web API - UI capability contracts and shared types for the Brix Framework

Readme

brix-runtime-sdk-api-web

npm version License

Brix Runtime SDK Web API - UI capability contracts and shared types for the Brix Framework.

This package provides framework-agnostic TypeScript type definitions and contracts for building plugins in the Brix Runtime Shell architecture.

Features

  • 🔌 Framework Agnostic - No dependency on React, Vue, Angular, or any UI framework
  • 📦 Pure Type Definitions - Contains only contracts, no runtime implementations
  • 🎯 Full TypeScript Support - Complete type safety with IntelliSense
  • 🏗�?Modular Design - Import only what you need

Installation

npm install brix-runtime-sdk-api-web
# or
pnpm add brix-runtime-sdk-api-web
# or
yarn add brix-runtime-sdk-api-web

Capability Categories

The SDK provides contracts for the following runtime capabilities:

| Capability | Description | |------------|-------------| | Navigation | Page navigation, router management, route contributions | | Auth | User identity, authentication, permission verification | | State | Plugin state management and persistence | | EventBus | Cross-plugin communication and event handling | | Config | Runtime configuration reading | | Http | Unified HTTP request handling | | Theme | Theme management and customization | | I18n | Internationalization support | | Layout | Layout management and contribution |

Usage

Import Types

import type {
  // Capabilities
  NavigationCapability,
  AuthCapability,
  StateCapability,
  EventBusCapability,
  ConfigCapability,
  HttpCapability,
  
  // Common types
  PluginDefinition,
  RouteContribution,
  MenuItem,
  
  // Context
  RuntimeContext,
} from 'brix-runtime-sdk-api-web';

RuntimeContext

The RuntimeContext is the primary interface for plugins to access runtime capabilities:

import type { RuntimeContext } from 'brix-runtime-sdk-api-web';

function initPlugin(context: RuntimeContext) {
  // Access navigation capability
  const navigation = context.getCapability('navigation');
  navigation.navigateTo('/dashboard');
  
  // Access auth capability
  const auth = context.getCapability('auth');
  const user = auth.getCurrentUser();
  
  // Access event bus
  const eventBus = context.getCapability('eventBus');
  eventBus.emit('plugin:ready', { pluginId: 'my-plugin' });
}

Plugin Definition

Define your plugin using the PluginDefinition type:

import type { PluginDefinition } from 'brix-runtime-sdk-api-web';

const myPlugin: PluginDefinition = {
  id: 'my-plugin',
  name: 'My Plugin',
  version: '1.0.0',
  routes: [
    {
      path: '/my-plugin',
      component: MyComponent,
    },
  ],
  menuItems: [
    {
      id: 'my-plugin-menu',
      label: 'My Plugin',
      path: '/my-plugin',
      icon: 'plugin-icon',
    },
  ],
};

Module Structure

src/
├── index.ts              # Main entry point
├── context/              # RuntimeContext definitions
�?  └── RuntimeContext.ts
└── types/                # Type definitions
    ├── auth.ts           # Authentication types
    ├── capability.ts     # Capability contracts
    ├── common.ts         # Common/shared types
    ├── config.ts         # Configuration types
    ├── event.ts          # Event bus types
    ├── http.ts           # HTTP client types
    ├── i18n.ts           # Internationalization types
    ├── layout.ts         # Layout types
    ├── module.ts         # Module types
    ├── navigation.ts     # Navigation types
    ├── plugin.ts         # Plugin definition types
    ├── state.ts          # State management types
    ├── theme.ts          # Theme types
    └── ui/               # UI component types

Framework Bindings

For React-specific bindings (hooks, providers), use @brix-sdk/runtime-sdk-react instead:

npm install @brix-sdk/runtime-sdk-react

Related Packages

License

Apache License 2.0

Contributing

We welcome contributions! Please see our Contributing Guide for details.