not-memory-fs
A descendant of MemoryFileSystem that persists to disk instead of memory
not-memory-fs
A descendant of MemoryFileSystem that persists to disk instead of memory, created to address this issue.
This business is somewhat risky, because it's possible for some module which
expects this to be a vanilla MemoryFileSystem to wreak havoc on the system,
doing an rm -rf
on the root directory or some such. Hence the need for a
sandbox, to limit the possible damage (best-effort).
Why not persist to disk asynchronously, while forwarding requests to MemoryFileSystem synchronously, that way preserving the original performance boost? Because this keeps the code simple, and allows one to edit the files and have those changes noticed by the consumer of the file system. And the boost is becoming negligible on NVMe SSDs (though the writes do, unfortunately, damage the drive unnecessarily).
memory-fs
is just a development dependency. Why? It's important for this
module and the code running instanceof MemoryFileSystem
to require the same
copy of memory-fs
, otherwise it may resolve to false
, negating the main
purpose of this wrapper, like in webpack-dev-middleware
's case.
mkdirp
brings an unnecessary dependency with it, minimist
, unfortunately,
but it's tiny, so that's tolerable.