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

@pacaf/wizard-ux

v3.0.13

Published

Browser-based setup wizard for Power Apps Code Apps (parallel to @pacaf/wizard CLI).

Readme

WizardUX — Browser-Based Setup

A browser-based UX for the PAppsCAFoundations setup wizard. Runs alongside the CLI wizard, sharing the same .wizard-state.json so you can switch between them at any time.

Both the CLI wizard at ../wizard/ and this browser wizard are fully supported entry points. WizardUX now keeps the full nine-step setup flow in the browser, using server-side runners and live logs for long-running commands.

Quick start

From the repo root:

npm run wizard:ux

This installs wizard-ux dependencies on first run, starts the Fastify server on http://127.0.0.1:5174, and opens your browser. Press Ctrl+C to stop.

What it does

  • Beautiful Fluent UI v9 interface — same stack you'll use to build your Code Apps.
  • Step navigator with progress, jump-to-step, resume detection.
  • Live log panel with SSE streaming for steps that run server-side.
  • Summary page that surfaces every value collected so far.
  • Diagnostics view of system tooling and raw state.

v0 scope

| Step | Browser support | |---|---| | 1. Prerequisites | Read-only check screen | | 2. Project & environment | Full form | | 3. App Registration | Full form with optional 1Password read/save | | 4. Auth Setup | Full form + live PAC auth output | | 5. Publisher | Full form (auto or create new) | | 6. Solution | Full form (auto or create new) | | 7. Scaffold | Full form + live scaffold output | | 8. Connectors | Native defer/notes step | | 9. Verify & deploy | Full form + live build/deploy output |

All nine steps now stay inside WizardUX. App registration values are collected in browser forms, credentials can be read from or synced to 1Password, PAC auth output streams through the live log, scaffolding runs server-side, and verify/deploy can build and push without opening the old CLI wizard.

Architecture

wizard-ux/
├── server/        Fastify API on :5174
│   ├── routes/    /api/state, /api/system, /api/steps, /api/steps/:n/stream
│   └── steps/     Per-step questions() + apply() modules (mirror wizard/steps/*)
└── src/           React 19 + Fluent UI v9 + TanStack Query
    ├── pages/     Welcome, StepRunner, Summary, Diagnostics
    ├── components/ AppHeader, StepNav, QuestionCard, LiveLog, EmbeddedTerminal, HeroBackground
    └── theme/     Custom Power Platform brand ramp + light/dark/system mode

Security

  • Server binds to 127.0.0.1 only.
  • CSRF token issued on /api/handshake, required on every mutating call.
  • Same-origin enforced via CORS.
  • Client secrets are held in memory on the server only — never sent back to the browser, never written to logs.
  • Auto-shutdown after 10 minutes of API inactivity.

How it differs from the CLI

The CLI (../wizard/) is the authoritative pipeline. It calls the same wizard/lib/* helpers WizardUX does. You can:

  1. Start in WizardUX, finish in the CLI.
  2. Start in the CLI, finish in WizardUX.
  3. Use WizardUX as a state inspector while the CLI runs in another terminal.

.wizard-state.json is the single source of truth for both.

Build for production

npm run wizard:ux:build           # emits wizard-ux/dist/
NODE_ENV=production npm run wizard:ux  # serves the built app

In production mode, Vite is not loaded — Fastify serves the prebuilt SPA from dist/.

Roadmap

  • v1: Connector picker UI for step 8 with connection discovery and data-source registration.
  • v1: One-click open make.powerapps.com to the right environment.
  • v2: Replace react-resizable-panels with a Fluent-native splitter when one ships.