Skip to content
PluginStats

webpack-inline-manifest-plugin weekly downloads statistics

By almothafar · npm · Webpack plugins

Inline the webpack runtime/manifest chunk with a <script> tag to save an HTTP request.

View on npm Fresh · Oct 17, 2026

webpack-inline-manifest-plugin has 1,888 recorded weekly downloads on npm, a decrease of 68.4% over the past 30 days.

It ranks #1296 of 2,256 tracked npm listings by weekly downloads.

Over 90 days, weekly downloads changed by -73.9%.

PluginStats has 543 daily observations since Apr 23, 2025; the latest is from Oct 17, 2026.

Weekly downloads
1,888
Official API · Oct 17, 2026
7-day growth
-44.6%
-1.5K weekly downloads
30-day growth
-68.4%
-4.1K weekly downloads
90-day growth
-73.9%
-5.3K weekly downloads
Rank
#1296
Among tracked npm listings

About webpack-inline-manifest-plugin

Webpack Inline Manifest Plugin

A webpack plugin that inlines the runtime/manifest chunk with a tag, saving one render-blocking HTTP request.

webpack's runtime is small but changes on almost every build. The common pattern is to split it into its own chunk (optimization.runtimeChunk) so the rest of your bundles stay long-term cacheable — but then that tiny chunk costs a separate request. This plugin embeds it directly into the HTML produced by html-webpack-plugin so you get the caching benefit without the extra request.

Requirements

| webpack-inline-manifest-plugin | webpack | html-webpack-plugin | Node.js |

| 5.x (this version) | 5 | 5 | >= 10.13 | | 4.x | 4 | 3 | >= 8 |

For webpack 4 / html-webpack-plugin 3, stay on v4.0.2.

Installation

webpack and html-webpack-plugin are peer dependencies — you almost certainly already have them. The plugin itself has no runtime dependencies.

Usage

Step 1 — split out the runtime chunk

Using runtimeChunk: 'single' instead? That names the chunk runtime, so set the plugin's name option to 'runtime'.

Step 2 & 3 — add the plugins

Add WebpackInlineManifestPlugin after HtmlWebpackPlugin:

That's it. With html-webpack-plugin's default inject: true, the plugin finds the external tag and replaces it inline, in place — so load order is preserved and nothing else in your template needs to change.

Manual placement (template mode)

If you render your own template with inject: false, the inline is exposed as htmlWebpackPlugin.files[name] so you can place it wherever you like:

Options

| Option | Type | Default | Description |

| name | string | 'webpackManifest' | The runtime chunk to inline. Must match your optimization.runtimeChunk name. Also the key used for htmlWebpackPlugin.files[name] in template mode. Cannot be "manifest" (reserved by html-webpack-plugin for the HTML5 appcache manifest). |

How it works

• inject: true (default): taps html-webpack-plugin's alterAssetTagGroups hook and swaps the runtime's tag for an inline containing its code. nonce / type attributes are preserved (handy for CSP), while src / defer / async are dropped. • inject: false: taps beforeAssetTagGeneration, removes the runtime from the external asset list, and exposes the inline markup as htmlWebpackPlugin.files[name]. • A trailing //# sourceMappingURL= comment is stripped from the inlined code, and the asset source is normalised with .toString() so it works for production builds where webpack emits a Buffer (RawSource) instead of a string.

The runtime chunk file is still emitted to your output directory (unreferenced); leaving it in place avoids breaking external references and service-worker precaches.

Alternatives

This optimization matters less than it did under HTTP/1.1 (HTTP/2+ multiplexes small requests cheaply), and inline scripts require 'unsafe-inline' or a nonce/hash under a strict Content-Security-Policy. If this plugin's runtime-specific, zero-config approach (and its template-variable mode) isn't what you need, these maintained, general-purpose options inline scripts on webpack 5 too:

