sonarqube-issues-exporter
Version:
Enterprise-level SonarQube issues exporter with TypeScript support for generating comprehensive HTML reports with dark theme
42 lines • 1.62 kB
JavaScript
"use strict";
/**
* @fileoverview Configuration type definitions for the SonarQube Issues Exporter
*
* This module contains all TypeScript interfaces and types related to application
* configuration, including validation schemas and configuration options.
*
* @author SonarQube Issues Exporter Team
* @version 2.0.0
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.ConfigSchema = void 0;
const zod_1 = require("zod");
/**
* Zod validation schema for the application configuration
*
* @const ConfigSchema
* @description Validates the complete application configuration structure
*/
exports.ConfigSchema = zod_1.z.object({
sonarqube: zod_1.z.object({
url: zod_1.z.string().url('Invalid SonarQube URL'),
token: zod_1.z.string().min(1, 'SonarQube token is required'),
projectKey: zod_1.z.string().min(1, 'Project key is required'),
organization: zod_1.z.string().optional(),
}),
export: zod_1.z.object({
outputPath: zod_1.z.string().default('./reports'),
filename: zod_1.z.string().default('sonarqube-issues-report.html'),
excludeStatuses: zod_1.z.array(zod_1.z.string()).default(['CLOSED']),
includeResolvedIssues: zod_1.z.boolean().default(false),
maxIssues: zod_1.z.number().positive().default(10000),
template: zod_1.z.string().default('default'),
}),
logging: zod_1.z
.object({
level: zod_1.z.enum(['error', 'warn', 'info', 'debug']).default('info'),
file: zod_1.z.string().optional(),
})
.default({}),
});
//# sourceMappingURL=config.js.map