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

@cdx-extensions/di-sdk-web

v2.0.46

Published

Development harness for building web extensions locally - Part of Candescent Developer Experience (CDX)

Downloads

248

Readme

CDX Extensibility SDK - Web Harness

Part of the Candescent Developer Experience (CDX)

Published as @cdx-extensions/di-sdk-web. Mock implementation of the CDX Extensibility SDK for local development of web extensions. Same package name as the real web SDK; the registry (public npm vs JFrog) determines which implementation is installed.

Overview

The Web Harness provides a realistic development environment for building platform extensions without the full production platform. It includes:

  • Mock user context data
  • Simulated network delays
  • Configurable API endpoints
  • Branding/theming support
  • Secure HTTP client with error simulation

This library is independent. Dependencies are resolved from JFrog when you run npm install in this folder. Build and publish from this directory.

Installation

npm install @cdx-extensions/di-sdk-web

(When using public npm, consumers get this harness; when using Candescent JFrog, they get the real implementation.)

Usage

The harness exposes a Platform instance. Get it via WebPlatform.getInstance() and use its methods in your React components.

import {
  getUserContext,
  getConfig,
  getBranding,
  httpClient,
  UserContext,
  ExtensibilityConfig,
  BrandingConfig,
} from '@cdx-extensions/di-sdk-web';

const platform = WebPlatform.getInstance();

// Get configuration
const config: ExtensibilityConfig = getConfig();
console.log(config.apiBaseUrl);

// Get branding
const branding: BrandingConfig = getBranding();

// Make API calls (use httpClient, not fetch directly)
const response = await httpClient.post('/api/agent/chat', {
  message: 'Hello',
  conversationId: 'conv-123',
});

Development

From the repository root:

cd libs/public/extensibility-sdk-web-harness
npm install
npm run build

Publishing under development: To publish this lib while it is under development without affecting the main version, run from this directory: npm publish --tag development.

Production versions are updated when changes are merged to main (CI runs the publish workflow).

API Reference

  • getUserContext(): Promise<UserContext> — Returns mock user context.
  • getConfig(): ExtensibilityConfig — Returns platform configuration (environment, API base URL, feature flags).
  • getBranding(): BrandingConfig — Returns branding/theming configuration.
  • httpClient — Secure HTTP client; use instead of fetch(). Methods: get, post, put, patch, delete.

Mock Data

Customize mocks under src/mocks/ (e.g. userContext.json). Set API_BASE_URL environment variable to customize the API endpoint.

Documentation

License

ISC

CDX = Candescent Developer Experience