{"_id":"@stinsky/xray","_rev":"9-4c452d629321f000dc6bdcbdbf283b30","name":"@stinsky/xray","dist-tags":{"latest":"0.4.1"},"versions":{"0.1.0":{"name":"@stinsky/xray","version":"0.1.0","keywords":["react","inspector","devtools","click-to-component","click-to-source","nextjs","turbopack","vite","webpack"],"license":"MIT","_id":"@stinsky/xray@0.1.0","maintainers":[{"name":"stinsky","email":"ivan@stinsky.dev"}],"homepage":"https://github.com/stinsky/xray#readme","bugs":{"url":"https://github.com/stinsky/xray/issues"},"dist":{"shasum":"adec6afd975a192b3d6c2b4c52ccd1913114ab37","tarball":"https://registry.npmjs.org/@stinsky/xray/-/xray-0.1.0.tgz","fileCount":11,"integrity":"sha512-lZxv9lVELmcZ0zaIUBGDTn9MYnRlIOIy18aJdhNtDK2BIGGYVJAmcIdK6UXvqMAGHHdZ/zNuTMaX8dryLrnDMQ==","signatures":[{"sig":"MEYCIQDvWIoktJkjiKf34It8lfD7Ox7Cj6cPd0QGkuuXS/LDNgIhAMIAUyXiOC01Pq607TTb2Y5gpRsPZokY9W4vUgVSY3aM","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":45168},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./plugin":{"types":"./dist/plugin.d.ts","import":"./dist/plugin.mjs","require":"./dist/plugin.cjs"}},"gitHead":"641328a943078ce8cd649ca201228bc1799efa6d","scripts":{"dev":"tsup --watch","build":"tsup","typecheck":"tsc --noEmit","prepublishOnly":"tsup"},"_npmUser":{"name":"stinsky","email":"ivan@stinsky.dev"},"repository":{"url":"git+https://github.com/stinsky/xray.git","type":"git"},"_npmVersion":"10.1.0","description":"React dev inspector — hover to see component names, click to open source in your editor. Works with React 19 + Turbopack.","directories":{},"_nodeVersion":"20.9.0","dependencies":{"code-inspector-plugin":"^0.19.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","react":"^19.0.0","react-dom":"^19.0.0","typescript":"^5.7.0","@types/node":"^25.5.0","@types/react":"^19.0.0","@types/react-dom":"^19.0.0"},"peerDependencies":{"react":">=18","react-dom":">=18"},"_npmOperationalInternal":{"tmp":"tmp/xray_0.1.0_1774617893019_0.7924792339602131","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@stinsky/xray","version":"0.2.0","keywords":["react","inspector","devtools","click-to-component","click-to-source","nextjs","turbopack","vite","webpack"],"license":"MIT","_id":"@stinsky/xray@0.2.0","maintainers":[{"name":"stinsky","email":"ivan@stinsky.dev"}],"homepage":"https://github.com/stinsky/xray#readme","bugs":{"url":"https://github.com/stinsky/xray/issues"},"dist":{"shasum":"2b672e256610f254a9edca621a078118350fb2f0","tarball":"https://registry.npmjs.org/@stinsky/xray/-/xray-0.2.0.tgz","fileCount":11,"integrity":"sha512-Ga7/gLkl+ahR1pHNpLKIIhJN/LHwAPYgwHCD0S6Tqo+6ehfulQlhJ69OAVsH5QyNu4mcVupRWwomgHRQ+PXHtQ==","signatures":[{"sig":"MEUCIQDtyFc1ynFaq4AvJ0jqXxEXzVQo2fkdKBx5DsLagZdk+gIgcfpdWnakZXDReKl0lReQgYbg3ynAqEqSdtjhUsUfpZ4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":45389},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./plugin":{"types":"./dist/plugin.d.ts","import":"./dist/plugin.mjs","require":"./dist/plugin.cjs"}},"gitHead":"641328a943078ce8cd649ca201228bc1799efa6d","scripts":{"dev":"tsup --watch","build":"tsup","typecheck":"tsc --noEmit","prepublishOnly":"tsup"},"_npmUser":{"name":"stinsky","email":"ivan@stinsky.dev"},"repository":{"url":"git+https://github.com/stinsky/xray.git","type":"git"},"_npmVersion":"10.1.0","description":"React dev inspector — hover to see component names, click to open source in your editor. Works with React 19 + Turbopack.","directories":{},"_nodeVersion":"20.9.0","dependencies":{"code-inspector-plugin":"^1.4.5"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","react":"^19.0.0","react-dom":"^19.0.0","typescript":"^5.7.0","@types/node":"^25.5.0","@types/react":"^19.0.0","@types/react-dom":"^19.0.0"},"peerDependencies":{"react":">=18","react-dom":">=18"},"_npmOperationalInternal":{"tmp":"tmp/xray_0.2.0_1774618660983_0.5355946466763775","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@stinsky/xray","version":"0.2.1","keywords":["react","inspector","devtools","click-to-component","click-to-source","nextjs","turbopack","vite","webpack"],"license":"MIT","_id":"@stinsky/xray@0.2.1","maintainers":[{"name":"stinsky","email":"ivan@stinsky.dev"}],"homepage":"https://github.com/ivanstnsk/xray#readme","bugs":{"url":"https://github.com/ivanstnsk/xray/issues"},"dist":{"shasum":"7d36b9fc0ed3784984f29a79ed09cc7ba86c1831","tarball":"https://registry.npmjs.org/@stinsky/xray/-/xray-0.2.1.tgz","fileCount":11,"integrity":"sha512-i/zgLEjTqtyJUyq1YzkDgTLTTE4sQYLLIc2F90ui40RxdmfpLln1anYqctm7ctDZE0ZDhJTwKFP9womMmgVALQ==","signatures":[{"sig":"MEUCIQC6TkzOn6YrBqjPAL5I158yB1DCcFj7WTceqcxRaAQbMQIgNTZu+gWkGvjbM+T1K6NtzkdG07G/zW21YHzX+uM6dO4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":45391},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./plugin":{"types":"./dist/plugin.d.ts","import":"./dist/plugin.mjs","require":"./dist/plugin.cjs"}},"gitHead":"2c08e162de7c09849db523635da5f296ea12ca3f","scripts":{"dev":"tsup --watch","build":"tsup","typecheck":"tsc --noEmit","prepublishOnly":"tsup"},"_npmUser":{"name":"stinsky","email":"ivan@stinsky.dev"},"repository":{"url":"git+https://github.com/ivanstnsk/xray.git","type":"git"},"_npmVersion":"10.1.0","description":"React dev inspector — hover to see component names, click to open source in your editor. Works with React 19 + Turbopack.","directories":{},"_nodeVersion":"20.9.0","dependencies":{"code-inspector-plugin":"^1.4.5"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","react":"^19.0.0","react-dom":"^19.0.0","typescript":"^5.7.0","@types/node":"^25.5.0","@types/react":"^19.0.0","@types/react-dom":"^19.0.0"},"peerDependencies":{"react":">=18","react-dom":">=18"},"_npmOperationalInternal":{"tmp":"tmp/xray_0.2.1_1774619512643_0.5780690858621382","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@stinsky/xray","version":"0.3.0","keywords":["react","inspector","devtools","click-to-component","click-to-source","nextjs","turbopack","vite","webpack"],"license":"MIT","_id":"@stinsky/xray@0.3.0","maintainers":[{"name":"stinsky","email":"ivan@stinsky.dev"}],"homepage":"https://github.com/ivanstnsk/xray#readme","bugs":{"url":"https://github.com/ivanstnsk/xray/issues"},"dist":{"shasum":"af7b19972dbf686618025bdaac5c3f6a3ebef783","tarball":"https://registry.npmjs.org/@stinsky/xray/-/xray-0.3.0.tgz","fileCount":11,"integrity":"sha512-39nGf85n9hWQVEtm8SZOkL7H4rP2ZrEJ8M28iYPC9ISkVrOvGeY3/Fl78fX2t1CK+V3+oLLYiW8NxZo9TYukMg==","signatures":[{"sig":"MEYCIQDQ6l25/x8Zk8bLRzapA3nGr66fAPW6N/B5o1ZMTytRdwIhAI4/tvSmnjX7rekw44LR/MZBtAeM5cRopuoy7pFJdU/G","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":63206},"main":"./dist/index.cjs","type":"module","_from":"file:stinsky-xray-0.3.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./plugin":{"types":"./dist/plugin.d.ts","import":"./dist/plugin.mjs","require":"./dist/plugin.cjs"}},"scripts":{"dev":"tsup --watch","lint":"eslint src/","build":"tsup","typecheck":"tsc --noEmit"},"_npmUser":{"name":"stinsky","email":"ivan@stinsky.dev"},"_resolved":"/private/var/folders/ph/qb7gphqs5ydd9vfglnj0kf300000gn/T/730d98807429dfaf48252bd2eef81968/stinsky-xray-0.3.0.tgz","_integrity":"sha512-39nGf85n9hWQVEtm8SZOkL7H4rP2ZrEJ8M28iYPC9ISkVrOvGeY3/Fl78fX2t1CK+V3+oLLYiW8NxZo9TYukMg==","repository":{"url":"git+https://github.com/ivanstnsk/xray.git","type":"git"},"_npmVersion":"10.1.0","description":"React dev inspector — hover to see component names, click to open source in your editor. Works with React 19 + Turbopack.","directories":{},"_nodeVersion":"20.9.0","dependencies":{"code-inspector-plugin":"^1.4.5"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","react":"^19.0.0","eslint":"^9.39.4","react-dom":"^19.0.0","@eslint/js":"^9.39.4","typescript":"^5.7.0","@types/node":"^25.5.0","@types/react":"^19.0.0","@types/react-dom":"^19.0.0","typescript-eslint":"^8.57.2","eslint-plugin-react-hooks":"^5.2.0"},"peerDependencies":{"react":">=18","react-dom":">=18"},"_npmOperationalInternal":{"tmp":"tmp/xray_0.3.0_1774675448143_0.3204532233561912","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@stinsky/xray","version":"0.3.1","keywords":["react","inspector","devtools","click-to-component","click-to-source","nextjs","turbopack","vite","webpack"],"license":"MIT","_id":"@stinsky/xray@0.3.1","maintainers":[{"name":"stinsky","email":"ivan@stinsky.dev"}],"homepage":"https://github.com/ivanstnsk/xray#readme","bugs":{"url":"https://github.com/ivanstnsk/xray/issues"},"dist":{"shasum":"c0c53cf534bcaf3004a5eb5a5905237217d56036","tarball":"https://registry.npmjs.org/@stinsky/xray/-/xray-0.3.1.tgz","fileCount":11,"integrity":"sha512-cfsQmTclsOaiKM57wUDYgE7pe4NMNFMc/uek+urUFYIHqEZA8yIF8B6E5RdKxWDuiGu+5F9G+jCJ9wW4xNt0+Q==","signatures":[{"sig":"MEQCIDTw+ms6PiBimj2KUYkdYvQnmwivOxGXpF0FJAtPa++uAiAP4GRImlqjWpie2+mWjoR2u/zsDg7pi9m4HWhC2rMniQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":63472},"main":"./dist/index.cjs","type":"module","_from":"file:stinsky-xray-0.3.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./plugin":{"types":"./dist/plugin.d.ts","import":"./dist/plugin.mjs","require":"./dist/plugin.cjs"}},"scripts":{"dev":"tsup --watch","lint":"eslint src/","build":"tsup","typecheck":"tsc --noEmit"},"_npmUser":{"name":"stinsky","email":"ivan@stinsky.dev"},"_resolved":"/private/var/folders/ph/qb7gphqs5ydd9vfglnj0kf300000gn/T/b645f39f609bab1a670843d04acab7f4/stinsky-xray-0.3.1.tgz","_integrity":"sha512-cfsQmTclsOaiKM57wUDYgE7pe4NMNFMc/uek+urUFYIHqEZA8yIF8B6E5RdKxWDuiGu+5F9G+jCJ9wW4xNt0+Q==","repository":{"url":"git+https://github.com/ivanstnsk/xray.git","type":"git"},"_npmVersion":"10.1.0","description":"React dev inspector — hover to see component names, click to open source in your editor. Works with React 19 + Turbopack.","directories":{},"_nodeVersion":"20.9.0","dependencies":{"code-inspector-plugin":"^1.4.5"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","react":"^19.0.0","eslint":"^9.39.4","react-dom":"^19.0.0","@eslint/js":"^9.39.4","typescript":"^5.7.0","@types/node":"^25.5.0","@types/react":"^19.0.0","@types/react-dom":"^19.0.0","typescript-eslint":"^8.57.2","eslint-plugin-react-hooks":"^5.2.0"},"peerDependencies":{"react":">=18","react-dom":">=18"},"_npmOperationalInternal":{"tmp":"tmp/xray_0.3.1_1774675840194_0.1910055475207486","host":"s3://npm-registry-packages-npm-production"}},"0.3.2":{"name":"@stinsky/xray","version":"0.3.2","keywords":["react","inspector","devtools","click-to-component","click-to-source","nextjs","turbopack","vite","webpack"],"license":"MIT","_id":"@stinsky/xray@0.3.2","maintainers":[{"name":"stinsky","email":"ivan@stinsky.dev"}],"homepage":"https://github.com/ivanstnsk/xray#readme","bugs":{"url":"https://github.com/ivanstnsk/xray/issues"},"dist":{"shasum":"5e0f83891d6301357b6390f143893bc0915a0bd7","tarball":"https://registry.npmjs.org/@stinsky/xray/-/xray-0.3.2.tgz","fileCount":11,"integrity":"sha512-lMI7R85MfJN/u3Ol0m0QsW/hALpNmcJLDmRxMDYv0/BdNdr9sEogEh6nb4QidK6kmc/Bs/azqKEOsmvYhrRBRw==","signatures":[{"sig":"MEUCIQDgnnuS6J4kZlrBLXvOneyIsLnBaq7YwnGQNVgaUrQgIwIgPY2A6z/Jjv/fBN3su1rINil22sPzDqQtMIEV3WAOwjo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":63566},"main":"./dist/index.cjs","type":"module","_from":"file:stinsky-xray-0.3.2.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./plugin":{"types":"./dist/plugin.d.ts","import":"./dist/plugin.mjs","require":"./dist/plugin.cjs"}},"scripts":{"dev":"tsup --watch","lint":"eslint src/","build":"tsup","typecheck":"tsc --noEmit"},"_npmUser":{"name":"stinsky","email":"ivan@stinsky.dev"},"_resolved":"/private/var/folders/ph/qb7gphqs5ydd9vfglnj0kf300000gn/T/09b6c5d29ee471856fc2902bf77d5949/stinsky-xray-0.3.2.tgz","_integrity":"sha512-lMI7R85MfJN/u3Ol0m0QsW/hALpNmcJLDmRxMDYv0/BdNdr9sEogEh6nb4QidK6kmc/Bs/azqKEOsmvYhrRBRw==","repository":{"url":"git+https://github.com/ivanstnsk/xray.git","type":"git"},"_npmVersion":"10.1.0","description":"React dev inspector — hover to see component names, click to open source in your editor. Works with React 19 + Turbopack.","directories":{},"_nodeVersion":"20.9.0","dependencies":{"code-inspector-plugin":"^1.4.5"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","react":"^19.0.0","eslint":"^9.39.4","react-dom":"^19.0.0","@eslint/js":"^9.39.4","typescript":"^5.7.0","@types/node":"^25.5.0","@types/react":"^19.0.0","@types/react-dom":"^19.0.0","typescript-eslint":"^8.57.2","eslint-plugin-react-hooks":"^5.2.0"},"peerDependencies":{"react":">=18","react-dom":">=18"},"_npmOperationalInternal":{"tmp":"tmp/xray_0.3.2_1774677312296_0.6053531873485831","host":"s3://npm-registry-packages-npm-production"}},"0.3.3":{"name":"@stinsky/xray","version":"0.3.3","keywords":["react","inspector","devtools","click-to-component","click-to-source","nextjs","turbopack","vite","webpack"],"license":"MIT","_id":"@stinsky/xray@0.3.3","maintainers":[{"name":"stinsky","email":"ivan@stinsky.dev"}],"homepage":"https://github.com/ivanstnsk/xray#readme","bugs":{"url":"https://github.com/ivanstnsk/xray/issues"},"dist":{"shasum":"1f93c9f1493f489c6befe5a200fb55d200a7243a","tarball":"https://registry.npmjs.org/@stinsky/xray/-/xray-0.3.3.tgz","fileCount":11,"integrity":"sha512-MIBcxu3h5jEEFC67P7DMPA99HZm3JXpWO65bsEa86DUJsoEDXuyEko8pPjJIMOMKFiEt5QLkUZJbwOkJoVBIzQ==","signatures":[{"sig":"MEUCIG2Ojjb853/UGUTq5JTQGrzYvVkMAexynLpGJYvnhO0KAiEAwiGML2c+0skf6/53lAliX+GUqBXJ9azNO2/C2EGFH1s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":63674},"main":"./dist/index.cjs","type":"module","_from":"file:stinsky-xray-0.3.3.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./plugin":{"types":"./dist/plugin.d.ts","import":"./dist/plugin.mjs","require":"./dist/plugin.cjs"}},"scripts":{"dev":"tsup --watch","lint":"eslint src/","build":"tsup","typecheck":"tsc --noEmit"},"_npmUser":{"name":"stinsky","email":"ivan@stinsky.dev"},"_resolved":"/private/var/folders/ph/qb7gphqs5ydd9vfglnj0kf300000gn/T/e43fafec3a0c0b378820bb637cabcd7a/stinsky-xray-0.3.3.tgz","_integrity":"sha512-MIBcxu3h5jEEFC67P7DMPA99HZm3JXpWO65bsEa86DUJsoEDXuyEko8pPjJIMOMKFiEt5QLkUZJbwOkJoVBIzQ==","repository":{"url":"git+https://github.com/ivanstnsk/xray.git","type":"git"},"_npmVersion":"10.1.0","description":"React dev inspector — hover to see component names, click to open source in your editor. Works with React 19 + Turbopack.","directories":{},"_nodeVersion":"20.9.0","dependencies":{"code-inspector-plugin":"^1.4.5"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","react":"^19.0.0","eslint":"^9.39.4","react-dom":"^19.0.0","@eslint/js":"^9.39.4","typescript":"^5.7.0","@types/node":"^25.5.0","@types/react":"^19.0.0","@types/react-dom":"^19.0.0","typescript-eslint":"^8.57.2","eslint-plugin-react-hooks":"^5.2.0"},"peerDependencies":{"react":">=18","react-dom":">=18"},"_npmOperationalInternal":{"tmp":"tmp/xray_0.3.3_1774677644610_0.4997520859031013","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@stinsky/xray","version":"0.4.0","keywords":["react","inspector","devtools","click-to-component","click-to-source","nextjs","turbopack","vite","webpack"],"license":"MIT","_id":"@stinsky/xray@0.4.0","maintainers":[{"name":"stinsky","email":"ivan@stinsky.dev"}],"homepage":"https://github.com/ivanstnsk/xray#readme","bugs":{"url":"https://github.com/ivanstnsk/xray/issues"},"dist":{"shasum":"52f4fe8166199891248b8525ab8ae4498dcf9406","tarball":"https://registry.npmjs.org/@stinsky/xray/-/xray-0.4.0.tgz","fileCount":11,"integrity":"sha512-Nc6JHlsONEE99POLbQsbaa+w+0QNyziwh3TsDiGjlhN0it89t5zX4t4WFB8WDyvdZc3KRja7uhz4G3JyMw6vzw==","signatures":[{"sig":"MEYCIQCMS92zLPxPLGdrL6ZATpRNBWntBmUlVeGVSN8yxyyaHQIhAO/pA1taBS4YfdFkiXngNrBwHm+BaOIpPLLKPad1+9eP","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":64423},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./plugin":{"types":"./dist/plugin.d.ts","import":"./dist/plugin.mjs","require":"./dist/plugin.cjs"}},"gitHead":"a44455bcd79529b88d253a81bdacd57ea9f55d68","scripts":{"dev":"tsup --watch","lint":"eslint src/","build":"tsup","typecheck":"tsc --noEmit","prepublishOnly":"tsup"},"_npmUser":{"name":"stinsky","email":"ivan@stinsky.dev"},"repository":{"url":"git+https://github.com/ivanstnsk/xray.git","type":"git"},"_npmVersion":"10.1.0","description":"React dev inspector — hover to see component names, click to open source in your editor. Works with React 19 + Turbopack.","directories":{},"_nodeVersion":"20.9.0","dependencies":{"code-inspector-plugin":"^1.4.5"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","react":"^19.0.0","eslint":"^9.39.4","react-dom":"^19.0.0","@eslint/js":"^9.39.4","typescript":"^5.7.0","@types/node":"^25.5.0","@types/react":"^19.0.0","@types/react-dom":"^19.0.0","typescript-eslint":"^8.57.2","eslint-plugin-react-hooks":"^5.2.0"},"peerDependencies":{"react":">=18","react-dom":">=18"},"_npmOperationalInternal":{"tmp":"tmp/xray_0.4.0_1781228358640_0.37465048058255146","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"_id":"@stinsky/xray@0.4.1","bugs":{"url":"https://github.com/ivanstnsk/xray/issues"},"dist":{"shasum":"e2780804b56f6416a7b12ced904139b095f57247","tarball":"https://registry.npmjs.org/@stinsky/xray/-/xray-0.4.1.tgz","fileCount":11,"integrity":"sha512-hIB5umXE0QmwNX1onMPVlrPkX+ZLlQ0T8IRu0+NgOdJ9LYnoFf3vQkSp5SuvizZQc0uwg6JceWkll+BFYA0pgQ==","signatures":[{"sig":"MEYCIQCw+SgDICMlCdXN7bW5jRwSppBUY9ZUhhvXvYS9QLiNSAIhAN0BGyplI0ML3Bu24tyrrzFpsQhjv3LAqkrK5PAORJSd","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCIOdtC53OAYxoqpRvCKUfXPwb+1bPEgZDO/b4B98NhPgIgDl6r7QOuCWYrFwY2P+UtyQG3USeolZ35ee5vYlaq7NM="}],"unpackedSize":64423},"main":"./dist/index.cjs","name":"@stinsky/xray","type":"module","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./plugin":{"types":"./dist/plugin.d.ts","import":"./dist/plugin.mjs","require":"./dist/plugin.cjs"}},"gitHead":"e764e70eabd459bc975e59dc0f314248bef99c21","license":"MIT","scripts":{"dev":"tsup --watch","lint":"eslint src/","build":"tsup","typecheck":"tsc --noEmit","prepublishOnly":"tsup"},"version":"0.4.1","_npmUser":{"name":"stinsky","email":"ivan@stinsky.dev"},"homepage":"https://github.com/ivanstnsk/xray#readme","keywords":["react","inspector","devtools","click-to-component","click-to-source","nextjs","turbopack","vite","webpack"],"repository":{"url":"git+https://github.com/ivanstnsk/xray.git","type":"git"},"_npmVersion":"10.1.0","description":"React dev inspector — hover to see component names, click to open source in your editor. Works with React 19 + Turbopack.","directories":{},"maintainers":[{"name":"stinsky","email":"ivan@stinsky.dev"}],"_nodeVersion":"20.9.0","dependencies":{"code-inspector-plugin":"^1.4.5"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","react":"^19.0.0","eslint":"^9.39.4","react-dom":"^19.0.0","@eslint/js":"^9.39.4","typescript":"^5.7.0","@types/node":"^25.5.0","@types/react":"^19.0.0","@types/react-dom":"^19.0.0","typescript-eslint":"^8.57.2","eslint-plugin-react-hooks":"^5.2.0"},"peerDependencies":{"react":">=18","react-dom":">=18"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/xray_0.4.1_1789667598962_0.7493539415469321"}}},"time":{"created":"2026-03-27T13:24:52.963Z","modified":"2026-09-17T17:53:19.213Z","0.1.0":"2026-03-27T13:24:53.154Z","0.2.0":"2026-03-27T13:37:41.162Z","0.2.1":"2026-03-27T13:51:52.776Z","0.3.0":"2026-03-28T05:24:08.284Z","0.3.1":"2026-03-28T05:30:40.339Z","0.3.2":"2026-03-28T05:55:12.437Z","0.3.3":"2026-03-28T06:00:44.750Z","0.4.0":"2026-06-12T01:39:18.784Z","0.4.1":"2026-09-17T17:53:19.064Z"},"bugs":{"url":"https://github.com/ivanstnsk/xray/issues"},"license":"MIT","homepage":"https://github.com/ivanstnsk/xray#readme","keywords":["react","inspector","devtools","click-to-component","click-to-source","nextjs","turbopack","vite","webpack"],"repository":{"url":"git+https://github.com/ivanstnsk/xray.git","type":"git"},"description":"React dev inspector — hover to see component names, click to open source in your editor. Works with React 19 + Turbopack.","maintainers":[{"name":"stinsky","email":"ivan@stinsky.dev"}],"readme":"<p align=\"center\">\n  <img src=\"https://raw.githubusercontent.com/ivanstnsk/xray/main/assets/logo.svg\" width=\"160\" alt=\"xray logo\" />\n</p>\n\n<h1 align=\"center\">@stinsky/xray</h1>\n\n<p align=\"center\">Click-to-component for React 19. Hover any element to see its React component name and source file, click to open in your editor. The only click-to-source inspector that works with React 19, Next.js 15+, and Turbopack.</p>\n\n<p align=\"center\">\n  <a href=\"https://www.npmjs.com/package/@stinsky/xray\"><img src=\"https://img.shields.io/npm/v/@stinsky/xray\" alt=\"npm version\" /></a>\n  <a href=\"./LICENSE\"><img src=\"https://img.shields.io/npm/l/@stinsky/xray\" alt=\"license\" /></a>\n  <img src=\"https://badgen.net/bundlephobia/tree-shaking/@stinsky/xray\" alt=\"tree-shaking\" />\n  <img src=\"https://badgen.net/bundlephobia/minzip/@stinsky/xray\" alt=\"minzipped size\" />\n</p>\n\n<p align=\"center\">\n  <img src=\"https://raw.githubusercontent.com/ivanstnsk/xray/main/assets/xray-preview.gif\" width=\"100%\" alt=\"xray demo\" />\n</p>\n\n## Features\n\n- **Click to open source** — click any element to open its source file in VS Code, WebStorm, IntelliJ, or any editor\n- **Component name overlay** — hover to see the React component name + file path\n- **Works with React 19** — uses compile-time AST injection, not `fiber._debugSource` (removed in React 19)\n- **All bundlers** — Next.js (Turbopack & Webpack), Vite, Webpack, Rspack, esbuild\n- **Zero production cost** — fully tree-shaken, zero bytes in your production bundle\n- **Floating toggle button** — auto-follows the Next.js dev indicator, or freely draggable with snap-to-corner in other setups\n- **Keyboard shortcut** — `Cmd+Shift+X` to toggle (customizable)\n- **Scroll-aware** — rAF-based tracking, works with smooth scrolling libraries (Lenis, etc.)\n- **Interaction blocking** — all clicks/pointer events blocked while inspecting, no accidental navigation\n\n## Why not react-dev-inspector / click-to-react-component / LocatorJS?\n\nReact 19 removed `fiber._debugSource`, which broke every existing click-to-component tool. These packages rely on runtime fiber inspection to find source locations — an approach that no longer works.\n\n`@stinsky/xray` uses [`code-inspector-plugin`](https://github.com/nicolo-ribaudo/code-inspector-plugin) to inject `data-insp-path` attributes at compile time via AST transformation. This is the only approach that works reliably across React 18, React 19, and all modern bundlers.\n\n## Install\n\n```bash\nnpm install -D @stinsky/xray\n```\n\n## Setup\n\n### 1. Add the build plugin\n\nThe plugin injects source location attributes on every DOM element at compile time. It does nothing in production builds.\n\n#### Next.js (Turbopack)\n\n```ts\n// next.config.ts\nimport { xrayPlugin } from '@stinsky/xray/plugin'\n\nconst nextConfig = {\n  turbopack: {\n    rules: xrayPlugin({ bundler: 'turbopack' }),\n  },\n}\n\nexport default nextConfig\n```\n\n#### Next.js (Webpack)\n\n```ts\n// next.config.ts\nimport { xrayPlugin } from '@stinsky/xray/plugin'\n\nconst nextConfig = {\n  webpack: (config) => {\n    config.plugins.push(xrayPlugin({ bundler: 'webpack' }))\n    return config\n  },\n}\n\nexport default nextConfig\n```\n\n#### Vite\n\n```ts\n// vite.config.ts\nimport { xrayPlugin } from '@stinsky/xray/plugin'\n\nexport default {\n  plugins: [xrayPlugin({ bundler: 'vite' })],\n}\n```\n\n#### Webpack\n\n```ts\n// webpack.config.js\nconst { xrayPlugin } = require('@stinsky/xray/plugin')\n\nmodule.exports = {\n  plugins: [xrayPlugin({ bundler: 'webpack' })],\n}\n```\n\n### 2. Add the component\n\n```tsx\n// app/layout.tsx (Next.js) or your root component\nimport { Xray } from '@stinsky/xray'\n\nexport default function Layout({ children }) {\n  return (\n    <html>\n      <body>\n        {children}\n        <Xray />\n      </body>\n    </html>\n  )\n}\n```\n\nThe component is fully tree-shaken in production — zero bytes in your bundle. Bundlers replace `process.env.NODE_ENV`, detect the dead code path, and eliminate the entire inspector along with all its dependencies.\n\n## Usage\n\n- **Toggle**: `Cmd+Shift+X` or click the floating button\n- **Hover**: Shows component name + source file path\n- **Click**: Opens the source file in your editor\n\nAll clicks and pointer events are blocked while the inspector is active, so you won't accidentally trigger links or buttons.\n\n## Props\n\n| Prop | Type | Default | Description |\n|------|------|---------|-------------|\n| `hotKey` | `{ metaKey?, ctrlKey?, altKey?, shiftKey?, key }` | `{ metaKey: true, shiftKey: true, key: 'x' }` | Keyboard shortcut to toggle |\n| `port` | `number` | `5678` | `code-inspector-plugin` server port |\n| `color` | `string` | `'#6366f1'` | Accent color for overlay, tooltip, and button |\n| `showButton` | `boolean` | `true` | Show the floating toggle button |\n| `followNextIndicator` | `boolean` | `true` | Position button next to the Next.js dev indicator |\n\n## Plugin options\n\n| Option | Type | Default | Description |\n|--------|------|---------|-------------|\n| `bundler` | `'webpack' \\| 'vite' \\| 'turbopack' \\| 'rspack' \\| 'esbuild'` | — | **Required.** Your bundler |\n| `editor` | `string` | `'code'` | Editor to open files in (`code`, `webstorm`, `idea`, etc.) |\n\n## Acknowledgments\n\nBuilt on top of [`code-inspector-plugin`](https://github.com/zh-lx/code-inspector), which handles the compile-time AST injection and editor integration.\n\n## License\n\nMIT\n","readmeFilename":"README.md"}