@path-ioc/unplugin weekly downloads statistics
By path-ioc · npm · Webpack plugins
Universal dev plugin for Path-IoC generating virtual modular container and TypeScript typings
@path-ioc/unplugin has 12 recorded weekly downloads on npm, a change of -72.1% over the past 7 days, ranking #2015 of 2,322 tracked listings.
About @path-ioc/unplugin
💡 Architectural Positioning: Compiler-Runtime Co-design
@path-ioc/unpluginis not a mere convenience helper; it is the compiler-side twin intimately coupled with@path-ioc/core, forming the bedrock of Path-IoC's Compiler-Runtime Co-design philosophy.
In modern TypeScript development, relying on runtime reflection (reflect-metadata) causes bundling failures, cold-start latency, and lack of true static type awareness.@path-ioc/unpluginshifts module scanning, DAG topological caching, and type synthesis to the build phase, enabling sub-millisecond hot-reloading and 21.2 µs per-request container ignition for the@path-ioc/coreruntime.
📖 For module authoring specifications, pure function factories, and end-to-end guides, see:@path-ioc/coreOfficial Guide or visit the official documentation at https://path-ioc.dev/.
Live Demo & Instant Ignition (Live Demo Video)
<div align="center"> <a href="https://path-ioc.dev" target="_blank" rel="noopener noreferrer"> <img src="https://cdn.path-ioc.dev/path-ioc/demo-en.webp" alt="Path-IoC Live Demo & Architecture Tour" width="100%"> </a> <p> <em>⚡ <b>Live Architecture Tour</b>: Real-time Coding, Topological Orchestration & Instant Ignition</em><br> <a href="https://path-ioc.dev"><b>🌐 Watch Video on path-ioc.dev</b></a> | <a href="https://cdn.path-ioc.dev/path-ioc/demo-en.mp4"><b>▶ Direct MP4 (1080p HD)</b></a> </p> </div>Key Pillars of Compiler-Runtime Co-design
1. Single-Graph Compile Cache Closure (compiledGraph)
Inside the generated virtual:modular-container, @path-ioc/unplugin maintains a module-level closure that holds the pre-compiled compiledGraph:
- One-Time Cold Boot: The entire application's dependency DAG is parsed, validated, and sorted once at process startup (500 nodes compile in just 1.72 ms);
- Ultra-Fast Request Ignition: Every invocation of
createModularContainer()reuses the cached immutable graph, hydrating an isolated container in just 21.2 microseconds (µs); - Zero Runtime DAG Recomputation: In high-concurrency environments (Cloudflare Workers, Hono, Node.js), incoming HTTP requests suffer zero latency penalty from graph reconstruction.
2. Microsecond AST Real-Time Type Synthesis (0.04 ms)
During development and Hot Module Replacement (HMR), the plugin's background AST scanner detects file changes and generates types/ignore.modular.d.ts in 0.04 milliseconds:
- Augments the global
ModularContainerinterface with zero manual boilerplate; - Developers write
const { db, logger } = container;and instantly enjoy 100% accurate IDE auto-completion and type checking; - Safely manages ephemeral declaration files with automatic
.gitignoreself-healing.
3. Clear Host Ignition Boundary
Traditional frameworks force business code to adapt to proprietary application classes and controller decorators. With @path-ioc/unplugin, the host only ignites the container:
import { createModularContainer } from "virtual:modular-container";
// One-line host ignition (Hono, Express, Koa, Workers, Next.js API, CLI)
const container = await createModularContainer();
Business modules circulate 100% autonomously within the mesh, completely decoupled from the host environment.
Universal Bundler Integration
1. Installation
pnpm add -D @path-ioc/unplugin
pnpm add @path-ioc/core
2. Bundler Configuration Quick Reference
Vite (vite.config.ts)
import { defineConfig } from "vite";
import { vitePlugin as pathIoc } from "@path-ioc/unplugin";
export default defineConfig({
plugins: [pathIoc()],
});
Rolldown (rolldown.config.ts)
import { defineConfig } from "rolldown";
import { rolldownPlugin as pathIoc } from "@path-ioc/unplugin";
export default defineConfig({
plugins: [pathIoc()],
});
Rspack (rspack.config.js)
const { rspackPlugin: pathIoc } = require("@path-ioc/unplugin");
module.exports = {
plugins: [pathIoc()],
};
Webpack 5 (webpack.config.js)
const { webpackPlugin: pathIoc } = require("@path-ioc/unplugin");
module.exports = {
plugins: [pathIoc()],
};
Rollup (rollup.config.js) & Esbuild
// Rollup
import { rollupPlugin as pathIoc } from "@path-ioc/unplugin";…
Description from the npm listing.
- unplugin
- vite-plugin
- webpack-plugin
- rspack-plugin
- rollup-plugin
- ioc
- dependency-injection
- code-generation
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
7/30/90-day growth
Ranking history
Listing placement
Listing placement
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)Similar npm Webpack plugins plugins
All 20 @path-ioc/unplugin alternativesData 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/@path-ioc/unplugin. First seen Oct 16, 2026; last successful collection Oct 20, 2026. See the methodology.