open-index/open-npm huggingface dataset:
npm package: @malgo-fe/version-listener
Description: ## config
Author: dumeng
Latest version: 1.0.0

# version listener

## config

use yaml

```yaml
apps:
  - name: mhra
    token: xxxxxx
```

## endpoint

<pre>
POST `/listen`
body:
</pre>

```json
{
  "app": "mhra",
  "token": "xxxx"
}
```

When a post request is sent to the endpoint, the socket will broadcast a message
to all clients listened on the app channel to get notified that the app has a
new version.

## socket

Every app has a channel, and
npm package: @malgo-fe/windmill-client
Description: ![windmill](assets/windmill.jpeg)
Author: dumeng
Latest version: 1.2.3

# windmill client

![windmill](assets/windmill.jpeg)

> `windmill` is simple service to notify all clients of an app some events,
> such as version upgrade.

This is the client package.

## usage

### use in vallina js

```html
<script src="/path/to/windmill-client.bundle.js"></script>
<script>
  const client = new WindmillClient({
    url: 'http://localhost:3000',
    app: 'mhra',
    token: '123456',
    onUpgrade: data => console.log('upgrade: ', data),
  });
  client.start();
</script>
```

### with modules

```js
import WindmillClient from 'windmill-client';

const client = new WindmillClient({
  url: 'http://localhost:3000',
  app: 'mhra',
  token: '123456',
  onUpgrade: data => console.log('upgrade: ', data),
});
client.start();
```
npm package: @malgo-fe/windmill-server
Description: ![windmill](assets/windmill.jpeg)
Author: dumeng
Latest version: 1.2.2

# windmill server

![windmill](assets/windmill.jpeg)

> `windmill` is simple service to notify all clients of an app some events,
> such as version upgrade.

It is designed to be easily integrated into continous deploy.

## usage

```js
const ConfigManager = require('../dist/config_manager');
const WindmillServer = require('@malgo-fe/windmill-server');
const cm = new ConfigManager({ apps: [{ name: 'mhra', token: '123456' }] });

const server = new WindmillServer({ configManager: cm });
server.start();
// console.log(util.inspect(ConfigManager));
```

Add add a config file at your home directory.

`~/.windmill_config`:

```yaml
apps:
  - name: mhra
    token: xxxxxx
```

## endpoint

- POST `/listen`
- body:

```json
{
  "app": "mhra",
  "token": "xxxx",
  ...
}
```

When a post request is sent to the endpoint, the socket will broadcast a message
to all clients listened on the app channel to get notified that the app has a
new version.

## socket

Every app has a channel, and a client connected will enter the channel
and receive the update message when a request posted to the endpoint.

## integrate in CI

TODO:
npm package: @malgogi-rx-straw/core
Description: rxjs utility module
Author: malgogi
Latest version: 0.1.1

# @malgogi-rx-straw/core

## Description

malgogi-rx-straw is rxjs utility library.


## Installation

Using NPM:

```bash
npm i --save @malgogi-rx-straw/core
```

Using YARN:
```
yarn add @malgogi-rx-straw/core --save
```

## Examples

## cron

