open-index/open-npm huggingface dataset:
npm package: @mtraders/admin-api
Description: Halo admin api client.
Author: @mtraders
Latest version: 1.0.4

<h3 align="center">Admin API Client</h3>

<p align="center">
  <a href="https://www.npmjs.com/package/@mtraders/admin-api">
    <img src="https://img.shields.io/npm/v/@mtraders/admin-api.svg" alt="npm version"/>
  </a>
  <a href="https://www.npmjs.com/package/@mtraders/admin-api">
      <img alt="npm" src="https://img.shields.io/npm/dm/@mtraders/admin-api" alt="Downloads"/>
  </a>
  <a href="https://github.com/mtraders/js-sdk/blob/master/packages/admin-api/package.json">
      <img alt="node-current" src="https://img.shields.io/node/v/@mtraders/admin-api?color=blue">
  </a>
  <a href="https://github.com/mtraders/js-sdk/blob/master/LICENSE">
    <img alt="NPM" src="https://img.shields.io/npm/l/@mtraders/admin-api" alt="LICENSE">
  </a>
</p>

<p>JavaScript SDK for Halo's Admin API,implemented with TypeScript,encapsulating parameter types and return value types to make the use of API more brief.</p>

## Installation

```shell
npm install @mtraders/admin-api --save
```

## Usage

Here is a simple code for obtaining a list of posts.

```javascript
import { AdminApiClient, HaloRestAPIClient } from '@mtraders/admin-api'

// http request tool for halo rest api.
const haloRestApiClient = new HaloRestAPIClient({
  baseUrl: process.env.HALO_BASE_URL,
})

// create adminApiClient by haloRestApiCLient.
const haloAdminClient = new AdminApiClient(haloRestApiClient)

// obtaining a list of articles.
haloAdminClient.post.list().then((res) => {
  console.log(res)
})
```

