Need info? Read on! | or Create an issue | or Ask us on Discord
Cobalt is a utilities library for Typescript. You can use it with any TypeScript project including backend, frontend and mobile apps.
Note that this project uses functional programming constructs so it is advised to read up on the relevant projects if you're not familiar with them.
This is a list of published packages that you can add to your project. Follow the links if you'd like to learn more about how they work.
- Authorization: Authorization utilities
- Core: Core utilities shared by all packages
- Events: In-memory event bus implementation
- GraphQL: Functional GraphQL Client
- HTTP: HTTP Utilities
- Scheduler: Scheduling utility
- State: Functional and persistent state machine implementation
In case you are not familiar with functional programming and you'd like to learn more about it, you can read up on the following resources:
- Practical Guide to Fp-ts
- Domain modeling in TypeScript
- Functional design
- Interoperability with non functional code using fp-ts
- Approximating haskell's do syntax in Typescript
- PaulGray.net (useful FP articles)
- fp-ts cheatsheet
- fp-ts overview: Error handling, the functional way
- fp-ts and Beautiful API Calls
TODO
In order to publish the underlying packages of this project you need to do the following:
- Install the dependencies using
npm install
- Run the build script in
script/build-all
- Log in to npm:
npm login
- Navigate to the specific project in the
dist
directory and runnpm publish --access public
- Bump all versions to the next one
You're done!