{"_id":"@arnaud-barre/check-circular-imports","_rev":"8-151cd2e754dcfc8eb3b6a2c0250ceaec","name":"@arnaud-barre/check-circular-imports","dist-tags":{"latest":"0.2.5"},"versions":{"0.1.0":{"name":"@arnaud-barre/check-circular-imports","version":"0.1.0","author":{"url":"https://github.com/ArnaudBarre","name":"Arnaud Barré"},"license":"MIT","_id":"@arnaud-barre/check-circular-imports@0.1.0","maintainers":[{"name":"arnaud-barre","email":"arnaud.barre72@gmail.com"}],"homepage":"https://github.com/ArnaudBarre/check-circular-imports#readme","bugs":{"url":"https://github.com/ArnaudBarre/check-circular-imports/issues"},"bin":{"check-circular-imports":"index.ts"},"dist":{"shasum":"56a842741439c2f0c65ca6cbfe6f73add1938505","tarball":"https://registry.npmjs.org/@arnaud-barre/check-circular-imports/-/check-circular-imports-0.1.0.tgz","fileCount":3,"integrity":"sha512-V2AUQqaG+sphn2kPuZWiylVh6pHxVjX9N3BhK+k78fyMhuxLm96+RK5JWQ8xG/5YeVxKti+EUqlZKo3KNHW6bg==","signatures":[{"sig":"MEUCICWL+W+DQkLhvK/TcLKmidEQ3EBw0OWJ41OHWJjhuM9+AiEAh7Wqg00+glt7uG1b1bHZUYnXPSeYjAUjdM65H9qwt48=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3035},"type":"module","_npmUser":{"name":"arnaud-barre","email":"arnaud.barre72@gmail.com"},"repository":{"url":"git+https://github.com/ArnaudBarre/check-circular-imports.git","type":"git"},"_npmVersion":"10.1.0","description":"Custom, fast check for circular imports in a TS codebase based on Bun scanImports builtin","directories":{},"_nodeVersion":"20.8.0","_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.0.3","bun-types":"^1.0.7","typescript":"^5.2.2"},"_npmOperationalInternal":{"tmp":"tmp/check-circular-imports_0.1.0_1698176078456_0.9739815855328924","host":"s3://npm-registry-packages"}},"0.1.1":{"name":"@arnaud-barre/check-circular-imports","version":"0.1.1","author":{"url":"https://github.com/ArnaudBarre","name":"Arnaud Barré"},"license":"MIT","_id":"@arnaud-barre/check-circular-imports@0.1.1","maintainers":[{"name":"arnaud-barre","email":"arnaud.barre72@gmail.com"}],"homepage":"https://github.com/ArnaudBarre/check-circular-imports#readme","bugs":{"url":"https://github.com/ArnaudBarre/check-circular-imports/issues"},"bin":{"check-circular-imports":"index.ts"},"dist":{"shasum":"56905b525641f87714eb52155a8faf6d87a7d51d","tarball":"https://registry.npmjs.org/@arnaud-barre/check-circular-imports/-/check-circular-imports-0.1.1.tgz","fileCount":3,"integrity":"sha512-wygK4D0zOWzNio6mxJUBbUuqc9VHKtMfzb0dNWKHLYLhy0xHbTHWSK2mG6hxKGOmYBlQa2kib0na+lUV0+fQeg==","signatures":[{"sig":"MEYCIQDY4ee9b8Qa7iey8awkizdNW7jGHcTo08DMcO2dv1EVyAIhALM5YIKYRkNelVVjkFEUTb7uJckz7ifZR3EE1aYWHfhW","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3054},"type":"module","_npmUser":{"name":"arnaud-barre","email":"arnaud.barre72@gmail.com"},"repository":{"url":"git+https://github.com/ArnaudBarre/check-circular-imports.git","type":"git"},"_npmVersion":"10.1.0","description":"Custom, fast check for circular imports in a TS codebase based on Bun scanImports builtin","directories":{},"_nodeVersion":"20.8.0","_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.0.3","bun-types":"^1.0.7","typescript":"^5.2.2"},"_npmOperationalInternal":{"tmp":"tmp/check-circular-imports_0.1.1_1698176405475_0.5704175208282598","host":"s3://npm-registry-packages"}},"0.2.0":{"name":"@arnaud-barre/check-circular-imports","version":"0.2.0","author":"Arnaud Barré (https://github.com/ArnaudBarre)","license":"MIT","_id":"@arnaud-barre/check-circular-imports@0.2.0","maintainers":[{"name":"arnaud-barre","email":"arnaud.barre72@gmail.com"}],"bin":{"check-circular-imports":"index.ts"},"dist":{"shasum":"e3c315d007ac22d74d6182e8c98e66f649398f63","tarball":"https://registry.npmjs.org/@arnaud-barre/check-circular-imports/-/check-circular-imports-0.2.0.tgz","fileCount":3,"integrity":"sha512-8GAXOcYGM0FBchwMGGqq2b9B35Y7FxGz3KS1u1ff/6aEedCqo2KLf03ZI+uQC1wHTRs5DlHOh1B2mRoMTY2cqw==","signatures":[{"sig":"MEUCIBmMntxdRETVhYEFA2pxC8+T8tJG5XiTPK9+wGkOh/dcAiEAvLlaIEa8M6H9IJIhALZCXfhozweisYx4v5BPGh/YTxo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3980},"type":"module","shasum":"e3c315d007ac22d74d6182e8c98e66f649398f63","_npmUser":{"name":"arnaud-barre","email":"arnaud.barre72@gmail.com"},"prettier":{"experimentalOperatorPosition":"start"},"_integrity":"sha512-8GAXOcYGM0FBchwMGGqq2b9B35Y7FxGz3KS1u1ff/6aEedCqo2KLf03ZI+uQC1wHTRs5DlHOh1B2mRoMTY2cqw==","repository":"github:ArnaudBarre/check-circular-imports","_npmVersion":"10.8.3","description":"Fast check for circular imports in a TS codebase based on Bun scanImports builtin","directories":{},"_nodeVersion":"24.3.0","_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.6.2","bun-types":"^1.2.23","typescript":"^5.9.2"},"_npmOperationalInternal":{"tmp":"tmp/check-circular-imports_0.2.0_1759137384240_0.6195337937919398","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@arnaud-barre/check-circular-imports","version":"0.2.1","author":{"url":"https://github.com/ArnaudBarre","name":"Arnaud Barré"},"license":"MIT","_id":"@arnaud-barre/check-circular-imports@0.2.1","maintainers":[{"name":"arnaud-barre","email":"arnaud.barre72@gmail.com"}],"homepage":"https://github.com/ArnaudBarre/check-circular-imports#readme","bugs":{"url":"https://github.com/ArnaudBarre/check-circular-imports/issues"},"bin":{"get-import-paths":"get-import-paths.ts","check-circular-imports":"check-circular-imports.ts"},"dist":{"shasum":"ccf581ae0241055a1e6517ee08222e40b4934d2a","tarball":"https://registry.npmjs.org/@arnaud-barre/check-circular-imports/-/check-circular-imports-0.2.1.tgz","fileCount":4,"integrity":"sha512-3FycrkB3/ZRDoiPlDrv0bUV/2byYTn6GenmsI2JWTr42BkAXBWAvo0nYn+46kZlrznslWroil0CoMHb7B1FTOQ==","signatures":[{"sig":"MEYCIQCiOudWVctIPKeCcgbC/hFmmE0uK5anVkh8o+uNTr0uigIhAJZ7igjLpfI1f2kLIYAcVrjuEGL3R34lUpFahS1gqxpx","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3928},"type":"module","gitHead":"6d3da8acec09a830788a335a5ff2d311483d710c","_npmUser":{"name":"arnaud-barre","email":"arnaud.barre72@gmail.com"},"prettier":{"experimentalOperatorPosition":"start"},"repository":{"url":"git+https://github.com/ArnaudBarre/check-circular-imports.git","type":"git"},"_npmVersion":"10.9.7","description":"Fast check for circular imports in a TS codebase based on Bun scanImports builtin","directories":{},"_nodeVersion":"22.22.2","_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.9.7","@types/bun":"^1.2.23","typescript":"^7.0.2"},"_npmOperationalInternal":{"tmp":"tmp/check-circular-imports_0.2.1_1789600774328_0.022837449061222648","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@arnaud-barre/check-circular-imports","version":"0.2.2","author":{"url":"https://github.com/ArnaudBarre","name":"Arnaud Barré"},"license":"MIT","_id":"@arnaud-barre/check-circular-imports@0.2.2","maintainers":[{"name":"arnaud-barre","email":"arnaud.barre72@gmail.com"}],"homepage":"https://github.com/ArnaudBarre/check-circular-imports#readme","bugs":{"url":"https://github.com/ArnaudBarre/check-circular-imports/issues"},"bin":{"get-import-paths":"get-import-paths.ts","check-circular-imports":"check-circular-imports.ts"},"dist":{"shasum":"479de06d9b9cb69bbedd2bda9243e713fa0bbf33","tarball":"https://registry.npmjs.org/@arnaud-barre/check-circular-imports/-/check-circular-imports-0.2.2.tgz","fileCount":5,"integrity":"sha512-wEPXrrK86mdNwJfF7/Jo0FOpmZNCQOVlRxE0xHHSrDq+jk3nQd+brL5rJl5a9+tRbYHhtPXLpTxvNvrcqhUUsA==","signatures":[{"sig":"MEQCIELWn0hbVhQFcqewRBwnZKytODBFWPIiLq9wmgCfkjY3AiAa4uRM1ti8HtJC/7XIoy1dqfiu+iuIhbPa7IZOO+qJ1g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6061},"type":"module","gitHead":"621f1de74b7a1474dd76824013e3f654ed760810","_npmUser":{"name":"arnaud-barre","email":"arnaud.barre72@gmail.com"},"prettier":{"experimentalOperatorPosition":"start"},"repository":{"url":"git+https://github.com/ArnaudBarre/check-circular-imports.git","type":"git"},"_npmVersion":"10.9.7","description":"Fast check for circular imports in a TS codebase based on Bun scanImports builtin","directories":{},"_nodeVersion":"22.22.2","_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.9.7","@types/bun":"^1.2.23","typescript":"^7.0.2"},"_npmOperationalInternal":{"tmp":"tmp/check-circular-imports_0.2.2_1789601076075_0.4472555582115918","host":"s3://npm-registry-packages-npm-production"}},"0.2.3":{"name":"@arnaud-barre/check-circular-imports","version":"0.2.3","author":{"url":"https://github.com/ArnaudBarre","name":"Arnaud Barré"},"license":"MIT","_id":"@arnaud-barre/check-circular-imports@0.2.3","maintainers":[{"name":"arnaud-barre","email":"arnaud.barre72@gmail.com"}],"homepage":"https://github.com/ArnaudBarre/check-circular-imports#readme","bugs":{"url":"https://github.com/ArnaudBarre/check-circular-imports/issues"},"bin":{"get-import-paths":"get-import-paths.ts","check-circular-imports":"check-circular-imports.ts"},"dist":{"shasum":"2eabb210951c4e6ae84fe26765bcf3ce31bde2ab","tarball":"https://registry.npmjs.org/@arnaud-barre/check-circular-imports/-/check-circular-imports-0.2.3.tgz","fileCount":5,"integrity":"sha512-rdSY6XCeToWFQJ1GQQSXjTQJSbIrjeqTX/XbG/aW7dqfe2rru02OFJdFoveTHX2fufRlSQbYWGj0LDT7ufKE6Q==","signatures":[{"sig":"MEUCIHpJb+7tNdNeM/JlLEfR13VE4lIseuswrHhuZTKzMFK2AiEAuBy4OyLBwNKzblaFBibjj3DfkwgIs/HT43ADMPE6CAs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6049},"type":"module","gitHead":"db6da6356910ab96657e03af3cec431a59880a20","_npmUser":{"name":"arnaud-barre","email":"arnaud.barre72@gmail.com"},"prettier":{"experimentalOperatorPosition":"start"},"repository":{"url":"git+https://github.com/ArnaudBarre/check-circular-imports.git","type":"git"},"_npmVersion":"10.9.7","description":"Fast check for circular imports in a TS codebase based on Bun scanImports builtin","directories":{},"_nodeVersion":"22.22.2","_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.9.7","@types/bun":"^1.2.23","typescript":"^7.0.2"},"_npmOperationalInternal":{"tmp":"tmp/check-circular-imports_0.2.3_1789603775843_0.08833393055029992","host":"s3://npm-registry-packages-npm-production"}},"0.2.4":{"name":"@arnaud-barre/check-circular-imports","version":"0.2.4","author":{"url":"https://github.com/ArnaudBarre","name":"Arnaud Barré"},"license":"MIT","_id":"@arnaud-barre/check-circular-imports@0.2.4","maintainers":[{"name":"arnaud-barre","email":"arnaud.barre72@gmail.com"}],"homepage":"https://github.com/ArnaudBarre/check-circular-imports#readme","bugs":{"url":"https://github.com/ArnaudBarre/check-circular-imports/issues"},"bin":{"get-import-paths":"get-import-paths.ts","check-circular-imports":"check-circular-imports.ts"},"dist":{"shasum":"cdb06508af063ca5ee198163e300af4d7e25354d","tarball":"https://registry.npmjs.org/@arnaud-barre/check-circular-imports/-/check-circular-imports-0.2.4.tgz","fileCount":5,"integrity":"sha512-zON4haMEyaOfpSFqcR1RTh2a32p3SYlUf2bOKxjswh/+pgbsaiI3IT+aUbMVMOfBVXWvNhgSanYJGtS212QYFA==","signatures":[{"sig":"MEQCICT+8XyG0hE7qb69L32IJ5QMzJ9Kl8kCQd9wkaTQwsW5AiAZDKV+h/J4D5nwjQpqwlTzDDfHUNsB+I/+d+A24GoMaQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6070},"type":"module","gitHead":"17f4ba3b41d92d5b198684f7371f3a2275963077","_npmUser":{"name":"arnaud-barre","email":"arnaud.barre72@gmail.com"},"prettier":{"experimentalOperatorPosition":"start"},"repository":{"url":"git+https://github.com/ArnaudBarre/check-circular-imports.git","type":"git"},"_npmVersion":"10.9.7","description":"Fast check for circular imports in a TS codebase based on Bun scanImports builtin","directories":{},"_nodeVersion":"22.22.2","_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.9.7","@types/bun":"^1.2.23","typescript":"^7.0.2"},"_npmOperationalInternal":{"tmp":"tmp/check-circular-imports_0.2.4_1789637515115_0.9415811959963121","host":"s3://npm-registry-packages-npm-production"}},"0.2.5":{"_id":"@arnaud-barre/check-circular-imports@0.2.5","bin":{"get-import-paths":"get-import-paths.ts","check-circular-imports":"check-circular-imports.ts"},"bugs":{"url":"https://github.com/ArnaudBarre/check-circular-imports/issues"},"dist":{"shasum":"80462847daf829840b6085ffeb0c7ae20279c47b","tarball":"https://registry.npmjs.org/@arnaud-barre/check-circular-imports/-/check-circular-imports-0.2.5.tgz","fileCount":5,"integrity":"sha512-E06rsqXBtoEkjPbinGuP928f2rILIFI377VXdGN0NpkXCoow3vl29yTaZ4Lb129+OLsiO3I1SR3vELnhBYtdgA==","signatures":[{"sig":"MEUCIEpqjE7htGS8Yb4zdK7uKG2NzPcfpooosSprCziXAOuxAiEAv8x8athpiGjk700M/Gyk+mJEtUM7d73d+v0/ztFT124=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDYbr6BMndwPC089nDRVPI10Q5EWGsuTQX4ns5z9HxWXAIgAs2RRmIhw4M+RaqBrexo83GTlnyEww2P83DpyQ6BIM8="}],"unpackedSize":5944},"name":"@arnaud-barre/check-circular-imports","type":"module","author":{"url":"https://github.com/ArnaudBarre","name":"Arnaud Barré"},"gitHead":"e9348da732de1246dc38bf94e1d07344dbd3cce6","license":"MIT","version":"0.2.5","_npmUser":{"name":"arnaud-barre","email":"arnaud.barre72@gmail.com"},"homepage":"https://github.com/ArnaudBarre/check-circular-imports#readme","prettier":{"experimentalOperatorPosition":"start"},"repository":{"url":"git+https://github.com/ArnaudBarre/check-circular-imports.git","type":"git"},"_npmVersion":"10.9.7","description":"Fast check for circular imports in a TS codebase based on Bun scanImports builtin","directories":{},"maintainers":[{"name":"arnaud-barre","email":"arnaud.barre72@gmail.com"}],"_nodeVersion":"22.22.2","_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.9.7","@types/bun":"^1.2.23","typescript":"^7.0.2"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/check-circular-imports_0.2.5_1790081046563_0.10915363564430236"}}},"time":{"created":"2023-10-24T19:34:38.342Z","modified":"2026-09-22T12:44:06.859Z","0.1.0":"2023-10-24T19:34:38.686Z","0.1.1":"2023-10-24T19:40:05.646Z","0.2.0":"2025-09-29T09:16:24.433Z","0.2.1":"2026-09-16T23:19:34.467Z","0.2.2":"2026-09-16T23:24:36.208Z","0.2.3":"2026-09-17T00:09:35.982Z","0.2.4":"2026-09-17T09:31:55.319Z","0.2.5":"2026-09-22T12:44:06.685Z"},"bugs":{"url":"https://github.com/ArnaudBarre/check-circular-imports/issues"},"author":{"url":"https://github.com/ArnaudBarre","name":"Arnaud Barré"},"license":"MIT","homepage":"https://github.com/ArnaudBarre/check-circular-imports#readme","repository":{"url":"git+https://github.com/ArnaudBarre/check-circular-imports.git","type":"git"},"description":"Fast check for circular imports in a TS codebase based on Bun scanImports builtin","maintainers":[{"name":"arnaud-barre","email":"arnaud.barre72@gmail.com"}],"readme":"# check-circular-imports [![npm](https://img.shields.io/npm/v/@arnaud-barre/check-circular-imports)](https://www.npmjs.com/package/@arnaud-barre/check-circular-imports)\n\nFast check for circular imports in a TS codebase based on Bun scanImports builtin.\n\n```bash\nbun add --dev @arnaud-barre/check-circular-imports\n```\n\nThe check assume all source code imports are relative and use full path (extension + no index import) or [subpath imports](https://nodejs.org/api/packages.html#subpath-imports) from cwd (in v0.2).\nImports other than `.ts` & `.tsx` are skipped.\n\n```bash\nbun check-circular-imports <entryPoint>\nbun get-import-paths <entryPoint> <target> [--skip-dynamic-imports]\n```\n\nOn a mac M1 for a codebase of ~400 TS files it runs in 50ms.\n\n## Related\n\nThis project is part of a personal work to make my build tools out of resolution-hell\n\n- https://github.com/ArnaudBarre/prettier-plugin-sort-imports\n- https://github.com/ArnaudBarre/eslint-config/blob/main/eslint-plugin/rules/imports.ts\n","readmeFilename":"README.md"}