Skip to content
PluginStats

webpack-ext-reloader-next weekly downloads statistics

By graybearo · npm · Webpack plugins

Webpack extension reloader for Chrome, Firefox, and Edge. Auto-reloads your browser extension on rebuild. MV3-ready successor to webpack-ext-reloader.

View on npm Stale · Oct 18, 2026

webpack-ext-reloader-next has 13 recorded weekly downloads on npm, a decrease of 78.0% over the past 30 days, ranking #2001 of 2,322 tracked listings.

Weekly downloads
13
Official API · Oct 18, 2026
7-day growth
-78.0%
-46 weekly downloads
30-day growth
-78.0%
-46 weekly downloads
90-day growth
-69.8%
-30 weekly downloads
Rank
#2001
Among tracked npm listings

About webpack-ext-reloader-next

<p align="center"> <img src="assets/banner.svg" alt="webpack-ext-reloader-next" width="780" /> </p> <p align="center"> <a href="https://www.npmjs.com/package/webpack-ext-reloader-next"><img src="https://img.shields.io/npm/v/webpack-ext-reloader-next.svg?color=blue" alt="npm version"></a> <a href="https://www.npmjs.com/package/webpack-ext-reloader-next"><img src="https://img.shields.io/npm/dm/webpack-ext-reloader-next.svg" alt="downloads"></a> <a href="https://github.com/graybearo/webpack-ext-reloader-next/actions/workflows/ci.yml"><img src="https://github.com/graybearo/webpack-ext-reloader-next/actions/workflows/ci.yml/badge.svg" alt="CI"></a> <a href="LICENSE"><img src="https://img.shields.io/npm/l/webpack-ext-reloader-next.svg" alt="MIT"></a> </p> <p align="center"> <img src="https://img.shields.io/badge/webpack_5-8DD6F9?logo=webpack&logoColor=000&style=for-the-badge" alt="webpack 5"> <img src="https://img.shields.io/badge/Manifest_V3-4285F4?logo=googlechrome&logoColor=white&style=for-the-badge" alt="Manifest V3"> <img src="https://img.shields.io/badge/TypeScript-3178C6?logo=typescript&logoColor=white&style=for-the-badge" alt="TypeScript"> <img src="https://img.shields.io/badge/Chrome-4285F4?logo=googlechrome&logoColor=white&style=for-the-badge" alt="Chrome"> <img src="https://img.shields.io/badge/Firefox-FF7139?logo=firefoxbrowser&logoColor=white&style=for-the-badge" alt="Firefox"> <img src="https://img.shields.io/badge/Edge-0078D7?logo=microsoftedge&logoColor=white&style=for-the-badge" alt="Edge"> </p> <p align="center"> <strong>Webpack 5 auto-reloader for browser extensions — Manifest V3, zero-config, with CSS hot-swap.</strong><br/> Edit a file → your Chrome / Firefox / Edge extension reloads. CSS edits swap in place without losing scroll or form state. </p> <p align="center"> <img src="assets/demo.gif" alt="webpack-ext-reloader-next in action — edit content script, see changes live" width="900" loading="lazy" /> </p> <p align="center"> <a href="#install">Install</a> · <a href="#quick-start">Quick start</a> · <a href="#what-it-does-on-each-kind-of-change">What changes do what</a> · <a href="#how-it-works">How it works</a> · <a href="#migrating-from-webpack-ext-reloader">Migrate</a> · <a href="#standalone-cli-no-webpack">CLI</a> · <a href="#options">Options</a> · <a href="#troubleshooting">Troubleshooting</a> · <a href="#faq">FAQ</a> </p>

Why this exists

The original webpack-ext-reloader is unmaintained and broken on Manifest V3 — its WebSocket dies the moment Chrome puts the service worker to sleep, and it doesn't reconnect. This package is the modern successor.

It picks a port, watches your build, and reloads the extension over a self-healing WebSocket that survives service-worker eviction. No configuration required for the common case.

Install

pnpm add -D webpack-ext-reloader-next
# or: npm i -D webpack-ext-reloader-next
# or: yarn add -D webpack-ext-reloader-next

Quick start

Drop one line into your webpack config. Pick the form that matches your setup:

CommonJS (webpack.config.js or .cjs):

const { ExtReloader } = require("webpack-ext-reloader-next");

module.exports = {
  mode: "development",
  // ...your config
  plugins: [new ExtReloader()],
};

ES Modules (webpack.config.mjs, or with "type": "module"):

import { ExtReloader } from "webpack-ext-reloader-next";

export default {
  mode: "development",
  // ...your config
  plugins: [new ExtReloader()],
};

TypeScript (webpack.config.ts):

import { ExtReloader, type ExtReloaderOptions } from "webpack-ext-reloader-next";
import type { Configuration } from "webpack";

const config: Configuration = {
  mode: "development",
  // ...your config
  plugins: [new ExtReloader()],
};

export default config;

The default export is also available if you prefer import ExtReloader from "webpack-ext-reloader-next".

