@forge/manifest
12.6.0-next.112.6.0-next.2
out/validators/modules-validators/jira/validate-action-validator.js~
out/validators/modules-validators/jira/validate-action-validator.jsModified+1−43
Index: package/out/validators/modules-validators/jira/validate-action-validator.js
===================================================================
--- package/out/validators/modules-validators/jira/validate-action-validator.js
+++ package/out/validators/modules-validators/jira/validate-action-validator.js
@@ -3,27 +3,15 @@
exports.validateJiraActionValidator = void 0;
const text_1 = require("../../../text");
const utils_1 = require("../../../utils");
const module_types_1 = require("../../../types/module-types");
-const PAGE_MODULE_TYPES = [
- module_types_1.AllModuleTypes.JiraAdminPage,
- module_types_1.AllModuleTypes.JiraProjectPage,
- module_types_1.AllModuleTypes.JiraProjectSettingsPage,
- module_types_1.AllModuleTypes.JiraGlobalPage,
- module_types_1.AllModuleTypes.JiraPersonalSettingsPage
-];
const MAX_JIRA_ACTION_VALIDATORS = 1;
-const MAX_ALLOWED_MODULES = MAX_JIRA_ACTION_VALIDATORS + 1;
function validateJiraActionValidator(modules, yamlContentByLine) {
const actionValidatorModules = getActionValidatorModules(modules);
if (actionValidatorModules.length === 0) {
return [];
}
- return [
- ...validateUniqueActionTypes(actionValidatorModules, yamlContentByLine),
- ...validateCompatibleModules(modules, actionValidatorModules, yamlContentByLine),
- ...validateModuleLimit(modules, actionValidatorModules, yamlContentByLine)
- ];
+ return [...validateUniqueActionTypes(actionValidatorModules, yamlContentByLine)];
}
exports.validateJiraActionValidator = validateJiraActionValidator;
function getActionValidatorModules(modules) {
const actionValidators = modules[module_types_1.AllModuleTypes.JiraActionValidator];
@@ -51,34 +39,4 @@
return Array.from(actionTypeGroups.entries())
.filter(([, modules]) => modules.length > MAX_JIRA_ACTION_VALIDATORS)
.flatMap(([actionType, modules]) => modules.map((module) => createValidationError(text_1.errors.modules.jiraActionValidator.limitPerActionType(actionType, MAX_JIRA_ACTION_VALIDATORS), module.key, yamlContentByLine)));
}
-function validateCompatibleModules(modules, actionValidatorModules, yamlContentByLine) {
- const incompatibleModules = getIncompatibleModules(modules);
- if (incompatibleModules.length === 0) {
- return [];
- }
- return actionValidatorModules.map((module) => createValidationError(text_1.errors.modules.jiraActionValidator.incompatibleModules(incompatibleModules), module.key, yamlContentByLine));
-}
-function getIncompatibleModules(modules) {
- const moduleTypes = Object.keys(modules);
- const otherModules = moduleTypes.filter((type) => type !== module_types_1.AllModuleTypes.JiraActionValidator);
- return otherModules.filter((moduleType) => {
- const isPageModule = PAGE_MODULE_TYPES.includes(moduleType);
- const isCoreFunction = moduleType === module_types_1.AllModuleTypes.CoreFunction;
- return !isPageModule && !isCoreFunction;
- });
-}
-function validateModuleLimit(modules, actionValidatorModules, yamlContentByLine) {
- const nonCoreModuleCount = getNonCoreModuleCount(modules);
- if (nonCoreModuleCount <= MAX_ALLOWED_MODULES) {
- return [];
- }
- return actionValidatorModules.map((module) => createValidationError(text_1.errors.modules.jiraActionValidator.tooManyModules(nonCoreModuleCount, MAX_JIRA_ACTION_VALIDATORS), module.key, yamlContentByLine));
-}
-function getNonCoreModuleCount(modules) {
- return Object.entries(modules)
- .filter(([moduleType]) => !moduleType.startsWith('core:'))
- .reduce((total, [, moduleArray]) => {
- return total + (Array.isArray(moduleArray) ? moduleArray.length : 0);
- }, 0);
-}