{"_id":"@cicctencent/vite-plugin-circular-dependency","_rev":"6-e4513bcae40a87d262788d93243469d7","name":"@cicctencent/vite-plugin-circular-dependency","dist-tags":{"latest":"1.0.6"},"versions":{"1.0.0":{"name":"@cicctencent/vite-plugin-circular-dependency","version":"1.0.0","keywords":[],"author":"","license":"ISC","_id":"@cicctencent/vite-plugin-circular-dependency@1.0.0","maintainers":[{"name":"kericw","email":"silentkek@gmail.com"},{"name":"svenouyang","email":"568343053@qq.com"}],"dist":{"shasum":"eefb72b60a9a514b06ab848470c17c7759c7f4df","tarball":"https://registry.npmjs.org/@cicctencent/vite-plugin-circular-dependency/-/vite-plugin-circular-dependency-1.0.0.tgz","fileCount":57,"integrity":"sha512-q0RILCmFEWYlRzdOtjdSaPV6o70bgS4taHqHthXdQFLVo9R6JQobiWfqAf2OwRFYRzrbHLG4BF3QO7tHNnRceA==","signatures":[{"sig":"MEQCICCTNB40VhUSGiNslDGdzb03BEDRbvzNS1jrLu7TAv7vAiB4ighqJpTXjXxxWNE0MoIFLIYEzhokgfQ45sf21T/p+A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":39045},"main":"index.js","_from":"file:cicctencent-vite-plugin-circular-dependency-1.0.0.tgz","scripts":{"build":"pnpm --dir packages/plugin build"},"_npmUser":{"name":"kericw","email":"silentkek@gmail.com"},"_resolved":"/private/var/folders/j8/69l35lbd1kx0fjtr282_pq180000gn/T/4a2dc3b021805f52d737da8bfb3e629c/cicctencent-vite-plugin-circular-dependency-1.0.0.tgz","_integrity":"sha512-q0RILCmFEWYlRzdOtjdSaPV6o70bgS4taHqHthXdQFLVo9R6JQobiWfqAf2OwRFYRzrbHLG4BF3QO7tHNnRceA==","_npmVersion":"10.8.2","description":"A build-time vite plugin that can check circular imports, self-introductions, is compatible with dynamic imports or static imports, and has nothing to do with the front-end framework","directories":{},"_nodeVersion":"20.19.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/vite-plugin-circular-dependency_1.0.0_1761663953977_0.5464171672623663","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@cicctencent/vite-plugin-circular-dependency","version":"1.0.1","keywords":[],"author":"","license":"ISC","_id":"@cicctencent/vite-plugin-circular-dependency@1.0.1","maintainers":[{"name":"kericw","email":"silentkek@gmail.com"},{"name":"svenouyang","email":"568343053@qq.com"}],"dist":{"shasum":"01b6110b2681ae91652133ed39561ad12ff7990b","tarball":"https://registry.npmjs.org/@cicctencent/vite-plugin-circular-dependency/-/vite-plugin-circular-dependency-1.0.1.tgz","fileCount":57,"integrity":"sha512-8GVVIeG6xcmbDWV0Ov+BXX1anSNROCkruFg18oeqeAuZ50gvWewdJscIAA8nIKVek4C8Y/sBx+RMcJR6e0mGHQ==","signatures":[{"sig":"MEQCIHN1Ywt0VjYlnyHBVWVulP6yXPoa2KuhokjMGF0CRqjvAiAe+ktnYuOliv22cUpwcJv6KoVQZwPMmsJDUelBb3kYAw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":39045},"main":"index.js","_from":"file:cicctencent-vite-plugin-circular-dependency-1.0.1.tgz","scripts":{"build":"pnpm --dir packages/plugin build"},"_npmUser":{"name":"kericw","email":"silentkek@gmail.com"},"_resolved":"/private/var/folders/j8/69l35lbd1kx0fjtr282_pq180000gn/T/50b5dd033355d4f7397c572030edb5b9/cicctencent-vite-plugin-circular-dependency-1.0.1.tgz","_integrity":"sha512-8GVVIeG6xcmbDWV0Ov+BXX1anSNROCkruFg18oeqeAuZ50gvWewdJscIAA8nIKVek4C8Y/sBx+RMcJR6e0mGHQ==","_npmVersion":"10.8.2","description":"A build-time vite plugin that can check circular imports, self-introductions, is compatible with dynamic imports or static imports, and has nothing to do with the front-end framework","directories":{},"_nodeVersion":"20.19.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/vite-plugin-circular-dependency_1.0.1_1761664150664_0.7451115784975799","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@cicctencent/vite-plugin-circular-dependency","version":"1.0.2","keywords":[],"author":"","license":"ISC","_id":"@cicctencent/vite-plugin-circular-dependency@1.0.2","maintainers":[{"name":"kericw","email":"silentkek@gmail.com"},{"name":"svenouyang","email":"568343053@qq.com"}],"dist":{"shasum":"9e99f393482589d0a3cfddb20ad6c1777020440c","tarball":"https://registry.npmjs.org/@cicctencent/vite-plugin-circular-dependency/-/vite-plugin-circular-dependency-1.0.2.tgz","fileCount":57,"integrity":"sha512-jmzcvRn1JnV8/BXJFmhdtHO35sZnyQxhfAFH5MnGWre9bl+E37TarFFdhmGEuySOXMKfDE6m1C0+nDGf1dGX2Q==","signatures":[{"sig":"MEQCIEgtimjepkbn1PlNZ0uIo9+UM8SeFsyF1NTvVf07w0HvAiA8PSANiApWnI1og0XjfflNKojAS8ixHi3ANUtvRtpXew==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":39250},"main":"index.js","type":"module","_from":"file:cicctencent-vite-plugin-circular-dependency-1.0.2.tgz","types":"./dist/src/index.d.ts","exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"}},"scripts":{"build":"pnpm --dir packages/plugin build"},"_npmUser":{"name":"kericw","email":"silentkek@gmail.com"},"_resolved":"/private/var/folders/j8/69l35lbd1kx0fjtr282_pq180000gn/T/dad048e25a22878f07f2f591e8c6a472/cicctencent-vite-plugin-circular-dependency-1.0.2.tgz","_integrity":"sha512-jmzcvRn1JnV8/BXJFmhdtHO35sZnyQxhfAFH5MnGWre9bl+E37TarFFdhmGEuySOXMKfDE6m1C0+nDGf1dGX2Q==","_npmVersion":"10.8.2","description":"A build-time vite plugin that can check circular imports, self-introductions, is compatible with dynamic imports or static imports, and has nothing to do with the front-end framework","directories":{},"_nodeVersion":"20.19.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/vite-plugin-circular-dependency_1.0.2_1761664345184_0.4068618529408179","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@cicctencent/vite-plugin-circular-dependency","version":"1.0.3","keywords":["vite-plugin","vite plugin","vite","dependencies","circular-dependencies"],"author":{"name":"threedayAAAAA"},"license":"MIT","_id":"@cicctencent/vite-plugin-circular-dependency@1.0.3","maintainers":[{"name":"kericw","email":"silentkek@gmail.com"},{"name":"svenouyang","email":"568343053@qq.com"}],"homepage":"https://github.com/threedayAAAAA/vite-plugin-circular-dependency#readme","bugs":{"url":"https://github.com/threedayAAAAA/vite-plugin-circular-dependency/issues"},"dist":{"shasum":"be9561ba624aaab950e36e5ba248092823de8c44","tarball":"https://registry.npmjs.org/@cicctencent/vite-plugin-circular-dependency/-/vite-plugin-circular-dependency-1.0.3.tgz","fileCount":17,"integrity":"sha512-MIOr2qPd8GIDkRZTzi2OJrx+57g1yOumyLKzZc8mI9vURxvcemVVfqfiPbzOyDTik3jRxAGeSCHW7G4mW6rDaw==","signatures":[{"sig":"MEYCIQD+ZWN8FTUvNL0vQe201QF2L2UrmbOWgRjFWl9rPVdbCAIhAKI+xH1grPJy0+XtJAZO16s6x4/M9KG4XPliNwi4sNNm","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":27356},"type":"module","_from":"file:cicctencent-vite-plugin-circular-dependency-1.0.3.tgz","types":"./dist/src/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"}},"scripts":{"build":"rollup --config rollup.config.ts --configPlugin typescript"},"_npmUser":{"name":"kericw","email":"silentkek@gmail.com"},"_resolved":"/private/var/folders/j8/69l35lbd1kx0fjtr282_pq180000gn/T/4ae0c10cc66afd529a2a93974215a861/cicctencent-vite-plugin-circular-dependency-1.0.3.tgz","_integrity":"sha512-MIOr2qPd8GIDkRZTzi2OJrx+57g1yOumyLKzZc8mI9vURxvcemVVfqfiPbzOyDTik3jRxAGeSCHW7G4mW6rDaw==","repository":{"url":"git+https://github.com/threedayAAAAA/vite-plugin-circular-dependency.git","type":"git","directory":"packages/plugin"},"_npmVersion":"10.8.2","description":"Detect circular dependencies","directories":{},"_nodeVersion":"20.19.0","dependencies":{"chalk":"^4.1.2","@rollup/pluginutils":"^5.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^4.0.0","tslib":"2.4.1","rollup":"^3.10.0","typescript":"^4.9.4","@types/node":"^16.11.18","rollup-plugin-html":"^0.2.1","@rollup/plugin-terser":"^0.4.4","@rollup/plugin-typescript":"^11.0.0","rollup-plugin-typescript2":"^0.34.1"},"_npmOperationalInternal":{"tmp":"tmp/vite-plugin-circular-dependency_1.0.3_1761664589471_0.954565482091438","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@cicctencent/vite-plugin-circular-dependency","version":"1.0.4","keywords":["vite-plugin","vite plugin","vite","dependencies","circular-dependencies"],"author":{"name":"threedayAAAAA"},"license":"MIT","_id":"@cicctencent/vite-plugin-circular-dependency@1.0.4","maintainers":[{"name":"kericw","email":"silentkek@gmail.com"},{"name":"svenouyang","email":"568343053@qq.com"}],"homepage":"https://github.com/threedayAAAAA/vite-plugin-circular-dependency#readme","bugs":{"url":"https://github.com/threedayAAAAA/vite-plugin-circular-dependency/issues"},"dist":{"shasum":"ea7bce60d58b9f3a34676f1d363e3794668d9c6d","tarball":"https://registry.npmjs.org/@cicctencent/vite-plugin-circular-dependency/-/vite-plugin-circular-dependency-1.0.4.tgz","fileCount":17,"integrity":"sha512-10rhlRFQ/hJyH0yEaGztAxHgNemzL2TFOal2YTKXmQtQl/f7nkFwYK5xTfspekevSTEo0I0ECb3hJqCYe9KpGg==","signatures":[{"sig":"MEYCIQChLV2K7beDTIPf1wSxUG4l1MOjx3Ii1my8He5ugPrxkQIhALogzK3I1pNaDZjHjJW8Yey4nDrOxVKC1BP5xqHQlpJJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":27356},"type":"module","_from":"file:cicctencent-vite-plugin-circular-dependency-1.0.4.tgz","types":"./dist/src/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"}},"scripts":{"build":"rollup --config rollup.config.ts --configPlugin typescript"},"_npmUser":{"name":"kericw","email":"silentkek@gmail.com"},"_resolved":"/private/var/folders/j8/69l35lbd1kx0fjtr282_pq180000gn/T/4e029a93a14f061b9ce4f73c468a5217/cicctencent-vite-plugin-circular-dependency-1.0.4.tgz","_integrity":"sha512-10rhlRFQ/hJyH0yEaGztAxHgNemzL2TFOal2YTKXmQtQl/f7nkFwYK5xTfspekevSTEo0I0ECb3hJqCYe9KpGg==","repository":{"url":"git+https://github.com/threedayAAAAA/vite-plugin-circular-dependency.git","type":"git","directory":"packages/plugin"},"_npmVersion":"10.8.2","description":"Detect circular dependencies","directories":{},"_nodeVersion":"20.19.0","dependencies":{"chalk":"^4.1.2","@rollup/pluginutils":"^5.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^4.0.0","tslib":"2.4.1","rollup":"^3.10.0","typescript":"^4.9.4","@types/node":"^16.11.18","rollup-plugin-html":"^0.2.1","@rollup/plugin-terser":"^0.4.4","@rollup/plugin-typescript":"^11.0.0","rollup-plugin-typescript2":"^0.34.1"},"_npmOperationalInternal":{"tmp":"tmp/vite-plugin-circular-dependency_1.0.4_1761664696267_0.21522584849804915","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"@cicctencent/vite-plugin-circular-dependency","version":"1.0.6","description":"Detect circular dependencies","module":"./dist/index.mjs","publishConfig":{"access":"public"},"type":"module","types":"./dist/src/index.d.ts","exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"}},"keywords":["vite-plugin","vite plugin","vite","dependencies","circular-dependencies"],"repository":{"type":"git","url":"git+https://github.com/threedayAAAAA/vite-plugin-circular-dependency.git","directory":"packages/plugin"},"bugs":{"url":"https://github.com/threedayAAAAA/vite-plugin-circular-dependency/issues"},"homepage":"https://github.com/threedayAAAAA/vite-plugin-circular-dependency#readme","author":{"name":"threedayAAAAA"},"license":"MIT","dependencies":{"@rollup/pluginutils":"^5.1.0","chalk":"^4.1.2"},"devDependencies":{"@rollup/plugin-typescript":"^11.0.0","@types/node":"^16.11.18","rollup":"^3.10.0","rollup-plugin-html":"^0.2.1","@rollup/plugin-terser":"^0.4.4","rollup-plugin-typescript2":"^0.34.1","tslib":"2.4.1","typescript":"^4.9.4","vite":"^4.0.0"},"scripts":{"build":"rollup --config rollup.config.ts --configPlugin typescript"},"_id":"@cicctencent/vite-plugin-circular-dependency@1.0.6","_integrity":"sha512-pxUOgsCfqgdBBF4Zrkq0nrGlfxujW8Sg5sYoB+pNkmO5DqqEvSMrOo3u/SchqAE3gl3EE5ioJAQeWwLoFqZd8g==","_resolved":"/private/var/folders/j8/69l35lbd1kx0fjtr282_pq180000gn/T/57eb52f29e9352e67be66f44dbec4a48/cicctencent-vite-plugin-circular-dependency-1.0.6.tgz","_from":"file:cicctencent-vite-plugin-circular-dependency-1.0.6.tgz","_nodeVersion":"20.19.0","_npmVersion":"10.8.2","dist":{"integrity":"sha512-pxUOgsCfqgdBBF4Zrkq0nrGlfxujW8Sg5sYoB+pNkmO5DqqEvSMrOo3u/SchqAE3gl3EE5ioJAQeWwLoFqZd8g==","shasum":"4336cb37ee8940b0131f475fe12637242101e0d7","tarball":"https://registry.npmjs.org/@cicctencent/vite-plugin-circular-dependency/-/vite-plugin-circular-dependency-1.0.6.tgz","fileCount":18,"unpackedSize":28019,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDDnPzZpRfzrk3R9aAGGA5NPMk/zhJnFEBs8asY6Qz1XAIgQuQitxeFt9HhwfD0MrSOrJs4GMShgVLUQozaRL705PE="}]},"_npmUser":{"name":"kericw","email":"silentkek@gmail.com"},"directories":{},"maintainers":[{"name":"kericw","email":"silentkek@gmail.com"},{"name":"svenouyang","email":"568343053@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/vite-plugin-circular-dependency_1.0.6_1761727290168_0.46059314417957253"},"_hasShrinkwrap":false}},"time":{"created":"2025-10-28T15:05:53.808Z","modified":"2025-10-29T08:41:30.592Z","1.0.0":"2025-10-28T15:05:54.239Z","1.0.1":"2025-10-28T15:09:10.849Z","1.0.2":"2025-10-28T15:12:25.365Z","1.0.3":"2025-10-28T15:16:29.690Z","1.0.4":"2025-10-28T15:18:16.452Z","1.0.6":"2025-10-29T08:41:30.365Z"},"bugs":{"url":"https://github.com/threedayAAAAA/vite-plugin-circular-dependency/issues"},"author":{"name":"threedayAAAAA"},"license":"MIT","homepage":"https://github.com/threedayAAAAA/vite-plugin-circular-dependency#readme","keywords":["vite-plugin","vite plugin","vite","dependencies","circular-dependencies"],"repository":{"type":"git","url":"git+https://github.com/threedayAAAAA/vite-plugin-circular-dependency.git","directory":"packages/plugin"},"description":"Detect circular dependencies","maintainers":[{"name":"kericw","email":"silentkek@gmail.com"},{"name":"svenouyang","email":"568343053@qq.com"}],"readme":"## vite-plugin-circular-dependency\n\nEnglish | [中文](README_zh.md)\n\nA framework-agnostic build-time Vite plugin designed to detect circular imports and self-references, compatible with dynamic and static imports.\n\n### DEMO\n\n```js\n// Configure the output path,\n// a scan report will be generated to the specified path\nexport default defineConfig({\n  plugins: [\n    circleDependency({\n      outputFilePath: \"./circleDep\",\n    }),\n  ],\n});\n```\n\n![image](https://user-images.githubusercontent.com/38604634/221328375-8dc381f1-6895-4875-93a0-d3d675153894.png)\n\n```js\n// Without any configuration, it will be printed on the console\nexport default defineConfig({\n  plugins: [circleDependency()],\n});\n```\n\n![image](https://user-images.githubusercontent.com/38604634/221328836-62b58f09-c11c-4429-a143-e92ef9aefa9f.png)\n\n### Installation\n\n```ts\nnpm i -D vite-plugin-circular-dependency\n// yarn add --dev vite-plugin-circular-dependency\n// pnpm i --dev vite-plugin-circular-dependency\n```\n\n### Usage\n\nPlease use this plugin when building\n\nIn your `vite.config.(js|ts)` import the plugin and register it.\n\n```typescript\nimport { defineConfig } from \"vite\";\nimport circleDependency from \"vite-plugin-circular-dependency\";\n\nexport default defineConfig({\n  plugins: [circleDependency()],\n});\n```\n\n### Options\n\n```ts\nexport interface Options {\n  /**\n   * Rules to include transforming target.\n   *\n   * @default [/\\.[jt]sx?$/, /\\.vue\\??/]\n   */\n  include?: FilterPattern;\n\n  /**\n   * Rules to exclude scan target.\n   *\n   * @default [/node_modules/, /\\.git/]\n   */\n  exclude?: FilterPattern;\n\n  /**\n   * The file address of the scan result output, the default console print\n   */\n  outputFilePath?: string;\n\n  // If configured, will output the products of circular references as an interactive HTML application to the specified address\n  outputInteractiveFilePath?: string;\n\n  /**\n   * Whether to throw an error when a circular import exists\n   *\n   * @default true\n   */\n  circleImportThrowErr?: boolean;\n\n  /**\n   * Format the path of the output node.\n   * By default, vite.config will be used as the root path to generate a relative path\n   *\n   * @default function\n   */\n  formatOutModulePath?: (path: string) => string;\n\n  /**\n   * The result of formatted output\n   * will also affect the data format in the console print or output file\n   *\n   * @default (data: CircleData) => data\n   */\n  formatOut?: (data: CircleData) => any;\n\n  /**\n   * Whether to ignore dynamic imports during the scan.\n   *\n   * @default false\n   *\n   * If the file has the @circular-ignore tag, the module will also be ignored for circular dependency scanning.\n   * Example:\n   * // @circular-ignore\n   * import { example } from './exampleModule';\n   */\n  ignoreDynamicImport?: boolean;\n}\n```\n","readmeFilename":"README.md"}