open-index/open-npm huggingface dataset:
npm package: @peergrade/graphql-compiler
Description: A Code-generation toolkit for GraphQL
Latest version: 1.7.0-rc.1

# GraphQL-Compiler

GraphQL-Compiler is a code-generation toolkit for GraphQL. It contains the core functionalities of GraphQL code-gen, including file parsing, validation, syntax tree parsing and transformation. The intended audience are developers wanting to use components of GraphQL-Compiler to build their own GraphQL code-gen pipelines.

The GraphQL-Compiler package [exports library code](./GraphQLCompilerPublic.js) which you may use to find the modules you need, or to extend the compiler with your own custom input and output. Note, the internal APIs of the GraphQL-Compiler are under constant iteration, so rolling your own version may lead to incompatibilities with future releases.

The following graph illustrates the high-level architecture of a complete GraphQL code-generation pipeline:

![CodegenPipeline](https://github.com/facebook/relay/raw/master/packages/graphql-compiler/docs/Architecture.png)

To understand the underlying workflow of the core compilation step, which is what happens in the "GraphQL Compiler" block in the above graph, please refer [HERE](./ARCHITECTURE.md).

You can build your own version of the Compiler by adding your own `FileWriter`, and by swapping or adding a `FileParser` and additional `IRTransforms` (IR, which stands for `Intermediate Representation`, a special-purpose syntax tree format designed for transformability).

* The GraphQL-Compiler package provides a [`GraphQLFileParser`](./core/GraphQLFileParser.js), which can be used to parse general `.graphql` files, and a [`GraphQLTextParser`](./core/GraphQLTextParser.js), which can be used to parse GraphQL text in any source files with customized tags. You can also write your own `FileParser` at your discretion.

* You can add additional `IRTransforms` by extending the basic [`GraphQLIRTransforms`](./core/GraphQLIRTransforms.js). A sample can be found [HERE](../core/RelayIRTransforms.js).

* Similarly, you can add additional validation rules by extending the basic [`GraphQLValidator`](./core/GraphQLValidator.js).
Sample [HERE](../core/RelayValidator.js).

* A sample `FileWriter` can be found [HERE](../codegen/RelayFileWriter.js).

To actually run your compiler, you will also need a script to assemble all the above components. A sample file can be found [HERE](../bin/RelayCompilerBin.js).
npm package: @peergrade/prettier-plugin-import-sort
Description: Prettier plugin to pass javascript and typescript through import-sort
Author: Guy Gascoigne-Piggford
Latest version: 0.0.6-next.2

# prettier-plugin-import-sort

This is [Prettier] plugin to sort imports using [import-sort] for javascript and typescript files.

[Prettier]: https://github.com/prettier/prettier
[import-sort]: https://github.com/renke/import-sort

## Installation

```bash
$ npm i -D prettier prettier-plugin-import-sort
```

You will also want to install an import sort style module of your choice, such as: 

```bash
$ npm i -D import-sort-style-module
```

You will then need the configuration for import-sorts available, e.g. something like this in package.json

```json
"importSort": {
    ".js, .jsx, .ts, .tsx": {
      "style": "module"
    }
  }
```

If you are using typescript, you may also need to specify the typescript parser.  This is somewhat dependant upon the typescript features used (decorators for instance), e.g.

```json
"importSort": {
    ".js, .jsx, .ts, .tsx": {
      "style": "module",
      "parser": "typescript"
    }
  }
```



### Credits:

A large part of this code was copied from import-sort-cli.
npm package: @peergrade/relay
Description: A framework for building data-driven React applications.
Latest version: 1.7.0-rc.1

# [Relay](https://facebook.github.io/relay/) [![Build Status](https://travis-ci.org/facebook/relay.svg?branch=master)](https://travis-ci.org/facebook/relay) [![npm version](https://badge.fury.io/js/react-relay.svg)](http://badge.fury.io/js/react-relay)

Relay is a JavaScript framework for building data-driven React applications.

* **Declarative:** Never again communicate with your data store using an imperative API. Simply declare your data requirements using GraphQL and let Relay figure out how and when to fetch your data.
* **Colocation:** Queries live next to the views that rely on them, so you can easily reason about your app. Relay aggregates queries into efficient network requests to fetch only what you need.
* **Mutations:** Relay lets you mutate data on the client and server using GraphQL mutations, and offers automatic data consistency, optimistic updates, and error handling.

[See how to use Relay in your own project](http://facebook.github.io/relay/docs/en/introduction-to-relay.html) or check out the community-driven tutorial at [Learn Relay](https://www.learnrelay.org).

## Example

The [relay-examples](https://github.com/relayjs/relay-examples) repository contains an implementation of [TodoMVC](http://todomvc.com/). To try it out:

```
git clone https://github.com/relayjs/relay-examples.git
cd relay-examples/todo
npm install
npm run build
npm start
```

Then, just point your browser at `http://localhost:3000`.

## Contribute

We actively welcome pull requests, learn how to [contribute](./.github/CONTRIBUTING.md).

## Users

We have a [community-maintained list](./USERS.md) of people and projects using Relay in production.

## License

Relay is [MIT licensed](./LICENSE).
npm package: @peerigon/sevdesk
Description: 💵 Unofficial JavaScript SDK for sevdesk.com
Author: Peerigon GmbH
Latest version: 2.1.0

# sevdesk

**💵 Unofficial JavaScript SDK for sevdesk.com.**

[![Version on NPM](https://img.shields.io/npm/v/@peerigon/sevdesk?style=for-the-badge)](https://www.npmjs.com/package/@peerigon/sevdesk)
[![Semantically released](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg?style=for-the-badge)](https://github.com/semantic-release/semantic-release)
[![Monthly downloads on NPM](https://img.shields.io/npm/dm/@peerigon/sevdesk?style=for-the-badge)](https://www.npmjs.com/package/@peerigon/sevdesk)<br>
[![NPM Bundle size minified](https://img.shields.io/bundlephobia/min/@peerigon/sevdesk?style=for-the-badge)](https://bundlephobia.com/result?p=@peerigon/sevdesk)
[![NPM Bundle size minified and gzipped](https://img.shields.io/bundlephobia/minzip/@peerigon/sevdesk?style=for-the-badge)](https://bundlephobia.com/result?p=@peerigon/sevdesk)<br>
[![License](https://img.shields.io/npm/l/@peerigon/sevdesk?style=for-the-badge)](./LICENSE)

<br />

## Installation

```sh
npm install @peerigon/sevdesk
```

## API

### Instantiation

```ts
import { SevDeskClient } from "@peerigon/sevdesk";

const sevDeskClient = new SevDeskClient({
  apiKey: "your-sev-desk-api-token",
});
```

## License

MIT

## Sponsors

[<img src="https://assets.peerigon.com/peerigon/logo/peerigon-logo-flat-spinat.png" width="150" />](https://peerigon.com)
npm package: @peerigon/template-public-package
Description: Boilerplate template to kick start new public packages at Peerigon
Author: Peerigon GmbH
Latest version: 0.0.0

# template-public-package

**🚀 Boilerplate template to kick start new public packages at Peerigon**

[![Version on NPM](https://img.shields.io/npm/v/@peerigon/template-public-package?style=for-the-badge)](https://www.npmjs.com/package/@peerigon/template-public-package)
[![Version on JSR](https://img.shields.io/jsr/v/@peerigon/template-public-package?style=for-the-badge)](https://jsr.io/@peerigon/template-public-package)
[![Semantically released](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg?style=for-the-badge)](https://github.com/semantic-release/semantic-release)
[![Monthly downloads on NPM](https://img.shields.io/npm/dm/@peerigon/template-public-package?style=for-the-badge)](https://www.npmjs.com/package/@peerigon/template-public-package)<br>
[![License](https://img.shields.io/npm/l/@peerigon/template-public-package?style=for-the-badge)](./LICENSE)

## Features

- 🚀 Zero dependencies
- 📱 Works in all modern browsers
- 🎯 Accurate calculations
- 📦 Tree-shakeable ES modules
- 💪 TypeScript support
- ⚡ Lightweight (~3KB gzipped)

## Installation

```sh
npm install @peerigon/template-public-package  --save
```

## Usage

### Adding numbers

```javascript
import { add } from "@peerigon/template-public-package";

add(1, 2); // 3
```

## API Reference

### `add()`

Adds two numbers.

```javascript
import { add } from "@peerigon/template-public-package";

add(1, 2); // 3
```

**Parameters**:

- `a` (number): The first number
- `b` (number): The second number

**Returns**: `number` - Result of the addition

## License

MIT

## Sponsors

[<img src="https://assets.peerigon.com/peerigon/logo/peerigon-logo-flat-spinat.png" width="150" />](https://peerigon.com)
npm package: @peeriq/broccoli-pegjs
Description: PEG.js filter for Broccoli
Author: Gordon L. Hempton
Latest version: 1.0.0

# broccoli-pegjs

A PEG.js filter for Broccoli.

## Installation

```bash
npm install --save-dev broccoli-pegjs
```

## Usage

```js
var peg = require('@peeriq/broccoli-pegjs');
tree = peg(tree, options);
```

## Options

### Custom Wrapper

It is possible to wrap the generated parser in any code you want:

```
tree = peg(tree, {
  wrapper: function (src, parser) {
    return 'var Parser = ' + parser + ";\nvar parse = Parser.parse, SyntaxError = Parser.SyntaxError;\nexport {SyntaxError, parse};\nexport default parse;";
  }
});
```
npm package: @peeriq/ember-cli-changelog
Description: Changelog generation for ember-cli projects.
Author: Chris Thoburn
Latest version: 0.4.0-beta.1

Ember-cli-changelog
===================

[![Greenkeeper badge](https://badges.greenkeeper.io/html-next/ember-cli-changelog.svg)](https://greenkeeper.io/)

[![npm version](https://badge.fury.io/js/ember-cli-changelog.svg)](http://badge.fury.io/js/ember-cli-changelog)
[![Ember Observer Score](http://emberobserver.com/badges/ember-cli-changelog.svg)](http://emberobserver.com/addons/ember-cli-changelog)
[![Build Status](https://travis-ci.org/html-next/ember-cli-changelog.svg)](https://travis-ci.org/html-next/ember-cli-changelog)

This addon provides a template for helping you keep an updated changelog
for your ember-cli project or addon.

## Better Releases

This addon integrates with [ember-cli-release](https://github.com/lytics/ember-cli-release) by
giving you the opportunity to generate changelog updates and manually edit them if needed before
ember-cli-release completes the release commit.

## Commit Styles

This addon parses your commit messages in order to be able to format them better in your changelog.
By default, it assumes you are using angular-style commit messages, but `ember` and `jquery` style
are also supported.

- [angular-style](https://github.com/angular/angular.js/blob/v1.4.8/CONTRIBUTING.md#commit).
- [ember-style](https://github.com/emberjs/ember.js/blob/master/CONTRIBUTING.md#commit-tagging)
- [jquery-style](https://contribute.jquery.org/commits-and-pull-requests/#commit-guidelines)

Set the `style` property to `ember` `angular` or `jquery` to specify your preference, or implement
`hooks.parser` to parse the commits in a custom manner.  (Guidelines on what a parsed commit will
need to expose coming soon).

## Hooks

Nearly every step of the changelog generation process is hookable via `config/changelog.js`.

## Github Private Repos

If you want to use github private repos set your github token with the following environment variable
 
`GITHUB_TOKEN=123abc`

## Contributing

 - Open an Issue for discussion first if you're unsure a feature/fix is wanted.
 - Branch off of `master`
 - Use descriptive branch names
 - Use Angular-Style Commits
 - PR against `master`.
npm package: @peerlancers/json-serialization
Description: A typescript library for deserializing JSON to object and serializing object to JSON.
Author: Arrian Pascual
Latest version: 0.0.15

# json-serialization

> A typescript library for JSON object serialization.

## Install

```bash
npm install @peerlancers/json-serialization
```

or

```bash
yarn add @peerlancers/json-serialization
```

## Usage

> Note:
> Always use the JsonProperty() to decorate the property you want to serialize/deserialize,
> otherwise it will ignore it.

Example Model Class
```typescript
export class Person {
  @JsonProperty()
  public firstName: string = undefined;

  @JsonProperty()
  public lastName: string = undefined;

  public get fullName(): string {
    return `${this.firstName} ${this.lastName}`;
  }
}
```

Example on how to use the deserialization
```typescript
import { JsonProperty, deserialize } from '@peerlancers/json-serialization';

const jsonObject: any = {
  firstName: 'John',
  lastName: 'Doe'
};

export class ApiService {
  public getPerson(): Person {
    return deserialize(Person, jsonObject);
  }
}
```

Example on how to use the serialization
```typescript
import { serialize } from '@peerlancers/json-serialization';

const personObject: Person = new Person();
personObject.firstName = 'John';
personObject.lastName = 'Doe';

export class ApiService {

  public setPerson(): Person {
    return serialize(personObject);
  }
}
```

You can also set your custom deserializer or serializer and it will output based on the predicate
```typescript
import { deserialize, serialize, IJsonDeserializer, IJsonSerializer } from '@peerlancers/json-serialization';

export enum Gender {
  Male = 1,
  Female = 2
}

export class GenderSerialization implements IJsonSerializer, IJsonDeserializer {
  public serialize(value: any): any {
    return `${Gender[value]}`;
  }

  public deserialize(value: any): any {
    return Gender[value];
  }
}

export class Person {
  @JsonProperty()
  public firstName: string = undefined;

  @JsonProperty({
    serializer: GenderSerialization,
    deserializer: GenderSerialization
  })
  public gender: Gender = undefined;
}

const personObject: Person = new Person();
personObject.firstName = 'John';
personObject.lastName = 'Doe';
personObject.gender = Gender.Male;

export class ApiService {

  public setPerson(): Person {
    return serialize(personObject);
  }
}
```

## License

[MIT](http://vjpr.mit-license.org)

[npm-image]: https://img.shields.io/npm/v/live-xxx.svg
[npm-url]: https://npmjs.org/package/live-xxx
[travis-image]: https://img.shields.io/travis/live-js/live-xxx/master.svg
[travis-url]: https://travis-ci.org/live-js/live-xxx
[coveralls-image]: https://img.shields.io/coveralls/live-js/live-xxx/master.svg
[coveralls-url]: https://coveralls.io/r/live-js/live-xxx?branch=master