From ec3e4d62e95ea3fae1679334ef0ef6bf94a1e761 Mon Sep 17 00:00:00 2001 From: Alec Date: Sun, 14 Jul 2024 13:24:32 -0400 Subject: [PATCH] Update tests and types for package privacy and enums --- packages/data-packages/src/get-package.test.ts | 2 +- packages/types/src/index.ts | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/packages/data-packages/src/get-package.test.ts b/packages/data-packages/src/get-package.test.ts index 98dcbf12..37d28c41 100644 --- a/packages/data-packages/src/get-package.test.ts +++ b/packages/data-packages/src/get-package.test.ts @@ -56,7 +56,7 @@ describe('getPackage', () => { churn: 0.3, complexity: 0.3, license: 'MIT', - private: true, + privacy: 'PRIVATE', }); }); }); diff --git a/packages/types/src/index.ts b/packages/types/src/index.ts index bc89e25c..05768c78 100644 --- a/packages/types/src/index.ts +++ b/packages/types/src/index.ts @@ -7,6 +7,10 @@ import { z } from 'zod'; export const privacyEnum = z.enum(['PUBLIC', 'PRIVATE']); +export const dependencyTypeEnum = z.enum(['PRODUCTION', 'DEVELOPMENT', 'PEER']); + +export const blockTypeEnum = z.enum(['REACT', 'NODE', 'NEXT']); + export type Constraint = | { allow: string[] | typeof AllPackagesWildcard; @@ -59,6 +63,20 @@ export type Tag = string; export type TagsData = { packageName: string; tags: Tag[] }; +const blockSchema = z.object({ + path: z.string(), + type: blockTypeEnum, + name: z.string(), + description: z.string().optional(), + version: z.string(), + churn: z.number(), + complexity: z.number(), + license: z.string().optional(), + privacy: privacyEnum, +}); + +export type Block = z.infer; + export type Package = { path: string; type: BlockType;