UNPKG

@code-pushup/js-packages-plugin

Version:
56 lines 2.19 kB
import { z } from 'zod'; import { issueSeveritySchema, pluginScoreTargetsSchema, } from '@code-pushup/models'; import { defaultAuditLevelMapping } from './constants.js'; export const dependencyGroups = ['prod', 'dev', 'optional']; const dependencyGroupSchema = z.enum(dependencyGroups); const packageCommandSchema = z.enum(['audit', 'outdated']); const packageManagerIdSchema = z.enum([ 'npm', 'yarn-classic', 'yarn-modern', 'pnpm', ]); const packageJsonPathSchema = z .string() .regex(/package\.json$/, 'File path must end with package.json') .describe('File path to package.json, tries to use root package.json at CWD by default') .default('package.json'); export const packageAuditLevels = [ 'critical', 'high', 'moderate', 'low', 'info', ]; const packageAuditLevelSchema = z.enum(packageAuditLevels); export function fillAuditLevelMapping(mapping) { return { critical: mapping.critical ?? defaultAuditLevelMapping.critical, high: mapping.high ?? defaultAuditLevelMapping.high, moderate: mapping.moderate ?? defaultAuditLevelMapping.moderate, low: mapping.low ?? defaultAuditLevelMapping.low, info: mapping.info ?? defaultAuditLevelMapping.info, }; } export const jsPackagesPluginConfigSchema = z.object({ checks: z .array(packageCommandSchema) .min(1) .default(['audit', 'outdated']) .describe('Package manager commands to be run. Defaults to both audit and outdated.'), packageManager: packageManagerIdSchema .describe('Package manager to be used.') .optional(), dependencyGroups: z .array(dependencyGroupSchema) .min(1) .default(['prod', 'dev']), auditLevelMapping: z .partialRecord(packageAuditLevelSchema, issueSeveritySchema) .default(defaultAuditLevelMapping) .transform(fillAuditLevelMapping) .describe('Mapping of audit levels to issue severity. Custom mapping or overrides may be entered manually, otherwise has a default preset.'), packageJsonPath: packageJsonPathSchema, scoreTargets: pluginScoreTargetsSchema, }); //# sourceMappingURL=config.js.map