Skip to content

dutch-and-bold/flystorage

Repository files navigation

Flystorage Logo

Flystorage

.NET Restore, Build and Test Solution

Flystorage is a C#/.NET port of the massively popular file storage library Flysystem. It provides the same interface to interact with many different types of filesystems. When you use Flystorage, you’re not only protected from vendor lock-in, you’ll also have a consistent experience for which ever storage is right for you.

Table of Contents

Installation

WIP

Usage

WIP

Flysystem API

However this project is a port of the original Flysystem API, there have been a few design changes to better accomodate for C# and .NET. These decisions are described here.

Porting progress

Adapter Available
Local ✅ Yes
InMemory ✅ Yes
AWS S3 ✅ Yes
FTP ⌛️ In-progress
SFTP ⌛️ In-progress

Support

Please open an issue for support.

Contributing

Please contribute using Github Flow. Create a branch, add commits, and open a pull request.

Setting up the project

  1. Clone the project to a local directory
  2. Restore packages with nuget

Requirements

  • .NET SDK >= 5.0

Running tests

The project contains several xUnit unit tests, the tests can be run with dotnet test or using your IDE.

Coding style and rules

This project adopts the Microsoft recommended code quality rules and .NET API usage rules. To adhere to these rules the project uses Microsoft.CodeAnalysis.NetAnalyzers package for code analysis in all projects. On top of that we also do adhere the Microsoft Naming Guidelines.

Versioning

This package adheres the SemVer v2 versioning theory. To automate the versioning process we are using Nerdbank.Gitversioning.

When a branch is merged with the main branch, the PATCH version will automatically increment. Because we use SemVer please increment the minor version in the version.json file when your branch adds a new feature. Please be aware that each package has it's own version.json file.

About

Flysystem inspired filesystem abstraction for .NET

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages