{"_id":"@airnauts/airside-storage-fs","_rev":"7-5d448cca9d232d61a44a3a42581e8f09","name":"@airnauts/airside-storage-fs","dist-tags":{"latest":"0.10.1"},"versions":{"0.8.0":{"name":"@airnauts/airside-storage-fs","version":"0.8.0","keywords":["comments","commenting","annotations","feedback","airnauts","storage","filesystem"],"author":{"name":"Airnauts"},"license":"MIT","_id":"@airnauts/airside-storage-fs@0.8.0","maintainers":[{"name":"jkrzemie","email":"hello@airnauts.com"},{"name":"mateuszpaulski","email":"mateusz@airnauts.com"}],"homepage":"https://github.com/Airnauts/airside#readme","bugs":{"url":"https://github.com/Airnauts/airside/issues"},"dist":{"shasum":"e2b4b0aa14089506008fb27e492a5eff398a93e4","tarball":"https://registry.npmjs.org/@airnauts/airside-storage-fs/-/airside-storage-fs-0.8.0.tgz","fileCount":7,"integrity":"sha512-mTkuipHbmMRe5AO9s5LcUMoZeA49G/22Q1i05uGy0uqet6UpMkXq9WjfEdJZ1H9L0P7rV3eMq1b7V4lNW/GUsg==","signatures":[{"sig":"MEQCIA7kAQs2kN2+oEjabzDpVP98wpDvEREHfkgP7/bhTZwvAiB7DOAIrVn3EPeuXAx5uRcf2KXONgLipboj5DpdAoEkHw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9758},"type":"module","_from":"file:airnauts-airside-storage-fs-0.8.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/f47e61e08b3ccfaff2e737934cbcff11/airnauts-airside-storage-fs-0.8.0.tgz","_integrity":"sha512-mTkuipHbmMRe5AO9s5LcUMoZeA49G/22Q1i05uGy0uqet6UpMkXq9WjfEdJZ1H9L0P7rV3eMq1b7V4lNW/GUsg==","repository":{"url":"git+https://github.com/Airnauts/airside.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/airside-core":"^0.8.0","@airnauts/airside-server":"^0.8.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@airnauts/airside-test-support":"0.0.0"},"_npmOperationalInternal":{"tmp":"tmp/airside-storage-fs_0.8.0_1781601753154_0.22679758406461192","host":"s3://npm-registry-packages-npm-production"}},"0.8.1":{"name":"@airnauts/airside-storage-fs","version":"0.8.1","keywords":["comments","commenting","annotations","feedback","airnauts","storage","filesystem"],"author":{"name":"Airnauts"},"license":"MIT","_id":"@airnauts/airside-storage-fs@0.8.1","maintainers":[{"name":"jkrzemie","email":"hello@airnauts.com"},{"name":"mateuszpaulski","email":"mateusz@airnauts.com"}],"homepage":"https://github.com/Airnauts/airside#readme","bugs":{"url":"https://github.com/Airnauts/airside/issues"},"dist":{"shasum":"dab32884a22f369f0d8f9b3baeade235260af4e7","tarball":"https://registry.npmjs.org/@airnauts/airside-storage-fs/-/airside-storage-fs-0.8.1.tgz","fileCount":7,"integrity":"sha512-cu35ZOYFa7LwpAvjE9Azh0vTgRKTlZ2y2YEBTlw9kgGtcciXZHiktqp4KEM55BdJ8i5YuVhVe1ReDVjTm/aCUA==","signatures":[{"sig":"MEUCIQDQmiJIjDUG++qQ2o0NrxNv3rkwHByouSfoMBcdnhVzPwIgQZcBQFHSY9wiqNS/X/XP29wIHQPwF8B1hbVyBVYfNIU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10211},"type":"module","_from":"file:airnauts-airside-storage-fs-0.8.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/ac1b0025c950610bd6738eb62e40d295/airnauts-airside-storage-fs-0.8.1.tgz","_integrity":"sha512-cu35ZOYFa7LwpAvjE9Azh0vTgRKTlZ2y2YEBTlw9kgGtcciXZHiktqp4KEM55BdJ8i5YuVhVe1ReDVjTm/aCUA==","repository":{"url":"git+https://github.com/Airnauts/airside.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/airside-core":"^0.8.1","@airnauts/airside-server":"^0.8.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@airnauts/airside-test-support":"0.0.0"},"_npmOperationalInternal":{"tmp":"tmp/airside-storage-fs_0.8.1_1781606538107_0.4477228864625711","host":"s3://npm-registry-packages-npm-production"}},"0.8.2":{"name":"@airnauts/airside-storage-fs","version":"0.8.2","keywords":["comments","commenting","annotations","feedback","airnauts","storage","filesystem"],"author":{"name":"Airnauts"},"license":"MIT","_id":"@airnauts/airside-storage-fs@0.8.2","maintainers":[{"name":"jkrzemie","email":"hello@airnauts.com"},{"name":"mateuszpaulski","email":"mateusz@airnauts.com"}],"homepage":"https://github.com/Airnauts/airside#readme","bugs":{"url":"https://github.com/Airnauts/airside/issues"},"dist":{"shasum":"866bde6505553ffcdd676483cd6b585435ffc926","tarball":"https://registry.npmjs.org/@airnauts/airside-storage-fs/-/airside-storage-fs-0.8.2.tgz","fileCount":7,"integrity":"sha512-NhWbSlves3DsQLIRJCcYbSoSb21MkeY4yYYGTVk0ygQFcPbzn/XrrWputZm0rYhflzZAhJMXP3A+/7vXm1mZMA==","signatures":[{"sig":"MEUCIGnRsa3SRgf+F6l1nLN3OXKf3mv6TfUEDum0F9TxFFWxAiEAmicnBEhXD0Vp0cf8TzvatSk2+LfkL/j47+ylWSAPONM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10211},"type":"module","_from":"file:airnauts-airside-storage-fs-0.8.2.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/8778696a8f9174089959314c27897753/airnauts-airside-storage-fs-0.8.2.tgz","_integrity":"sha512-NhWbSlves3DsQLIRJCcYbSoSb21MkeY4yYYGTVk0ygQFcPbzn/XrrWputZm0rYhflzZAhJMXP3A+/7vXm1mZMA==","repository":{"url":"git+https://github.com/Airnauts/airside.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/airside-core":"^0.8.2","@airnauts/airside-server":"^0.8.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@airnauts/airside-test-support":"0.0.0"},"_npmOperationalInternal":{"tmp":"tmp/airside-storage-fs_0.8.2_1781610338679_0.7766987076047582","host":"s3://npm-registry-packages-npm-production"}},"0.9.0":{"name":"@airnauts/airside-storage-fs","version":"0.9.0","keywords":["comments","commenting","annotations","feedback","airnauts","storage","filesystem"],"author":{"name":"Airnauts"},"license":"MIT","_id":"@airnauts/airside-storage-fs@0.9.0","maintainers":[{"name":"jkrzemie","email":"hello@airnauts.com"},{"name":"mateuszpaulski","email":"mateusz@airnauts.com"}],"homepage":"https://github.com/Airnauts/airside#readme","bugs":{"url":"https://github.com/Airnauts/airside/issues"},"dist":{"shasum":"32f283f0a23c073b101b3ef5af2e869ec03e45e2","tarball":"https://registry.npmjs.org/@airnauts/airside-storage-fs/-/airside-storage-fs-0.9.0.tgz","fileCount":7,"integrity":"sha512-r2m17893WRuxlhSQH08Qaegj6CQNhn6wnFAFg7c3+Ac96KJL7PPMxh3fKVYiScezP1ikNu0saakwuTZAmtpMPA==","signatures":[{"sig":"MEUCIQCCyS2x+7WVVzSRwlGuzTIO3w8ZboM+FqE6A4MdxmTTmAIgctVZo4cf6cWghOajXHAwqP9hMSkDK9oqzQ4V0p0KRK0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10211},"type":"module","_from":"file:airnauts-airside-storage-fs-0.9.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/2fe0e2d67299cb8c619df554a1346150/airnauts-airside-storage-fs-0.9.0.tgz","_integrity":"sha512-r2m17893WRuxlhSQH08Qaegj6CQNhn6wnFAFg7c3+Ac96KJL7PPMxh3fKVYiScezP1ikNu0saakwuTZAmtpMPA==","repository":{"url":"git+https://github.com/Airnauts/airside.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/airside-core":"^0.9.0","@airnauts/airside-server":"^0.9.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@airnauts/airside-test-support":"0.0.0"},"_npmOperationalInternal":{"tmp":"tmp/airside-storage-fs_0.9.0_1781622017583_0.3108362111545957","host":"s3://npm-registry-packages-npm-production"}},"0.9.1":{"name":"@airnauts/airside-storage-fs","version":"0.9.1","keywords":["comments","commenting","annotations","feedback","airnauts","storage","filesystem"],"author":{"name":"Airnauts"},"license":"MIT","_id":"@airnauts/airside-storage-fs@0.9.1","maintainers":[{"name":"jkrzemie","email":"hello@airnauts.com"},{"name":"mateuszpaulski","email":"mateusz@airnauts.com"}],"homepage":"https://github.com/Airnauts/airside#readme","bugs":{"url":"https://github.com/Airnauts/airside/issues"},"dist":{"shasum":"e5fb02952f5538a961f6cb79b38e18864f78cf33","tarball":"https://registry.npmjs.org/@airnauts/airside-storage-fs/-/airside-storage-fs-0.9.1.tgz","fileCount":7,"integrity":"sha512-340RtjBis39vcW2csahP+xQLsAQ7VeDv16ce8ERTWxQIW+zKPm7fQRK7Pk1YugFS4CigorA+ilag51VT+gKlow==","signatures":[{"sig":"MEYCIQDhMGo+zk0frE3A2lKww5BkiPnZNfTLPvVkX75DNoVgfQIhAOjc5U3viwvaDi9PSaXPsMixPHQa6uCU635E/5sfzybU","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10211},"type":"module","_from":"file:airnauts-airside-storage-fs-0.9.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/ae6f8127b3831a138d4f53ef75fe6d1c/airnauts-airside-storage-fs-0.9.1.tgz","_integrity":"sha512-340RtjBis39vcW2csahP+xQLsAQ7VeDv16ce8ERTWxQIW+zKPm7fQRK7Pk1YugFS4CigorA+ilag51VT+gKlow==","repository":{"url":"git+https://github.com/Airnauts/airside.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/airside-core":"^0.9.1","@airnauts/airside-server":"^0.9.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@airnauts/airside-test-support":"0.0.0"},"_npmOperationalInternal":{"tmp":"tmp/airside-storage-fs_0.9.1_1781770415891_0.4255079560812818","host":"s3://npm-registry-packages-npm-production"}},"0.10.0":{"name":"@airnauts/airside-storage-fs","version":"0.10.0","keywords":["comments","commenting","annotations","feedback","airnauts","storage","filesystem"],"author":{"name":"Airnauts"},"license":"MIT","_id":"@airnauts/airside-storage-fs@0.10.0","maintainers":[{"name":"jkrzemie","email":"hello@airnauts.com"},{"name":"mateuszpaulski","email":"mateusz@airnauts.com"}],"homepage":"https://github.com/Airnauts/airside#readme","bugs":{"url":"https://github.com/Airnauts/airside/issues"},"dist":{"shasum":"f9d87807e532caea9f2dbe7f43ee324c7de1ba09","tarball":"https://registry.npmjs.org/@airnauts/airside-storage-fs/-/airside-storage-fs-0.10.0.tgz","fileCount":7,"integrity":"sha512-Q12PzxdEiIJNz4tNaEBLnhIB+fDhow9jwv7yrqj4+IDWBbTNO6LY105OcMZU9ppoDj7G9yqqFCKqBYuP5ccH7w==","signatures":[{"sig":"MEQCIEcCfxktY/zy+/tpzWZ+95F42cWk8dMIpuXn53yXkj5fAiATJvfIRclCL1qsx62Ap7S7PX3vmUJ98iYJ0XlfvLcsCw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10214},"type":"module","_from":"file:airnauts-airside-storage-fs-0.10.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/acaedbf1048c932a1e7efaf06911d251/airnauts-airside-storage-fs-0.10.0.tgz","_integrity":"sha512-Q12PzxdEiIJNz4tNaEBLnhIB+fDhow9jwv7yrqj4+IDWBbTNO6LY105OcMZU9ppoDj7G9yqqFCKqBYuP5ccH7w==","repository":{"url":"git+https://github.com/Airnauts/airside.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.23.0","dependencies":{"@airnauts/airside-core":"^0.10.0","@airnauts/airside-server":"^0.10.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@airnauts/airside-test-support":"0.0.0"},"_npmOperationalInternal":{"tmp":"tmp/airside-storage-fs_0.10.0_1782730558202_0.9314813025119575","host":"s3://npm-registry-packages-npm-production"}},"0.10.1":{"name":"@airnauts/airside-storage-fs","version":"0.10.1","description":"Filesystem attachment-storage adapter for the Airnauts commenting tool server.","keywords":["comments","commenting","annotations","feedback","airnauts","storage","filesystem"],"license":"MIT","author":{"name":"Airnauts"},"homepage":"https://github.com/Airnauts/airside#readme","repository":{"type":"git","url":"git+https://github.com/Airnauts/airside.git","directory":"packages/storage-fs"},"bugs":{"url":"https://github.com/Airnauts/airside/issues"},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"publishConfig":{"access":"public"},"dependencies":{"@airnauts/airside-core":"^0.10.1","@airnauts/airside-server":"^0.10.1"},"devDependencies":{"@airnauts/airside-test-support":"0.0.0"},"scripts":{"build":"tsup && tsc --build --force","typecheck":"tsc --build","test":"vitest run"},"_id":"@airnauts/airside-storage-fs@0.10.1","_integrity":"sha512-lr9LHVGM653dl4IengEMKDKshKQCnlZBTfKRnNrCtDBPBpMKSxguVV/Jq7ww+PnwK7OOiObVGkED1+wyRq6kYQ==","_resolved":"/tmp/362409056465bb3b091c5e4257cd2138/airnauts-airside-storage-fs-0.10.1.tgz","_from":"file:airnauts-airside-storage-fs-0.10.1.tgz","_nodeVersion":"22.23.0","_npmVersion":"10.9.8","dist":{"integrity":"sha512-lr9LHVGM653dl4IengEMKDKshKQCnlZBTfKRnNrCtDBPBpMKSxguVV/Jq7ww+PnwK7OOiObVGkED1+wyRq6kYQ==","shasum":"b64c5f0407fba6506cae5e636bafb6c8e7296214","tarball":"https://registry.npmjs.org/@airnauts/airside-storage-fs/-/airside-storage-fs-0.10.1.tgz","fileCount":7,"unpackedSize":10214,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCP1hkyW9V8RN3MeKjeHDf4r3DQALG8GbdgqSH8vhkPqAIgG4yxTGm1RgR0ZpijjR5xFS3txtl0Bx1FnFeKEjcicKk="}]},"_npmUser":{"name":"mateuszpaulski","email":"mateusz@airnauts.com"},"directories":{},"maintainers":[{"name":"jkrzemie","email":"hello@airnauts.com"},{"name":"mateuszpaulski","email":"mateusz@airnauts.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/airside-storage-fs_0.10.1_1782737644452_0.12120904402523935"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-16T09:22:32.930Z","modified":"2026-06-29T12:54:04.720Z","0.8.0":"2026-06-16T09:22:33.290Z","0.8.1":"2026-06-16T10:42:18.255Z","0.8.2":"2026-06-16T11:45:38.806Z","0.9.0":"2026-06-16T15:00:17.737Z","0.9.1":"2026-06-18T08:13:36.056Z","0.10.0":"2026-06-29T10:55:58.334Z","0.10.1":"2026-06-29T12:54:04.593Z"},"bugs":{"url":"https://github.com/Airnauts/airside/issues"},"author":{"name":"Airnauts"},"license":"MIT","homepage":"https://github.com/Airnauts/airside#readme","keywords":["comments","commenting","annotations","feedback","airnauts","storage","filesystem"],"repository":{"type":"git","url":"git+https://github.com/Airnauts/airside.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":"<p align=\"center\">\n  <a href=\"https://github.com/Airnauts/airside\">\n    <picture>\n      <source media=\"(prefers-color-scheme: dark)\" srcset=\"https://raw.githubusercontent.com/Airnauts/airside/main/assets/airside-logo-dark.svg\">\n      <img src=\"https://raw.githubusercontent.com/Airnauts/airside/main/assets/airside-logo-light.svg\" alt=\"Airside\" height=\"40\">\n    </picture>\n  </a>\n  <h1 align=\"center\">\nEmbeddable Commenting Tool\n</h1>\n</p>\n\n# @airnauts/airside-storage-fs\n\nFilesystem attachment-storage adapter for the [Airside](https://github.com/Airnauts/airside) 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/airside-storage-fs\n```\n\n## Quick start\n\n```ts\nimport { createFileSystemStorage } from '@airnauts/airside-storage-fs'\n\nconst storage = createFileSystemStorage({\n  rootDir: './uploads',\n  baseUrl: '/uploads', // serve files via a static route\n})\n```\n\nPass `storage` to `createAirsideServer` from `@airnauts/airside-server` (or to `createAirsideAppRoute` / `createAirsidePagesRoute` from `@airnauts/airside-integration-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/airside-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/airside-server`** — defines the `StorageAdapter` interface this adapter implements\n- **`@airnauts/airside-storage-vercel-blob`** — Vercel Blob storage for production / serverless deployments\n\n## License\n\nMIT © Airnauts\n","readmeFilename":"README.md"}