{"id":19872749,"url":"https://github.com/snuffydev/svfs","last_synced_at":"2026-05-09T20:32:40.423Z","repository":{"id":116488479,"uuid":"501002635","full_name":"snuffyDev/sVFS","owner":"snuffyDev","description":null,"archived":false,"fork":false,"pushed_at":"2022-08-26T08:29:18.000Z","size":126,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-11T16:48:51.982Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","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/snuffyDev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-06-07T21:01:10.000Z","updated_at":"2024-08-02T15:10:06.000Z","dependencies_parsed_at":"2023-03-30T08:54:32.205Z","dependency_job_id":null,"html_url":"https://github.com/snuffyDev/sVFS","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/snuffyDev%2FsVFS","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/snuffyDev%2FsVFS/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/snuffyDev%2FsVFS/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/snuffyDev%2FsVFS/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/snuffyDev","download_url":"https://codeload.github.com/snuffyDev/sVFS/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241299467,"owners_count":19940479,"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-11-12T16:16:36.518Z","updated_at":"2025-11-24T04:05:57.820Z","avatar_url":"https://github.com/snuffyDev.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# sVFS\n\n**\\*S**nuff's **V**irtual **F**ile **S**ystem\\*\n\nAn easy to use, customizable, and fast Virtual File System for the browser!\n\n\u003e sVFS is still an early work in progress!\n\u003e It's barebones and not ready for use!\n\n## Features\n\n- Adapters\n  - IndexedDB\n  - In-memory (Map based)\n  - Allows for custom implementations and integrations with any backend\n- Caches files when you read or write them (saves resources!)\n\n## Basic Setup\n\n```ts\nimport { sVFS, IndexedDB, type Config } from \"to-be-decided\";\n\nconst config: Config = {\n\tname: \"my-files\",\n\tadapter: IndexedDB.create({\n\t\t/** options **/\n\t}),\n};\n\nconst fs = sVFS(config);\n```\n\n## Basic Usage\n\nBoth examples will continue assuming the codeblock above exists.\n\n### Async\n\nshows how you might update a copy of a remote data source.\n\n```ts\nasync function updateJSON(return_old = true) {\n\tconst response = await fetch(\"https://some-random.url/list.json\");\n\tconst json_data = await response.json();\n\n\t// get the list currently stored prior to updating\n\tconst old_list = await fs.readFile(\"list.json\");\n\n\tconst file_was_written = await fs.writeFile(\"list.json\", json_data); /// returns `void` on success, or Error if error\n\n\tif (file_was_written !== undefined) throw file_was_written;\n\n\tif (return_old === true) return old_list;\n\telse return await fs.readFile(\"list.json\");\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsnuffydev%2Fsvfs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsnuffydev%2Fsvfs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsnuffydev%2Fsvfs/lists"}