Code Monkey home page Code Monkey logo

spark-packages's Introduction

SEB Spark

Public packages published under the @sebspark organisation on NPM.

Packages

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

Contributing

Get started

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.

Adding a new package

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

Install dependencies to 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.

spark-packages's People

Contributors

alexanderczigler avatar believer avatar dependabot[bot] avatar github-actions[bot] avatar johanobrink avatar jpvargasdev avatar raduachim avatar rafaelromon avatar

Stargazers

 avatar

Watchers

 avatar  avatar

spark-packages's Issues

Add OSS License check to build pipeline

Add OSS License check to build pipeline.
Some licenses are not permitted for use in SEB.
We should investigate if we can add a license check in our build pipeline

Use Vitest for type checking

Vitest has the ability to run type checks. It uses tsc under the hood, so we can use it as a way of testing that all the types are correct inside each package, but we can also use it to create actual tests for the types.

  • Add vitest typecheck in each package. Use --passWithNoTests if we don't want any specific type tests in that package, but still want to type check the code.
  • Add vitest typecheck to new package template.
  • Add at least one specific type test to the test full feature.
  • Add turbo task for type checking all packages.
  • Add type checking in GitHub actions workflows

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.