Skip to content
PluginStats

@module-federation/vite weekly downloads statistics

By module-federation · npm · Vite plugins

Vite plugin for Module Federation

View on npm Fresh · Oct 17, 2026

@module-federation/vite has 566,994 recorded weekly downloads on npm, a decrease of 31.0% over the past 30 days.

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

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

PluginStats has 121 daily observations since Jun 19, 2026; the latest is from Oct 17, 2026.

Weekly downloads
566,994
Official API · Oct 17, 2026
7-day growth
-54.5%
-680.5K weekly downloads
30-day growth
-31.0%
-254.9K weekly downloads
90-day growth
-16.0%
-108K weekly downloads
Rank
#245
Among tracked npm listings

About @module-federation/vite

Vite plugin for Module Federation

Vite and VoidZero recommend this plugin

Read the announcement.

Become a sponsor

Support this project on GitHub Sponsors

Reason why 🤔

Microservices nowadays is a well-known concept and maybe you are using it in your current company. Do you know that now you can apply similar ideas on the Frontend? With Module Federation you can load separately compiled and deployed code into a unique application. This plugin makes Module Federation work together with Vite.

Working implementations

Examples live in gioboa/module-federation-vite-examples:

| Example | Host | Remote | Framework |

| Alpine | alpine-host | alpine-remote | Alpine.js | | Angular | angular-host | angular-remote | Angular | | Astro | astro-host | astro-remote | Astro 7 | | Ember | ember-host | ember-remote | Ember 7 | | Lit | lit-host | lit-remote | Lit | | Nuxt | nuxt-host | nuxt-remote | Nuxt 4 | | Nx | host | remote | React + Nx | | Preact | preact-host | preact-remote | Preact 10 | | React | react-host | react-remote | React 19 | | Solid | solid-host | solid-remote | Solid | | Svelte | svelte-host | svelte-remote | Svelte 5 | | TanStack | tanstack-host | tanstack-remote | TanStack Router + React 19 | | Turborepo | host | remote | React + Turborepo | | Vinext | vinext-host | vinext-remote | Vinext + Next 16 + React 19 | | Vue | vue-host | vue-remote | Vue 3 |

Try this crazy example with all these bundlers together

Getting started 🚀

https://module-federation.io/integrations/build-tool/vite

With @module-federation/vite, the process becomes delightfully simple, you will only find the differences from a normal Vite configuration.

This example is with Vue.js The @module-federation/vite configuration remains the same for different frameworks.

Migrating from OriginJS

Migrating from @originjs/vite-plugin-federation requires an explicit remote-entry format and runtime review, particularly for dynamic remotes, shared dependencies, and mixed bundlers. See the OriginJS migration guide for step-by-step migration and incremental deployment guidance.

Dedicated configuration file

You can keep Module Federation options in module-federation.config.ts.

The Remote Application configuration

file: remote/vite.config.ts

In this remote app configuration, we define a remoteEntry.js file that will expose the App component. The shared property ensures that both host and remote applications use the same vue library.

Host-only shared dependencies

Use import: false when a dependency must be provided by the host and should not be bundled as a local fallback. If it is intentionally not installed locally, the named-export detection warning can be suppressed:

suppressMissingImportWarning defaults to false. Enable it only when the host is guaranteed to provide the dependency and local named-export detection is unnecessary.

In a production build, a host-only dependency that the exposed modules reach only through a dynamic import() is not fetched while the remote initializes. It is loaded from the host's provider when that import() runs, before the imported chunk evaluates. A dependency imported statically by an exposed module, or configured with eager: true, is still loaded during initialization.

Shared dependencies installed in several places

An absolute import that resolves inside a different node_modules directory than the one the share itself resolves to, for example a workspace package with its own nested copy, is not treated as the shared module by default. Set allowNodeModulesSuffixMatch: true on the share to match it by the path after node_modules/, as webpack and rspack do with the same option:

The Host Application configuration

file host/vite.config.ts

