Packages going forward #108
james-pre
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
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:
Map
InMemory
Overlay
Worker
Port
Fetch
WebAccess
IndexedDB
Storage
WebStorage
Zip
Iso
Emscripten
Dropbox
GoogleDrive
NodeFS
Beta Was this translation helpful? Give feedback.
All reactions