open-index/open-npm huggingface dataset:
npm package: @roadmapsh/scoop
Description: NodeJS sdk for Scoop
Author: Arik Chakma
Latest version: 0.0.1

## Scoop Node.js SDK

> Node.js SDK for Roadmap Scoop for managing subscribers.

- [Getting Started](#getting-started)
- [Installation](#installation)
- [Setup](#setup)
- [Usage](#usage)
- [Contributions](#contributions)
- [License](#license)

## Getting Started

This SDK is written in TypeScript and is fully typed. It works with both TypeScript and JavaScript.

## Install

Install `@roadmapsh/scoop` using your favorite package manager.

```sh
pnpm add @roadmapsh/scoop
# or
bun add @roadmapsh/scoop
# or
npm install @roadmapsh/scoop
# or
yarn add @roadmapsh/scoop
```

## Setup

First generate an API key your hosted dashboard. Then, initialize the SDK with your API key.

```ts
import { Scoop } from '@roadmapsh/scoop';
export const scoop = new Scoop('your-api-key');
```

## Usage

Subscribing to a list:

```ts
await scoop.subscribers.subscribe({
  email: 'john@doe.com',
  listId: 'list-id',
});
```

Unsubscribing from a list:

```ts
await scoop.subscribers.unsubscribe({
  email: 'john@doe.com',
  listId: 'list-id',
});
```

Assigning tags to a subscriber:

```ts
await scoop.subscribers.assignTags({
  email: 'john@doe.com',
  listId: 'list-id',
  addTags: ['tag-1', 'tag-2'],
});
```

## Contributions

Feel free to submit pull requests, create issues, or spread the word.

## License

MIT &copy; [Arik Chakma](https://twitter.com/imarikchakma)
npm package: @roadmunk/eslint-config-roadmunk
Description: This holds the base Roadmunk shop standard ESLint configuration file.
Author: Roadmunk
Latest version: 3.17.2

This holds the base Roadmunk shop standard ESLint configuration file.

Use this into all NodeJS projects as follows:

1. Add a dependency for this package to your `package.json` file:
	```js
	{
		"devDependencies" : {
			"@roadmunk/eslint-config-roadmunk": "^3.3.0",
		}
	}
	```

1. Add one of the following to your project's `.eslintrc` file:
	- For just the _base_ configuration:
	```js
	{
		"extends" : "./node_modules/eslint-config-roadmunk/index.js",
	}
	```

	- For the base configuration with extra Vue rules
	```js
	{
		"extends" : "./node_modules/eslint-config-roadmunk/vue-config.js",
	}
	```

	- For the base configuration with extra Typescript and React rules
	```js
	{
		"extends" : "./node_modules/eslint-config-roadmunk/react-ts-config.js",
	}
	```
npm package: @roadmunk/events
Description: The JS Protobufs generated by protoc.
Author: Jared Bydeley
Latest version: 2.1.0

# PubSub Events

This is the PubSub. The two functions we use are `Publish` and `On`.

### Install

`npm install --save @roadmunk/events`

### Build

`npm run build`

This will use docker to build and update required changes in `dist`. We _do_ commit these files so we can add a link to the github for testing.

### Usage

Clone the repo and run `npm run docs`. This will create the documentation and tutorials in the `docs` directory. You can 
also check out `tutorials/on-tutorial.md` or `tutorials/publish-tutorial.md`.

### Testing out our changes

Create a branch with your changes and push it to github. In the repo you want to test with, update the `package.json` to point to the github URL plus branch. You may also need to remove package-lock.json to pick up any additional changes. If you need to iterate on changes to that branch, make sure not to use git --amend, or the new
commit may not find its way into your docker containers.

```
{
  "dependencies": {
    "@roadmunk/events": "git://github.com/Roadmunk/events#YOUR_BRANCH_HERE"
  }
}
```

Note that if you are working in a fim-tools repo, such as `fim-monolith`, you will need to run `npm install` in `/fim-tools` (rather than `/fim-tools/fim-monolith/api`, as an) for your changes to appear.

### SQS Queue Convention

The PubSub `on` function subscribes to SQS Queues under the covers. These queues are managed by each individual service. We use a convention to simplify our `on` functions by naming our SQS Queues with a few parameters. 

With no Queue Group:
`https://sqs.${region}.amazonaws.com/${account}/${service}-${deployment}-${eventName}`

With a Queue Group:
`https://sqs.${region}.amazonaws.com/${account}/${service}-${deployment}-${eventName}-${queueGroup}`

Each service is expected to follow this naming convention so that we can abstract the internals away from each service. IE, Roadmapping doesn't need to know that it is subscribing to an SQS Queue, Kafka, or any other messaging client. It only needs to know that when an event is fired, it will receive that event. This should give us the option to switch messaging providers if we need to and simplifies the entire event system.
npm package: @roadmunk/jira-client
Description: Wrapper for the JIRA API
Author: Steven Surowiec
Latest version: 6.4.2

# JavaScript JIRA API for node.js #

A node.js module, which provides an object oriented wrapper for the Jira Rest API.

[![Documentation](https://img.shields.io/badge/Documentation--green.svg)](https://jira-node.github.io/)
[![Jira Rest API](https://img.shields.io/badge/Jira%20Rest%20API--green.svg)](http://docs.atlassian.com/jira/REST/latest/)
[![Build Status](https://img.shields.io/travis/jira-node/node-jira-client/master.svg)](https://travis-ci.org/jira-node/node-jira-client)

## Installation ##

Install with the node package manager [npm](http://npmjs.org):

```shell
$ npm install jira-client
```

## Examples ##

### Create the JIRA client ###

```javascript
// With ES5
var JiraApi = require('jira-client');

// With ES6
import JiraApi from 'jira-client';

// Initialize
var jira = new JiraApi({
  protocol: 'https',
  host: 'jira.somehost.com',
  username: 'username',
  password: 'password',
  apiVersion: '2',
  strictSSL: true
});
```

### Find the status of an issue ###

```javascript
// ES5
// We are using an ES5 Polyfill for Promise support. Please note that if you don't explicitly
// apply a catch exceptions will get swallowed. Read up on ES6 Promises for further details.
jira.findIssue(issueNumber)
  .then(function(issue) {
    console.log('Status: ' + issue.fields.status.name);
  })
  .catch(function(err) {
    console.error(err);
  });

// ES6
jira.findIssue(issueNumber)
  .then(issue => {
    console.log(`Status: ${issue.fields.status.name}`);
  })
  .catch(err => {
    console.error(err);
  });

// ES7
async function logIssueName() {
  try {
    const issue = await jira.findIssue(issueNumber);
    console.log(`Status: ${issue.fields.status.name}`);
  } catch (err) {
    console.error(err);
  }
}

```

## Documentation ##
Can't find what you need in the readme?  Check out our documentation here: https://jira-node.github.io/