Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Packages going forward #108

Discussion options

v0.10.0 was released recently. In the release, the Fetch and various port backends were moved from separate packages to the core. I'd like to explain why that was done as well as provide a plan for how I plan to structure the ZenFS packages in the future.

Merging @zenfs/port and @zenfs/fetch into @zenfs/core

The Fetch and various port backends were moved from separate packages to the core for a few reasons.

First, they are cross-platform, and one of the reasons why separate packages are used is to prevent pollution of the global namespace with variables that don't actually exist at runtime, which would make working on the project more difficult (e.g. lib.dom). Both @zenfs/fetch and @zenfs/port did not depend on any of these kinds of packages, so that was not a concern.

In addition, separate packages help to reduce bundle size. In this case, I don't think that @zenfs/fetch and @zenfs/port add too much to the bundle size: 206KB in 0.9.7 and 217KB in 0.10.0.

Packages going forward

I've created this flowchart to describe my process for deciding how to structure the packages:

Here are all of the current and planned backends, along with which packages they are or will be part of:

API Backend Package
Map InMemory @zenfs/core
Copy-on-write (readonly overlay) Overlay @zenfs/core
Worker Port @zenfs/core
HTTP Requests Fetch @zenfs/core
File System Access WebAccess @zenfs/dom
Indexed DB IndexedDB @zenfs/dom
Storage WebStorage @zenfs/dom
ZIP archives Zip @zenfs/zip
ISO images Iso @zenfs/iso
Planned / Work In Progress
Emscripten Emscripten @zenfs/emscripten
Dropbox Dropbox @zenfs/dropbox
Google Drive GoogleDrive @zenfs/google-drive
NodeJS Integration NodeFS @zenfs/node
You must be logged in to vote

Replies: 0 comments

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
1 participant

AltStyle によって変換されたページ (->オリジナル) /