You can also view the complete implementation of the halo-admin project: [@mtraders/halo-admin](https://github.com/mtraders/halo-admin).

### License

[MIT license](../../LICENSE)
npm package: @mtraders/content-api
Description: Halo content api client.
Author: @mtraders
Latest version: 1.0.4

<h3 align="center">Content API Client</h3>

<p align="center">
  <a href="https://www.npmjs.com/package/@mtraders/content-api">
    <img src="https://img.shields.io/npm/v/@mtraders/content-api.svg" alt="npm version"/>
  </a>
  <a href="https://www.npmjs.com/package/@mtraders/content-api">
      <img alt="npm" src="https://img.shields.io/npm/dm/@mtraders/content-api" alt="Downloads"/>
  </a>
  <a href="https://github.com/mtraders/js-sdk/blob/master/packages/content-api/package.json">
      <img alt="node-current" src="https://img.shields.io/node/v/@mtraders/content-api?color=blue">
  </a>
  <a href="https://github.com/mtraders/js-sdk/blob/master/LICENSE">
    <img alt="NPM" src="https://img.shields.io/npm/l/@mtraders/content-api" alt="LICENSE">
  </a>
</p>

<p>JavaScript SDK for Halo's Content API,implemented with TypeScript,encapsulating parameter types and return value types to make the use of API more brief.</p>

## Installation

```shell
npm install @mtraders/content-api --save
```

## Usage

Here is a simple code for obtaining a list of posts.

```javascript
import { ContentApiClient, HaloRestAPIClient } from '@mtraders/content-api'

// http request tool for halo rest api.
const haloRestApiClient = new HaloRestAPIClient({
  baseUrl: process.env.HALO_BASE_URL,
  auth: { apiToken: process.env.HALO_API_TOKEN },
})

// create contentApiClient by haloRestApiCLient.
const haloContentClient = new ContentApiClient(haloRestApiClient)

// obtaining a list of articles.
haloContentClient.post.list().then((res) => {
  console.log(res)
})
```

### License

[MIT license](../../LICENSE)
npm package: @mtraders/markdown-renderer
Description: Halo markdown renderer.
Author: @mtraders
Latest version: 1.0.4

<h3 align="center">Markdown Renderer</h3>

<p align="center">
  <a href="https://www.npmjs.com/package/@mtraders/markdown-renderer">
    <img src="https://img.shields.io/npm/v/@mtraders/markdown-renderer.svg" alt="npm version"/>
  </a>
  <a href="https://www.npmjs.com/package/@mtraders/markdown-renderer">
      <img alt="npm" src="https://img.shields.io/npm/dm/@mtraders/markdown-renderer" alt="Downloads"/>
  </a>
  <a href="https://github.com/mtraders/js-sdk/blob/master/packages/markdown-renderer/package.json">
      <img alt="node-current" src="https://img.shields.io/node/v/@mtraders/markdown-renderer?color=blue">
  </a>
  <a href="https://github.com/mtraders/js-sdk/blob/master/LICENSE">
    <img alt="NPM" src="https://img.shields.io/npm/l/@mtraders/markdown-renderer" alt="LICENSE">
  </a>
</p>

## Installation

```shell
npm install @mtraders/markdown-renderer --save
```

## Usage

```javascript
import markdownRenderer from '@mtraders/markdown-renderer'

const html = markdownRenderer.render('Hello Halo')
```

### License

[MIT license](../../LICENSE)
npm package: @mtranter/clits
Description: CLI TypeScript Library
Author: Mark Tranter
Latest version: 0.1.15

# CLITS

_**C**ommand **L**ine **I**nterface app builder for **T**ype**S**cript._

Get your mind out of the gutter.

Strong typing for your CLI apps.

Validation using class-validator and class-transformer

## Usage

> index.ts
```typescript
#!/usr/bin/env node

import { CliApp } from 'clits'
import { Type } from 'class-transformer';
import { IsCreditCard } from 'class-validator'
import { MySideProject } from './side-project'

const myRetirement = new MySideProject();
class CardDetails {
    @Argument({
        alias: "c",
        required: true,
        description: "Your card number"
    })
    @IsCreditCard()
    public cardNumber: string

    @Argument({
        alias: "n",
        required: true,
        description: "The name on your card"
    })
    public cardName: string

    @Argument({
        alias: "e",
        required: true,
        description: "Card expiry"
    })
    @Type(() => Date)
    public expiry: Date
}

const makeMoney = new CliApp("My CLI App")
    .command("get-paid", CardDetails)
    .handle(cardDeets => myRetirement.takePayment(cardDeets))
    .run()
```

Then...
```bash
$> tsc
$> chmod +x ./dist/index.js
$> ./dist/index.js get-paid \
        --cardNumber 1234-5678-1234-1111 \  
        --cardName "John Smith" \
        -e "2025-01-01"

```
npm package: @mtripg6666tdr/async-lock
Description: Promise based mutex for JS: preventing from running same code block at the same time
Author: mtripg6666tdr
Latest version: 1.1.0

# async-lock
Promise based simple mutex for JS: preventing from running same code block at the same time.  

## API
- LockObj (class)  
  used to store mutex statuses.
- lock (function)  
  used to lock statement, just like C# `lock{}`.

# Usage
```js
const { lock, LockObj } = require("@mtripg6666tdr/async-lock");

const locker = new LockObj();
const someFunction = async () => {
  return await lock(locker, () => {
    // do some stuff.
  });
};
```

## Example
Please see [test file](test/index.js).

## License
[MIT](LICENSE)
npm package: @mtripg6666tdr/commitlint-config
Description: Sharable `commitlint` config enforcing some rules
Author: mtripg6666tdr
Latest version: 1.1.0
Deprecated: No longer maintained.

> Note: this package is mainly for my own use, but it might be useful if you use as needed  

# @mtripg6666tdr/commitlint-config
Sharable `commitlint` config enforcing some rules

## Getting Started
1. Install `@commitlint/cli`
2. Install `@mtripg6666tdr/commitlint-config`
3. Configure commitlint config
4. Configure git commit hooks if you like

## Rules
Here are some rules that this package contains

### type-enum
```js
[
  "Chore",  // chore (e.g. buildline, workflow and so on)
  "Change", // change something
  "Improve",// code improvements (e.g. refactoring) without any logic changes
  "Fix",    // fix bugs
  "Update", // update dependencies
  "Feat",   // add new features
  "Perf",   // performance improvements
  "Add",    // add some stuff
  "Docs",   // update documentation
  "Remove", // remove something
  "Rename", // rename something
  "Revert", // revert previous commits
  "Bump",   // bump repository's version
],
```

### ignores
- If the commit message starts with `Merge`, skip all rules whatever it is.
- If the commit message includes `[wip]` (uppercase or lowercase does not matter), skip all rules whatever it is.

> Seeing is believing.  
[See this for other rules](index.js)

## License
[MIT](LICENSE)
npm package: @mtripg6666tdr/eris-command-resolver
Description: Message wrapper for eris to absorb the differences between Message and CommandMessage, including some helper classes
Author: mtripg6666tdr
Latest version: 2.0.1
Deprecated: This package is no longer supported. See https://github.com/mtripg6666tdr/eris-command-resolver/issues/15.

https://github.com/mtripg6666tdr/eris-command-resolver#readme
npm package: @mtripg6666tdr/eslint-config
Description: Sharable eslint config
Author: mtripg6666tdr
Latest version: 3.0.19

> Note: this package is mainly for my own use, but it might be useful if you use as needed

# @mtripg6666tdr/eslint-config
Sharable eslint config, mainly for my own use.

## Installation
```bash
npm i eslint @mtripg6666tdr/eslint-config --save-dev
```

If you use `@mtripg6666tdr/eslint-config/nextjs-typescript`, then you also have to install `eslint-config-next`.
```bash
npm i eslint @mtripg6666tdr/eslint-config eslint-config-next --save-dev
```

## Configurations
### `@mtripg6666tdr/eslint-config/base`
Base config for plain JavaScript.

- Hierarchy: `base`

### `@mtripg6666tdr/eslint-config/nodejs`
Config for plain JavaScript on Node.js

- Hierarchy: `base` -> `nodejs`

### `@mtripg6666tdr/eslint-config/browser`
Config for plain JavaScript that will be bundled and running on browser.

- Hierarchy: `base` -> `browser`

### `@mtripg6666tdr/eslint-config/typescript`
Base config for TypeScript transpiled and running on Node.js

- Hierarchy: `base` -> `typescript`

### `@mtripg6666tdr/eslint-config/nodejs-typescript`
Config for Typescript on Node.js

- Hierarchy: `base` -> `typescript` -> `nodejs-typescript`

### `@mtripg6666tdr/eslint-config/browser-typescript`
Config for TypeScript transpiled and running on Browser

- Hierarchy: `base` -> `typescript` -> `browser-typescript`

### `@mtripg6666tdr/eslint-config/react-typescript`
Config for TypeScript with React JSX (TSX) support.

- Hierarchy: `base` -> `typescript` -> `browser-typescript` -> `react-typescript`

### `@mtripg6666tdr/eslint-config/nextjs-typescript`
Config for TypeScript with React JSX (TSX) on Next.js framework support.

- Hierarchy: [`next`](https://www.npmjs.com/package/eslint-config-next) + `typescript` (merging only rules configuration) -> `nextjs-typescript`

### Quick Guide
|       |JavaScript|TypeScript          |
|:-----:|:--------:|:------------------:|
|Node.js|`nodejs`  |`nodejs-typescript` |
|Browser|`browser` |`browser-typescript`|
|React  |-         |`react-typescript`  |
|Next.js|-         |`nextjs-typescript` |

## License
[MIT](./LICENSE)
npm package: @mtripg6666tdr/git-delete-squashed
Description: Delete branches that have been squashed and merged into master
Author: Teddy Katz
Latest version: 1.0.0-based.1.0.4

# git-delete-squashed

This is a tool that deletes all of your git branches that have been "squash-merged" into master.

This is useful if you work on a project that squashes branches into master. After your branch is squashed and merged, you can use this tool to clean up the local branch.

## Usage

<!--
### sh

To run as a shellscript, simply copy the following command (setting up an alias is recommended). There's no need to clone the repo.

```bash
# Change $TARGET_BRANCH to your targeted branch, e.g. change from `master` to `main` to delete branches squashed into `main`.
TARGET_BRANCH=master && git checkout -q $TARGET_BRANCH && git for-each-ref refs/heads/ "--format=%(refname:short)" | while read branch; do mergeBase=$(git merge-base $TARGET_BRANCH $branch) && [[ $(git cherry $TARGET_BRANCH $(git commit-tree $(git rev-parse $branch\^{tree}) -p $mergeBase -m _)) == "-"* ]] && git branch -D $branch; done
# OR you can put this function in a global git alias and call it like this
# `git delete-squashed` OR `git delete-squashed main`
git config --global alias.delete-squashed '!f() { local targetBranch=${1:-master} && git checkout -q $targetBranch && git branch --merged | grep -v "\*" | xargs -n 1 git branch -d && git for-each-ref refs/heads/ "--format=%(refname:short)" | while read branch; do mergeBase=$(git merge-base $targetBranch $branch) && [[ $(git cherry $targetBranch $(git commit-tree $(git rev-parse $branch^{tree}) -p $mergeBase -m _)) == "-"* ]] && git branch -D $branch; done; }; f'
```

### Node.js

-->

You can <!-- also --> install the tool as a Node.js package from NPM. (The package code is in this repo.)

Additionally, you can specify an alternate branch to check for squashed merges, as well. This is useful for different names of trunk branches like `main` or `develop`.

```bash
$ npm install --global @mtripg6666tdr/git-delete-squashed
$ git-delete-squashed
$ # or simply
$ gds
$ # Specify a different branch name like so
$ git-delete-squashed main
```

Alternatively, you can create `.gds` (or `.git-delete-squashed`) file to specify your default branch name.  
`.git-delete-squashed`
```json
{
  "namespace": "@mtripg6666tdr/git-delete-squashed",
  "defaultBranch": "main"
}
```

> `namespace` is optional key.

## Details

To determine if a branch is squash-merged, git-delete-squashed creates a temporary dangling squashed commit with [`git commit-tree`](https://git-scm.com/docs/git-commit-tree). Then it uses [`git cherry`](https://git-scm.com/docs/git-cherry) to check if the squashed commit has already been applied to the default branch. If so, it deletes the branch.

## Credit
This is a fork of [git-delete-squashed](https://github.com/not-an-aardvark/git-delete-squashed). I appreciate the owner and all contributors.

## License
[MIT](LICENSE.md)
npm package: @mtrudw/fabric-publisher-tools
Description: A set of modular extensions to give [fabric.js](https://github.com/fabricjs/fabric.js) some additional DTP like capabilities.
Author: Matthias Trudewind matthias@trudewind.org
Latest version: 0.1.0

# Collection of Extensions for [fabric.js](https://github.com/fabricjs/fabric.js)

A set of modular extensions to give [fabric.js](https://github.com/fabricjs/fabric.js) some additional DTP like capabilities.

## Demo
https://mtrudw.github.io/fabricPublisherTools/.

## Undo and Redo
Implements and action based undo and redo with a small footprint. Can be used for to create a detailed action log. Undo and redo data is serialized and deserialized 
with the canvas.

## Snapping 
Create guides to snap to on both move and scale. Snaps to bounding box when rotated. Rotated objects don't snap reliably on scale yet.

### Smart aligning Guides
Snap into alignment with other objects on move and scale. Shows aligned edges.

## Image Container
Image container that allows independent scaling of container and image. Keeps image clipped to container

## TODO
Still very early stages. So lots. Some features to do, lots of cleanup and documentation. Of course more testing and better test coverage. Also: add a todo-list.
npm package: @mts88/react-utils
Description: [![Commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)](http://commitizen.github.io/cz-cli/)
Author: MTS
Latest version: 1.0.1

# React Utils

[![Commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)](http://commitizen.github.io/cz-cli/)

## Docs

react-utils / [Modules Doc](./docs/modules.md)
npm package: @mtsku/anilist-cli
Description: Reliable AniList CLI for search, discovery, social, and list management via direct GraphQL API.
Latest version: 0.2.5

# @mtsku/anilist-cli

AniList CLI for search, discovery, airing schedules, social views, and list updates via GraphQL.

## Install

Global install:

```bash
npm install -g @mtsku/anilist-cli
anilistcli --help
```

Repository/local runner:

```bash
npm install
npm run build
./scripts/anilistcli --help
```

Use `anilistcli` on `PATH` when available. Use `./scripts/anilistcli` only when running from this repository.

## Authentication

Token precedence:

1. `--token <token>`
2. `ANILIST_TOKEN` or `ANILIST_ACCESS_TOKEN`
3. `~/.config/anilist-cli/config.json`

```bash
anilistcli auth set-token "<token>"
anilistcli auth where
anilistcli whoami
```

## Command Groups

```bash
anilistcli search <anime|manga|character|staff|user> "<query>" -n 5
anilistcli discover seasonal --season WINTER --year 2026 -n 20
anilistcli discover upcoming -n 15
anilistcli airing upcoming --hours 48 -n 25
anilistcli airing next "<title>"
anilistcli airing mine --hours 72 --limit 50
anilistcli mine summary --hours 72 -n 10
anilistcli media recs "<title>" -n 10
anilistcli media relations "<title-or-url>"
anilistcli profile [username]
anilistcli user <username>
anilistcli friends [username] -n 50
anilistcli followers [username] -n 50
anilistcli following [username] -n 50
anilistcli list view --type anime --status-in "CURRENT,PLANNING"
anilistcli planning add "<title>"
anilistcli status set "<title>" CURRENT
anilistcli progress set "<title>" 12
```

`planning` also supports alias `watchlater`.

## JSON and Dry Run

```bash
anilistcli --json discover upcoming -n 5
anilistcli --json airing mine --hours 48 -n 20
anilistcli --json mine summary --hours 48 -n 8
anilistcli --dry-run status set "<title>" PAUSED --json
```
npm package: @mtsmfm/apollo-client
Description: A fully-featured caching GraphQL client.
Author: opensource@apollographql.com
Latest version: 3.0.0-beta.50.609cab55bc90ac6a5ad408635d1c643333c20783

# <a href="https://www.apollographql.com/"><img src="https://user-images.githubusercontent.com/841294/53402609-b97a2180-39ba-11e9-8100-812bab86357c.png" height="100" alt="Apollo Client"></a>

## Apollo Client

[![npm version](https://badge.fury.io/js/apollo-client.svg)](https://badge.fury.io/js/apollo-client)
[![Build Status](https://circleci.com/gh/apollographql/apollo-client.svg?style=svg)](https://circleci.com/gh/apollographql/apollo-client)
[![Join the community on Spectrum](https://withspectrum.github.io/badge/badge.svg)](https://spectrum.chat/apollo)

Apollo Client is a fully-featured caching GraphQL client with integrations for React, Angular, and more. It allows you to easily build UI components that fetch data via GraphQL.

## Documentation

All Apollo Client documentation, including React integration articles and helpful recipes, can be found at: <br/>
[https://www.apollographql.com/docs/react/](https://www.apollographql.com/docs/react/)

The Apollo Client API reference can be found at: <br/>
[https://www.apollographql.com/docs/react/api/apollo-client/](https://www.apollographql.com/docs/react/api/apollo-client/)

## Maintainers

- [@benjamn](https://github.com/benjamn) (Apollo)
- [@hwillson](https://github.com/hwillson) (Apollo)
npm package: @mtsmfm/graphql-codegen-swift-operations
Description: graphql-codegen Swift plugin for GraphQL operations
Latest version: 0.4.0

# graphql-codegen-swift-operations

[graphql-codegen](https://graphql-code-generator.com/) Swift plugin for GraphQL operations.

[![npm version](https://badge.fury.io/js/%40mtsmfm%2Fgraphql-codegen-swift-operations.svg)](https://badge.fury.io/js/%40mtsmfm%2Fgraphql-codegen-swift-operations)

## Demo

You can find example project on /swift-test-project dir:

https://github.com/mtsmfm/graphql-codegen-swift-operations/tree/master/swift-test-project

Generated file:

https://github.com/mtsmfm/graphql-codegen-swift-operations/blob/master/swift-test-project/Sources/app/generated.swift

Operations:

https://github.com/mtsmfm/graphql-codegen-swift-operations/tree/master/swift-test-project/graphql

Usage:

https://github.com/mtsmfm/graphql-codegen-swift-operations/blob/master/swift-test-project/Sources/app/main.swift

## How to use

To install graphql-codegen, follow the

https://graphql-code-generator.com/docs/getting-started/installation

### 1. Install this package

```
$ yarn add -D @mtsmfm/graphql-codegen-swift-operations
```

or

```
$ npm install --save-dev @mtsmfm/graphql-codegen-swift-operations
```

### 2. Write codegen.yml

It'll be like the following:

```yaml
schema: https://swapi.graph.cool/graphql
documents: 'query.graphql'
generates:
  Sources/app/generated.swift:
    - '@mtsmfm/graphql-codegen-swift-operations'
```

### 3. Generate Swift files

```
$ graphql-codegen
```

## TODOs

- InlineFragment
- Union
- Variables
- Customizable scalar map
npm package: @mtsmfm/react-masonry
Description: Masonry layout component for React
Author: Fumiaki MATSUSHIMA
Latest version: 0.1.1

# React Masonry

Masonry layout component for React

## Usage

```tsx
<Masonry>
  <div>foo<div>
  <div>bar<div>
  <img src="https://via.placeholder.com/150" />
</Masonry>
```

## Installation

```
$ npm install --save @mtsmfm/react-masonry
```