Public packages published under the @sebspark organisation on NPM.
A pubsub subscriber helper.
A wrapper around Google PubSub adding support for typing, serialization/deserialization, naming of subscriptions for specific topics, push routes and some more.
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.
Use Opentelemetry for collecting traces and exporting to Cloud Trace
Google IAM utilities.
A (so far incomplete) mocking library for Spanner DB
Migration tool for Spanner DB
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:package
We 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.