{"id":23045421,"url":"https://github.com/mykeels/filesystemjs","last_synced_at":"2025-08-14T23:31:52.547Z","repository":{"id":93601968,"uuid":"93184790","full_name":"mykeels/FileSystemJS","owner":"mykeels","description":"A JavaScript Module that gives a promise interface for working with the Chrome Browser FileSystem API","archived":false,"fork":false,"pushed_at":"2017-06-02T19:51:29.000Z","size":2,"stargazers_count":9,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-03T03:12:07.523Z","etag":null,"topics":["browser","chrome","filesystem","filesystem-api","javascript"],"latest_commit_sha":null,"homepage":null,"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/mykeels.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":"2017-06-02T16:34:36.000Z","updated_at":"2024-09-13T16:15:28.000Z","dependencies_parsed_at":"2023-03-13T17:16:08.766Z","dependency_job_id":null,"html_url":"https://github.com/mykeels/FileSystemJS","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/mykeels/FileSystemJS","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mykeels%2FFileSystemJS","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mykeels%2FFileSystemJS/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mykeels%2FFileSystemJS/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mykeels%2FFileSystemJS/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mykeels","download_url":"https://codeload.github.com/mykeels/FileSystemJS/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mykeels%2FFileSystemJS/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270499999,"owners_count":24595150,"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","status":"online","status_checked_at":"2025-08-14T02:00:10.309Z","response_time":75,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["browser","chrome","filesystem","filesystem-api","javascript"],"created_at":"2024-12-15T21:20:32.983Z","updated_at":"2025-08-14T23:31:52.521Z","avatar_url":"https://github.com/mykeels.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# FileSystem JS\n\nThis is a JavaScript wrapper that provides a promise interface for working with the Chrome Browser FileSystem API. It is built with the aim of making it very easy to use. Hence, promises, rather than the default callbacks that the Native Implementations use.\n\n## Available Methods\n\n- Request Permission\n\n    You can request permission to use the File System on your Web Application with\n\n```javascript\nFileSystem.request()\n            .then(function (fs) {\n                console.log(fs) //[fs] is a FileSystem object\n            })\n            .catch(function (err) { \n                console.error(err)\n            })\n```\n\n- Create New File\n\n    You can create a new file in the file system allocated to your application\n\n```javascript\nFileSystem.createFile(\"log.txt\")\n            .then(function (fileEntry) { \n                console.log(fileEntry) //manipulate the new file\n            })\n            .catch(function (err) { \n                console.error(err) \n            })\n```\n\n- Read File\n\n    You can read a file already existing in the file system allocated to your application\n\n```javascript\nFileSystem.readFile(\"log.txt\")\n            .then(function (fileEntry) { \n                console.log(fileEntry) //do stuff with the fileEntry\n            })\n            .catch(function (err) { \n                console.error(err) \n            })\n```\n\n- Read File as Text\n\n    You can read text from a file already existing in the file system allocated to your application\n\n```javascript\nFileSystem.readFileText(\"log.txt\")\n            .then(function (textContent) { \n                console.log(textContent) //do stuff with the textContent\n            })\n            .catch(function (err) { \n                console.error(err) \n            })\n```\n\n- Write Stuff to a File\n\n    You can read text from a file already existing in the file system allocated to your application\n\n```javascript\nFileSystem.writeFile(\"log.txt\", new Blob([\"Hello World\"], { type: \"text/plain\" }))\n            .then(function (fileEntry) { \n                console.log(fileEntry) //do stuff with the fileEntry\n            })\n            .catch(function (err) { \n                console.error(err) \n            })\n```\n\n## Contributions\n\nThis was built to aid in a quick pet project, so there are a lot more methods people might need that are not available. Quick examples from the top of my head are:\n\n- Rename File\n- Delete File\n- Move File\n- Copy and Paste File\n- All other stuff with Directories\n\nMake a pull request if you can, request for enhancements and raise [issues here](https://github.com/mykeels/FileSystemJS/issues).\n\n## License\n\nThis project is licensed under the [MIT License](LICENSE).","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmykeels%2Ffilesystemjs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmykeels%2Ffilesystemjs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmykeels%2Ffilesystemjs/lists"}