fsx

A modern filesystem API for JavaScript

README

fsx: A modern filesystem API for JavaScript



If you find this useful, please consider supporting my work with a donation or nominate me for a GitHub Star.

Description


This is the monorepo for fsx, a modern filesystem API for JavaScript. Most of the filesystem APIs provided by JavaScript runtimes were designed to emulate Linux utilities which, while making them easy to adopt and understand, often requires writing way more code than necessary for common tasks. fsx is a new approach that streamlines the most common operations while providing useful ways to test the expected functionality.

Getting Started


To get started using fsx, please see the Getting Started.

Dev Environment Setup


Prerequisites


You must have the following installed:

1. Deno

[!NOTE]

Deno is used for testing the fsx-deno package. If you are only working on other packages, you may not need to install Deno.


Then follow these steps:

1. Fork the repository
2. Clone your fork
3. Run npm install to set up dependencies

[!NOTE]

It's recommended to use the Visual Studio Code Deno extension for the best developer experience. When you first open the project in Visual Studio Code, you'll be prompted to install this extension.


Testing


To test everything:

  1. ```shell
  2. npm test
  3. ```

To test just one workspace

  1. ```shell
  2. npm test -w packages/node
  3. ```

Linting


To lint everything:

  1. ```shell
  2. npm run lint
  3. ```

To lint and fix everything:

  1. ```shell
  2. npm run lint:fix
  3. ```

Formatting


To format all files:

  1. ```shell
  2. npm run fmt
  3. ```

License


Apache 2.0