Ecosystem

Tooling

  • create-fp-ts-lib - Bootstrap libraries that follow common fp-ts coding, documentation and testing patterns
  • docs-ts - Documentation generator used by fp-ts and many fp-ts libraries

Libraries

  • fp-ts-contrib - A community driven utility package for fp-ts
  • fp-ts-codegen - TypeScript code generation from a haskell-like syntax for ADT
  • io-ts - TypeScript compatible runtime type system for IO validation
  • monocle-ts - Functional optics: a (partial) porting of scala monocle to TypeScript
  • spectacles-ts - A simple facade built on top of monocle-ts (autocompletes possible combinators)
  • newtype-ts - Implementation of newtypes in TypeScript
  • logging-ts - Composable loggers for TypeScript
  • logger-fp-ts - Logger built on top of logging-ts
  • fp-ts-routing - A type-safe bidirectional routing library for TypeScript
  • parser-ts - String parser combinators for TypeScript
  • remote-data-ts - RemoteData type (check this article)
  • retry-ts - Retry combinators for monadic actions that may fail
  • fp-ts-local-storage - fp-ts bindings for LocalStorage
  • circuit-breaker-monad - Circuit Breaker pattern as a monad
  • waveguide - Bifunctor effect type and concurrent data structures.
  • kleisli-ts - Kleisli arrows for bifunctor MonadThrow (IOEither, TaskEither)
  • @nll/datum - Datum and DatumEither types, another take on RemoteData and flow
  • fetcher-ts - Type-safe REST HTTP client with io-ts response validation
  • alga-ts – Algebraic encoding for graphs, which makes invalid graphs unrepresentable
  • morphic-ts - Code first Domain modeling with extensive pattern supports (matchers, predicates, lenses) with useful, extensible, customisable derivations (Show, Eq, io-ts, fast-check, jsonSchema, ..).
  • graphics-ts - A porting of purescript-{canvas, drawing} featuring fp-ts
  • expressive-ts - Comonadic builders for writing complex regular expressions
  • fp-fetch - Functional style, non-throwing utils for data fetching
  • fp-ts-std - The missing pseudo-standard library for fp-ts.
  • fp-ts-lcg - A seeded pseudorandom number generator
  • fp-ts-graph - Immutable, functional graph data structure
  • fp-ts-bigint - Opt-in BigInt functions
  • fp-ts-generators - Seeded pseudorandom generators for structured data
  • fp-ts-sized-vectors - Fixed size generic vector type carrying its length at the typelevel
  • fp-ts-number-instances - Not fully law abiding instances for the number type
  • fp-ts-react-stable-hooks - Reduce unnecessary rerenders when using fp-ts data types with React hooks

Bindings

Plugins

  • fastify-funky - plugin that adds support for returning fp-ts Either and Task entities as handler execution results for fastify web framework