@cfp-studio/vfs
v2.1.6
Published
`@cfp-studio/vfs` 提供统一的虚拟文件系统(Virtual File System, VFS)抽象,支持内存、磁盘、堆叠多源读写、监听与快照,适用于低代码、测试、沙箱等多场景。
Readme
@cfp-studio/vfs
@cfp-studio/vfs 提供统一的虚拟文件系统(Virtual File System, VFS)抽象,支持内存、磁盘、堆叠多源读写、监听与快照,适用于低代码、测试、沙箱等多场景。
主要功能
- 内存文件系统(MemoryReader/Writer)
- 磁盘文件系统(FsReader)
- 多源堆叠文件系统(StackedReader)
- 监听文件变更、快照与回滚
- 统一 Reader/Writer 接口,支持异步/同步读写
架构与核心模块
src/api.ts:Reader/Writer/Entry 等核心接口定义src/memory.ts:内存文件系统实现src/real.ts:真实文件系统实现(基于 fs-extra/chokidar)src/stacked.ts:多源堆叠文件系统实现src/listeners.ts:监听器管理src/index.ts:主入口,导出全部 API 与工厂函数
主要导出 API
createMemoryReader():创建内存文件系统createMemoryReaderFromSnapshot(snapshot):基于快照恢复内存文件系统createFileSystemReader(options):创建磁盘文件系统createStackedReader(readers):堆叠多个 ReaderReader/Writer/Entry等类型
典型用法
import { createMemoryReader, createFileSystemReader, createStackedReader } from '@cfp-studio/vfs';
const mem = createMemoryReader();
const fsr = createFileSystemReader();
const vfs = createStackedReader([mem, fsr]);依赖
fs-extra、chokidar:文件系统与监听assert-never:类型安全
构建与测试
pnpm build:TypeScript 编译与打包pnpm test:Vitest 单元测试
__ 注意 使用 unbuild @2.0.0 版本 升级后编译错误__
License
MIT
