open-index/open-npm huggingface dataset:
npm package: @philsch/gcp-logging
Description: Wrapper for Google Cloud structured logging on stdout
Author: Philipp Schmiedel
Latest version: 0.0.2

GCP logging for nodeJS
======================

Based on the idea of [mr-pascal/nestjs-gcp-logging](https://github.com/mr-pascal/nestjs-gcp-logging/) without nestjs
references.

## Motivation

Google [suggests](https://cloud.google.com/logging/docs/setup/nodejs) to use *Bunyan* or *Winston* as logging
framework for nodeJS. This module is a more lightweight approach and utilizes the *structured logging* format
via normal `stdout`, so GCP parses the log information correctly.

![gcp log example](./docs/gcp-log.png)

## Usage

```typescript
import Logger from '@philsch/gcp-logging';
import {Severity} from '@philsch/gcp-logging'; // optional: if you need additional severities

// init once (for example at the location where you init your server)
Logger.init();

// use the Logger
Logger.log("Info message");
Logger.warn("Warning message");
Logger.error("Error message");

// you can set any severity manually
Logger.log("This is an emergency", Severity.EMERGENCY);

// if you pass an Error object, a Google Cloud Error Reporting entry will be created
Logger.error(new Error("Report this in Error Reporting"));
```
npm package: @philschatz/cevitxe
Description: CRDT-based distributed state management for Redux
Latest version: 0.5.4

<img src='logo.svg' width=500 alt=''>

Cevitxe is a wrapper for a Redux store that gives your app offline capabilities
and secure peer-to-peer synchronization superpowers. If you are thinking about building a
local-first, distributed application, you might want to give this a try!

To learn more, see https://github.com/HerbCaudill/cevitxe .
npm package: @philschatz/cevitxe-signal-client
Description: A simple discovery cloud client library that can be paired with [cevitxe-signal-server] .
Latest version: 0.5.4

# 🐟 cevitxe-signal-client

A simple discovery cloud client library that can be paired with [cevitxe-signal-server] .

You don't strictly need to use this client - you could interact directly with the server the way we
do in the [server tests] - but it automates the business of accepting invitations when they're
received.

The client keeps track of all peers that the server connects you to, and for each peer it keeps
track of each key (aka discoveryKey, aka channel) that you're working with that peer on.

The simplest workflow is something like this:

```ts
client = new Client({ id: 'my-peer-id', url })
client.join('my-document-id')
client.on('peer', (peer, key) => {
  const socket = peer.get(key) // `socket` is a WebSocket instance

  // send a message
  socket.send('Hello!')

  // listen for messages
  socket.onmessage = () => {
    console.log(messsage)
  }
})
```

[cevitxe-signal-server]: https://github.com/devresults/cevitxe/blob/master/packages/cevitxe-signal-server
[server tests]: https://github.com/devresults/cevitxe/blob/master/packages/cevitxe-signal-server/src/Server.test.ts