Skip to content

idearium/idearium-lib

Repository files navigation

idearium-lib

docs

This repository contains a collection of packages that make up the shared libraries for Idearium applications running on Node.js. Any code that is used across multiple applications (or within multiple Docker containers) should live here.

You can read more about how the libraries work by reading the documentation.

Libraries

All the libraries are stored under packages/*.

@idearium/apm

Defaults for our Elastic APM integration.

@idearium/certs

Easily load custom and OS certificate authority certs into Node.js.

@idearium/cookie

A library to make working with cookies in Node.js easier.

@idearium/encryption

Making it painless to encrypt and decrypt plain text.

@idearium/fetch

Making fetch requests easy.

@idearium/kue

A library to make working with Kue painless.

@idearium/lists

Manage multiple lists of information and retrieve the data in various formats.

@idearium/log

To manage application logging in Node.js.

@idearium/log-http

Express middleware to log HTTP requests.

@idearium/log-insightops

Works with @idearium/log to enable sending logs to InsightOps.

@idearium/log-structured

Works with @idearium/log to update log output to match GCP Structured Logging requirements.

@idearium/mongoose

Easily create connections to MongoDB via Mongoose.

@idearium/phone

Wrapper around the Twilio phone lookup api.

@idearium/promise-all-settled

Makes working with Promise.allSettled easier.

@idearium/redis

The Idearium ioredis connection wrapper.

@idearium/safe-promise

Makes working with Promises safer.

@idearium/telemetry

Idearium's implementation of Open Telemetry to support telemetry reporting in Node.js applications.

@idearium/text-sort

Function to help sort arrays by text.

Documentation

We use Docusaurus for our documentation. To get started

$ cd docusaurus
$ yarn start

It's that easy! You can now make changes to the documentation and they will be live reloaded in the browser.

Legacy

This is a newer version of idearium-lib, in monorepo format. The previous version of was monolithic and is still used in some projects.

In order to be able to maintain that code and release updated versions as required, the legacy branch exists.

In order to update the older code, branch from legacy and create PRs with legacy as the base branch.