# runtime/entrypoints/manifest.entrypoint.ts

> 19 lines of code and 2 definitions.

Tree: GovLab Docs
Language: typescript
Layer: runtime
Canonical: https://banes-lab.com/anatomy/docs#file-docs-runtime-entrypoints-manifest-entrypoint-ts
Source text: https://banes-lab.com/source/docs/runtime/entrypoints/manifest.entrypoint.ts.txt

Listed in [runtime/entrypoints](https://banes-lab.com/api/source/docs/runtime/entrypoints.md), after [runtime/entrypoints/invocation.entrypoint.ts](https://banes-lab.com/source/docs/runtime/entrypoints/invocation.entrypoint.ts.md) and before [runtime/entrypoints/package.entrypoint.ts](https://banes-lab.com/source/docs/runtime/entrypoints/package.entrypoint.ts.md).

## Definitions

- `registry` (lexical_declaration, line 11)
- `errors` (lexical_declaration, line 12)

## Contained in

- [runtime/entrypoints](https://banes-lab.com/anatomy/docs/folder-docs-runtime-entrypoints.md)

## Source

```typescript
import { indentedError, manifestErrorCount, manifestsValid } from "#configuration/strings/manifest.strings";
import { print, printErr } from "#core/reporters/base.reporter";
import { FAILURE_EXIT } from "#configuration/constants/invocation.constants";
import { MANIFEST_ARGV } from "#configuration/configs/invocation.config";
import { ManifestRegistry } from "#core/registries/manifest.registry";
import process from "node:process";
import { resolveArgv } from "@govlab/argv";

resolveArgv(MANIFEST_ARGV);

const registry = await ManifestRegistry.create();
const errors = registry.validateAll();

if (errors.length > 0) {
    printErr(manifestErrorCount(errors.length));
    for (const error of errors) {
        printErr(indentedError(error));
    }
    process.exitCode = FAILURE_EXIT;
} else {
    print(manifestsValid(registry.modules.length));
}
```
