Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/csbiology/fsharpaux

Auxiliary functions and data structures for the F# programming language
https://github.com/csbiology/fsharpaux

fable fable-javascript fable-libraries fsharp

Last synced: 2 months ago
JSON representation

Auxiliary functions and data structures for the F# programming language

Awesome Lists containing this project

README

        

# FSharpAux # FSharpAux

Extensions, auxiliary functions and data structures for the F# programming language

## Documentation

The documentation can be found [here.](http://csbiology.github.io/FSharpAux)

The documentation for this library is automatically generated (using the F# Formatting) from *.fsx and *.md files in the docs folder. If you find a typo, please submit a pull request!

## Nuget

| Package Name | Nuget | Description |
| -------------------- | -------------------------------------------------------------------------------------------------------------------- |-------------|
| `FSharpAux.Core` | [![NuGet Badge](https://buildstats.info/nuget/FSharpAux.Core)](https://www.nuget.org/packages/FSharpAux.Core/) | fable compatible |
| `FSharpAux` | [![NuGet Badge](https://buildstats.info/nuget/FSharpAux)](https://www.nuget.org/packages/FSharpAux/) | |

## Develop

### ProjectDescription

```mermaid
flowchart TD
subgraph Libraries
A("FSharpAux.Core [Fable compatible]")
B("FSharpAux [F# only]")
B -- depends on --> A
end
subgraph TestSuites
C("FSharpAux.Core.Tests [Mocha + Expecto]")
D("FSharpAux.Tests [Expecto]")
M("Mocha [Native]
on transpiled fable js files")
C -- tests --> A
D -- tests --> B
M -- on transpiled files --> A
end
subgraph Packages
F("FSharpAux.Core [includes Fable folder]")
G("FSharpAux")
A -- packages --> F
B -- packages --> G
F -- nuget dependency --- G
end
```

### Requirements

- .Net 6.0
- node.js ~16 (higher might work) [only for fable testing]
- npm ~8 (higher might work) [only for fable testing]

### Setup

1. `dotnet tool restore`
1. `npm install`

### Build Tasks

Build tasks are contained in ./build/build.fsproj.

To build the project, run either `./build.cmd` or `./build.sh`

To pass build targets: `./build.cmd ` or `./build.sh `

#### Tests

- You can run all tests with `./build.cmd watchtests` in watch mode.
- Or you can run the tests once with `./build.cmd runtests`.
- `build/TestTaks.fs` contains more buildtarget to test specific cases.