# configuration/strings/plugin.strings.ts

> 21 lines of code and 7 definitions.

Tree: GovLab Quality
Language: typescript
Layer: product
Canonical: https://banes-lab.com/anatomy/quality#file-quality-configuration-strings-plugin-strings-ts
Source text: https://banes-lab.com/source/quality/configuration/strings/plugin.strings.ts.txt

Listed in [configuration/strings](https://banes-lab.com/api/source/quality/configuration/strings.md), after [configuration/strings/invocation.strings.ts](https://banes-lab.com/source/quality/configuration/strings/invocation.strings.ts.md) and before [configuration/strings/quality.strings.ts](https://banes-lab.com/source/quality/configuration/strings/quality.strings.ts.md).

## Definitions

- `pluginFolderUnreadable` (lexical_declaration, line 1, exported)
- `pluginLoadFailed` (lexical_declaration, line 5, exported)
- `pluginWithoutDefault` (lexical_declaration, line 9, exported)
- `pluginShape` (lexical_declaration, line 13, exported)
- `reservedNamespace` (lexical_declaration, line 17, exported)
- `namespaceWithoutPlugin` (lexical_declaration, line 21, exported)
- `corePluginsMissing` (lexical_declaration, line 25, exported)

## Contained in

- [configuration/strings](https://banes-lab.com/anatomy/quality/folder-quality-configuration-strings.md)

## Used by

- [core/loaders/eslint.loader.ts](https://banes-lab.com/source/quality/core/loaders/eslint.loader.ts.md)
- [core/loaders/plugin.loader.ts](https://banes-lab.com/source/quality/core/loaders/plugin.loader.ts.md)

## Linked from

- [core/loaders](https://banes-lab.com/anatomy/quality/folder-quality-core-loaders.md)

## Source

```typescript
export const pluginFolderUnreadable = function pluginFolderUnreadable(dir: string): string {
    return `govlab plugins: the plugin folder ${dir} cannot be read. The cause is attached to this error.`;
};

export const pluginLoadFailed = function pluginLoadFailed(file: string): string {
    return `govlab plugins: ${file} failed to load. The cause is attached to this error.`;
};

export const pluginWithoutDefault = function pluginWithoutDefault(file: string): string {
    return `govlab plugins: ${file} has no default-exported object. Export the plugin entry as the default export.`;
};

export const pluginShape = function pluginShape(file: string): string {
    return `govlab plugins: ${file} must default-export { tool: "eslint", plugins: { <namespace>: plugin } } or { tool: "stylelint", plugins: [...] }.`;
};

export const reservedNamespace = function reservedNamespace(file: string, namespace: string): string {
    return `govlab plugins: ${file} claims the reserved namespace "${namespace}". Give the plugin a namespace of its own.`;
};

export const namespaceWithoutPlugin = function namespaceWithoutPlugin(file: string, namespace: string): string {
    return `govlab plugins: ${file} declares the namespace "${namespace}" with no plugin object. Map the namespace to its plugin.`;
};

export const corePluginsMissing = function corePluginsMissing(names: string): string {
    return `govlab eslint: the core plugins ${names} did not load, and a lint without them would apply a partial ruleset with fixes on. Install or repair them, then lint again.`;
};
```
