TypeScript Functional programming

Open-source TypeScript projects categorized as Functional programming

Top 23 TypeScript Functional programming Projects

  • Cycle.js

    A functional and reactive JavaScript framework for predictable code

    Project mention: Front-end Guide | dev.to | 2022-11-23


  • fp-ts

    Functional programming in TypeScript

    Project mention: Having trouble deciding which one of three offers I've received to go with | reddit.com/r/cscareerquestions | 2022-11-24

    * Interviewers were excited to hear about my thoughts re: functional programming in typescript and seemed interested in incorporating it (I "learned" haskell last year so I could use a library in typescript called [fp-ts](https://github.com/gcanti/fp-ts) which tries to bring haskell into typescript and I love it).

  • Zigi

    Close all those tabs. Zigi will handle your updates.. Zigi monitors Jira and GitHub updates, pings you when PRs need approval and lets you take fast actions - all directly from Slack! Plus it reduces cycle time by up to 75%.

  • Marble.js

    Marble.js - functional reactive Node.js framework for building server-side applications, based on TypeScript and RxJS.

  • HypeScript

    🐬 A simplified implementation of TypeScript's type system written in TypeScript's type system

    Project mention: Gnarly Learnings from August 2022 | dev.to | 2022-08-24


  • neverthrow

    Type-Safe Errors for JS & TypeScript

    Project mention: How has learning Rust been a benefit to you in other programming areas? | reddit.com/r/rust | 2022-11-15

    I highly recommend the neverthrow library for bringing Result to Typescript.

  • graphql-lodash

    🛠 Data manipulation for GraphQL queries with lodash syntax

    Project mention: Aliasing a nested field as a parent field | reddit.com/r/graphql | 2021-12-31

    Otherwise, if using a JS server you can possibly use GraphQL Lodash, or otherwise you can do it with a custom directive. But be aware that this way you'll be changing the shape of the response to not match the shape of the query anymore, which goes against the GraphQL spec. (This is no problem as long as you know what you're doing.)

  • unit

    Next Generation Visual Programming Platform (by samuelmtimbo)

    Project mention: Ask HN: More “experimental“ UIs for editing/writing code? | news.ycombinator.com | 2022-08-06


    - A code drawn in unit is simply a Directed Graph.

    - Programming can be partially performed by Gesture and by Voice.

  • Scout APM

    Truly a developer’s best friend. Scout APM is great for developers who want to find and fix performance issues in their applications. With Scout, we'll take care of the bugs so you can focus on building great things 🚀.

  • monocle-ts

    Functional optics: a (partial) porting of Scala monocle

    Project mention: Is there a cleaner way to immutably update a deeply nested attribute? (I feel like this is not very clean) | reddit.com/r/typescript | 2022-01-04

    You could have a look at the monocle-ts library. It was designed to deal with this kind of problem.

  • ts-belt

    🔧 Fast, modern, and practical utility library for FP in TypeScript.

    Project mention: Ts-belt – Fast, modern, and practical utility library for FP in TypeScript | news.ycombinator.com | 2022-05-12
  • true-myth

    A library for safer and smarter error- and "nothing"-handling in TypeScript.

    Project mention: Unlocking type-safety superpowers in Typescript with nominal and refinement types | reddit.com/r/typescript | 2022-07-22

    TS doesn't do anything at runtime no, but there are some type checking libraries that could help you. I don't know what packages you're talking about in particular, but if they are IO related you can try io-ts. More generally you could also look into true-myth for Maybe types and wrap any values that come out of your packages before allowing them to be passed into your code.

  • eslint-plugin-functional

    ESLint rules to disable mutation and promote fp in JavaScript and TypeScript.

    Project mention: How to add a property to an object that doesn't exist in its type? | reddit.com/r/typescript | 2022-09-28

    It recommend using https://github.com/eslint-functional/eslint-plugin-functional to force readonly on all properties.

  • FxTS

    A functional programming library for TypeScript/JavaScript

    Project mention: [AskJS] Is There Some Way to Lazy Evaluate Arrays in JavaScript? | reddit.com/r/javascript | 2021-12-23
  • optics-ts

    Type-safe, ergonomic, polymorphic optics for TypeScript

  • nest-clean-architecture

    🏛️ Nest.js clean architecture example following some DDD principles with use-cases written in functionnal programming.

    Project mention: Template: Clean Architecture, Functional Programming, Test strategy | reddit.com/r/Nestjs_framework | 2022-05-26
  • nmf-app

    Understand and reduce your carbon footprint 🌱 iOS & Android.

  • virtual-audio-graph

    :notes: Library for declaratively manipulating the Web Audio API

  • pratica

    🥃 Functional Algebraic Data Types

    Project mention: Mimic Rust's Result type in 7 lines of TypeScript | reddit.com/r/javascript | 2022-02-15

    I would highly recommend the library Practica for anyone interested in having similar types, and many utility functions for those types.

  • elm-ts

    A porting to TypeScript featuring fp-ts, rxjs6 and React

  • remote-data-ts

    RemoteData type

    Project mention: Multiple condition array sorting made easy | dev.to | 2022-08-22

    If you interested in functional programming there is great library, written by Giulio Canti - https://github.com/gcanti/fp-ts , that allready implement similar data types in same maner and even much more from functional languages world, moreover, there is big ecosystem based on fp-ts library - most exiting members are: io-ts - runtime data validation https://github.com/gcanti/io-ts, fault-tolerant and type safe data fetching by Yuriy Bogomolov - https://github.com/YBogomolov/fetcher-ts, functional type for fetched data by devexperts - https://github.com/devexperts/remote-data-ts and much more!

  • Index

    ⚡ Pattern Matching in Typescript

  • eslint-plugin-total-functions

    An ESLint plugin to enforce the use of total functions (and prevent the use of partial functions) in TypeScript.

  • fnts

    λ Minimal Functional Programming Utilities for TypeScript & JavaScript

    Project mention: Generalizing a tuple of pipe functions | reddit.com/r/typescript | 2022-01-04

    I've also tried to play on the idea, but the implementation turned out to be a bit different. Rather than inferring the types from the functions provided, it constrains the functions to follow the return type of the previous one in their argument and retain their return type, transforming every function's type on the fly.

  • talk-typelevel-ts

    Code samples for my talk “Type-level programming in TypeScript”

  • InfluxDB

    Build time-series-based applications quickly and at scale.. InfluxDB is the Time Series Data Platform where developers build real-time applications for analytics, IoT and cloud-native services in less time with less code.

NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020). The latest post mention was on 2022-11-24.

TypeScript Functional programming related posts


What are some of the best open-source Functional programming projects in TypeScript? This list will help you:

Project Stars
1 Cycle.js 10,173
2 fp-ts 8,722
3 Marble.js 2,058
4 HypeScript 1,762
5 neverthrow 1,286
6 graphql-lodash 1,187
7 unit 1,111
8 monocle-ts 925
9 ts-belt 613
10 true-myth 581
11 eslint-plugin-functional 572
12 FxTS 543
13 optics-ts 428
14 nest-clean-architecture 379
15 nmf-app 357
16 virtual-audio-graph 340
17 pratica 338
18 elm-ts 288
19 remote-data-ts 271
20 Index 177
21 eslint-plugin-total-functions 80
22 fnts 72
23 talk-typelevel-ts 28
Write Clean JavaScript Code. Always.
Sonar helps you commit clean code every time. With over 300 unique rules to find JavaScript bugs, code smells & vulnerabilities, Sonar finds the issues while you focus on the work.