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

module-federation-ai-proxy-remotes

v0.1.7

Published

A Module Federation runtime plugin for AI-driven local remote debugging

Readme

module-federation-ai-proxy-remotes

Use this Runtime Plugin to let AI debug Module Federation remotes in any environment by switching them to local manifests from a URL or a floating browser console, without depending on a Chrome extension environment.

Use cases

  • Ask an AI coding agent to start a remote locally and open the host with the correct proxy rule.
  • Debug a host against one or more locally running remotes.
  • Save and switch proxy rules from the page without opening DevTools.

Install

pnpm add -D module-federation-ai-proxy-remotes

Add the Runtime Plugin

Install and configure this plugin in the host application.

Add the package name to runtimePlugins in the Module Federation plugin configuration:

export default {
  name: 'host',
  runtimePlugins: ['module-federation-ai-proxy-remotes'],
};

Enable debugging

Add __mf_devtools to the host URL:

https://host.example.com/remote?__mf_devtools

The page refreshes and removes the parameter from the address bar. Debugging remains enabled for the current tab session. Use Disable debug in the floating console to turn it off; saved rules are retained until the tab session ends.

Configure remotes from the URL

Generate the URL directly:

const remoteName = 'remote';
const localManifestUrl = 'http://localhost:3001/mf-manifest.json';
const hostUrl = new URL('https://host.example.com/remote');

hostUrl.searchParams.set(
  '__mf_devtools',
  JSON.stringify({
    overrides: {
      [remoteName]: localManifestUrl,
    },
  }),
);

console.log(hostUrl.href);

Open the generated URL to enable debugging and save the rule. Remote names and aliases are both supported.

Or use the package helper:

import { generateAIDebugUrl } from 'module-federation-ai-proxy-remotes';

const debugUrl = generateAIDebugUrl('https://host.example.com/remote', {
  remote: 'http://localhost:3001/mf-manifest.json',
});

console.log(debugUrl);

Proxy domain security

By default, the plugin only accepts manifest URLs hosted on localhost or 127.0.0.1. Every override URL must:

  • use the http: or https: protocol;
  • point to a path ending in .json;
  • not contain a username or password; and
  • use a default host or a hostname explicitly listed in allowedHosts.

allowedHosts contains exact hostnames without a protocol, port, path, or wildcard. For example, assets.example.com allows URLs on that hostname, including URLs with an explicit port, but does not allow sub.assets.example.com.

Add only trusted hosts that are required for debugging:

import { aiDebugRuntimePlugin } from 'module-federation-ai-proxy-remotes/core';

export default () =>
  aiDebugRuntimePlugin({
    allowedHosts: ['assets.example.com', 'mf-dev.internal.example.com'],
  });

The target server must also allow the host application to request the manifest according to its CORS policy. Remove temporary non-local hosts after debugging.

Options

| Option | Type | Default | Usage | | --------------- | ---------------------------------- | ----------------- | --------------------------------------------------- | | allowedHosts | string[] | [] | Allow additional trusted manifest hosts. | | parameterName | string | __mf_devtools | Use another activation and configuration parameter. | | storageKey | string | __MF_DEVTOOLS__ | Use another session storage key for saved rules. | | console | boolean \| AIDebugConsoleOptions | URL-controlled | Hide or configure the floating console. |