npm package diff

Package: @forge/manifest

Versions: 10.8.0 - 11.0.0-next.0

File: package/out/validators/modules-validators/confluence/validateFullPage.js

Index: package/out/validators/modules-validators/confluence/validateFullPage.js
===================================================================
--- package/out/validators/modules-validators/confluence/validateFullPage.js
+++ package/out/validators/modules-validators/confluence/validateFullPage.js
@@ -0,0 +1,36 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.validateFullPage = void 0;
+const types_1 = require("../../../types");
+const text_1 = require("../../../text");
+const utils_1 = require("../../../utils");
+const VALID_ROUTE_PATTERN = new RegExp(/^[a-z0-9\\-]+$/);
+const errorMessages = text_1.errors.modules.confluence.fullPage;
+const mapToFullPageError = (validationErrors, moduleKey) => validationErrors.map((message) => ({ moduleKey, message }));
+const validateRegex = (pattern, moduleKey, index) => {
+    const validationErrors = [];
+    if (!VALID_ROUTE_PATTERN.test(pattern)) {
+        validationErrors.push(errorMessages.invalidRouteRegex(pattern, moduleKey, index));
+    }
+    return validationErrors;
+};
+const validateRoute = (moduleKey, pattern, index) => {
+    const validationErrors = [];
+    validationErrors.push(...validateRegex(pattern, moduleKey, index));
+    return mapToFullPageError(validationErrors, moduleKey);
+};
+const validateFullPage = (modules, yamlContentByLine) => {
+    const validationErrors = [];
+    const moduleType = types_1.AllModuleTypes.ConfluenceFullPage;
+    const fullPageModules = modules[moduleType] || [];
+    fullPageModules.forEach((module, index) => {
+        validationErrors.push(...validateRoute(module.key, module.routePrefix, index).map((error) => ({
+            message: error.message,
+            reference: text_1.References.Modules,
+            level: 'error',
+            ...(0, utils_1.findPosition)(error.moduleKey, yamlContentByLine)
+        })));
+    });
+    return validationErrors;
+};
+exports.validateFullPage = validateFullPage;