@forge/manifest 12.0.0-next.4 → 12.0.0-next.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # @forge/manifest
2
2
 
3
+ ## 12.0.0-next.5
4
+
5
+ ### Minor Changes
6
+
7
+ - ea28254: Added linting for icon
8
+
3
9
  ## 12.0.0-next.4
4
10
 
5
11
  ### Patch Changes
@@ -78,6 +78,7 @@ export declare const errors: {
78
78
  };
79
79
  fullPage: {
80
80
  invalidRouteRegex: (pattern: string, keyName: string, index: number) => string;
81
+ invalidIcon: (pattern: string, keyName: string, index: number) => string;
81
82
  };
82
83
  };
83
84
  jiraWorkflowValidator: {
@@ -101,6 +102,7 @@ export declare const errors: {
101
102
  jiraFullPageModule: {
102
103
  invalidRouteRegex: (pattern: string, keyName: string, index: number) => string;
103
104
  propertyUniqueness: (property: string, moduleKey: string, keys: string[]) => string;
105
+ invalidIcon: (icon: string, keyName: string, index: number) => string;
104
106
  };
105
107
  moduleScopesValidator: {
106
108
  missingScopes: (moduleType: AllModuleTypes, key: string, scopes: string[]) => string;
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/text/errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/text/errors.ts"],"names":[],"mappings":"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"}
@@ -89,7 +89,8 @@ exports.errors = {
89
89
  emptyMatcherArray: (keyName) => `Macro autoConvert matchers array for key '${keyName}' must not be empty array.`
90
90
  },
91
91
  fullPage: {
92
- invalidRouteRegex: (pattern, keyName, index) => `The routePrefix '${pattern}' at index '${index}' for key '${keyName}' needs to be in a valid URL route between 1-255 characters and contain only URL safe characters such as: a-z, 0-9 and '\' and '-'.`
92
+ invalidRouteRegex: (pattern, keyName, index) => `The routePrefix '${pattern}' at index '${index}' for key '${keyName}' needs to be in a valid URL route between 1-255 characters and contain only URL safe characters such as: a-z, 0-9 and '\' and '-'.`,
93
+ invalidIcon: (pattern, keyName, index) => `The icon '${pattern}' at index '${index}' for key '${keyName}' needs to be a defined resource of file type svg.`
93
94
  }
94
95
  },
95
96
  jiraWorkflowValidator: {
@@ -112,7 +113,8 @@ exports.errors = {
112
113
  },
113
114
  jiraFullPageModule: {
114
115
  invalidRouteRegex: (pattern, keyName, index) => `The routePrefix '${pattern}' at index '${index}' for key '${keyName}' needs to be in a valid URL route between 1-255 characters and contain only URL safe characters such as: a-z, 0-9 and '\' and '-'.`,
115
- propertyUniqueness: (property, moduleKey, keys) => `${property} should be unique across all ${moduleKey} modules. Found duplicates: ${keys.join(', ')}`
116
+ propertyUniqueness: (property, moduleKey, keys) => `${property} should be unique across all ${moduleKey} modules. Found duplicates: ${keys.join(', ')}`,
117
+ invalidIcon: (icon, keyName, index) => `The icon '${icon}' at index '${index}' for key '${keyName}' needs to be a defined resource of file type svg.`
116
118
  },
117
119
  moduleScopesValidator: {
118
120
  missingScopes: (moduleType, key, scopes) => `${moduleType} module '${key}' requires '${scopes.join(', ')}' scope(s).`
@@ -0,0 +1,7 @@
1
+ export declare type FullPageError = {
2
+ moduleKey: string;
3
+ message: string;
4
+ };
5
+ export declare const validateRoute: (moduleKey: string, pattern: string, index: number, errorMessages: any) => FullPageError[];
6
+ export declare const validateIcon: (moduleKey: string, icon: string, index: number, errorMessages: any) => FullPageError[];
7
+ //# sourceMappingURL=validateGlobalModules.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validateGlobalModules.d.ts","sourceRoot":"","sources":["../../../src/utils/global/validateGlobalModules.ts"],"names":[],"mappings":"AACA,oBAAY,aAAa,GAAG;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAgCF,eAAO,MAAM,aAAa,cACb,MAAM,WACR,MAAM,SACR,MAAM,iBACE,GAAG,KACjB,aAAa,EAMf,CAAC;AAEF,eAAO,MAAM,YAAY,cAAe,MAAM,QAAQ,MAAM,SAAS,MAAM,iBAAiB,GAAG,KAAG,aAAa,EAM9G,CAAC"}
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validateIcon = exports.validateRoute = void 0;
4
+ const VALID_ROUTE_PATTERN = new RegExp(/^[a-z0-9\\-]+$/);
5
+ const mapToFullPageError = (validationErrors, moduleKey) => validationErrors.map((message) => ({ moduleKey, message }));
6
+ const validateRegex = (pattern, moduleKey, index, errorMessages) => {
7
+ const validationErrors = [];
8
+ if (!VALID_ROUTE_PATTERN.test(pattern)) {
9
+ validationErrors.push(errorMessages.invalidRouteRegex(pattern, moduleKey, index));
10
+ }
11
+ return validationErrors;
12
+ };
13
+ const iconCheck = (icon, moduleKey, index, errorMessages) => {
14
+ const validationErrors = [];
15
+ if (!icon.startsWith('resource:') || !icon.endsWith('.svg')) {
16
+ validationErrors.push(errorMessages.invalidIcon(icon, moduleKey, index));
17
+ }
18
+ return validationErrors;
19
+ };
20
+ const validateRoute = (moduleKey, pattern, index, errorMessages) => {
21
+ const validationErrors = [];
22
+ validationErrors.push(...validateRegex(pattern, moduleKey, index, errorMessages));
23
+ return mapToFullPageError(validationErrors, moduleKey);
24
+ };
25
+ exports.validateRoute = validateRoute;
26
+ const validateIcon = (moduleKey, icon, index, errorMessages) => {
27
+ const validationErrors = [];
28
+ validationErrors.push(...iconCheck(icon, moduleKey, index, errorMessages));
29
+ return mapToFullPageError(validationErrors, moduleKey);
30
+ };
31
+ exports.validateIcon = validateIcon;
@@ -1 +1 @@
1
- {"version":3,"file":"validateFullPage.d.ts","sourceRoot":"","sources":["../../../../src/validators/modules-validators/confluence/validateFullPage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAGjE,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAuDnD,eAAO,MAAM,gBAAgB,YAAa,OAAO,sBAAsB,MAAM,EAAE,KAAG,eAAe,EAqBhG,CAAC"}
1
+ {"version":3,"file":"validateFullPage.d.ts","sourceRoot":"","sources":["../../../../src/validators/modules-validators/confluence/validateFullPage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAGjE,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAyBnD,eAAO,MAAM,gBAAgB,YAAa,OAAO,sBAAsB,MAAM,EAAE,KAAG,eAAe,EAgChG,CAAC"}
@@ -4,32 +4,26 @@ exports.validateFullPage = void 0;
4
4
  const types_1 = require("../../../types");
5
5
  const text_1 = require("../../../text");
6
6
  const utils_1 = require("../../../utils");
7
- const VALID_ROUTE_PATTERN = new RegExp(/^[a-z0-9\\-]+$/);
7
+ const validateGlobalModules_1 = require("../../../utils/global/validateGlobalModules");
8
8
  const errorMessages = text_1.errors.modules.confluence.fullPage;
9
- const mapToFullPageError = (validationErrors, moduleKey) => validationErrors.map((message) => ({ moduleKey, message }));
10
- const validateRegex = (pattern, moduleKey, index) => {
11
- const validationErrors = [];
12
- if (!VALID_ROUTE_PATTERN.test(pattern)) {
13
- validationErrors.push(errorMessages.invalidRouteRegex(pattern, moduleKey, index));
14
- }
15
- return validationErrors;
16
- };
17
- const validateRoute = (moduleKey, pattern, index) => {
18
- const validationErrors = [];
19
- validationErrors.push(...validateRegex(pattern, moduleKey, index));
20
- return mapToFullPageError(validationErrors, moduleKey);
21
- };
22
9
  const validateFullPage = (modules, yamlContentByLine) => {
23
10
  const validationErrors = [];
24
11
  const moduleType = types_1.AllModuleTypes.ConfluenceFullPage;
25
12
  const fullPageModules = modules[moduleType] || [];
26
13
  fullPageModules.forEach((module, index) => {
27
- validationErrors.push(...validateRoute(module.key, module.routePrefix, index).map((error) => ({
14
+ validationErrors.push(...(0, validateGlobalModules_1.validateRoute)(module.key, module.routePrefix, index, errorMessages).map((error) => ({
28
15
  message: error.message,
29
16
  reference: text_1.References.Modules,
30
17
  level: 'error',
31
18
  ...(0, utils_1.findPosition)(error.moduleKey, yamlContentByLine)
32
- })));
19
+ })), ...(module.icon
20
+ ? (0, validateGlobalModules_1.validateIcon)(module.key, module.icon, index, errorMessages).map((error) => ({
21
+ message: error.message,
22
+ reference: text_1.References.Modules,
23
+ level: 'error',
24
+ ...(0, utils_1.findPosition)(error.moduleKey, yamlContentByLine)
25
+ }))
26
+ : []));
33
27
  });
34
28
  return validationErrors;
35
29
  };
@@ -1 +1 @@
1
- {"version":3,"file":"validate-full-page-module.d.ts","sourceRoot":"","sources":["../../../../src/validators/modules-validators/jira/validate-full-page-module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAGjE,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAoFnD,eAAO,MAAM,0BAA0B,YAAa,OAAO,sBAAsB,MAAM,EAAE,KAAG,eAAe,EA4B1G,CAAC"}
1
+ {"version":3,"file":"validate-full-page-module.d.ts","sourceRoot":"","sources":["../../../../src/validators/modules-validators/jira/validate-full-page-module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAGjE,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAsDnD,eAAO,MAAM,0BAA0B,YAAa,OAAO,sBAAsB,MAAM,EAAE,KAAG,eAAe,EAuC1G,CAAC"}
@@ -4,22 +4,9 @@ exports.validateJiraFullPageModule = void 0;
4
4
  const types_1 = require("../../../types");
5
5
  const text_1 = require("../../../text");
6
6
  const utils_1 = require("../../../utils");
7
- const VALID_ROUTE_PATTERN = new RegExp(/^[a-z0-9\\-]+$/);
7
+ const validateGlobalModules_1 = require("../../../utils/global/validateGlobalModules");
8
8
  const ROUTE_FULL_PAGE = 'routePrefix';
9
9
  const errorMessages = text_1.errors.modules.jiraFullPageModule;
10
- const mapToFullPageError = (validationErrors, moduleKey) => validationErrors.map((message) => ({ moduleKey, message }));
11
- const validateRegex = (pattern, moduleKey, index) => {
12
- const validationErrors = [];
13
- if (!VALID_ROUTE_PATTERN.test(pattern)) {
14
- validationErrors.push(errorMessages.invalidRouteRegex(pattern, moduleKey, index));
15
- }
16
- return validationErrors;
17
- };
18
- const validateRoute = (moduleKey, pattern, index) => {
19
- const validationErrors = [];
20
- validationErrors.push(...validateRegex(pattern, moduleKey, index));
21
- return mapToFullPageError(validationErrors, moduleKey);
22
- };
23
10
  const validatePropertyUniqueness = (allModules, moduleType, property, yamlContentByLine) => {
24
11
  const validationErrors = [];
25
12
  const modules = allModules[moduleType] || [];
@@ -28,7 +15,7 @@ const validatePropertyUniqueness = (allModules, moduleType, property, yamlConten
28
15
  if (duplicatePropertyValues.length > 0) {
29
16
  const allModulesWithDuplicatedPropertyValues = modules.filter((module) => module[property] === duplicatePropertyValues[0]);
30
17
  validationErrors.push({
31
- message: text_1.errors.modules.jiraFullPageModule.propertyUniqueness(property, moduleType, duplicatePropertyValues),
18
+ message: errorMessages.propertyUniqueness(property, moduleType, duplicatePropertyValues),
32
19
  reference: text_1.References.Modules,
33
20
  level: 'error',
34
21
  ...(0, utils_1.findPosition)(allModulesWithDuplicatedPropertyValues?.[0]?.key, yamlContentByLine)
@@ -45,12 +32,19 @@ const validateJiraFullPageModule = (modules, yamlContentByLine) => {
45
32
  return validationErrors;
46
33
  }
47
34
  fullPageModules.forEach((module, index) => {
48
- validationErrors.push(...validateRoute(module.key, module.routePrefix, index).map((error) => ({
35
+ validationErrors.push(...(0, validateGlobalModules_1.validateRoute)(module.key, module.routePrefix, index, errorMessages).map((error) => ({
49
36
  message: error.message,
50
37
  reference: text_1.References.Modules,
51
38
  level: 'error',
52
39
  ...(0, utils_1.findPosition)(error.moduleKey, yamlContentByLine)
53
- })));
40
+ })), ...(module.icon
41
+ ? (0, validateGlobalModules_1.validateIcon)(module.key, module.icon, index, errorMessages).map((error) => ({
42
+ message: error.message,
43
+ reference: text_1.References.Modules,
44
+ level: 'error',
45
+ ...(0, utils_1.findPosition)(error.moduleKey, yamlContentByLine)
46
+ }))
47
+ : []));
54
48
  });
55
49
  return validationErrors;
56
50
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@forge/manifest",
3
- "version": "12.0.0-next.4",
3
+ "version": "12.0.0-next.5",
4
4
  "description": "Definitions and validations of the Forge manifest",
5
5
  "main": "out/index.js",
6
6
  "scripts": {