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

@power-maverick/tool-plugin-registration

v0.0.2

Published

Register and manage Dataverse plugin assemblies, custom workflow activities, and SDK message processing steps

Readme

Plugin Registration

Register and manage Microsoft Dataverse plugin assemblies, custom workflow activities, and SDK message processing steps. Exclusively for PPTB.

Overview

The Plugin Registration tool brings the classic Microsoft Dataverse Plugin Registration Tool experience directly into Power Platform ToolBox. It allows developers to register, update, and unregister plugin assemblies and their associated components without leaving PPTB.

Key Features

  • React + TypeScript: Modern component-based architecture with Vite build system
  • PPTB-Only Integration: Designed exclusively for Power Platform ToolBox (uses @pptb/types v1.0.20)
  • Plugin Assembly Management: Register, update, and unregister plugin assemblies (.dll files)
  • Plugin Type Browsing: View all plugin classes within each registered assembly
  • Step Registration: Register and manage SDK Message Processing Steps with full configuration
  • Step Images: Register pre/post entity images for processing steps
  • Enable/Disable Steps: Toggle step activation status without removing them
  • Tree View UI: Hierarchical view of assemblies → plugin types → steps → images
  • Dark/Light Theme Support: Follows PPTB theme settings automatically

Use Cases

  • Register custom plugin assemblies implementing IPlugin
  • Set up SDK message processing steps on standard Dataverse messages (Create, Update, Delete, etc.)
  • Configure pre/post entity images for plugin steps
  • Register custom workflow activities
  • Manage plugin step lifecycle (enable, disable, unregister)
  • Update plugin assemblies when a new version is compiled

UI

The tool uses a split-panel layout:

  • Left panel: Tree view of all registered assemblies, their plugin types, processing steps, and images
  • Right panel: Detailed information and action buttons for the selected item

Supported Actions

| Selected Item | Available Actions | |---|---| | Assembly | Update Assembly, Unregister Assembly | | Plugin Type | Register Step | | Processing Step | Register Image, Enable, Disable, Update Step, Unregister Step | | Step Image | Update Image, Unregister Image |

Getting Started

Prerequisites

  • Power Platform ToolBox (PPTB) with an active Dataverse connection
  • A compiled plugin assembly (.dll) built against the Dataverse SDK

Building

cd tools/plugin-registration
npm install
npm run build

Development

npm run dev

Architecture

src/
├── components/
│   ├── PluginTree.tsx          # Tree view component
│   ├── AssemblyDetails.tsx     # Assembly details & actions
│   ├── PluginTypeDetails.tsx   # Plugin type details
│   ├── StepDetails.tsx         # Processing step details & actions
│   ├── ImageDetails.tsx        # Step image details & actions
│   ├── RegisterAssemblyDialog.tsx  # Register/update assembly dialog
│   ├── RegisterStepDialog.tsx      # Register/update step dialog
│   └── RegisterImageDialog.tsx     # Register/update image dialog
├── models/
│   └── interfaces.ts           # TypeScript interfaces
├── utils/
│   └── DataverseClient.ts      # Dataverse API wrapper
├── App.tsx                     # Main application component
├── main.tsx                    # Entry point with theme support
└── styles.css                  # CSS with light/dark theme variables

Dataverse Entities Used

| Entity | Purpose | |---|---| | pluginassembly | Stores compiled assembly metadata and content | | plugintype | Stores plugin class information within an assembly | | sdkmessageprocessingstep | Stores step configuration (message, entity, stage, mode) | | sdkmessageprocessingstepimage | Stores pre/post entity images for steps | | sdkmessage | SDK messages (Create, Update, Delete, etc.) | | sdkmessagefilter | Entity-specific filters for messages |

Reference