open-index/open-npm huggingface dataset:
npm package: @inlang/message-lint-rule-camel-case-id
Description: Checks for messages to have a camel case message id.
Latest version: 1.1.8

# What does this rule do?

Checks for messages to have a camel case message id.

Having the message id's in camel case format is beneficial because it allows for easier integration with other tools and libraries, like `@inlang/paraglide-js`.

## Manual setup

Besides installing the lint rule through `manage.inlang.com` you could also configure it manually.

### Settings

Type:
```ts
type MessageLintRuleLevel = "error" | "warning"
```

Example in the `project.inlang/settings.json`:
```json
{
    // other configuration
    "messageLintRuleLevels": {
		"messageLintRule.inlang.camelCaseId": "error",
	}
}
```

The default level is `warning`
npm package: @inlang/message-lint-rule-empty-pattern
Description: Checks for empty pattern in a [language tag](https://inlang.com/m/8y8sxj09/library-inlang-languageTag). If a message exists in the reference resource but the pattern in a target resource is empty, it is likely that the message has not been translated yet.
Latest version: 1.4.8

# What does this rule do?

Checks for empty pattern in a [language tag](https://inlang.com/m/8y8sxj09/library-inlang-languageTag). If a message exists in the reference resource but the pattern in a target resource is empty, it is likely that the message has not been translated yet.

## Manual setup

Besides installing the lint rule through `manage.inlang.com` you could also configure it manually.

### Settings

Type:
```ts
type MessageLintRuleLevel = "error" | "warning"
```

Example in the `project.inlang/settings.json`:
```json
{
    // other configuration
    "messageLintRuleLevels": {
		"messageLintRule.inlang.emptyPattern": "error",
	}
}
```

The default level is `warning`
npm package: @inlang/message-lint-rule-identical-pattern
Description: Checks for identical patterns in different languages.  A message with identical wording in multiple languages can indicate that the translations are redundant or can be combined into a single message to reduce translation effort.
Latest version: 1.5.9

# What does this rule do?

Checks for identical patterns in different languages.  A message with identical wording in multiple languages can indicate that the translations are redundant or can be combined into a single message to reduce translation effort.

## Manual setup

Besides installing the lint rule through `manage.inlang.com` you could also configure it manually.

### Settings

Type:
```ts
type MessageLintRuleLevel = "error" | "warning"
```

Example in the `project.inlang/settings.json`:
```json
{
    // other configuration
    "messageLintRuleLevels": {
		"messageLintRule.inlang.identicalPattern": "error",
	}
}
```

The default level is `warning`
npm package: @inlang/message-lint-rule-missing-translation
Description: Checks for missing variants for a specific languageTag.  If a variant exists for the sourceLanguageTag but is missing for a listed languageTag, it is likely that the message has not been translated for this languageTag yet.
Latest version: 1.4.8

# What does this rule do?

Checks for missing variants for a specific languageTag.  If a variant exists for the sourceLanguageTag but is missing for a listed languageTag, it is likely that the message has not been translated for this languageTag yet.

## Manual setup

Besides installing the lint rule through `manage.inlang.com` you could also configure it manually.

### Settings

Type:
```ts
type MessageLintRuleLevel = "error" | "warning"
```

Example in the `project.inlang/settings.json`:
```json
{
    // other configuration
    "messageLintRuleLevels": {
		"messageLintRule.inlang.missingTranslation": "error",
	}
}
```

The default level is `warning`
npm package: @inlang/message-lint-rule-snake-case-id
Description: Checks for messages to have a snake case message id.
Latest version: 1.1.8

# What does this rule do?

Checks for messages to have a snake case message id.

Having the message id's in snake case format is beneficial because it allows for easier integration with other tools and libraries, like `@inlang/paraglide-js`.

## Manual setup

Besides installing the lint rule through `manage.inlang.com` you could also configure it manually.

### Settings

Type:
```ts
type MessageLintRuleLevel = "error" | "warning"
```

Example in the `project.inlang/settings.json`:
```json
{
    // other configuration
    "messageLintRuleLevels": {
		"messageLintRule.inlang.snakeCaseId": "error",
	}
}
```

The default level is `warning`
npm package: @inlang/message-lint-rule-valid-js-identifier
Description: Enforces that all message ids are valid JavaScript identifiers. It also excludes any reserved JS keywords. You can read more about valid JS identifiers [here](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Lexical_grammar#identifiers).
Latest version: 1.0.8

# What does this rule do?

Enforces that all message ids are valid JavaScript identifiers. It also excludes any reserved JS keywords.
You can read more about valid JS identifiers [here](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Lexical_grammar#identifiers).

## Manual setup

Besides installing the lint rule through `manage.inlang.com` you could also configure it manually.

### Settings

Type:
```ts
type MessageLintRuleLevel = "error" | "warning"
```

Example in the `project.inlang/settings.json`:
```json
{
    // other configuration
    "messageLintRuleLevels": {
		"messageLintRule.inlang.validJsIdentifier": "error",
	}
}
```

The default level is `warning`
npm package: @inlang/message-lint-rule-without-source
Description: Checks for likely outdated messages.  A message with a missing source is usually an indication that the message (id) is no longer used in source code, but messages have not been updated accordingly.
Latest version: 1.4.8

# What does this rule do?

Checks for likely outdated messages.  A message with a missing source is usually an indication that the message (id) is no longer used in source code, but messages have not been updated accordingly.

## Manual setup

Besides installing the lint rule through `manage.inlang.com` you could also configure it manually.

### Settings

Type:
```ts
type MessageLintRuleLevel = "error" | "warning"
```

Example in the `project.inlang/settings.json`:
```json
{
    // other configuration
    "messageLintRuleLevels": {
		"messageLintRule.inlang.messageWithoutSource": "error",
	}
}
```

The default level is `warning`