0.2.0
Pre-release
Pre-release
- Added support for symlinks
- Removed callback support in
configure
andinitialize
- Added support for
Backend
inconfigure
- Greatly simplified
FileSystem
- Removed methods from Internal API:
access
,open
,truncate
,readFile
,writeFile
,appendFile
,chmod
,chown
,utimes
,symlink
,readlink
, 'realpath' - Combined
BaseFileSystem
intoFileSystem
(removed default ENOTSUP implementations and marked them as abstract) - Changed from an
interface
to anabstract class
- Renamed
FileSystem.whenReady
toFileSystem.ready
- Added
AsyncFileSystem
(adds default ENOTSUP implementations for synch methods) - Removed
metadata.supportsLinks
- Removed methods from Internal API:
- Changes to
SyncStore
andAsyncStore
and their FSes- Added support for hard links
- Updated
SimpleSyncRWTransaction
to useMap
andSet
instead of normal objects and arrays - Removed "KeyValue" from Sync* and Async* names
- Renamed
del
toremove
on transaction classes
- Reworked backends
- Renamed
BackendContructor
toBackend
- Separated backends from FS classes
- Changed to using
createBackend(backend)
instead of bindingcreateBackend
to the backend - Added
isBackend
andisBackendConfig
- Renamed
getFileSystem
toresolveBackendConfig
- Removed callback support
createBackend
- Renamed
- Changes to the emulation layer
- Fixed the options for many functions
- Added
FileHandle
- Fixed
fs.promises
functions that use aFileHandle
instead of numeric descriptor - Removed some
fs.promises
functions that do not exist on the Node API - Added type checks with the Node API using
satisfies
on each method instead of a single intersection type assignment - Added
writeFileSync
data check
- Reworked
LRUCache
- Fully and correctly implemented
encode
anddecode
- Improved
File
- Changed from an
interface
to anabstract class
- Combined
BaseFile
intoFile
(removed default ENOTSUP implementations and marked them as abstract) - Added
File.path
- Changed
File.get*
methods to getters - Fixed
File.readSync
's behavior when reading past the end of the file
- Changed from an
- Added setters to
Stats.*time
- Improved
Inode
- Changed the data members to be accessors that modify the underlying buffer directly
- Removed
serialize
andDeserialize
- Changed
Inode.update
to acceptReadonly<Stats>
- Added
data
getter which returns the buffer - Changed
Inode
to named instead of default export
- Changes to
ApiError
- Renamed
ApiError.FileError
toApiError.OnPath
- Removed
ApiError.Deserialize
andApiError.serialize
- Renamed
- Tests
- Restructured tests directory
- Changed tests to not use multiple backends since they would not work at all with the multi-backend setup.
- Fixed many of the tests
- Added tests for encoding