{"id":15483383,"url":"https://github.com/hackergrrl/safe-fs-blob-store","last_synced_at":"2025-04-12T06:12:49.130Z","repository":{"id":57355982,"uuid":"105056883","full_name":"hackergrrl/safe-fs-blob-store","owner":"hackergrrl","description":"Filesystem blob store with atomic writes and high file limits on Windows","archived":false,"fork":false,"pushed_at":"2019-06-18T21:17:02.000Z","size":35,"stargazers_count":3,"open_issues_count":0,"forks_count":2,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-12T06:12:43.410Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hackergrrl.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-09-27T18:53:12.000Z","updated_at":"2022-12-24T13:13:51.000Z","dependencies_parsed_at":"2022-09-04T23:14:29.366Z","dependency_job_id":null,"html_url":"https://github.com/hackergrrl/safe-fs-blob-store","commit_stats":null,"previous_names":["noffle/safe-fs-blob-store"],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hackergrrl%2Fsafe-fs-blob-store","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hackergrrl%2Fsafe-fs-blob-store/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hackergrrl%2Fsafe-fs-blob-store/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hackergrrl%2Fsafe-fs-blob-store/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hackergrrl","download_url":"https://codeload.github.com/hackergrrl/safe-fs-blob-store/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248525138,"owners_count":21118619,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-02T05:14:42.633Z","updated_at":"2025-04-12T06:12:49.088Z","avatar_url":"https://github.com/hackergrrl.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# safe-fs-blob-store\n\n[![blob-store-compatible](https://raw.githubusercontent.com/maxogden/abstract-blob-store/master/badge.png)](https://github.com/maxogden/abstract-blob-store)\n\n\u003e filesystem [blob store](https://github.com/maxogden/abstract-blob-store) with atomic writes and high file limits on Windows\n\nThis module exposes the same API as\n[fs-blob-store](https://github.com/mafintosh/fs-blob-store), but with two\nadditional features:\n\n1. File writes are atomic. This is done by maintaining a \"staging\" area in the\n   blob store that files are written to, and then renamed (using an atomic\n   syscall) to the destination filename upon completion.\n2. Window's NTFS file system has a limit of ~4 billion files in a directory.\n   FAT32 has a limit of ~65,000. This module transparently manages\n   subdirectories from the prefixes of given keys to avoid hitting this limit as\n   quickly.\n3. Adds a `list()` method which lists the key names of all the files in the\n   media store.\n\n## Usage\n\n``` js\nvar fs = require('safe-fs-blob-store')\nvar blobs = fs('some-directory')\n\nvar ws = blobs.createWriteStream({\n  key: 'some/path/file.txt'\n})\n\nws.end('hello world\\n')\n\nws.on('finish', function () {\n  var rs = blobs.createReadStream({\n    key: 'some/path/file.txt'\n  })\n\n  rs.pipe(process.stdout)\n})\n```\n\n## API\n\nSee https://github.com/maxogden/abstract-blob-store and in addition:\n\n### store.list(cb)\n\nCalls `cb` with `err, keys`, where `keys` is an array of string key names of the files in the store.\n\n## License\n\nISC\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhackergrrl%2Fsafe-fs-blob-store","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhackergrrl%2Fsafe-fs-blob-store","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhackergrrl%2Fsafe-fs-blob-store/lists"}