That's it. The plugin reads your manifest.json, infers your background / content / popup entries, and starts a reload server on a free port starting at 9012. Run webpack --watch, load the unpacked build into Chrome, and edit a file — the extension reloads on its own.

The plugin is automatically a no-op when mode === "production".

Multiple content scripts or pages? Pass entries arrays — the inferred defaults assume one of each:

new ExtReloader({
  entries: {
    contentScript: ["gmail-content", "inbox-content"],
    extensionPage: ["popup", "options"],
  },
});

What it does on each kind of change

You editedWhat happens
manifest.jsonFull extension reload (chrome.runtime.reload)
_locales/**Full extension reload
Background service workerFull extension reload
Popup / options / devtools pageReload the open extension page only
Content script JSReload tabs matching the script's matches
Content script or page CSSHot-swap in place — no reload
Static asset (image, etc.)Nothing (just rebuild)

The CSS hot-swap is the one feature no other webpack extension reloader ships. Edit a stylesheet — whether it's import-ed from JS (cloned <link> with a cache-buster) or declared in manifest.json under content_scripts[].css (re-injected via chrome.scripting.insertCSS) — and your Gmail (or whatever) tab keeps its scroll position and form state.

How it works…

Description from the npm listing.

  • webpack
  • webpack-plugin
  • mv3
  • manifest-v3
  • webpack-ext-reloader
  • webpack-extension-reloader
  • chrome-extension
  • firefox-extension
  • edge-extension
  • web-extension
  • webextension
  • hot-reload
  • live-reload
  • reloader
  • browser-extension

README badge

Show your rank in a README or on your website. The badge updates automatically.

Charts

Images: 30d · 1y · all time · 1600×900 dark

Adoption over time

webpack-ext-reloader-next weekly downloads on npm, last 90 days: 13 weekly downloads as of Oct 18, 2026, -69.8% over 90 days.webpack-ext-reloader-nextWeekly downloads on npm · Last 90 days13downloads / week-69.8% over 90 days020406080100120140160Jul 20Aug 4Aug 19Sep 3Sep 18Oct 3Oct 18downloads / weekobservedarchived (Internet Archive)no observationsJul 23, 2026 – Oct 18, 2026 · 88 observations · Updated Oc…pluginstats.com
webpack-ext-reloader-next weekly downloads on npm, last 90 days: 13 weekly downloads as of Oct 18, 2026, -69.8% over 90 days.

7/30/90-day growth

webpack-ext-reloader-next weekly downloads growth on npm: -78.0% over 7 days, -78.0% over 30 days, -69.8% over 90 days.webpack-ext-reloader-nextWeekly downloads growth on npm13downloads / week now7-day growth-46 weekly downloads-78.0%30-day growth-46 weekly downloads-78.0%90-day growth-30 weekly downloads-69.8%Growth vs. nearest observation to each baseline date · Updated Oct 18, 2026pluginstats.com
webpack-ext-reloader-next weekly downloads growth on npm: -78.0% over 7 days, -78.0% over 30 days, -69.8% over 90 days.

Ranking history

webpack-ext-reloader-next npm ranking history: currently #2001 (by weekly downloads).webpack-ext-reloader-nextnpm ranking · by weekly downloads · Last 90 days#2001current rank#1880#1900#1920#1940#1960#1980#2000#2020Jul 22Aug 6Aug 21Sep 5Sep 20Oct 5Oct 20rankOct 18, 2026 – Oct 20, 2026 · 3 observations · Updated Oct 18, 2026pluginstats.com
webpack-ext-reloader-next npm ranking history: currently #2001 (by weekly downloads).

Listing placement

All npm2,320 listings · 116 pages · 1,161 shown · page 101, #5 (overall #2,005)
All npm: every listing in weekly downloads order

Listing placement

Webpack plugins251 listings · 13 pages · page 10, #19 (overall #199)
Webpack plugins: every listing in weekly downloads order

Filled points are observed values; hollow points come from Internet Archive snapshots of the listing page. Dashed segments span periods with no observations — values between points are not interpolated.

Each band is one page of 20. Weekly downloads on a linear scale. Placement is projected from weekly downloads, so it can differ from the marketplace's own sort order. Hover a dot to see the listing.

Recent observations

Full history (122)
Recent weekly downloads observations for webpack-ext-reloader-next
Date (UTC)Weekly downloadsChange vs. previous
130
130
13+1
12-10
22-29
510
51-8
59+1
58-1
59+2
57-16
73+26
47-16
63—

Similar npm Webpack plugins plugins

All 20 webpack-ext-reloader-next alternatives

Data source

Weekly downloads (trailing 7 complete days) come from the official npm downloads API. Downloads include CI and mirrors and are not equivalent to installs or users. npm publishes no ratings.

Listing: https://www.npmjs.com/package/webpack-ext-reloader-next. First seen Oct 16, 2026; last successful collection Oct 20, 2026. See the methodology.