{"_id":"jankmeter","_rev":"7-ac48d254ac35dcc20e730c8a7cbae4f4","name":"jankmeter","dist-tags":{"latest":"0.1.6"},"versions":{"0.1.0":{"name":"jankmeter","version":"0.1.0","keywords":["performance","monitoring","fps","jank","react","devtools","toolbar"],"author":{"name":"dylsteck"},"license":"MIT","_id":"jankmeter@0.1.0","maintainers":[{"name":"dylsteck","email":"dylancsteck@gmail.com"}],"homepage":"https://github.com/dylsteck/jankmeter#readme","bugs":{"url":"https://github.com/dylsteck/jankmeter/issues"},"dist":{"shasum":"91fc16503e68aa1ba3862c34784f627c6e17dec2","tarball":"https://registry.npmjs.org/jankmeter/-/jankmeter-0.1.0.tgz","fileCount":29,"integrity":"sha512-Dkh6ZcZ6lOsllXNrsYGcbxpp4omW4PzsbA0dsPoZg47zEu4m89M1Wn6r9oMQHaGc3H5/A0SyR4qkjZixmWPTKQ==","signatures":[{"sig":"MEYCIQCuY7tKFnhv18/hd0iobPsigQmicJ7omFs2yflkHzdHPgIhANZEMJka3KynymJuNfvMjK2pUmVc9TRZ4El6MzfsppyA","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":242142},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"default":{"import":"./dist/noop.js","require":"./dist/noop.cjs"},"development":{"import":"./dist/index.js","require":"./dist/index.cjs"}},"./next":{"default":{"import":"./dist/noop.js","require":"./dist/noop.cjs"},"development":{"import":"./dist/next/index.js","require":"./dist/next/index.cjs"}},"./vite":{"default":{"import":"./dist/noop.js","require":"./dist/noop.cjs"},"development":{"import":"./dist/vite/index.js","require":"./dist/vite/index.cjs"}},"./react":{"default":{"import":"./dist/noop.js","require":"./dist/noop.cjs"},"development":{"import":"./dist/react/index.js","require":"./dist/react/index.cjs"}},"./webpack":{"default":{"import":"./dist/noop.js","require":"./dist/noop.cjs"},"development":{"import":"./dist/webpack/index.js","require":"./dist/webpack/index.cjs"}}},"gitHead":"d23816422eb8a3fc734dcba16eafdbdc824ed52d","scripts":{"dev":"tsup --watch","test":"bun test","build":"tsup && node scripts/add-use-client.mjs","prepublishOnly":"bun run build"},"_npmUser":{"name":"dylsteck","email":"dylancsteck@gmail.com"},"repository":{"url":"git+https://github.com/dylsteck/jankmeter.git","type":"git"},"_npmVersion":"10.5.1","description":"Real-time performance monitoring toolbar for React apps","directories":{},"sideEffects":false,"_nodeVersion":"25.2.1","_hasShrinkwrap":false,"packageManager":"bun@1.1.0","devDependencies":{"tsup":"^8.5.1","typescript":"^5.9.3","@types/node":"^25.5.0","@types/react":"^19.2.14"},"peerDependencies":{"next":">=13","vite":">=4","bippy":">=0.5","react":">=17","webpack":">=5","react-dom":">=17"},"peerDependenciesMeta":{"next":{"optional":true},"vite":{"optional":true},"bippy":{"optional":true},"react":{"optional":true},"webpack":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/jankmeter_0.1.0_1773629107380_0.893847298484354","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"jankmeter","version":"0.1.1","keywords":["performance","monitoring","fps","jank","react","devtools","toolbar"],"author":{"name":"dylsteck"},"license":"MIT","_id":"jankmeter@0.1.1","maintainers":[{"name":"dylsteck","email":"dylancsteck@gmail.com"}],"homepage":"https://jankmeter.vercel.app","bugs":{"url":"https://github.com/dylsteck/jankmeter/issues"},"dist":{"shasum":"ee897bb19fe6c10c18d4e0ae8ec04b8733080f13","tarball":"https://registry.npmjs.org/jankmeter/-/jankmeter-0.1.1.tgz","fileCount":29,"integrity":"sha512-ZZgTS0tyEDlWwMVEDzaMxhYsjggVdwPCn+8b8w/TzsFrWruKYNzqsKY2CAq7/Ue5OLXTHvoHO1AhKIuLa5eLvw==","signatures":[{"sig":"MEQCIEjrCvyVz/8P7coANYMdnfuidAhvSxiD+61vdDMvevEmAiBvZFD3Kqqu7xhkJB/Q0M/ybVqoD9Im06xnEWK59iQLYw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":242400},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"default":{"import":"./dist/noop.js","require":"./dist/noop.cjs"},"development":{"import":"./dist/index.js","require":"./dist/index.cjs"}},"./next":{"default":{"import":"./dist/noop.js","require":"./dist/noop.cjs"},"development":{"import":"./dist/next/index.js","require":"./dist/next/index.cjs"}},"./vite":{"default":{"import":"./dist/noop.js","require":"./dist/noop.cjs"},"development":{"import":"./dist/vite/index.js","require":"./dist/vite/index.cjs"}},"./react":{"default":{"import":"./dist/noop.js","require":"./dist/noop.cjs"},"development":{"import":"./dist/react/index.js","require":"./dist/react/index.cjs"}},"./webpack":{"default":{"import":"./dist/noop.js","require":"./dist/noop.cjs"},"development":{"import":"./dist/webpack/index.js","require":"./dist/webpack/index.cjs"}}},"gitHead":"7a8430d3f462c5577328114a36d92393126f3076","scripts":{"dev":"tsup --watch","test":"bun test","build":"tsup && node scripts/add-use-client.mjs","release":"npm publish && gh release create v$(node -p \"require('./package.json').version\") --title \"v$(node -p \"require('./package.json').version\")\" --notes \"Release v$(node -p \"require('./package.json').version\")\"","prepublishOnly":"bun run build"},"_npmUser":{"name":"dylsteck","email":"dylancsteck@gmail.com"},"repository":{"url":"git+https://github.com/dylsteck/jankmeter.git","type":"git"},"_npmVersion":"11.11.1","description":"Real-time performance monitoring toolbar for React apps","directories":{},"sideEffects":false,"_nodeVersion":"25.2.1","dependencies":{"bippy":">=0.5"},"_hasShrinkwrap":false,"packageManager":"bun@1.1.0","devDependencies":{"tsup":"^8.5.1","typescript":"^5.9.3","@types/node":"^25.5.0","@types/react":"^19.2.14"},"peerDependencies":{"next":">=13","vite":">=4","react":">=17","webpack":">=5","react-dom":">=17"},"peerDependenciesMeta":{"next":{"optional":true},"vite":{"optional":true},"react":{"optional":true},"webpack":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/jankmeter_0.1.1_1773702829233_0.20734189467542707","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"jankmeter","version":"0.1.2","keywords":["performance","monitoring","fps","jank","react","devtools","toolbar"],"author":{"name":"dylsteck"},"license":"MIT","_id":"jankmeter@0.1.2","maintainers":[{"name":"dylsteck","email":"dylancsteck@gmail.com"}],"homepage":"https://jankmeter.vercel.app","bugs":{"url":"https://github.com/dylsteck/jankmeter/issues"},"dist":{"shasum":"d9700377620e88052d2607486b437cc065c9bf16","tarball":"https://registry.npmjs.org/jankmeter/-/jankmeter-0.1.2.tgz","fileCount":29,"integrity":"sha512-uz8XX82tT/1B/HeCHutsRp083hz+qxlknli4pTlohUVYiQuYr9xaAfk6Zu6lqZiqtXLHthYIB8Zg7BFCzXt+Wg==","signatures":[{"sig":"MEYCIQDbcMmooQT/0Zby1t6nSBdhKjwkYV8ZMHFOFztE1SlxfwIhALzTk11pwfH1u2Pbghdm/Iam8WOVe8NMghCm93QtfxsR","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":242604},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","default":{"import":"./dist/noop.js","require":"./dist/noop.cjs"},"development":{"import":"./dist/index.js","require":"./dist/index.cjs"}},"./next":{"types":"./dist/next/index.d.ts","default":{"import":"./dist/noop.js","require":"./dist/noop.cjs"},"development":{"import":"./dist/next/index.js","require":"./dist/next/index.cjs"}},"./vite":{"types":"./dist/vite/index.d.ts","default":{"import":"./dist/noop.js","require":"./dist/noop.cjs"},"development":{"import":"./dist/vite/index.js","require":"./dist/vite/index.cjs"}},"./react":{"types":"./dist/react/index.d.ts","default":{"import":"./dist/noop.js","require":"./dist/noop.cjs"},"development":{"import":"./dist/react/index.js","require":"./dist/react/index.cjs"}},"./webpack":{"types":"./dist/webpack/index.d.ts","default":{"import":"./dist/noop.js","require":"./dist/noop.cjs"},"development":{"import":"./dist/webpack/index.js","require":"./dist/webpack/index.cjs"}}},"gitHead":"b28e1d1798959012e1d1707b42015a3395b51614","scripts":{"dev":"tsup --watch","test":"bun test","build":"tsup && node scripts/add-use-client.mjs","release":"npm publish && gh release create v$(node -p \"require('./package.json').version\") --title \"v$(node -p \"require('./package.json').version\")\" --notes \"Release v$(node -p \"require('./package.json').version\")\"","prepublishOnly":"bun run build"},"_npmUser":{"name":"dylsteck","email":"dylancsteck@gmail.com"},"repository":{"url":"git+https://github.com/dylsteck/jankmeter.git","type":"git"},"_npmVersion":"11.11.1","description":"Real-time performance monitoring toolbar for React apps","directories":{},"sideEffects":false,"_nodeVersion":"25.2.1","dependencies":{"bippy":">=0.5"},"_hasShrinkwrap":false,"packageManager":"bun@1.1.0","devDependencies":{"tsup":"^8.5.1","typescript":"^5.9.3","@types/node":"^25.5.0","@types/react":"^19.2.14"},"peerDependencies":{"next":">=13","vite":">=4","react":">=17","webpack":">=5","react-dom":">=17"},"peerDependenciesMeta":{"next":{"optional":true},"vite":{"optional":true},"react":{"optional":true},"webpack":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/jankmeter_0.1.2_1773703412282_0.13255816377524887","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"jankmeter","version":"0.1.3","keywords":["performance","monitoring","fps","jank","react","devtools","toolbar"],"author":{"name":"dylsteck"},"license":"MIT","_id":"jankmeter@0.1.3","maintainers":[{"name":"dylsteck","email":"dylancsteck@gmail.com"}],"homepage":"https://jankmeter.vercel.app","bugs":{"url":"https://github.com/dylsteck/jankmeter/issues"},"dist":{"shasum":"f94c06694c42fe352a04b51b9d34bc51ae0ab8e3","tarball":"https://registry.npmjs.org/jankmeter/-/jankmeter-0.1.3.tgz","fileCount":29,"integrity":"sha512-fQbsby/bx8Dkf65cSuNId2gHUJjvdaXK+gCBqCqmfm72mBWRVJH/UX4vtqmzDMmU25y0vmKNblXdDTiTF/1d4g==","signatures":[{"sig":"MEUCIFBAsQTE5xaZxP/8qUtdtNWwXFaoP4hsgtiiS+svvFhIAiEAlKHJdysmTmICJPh3BLAetDXZj8+0j11/LBAz5/XKIs4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":243046},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","default":{"import":"./dist/noop.js","require":"./dist/noop.cjs"},"development":{"import":"./dist/index.js","require":"./dist/index.cjs"}},"./next":{"types":"./dist/next/index.d.ts","default":{"import":"./dist/noop.js","require":"./dist/noop.cjs"},"development":{"import":"./dist/next/index.js","require":"./dist/next/index.cjs"}},"./vite":{"types":"./dist/vite/index.d.ts","default":{"import":"./dist/noop.js","require":"./dist/noop.cjs"},"development":{"import":"./dist/vite/index.js","require":"./dist/vite/index.cjs"}},"./react":{"types":"./dist/react/index.d.ts","default":{"import":"./dist/noop.js","require":"./dist/noop.cjs"},"development":{"import":"./dist/react/index.js","require":"./dist/react/index.cjs"}},"./webpack":{"types":"./dist/webpack/index.d.ts","default":{"import":"./dist/noop.js","require":"./dist/noop.cjs"},"development":{"import":"./dist/webpack/index.js","require":"./dist/webpack/index.cjs"}}},"gitHead":"551d19422da8a6e0e4814bb0bf65e84d92ce4695","scripts":{"dev":"tsup --watch","test":"bun test","build":"tsup && node scripts/add-use-client.mjs","release":"npm publish && gh release create v$(node -p \"require('./package.json').version\") --title \"v$(node -p \"require('./package.json').version\")\" --notes \"Release v$(node -p \"require('./package.json').version\")\"","prepublishOnly":"bun run build"},"_npmUser":{"name":"dylsteck","email":"dylancsteck@gmail.com"},"repository":{"url":"git+https://github.com/dylsteck/jankmeter.git","type":"git"},"_npmVersion":"11.11.1","description":"Real-time performance monitoring toolbar for React apps","directories":{},"sideEffects":false,"_nodeVersion":"25.2.1","dependencies":{"bippy":">=0.5"},"_hasShrinkwrap":false,"packageManager":"bun@1.1.0","devDependencies":{"tsup":"^8.5.1","typescript":"^5.9.3","@types/node":"^25.5.0","@types/react":"^19.2.14"},"peerDependencies":{"next":">=13","vite":">=4","react":">=17","webpack":">=5","react-dom":">=17"},"peerDependenciesMeta":{"next":{"optional":true},"vite":{"optional":true},"react":{"optional":true},"webpack":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/jankmeter_0.1.3_1773703643166_0.6313609618710614","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"jankmeter","version":"0.1.4","keywords":["performance","monitoring","fps","jank","react","devtools","toolbar"],"author":{"name":"dylsteck"},"license":"MIT","_id":"jankmeter@0.1.4","maintainers":[{"name":"dylsteck","email":"dylancsteck@gmail.com"}],"homepage":"https://jankmeter.vercel.app","bugs":{"url":"https://github.com/dylsteck/jankmeter/issues"},"dist":{"shasum":"f214a3fadc53616df0a034f96932889badd03e61","tarball":"https://registry.npmjs.org/jankmeter/-/jankmeter-0.1.4.tgz","fileCount":29,"integrity":"sha512-5UW0UC64bk2RpsCj/EEcOHTGIHCaucfhVz28bE17/e+6qli65EHrrzsJ7MZQxJ7tvdfcldY4QxkhFAmhEXTtGw==","signatures":[{"sig":"MEUCIHbuKO577RQqkaxoDim91qdYTkgnq6Tb827y/qr3Be8nAiEAveHzLnSgcrWEno1xKDzBwr54DpPWXYzsFrWlH/EqbSE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":246558},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","default":{"import":"./dist/noop.js","require":"./dist/noop.cjs"},"development":{"import":"./dist/index.js","require":"./dist/index.cjs"}},"./next":{"types":"./dist/next/index.d.ts","default":{"import":"./dist/noop.js","require":"./dist/noop.cjs"},"development":{"import":"./dist/next/index.js","require":"./dist/next/index.cjs"}},"./vite":{"types":"./dist/vite/index.d.ts","default":{"import":"./dist/noop.js","require":"./dist/noop.cjs"},"development":{"import":"./dist/vite/index.js","require":"./dist/vite/index.cjs"}},"./react":{"types":"./dist/react/index.d.ts","default":{"import":"./dist/noop.js","require":"./dist/noop.cjs"},"development":{"import":"./dist/react/index.js","require":"./dist/react/index.cjs"}},"./webpack":{"types":"./dist/webpack/index.d.ts","default":{"import":"./dist/noop.js","require":"./dist/noop.cjs"},"development":{"import":"./dist/webpack/index.js","require":"./dist/webpack/index.cjs"}}},"gitHead":"1770b208e8bf0c57262fe8723642eb976f3e4989","scripts":{"dev":"tsup --watch","test":"bun test","build":"tsup && node scripts/add-use-client.mjs","release":"npm publish && gh release create v$(node -p \"require('./package.json').version\") --title \"v$(node -p \"require('./package.json').version\")\" --notes \"Release v$(node -p \"require('./package.json').version\")\"","prepublishOnly":"bun run build"},"_npmUser":{"name":"dylsteck","email":"dylancsteck@gmail.com"},"repository":{"url":"git+https://github.com/dylsteck/jankmeter.git","type":"git"},"_npmVersion":"11.11.1","description":"Real-time performance monitoring toolbar for React apps","directories":{},"sideEffects":false,"_nodeVersion":"25.2.1","dependencies":{"bippy":">=0.5"},"_hasShrinkwrap":false,"packageManager":"bun@1.1.0","devDependencies":{"tsup":"^8.5.1","typescript":"^5.9.3","@types/node":"^25.5.0","@types/react":"^19.2.14"},"peerDependencies":{"next":">=13","vite":">=4","react":">=17","webpack":">=5","react-dom":">=17"},"peerDependenciesMeta":{"next":{"optional":true},"vite":{"optional":true},"react":{"optional":true},"webpack":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/jankmeter_0.1.4_1773704007101_0.6165781372680061","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"jankmeter","version":"0.1.5","keywords":["performance","monitoring","fps","jank","react","devtools","toolbar"],"author":{"name":"dylsteck"},"license":"MIT","_id":"jankmeter@0.1.5","maintainers":[{"name":"dylsteck","email":"dylancsteck@gmail.com"}],"homepage":"https://jankmeter.vercel.app","bugs":{"url":"https://github.com/dylsteck/jankmeter/issues"},"dist":{"shasum":"fb293fdc5585de23281dbbded62c236884b4015c","tarball":"https://registry.npmjs.org/jankmeter/-/jankmeter-0.1.5.tgz","fileCount":29,"integrity":"sha512-L6msja+PZzb6xiO1pMIl+QWiE81oH3Fhg/olisvGnGHS65HVaooBdh0y9SobyfQNbHJds4K+0B8Qlz14VvgW0w==","signatures":[{"sig":"MEQCIH9LLfhkpXQ3HxarTMy5TY2HXI3hg6KPojB7JLnGey/aAiAiD7MEvO+UXSQFr2hqG0cXbJYtgk1sM5yfyZSV5CpX6A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":248513},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","default":{"import":"./dist/noop.js","require":"./dist/noop.cjs"},"development":{"import":"./dist/index.js","require":"./dist/index.cjs"}},"./next":{"types":"./dist/next/index.d.ts","default":{"import":"./dist/noop.js","require":"./dist/noop.cjs"},"development":{"import":"./dist/next/index.js","require":"./dist/next/index.cjs"}},"./vite":{"types":"./dist/vite/index.d.ts","default":{"import":"./dist/noop.js","require":"./dist/noop.cjs"},"development":{"import":"./dist/vite/index.js","require":"./dist/vite/index.cjs"}},"./react":{"types":"./dist/react/index.d.ts","default":{"import":"./dist/noop.js","require":"./dist/noop.cjs"},"development":{"import":"./dist/react/index.js","require":"./dist/react/index.cjs"}},"./webpack":{"types":"./dist/webpack/index.d.ts","default":{"import":"./dist/noop.js","require":"./dist/noop.cjs"},"development":{"import":"./dist/webpack/index.js","require":"./dist/webpack/index.cjs"}}},"gitHead":"b72279a92007be1fdf33f4d8165abf4e8017849b","scripts":{"dev":"tsup --watch","test":"bun test","build":"tsup && node scripts/add-use-client.mjs","release":"npm publish && gh release create v$(node -p \"require('./package.json').version\") --title \"v$(node -p \"require('./package.json').version\")\" --notes \"Release v$(node -p \"require('./package.json').version\")\"","prepublishOnly":"bun run build"},"_npmUser":{"name":"dylsteck","email":"dylancsteck@gmail.com"},"repository":{"url":"git+https://github.com/dylsteck/jankmeter.git","type":"git"},"_npmVersion":"11.11.1","description":"Real-time performance monitoring toolbar for React apps","directories":{},"sideEffects":false,"_nodeVersion":"25.2.1","dependencies":{"bippy":">=0.5"},"_hasShrinkwrap":false,"packageManager":"bun@1.1.0","devDependencies":{"tsup":"^8.5.1","typescript":"^5.9.3","@types/node":"^25.5.0","@types/react":"^19.2.14"},"peerDependencies":{"next":">=13","vite":">=4","react":">=17","webpack":">=5","react-dom":">=17"},"peerDependenciesMeta":{"next":{"optional":true},"vite":{"optional":true},"react":{"optional":true},"webpack":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/jankmeter_0.1.5_1773711085233_0.8583737508023499","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"jankmeter","version":"0.1.6","type":"module","description":"Real-time performance monitoring toolbar for React apps","author":{"name":"dylsteck"},"packageManager":"bun@1.1.0","sideEffects":false,"exports":{".":{"types":"./dist/index.d.ts","development":{"import":"./dist/index.js","require":"./dist/index.cjs"},"default":{"import":"./dist/noop.js","require":"./dist/noop.cjs"}},"./react":{"types":"./dist/react/index.d.ts","development":{"import":"./dist/react/index.js","require":"./dist/react/index.cjs"},"default":{"import":"./dist/noop.js","require":"./dist/noop.cjs"}},"./vite":{"types":"./dist/vite/index.d.ts","development":{"import":"./dist/vite/index.js","require":"./dist/vite/index.cjs"},"default":{"import":"./dist/noop.js","require":"./dist/noop.cjs"}},"./webpack":{"types":"./dist/webpack/index.d.ts","development":{"import":"./dist/webpack/index.js","require":"./dist/webpack/index.cjs"},"default":{"import":"./dist/noop.js","require":"./dist/noop.cjs"}},"./next":{"types":"./dist/next/index.d.ts","development":{"import":"./dist/next/index.js","require":"./dist/next/index.cjs"},"default":{"import":"./dist/noop.js","require":"./dist/noop.cjs"}}},"main":"./dist/index.cjs","module":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"build":"tsup && node scripts/add-use-client.mjs","dev":"tsup --watch","test":"bun test","prepublishOnly":"bun run build","release":"npm publish && gh release create v$(node -p \"require('./package.json').version\") --title \"v$(node -p \"require('./package.json').version\")\" --notes \"Release v$(node -p \"require('./package.json').version\")\""},"dependencies":{"bippy":">=0.5"},"peerDependencies":{"react":">=17","react-dom":">=17","vite":">=4","webpack":">=5","next":">=13"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true},"vite":{"optional":true},"webpack":{"optional":true},"next":{"optional":true}},"devDependencies":{"@types/node":"^25.5.0","@types/react":"^19.2.14","tsup":"^8.5.1","typescript":"^5.9.3"},"homepage":"https://jankmeter.vercel.app","license":"MIT","repository":{"type":"git","url":"git+https://github.com/dylsteck/jankmeter.git"},"keywords":["performance","monitoring","fps","jank","react","devtools","toolbar"],"gitHead":"5234306d3937cbe7b731ba2264ad32bdd43630cb","_id":"jankmeter@0.1.6","bugs":{"url":"https://github.com/dylsteck/jankmeter/issues"},"_nodeVersion":"25.2.1","_npmVersion":"11.11.1","dist":{"integrity":"sha512-HKTUIanghCEmoXFZZCTfSB2Uh8kH6cNEmi02fDEN6JlWzlGtL+o7vsB3UVCZzZaOFvNqCcKzk8ea6umZo5Cl9Q==","shasum":"6d870a7261a91f4fc6d60aa9e221ebab46250fb7","tarball":"https://registry.npmjs.org/jankmeter/-/jankmeter-0.1.6.tgz","fileCount":29,"unpackedSize":158951,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIC8XPMsOa1s/X6N8rT0oNqqWjru2vQ2qrMZok7J25Wh9AiAS+XnSywVt3H1uKssPWMLlf3DlCGBzs8nYqGeAtHGYAw=="}]},"_npmUser":{"name":"dylsteck","email":"dylancsteck@gmail.com"},"directories":{},"maintainers":[{"name":"dylsteck","email":"dylancsteck@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/jankmeter_0.1.6_1773712490528_0.05837136753617633"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-16T02:45:07.379Z","modified":"2026-03-17T01:54:50.804Z","0.1.0":"2026-03-16T02:45:07.546Z","0.1.1":"2026-03-16T23:13:49.374Z","0.1.2":"2026-03-16T23:23:32.447Z","0.1.3":"2026-03-16T23:27:23.366Z","0.1.4":"2026-03-16T23:33:27.255Z","0.1.5":"2026-03-17T01:31:25.385Z","0.1.6":"2026-03-17T01:54:50.687Z"},"bugs":{"url":"https://github.com/dylsteck/jankmeter/issues"},"author":{"name":"dylsteck"},"license":"MIT","homepage":"https://jankmeter.vercel.app","keywords":["performance","monitoring","fps","jank","react","devtools","toolbar"],"repository":{"type":"git","url":"git+https://github.com/dylsteck/jankmeter.git"},"description":"Real-time performance monitoring toolbar for React apps","maintainers":[{"name":"dylsteck","email":"dylancsteck@gmail.com"}],"readme":"# jankmeter\n\nReal-time performance monitoring toolbar for React apps. FPS, jank %, input delay, memory, network, React renders, and hydration timing — all in one zero-config overlay. Inspired by [Linear's developer toolbar](https://x.com/karrisaarinen/status/2025002840683675725) and built by [dylsteck](https://github.com/dylsteck).\n\n## Demo\n\nhttps://github.com/user-attachments/assets/f3f2d6c2-c7b6-489d-b869-9a07f978f4c9\n\n## Quick Start\n\n### React Component (recommended)\n\n```tsx\n// App.tsx or layout.tsx\nimport { JankMeter } from 'jankmeter/react';\n\nexport default function App() {\n  return (\n    <>\n      <JankMeter />\n      {/* your app */}\n    </>\n  );\n}\n```\n\n### Vite Plugin\n\n```ts\n// vite.config.ts\nimport { jankMeter } from 'jankmeter/vite';\n\nexport default {\n  plugins: [jankMeter()],\n};\n```\n\nFor callbacks like `onMetrics`, use `init()` directly; the plugin only supports serializable config.\n\n### Next.js (App Router)\n\n```tsx\n// app/layout.tsx\nimport { JankMeter } from 'jankmeter/next';\n\nexport default function RootLayout({ children }) {\n  return (\n    <html>\n      <body>\n        <JankMeter />\n        {children}\n      </body>\n    </html>\n  );\n}\n```\n\n### Script\n\n```ts\nimport { init, destroy, getMetrics } from 'jankmeter';\n\ninit({\n  onMetrics: (m) => console.log(m),\n});\n\n// Later: destroy();\n```\n\n## Metrics\n\n| Metric | Source | Browsers |\n|--------|--------|----------|\n| **FPS** | `requestAnimationFrame` rolling window | All |\n| **Jank %** | Dropped frames / expected frames | All |\n| **Delay** | Event Timing API (INP-style) | Chrome 96+ |\n| **Memory** | `performance.memory` | Chrome only |\n| **Network** | fetch/XHR instrumentation + PerformanceObserver | All |\n| **React** | [bippy](https://github.com/aidenybai/bippy) + DevTools hook | All (with React) |\n| **Hydration** | First commit timing | All (with SSR) |\n\n## Configuration\n\n```ts\ninterface JankMeterConfig {\n  enabled?: boolean;        // default: true\n  shortcut?: string;        // default: 'Ctrl+Shift+M' — supports 'F2', 'Ctrl+Shift+K', etc.\n  throttleMs?: number;      // DOM update interval, default: 500\n  maxHistory?: number;      // sparkline data points, default: 60\n  onMetrics?: (metrics: AllMetrics) => void;\n}\n```\n\n## Features\n\n- **Zero config** — drop in and go\n- **Shadow DOM** — styles never leak into your app\n- **Auto-calibrates** — detects 60/90/120/144Hz displays\n- **Keyboard shortcut** — `Ctrl+Shift+M` by default, configurable (e.g. `F2`, `Ctrl+Shift+K`)\n- **Minimize to dot** — severity-colored indicator\n- **Download** — export metrics as JSON\n- **Network URL redaction** — query strings and fragments stripped before storage to avoid leaking tokens in metrics/downloads\n- **Production safe** — three layers of tree-shaking (conditional exports, runtime guard, `sideEffects: false`)\n- **SSR safe** — no-ops on the server\n\n## Webpack Plugin\n\n```ts\n// webpack.config.js\nconst { JankMeterWebpackPlugin } = require('jankmeter/webpack');\n\nmodule.exports = {\n  plugins: [new JankMeterWebpackPlugin()],\n};\n```\n\nRequires `html-webpack-plugin`. Dev mode only — automatically disabled in production builds. For callbacks like `onMetrics`, use `init()` directly; the plugin only supports serializable config.\n\n## Programmatic API\n\n```ts\nimport { getMetrics } from 'jankmeter';\n\nconst snapshot = getMetrics();\n// { fps, delay, memory, network, react, hydration }\n```\n\n## Browser Support\n\n| Browser | FPS | Delay | Memory | Network | React |\n|---------|-----|-------|--------|---------|-------|\n| Chrome 96+ | Full | Full | Full | Full | Full |\n| Firefox | Full | N/A | N/A | Full | Full |\n| Safari | Full | N/A | N/A | Full | Full |\n| Edge | Full | Full | Full | Full | Full |\n\n## Contributing\n\nSee [CONTRIBUTING.md](CONTRIBUTING.md) for how to contribute.\n\n## License\n\n[MIT](LICENSE.md)\n","readmeFilename":"README.md"}