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

@rozenite/repack

v1.2.0

Published

Re.Pack bundler plugin for Rozenite.

Readme

rozenite-banner

A Re.Pack bundler plugin for integrating React Native DevTools plugins into your development workflow.

mit licence npm downloads Chat PRs Welcome

The Rozenite Re.Pack plugin seamlessly integrates custom DevTools plugins into your React Native development environment. It automatically discovers installed plugins, serves them through Re.Pack's development server, and provides the necessary infrastructure for plugin communication and UI rendering.

Features

  • Automatic Plugin Discovery: Automatically finds and loads installed Rozenite plugins from node_modules
  • Re.Pack Integration: Seamlessly integrates with Re.Pack bundler's middleware system
  • Plugin Serving: Serves plugin assets and panels through Re.Pack's development server
  • DevTools Frontend Integration: Patches React Native DevTools frontend for plugin support
  • Express Middleware: Provides custom Express middleware for plugin routing and serving
  • Configuration Options: Flexible configuration for including/excluding specific plugins

Installation

Install the Re.Pack plugin as a development dependency:

npm install --save-dev @rozenite/repack

Quick Start

Basic Setup

Add the Rozenite plugin to your Re.Pack configuration:

// repack.config.mjs
import { withRozenite } from '@rozenite/repack';

export default withRozenite({
  // Your existing Re.Pack configuration
});

Or using the function style configuration:

// repack.config.mjs
import { withRozenite } from '@rozenite/repack';

export default withRozenite((env) => ({
  // Your existing Re.Pack configuration
}));

With Custom Options

Configure plugin discovery and filtering:

// repack.config.mjs
import { withRozenite } from '@rozenite/repack';

export default withRozenite(
  {
    // Your existing Re.Pack configuration
  },
  {
    include: ['@my-org/my-plugin', 'another-plugin'],
    exclude: ['unwanted-plugin'],
    destroyOnDetachPlugins: ['@rozenite/network-activity-plugin'],
  }
);

Configuration

RozeniteRepackConfig

The configuration object for the Re.Pack plugin:

type RozeniteRepackConfig = {
  include?: string[]; // Only load these specific plugins
  exclude?: string[]; // Exclude these plugins from loading
  destroyOnDetachPlugins?: string[]; // Plugins that should be destroyed when switching panels
};

Options:

  • include - Array of package names to explicitly include (optional)
  • exclude - Array of package names to exclude from loading (optional)
  • destroyOnDetachPlugins - Array of package names that should be destroyed when switching panels instead of maintaining their state (optional, by default all plugins persist their state)

Plugin Discovery

The Re.Pack plugin automatically discovers Rozenite plugins by:

  1. Scanning node_modules: Searches all node_modules directories in the project
  2. Checking for Rozenite manifest: Looks for the Rozenite manifest file in each package
  3. Validating plugin structure: Ensures the plugin has the required build output
  4. Loading plugin metadata: Extracts plugin information for integration

Development Workflow

  1. Install plugins in your React Native project
  2. Configure Re.Pack with the Rozenite plugin
  3. Start Re.Pack server - plugins are automatically discovered and loaded
  4. Access DevTools - plugins appear in the React Native DevTools interface
  5. Develop plugins - use hot reload for plugin development

Plugin Requirements

For a package to be recognized as a Rozenite plugin, it must:

  1. Have a Rozenite manifest: dist/rozenite.json file
  2. Be properly built: Plugin assets must be available in the dist directory
  3. Follow naming conventions: Package name should not start with .
  4. Be accessible: Package must be readable from node_modules

Troubleshooting

No plugins found

  • Ensure plugins are properly installed in node_modules
  • Check that plugins have been built and contain dist/rozenite.json
  • Verify plugin package names are not excluded in configuration

Plugin not loading

  • Check Re.Pack server logs for plugin discovery messages
  • Verify plugin manifest file exists and is valid
  • Ensure plugin assets are properly built and accessible

Middleware conflicts

  • The Rozenite middleware is designed to work alongside existing Re.Pack middleware
  • Custom middleware is preserved and enhanced, not replaced
  • Check for conflicts with other Re.Pack plugins

Requirements

  • Node.js >= 22
  • Re.Pack bundler
  • React Native project
  • Installed Rozenite plugins

Made with ❤️ at Callstack

rozenite is an open source project and will always remain free to use. If you think it's cool, please star it 🌟.

Callstack is a group of React and React Native geeks, contact us at [email protected] if you need any help with these or just want to say hi!

Like the project? ⚛️ Join the team who does amazing stuff for clients and drives React Native Open Source! 🔥