vite-plugin-circular-dependency weekly downloads statistics
By threedayAAAAA · npm · Vite plugins
Detect circular dependencies
vite-plugin-circular-dependency has 37,631 recorded weekly downloads on npm, a decrease of 46.8% over the past 30 days, ranking #647 of 2,391 tracked listings.
About vite-plugin-circular-dependency
vite-plugin-circular-dependency
English | 中文
A framework-agnostic build-time Vite plugin designed to detect circular imports and self-references, compatible with dynamic and static imports.
DEMO
// Configure the output path,
// a scan report will be generated to the specified path
export default defineConfig({
plugins: [
circleDependency({
outputFilePath: "./circleDep",
}),
],
});

// Without any configuration, it will be printed on the console
export default defineConfig({
plugins: [circleDependency()],
});

Installation
npm i -D vite-plugin-circular-dependency
// yarn add --dev vite-plugin-circular-dependency
// pnpm i --dev vite-plugin-circular-dependency
Usage
Please use this plugin when building
In your vite.config.(js|ts) import the plugin and register it.
import { defineConfig } from "vite";
import circleDependency from "vite-plugin-circular-dependency";
export default defineConfig({
plugins: [circleDependency()],
});
Options
export interface Options {
/**
* Rules to include transforming target.
*
* @default [/\.[jt]sx?$/, /\.vue\??/]
*/
include?: FilterPattern;
/**
* Rules to exclude scan target.
*
* @default [/node_modules/, /\.git/]
*/
exclude?: FilterPattern;
/**
* The file address of the scan result output, the default console print
*/
outputFilePath?: string;
// If configured, will output the products of circular references as an interactive HTML application to the specified address
outputInteractiveFilePath?: string;
/**
* Whether to throw an error when a circular import exists
*
* @default true
*/
circleImportThrowErr?: boolean;
/**
* Format the path of the output node.
* By default, vite.config will be used as the root path to generate a relative path
*
* @default function
*/
formatOutModulePath?: (path: string) => string;
/**
* The result of formatted output
* will also affect the data format in the console print or output file
*
* @default (data: CircleData) => data
*/
formatOut?: (data: CircleData) => any;
/**
* Whether to ignore dynamic imports during the scan.
*
* @default false
*
* If the file has the @circular-ignore tag, the module will also be ignored for circular dependency scanning.
* Example:
* // @circular-ignore
* import { example } from './exampleModule';
*/
ignoreDynamicImport?: boolean;
}
Description from the npm listing.
- vite-plugin
- vite plugin
- vite
- dependencies
- circular-dependencies
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 Vite plugins plugins
All 20 vite-plugin-circular-dependency 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/vite-plugin-circular-dependency. First seen Oct 16, 2026; last successful collection Oct 21, 2026. See the methodology.