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

@microsoft/fabric-embed

v0.1.0

Published

Fabric Embed SDK

Downloads

274

Readme

Microsoft Fabric Embed SDK

npm version License npm downloads

A JavaScript/TypeScript library for embedding Microsoft Fabric items into your own browser-based web applications.

Preview. The Fabric Embed SDK is currently in preview. Its APIs, interfaces, types, and properties may change before general availability (GA).

Features

  • Easy embedding — Embed Fabric items into your browser-based web application with a few lines of code.
  • Typed interaction APIs — Interact with embedded items through a strongly typed API.
  • Rich event model — Subscribe to rendered, error, and user-interaction events.
  • Lifecycle management — Reuse and preload embed containers for faster load times and efficient resource use.

Supported items

| Item type | Status | |-----------|--------| | KQLDashboard | Preview |

Prerequisites

Before you begin, complete the setup steps in the Microsoft Fabric Embed documentation, including the Microsoft Entra ID app registration, an active Fabric capacity, and the workspace and item you want to embed.

Installation

npm install @microsoft/fabric-embed

Authentication

The SDK never acquires tokens on your behalf — your application owns authentication. We recommend using MSAL.js with your Entra ID app registration.

Every embed session requires an accessToken. Because tokens are short-lived, also provide an accessTokenProvider callback: the SDK invokes it whenever a fresh token is needed for the requested scopes, so the embedded item keeps working without a reload. Supplying the callback is the recommended approach, since it lets the SDK refresh tokens as needed — always return a current token rather than caching one indefinitely.

Quick start

1. Initialize the EmbedManager

Register the client classes for the item types you intend to embed.

import {
  EmbedManager,
  KQLDashboardEmbedClient,
  KQLDashboardEmbedConfiguration,
  ErrorEvent,
} from '@microsoft/fabric-embed';

const embedManager = new EmbedManager({
  embedClientClasses: [KQLDashboardEmbedClient],
});

2. Embed a Fabric item

Pass the workspace and item IDs along with an initial accessToken and an accessTokenProvider callback for refresh.

const embedContainer = document.getElementById('embed-container')!;

const config: KQLDashboardEmbedConfiguration = {
  itemType: 'KQLDashboard',
  workspaceId: '<your-fabric-workspace-id>',
  itemId: '<your-fabric-item-id>',
  accessToken: { token: await acquireToken() },
  eventHooks: {
    accessTokenProvider: {
      callback: async ({ scopes }) => {
        // Acquire and return a fresh token for the requested scopes,
        // e.g. using MSAL: const result = await msal.acquireTokenSilent({ scopes });
        // Example scope: 'https://api.fabric.microsoft.com/.default'
        return { token: await acquireToken(scopes) };
      },
    },
  },
  // Additional configuration options...
};

const embedClient: KQLDashboardEmbedClient = embedManager.embed(embedContainer, config);

3. Interact with the embedded item

// Call APIs on the embedded item
embedClient.fullscreen();

// Subscribe to events
embedClient.on('error', (event: ErrorEvent) => {
  console.error(event.errorCode, event.message);
});

Support & feedback