open-index/open-npm huggingface dataset:
npm package: @knk/eslint-plugin
Description: ESLint configuration and custom rules for Fluent UI
Latest version: 1.0.5

# @knk/eslint-plugin

**ESLint configuration and custom rules for knk**

## Configs

Usage: in your [ESLint config file](https://eslint.org/docs/user-guide/configuring), add `{ "extends": ["plugin:@knk/<name>"] }` or `{ "extends": ["plugin:@knk/eslint-plugin/<name>"] }` (the two are equivalent).

- `react`: For `@knk/*` and related packages
  - `react--legacy`: Like `react` but requiring an `I` prefix for interfaces
  - `node`: Like `react` but for packages which run in a Node environment (not the browser)
  - `node--legacy`: Like `node` but requiring an `I` prefix for interfaces

Helpers for customizing configuration are exported under a `configHelpers` object.

## Rules

### `ban-imports`

Ban importing from certain paths or modules. You can either ban the entire path, or only certain names. (Inspired by TSLint's [`import-blacklist`](https://palantir.github.io/tslint/rules/import-blacklist/).)

Requires one or more options objects. Either `path` or `pathRegex` is required.

- `path` (`string`): Path or module to ban importing from (non-regex)
- `pathRegex` (`string`): Regex for path or module to ban importing from
- `names` (`string[]`, optional): If provided, only ban imports of these names. Otherwise, ban all imports from the path.
- `message` (`string[]`, optional): Custom message to show with errors

Example:

```
"@knk/ban-imports": [
  "error",
  { "path": "lodash" },
  { "path": "foo", "names": ["bar", "baz"] },
  { "pathRegex": "^\.", message: "no relative imports" },
  { "pathRegex": "^\.\./(foo|bar)$", "names": ["baz"] }
]
```

### `deprecated-keyboard-event-props`

Prevent using deprecated `KeyboardEvent` props `which` and `keyCode`, and recommend using `@knk/keyboard-key` instead.

### `max-len`

Enforces max line length, more performantly than [ESLint's `max-len`](https://eslint.org/docs/rules/max-len).

This rule is significantly faster than the default `max-len` rule because it **does not** support:

- Expanding tabs (only handles spaces for indentation)
- Multi-byte unicode characters (they will be counted as multiple characters)
- Extra options for handling comments, strings, or URLs

(Skipping these extra features lets us do a basic string length check before running any regular expressions or other extra logic, which makes the huge majority of line length checks very fast.)

#### Options

The rule requires an options object containing:

- `max` (required): the maximum line length
- `ignorePatterns` (optional): ignore the line if it matches any of these regular expressions

### `no-global-react`

Ban references to the `React` global namespace (in favor of explicitly importing React). Implicit global references cause problems for API Extractor and potentially other tools.

### `no-tslint-comments`

Ban `tslint:disable` and `tslint:enable` comments.

### `no-visibility-modifiers`

Prevent visibility modifiers (`public`, `protected`, `private`) from being specified on class members/methods.
npm package: @knkui/avatar
Description: React components for building web experiences
Latest version: 1.1.0

# @knkui/avatar

**Avatar components for [KNK UI React](https://dev.azure.com/knkCMS/knut/_git/knut)**

These are not production-ready components and **should never be used in product**. This space is useful for testing new components whose APIs might change before final release.

To import Avatar components:

```js
import { ComponentName } from '@knkui/avatar';
```
npm package: @knkui/badges
Description: Badge and Pill Components
Latest version: 1.1.0

# @knkui/badges

**Badges components for [KNK UI React](https://dev.azure.com/knkCMS/knut/_git/knut)**

These are not production-ready components and **should never be used in product**. This space is useful for testing new components whose APIs might change before final release.

To import Badges components:

```js
import { ComponentName } from '@knkui/badges';
```
npm package: @knkui/buttons
Description: React components for building web experiences
Latest version: 1.1.0

# @knkui/buttons

**Buttons components for [KNK UI React](https://dev.azure.com/knkCMS/knut/_git/knut)**

These are not production-ready components and **should never be used in product**. This space is useful for testing new components whose APIs might change before final release.

To import Buttons components:

```js
import { ComponentName } from '@knkui/buttons';
```
npm package: @knkui/checkbox
Description: React components for building web experiences
Latest version: 1.1.0

# @knkui/checkbox

**Checkbox components for [KNK UI React](https://dev.azure.com/knkCMS/knut/_git/knut)**

These are not production-ready components and **should never be used in product**. This space is useful for testing new components whose APIs might change before final release.

To import Checkbox components:

```js
import { ComponentName } from '@knkui/checkbox';
```
npm package: @knkui/dialog
Description: Dialogs inform users about a task and can contain critical information.
Latest version: 1.1.0

# @knkui/dialog

**Dialog components for [KNK UI React](https://dev.azure.com/knkCMS/knut/_git/knut)**

These are not production-ready components and **should never be used in product**. This space is useful for testing new components whose APIs might change before final release.

To import Dialog components:

```js
import { ComponentName } from '@knkui/dialog';
```
npm package: @knkui/divider
Description: React components for building web experiences
Latest version: 1.1.0

# @knkui/divider

**Divider components for [KNK UI React](https://dev.azure.com/knkCMS/knut/_git/knut)**

These are not production-ready components and **should never be used in product**. This space is useful for testing new components whose APIs might change before final release.

To import Divider components:

```js
import { ComponentName } from '@knkui/divider';
```