Releases: jrfso/jrfs
Releases · jrfso/jrfs
v0.3.0
Summary
Fixes
- FS write logic comparing ctimes and patching existing data has been moved into the FsDriver transaction.
- Simplifies lots of types.
- Better type naming, organization. Untangles internal layering.
- Some undocumented bug fixes.
Additions
-
A dynamic
Commands
model has been added.- The existing core FS transactions (
add,move,copy,write,...
)have been reworked to fit into theCommands
model asFsCommands
. - Commands can be executed by any type of
Driver
and can be forwarded to other layers (over the Internet or within our own code) since a Command represents the most compact, serializable essence of any built-in or integrated transactions that we want to perform on our file systems.
- The existing core FS transactions (
-
A dynamic
Plugins
system has been added.- Plugins can register their own commands.
- Allows module augmentation to declare common Repository facade methods that call commands.
- Allows command implementations to be registered separately from command-calling facade methods...
- i.e. You can have your command-calling facade in your common package and your command implementations in various other packages which might be specific to a certain type of driver e.g.
FsDriver | WebDriver
...
- i.e. You can have your command-calling facade in your common package and your command implementations in various other packages which might be specific to a certain type of driver e.g.
v0.2.0
Summary
- Simplifies
FileSystem
generic signature and remove unnecessarydriver
property. - Simplifies
Driver
types, make them non-generic. Drivers that need typedfileTypes
can cast to that type. - Re-exports commonly used
mutative
helpers for use with integrations (applyPatch
,createPatch
).- Implement
createPatch
via mutative'smakeCreator
, allowingFileSystem.write()
callbacks to return whole file data.
- Implement
- Removes
DriverProps.fileTree
constructor argument to allow creatingRepository.fs
after driver. Replaces wonkyFileSystem
factory with a standard constructor.
v0.1.0
Summary
- Extracted
FileSystem
fromRepository
, exposed asRepository.fs
. (BREAKING) - Added
FileTree.rid
resource id property. - Restructured
FsDriver
config and index file to storeFileTree.rid
. (BREAKING)- The
FsConfig
fieldids
was renamed toindex
. - The
IdsFile
interface was renamed toFsIndexFileData
and restructured fromRecord<string,string>
to{ rid?:string; node: Record<string, string> }
.
- The
- Removed unused
FileTree.fullPath
method andFileTree.rootPath
field. (BREAKING)
What's Changed
- v0.1.0 Repository is not a FileTree, it has a top level FileTree interface named fs. by @waynesbrain in #3
Full Changelog: v0.0.4...v0.1.0