open-index/open-npm huggingface dataset:
npm package: @mavnn/codemirror-lang-ink
Description: Ink language support for the CodeMirror code editor
Author: Michael Newton
Latest version: 0.9.24

# Ink language support for CodeMirror

- [npm package](https://www.npmjs.com/package/@mavnn/codemirror-lang-ink)
- [CodeMirror](https://codemirror.net/)
- [Ink](https://www.inklestudios.com/ink/)

This package implements Ink language support for the
[CodeMirror](https://codemirror.net/) code editor.

You can try out the editor live in a demo Ink project at [VisualInk](https://visualink.mavnn.eu/script/demo).

This code is released under an
[MIT license](https://github.com/mavnn/codemirror-lang-ink/tree/main/LICENSE).

## Usage

```javascript
import {EditorView, basicSetup} from "codemirror"
import {InkLanguageSupport} from "@mavnn/codemirror-lang-ink"

const view = new EditorView({
  parent: document.body,
  doc: `Once upon a time...`,
  extensions: [basicSetup, InkLanguageSupport()]
})
```

## Highlighting

Ink has a slightly unusual set of highlighting requirements compared to most programming languages, and so 
the default highlighting style doesn't look all that fantastic. You can see the full range of tag styles set
by the language extension at [./src/index.ts](./src/index.ts), or use something like the following to get you
started:

```javascript
import { syntaxHighlighting, HighlightStyle } from "@codemirror/language"
import {EditorView, basicSetup} from "codemirror"
import {InkLanguageSupport} from "@mavnn/codemirror-lang-ink"

const highlightStyle = HighlightStyle.define( [
  { tag: [tags.comment, tags.blockComment], class: "has-text-info" },
  { tag: [tags.operatorKeyword, tags.controlOperator, tags.keyword], class: "has-text-primary" },
  { tag: [tags.labelName], class: "has-text-success" },
  { tag: [tags.operator, tags.list], class: "has-text-info-on-scheme" },
  { tag: [tags.bracket, tags.separator], class: "has-text-warning"},
  { tag: [tags.name], class: "has-text-primary-on-scheme"},
  { tag: [tags.bool, tags.string, tags.number], class: "has-text-danger-on-scheme"},
  { tag: [tags.heading], class: "has-text-primary"}
])

const view = new EditorView({
  parent: document.body,
  doc: `Once upon a time...`,
  extensions: [basicSetup, InkLanguageSupport(), syntaxHighlighting(highlightStyle)]
})
```

The class names above come from the Bulma css library.

## Tests

If you find an issue with the grammar (incorrect highlighting boundaries, etc) please include
the snippet of Ink code that causes the issue in your bug report. As you can see in the
tests directory, the test suite allows us to directly compare Ink files with the syntax tree
we expect them to produce.
npm package: @mavo/gitshell
Description: Write a commit message which is concurring with the AngulerJS git commit message convention
Author: Marc Vongerichten
Latest version: 1.1.4

# Gitshell

offers a easy-to-use shell-command to create valid commit messages which are following AngularJS commit conventions

* build commit message
* enhance commit speed by providing latest used ticket-numbers from a storage

These rules are adopted from [the AngularJS commit conventions](https://docs.google.com/document/d/1QrDFcIiPjSLDn3EL15IJygNPiHORgU1_OOAqWjiDU5Y/).

* [Goal](#goal)
* [Requierments](#requierments)
* [How to install](#how-to-install)
* [Format of the commit message](#format-of-the-commit-message)
  * [Subject line](#subject-line)
    * [Allowed `<type>`](#allowed-type)
    * [Allowed `<scope>`](#allowed-scope)
    * [`<subject>` text](#subject-text)
* [Examples](#examples)

## Goal

* enhace git commiting syntax in teams or organizations

## Requierments

* [node](https://nodejs.org/en/) >= v6.4

## How to install

install gitshell

```bash
npm i -g @mavo/gitshell
```

change directory to global node_modules/gitshell and create symlinks

```bash
cd /usr/local/lib/node_modules/@mavo/gitshell
npm link
```

## How to develop

try out module

```bash
node ./bin/gitshell.js m
```

update package on npm
[NPM update package](https://docs.npmjs.com/updating-your-published-package-version-number)

```bash
npm version <update_type>
npm publish
```

<update_type> = patch, major, or minor

---

## Format of the commit message

```text
<type>(<scope>:<ticket>) <subject>
```

### Subject line

Subject line contains succinct description of the change.

### Allowed `<type>`

* feat (feature)
* fix (bug fix)
* docs (documentation)
* style (formatting, missing semi colons, …)
* refactor
* test (when adding missing tests)
* chore (maintain)

### Allowed `<scope>`

Scope could be anything specifying place of the commit change. For example $location, $browser, $compile, $rootScope, ngHref, ngClick, ngView, etc...

### `<subject>` text

* use imperative, present tense: “change” not “changed” nor “changes”
* don't capitalize first letter
* no dot (.) at the end

## Examples

```bash
feat($browser:JIRA-123) onUrlChange event (popstate/hashchange/polling)

fix($compile:SHC-123) couple of unit tests for IE9

feat(directive:ELD-123) ng:disabled, ng:checked, ng:multiple, ng:readonly, ng:selected

style($location:JIRA-123) add couple of missing semi colons

docs(guide:JIRA-123) updated fixed docs from Google Docs

feat($compile:JIRA-123) simplify isolate scope bindings
```
npm package: @mavrin/remark-typograf
Description: Plugin for remark to make your typography better with typograf
Author: Konstantin Krivlenia
Latest version: 2.2.0

# remarkjs-typograf

Plugin for [remark](https://github.com/remarkjs/remark) to make your typography better with [typograf](https://github.com/typograf/typograf)

Example https://mavrin.github.io/remark-typograf/

## Install

[npm](https://docs.npmjs.com/cli/install):

```sh
npm install @mavrin/remark-typograf remark
```

## Use

Say we have the following file, `example.md`:

````markdown
## spread operator `...`

It is test...

```js
function test(...args) {
  return args;
}
```
````

You probably want to use it on the CLI through a config file:

```diff
  …
  "remarkConfig": {
    "plugins": [
      [
        "@mavrin/remark-typograf",
        {
          "locale": ["ru"]
        }
      ]
    ]
  }
…
```

Or use it on the CLI directly (ru locale will be used as default)

```sh
remark -u @mavrin/remark-typograf example.md -o processed-example.md
```

Or use this on the API:

```js
const fs = require("fs");
const path = require("path");
const remark = require("remark");
const remarkTypograf = require("@mavrin/remark-typograf");

const processed = remark()
  .use(remarkTypograf, { locale: ["en-US"], keywords: [":)"] })
  .processSync(fs.readFileSync(path.resolve(__dirname, "example.md")));

fs.writeFileSync(path.resolve(__dirname, "processed-example.md"), processed);
```

or with custom typograf:

```js
const fs = require("fs");
const path = require("path");
const remark = require("remark");
const remarkTypograf = require("@mavrin/remark-typograf");
const Typograf = require("typograf");

const processed = remark()
  .use(remarkTypograf, {
    typograf: new Typograf({ locale: ["en-US"] }),
    keywords: [":)"],
    builtIn: false,
  })
  .processSync(fs.readFileSync(path.resolve(__dirname, "example.md")));

fs.writeFileSync(path.resolve(__dirname, "processed-example.md"), processed);
```

Yields:

````markdown
## spread operator `...`

It is test…

```js
function test(...args) {
  return args;
}
```
````

[Example source code](/examples/simple)
npm package: @mavrin/stylelint-declaration-use-css-custom-properties
Description: A stylelint custom rule to check the use of css custom properties on declaration
Author: Konstantin Krivlenia
Latest version: 3.0.1

# stylelint-declaration-use-css-custom-properties

A [stylelint](https://stylelint.io/) custom rule to check the use of css custom properties on declaration.

## Motivation

This plugin will be useful if we want remove usage of css constants and replace on custom properties. For example if you want
add support theming in your css, you should replace all static css definitions on css custom properties.

### Example:

css before

```css
.some-rules {
  color: #000; /* this declaration will be highlighted */
  background: white; /* this declaration will be highlighted */
  border: 1px solid rgb(0, 255, 0, 0.5); /* this declaration will be highlighted */
  animation-name: red; /* this declaration will not highlighted, because is not color */
  animation-duration: 4s;
}
```

css after

```css
:root {
  --textColor: #000;
  --bgColor: white;
  --borderColor: rgb(0, 255, 0, 0.5);
}

.some-rules {
  color: var(--textColor);
  background: var(--bgColor);
  border: 1px solid var(--borderColor);
  animation-name: red;
  animation-duration: 4s;
}
```

## Installation

```
npm install @mavrin/stylelint-declaration-use-css-custom-properties
```

## Usage

Add it to your stylelint config `plugins` array, then add `"mavrin/stylelint-declaration-use-css-custom-properties"` to your rules,
specifying the property for which you want to check the usage of css definitions. You can find existed css definitions in [csstree](https://github.com/csstree/csstree) [docs](https://csstree.github.io/docs/syntax/#Type:color)

Like so:

```js
// .stylelintrc
{
  //...
  "plugins": [
    // ...
    "@mavrin/stylelint-declaration-use-css-custom-properties"
  ],
  rules: {
    //...
    "mavrin/stylelint-declaration-use-css-custom-properties": {
      cssDefinitions: ["color", "length"],
      ignoreProperties: ["/^\\$/"],
      ignoreValues: ["/\\$/", "transparent"],
    }
  },
}
```
npm package: @mavrykdynamics/get-mav
Description: Programmatic script to get Mavryk from faucet
Author: Aryeh Harris
Latest version: 1.0.8

# get-mav

This zero dependency package provides a programmatic interface to interact with the [Mavryk faucet](https://github.com/mavryk-network/mavryk-faucet-backend). It is a script that can be run from a JavaScript/Typescript program or directly from a shell. Your NodeJS version should support the [`fetch`](https://nodejs.org/dist/latest-v18.x/docs/api/globals.html#fetch) api.

## Installation

You can install the package from npm:

```bash
npm install @mavrykdynamics/get-mav
```

## Usage

### JS / TS

After installing the package, you can import it in your Node.js JavaScript or TypeScript project:

```javascript
const getMav = require("@mavrykdynamics/get-mav")

// OR

import getMav from "@mavrykdynamics/get-mav"
```

You can then use the `getMav` function to interact with the Mavryk faucet. The function takes an object as an argument, with the following properties:

- `address`: The address to send Mav to. This can be a raw Mavryk public key hash or a local address's alias.
- `amount`: The amount of Mav to request.
- `network`: The faucet's network name. Must match a network name with a faucet listed at https://teztnets.xyz. Ignored if `faucetUrl` is set.
- `faucetUrl`: The custom faucet URL. Ignores `network`.
- `clientDir`: (Optional) Specifies a custom client directory path to look up an address alias. If not set, it will default to `$HOME/.tezos-client/` or `$TEZOS_CLIENT_DIR` if the `TEZOS_CLIENT_DIR` environment variable is set.

Here is an example of how to use the `getMav` function:

```javascript
const txHash = await getMav({
  address: "mv1...",
  amount: 10,
  network: "basenet",
})
// txHash: ooaEskbj...
```

Using an address alias:

```javascript
const txHash = await getMav({
  address: "alice",
  amount: 10,
  network: "basenet",
})
// txHash: ooaEskbj...
```

Example using the `faucetUrl` parameter:

```js
const txHash = await getMav({
  address: "mv1...",
  amount: 10,
  faucetUrl: "https://my-custom-faucet-url.com",
})
// txHash: ooaEskbj...
```

### CLI

You can also run `get-mav` directly from the command line with `npx`:

```bash
npx @mavrykdynamics/get-mav mv1... --amount 10 --network basenet
```

Run the script with the `--help` flag for more information.
npm package: @mavrykdynamics/mavlet-blockchain-mavryk
Description: This package adds support for the `mavryk` blockchain. It can be used in combination with the `@mavrykdynamics/mavlet-dapp` or `@mavrykdynamics/mavlet-wallet` packages.
Author: Mavryk Dynamics
Latest version: 1.0.2

# `@mavrykdynamics/mavlet-blockchain-mavryk`

This package is part of the `@mavrykdynamics/mavlet-sdk` project. [Read more](https://github.com/mavryk-network/mavlet-sdk)

## Introduction

This package adds support for the `mavryk` blockchain. It can be used in combination with the `@mavrykdynamics/mavlet-dapp` or `@mavrykdynamics/mavlet-wallet` packages.

## Usage

```
import { DAppClient } from '@airga/mavlet-dapp'
import { MavrykBlockchain } from '@airga/mavlet-blockchain-mavryk'

const client = new DAppClient({
    name: 'Example DApp',
})

const mavrykBlockchain = new MavrykBlockchain()
client.addBlockchain(mavrykBlockchain)
```

Check our documentation for more information. [Documentation](https://docs.mavlet.mavryk.org)
npm package: @mavrykdynamics/mavlet-blockchain-mavryk-sapling
Description: This package adds support for `mavryk-sapling`, the sapling integration on the Mavryk blockchain. It can be used in combination with the `@mavrykdynamics/mavlet-dapp` or `@mavrykdynamics/mavlet-wallet` packages.
Author: Mavryk Dynamics
Latest version: 1.0.2

# `@mavrykdynamics/mavlet-blockchain-mavryk-sapling`

This package is part of the `@mavrykdynamics/mavlet-sdk` project. [Read more](https://github.com/mavryk-network/mavlet-sdk)

## Introduction

This package adds support for `mavryk-sapling`, the sapling integration on the Mavryk blockchain. It can be used in combination with the `@mavrykdynamics/mavlet-dapp` or `@mavrykdynamics/mavlet-wallet` packages.

## Usage

```
import { DAppClient } from '@airga/mavlet-dapp'
import { MavrykSaplingBlockchain } from '@airga/mavlet-blockchain-mavryk-sapling'

const client = new DAppClient({
    name: 'Example DApp',
})

const mavrykSaplingBlockchain = new MavrykSaplingBlockchain()
client.addBlockchain(mavrykSaplingBlockchain)
```

Check our documentation for more information. [Documentation](https://docs.mavlet.mavryk.org)
npm package: @mavrykdynamics/mavlet-blockchain-substrate
Description: This package adds support for `substrate` based blockchains. It can be used in combination with the `@mavrykdynamics/mavlet-dapp` or `@mavrykdynamics/mavlet-wallet` packages.
Author: Mavryk Dynamics
Latest version: 1.0.2

# `@mavrykdynamics/mavlet-blockchain-substrate`

This package is part of the `@mavrykdynamics/mavlet-sdk` project. [Read more](https://github.com/mavryk-network/mavlet-sdk)

## Introduction

This package adds support for `substrate` based blockchains. It can be used in combination with the `@mavrykdynamics/mavlet-dapp` or `@mavrykdynamics/mavlet-wallet` packages.

## Usage

```
import { DAppClient } from '@airga/mavlet-dapp'
import { SubstrateBlockchain } from '@airga/mavlet-blockchain-substrate'

const client = new DAppClient({
    name: 'Example DApp',
})

const substrateBlockchain = new SubstrateBlockchain()
client.addBlockchain(substrateBlockchain)
```

Check our documentation for more information. [Documentation](https://docs.mavlet.mavryk.org)
npm package: @mavrykdynamics/mavlet-core
Description: This package contains internal methods that are used by both the dApp and wallet client.
Author: Mavryk Dynamics
Latest version: 1.0.2

# `@mavrykdynamics/mavlet-core`

This package is part of the `@mavrykdynamics/mavlet-sdk` project. [Read more](https://github.com/mavryk-network/mavlet-sdk)

## Introduction

This package contains internal methods that are used by both the dApp and wallet client.

Unless you need to import types from this package, you probably don't need to add it to your project.

Check our documentation for more information. [Documentation](https://docs.mavlet.mavryk.org)
npm package: @mavrykdynamics/mavlet-dapp
Description: Use this package on your dApp to instanciate a DAppClient object and communicate to wallets.
Author: Mavryk Dynamics
Latest version: 1.0.2

# `@mavrykdynamics/mavlet-dapp`

This package is part of the `@mavrykdynamics/mavlet-sdk` project. [Read more](https://github.com/mavryk-network/mavlet-sdk)

## Introduction

Use this package on your dApp to instanciate a `DAppClient` object and communicate to wallets.

## Usage

```
import { DAppClient } from '@mavrykdynamics/mavlet-dapp'

const dAppClient = new DAppClient({ name: "Mavlet Docs" });
```

Check our documentation for more information. [Documentation](https://docs.mavlet.mavryk.org)
npm package: @mavrykdynamics/mavlet-transport-matrix
Description: This package contains methods to facilitate communication over the Mavlet network, a decentralised P2P network that is based on the matrix protocol.
Author: Mavryk Dynamics
Latest version: 1.0.2

# `@mavrykdynamics/mavlet-transport-matrix`

This package is part of the `@mavrykdynamics/mavlet-sdk` project. [Read more](https://github.com/mavryk-network/mavlet-sdk)

## Introduction

This package contains methods to facilitate communication over the Mavlet network, a decentralised P2P network that is based on the matrix protocol.

Unless you need to import types from this package, you probably don't need to add it to your project.

Check our documentation for more information. [Documentation](https://docs.mavlet.mavryk.org)
npm package: @mavrykdynamics/mavlet-transport-postmessage
Description: This package contains methods to facilitate communication over the postmessage interface of the browser to talk to browser extensions.
Author: Mavryk Dynamics
Latest version: 1.0.2

# `@mavrykdynamics/mavlet-transport-postmessage`

This package is part of the `@mavrykdynamics/mavlet-sdk` project. [Read more](https://github.com/mavryk-network/mavlet-sdk)

## Introduction

This package contains methods to facilitate communication over the postmessage interface of the browser to talk to browser extensions.

Unless you need to import types from this package, you probably don't need to add it to your project.

Check our documentation for more information. [Documentation](https://docs.mavlet.mavryk.org)
npm package: @mavrykdynamics/mavlet-transport-walletconnect
Description: This package contains methods to facilitate communication over the WalletConnect network.
Author: Mavryk Dynamics
Latest version: 1.0.2

# `mavlet-transport-walletconnect`

This package is part of the `@mavrykdynamics/mavlet-sdk` project. [Read more](https://github.com/mavryk-network/mavlet-sdk)

## Introduction

This package contains methods to facilitate communication over the WalletConnect network.

Unless you need to import types from this package, you probably don't need to add it to your project.

Check our documentation for more information. [Documentation](https://docs.mavlet.mavryk.org)
npm package: @mavrykdynamics/mavlet-types
Description: This package contains types that are used throughout the Mavlet SDK.
Author: Mavryk Dynamics
Latest version: 1.0.2

# `@mavrykdynamics/mavlet-types`

This package is part of the `@mavrykdynamics/mavlet-sdk` project. [Read more](https://github.com/mavryk-network/mavlet-sdk)

## Introduction

This package contains types that are used throughout the SDK.

Unless you need to import types from this package, you probably don't need to add it to your project.

Check our documentation for more information. [Documentation](https://docs.mavlet.mavryk.org)
npm package: @mavrykdynamics/mavlet-ui
Description: This package contains the UI part (alerts and toasts) of the Mavlet SDK.
Author: Mavryk Dynamics
Latest version: 1.0.2

# `@mavrykdynamics/mavlet-ui`

This package is part of the `@mavrykdynamics/mavlet-sdk` project. [Read more](https://github.com/mavryk-network/mavlet-sdk)

## Introduction

This package contains the UI part (alerts and toasts) of the `mavlet-sdk`.

Unless you need to import types from this package, you probably don't need to add it to your project.

Check our documentation for more information. [Documentation](https://docs.mavlet.mavryk.org)
npm package: @mavrykdynamics/mavlet-utils
Description: This package contains utility functions that are used throughout the mavlet-sdk
Author: Mavryk Dynamics
Latest version: 1.0.2

# `@mavrykdynamics/mavlet-utils`

This package is part of the `@mavrykdynamics/mavlet-sdk` project. [Read more](https://github.com/mavryk-network/mavlet-sdk)

## Introduction

This package contains utility functions that are used throughout the `mavlet-sdk`.

Unless you need to import types from this package, you probably don't need to add it to your project.

Check our documentation for more information. [Documentation](https://docs.mavlet.mavryk.org)
npm package: @mavrykdynamics/mavlet-wallet
Description: Use this package in your wallet to instanciate a WalletClient object and communicate to dApps.
Author: Mavryk Dynamics
Latest version: 1.0.2

# `@mavrykdynamics/mavlet-wallet`

This package is part of the `@mavrykdynamics/mavlet-sdk` project. [Read more](https://github.com/mavryk-network/mavlet-sdk)

## Introduction

Use this package in your wallet to instanciate a `WalletClient` object and communicate to dApps.

## Usage

```
import { WalletClient } from '@mavrykdynamics/mavlet-wallet'

const walletClient = new WalletClient({ name: "Example Wallet" });
```

Check our documentation for more information. [Documentation](https://docs.mavlet.mavryk.org)