├── .editorconfig ├── .eslintrc.json ├── .gitattributes ├── .github └── workflows │ └── ci.yaml ├── .gitignore ├── .npmignore ├── .prettierrc ├── README.md ├── jest.config.json ├── license.md ├── package.json ├── scripts └── build.mjs ├── src ├── ApiError.ts ├── backends │ ├── AsyncMirror.ts │ ├── Dropbox.ts │ ├── Emscripten.ts │ ├── FileSystemAccess.ts │ ├── FolderAdapter.ts │ ├── HTTPRequest.ts │ ├── InMemory.ts │ ├── IndexedDB.ts │ ├── IsoFS.ts │ ├── OverlayFS.ts │ ├── Storage.ts │ ├── WorkerFS.ts │ ├── ZipFS.ts │ ├── backend.ts │ └── index.ts ├── cred.ts ├── emulation │ ├── callbacks.ts │ ├── constants.ts │ ├── fs.ts │ ├── index.ts │ ├── promises.ts │ ├── shared.ts │ └── sync.ts ├── file.ts ├── filesystem.ts ├── generic │ ├── dropbox_bridge.d.ts │ ├── emscripten_fs.ts │ ├── fetch.ts │ ├── file_index.ts │ ├── key_value_filesystem.ts │ ├── locked_fs.ts │ ├── mutex.ts │ └── preload_file.ts ├── index.ts ├── inode.ts ├── stats.ts └── utils.ts ├── test ├── common.ts ├── fixtures │ ├── README.md │ ├── files │ │ ├── emscripten │ │ │ ├── files.err │ │ │ ├── files.out │ │ │ └── somefile.binary │ │ ├── isofs │ │ │ └── 1 │ │ │ │ └── 2 │ │ │ │ └── 3 │ │ │ │ └── 4 │ │ │ │ └── 5 │ │ │ │ └── 6 │ │ │ │ └── 7 │ │ │ │ └── 8 │ │ │ │ └── test_file.txt │ │ └── node │ │ │ ├── a.js │ │ │ ├── a1.js │ │ │ ├── elipses.txt │ │ │ ├── empty.txt │ │ │ ├── exit.js │ │ │ └── x.txt │ ├── isofs │ │ ├── test_joliet.iso │ │ └── test_rock_ridge.iso │ └── static │ │ └── 49chars.txt ├── tests │ ├── HTTPRequest │ │ └── listing.ts │ ├── OverlayFS │ │ └── delete-log-test.ts │ └── all │ │ ├── appendFile.test.ts │ │ ├── chmod.test.ts │ │ ├── error-messages.test.ts │ │ ├── exists.test.ts │ │ ├── fsync.test.ts │ │ ├── long-path.test.ts │ │ ├── mkdir.test.ts │ │ ├── mode.test.ts │ │ ├── null-bytes.test.ts │ │ ├── open.test.ts │ │ ├── read.test.ts │ │ ├── readFile.test.ts │ │ ├── readFileSync.test.ts │ │ ├── readdir.test.ts │ │ ├── rename.test.ts │ │ ├── rmdir.test.ts │ │ ├── stat.test.ts │ │ ├── symlink.test.ts │ │ ├── truncate.test.ts │ │ ├── utimes.test.ts │ │ ├── write.test.ts │ │ ├── writeFile.test.ts │ │ ├── writeFileSync.test.ts │ │ └── writeSync.test.ts └── tsconfig.json └── tsconfig.json /.editorconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvilk/BrowserFS/HEAD/.editorconfig -------------------------------------------------------------------------------- /.eslintrc.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvilk/BrowserFS/HEAD/.eslintrc.json -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | * text=auto eol=lf 2 | -------------------------------------------------------------------------------- /.github/workflows/ci.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvilk/BrowserFS/HEAD/.github/workflows/ci.yaml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvilk/BrowserFS/HEAD/.gitignore -------------------------------------------------------------------------------- /.npmignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvilk/BrowserFS/HEAD/.npmignore -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvilk/BrowserFS/HEAD/.prettierrc -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvilk/BrowserFS/HEAD/README.md -------------------------------------------------------------------------------- /jest.config.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvilk/BrowserFS/HEAD/jest.config.json -------------------------------------------------------------------------------- /license.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvilk/BrowserFS/HEAD/license.md -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvilk/BrowserFS/HEAD/package.json -------------------------------------------------------------------------------- /scripts/build.mjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvilk/BrowserFS/HEAD/scripts/build.mjs -------------------------------------------------------------------------------- /src/ApiError.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvilk/BrowserFS/HEAD/src/ApiError.ts -------------------------------------------------------------------------------- /src/backends/AsyncMirror.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvilk/BrowserFS/HEAD/src/backends/AsyncMirror.ts -------------------------------------------------------------------------------- /src/backends/Dropbox.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvilk/BrowserFS/HEAD/src/backends/Dropbox.ts -------------------------------------------------------------------------------- /src/backends/Emscripten.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvilk/BrowserFS/HEAD/src/backends/Emscripten.ts -------------------------------------------------------------------------------- /src/backends/FileSystemAccess.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvilk/BrowserFS/HEAD/src/backends/FileSystemAccess.ts -------------------------------------------------------------------------------- /src/backends/FolderAdapter.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvilk/BrowserFS/HEAD/src/backends/FolderAdapter.ts -------------------------------------------------------------------------------- /src/backends/HTTPRequest.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvilk/BrowserFS/HEAD/src/backends/HTTPRequest.ts -------------------------------------------------------------------------------- /src/backends/InMemory.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvilk/BrowserFS/HEAD/src/backends/InMemory.ts -------------------------------------------------------------------------------- /src/backends/IndexedDB.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvilk/BrowserFS/HEAD/src/backends/IndexedDB.ts -------------------------------------------------------------------------------- /src/backends/IsoFS.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvilk/BrowserFS/HEAD/src/backends/IsoFS.ts -------------------------------------------------------------------------------- /src/backends/OverlayFS.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvilk/BrowserFS/HEAD/src/backends/OverlayFS.ts -------------------------------------------------------------------------------- /src/backends/Storage.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvilk/BrowserFS/HEAD/src/backends/Storage.ts -------------------------------------------------------------------------------- /src/backends/WorkerFS.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvilk/BrowserFS/HEAD/src/backends/WorkerFS.ts -------------------------------------------------------------------------------- /src/backends/ZipFS.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvilk/BrowserFS/HEAD/src/backends/ZipFS.ts -------------------------------------------------------------------------------- /src/backends/backend.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvilk/BrowserFS/HEAD/src/backends/backend.ts -------------------------------------------------------------------------------- /src/backends/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvilk/BrowserFS/HEAD/src/backends/index.ts -------------------------------------------------------------------------------- /src/cred.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvilk/BrowserFS/HEAD/src/cred.ts -------------------------------------------------------------------------------- /src/emulation/callbacks.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvilk/BrowserFS/HEAD/src/emulation/callbacks.ts -------------------------------------------------------------------------------- /src/emulation/constants.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvilk/BrowserFS/HEAD/src/emulation/constants.ts -------------------------------------------------------------------------------- /src/emulation/fs.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvilk/BrowserFS/HEAD/src/emulation/fs.ts -------------------------------------------------------------------------------- /src/emulation/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvilk/BrowserFS/HEAD/src/emulation/index.ts -------------------------------------------------------------------------------- /src/emulation/promises.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvilk/BrowserFS/HEAD/src/emulation/promises.ts -------------------------------------------------------------------------------- /src/emulation/shared.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvilk/BrowserFS/HEAD/src/emulation/shared.ts -------------------------------------------------------------------------------- /src/emulation/sync.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvilk/BrowserFS/HEAD/src/emulation/sync.ts -------------------------------------------------------------------------------- /src/file.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvilk/BrowserFS/HEAD/src/file.ts -------------------------------------------------------------------------------- /src/filesystem.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvilk/BrowserFS/HEAD/src/filesystem.ts -------------------------------------------------------------------------------- /src/generic/dropbox_bridge.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvilk/BrowserFS/HEAD/src/generic/dropbox_bridge.d.ts -------------------------------------------------------------------------------- /src/generic/emscripten_fs.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvilk/BrowserFS/HEAD/src/generic/emscripten_fs.ts -------------------------------------------------------------------------------- /src/generic/fetch.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvilk/BrowserFS/HEAD/src/generic/fetch.ts -------------------------------------------------------------------------------- /src/generic/file_index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvilk/BrowserFS/HEAD/src/generic/file_index.ts -------------------------------------------------------------------------------- /src/generic/key_value_filesystem.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvilk/BrowserFS/HEAD/src/generic/key_value_filesystem.ts -------------------------------------------------------------------------------- /src/generic/locked_fs.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvilk/BrowserFS/HEAD/src/generic/locked_fs.ts -------------------------------------------------------------------------------- /src/generic/mutex.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvilk/BrowserFS/HEAD/src/generic/mutex.ts -------------------------------------------------------------------------------- /src/generic/preload_file.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvilk/BrowserFS/HEAD/src/generic/preload_file.ts -------------------------------------------------------------------------------- /src/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvilk/BrowserFS/HEAD/src/index.ts -------------------------------------------------------------------------------- /src/inode.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvilk/BrowserFS/HEAD/src/inode.ts -------------------------------------------------------------------------------- /src/stats.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvilk/BrowserFS/HEAD/src/stats.ts -------------------------------------------------------------------------------- /src/utils.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvilk/BrowserFS/HEAD/src/utils.ts -------------------------------------------------------------------------------- /test/common.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvilk/BrowserFS/HEAD/test/common.ts -------------------------------------------------------------------------------- /test/fixtures/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvilk/BrowserFS/HEAD/test/fixtures/README.md -------------------------------------------------------------------------------- /test/fixtures/files/emscripten/files.err: -------------------------------------------------------------------------------- 1 | texte 2 | -------------------------------------------------------------------------------- /test/fixtures/files/emscripten/files.out: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvilk/BrowserFS/HEAD/test/fixtures/files/emscripten/files.out -------------------------------------------------------------------------------- /test/fixtures/files/emscripten/somefile.binary: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvilk/BrowserFS/HEAD/test/fixtures/files/emscripten/somefile.binary -------------------------------------------------------------------------------- /test/fixtures/files/isofs/1/2/3/4/5/6/7/8/test_file.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvilk/BrowserFS/HEAD/test/fixtures/files/isofs/1/2/3/4/5/6/7/8/test_file.txt -------------------------------------------------------------------------------- /test/fixtures/files/node/a.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvilk/BrowserFS/HEAD/test/fixtures/files/node/a.js -------------------------------------------------------------------------------- /test/fixtures/files/node/a1.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvilk/BrowserFS/HEAD/test/fixtures/files/node/a1.js -------------------------------------------------------------------------------- /test/fixtures/files/node/elipses.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvilk/BrowserFS/HEAD/test/fixtures/files/node/elipses.txt -------------------------------------------------------------------------------- /test/fixtures/files/node/empty.txt: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test/fixtures/files/node/exit.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvilk/BrowserFS/HEAD/test/fixtures/files/node/exit.js -------------------------------------------------------------------------------- /test/fixtures/files/node/x.txt: -------------------------------------------------------------------------------- 1 | xyz 2 | -------------------------------------------------------------------------------- /test/fixtures/isofs/test_joliet.iso: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvilk/BrowserFS/HEAD/test/fixtures/isofs/test_joliet.iso -------------------------------------------------------------------------------- /test/fixtures/isofs/test_rock_ridge.iso: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvilk/BrowserFS/HEAD/test/fixtures/isofs/test_rock_ridge.iso -------------------------------------------------------------------------------- /test/fixtures/static/49chars.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvilk/BrowserFS/HEAD/test/fixtures/static/49chars.txt -------------------------------------------------------------------------------- /test/tests/HTTPRequest/listing.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvilk/BrowserFS/HEAD/test/tests/HTTPRequest/listing.ts -------------------------------------------------------------------------------- /test/tests/OverlayFS/delete-log-test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvilk/BrowserFS/HEAD/test/tests/OverlayFS/delete-log-test.ts -------------------------------------------------------------------------------- /test/tests/all/appendFile.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvilk/BrowserFS/HEAD/test/tests/all/appendFile.test.ts -------------------------------------------------------------------------------- /test/tests/all/chmod.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvilk/BrowserFS/HEAD/test/tests/all/chmod.test.ts -------------------------------------------------------------------------------- /test/tests/all/error-messages.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvilk/BrowserFS/HEAD/test/tests/all/error-messages.test.ts -------------------------------------------------------------------------------- /test/tests/all/exists.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvilk/BrowserFS/HEAD/test/tests/all/exists.test.ts -------------------------------------------------------------------------------- /test/tests/all/fsync.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvilk/BrowserFS/HEAD/test/tests/all/fsync.test.ts -------------------------------------------------------------------------------- /test/tests/all/long-path.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvilk/BrowserFS/HEAD/test/tests/all/long-path.test.ts -------------------------------------------------------------------------------- /test/tests/all/mkdir.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvilk/BrowserFS/HEAD/test/tests/all/mkdir.test.ts -------------------------------------------------------------------------------- /test/tests/all/mode.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvilk/BrowserFS/HEAD/test/tests/all/mode.test.ts -------------------------------------------------------------------------------- /test/tests/all/null-bytes.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvilk/BrowserFS/HEAD/test/tests/all/null-bytes.test.ts -------------------------------------------------------------------------------- /test/tests/all/open.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvilk/BrowserFS/HEAD/test/tests/all/open.test.ts -------------------------------------------------------------------------------- /test/tests/all/read.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvilk/BrowserFS/HEAD/test/tests/all/read.test.ts -------------------------------------------------------------------------------- /test/tests/all/readFile.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvilk/BrowserFS/HEAD/test/tests/all/readFile.test.ts -------------------------------------------------------------------------------- /test/tests/all/readFileSync.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvilk/BrowserFS/HEAD/test/tests/all/readFileSync.test.ts -------------------------------------------------------------------------------- /test/tests/all/readdir.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvilk/BrowserFS/HEAD/test/tests/all/readdir.test.ts -------------------------------------------------------------------------------- /test/tests/all/rename.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvilk/BrowserFS/HEAD/test/tests/all/rename.test.ts -------------------------------------------------------------------------------- /test/tests/all/rmdir.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvilk/BrowserFS/HEAD/test/tests/all/rmdir.test.ts -------------------------------------------------------------------------------- /test/tests/all/stat.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvilk/BrowserFS/HEAD/test/tests/all/stat.test.ts -------------------------------------------------------------------------------- /test/tests/all/symlink.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvilk/BrowserFS/HEAD/test/tests/all/symlink.test.ts -------------------------------------------------------------------------------- /test/tests/all/truncate.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvilk/BrowserFS/HEAD/test/tests/all/truncate.test.ts -------------------------------------------------------------------------------- /test/tests/all/utimes.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvilk/BrowserFS/HEAD/test/tests/all/utimes.test.ts -------------------------------------------------------------------------------- /test/tests/all/write.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvilk/BrowserFS/HEAD/test/tests/all/write.test.ts -------------------------------------------------------------------------------- /test/tests/all/writeFile.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvilk/BrowserFS/HEAD/test/tests/all/writeFile.test.ts -------------------------------------------------------------------------------- /test/tests/all/writeFileSync.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvilk/BrowserFS/HEAD/test/tests/all/writeFileSync.test.ts -------------------------------------------------------------------------------- /test/tests/all/writeSync.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvilk/BrowserFS/HEAD/test/tests/all/writeSync.test.ts -------------------------------------------------------------------------------- /test/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvilk/BrowserFS/HEAD/test/tsconfig.json -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvilk/BrowserFS/HEAD/tsconfig.json --------------------------------------------------------------------------------