UNPKG

properties-gen

Version:

CLI to generate environment properties based on config

59 lines (58 loc) 1.96 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.validateConfigSchema = void 0; var ajv_1 = __importDefault(require("ajv")); var ajv = new ajv_1.default({ allErrors: true }); ajv.addFormat('fileFormat', { type: 'string', validate: function (data) { return /.*\.(js|json)$/.test(data); }, }); var schema = { type: 'object', properties: { configurationGroups: { type: 'array', minItems: 1, uniqueItems: true, items: { type: 'object', properties: { inputFolder: { type: 'string' }, outputFile: { type: 'string', format: 'fileFormat' }, extendsFromBase: { type: 'boolean' }, inputFileNamePattern: { type: 'string', format: 'fileFormat', nullable: true, }, fileBaseName: { type: 'string', nullable: true }, }, required: ['inputFolder', 'outputFile', 'extendsFromBase'], additionalProperties: false, }, }, envTargetKey: { type: 'string', nullable: true }, defaultEnvTargetValue: { type: 'string', nullable: true }, }, required: ['configurationGroups'], additionalProperties: false, }; var validateConfigSchema = function (data) { try { var validate = ajv.compile(schema); return { isValid: validate(data), errors: validate.errors || [], }; } catch (error) { return { isValid: false, errors: [{ message: error, instancePath: '' }], }; } }; exports.validateConfigSchema = validateConfigSchema;