Public packages published under the @sebspark organisation on NPM.
A pubsub subscriber helper.
This library is built on faulty assumptions for Google PubSub
- Topics and subscriptions should typically be created through Terraform or some other form of infrastructure as code
- Same thing goes for Schemas
- If a subscription is created in code, it should be unique and removed on SIGTERM
- Topics should not handle more than one message type
Use vanilla @google-cloud/pubsub instead!
An Express router wrapped with additional TypeScript typings and defintions for our purposes.
Default TypeScript configuration
ISO-10383 Market Identification Codes (MIC).
ISO-4217 currency codes.
Generates Typescript from avro files
A stripped down version of avsc which works in node, browser and react-native
Generates types and a routerdefinition from OpenAPI specs
A typed router for express based on type definitions from openapi-typegen
Base types for OpenAPI/Typescript
A typed REST client for the definitions from openapi-typegen
End to end tests for openapi generator, express and client
A helper for retrying any promise call (ex an http request) with error rules and backoff
A wrapper for OpenSearch Client to assist with typed queries, indices etc
A simple caching wrapper for promises.
Find trading hours of a market, when it's closed for holidays, or when it's only open for part of the day.
Google IAM utilities.
Migration tool for Spanner DB
A wrapper for child_process spawn to simplify interactive cli tests
Token generator and refresh functions for OpenApi Client and Google IAM.
Trade Insight client library with helps
A Socket.IO PubSub emitter, allowing to communicate with a group of Socket.IO servers from another Node.js process
A fake IAP which can be used to run e2e tests
An easy way to add health check routes to your API
Open Telemetry implementation of logging, tracing and metrics
Handle environment variables with assertion
Avro parser and helpers for creating socket servers and socket clients using it
Install dependencies with yarn.
yarn
Run TypeScript for all packages in watch mode using yarn dev or a specific package using the filter flag, e.g., yarn dev --filter logging. Additional scripts for testing, linting, and building can be found in package.json.
We use Turborepo's code generation to create new packages. Run the following command, provide it with information, and it will create a package with some default scripts and TypeScript configured.
yarn generate:packageWe use Yarn workspaces. To install a dependency to a specific workspace (package) use, for instance, yarn workspace @sebspark/logging add @types/jest. Note that the workspace name is the name defined in package.json, not the folder name.