cron is wrapper function of [moment](https://www.npmjs.com/package/moment), [node-cron](https://www.npmjs.com/package/node-cron)

```typescript
cron('* * * * * *')
    .subscribe((utcTimeInMillis: number) => {
        console.log(`task was started at ${utcTimeInMillis}`);
        // do task
    })
```

## circuitBreaker

```typescript
interval(1000)
    .pipe(circuitBreaker<number, number>({
        failureThreshold: 30,
        execute: (source) => {
            // do business logic.
            return 1;
        },
        fallback: () => {
            // fail action.
            return 2;
        },
    }))
    .pipe(take(3))
    .subscribe({
        next(item) { console.log('You can get a 1 or 2') },
        complete() { done(); }
    });
```
npm package: @malgogi-rx-straw/nest-utils
Description: rxjs utility module
Author: malgogi
Latest version: 0.1.1

# @malgogi-rx-straw/nest-utils

## Description

Nest utitlity libs.


## Installation

Using NPM:

```bash
npm i --save @malgogi-rx-straw/nest-utils
```

Using YARN:
```
yarn add @malgogi-rx-straw/nest-utils --save
```

## Dependencies

```json
{
  "dependencies": {
    "@malgogi-rx-straw/core": "0.0.6",
    "moment": "2.29.1",
    "node-cron": "^3.0.0",
    "rxjs": "^6.6.6"
  },
  "devDependencies": {
    "@nestjs/common": "7.6.15",
    "@nestjs/core": "7.6.15",
    "@nestjs/platform-express": "7.6.15",
    "@nestjs/testing": "7.6.15",
    "@types/supertest": "2.0.11",
    "reflect-metadata": "0.1.13",
    "supertest": "6.1.3"
  },
  "peerDependencies": {
    "@nestjs/common": "7.6.15",
    "@nestjs/core": "7.6.15",
    "@nestjs/platform-express": "7.6.15",
    "reflect-metadata": "0.1.13"
  }
}
```

## Examples

## HttpThrottleRequestInterceptor

It throttles only http request. ( Supports only http request, others will be ignored ).
It supports only thumbling window method. ( It will be updated. )

### Usages
```typescript

// app.ts
// Allow 1 request every 2 seconds( thumbling window ).
// If you request over 2 requests in 2 seconds.
// It will respond with 429 http status code.  (Too many requests.)
app.useGlobalInterceptors(new HttpThrottleRequestInterceptor(2));
```
npm package: @malgorithms/m3
Description: a wrapper around manifold-3d with some helpers
Author: Chris Coyne
Latest version: 0.0.1

### malgorrithm' manifold manager

This is mostly for personal use, but I'll publish to npm anyway. ChatGPT vibe coded m3.ts for me, a wrapper around using manifold-3d in a way that I like. All the utils and examples a combo of hand coding and claude.

```
yarn add @malgorithms/m3
```
npm package: @maliffic/nestjs-twilio
Description: Injectable Twilio client for Nestjs
Author: Maliffic
Latest version: 1.0.8

<p align="center">
  <h3 align="center">
    nestjs-twilio
  </h3>

  <p align="center">
    <img src="https://avatars1.githubusercontent.com/u/43827489?s=400&u=45ac0ac47d40b6d8f277c96bdf00244c10508aef&v=4"/>
  </p>

  <p align="center">
    Injectable Twilio client for <a href="https://nestjs.com/">Nestjs</a>.
  </p>
</p>

[![build status](https://img.shields.io/github/workflow/status/rejvban/nestjs-twilio/Github%20CI%20-%20Build%20Status%20and%20Test%20Coverage)](https://github.com/wellyshen/use-places-autocomplete/actions?query=workflow%3ACI) [![codecov](https://codecov.io/gh/rejvban/nestjs-twilio/branch/master/graph/badge.svg)](https://codecov.io/gh/rejvban/nestjs-twilio) [![npm version](https://img.shields.io/npm/v/nestjs-twilio)](https://www.npmjs.com/package/nestjs-twilio) [![miniziped size](https://badgen.net/bundlephobia/minzip/nestjs-twilio)](https://bundlephobia.com/result?p=nestjs-twilio) [![tree shaking](https://badgen.net/bundlephobia/tree-shaking/react-colorful)](https://github.com/rejvban/nestjs-twilio) [![MIT licensed](https://img.shields.io/github/license/rejvban/nestjs-twilio)](https://raw.githubusercontent.com/rejvban/nestjs-twilio/master/LICENSE)

Implementing the `TwilioModule` from this package you gain access to Twilio client through dependency injection with minimal setup.

## Instalation

```bash
$ npm install --save twilio nestjs-twilio
```

```bash
$ yarn add twilio nestjs-twilio
```

## Getting Started

The simplest way to use `nestjs-twilio` is to use `TwilioModule.forRoot`

```typescript
import { TwilioModule } from 'nestjs-twilio';

@Module({
  imports: [
    TwilioModule.forRoot({
      accountSid: process.env.TWILIO_ACCOUNT_SID,
      authToken: process.env.TWILIO_AUTH_TOKEN,
    }),
  ],
})
export class AppModule {}
```

Utilizing asynchronous providers

```typescript
import { TwilioModule } from 'nestjs-twilio';

@Module({
  imports: [
    TwilioModule.forRootAsync({
      imports: [ConfigModule],
      useFactory: async (cfg: ConfigService) => ({
        accountSid: cfg.get('TWILIO_ACCOUNT_SID'),
        authToken: cfg.get('TWILIO_AUTH_TOKEN'),
      }),
      inject: [ConfigService],
    }),
  ],
})
export class AppModule {}
```

You can then inject the Twilio client into any of your injectables by using a
custom decorator

```typescript
import { InjectTwilio, TwilioClient } from 'nestjs-twilio';

@Injectable()
export class AppService {
  public constructor(@InjectTwilio() private readonly client: TwilioClient) {}

  async sendSMS() {
    try {
      return await this.client.messages.create({
        body: 'SMS Body, sent to the phone!',
        from: process.env.TWILIO_PHONE_NUMBER,
        to: TARGET_PHONE_NUMBER,
      });
    } catch (e) {
      return e;
    }
  }
}
```
npm package: @maliffic/newrelic-winston
Description: A newrelic transport for winston
Author: Luciano Colosio
Latest version: 2.1.1

# newrelic-winston [![Build Status](https://secure.travis-ci.org/namshi/newrelic-winston.png)](http://travis-ci.org/namshi/newrelic-winston)

A [newrelic][0] transport for [winston][1] including the [newrelic][2] Library

## Installation

Tested on node-6.x, requires npm.

``` sh
  $ npm install winston --save
  $ npm install newrelic-winston --save
```

## Usage
```javascript
const winston = require('winston');
const NewrelicWinston = require('newrelic-winston');
winston.add(new NewrelicWinston(options));

```

or

```javascript
const { createLogger } = require('winston');
const NewrelicWinston = require('newrelic-winston');
const logger = createLogger({
    transports: [
        new NewrelicWinston(options),
    ],
});
```
## Options
* __env__:  the current evironment. Defatuls to `process.env.NODE_ENV`

If `env` is either 'dev' or 'test' the lib will _not_ load the included newrelic module saving devs from anoying errors ;)

## Config
Please refer to the [newrelic lib's readme](https://github.com/newrelic/node-newrelic#configuring-the-module) for specific module's configs.

## Log Levels
This trasport is meant to report errors to newrelic, so the only level available in order to log something is **error**

**All other possible winston's levels, or custom levels, will noop**

[0]: http://newrelic.com/
[1]: https://github.com/flatiron/winston
[2]: https://github.com/newrelic/node-newrelic