# shared/strings/manifest.strings.ts

> 9 lines of code and 3 definitions.

Tree: Governance tree
Language: typescript
Layer: product
Canonical: https://banes-lab.com/anatomy/governance#file-governance-shared-strings-manifest-strings-ts
Source text: https://banes-lab.com/source/governance/shared/strings/manifest.strings.ts.txt

Listed in [shared/strings](https://banes-lab.com/api/source/governance/shared/strings.md), after [shared/strings/graph.strings.ts](https://banes-lab.com/source/governance/shared/strings/graph.strings.ts.md) and before [shared/strings/rule.strings.ts](https://banes-lab.com/source/governance/shared/strings/rule.strings.ts.md).

## Definitions

- `notValidJson` (lexical_declaration, line 1, exported)
- `notJsonObject` (lexical_declaration, line 5, exported)
- `noPackageName` (lexical_declaration, line 9, exported)

## Used by

- [rules/eslint/closure-no-cross-member-relative.eslint.rule.ts](https://banes-lab.com/source/governance/rules/eslint/closure-no-cross-member-relative.eslint.rule.ts.md)
- [shared/loaders/manifest.loader.ts](https://banes-lab.com/source/governance/shared/loaders/manifest.loader.ts.md)

## Source

```typescript
export const notValidJson = function notValidJson(location: string): string {
    return `manifest: ${location} is not valid JSON. Its parse error is attached as the cause.`;
};

export const notJsonObject = function notJsonObject(location: string): string {
    return `manifest: ${location} does not hold a JSON object. A package manifest is one object.`;
};

export const noPackageName = function noPackageName(location: string): string {
    return `manifest: ${location} declares no package name. Give the package a name.`;
};
```
