{"_id":"blast-radius","name":"blast-radius","dist-tags":{"latest":"0.1.0"},"versions":{"0.1.0":{"name":"blast-radius","version":"0.1.0","description":"See the blast radius of a code change before you touch it.","type":"module","bin":{"blast-radius":"src/cli.js"},"scripts":{"demo":"node demo/run-demo.js && node demo/make-report.js"},"engines":{"node":">=18"},"keywords":["blast-radius","dependency","risk","impact","code-analysis"],"license":"MIT","dependencies":{"ignore":"^5.3.0"},"_id":"blast-radius@0.1.0","gitHead":"99d698bc7c553781c55aa93dbb1a82ab7385dc00","_nodeVersion":"22.21.0","_npmVersion":"10.9.4","dist":{"integrity":"sha512-xXE7L0CaspsRY8MSbRGQvsrrsoWiX7MZjEmKUOAmy8T6X8A/CPIhaDgOg6XzNKNVPZTlVrTTsSsY4bwA2Aaa4w==","shasum":"8512a665babce350ceddcc870e80b2308ca518c7","tarball":"https://registry.npmjs.org/blast-radius/-/blast-radius-0.1.0.tgz","fileCount":19,"unpackedSize":46511,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDJbGnEy+437eghZtgr3wMDu34EHSZCZ2NSkvYlDjEbrAIhAJAKTlQwXSCf4wirsMQWAXdhJ7bAPxr1abpmj2Jruc0k"}]},"_npmUser":{"name":"jennaleighwest","email":"jenniferleighwilder@gmail.com"},"directories":{},"maintainers":[{"name":"jennaleighwest","email":"jenniferleighwilder@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/blast-radius_0.1.0_1771395021560_0.7046899547684997"},"_hasShrinkwrap":false}},"time":{"created":"2026-02-18T06:10:21.443Z","0.1.0":"2026-02-18T06:10:21.715Z","modified":"2026-02-18T06:10:21.952Z"},"maintainers":[{"name":"jennaleighwest","email":"jenniferleighwilder@gmail.com"}],"description":"See the blast radius of a code change before you touch it.","keywords":["blast-radius","dependency","risk","impact","code-analysis"],"license":"MIT","readme":"# blast-radius\n\nSee the blast radius of a code change before you touch it.\n\n## Install / Run\n\n```bash\nnpx blast-radius path/to/file\n```\n\nNo install required. Or install globally:\n\n```bash\nnpm install -g blast-radius\nblast-radius src/auth.js\n```\n\n## Flags\n\n| Flag | Description |\n|------|-------------|\n| `--depth <n>` | How many import layers outward (default: 3) |\n| `--json` | Output machine-readable JSON |\n| `--output <file>` | Write report to file |\n| `--include-tests` | Include test files in scan (default: ignore) |\n| `--verbose` | Print scan stats |\n\n## Demo\n\nSee [DEMO.md](./DEMO.md) for live outputs from real open-source repos.\n\nRun the demo locally:\n\n```bash\nnpm run demo\n```\n\n## How it works\n\n1. **Dependency graph** — Scans JS/TS (and basic Python) files, extracts `import`/`require` statements, builds a directed graph of who imports whom.\n\n2. **Reverse traversal** — From your target file, walks backward: who imports this file? Who imports those? Up to `--depth` layers.\n\n3. **Risk heuristics** — Scores based on:\n   - Inbound reference count (direct + transitive)\n   - File/path patterns (auth, config, middleware, etc.)\n   - Safe zones (components/, styles/, etc.)\n\n4. **Output** — Human report with risk level, top importers, impact paths, and suggested safer edit zones.\n\n## Contributing\n\n- **Add language support** — Extend `scanner.js` for more import syntax (Go, Rust, etc.)\n- **Improve import resolution** — Handle path aliases, barrel exports, TypeScript paths\n- **Expand heuristics** — More patterns, configurable weights\n\nMIT License\n","readmeFilename":"README.md","_rev":"1-830e1e829480b8a4a679c7001ab6ac9e"}