Replace Foundation file operations with NIOFileSystem
What are the benefits to swiftly from switching to NIOFilesystem? One reason appears to be that the operations are asynchronous, which could work well with the async codebase here.
One reason appears to be that the operations are asynchronous, which could work well with the async codebase here.
That's pretty much it. It is currently the only fully async file system we have in Swift.
It looks like NIOFilesystem uses FilePath from System(Package), which is nice in the sense that it preserves the OS native path structure instead of normalizing to a URL, or using a bare string without the path arithmetic operations. We could start with sweeping all of the URL paths, changing them into FilePaths.