The host app configuration specifies its name, the filename of its exposed remote entry remoteEntry.js, and importantly, the configuration of the remote application to load. Object remotes that omit type retain the legacy "var" default and emit a warning. Use type: "module" for Vite ESM remotes. Use type: "var" explicitly only for global-format remotes, such as Webpack/Rspack remotes or a Vite remote's varFilename output. You can specify the place the host initialization file is injected with the hostInitInjectLocation option, which is described in the example code above. The moduleParseTimeout option allows you to configure the maximum time to wait for module parsing during the build process. The moduleParseIdleTimeout option is an alternative that resets the timer on every parsed module. It only fires when there has been no module activity for the configured duration, making it suitable for large codebases where the total build time exceeds the fixed timeout.

SSR entry loading strategy

SSR hosts can choose how HTTP ESM remote entries are evaluated during build and preview:

• "temp-file" (default) fetches the remote graph, rewrites imports to host-resolved shared packages, writes temporary files, and loads them with import(). • "vm" evaluates the graph in memory with vm.SourceTextModule and resolves shared packages through the Module Federation share scope.

The "vm" strategy requires Node.js to run with --experimental-vm-modules. When unavailable, the loader warns once and falls back to "temp-file". Vite 8 development uses ModuleRunner; this option primarily affects build and preview SSR entry loading.

ssrEntryLoader also accepts network and cache options:

With maxAgeMs, a remote redeployed at the same URL is picked up once its manifest version changes. Only manifest-resolved entries can be revalidated.…

Description from the npm listing.

  • vite
  • vite-plugin
  • module federation
  • microfrontend

Where @module-federation/vite sits in the listing

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.

All npm2,256 listings · 113 pages · page 13, #5 (overall #245)
All npm: every listing in weekly downloads order
PNG SVG
Vite plugins250 listings · 13 pages · page 2, #5 (overall #25)
Vite plugins: every listing in weekly downloads order
PNG SVG

Charts

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

Adoption over time

@module-federation/vite weekly downloads on npm, last 90 days: 566,994 weekly downloads as of Oct 17, 2026, -16.0% over 90 days.@module-federation/viteWeekly downloads on npm · Last 90 days566,994downloads / week-16.0% over 90 days0200K400K600K800K1M1.2M1.4M1.6MJul 19Aug 3Aug 18Sep 2Sep 17Oct 2Oct 17downloads / weekobservedarchived (Internet Archive)no observationsJul 21, 2026 – Oct 17, 2026 · 89 observations · Updated Oc…pluginstats.com
@module-federation/vite weekly downloads on npm, last 90 days: 566,994 weekly downloads as of Oct 17, 2026, -16.0% over 90 days.
PNG SVG

7/30/90-day growth

@module-federation/vite weekly downloads growth on npm: -54.5% over 7 days, -31.0% over 30 days, -16.0% over 90 days.@module-federation/viteWeekly downloads growth on npm566,994downloads / week now7-day growth-680,450 weekly downloads-54.5%30-day growth-254,949 weekly downloads-31.0%90-day growth-108,030 weekly downloads-16.0%Growth vs. nearest observation to each baseline date · Updated Oct 17, 2026pluginstats.com
@module-federation/vite weekly downloads growth on npm: -54.5% over 7 days, -31.0% over 30 days, -16.0% over 90 days.
PNG SVG

Ranking history

@module-federation/vite npm ranking history: currently #245 (by weekly downloads).@module-federation/vitenpm ranking · by weekly downloads · Last 90 days#245current rank#243#244#245#246#247Jul 21Aug 5Aug 20Sep 4Sep 19Oct 4Oct 19rankOct 18, 2026 – Oct 19, 2026 · 2 observations · Updated Oct 17, 2026pluginstats.com
@module-federation/vite npm ranking history: currently #245 (by weekly downloads).
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.

Recent observations

Full history (121)
Recent weekly downloads observations for @module-federation/vite
Date (UTC)Weekly downloadsChange vs. previous
566,994-86.3K
653,323+14.8K
638,558-259K
897,588-259K
1,156,6120
1,156,612-17.6K
1,174,177-73.3K
1,247,444+4.3K
1,243,163+23.9K
1,219,257-9.1K
1,228,404+21K
1,207,437-242.4K
1,449,868+19.1K
1,430,768—

Similar npm Vite plugins plugins

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/@module-federation/vite. First seen Oct 16, 2026; last successful collection Oct 19, 2026. See the methodology.