@code-pushup/models

[![npm](https://img.shields.io/npm/v/%40code-pushup%2Fmodels.svg)](https://www.npmjs.com/package/@code-pushup/models) [![downloads](https://img.shields.io/npm/dm/%40code-pushup%2Fmodels)](https://npmtrends.com/@code-pushup/models) [![dependencies](https:/

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
@code-pushup/models
21830.39.018 days ago6 months agoMinified + gzip package size for @code-pushup/models in KB

Readme

@code-pushup/models
npm downloads dependencies
Model definitions and validators for the Code PushUp CLI.
For a full list of models defined by this package, see the auto-generated Code PushUp models reference.

Setup

If you've already installed another @code-pushup/* package, then you may have already installed @code-pushup/models indirectly.
If not, you can always install it separately:
npm install --save-dev @code-pushup/models

yarn add --dev @code-pushup/models

pnpm add --save-dev @code-pushup/models

Usage

Import the type definitions if using TypeScript:
  • in code-pushup.config.ts:

```ts import type { CoreConfig } from '@code-pushup/models';
export default {
// ... this is type-checked ...
} satisfies CoreConfig; ```
  • in custom plugin:

```ts import type { PluginConfig } from '@code-pushup/models';
export default function myCustomPlugin(): PluginConfig {
return {
  // ... this is type-checked ...
};
} ```
```ts import type { AuditOutput } from '@code-pushup/models';
async function myCustomPluginRunner() {
const audits: AuditOutput[] = await collectAudits();

await writeFile(RUNNER_OUTPUT_FILE, JSON.strinfigy(audits));
} ```
If you need runtime validation, use the underlying Zod schemas:
import { coreConfigSchema } from '@code-pushup/models';

const json = JSON.parse(readFileSync('code-pushup.config.json'));
const config = coreConfigSchema.parse(json); // throws ZodError if invalid