• html-inline-script-webpack-plugin — inline any script by filename, e.g. scriptMatchPattern: [/runtime.*\.js$/]. • InlineChunkHtmlPlugin from react-dev-utils (used by the now-deprecated Create React App) — same alterAssetTagGroups technique.

Migration from v4

• Requires webpack 5 + html-webpack-plugin 5. This is the fix for the Cannot read property 'tapAsync' of undefined crash on html-webpack-plugin v4+ (#27, #23). • Automatic injection now works with inject: true. In v4 you had to use a template variable; now the runtime is inlined for you. The htmlWebpackPlugin.files[name] variable still works with inject: false. • The chunk lookup now honors name. v4 hard-coded a lookup for a chunk literally named manifest; v5 finds the chunk named by your name option. Make sure name matches your optimization.runtimeChunk name. • TypeScript types are bundled (index.d.ts).

License

MIT

Description from the npm listing.

  • webpack
  • webpack-plugin
  • webpack5
  • plugin
  • manifest
  • runtime
  • runtimeChunk
  • inline
  • html-webpack-plugin
  • webpack-inline-manifest-plugin

Charts

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

Adoption over time

webpack-inline-manifest-plugin weekly downloads on npm, last 90 days: 1,888 weekly downloads as of Oct 17, 2026, -73.9% over 90 days.webpack-inline-manifest-pluginWeekly downloads on npm · Last 90 days1,888downloads / week-73.9% over 90 days02K4K6K8KJul 19Aug 3Aug 18Sep 2Sep 17Oct 2Oct 17downloads / weekobservedarchived (Internet Archive)no observationsJul 21, 2026 – Oct 17, 2026 · 89 observations · Updated Oc…pluginstats.com
webpack-inline-manifest-plugin weekly downloads on npm, last 90 days: 1,888 weekly downloads as of Oct 17, 2026, -73.9% over 90 days.
PNG SVG

7/30/90-day growth

webpack-inline-manifest-plugin weekly downloads growth on npm: -44.6% over 7 days, -68.4% over 30 days, -73.9% over 90 days.webpack-inline-manifest-pluginWeekly downloads growth on npm1,888downloads / week now7-day growth-1,522 weekly downloads-44.6%30-day growth-4,090 weekly downloads-68.4%90-day growth-5,340 weekly downloads-73.9%Growth vs. nearest observation to each baseline date · Updated Oct 17, 2026pluginstats.com
webpack-inline-manifest-plugin weekly downloads growth on npm: -44.6% over 7 days, -68.4% over 30 days, -73.9% over 90 days.
PNG SVG

Ranking history

webpack-inline-manifest-plugin npm ranking history: currently #1296 (by weekly downloads).webpack-inline-manifest-pluginnpm ranking · by weekly downloads · Last 90 days#1296current rank#400#600#800#1000#1200#1400Jul 21Aug 5Aug 20Sep 4Sep 19Oct 4Oct 19rankOct 17, 2026 – Oct 19, 2026 · 3 observations · Updated Oct 17, 2026pluginstats.com
webpack-inline-manifest-plugin npm ranking history: currently #1296 (by weekly downloads).
PNG SVG

Listing placement

All npm2,256 listings · 113 pages · 1,129 shown · page 65, #17 (overall #1,297)
All npm: every listing in weekly downloads order
PNG SVG

Listing placement

Webpack plugins247 listings · 13 pages · page 3, #2 (overall #42)
Webpack plugins: every listing in weekly downloads order
PNG SVG

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 log 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 (543)
Recent weekly downloads observations for webpack-inline-manifest-plugin
Date (UTC)Weekly downloadsChange vs. previous
1,888-224
2,112-97
2,209-664
2,873-813
3,6860
3,686+164
3,522+112
3,410+150
3,260-47
3,307+36
3,271-206
3,477-737
4,214-106
4,320—

Similar npm Webpack plugins plugins

All 20 webpack-inline-manifest-plugin 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-inline-manifest-plugin. First seen Oct 16, 2026; last successful collection Oct 19, 2026. See the methodology.