{"_id":"@airnauts/comments-next","_rev":"9-808cae71668b4d0254121a04de82adb6","name":"@airnauts/comments-next","dist-tags":{"latest":"0.7.0"},"versions":{"0.1.0":{"name":"@airnauts/comments-next","version":"0.1.0","keywords":["comments","commenting","annotations","feedback","airnauts","next","nextjs"],"author":{"name":"Airnauts"},"license":"MIT","_id":"@airnauts/comments-next@0.1.0","maintainers":[{"name":"jkrzemie","email":"hello@airnauts.com"},{"name":"mateuszpaulski","email":"mateusz@airnauts.com"}],"homepage":"https://github.com/Airnauts/commenting-tool#readme","bugs":{"url":"https://github.com/Airnauts/commenting-tool/issues"},"dist":{"shasum":"9aec3d7532363e5428b326fed08e9afe35fa7f16","tarball":"https://registry.npmjs.org/@airnauts/comments-next/-/comments-next-0.1.0.tgz","fileCount":7,"integrity":"sha512-DiAXg15yFyY7CEKQJ9kBgthEvLHSfxpe2kBoi/UiuTon1kIR+FG1OWe2sKDMLg5L73F0YqQjOD8ZymXglT3c/Q==","signatures":[{"sig":"MEUCIQCpMMMSH9SoohlOMaxjKOEBfbfF/7OfE/0//lqgLFMIFQIgMfMXZdRLPnTiM8JLLZlmaAO8Dtt0lhOeiyPiedGyV1A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5438},"type":"module","_from":"file:airnauts-comments-next-0.1.0.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsup && tsc --build --force","typecheck":"tsc --build"},"_npmUser":{"name":"mateuszpaulski","email":"mateusz@airnauts.com"},"_resolved":"/private/var/folders/2n/cymmpn8j3p962bjb2kqxq7n80000gn/T/6bbfc1ff1027869a18c8177e3f572f30/airnauts-comments-next-0.1.0.tgz","_integrity":"sha512-DiAXg15yFyY7CEKQJ9kBgthEvLHSfxpe2kBoi/UiuTon1kIR+FG1OWe2sKDMLg5L73F0YqQjOD8ZymXglT3c/Q==","repository":{"url":"git+https://github.com/Airnauts/commenting-tool.git","type":"git","directory":"packages/next"},"_npmVersion":"10.9.2","description":"Next.js App Router integration for the Airnauts commenting tool server.","directories":{},"_nodeVersion":"22.13.0","dependencies":{"@airnauts/comments-server":"^0.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@airnauts/comments-core":"0.1.0","@airnauts/comments-test-support":"0.0.0","@airnauts/comments-adapter-memory":"0.1.0"},"_npmOperationalInternal":{"tmp":"tmp/comments-next_0.1.0_1780410891022_0.5226105801012126","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Renamed to @airnauts/airside-integration-next — install that instead. No longer maintained."},"0.2.0":{"name":"@airnauts/comments-next","version":"0.2.0","keywords":["comments","commenting","annotations","feedback","airnauts","next","nextjs"],"author":{"name":"Airnauts"},"license":"MIT","_id":"@airnauts/comments-next@0.2.0","maintainers":[{"name":"jkrzemie","email":"hello@airnauts.com"},{"name":"mateuszpaulski","email":"mateusz@airnauts.com"}],"homepage":"https://github.com/Airnauts/commenting-tool#readme","bugs":{"url":"https://github.com/Airnauts/commenting-tool/issues"},"dist":{"shasum":"a1f25ae0702dd3c3d709b38956fb7c03cb3ca4b9","tarball":"https://registry.npmjs.org/@airnauts/comments-next/-/comments-next-0.2.0.tgz","fileCount":7,"integrity":"sha512-kRyCF+sxSARJ93IJPnNmh+Q+cpiIycjTNF7jCWMiM0xzSBlDe80FbBy3ZVq7l8JTfnsOiC69LTXvH+1Snht0GA==","signatures":[{"sig":"MEQCIHiesaAE/RwXEAIQ8o3blVReWX9BO89yLyWpXr5Ahfn0AiAINmFxUChffWGNEnBE74zHLCmDOlGhOrq9+XlyF9WJgw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6271},"type":"module","_from":"file:airnauts-comments-next-0.2.0.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsup && tsc --build --force","typecheck":"tsc --build"},"_npmUser":{"name":"mateuszpaulski","email":"mateusz@airnauts.com"},"_resolved":"/tmp/c658f59158bc8cef123a1e97069de701/airnauts-comments-next-0.2.0.tgz","_integrity":"sha512-kRyCF+sxSARJ93IJPnNmh+Q+cpiIycjTNF7jCWMiM0xzSBlDe80FbBy3ZVq7l8JTfnsOiC69LTXvH+1Snht0GA==","repository":{"url":"git+https://github.com/Airnauts/commenting-tool.git","type":"git","directory":"packages/next"},"_npmVersion":"10.9.8","description":"Next.js App Router integration for the Airnauts commenting tool server.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"@airnauts/comments-server":"^0.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@airnauts/comments-core":"0.1.0","@airnauts/comments-test-support":"0.0.0","@airnauts/comments-adapter-memory":"0.1.0"},"_npmOperationalInternal":{"tmp":"tmp/comments-next_0.2.0_1780482039311_0.7207003220672707","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Renamed to @airnauts/airside-integration-next — install that instead. No longer maintained."},"0.3.0":{"name":"@airnauts/comments-next","version":"0.3.0","keywords":["comments","commenting","annotations","feedback","airnauts","next","nextjs"],"author":{"name":"Airnauts"},"license":"MIT","_id":"@airnauts/comments-next@0.3.0","maintainers":[{"name":"jkrzemie","email":"hello@airnauts.com"},{"name":"mateuszpaulski","email":"mateusz@airnauts.com"}],"homepage":"https://github.com/Airnauts/commenting-tool#readme","bugs":{"url":"https://github.com/Airnauts/commenting-tool/issues"},"dist":{"shasum":"5e118eeda265ad3a84c50c287918e6be1268760b","tarball":"https://registry.npmjs.org/@airnauts/comments-next/-/comments-next-0.3.0.tgz","fileCount":7,"integrity":"sha512-a8souS9FyWt89pn7lNZPHtJR5r9UMHjDL9n5TWVI2sVnHBc8CL0evrj/3qxa+aJvZnHT6pItZTKiijqgZWZWSQ==","signatures":[{"sig":"MEUCIDWS4q2+vLjY4GtmQZICNJMLVeSaPttg0GsiWcrYDrtzAiEAhUc6IzN3MZvN4BvrbnOHx3cX43Z7YwoRh680TaHDJe0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7100},"type":"module","_from":"file:airnauts-comments-next-0.3.0.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsup && tsc --build --force","typecheck":"tsc --build"},"_npmUser":{"name":"mateuszpaulski","email":"mateusz@airnauts.com"},"_resolved":"/tmp/61c22f1c062c5b4a02ac49fabff493b1/airnauts-comments-next-0.3.0.tgz","_integrity":"sha512-a8souS9FyWt89pn7lNZPHtJR5r9UMHjDL9n5TWVI2sVnHBc8CL0evrj/3qxa+aJvZnHT6pItZTKiijqgZWZWSQ==","repository":{"url":"git+https://github.com/Airnauts/commenting-tool.git","type":"git","directory":"packages/next"},"_npmVersion":"10.9.8","description":"Next.js App Router integration for the Airnauts commenting tool server.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"@airnauts/comments-server":"^0.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@airnauts/comments-core":"0.2.0","@airnauts/comments-test-support":"0.0.0","@airnauts/comments-adapter-memory":"0.2.0"},"_npmOperationalInternal":{"tmp":"tmp/comments-next_0.3.0_1780913164746_0.9432712981129694","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Renamed to @airnauts/airside-integration-next — install that instead. No longer maintained."},"0.4.0":{"name":"@airnauts/comments-next","version":"0.4.0","keywords":["comments","commenting","annotations","feedback","airnauts","next","nextjs"],"author":{"name":"Airnauts"},"license":"MIT","_id":"@airnauts/comments-next@0.4.0","maintainers":[{"name":"jkrzemie","email":"hello@airnauts.com"},{"name":"mateuszpaulski","email":"mateusz@airnauts.com"}],"homepage":"https://github.com/Airnauts/commenting-tool#readme","bugs":{"url":"https://github.com/Airnauts/commenting-tool/issues"},"dist":{"shasum":"fb6021cc74c89afc5c1500de51b5a8cd5b85600f","tarball":"https://registry.npmjs.org/@airnauts/comments-next/-/comments-next-0.4.0.tgz","fileCount":7,"integrity":"sha512-JhIB4Qc1jyVjDVlkiHHLXUV7+fqNOxY1SwS6F2nb3+LJ0cPp9ggGjbrsY33I8ENez6RBSt9BTzpWjl0xjSBcYA==","signatures":[{"sig":"MEQCIDatrhxioVMGTPG0rbYshzqLhrHL+5ZTDF23wYx0vdYkAiA+1goyRmT84yJiVxAx3xUklTV9VJ4Ox0UHvtZxTclonA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7100},"type":"module","_from":"file:airnauts-comments-next-0.4.0.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsup && tsc --build --force","typecheck":"tsc --build"},"_npmUser":{"name":"mateuszpaulski","email":"mateusz@airnauts.com"},"_resolved":"/tmp/7a745387244fafd8b14a3e426a091d08/airnauts-comments-next-0.4.0.tgz","_integrity":"sha512-JhIB4Qc1jyVjDVlkiHHLXUV7+fqNOxY1SwS6F2nb3+LJ0cPp9ggGjbrsY33I8ENez6RBSt9BTzpWjl0xjSBcYA==","repository":{"url":"git+https://github.com/Airnauts/commenting-tool.git","type":"git","directory":"packages/next"},"_npmVersion":"10.9.8","description":"Next.js App Router integration for the Airnauts commenting tool server.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"@airnauts/comments-server":"^0.4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@airnauts/comments-core":"0.4.0","@airnauts/comments-test-support":"0.0.0","@airnauts/comments-adapter-memory":"0.4.0"},"_npmOperationalInternal":{"tmp":"tmp/comments-next_0.4.0_1780915787546_0.2753048765710939","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Renamed to @airnauts/airside-integration-next — install that instead. No longer maintained."},"0.5.0":{"name":"@airnauts/comments-next","version":"0.5.0","keywords":["comments","commenting","annotations","feedback","airnauts","next","nextjs"],"author":{"name":"Airnauts"},"license":"MIT","_id":"@airnauts/comments-next@0.5.0","maintainers":[{"name":"jkrzemie","email":"hello@airnauts.com"},{"name":"mateuszpaulski","email":"mateusz@airnauts.com"}],"homepage":"https://github.com/Airnauts/commenting-tool#readme","bugs":{"url":"https://github.com/Airnauts/commenting-tool/issues"},"dist":{"shasum":"addb05eadbd9f7941c3b6fc1806fc9f9072cc4da","tarball":"https://registry.npmjs.org/@airnauts/comments-next/-/comments-next-0.5.0.tgz","fileCount":7,"integrity":"sha512-aUXUo4Kgx7bsDgT9BV21UCJ2FaIBByK/Pe+jWwK9mE0uQJvD5Reumnw6EtWnWH2PV8dWsiZ58ux1duQkaIw0RA==","signatures":[{"sig":"MEQCICgG6l6r0b7cpMDHK4RHJudnxxZpyNUPXBdn71/BWfvLAiAN99yY1YqiLRCH49xKnFmont2tQmUYc/AUYGnImWV6mQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7100},"type":"module","_from":"file:airnauts-comments-next-0.5.0.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsup && tsc --build --force","typecheck":"tsc --build"},"_npmUser":{"name":"mateuszpaulski","email":"mateusz@airnauts.com"},"_resolved":"/tmp/0c422d0d6b3b1c15e9fcd7fe2a158d1d/airnauts-comments-next-0.5.0.tgz","_integrity":"sha512-aUXUo4Kgx7bsDgT9BV21UCJ2FaIBByK/Pe+jWwK9mE0uQJvD5Reumnw6EtWnWH2PV8dWsiZ58ux1duQkaIw0RA==","repository":{"url":"git+https://github.com/Airnauts/commenting-tool.git","type":"git","directory":"packages/next"},"_npmVersion":"10.9.8","description":"Next.js App Router integration for the Airnauts commenting tool server.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"@airnauts/comments-server":"^0.5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@airnauts/comments-core":"0.5.0","@airnauts/comments-test-support":"0.0.0","@airnauts/comments-adapter-memory":"0.5.0"},"_npmOperationalInternal":{"tmp":"tmp/comments-next_0.5.0_1780919620487_0.8080119362070461","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Renamed to @airnauts/airside-integration-next — install that instead. No longer maintained."},"0.5.1":{"name":"@airnauts/comments-next","version":"0.5.1","keywords":["comments","commenting","annotations","feedback","airnauts","next","nextjs"],"author":{"name":"Airnauts"},"license":"MIT","_id":"@airnauts/comments-next@0.5.1","maintainers":[{"name":"jkrzemie","email":"hello@airnauts.com"},{"name":"mateuszpaulski","email":"mateusz@airnauts.com"}],"homepage":"https://github.com/Airnauts/commenting-tool#readme","bugs":{"url":"https://github.com/Airnauts/commenting-tool/issues"},"dist":{"shasum":"a21c3887d0725bfcc1b463120089985f48fdaff2","tarball":"https://registry.npmjs.org/@airnauts/comments-next/-/comments-next-0.5.1.tgz","fileCount":7,"integrity":"sha512-VrCxBCOj75pQ0yJpjp5GhKQSQVITSk2esNw1PW+HBTrx1ha4Esnnym0ifD4OKJSxvzs66q4FbIcVJG+6C5YtzQ==","signatures":[{"sig":"MEUCIBzd873gRZdiNwo3aPJuEFOoLsOYmGkcCV4xyOKnwN65AiEApjTHFmwWQr0ZNE2+5fRhMngrTkzuX/IxOxn3ckN/E2w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7100},"type":"module","_from":"file:airnauts-comments-next-0.5.1.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsup && tsc --build --force","typecheck":"tsc --build"},"_npmUser":{"name":"mateuszpaulski","email":"mateusz@airnauts.com"},"_resolved":"/tmp/ed3f563a8635be9329851afb3d7349ac/airnauts-comments-next-0.5.1.tgz","_integrity":"sha512-VrCxBCOj75pQ0yJpjp5GhKQSQVITSk2esNw1PW+HBTrx1ha4Esnnym0ifD4OKJSxvzs66q4FbIcVJG+6C5YtzQ==","repository":{"url":"git+https://github.com/Airnauts/commenting-tool.git","type":"git","directory":"packages/next"},"_npmVersion":"10.9.8","description":"Next.js App Router integration for the Airnauts commenting tool server.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"@airnauts/comments-server":"^0.5.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@airnauts/comments-core":"0.5.1","@airnauts/comments-test-support":"0.0.0","@airnauts/comments-adapter-memory":"0.5.1"},"_npmOperationalInternal":{"tmp":"tmp/comments-next_0.5.1_1780924736073_0.8163926756759903","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Renamed to @airnauts/airside-integration-next — install that instead. No longer maintained."},"0.6.0":{"name":"@airnauts/comments-next","version":"0.6.0","keywords":["comments","commenting","annotations","feedback","airnauts","next","nextjs"],"author":{"name":"Airnauts"},"license":"MIT","_id":"@airnauts/comments-next@0.6.0","maintainers":[{"name":"jkrzemie","email":"hello@airnauts.com"},{"name":"mateuszpaulski","email":"mateusz@airnauts.com"}],"homepage":"https://github.com/Airnauts/commenting-tool#readme","bugs":{"url":"https://github.com/Airnauts/commenting-tool/issues"},"dist":{"shasum":"8751aed34aac19bf885b7afacb70a5111d90c450","tarball":"https://registry.npmjs.org/@airnauts/comments-next/-/comments-next-0.6.0.tgz","fileCount":13,"integrity":"sha512-0l74HZvvpVCLIs62affQNvFi2NncVj5ZJXrHaIYu5Tn6D8MS8AY/r2s0oxB2Qo/BeqLHBt0WBmylkBZej72YxA==","signatures":[{"sig":"MEUCIDU3viB6hVoVEqXti0eZg0dUsDAljhSz5sn3dLn+ULvtAiEAqiEKa9GvJ9JeFYDs1LT1ADj+hMwSb3LBXyEeyz7xTnc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":23929},"type":"module","_from":"file:airnauts-comments-next-0.6.0.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsup && tsc --build --force","typecheck":"tsc --build"},"_npmUser":{"name":"mateuszpaulski","email":"mateusz@airnauts.com"},"_resolved":"/tmp/e8256a052297b73a92158573219af709/airnauts-comments-next-0.6.0.tgz","_integrity":"sha512-0l74HZvvpVCLIs62affQNvFi2NncVj5ZJXrHaIYu5Tn6D8MS8AY/r2s0oxB2Qo/BeqLHBt0WBmylkBZej72YxA==","repository":{"url":"git+https://github.com/Airnauts/commenting-tool.git","type":"git","directory":"packages/next"},"_npmVersion":"10.9.8","description":"Next.js App and Pages Router integration for the Airnauts commenting tool server.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"@airnauts/comments-server":"^0.6.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@airnauts/comments-core":"0.6.0","@airnauts/comments-test-support":"0.0.0","@airnauts/comments-adapter-memory":"0.6.0"},"_npmOperationalInternal":{"tmp":"tmp/comments-next_0.6.0_1781537514361_0.5697896088273866","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Renamed to @airnauts/airside-integration-next — install that instead. No longer maintained."},"0.7.0":{"name":"@airnauts/comments-next","version":"0.7.0","keywords":["comments","commenting","annotations","feedback","airnauts","next","nextjs"],"author":{"name":"Airnauts"},"license":"MIT","_id":"@airnauts/comments-next@0.7.0","maintainers":[{"name":"jkrzemie","email":"hello@airnauts.com"},{"name":"mateuszpaulski","email":"mateusz@airnauts.com"}],"homepage":"https://github.com/Airnauts/commenting-tool#readme","bugs":{"url":"https://github.com/Airnauts/commenting-tool/issues"},"dist":{"shasum":"4131127381e6652c62d382bc2d819faf05676df0","tarball":"https://registry.npmjs.org/@airnauts/comments-next/-/comments-next-0.7.0.tgz","fileCount":13,"integrity":"sha512-K8/k0lSFntQ/48igAdiM9EEpU6g8PkB7Q7dFxXjjDVTMhFGErDq8ttds/KgN8ICnVALF1qEyvAQ8wnX6ZohTmQ==","signatures":[{"sig":"MEQCIE++xu67xeTxiNAF+WBLgUIOFqeBWUzyxS4L2gOXT61gAiBgvkqY1G1yunsEiKO+OeJG8one/n8S5ty4YPJ1yqbhCQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":23983},"type":"module","_from":"file:airnauts-comments-next-0.7.0.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsup && tsc --build --force","typecheck":"tsc --build"},"_npmUser":{"name":"mateuszpaulski","email":"mateusz@airnauts.com"},"_resolved":"/tmp/2e511621229b85b829acab83d2c035cb/airnauts-comments-next-0.7.0.tgz","_integrity":"sha512-K8/k0lSFntQ/48igAdiM9EEpU6g8PkB7Q7dFxXjjDVTMhFGErDq8ttds/KgN8ICnVALF1qEyvAQ8wnX6ZohTmQ==","repository":{"url":"git+https://github.com/Airnauts/commenting-tool.git","type":"git","directory":"packages/next"},"_npmVersion":"10.9.8","description":"Next.js App and Pages Router integration for the Airnauts commenting tool server.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"@airnauts/comments-server":"^0.7.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@airnauts/comments-core":"0.7.0","@airnauts/comments-test-support":"0.0.0","@airnauts/comments-adapter-memory":"0.7.0"},"_npmOperationalInternal":{"tmp":"tmp/comments-next_0.7.0_1781540304737_0.11951609051914969","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Renamed to @airnauts/airside-integration-next — install that instead. No longer maintained."}},"time":{"created":"2026-06-02T14:34:50.838Z","modified":"2026-06-16T09:42:32.645Z","0.1.0":"2026-06-02T14:34:51.165Z","0.2.0":"2026-06-03T10:20:39.459Z","0.3.0":"2026-06-08T10:06:04.880Z","0.4.0":"2026-06-08T10:49:47.676Z","0.5.0":"2026-06-08T11:53:40.633Z","0.5.1":"2026-06-08T13:18:56.220Z","0.6.0":"2026-06-15T15:31:54.514Z","0.7.0":"2026-06-15T16:18:24.886Z"},"bugs":{"url":"https://github.com/Airnauts/commenting-tool/issues"},"author":{"name":"Airnauts"},"license":"MIT","homepage":"https://github.com/Airnauts/commenting-tool#readme","keywords":["comments","commenting","annotations","feedback","airnauts","next","nextjs"],"repository":{"url":"git+https://github.com/Airnauts/commenting-tool.git","type":"git","directory":"packages/next"},"description":"Next.js App and Pages Router integration for the Airnauts commenting tool server.","maintainers":[{"name":"jkrzemie","email":"hello@airnauts.com"},{"name":"mateuszpaulski","email":"mateusz@airnauts.com"}],"readme":"# @airnauts/comments-next\n\nNext.js App and Pages Router integration for the [Airnauts commenting tool](https://github.com/Airnauts/commenting-tool). Wraps `createCommentsServer` and the Next.js handler glue into single one-call integrations: `createCommentsAppRoute(config)` for the App Router and `createCommentsPagesRoute(config)` for the Pages Router.\n\n## Installation\n\n```bash\npnpm add @airnauts/comments-next\n# Plus a persistence adapter and storage adapter, e.g.:\npnpm add @airnauts/comments-adapter-mongo @airnauts/comments-storage-vercel-blob\n```\n\n## Quick start — App Router\n\nCreate a catch-all route handler at `app/api/comments/[...path]/route.ts`:\n\n```ts\nimport { createCommentsAppRoute } from '@airnauts/comments-next'\nimport { mongoRepository } from '@airnauts/comments-adapter-mongo'\nimport { createVercelBlobStorage } from '@airnauts/comments-storage-vercel-blob'\n\nexport const { GET, POST, PATCH, OPTIONS } = createCommentsAppRoute({\n  secretKey: process.env.COMMENTS_SECRET!,\n  projectId: 'my-app',\n  allowedOrigins: ['https://my-app.example.com'],\n  repository: mongoRepository({ uri: process.env.MONGODB_URI! }),\n  storage: createVercelBlobStorage({ token: process.env.BLOB_READ_WRITE_TOKEN! }),\n})\n```\n\nFor local development without a real database, swap in the in-memory adapter:\n\n```ts\nimport { createMemoryRepository } from '@airnauts/comments-adapter-memory'\nimport { createFileSystemStorage } from '@airnauts/comments-storage-fs'\nimport { join } from 'node:path'\n\nexport const { GET, POST, PATCH, OPTIONS } = createCommentsAppRoute({\n  secretKey: 'dev-key',\n  projectId: 'my-app',\n  allowedOrigins: ['http://localhost:3000'],\n  repository: createMemoryRepository(),\n  storage: createFileSystemStorage({ rootDir: join(process.cwd(), 'public', 'uploads'), baseUrl: '/uploads' }),\n  rateLimit: false,\n})\n```\n\n## Quick start — Pages Router\n\nCreate a catch-all API route at `pages/api/comments/[...path].ts`:\n\n```ts\nimport { createCommentsPagesRoute } from '@airnauts/comments-next'\nimport { mongoRepository } from '@airnauts/comments-adapter-mongo'\nimport { createVercelBlobStorage } from '@airnauts/comments-storage-vercel-blob'\n\n// REQUIRED: Next reads this statically, so the helper can't set it. The comments\n// API parses JSON/multipart itself, so the raw body must reach it unparsed.\nexport const config = { api: { bodyParser: false } }\n\nexport default createCommentsPagesRoute({\n  secretKey: process.env.COMMENTS_SECRET!,\n  projectId: 'my-app',\n  allowedOrigins: ['https://my-app.example.com'],\n  repository: mongoRepository({ uri: process.env.MONGODB_URI! }),\n  storage: createVercelBlobStorage({ token: process.env.BLOB_READ_WRITE_TOKEN! }),\n})\n```\n\nA single default export handles every method — `server.handle` answers the CORS preflight (`OPTIONS`) internally. Keep this on the **Node runtime** (the default): the server uses `node:crypto`, `Buffer`, and Node-only database drivers; it cannot run on the Edge runtime.\n\n## API reference\n\n### `createCommentsAppRoute(config)`\n\nAccepts all [`CreateCommentsServerOptions`](https://github.com/Airnauts/commenting-tool/blob/main/packages/server/README.md) from `@airnauts/comments-server`, plus:\n\n| Option | Type | Description |\n|---|---|---|\n| `disabled` | `boolean` | When `true`, all handlers return `404` (useful for environment-gated deployments) |\n\nReturns `{ GET, POST, PATCH, OPTIONS, server? }`:\n\n- `GET`, `POST`, `PATCH`, `OPTIONS` — Next.js App Router route handlers; destructure and re-export directly.\n- `server` — the underlying `CommentsServer` instance (absent when `disabled: true`); useful for server-side reads, additional custom routes, or integration tests.\n\n### `createCommentsPagesRoute(config)`\n\nAccepts the same options as `createCommentsAppRoute`. Returns a single Node.js API-route handler function (the Pages Router `default` export). The function carries `.server` (absent when `disabled: true`) for the same uses as the App Router variant.\n\n**`export const config = { api: { bodyParser: false } }` is required** in the route module — Next reads it statically and the helper cannot set it for you. The comments API parses `application/json` and `multipart/form-data` bodies itself, so the raw body must reach it unparsed.\n\n## Configuration / env vars\n\n| Env var | Used by | Description |\n|---|---|---|\n| `COMMENTS_SECRET` | `secretKey` | Shared bearer token (required in production) |\n| `MONGODB_URI` | `mongoRepository` | MongoDB Atlas connection string |\n| `BLOB_READ_WRITE_TOKEN` | `createVercelBlobStorage` | Vercel Blob token |\n\n## Requirements\n\n- Next.js ≥ 15 (App Router and Pages Router; Next 14 is supported at runtime)\n- Node.js ≥ 18\n\n## Related packages\n\n- **`@airnauts/comments-client`** — widget to mount on the front end\n- **`@airnauts/comments-server`** — lower-level server API (use this for non-Next.js frameworks)\n- **`@airnauts/comments-adapter-mongo`** — MongoDB persistence\n- **`@airnauts/comments-adapter-postgres`** — PostgreSQL persistence\n- **`@airnauts/comments-adapter-memory`** — in-memory persistence (dev/tests)\n- **`@airnauts/comments-storage-vercel-blob`** — Vercel Blob storage\n- **`@airnauts/comments-storage-fs`** — filesystem storage\n\nSee the [integration guide](https://github.com/Airnauts/commenting-tool/blob/main/docs/integration.md) and `examples/nextjs-host` for a complete worked example.\n\n## License\n\nMIT © Airnauts\n","readmeFilename":"README.md"}