{"_id":"@airnauts/comments-storage-fs","_rev":"8-2cc87b17d6e7dfd288e31e7fc959d208","name":"@airnauts/comments-storage-fs","dist-tags":{"latest":"0.7.0"},"versions":{"0.1.0":{"name":"@airnauts/comments-storage-fs","version":"0.1.0","keywords":["comments","commenting","annotations","feedback","airnauts","storage","filesystem"],"author":{"name":"Airnauts"},"license":"MIT","_id":"@airnauts/comments-storage-fs@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":"c7845a479507c6bccde7ea84211bd2715d784d2d","tarball":"https://registry.npmjs.org/@airnauts/comments-storage-fs/-/comments-storage-fs-0.1.0.tgz","fileCount":7,"integrity":"sha512-TPqGBPSeMODiHIm/ZEX/91Ckc9lzcPJlZRVF0/CoCDOfHyWqcWOfDMgYh1AVI8tpQ/chRfhlawab+AFPtIU8DQ==","signatures":[{"sig":"MEYCIQDqNJwDYb1xSDY79wvnRxnZ3KRBJqpASoValMfGEq8EkAIhANbHx8IH5rOE88f82vRHslTybduizMvMVwlGM4Qgl0pb","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9751},"type":"module","_from":"file:airnauts-comments-storage-fs-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/64abc7ec458a7ec3d758175f81354936/airnauts-comments-storage-fs-0.1.0.tgz","_integrity":"sha512-TPqGBPSeMODiHIm/ZEX/91Ckc9lzcPJlZRVF0/CoCDOfHyWqcWOfDMgYh1AVI8tpQ/chRfhlawab+AFPtIU8DQ==","repository":{"url":"git+https://github.com/Airnauts/commenting-tool.git","type":"git","directory":"packages/storage-fs"},"_npmVersion":"10.9.2","description":"Filesystem attachment-storage adapter for the Airnauts commenting tool server.","directories":{},"_nodeVersion":"22.13.0","dependencies":{"@airnauts/comments-core":"^0.1.0","@airnauts/comments-server":"^0.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@airnauts/comments-test-support":"0.0.0"},"_npmOperationalInternal":{"tmp":"tmp/comments-storage-fs_0.1.0_1780410893207_0.15813856723311415","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Renamed to @airnauts/airside-storage-fs — install that instead. No longer maintained."},"0.1.1":{"name":"@airnauts/comments-storage-fs","version":"0.1.1","keywords":["comments","commenting","annotations","feedback","airnauts","storage","filesystem"],"author":{"name":"Airnauts"},"license":"MIT","_id":"@airnauts/comments-storage-fs@0.1.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":"66cf748bfd836f249be1929c19929e2d4e40712e","tarball":"https://registry.npmjs.org/@airnauts/comments-storage-fs/-/comments-storage-fs-0.1.1.tgz","fileCount":7,"integrity":"sha512-F1YtlkUDB/I9qfmXS0FlfdSu0USeRaEVV0Wvpb1kDoKJHbc4a8YCF7JPvQRmXs8bst4khxT+I6Z77/x1EDhjXg==","signatures":[{"sig":"MEQCIGJ7EMVSkgk4bJ+BQkmOMniutWjcbVGnFBnvK6GnfoDpAiAj+AjCXfWwRX4PBcxhezvJWw7uh+wXoqDG27YamT1rnQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9955},"type":"module","_from":"file:airnauts-comments-storage-fs-0.1.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/9086020f1030ec013b8c37fc3fd98a69/airnauts-comments-storage-fs-0.1.1.tgz","_integrity":"sha512-F1YtlkUDB/I9qfmXS0FlfdSu0USeRaEVV0Wvpb1kDoKJHbc4a8YCF7JPvQRmXs8bst4khxT+I6Z77/x1EDhjXg==","repository":{"url":"git+https://github.com/Airnauts/commenting-tool.git","type":"git","directory":"packages/storage-fs"},"_npmVersion":"10.9.8","description":"Filesystem attachment-storage adapter for the Airnauts commenting tool server.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"@airnauts/comments-core":"^0.2.0","@airnauts/comments-server":"^0.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@airnauts/comments-test-support":"0.0.0"},"_npmOperationalInternal":{"tmp":"tmp/comments-storage-fs_0.1.1_1780913164704_0.8925085207486108","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Renamed to @airnauts/airside-storage-fs — install that instead. No longer maintained."},"0.4.0":{"name":"@airnauts/comments-storage-fs","version":"0.4.0","keywords":["comments","commenting","annotations","feedback","airnauts","storage","filesystem"],"author":{"name":"Airnauts"},"license":"MIT","_id":"@airnauts/comments-storage-fs@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":"b0db1b7d9b8871ad53f2f3f97e5e4d3c3a9aff9c","tarball":"https://registry.npmjs.org/@airnauts/comments-storage-fs/-/comments-storage-fs-0.4.0.tgz","fileCount":7,"integrity":"sha512-ng5beQwBGNYsLSaQmqHjkfa17MQt6DcqevFCnWC9mKWz8axMiotm5C/jafCYD1LzK+Z/EXMAkngH5bjRVY6ujg==","signatures":[{"sig":"MEYCIQC2fZwr3iKRxZSH4coQQn8DuQIET/t79wXjpJQNRGOL7wIhANsDsr042xvV5mDOCXvV0LqqFz0NRUxi6Xuyjx9ZoDP3","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9955},"type":"module","_from":"file:airnauts-comments-storage-fs-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/8fe9c8ba3c2899194bc814df59255388/airnauts-comments-storage-fs-0.4.0.tgz","_integrity":"sha512-ng5beQwBGNYsLSaQmqHjkfa17MQt6DcqevFCnWC9mKWz8axMiotm5C/jafCYD1LzK+Z/EXMAkngH5bjRVY6ujg==","repository":{"url":"git+https://github.com/Airnauts/commenting-tool.git","type":"git","directory":"packages/storage-fs"},"_npmVersion":"10.9.8","description":"Filesystem attachment-storage adapter for the Airnauts commenting tool server.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"@airnauts/comments-core":"^0.4.0","@airnauts/comments-server":"^0.4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@airnauts/comments-test-support":"0.0.0"},"_npmOperationalInternal":{"tmp":"tmp/comments-storage-fs_0.4.0_1780915787705_0.5606720803224148","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Renamed to @airnauts/airside-storage-fs — install that instead. No longer maintained."},"0.5.0":{"name":"@airnauts/comments-storage-fs","version":"0.5.0","keywords":["comments","commenting","annotations","feedback","airnauts","storage","filesystem"],"author":{"name":"Airnauts"},"license":"MIT","_id":"@airnauts/comments-storage-fs@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":"864bb6c0923f28d1dada702c1ec7351749fe923b","tarball":"https://registry.npmjs.org/@airnauts/comments-storage-fs/-/comments-storage-fs-0.5.0.tgz","fileCount":7,"integrity":"sha512-q/WAFAF68db2tgS533yNtWGsXNRJKm3Er+1YxGoRVBM+5wZ6IbMbN/AT21nST/js4dc8Pr4VnAZfGjad2bsDzA==","signatures":[{"sig":"MEYCIQDOMjC4loSxZ4jlmqF4AMvk6Qu+UI2zDHSXjuB9YnNmqwIhANfbnR7+Wq7+F/VOfoeyoFlVq4t5Qbu9e+Mq3KjtDEkI","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9955},"type":"module","_from":"file:airnauts-comments-storage-fs-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/dc0fb1456b97976ee71cefb9676bfcf9/airnauts-comments-storage-fs-0.5.0.tgz","_integrity":"sha512-q/WAFAF68db2tgS533yNtWGsXNRJKm3Er+1YxGoRVBM+5wZ6IbMbN/AT21nST/js4dc8Pr4VnAZfGjad2bsDzA==","repository":{"url":"git+https://github.com/Airnauts/commenting-tool.git","type":"git","directory":"packages/storage-fs"},"_npmVersion":"10.9.8","description":"Filesystem attachment-storage adapter for the Airnauts commenting tool server.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"@airnauts/comments-core":"^0.5.0","@airnauts/comments-server":"^0.5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@airnauts/comments-test-support":"0.0.0"},"_npmOperationalInternal":{"tmp":"tmp/comments-storage-fs_0.5.0_1780919620840_0.6582674285427768","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Renamed to @airnauts/airside-storage-fs — install that instead. No longer maintained."},"0.5.1":{"name":"@airnauts/comments-storage-fs","version":"0.5.1","keywords":["comments","commenting","annotations","feedback","airnauts","storage","filesystem"],"author":{"name":"Airnauts"},"license":"MIT","_id":"@airnauts/comments-storage-fs@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":"cd35f57b7709c6b26456ce9a059f2d702407e432","tarball":"https://registry.npmjs.org/@airnauts/comments-storage-fs/-/comments-storage-fs-0.5.1.tgz","fileCount":7,"integrity":"sha512-JMkIrAV01Mc9yjQPJkpnbm0AUgGk/QdsDZjDuyZjRnkBSwfc4qWhsM9FpS9J5gBF+K3d4f+NUcfoRxkdMsDqww==","signatures":[{"sig":"MEQCIHt4PDX0V4kZyJl6K4WeDYP+SEQjko6365Txf+bbxatUAiBbOlG6SIKrvZEsovprLzkXK0HTb+vw6FWjEi0zMrSTGg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9955},"type":"module","_from":"file:airnauts-comments-storage-fs-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/d2054c0964b686ca1aee2e49b28c09c8/airnauts-comments-storage-fs-0.5.1.tgz","_integrity":"sha512-JMkIrAV01Mc9yjQPJkpnbm0AUgGk/QdsDZjDuyZjRnkBSwfc4qWhsM9FpS9J5gBF+K3d4f+NUcfoRxkdMsDqww==","repository":{"url":"git+https://github.com/Airnauts/commenting-tool.git","type":"git","directory":"packages/storage-fs"},"_npmVersion":"10.9.8","description":"Filesystem attachment-storage adapter for the Airnauts commenting tool server.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"@airnauts/comments-core":"^0.5.1","@airnauts/comments-server":"^0.5.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@airnauts/comments-test-support":"0.0.0"},"_npmOperationalInternal":{"tmp":"tmp/comments-storage-fs_0.5.1_1780924736076_0.6471432946628182","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Renamed to @airnauts/airside-storage-fs — install that instead. No longer maintained."},"0.6.0":{"name":"@airnauts/comments-storage-fs","version":"0.6.0","keywords":["comments","commenting","annotations","feedback","airnauts","storage","filesystem"],"author":{"name":"Airnauts"},"license":"MIT","_id":"@airnauts/comments-storage-fs@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":"70a77b677effa394f13643c26c95149f11814131","tarball":"https://registry.npmjs.org/@airnauts/comments-storage-fs/-/comments-storage-fs-0.6.0.tgz","fileCount":7,"integrity":"sha512-NPsZU6jWNEBpzuNxrArnpcwgFbVbN3VXfx554jR9uiDBdwtIh2PKj5mih4DWEca2bzhhplPo3vKeJdxRVQO/8g==","signatures":[{"sig":"MEUCIQCXi6e7WZf+qqNx7YWEYAwavK5zANx9ZA1/qRdM0Y8f1wIgD/tCzpukqrODEI7aS/bROmDU08TuGc9s1CwcmiWwYhE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9315},"type":"module","_from":"file:airnauts-comments-storage-fs-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/f7de295e39f92a47beb67588ba37398f/airnauts-comments-storage-fs-0.6.0.tgz","_integrity":"sha512-NPsZU6jWNEBpzuNxrArnpcwgFbVbN3VXfx554jR9uiDBdwtIh2PKj5mih4DWEca2bzhhplPo3vKeJdxRVQO/8g==","repository":{"url":"git+https://github.com/Airnauts/commenting-tool.git","type":"git","directory":"packages/storage-fs"},"_npmVersion":"10.9.8","description":"Filesystem attachment-storage adapter for the Airnauts commenting tool server.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"@airnauts/comments-core":"^0.6.0","@airnauts/comments-server":"^0.6.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@airnauts/comments-test-support":"0.0.0"},"_npmOperationalInternal":{"tmp":"tmp/comments-storage-fs_0.6.0_1781537516661_0.041757593162466744","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Renamed to @airnauts/airside-storage-fs — install that instead. No longer maintained."},"0.7.0":{"name":"@airnauts/comments-storage-fs","version":"0.7.0","keywords":["comments","commenting","annotations","feedback","airnauts","storage","filesystem"],"author":{"name":"Airnauts"},"license":"MIT","_id":"@airnauts/comments-storage-fs@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":"56b956c7c948d05735fddd1c003fc9c34aa4230e","tarball":"https://registry.npmjs.org/@airnauts/comments-storage-fs/-/comments-storage-fs-0.7.0.tgz","fileCount":7,"integrity":"sha512-AN1XJTz9XGIi6fUBTGvVLHDu89iPEsTptwqsKNN4FafJ/yEudgN+Hxt05KNegROiLKeJhdhHeUxDXW0/7nDIKQ==","signatures":[{"sig":"MEQCICXn+SQXyXdJ1CdwOgyncyuh/0sh32viBwMqZU9DukCIAiARzM171jsp96fg4SdH61YKdZZ/CTDZHIMFhGAaPaLpUQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9828},"type":"module","_from":"file:airnauts-comments-storage-fs-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/92f96a2cd97c3f77b53c12bc0b4b898a/airnauts-comments-storage-fs-0.7.0.tgz","_integrity":"sha512-AN1XJTz9XGIi6fUBTGvVLHDu89iPEsTptwqsKNN4FafJ/yEudgN+Hxt05KNegROiLKeJhdhHeUxDXW0/7nDIKQ==","repository":{"url":"git+https://github.com/Airnauts/commenting-tool.git","type":"git","directory":"packages/storage-fs"},"_npmVersion":"10.9.8","description":"Filesystem attachment-storage adapter for the Airnauts commenting tool server.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"@airnauts/comments-core":"^0.7.0","@airnauts/comments-server":"^0.7.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@airnauts/comments-test-support":"0.0.0"},"_npmOperationalInternal":{"tmp":"tmp/comments-storage-fs_0.7.0_1781540307385_0.47086372067533455","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Renamed to @airnauts/airside-storage-fs — install that instead. No longer maintained."}},"time":{"created":"2026-06-02T14:34:52.992Z","modified":"2026-06-16T09:42:07.342Z","0.1.0":"2026-06-02T14:34:53.345Z","0.1.1":"2026-06-08T10:06:04.870Z","0.4.0":"2026-06-08T10:49:47.877Z","0.5.0":"2026-06-08T11:53:40.975Z","0.5.1":"2026-06-08T13:18:56.208Z","0.6.0":"2026-06-15T15:31:56.802Z","0.7.0":"2026-06-15T16:18:27.531Z"},"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","storage","filesystem"],"repository":{"url":"git+https://github.com/Airnauts/commenting-tool.git","type":"git","directory":"packages/storage-fs"},"description":"Filesystem attachment-storage adapter for the Airnauts commenting tool server.","maintainers":[{"name":"jkrzemie","email":"hello@airnauts.com"},{"name":"mateuszpaulski","email":"mateusz@airnauts.com"}],"readme":"# @airnauts/comments-storage-fs\n\nFilesystem attachment-storage adapter for the [Airnauts commenting tool](https://github.com/Airnauts/commenting-tool) server. Writes uploaded images to a local directory and returns either `file://` URLs or browser-served paths.\n\n## Installation\n\n```bash\npnpm add @airnauts/comments-storage-fs\n```\n\n## Quick start\n\n```ts\nimport { createFileSystemStorage } from '@airnauts/comments-storage-fs'\n\nconst storage = createFileSystemStorage({\n  rootDir: './uploads',\n  baseUrl: '/uploads', // serve files via a static route\n})\n```\n\nPass `storage` to `createCommentsServer` from `@airnauts/comments-server` (or to `createCommentsAppRoute` / `createCommentsPagesRoute` from `@airnauts/comments-next`).\n\n## API reference\n\n### `createFileSystemStorage(opts)`\n\n```ts\ncreateFileSystemStorage({\n  rootDir: string   // Absolute or relative path to write files into (required)\n  baseUrl?: string  // Public URL prefix returned with each upload; defaults to file:// URLs\n}): StorageAdapter\n```\n\nFiles are written under `rootDir/<timestamp>/<random>-<safename>`. When `baseUrl` is set, `put` returns `${baseUrl}/<key>` so the browser can fetch the file from a static route; without it, it returns a `file://` absolute URL.\n\n### `FileSystemStorage`\n\nThe underlying class, exported for subclassing or direct construction:\n\n```ts\nimport { FileSystemStorage } from '@airnauts/comments-storage-fs'\n\nconst storage = new FileSystemStorage({ rootDir: './uploads', baseUrl: '/uploads' })\n```\n\n### `FileSystemStorageOptions`\n\n```ts\ntype FileSystemStorageOptions = {\n  rootDir: string\n  baseUrl?: string\n}\n```\n\n## Requirements\n\n- Node.js ≥ 18 (uses `fs/promises`, `path`, `url`)\n\n## Related packages\n\n- **`@airnauts/comments-server`** — defines the `StorageAdapter` interface this adapter implements\n- **`@airnauts/comments-storage-vercel-blob`** — Vercel Blob storage for production / serverless deployments\n\n## License\n\nMIT © Airnauts\n","readmeFilename":"README.md"}