# runtime/entrypoints/access.entrypoint.ts

> 16 lines of code and 4 definitions.

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

Listed in [runtime/entrypoints](https://banes-lab.com/api/source/quality/runtime/entrypoints.md), before [runtime/entrypoints/binding.entrypoint.ts](https://banes-lab.com/source/quality/runtime/entrypoints/binding.entrypoint.ts.md).

## Definitions

- `argv` (lexical_declaration, line 9)
- `projects` (lexical_declaration, line 10)
- `counts` (lexical_declaration, line 13)
- `fixed` (lexical_declaration, line 14)

## Contained in

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

## Source

```typescript
import { accessHeading, accessLine, accessTotal } from "#configuration/strings/invocation.strings";
import { ACCESS_ARGV } from "#configuration/configs/invocation.config";
import { DEFAULT_PROJECTS } from "#configuration/constants/invocation.constants";
import { fixIndexAccess } from "#core/coordinators/access.coordinator";
import path from "node:path";
import process from "node:process";
import { resolveArgv } from "@govlab/argv";

const argv = resolveArgv(ACCESS_ARGV);
const projects = argv.rest.length > 0 ? argv.rest : DEFAULT_PROJECTS;

process.stdout.write(accessHeading);
const counts = projects.map((project) => {
    const fixed = fixIndexAccess(path.resolve(project));
    process.stdout.write(accessLine(project, fixed));
    return fixed;
});
process.stdout.write(accessTotal(counts.reduce((sum, count) => sum + count, 0)));
```
