@forge/manifest 12.9.0 → 12.9.1-next.0
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 +9 -0
- package/out/text/errors.d.ts +2 -0
- package/out/text/errors.d.ts.map +1 -1
- package/out/text/errors.js +3 -1
- package/out/validators/modules-validators/bitbucket/index.d.ts.map +1 -1
- package/out/validators/modules-validators/bitbucket/index.js +3 -1
- package/out/validators/modules-validators/bitbucket/validateWorkspacePageProperties.d.ts +4 -0
- package/out/validators/modules-validators/bitbucket/validateWorkspacePageProperties.d.ts.map +1 -0
- package/out/validators/modules-validators/bitbucket/validateWorkspacePageProperties.js +51 -0
- package/out/validators/modules-validators/confluence/index.d.ts.map +1 -1
- package/out/validators/modules-validators/confluence/index.js +3 -4
- package/out/validators/modules-validators/constants.d.ts +3 -0
- package/out/validators/modules-validators/constants.d.ts.map +1 -0
- package/out/validators/modules-validators/constants.js +5 -0
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,14 @@
|
|
|
1
1
|
# @forge/manifest
|
|
2
2
|
|
|
3
|
+
## 12.9.1-next.0
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 814b8fe: add validation rules for bitbucket workspace page modules
|
|
8
|
+
- 55c1371: bump cheerio to ^1.2.0 to pull in a patched undici (>=7.19.0, resolving to a fixed release) and remediate CVE-2026-1525
|
|
9
|
+
NodeJS requirement bumped from 20.0.0 to >=20.18.1
|
|
10
|
+
- 1a461c3: Update manifest definitions
|
|
11
|
+
|
|
3
12
|
## 12.9.0
|
|
4
13
|
|
|
5
14
|
### Minor Changes
|
package/out/text/errors.d.ts
CHANGED
|
@@ -59,6 +59,8 @@ export declare const errors: {
|
|
|
59
59
|
bitbucket: {
|
|
60
60
|
endpointOnlySupportSystemToken: (moduleKey: string, endpointModuleKey: string) => string;
|
|
61
61
|
endpointNeedsRoute: (moduleKey: string, endpointModuleKey: string) => string;
|
|
62
|
+
propertyOnlyAllowedForModule: (property: string, moduleType: string, allowedModuleType: string) => string;
|
|
63
|
+
singleEntryOfModuleWithProperty: (moduleType: string, property: string, moduleKeys: string[]) => string;
|
|
62
64
|
};
|
|
63
65
|
confluence: {
|
|
64
66
|
multipleProperty: (property: string, moduleKey: string, keys: string[]) => string;
|
package/out/text/errors.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/text/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAG1C,eAAO,MAAM,MAAM;8BACS,MAAM,KAAG,MAAM;+BACd,MAAM,EAAE,KAAG,MAAM;2BAIvB,MAAM;yBAEN,MAAM,GAAG,SAAS,QAAQ,MAAM,EAAE,UAAU,MAAM,GAAG,SAAS,KAAG,MAAM;;uBAO3E,MAAM,EAAE,EAAE,GAAG,SAAS,KAAG,MAAM;4BAI1B,MAAM,EAAE,KAAG,MAAM;mCACV,MAAM,SAAS,MAAM,mBAAmB,MAAM,KAAG,MAAM;mDAIvC,MAAM,KAAG,MAAM;4BAEtC,MAAM,EAAE,GAAG,SAAS,KAAG,MAAM;+CAIV,MAAM;6CACR,MAAM,gBAAgB,MAAM;qCAEpC,MAAM;2CACA,MAAM;6CACJ,MAAM;;;qCAGd,MAAM,SAAS,MAAM,KAAG,MAAM;4CAEvB,MAAM,SAAS,MAAM,KAAG,MAAM;0DAEhB,MAAM,YAAY,MAAM,mBAAmB,MAAM,EAAE,KAAG,MAAM;oDAIlE,MAAM,OAAO,MAAM,KAAG,MAAM;kDAE9B,MAAM,OAAO,MAAM,KAAG,MAAM;wCAEtC,MAAM,SAAS,MAAM,EAAE,KAAG,MAAM;0CAI9B,MAAM;2CAEL,MAAM,KAAG,MAAM;0CAEhB,MAAM,SAAS,MAAM,KAAG,MAAM;+CAEzB,MAAM,KAAG,MAAM;wCAEtB,MAAM,KAAG,MAAM;gCAEvB,MAAM,KAAG,MAAM;;;uCAIR,MAAM,KAAG,MAAM;0CACZ,MAAM,KAAG,MAAM;;;gCAGzB,MAAM,KAAG,MAAM;6BACpB,MAAM;+BACJ,MAAM;iCACF,MAAM,KAAG,MAAM;yCACP,MAAM,eAAe,MAAM,KAAG,MAAM;yCAEpC,MAAM,eAAe,MAAM,KAAG,MAAM;wCAErC,MAAM,cAAc,MAAM,KAAG,MAAM;yCAElC,MAAM,eAAe,MAAM,KAAG,MAAM;wCAErC,MAAM,aAAa,MAAM,KAAG,MAAM;oCAEtC,MAAM;6CACG,MAAM,KAAG,MAAM;0EAEc,MAAM,KAAG,MAAM;4DAE7B,MAAM,KAAG,MAAM;6DAEd,MAAM,KAAG,MAAM;;yCAGrC,MAAM,KAAG,MAAM;iCAEvB,MAAM,KAAG,MAAM;4CACJ,MAAM,gBAAgB,MAAM,KAAG,MAAM;sCAE3C,MAAM,gBAAgB,MAAM,gBAAgB,MAAM,KAAG,MAAM;;;wDAIzC,MAAM,qBAAqB,MAAM,KAAG,MAAM;4CAEtD,MAAM,qBAAqB,MAAM,KAAG,MAAM;;;
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/text/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAG1C,eAAO,MAAM,MAAM;8BACS,MAAM,KAAG,MAAM;+BACd,MAAM,EAAE,KAAG,MAAM;2BAIvB,MAAM;yBAEN,MAAM,GAAG,SAAS,QAAQ,MAAM,EAAE,UAAU,MAAM,GAAG,SAAS,KAAG,MAAM;;uBAO3E,MAAM,EAAE,EAAE,GAAG,SAAS,KAAG,MAAM;4BAI1B,MAAM,EAAE,KAAG,MAAM;mCACV,MAAM,SAAS,MAAM,mBAAmB,MAAM,KAAG,MAAM;mDAIvC,MAAM,KAAG,MAAM;4BAEtC,MAAM,EAAE,GAAG,SAAS,KAAG,MAAM;+CAIV,MAAM;6CACR,MAAM,gBAAgB,MAAM;qCAEpC,MAAM;2CACA,MAAM;6CACJ,MAAM;;;qCAGd,MAAM,SAAS,MAAM,KAAG,MAAM;4CAEvB,MAAM,SAAS,MAAM,KAAG,MAAM;0DAEhB,MAAM,YAAY,MAAM,mBAAmB,MAAM,EAAE,KAAG,MAAM;oDAIlE,MAAM,OAAO,MAAM,KAAG,MAAM;kDAE9B,MAAM,OAAO,MAAM,KAAG,MAAM;wCAEtC,MAAM,SAAS,MAAM,EAAE,KAAG,MAAM;0CAI9B,MAAM;2CAEL,MAAM,KAAG,MAAM;0CAEhB,MAAM,SAAS,MAAM,KAAG,MAAM;+CAEzB,MAAM,KAAG,MAAM;wCAEtB,MAAM,KAAG,MAAM;gCAEvB,MAAM,KAAG,MAAM;;;uCAIR,MAAM,KAAG,MAAM;0CACZ,MAAM,KAAG,MAAM;;;gCAGzB,MAAM,KAAG,MAAM;6BACpB,MAAM;+BACJ,MAAM;iCACF,MAAM,KAAG,MAAM;yCACP,MAAM,eAAe,MAAM,KAAG,MAAM;yCAEpC,MAAM,eAAe,MAAM,KAAG,MAAM;wCAErC,MAAM,cAAc,MAAM,KAAG,MAAM;yCAElC,MAAM,eAAe,MAAM,KAAG,MAAM;wCAErC,MAAM,aAAa,MAAM,KAAG,MAAM;oCAEtC,MAAM;6CACG,MAAM,KAAG,MAAM;0EAEc,MAAM,KAAG,MAAM;4DAE7B,MAAM,KAAG,MAAM;6DAEd,MAAM,KAAG,MAAM;;yCAGrC,MAAM,KAAG,MAAM;iCAEvB,MAAM,KAAG,MAAM;4CACJ,MAAM,gBAAgB,MAAM,KAAG,MAAM;sCAE3C,MAAM,gBAAgB,MAAM,gBAAgB,MAAM,KAAG,MAAM;;;wDAIzC,MAAM,qBAAqB,MAAM,KAAG,MAAM;4CAEtD,MAAM,qBAAqB,MAAM,KAAG,MAAM;qDAEjC,MAAM,cAAc,MAAM,qBAAqB,MAAM,KAAG,MAAM;0DAEzD,MAAM,YAAY,MAAM,cAAc,MAAM,EAAE,KAAG,MAAM;;;yCAIxE,MAAM,aAAa,MAAM,QAAQ,MAAM,EAAE,KAAG,MAAM;2CAIhD,MAAM,aAAa,MAAM,QAAQ,MAAM,EAAE,KAAG,MAAM;sDAEvC,MAAM,QAAQ,MAAM,EAAE,KAAG,MAAM;8DAEvB,MAAM,aAAa,MAAM,cAAc,MAAM,KAAG,MAAM;6EAEvC,MAAM,qBAAqB,MAAM,KAAG,MAAM;yEAE9C,MAAM,qBAAqB,MAAM,KAAG,MAAM;;wCAG/E,MAAM;sDACU,MAAM,KAAG,MAAM;iDAEpB,MAAM,KAAG,MAAM;2DAEL,MAAM,KAAG,MAAM;0CAEhC,MAAM,OAAO,MAAM,KAAG,MAAM;yDAEb,MAAM,KAAG,MAAM;uEAED,MAAM,KAAG,MAAM;;;sDAIhC,MAAM,WAAW,MAAM,SAAS,MAAM,KAAG,MAAM;6CAExD,MAAM,KAAG,MAAM;;;6CAIf,MAAM,WAAW,MAAM,SAAS,MAAM,KAAG,MAAM;uCAErD,MAAM,WAAW,MAAM,SAAS,MAAM,KAAG,MAAM;;;;mCAKjD,MAAM,KAAG,MAAM;mCAEf,MAAM,KAAG,MAAM;;;qCAIb,MAAM,KAAG,MAAM;;;0CAIV,MAAM,KAAG,MAAM;;;4CAIb,MAAM,EAAE,KAAG,MAAM;;;6CAIhB,MAAM,SAAS,MAAM,KAAG,MAAM;;;yCAIlC,MAAM,WAAW,MAAM,SAAS,MAAM,KAAG,MAAM;2CAE7C,MAAM,aAAa,MAAM,QAAQ,MAAM,EAAE,KAAG,MAAM;gCAE7D,MAAM,WAAW,MAAM,SAAS,MAAM,KAAG,MAAM;;;sCAIzC,MAAM,KAAG,MAAM;0CAEX,MAAM,KAAG,MAAM;;;wCAIjB,cAAc,OAAO,MAAM,UAAU,MAAM,EAAE,KAAG,MAAM;;;mCAI3D,MAAM,EAAE,KAAG,MAAM;yDAEK,MAAM,KAAG,MAAM;;;4DAIZ,MAAM,KAAG,MAAM;qCAEtC,MAAM,KAAG,MAAM;2CAET,MAAM,KAAG,MAAM;;;oCAGtB,MAAM,KAAG,MAAM;;oCAEjB,MAAM,SAAS,MAAM,KAAG,MAAM;qCAI7B,MAAM,YAAY,MAAM,KAAG,MAAM;;;;;iCAQrC,MAAM,KAAG,MAAM;;;;8DAKc,MAAM;8DAEJ,MAAM,qBAAqB,MAAM,KAAG,MAAM;kDAEtD,MAAM,qBAAqB,MAAM,KAAG,MAAM;;;wDAIpC,MAAM,KAAG,MAAM;yCAE9B,MAAM,KAAG,MAAM;qCACnB,MAAM,KAAG,MAAM;6DACS,MAAM,KAAG,MAAM;;;oDAIxB,MAAM,aAAa,MAAM,KAAG,MAAM;0CAE5C,MAAM,KAAG,MAAM;oDAEL,MAAM,eAAe,MAAM,KAAG,MAAM;wDAEhC,MAAM,eAAe,MAAM,KAAG,MAAM;qCAEvD,MAAM,WAAW,MAAM,KAAG,MAAM;6CAExB,MAAM,KAAG,MAAM;0CAElB,MAAM,gBAAgB,MAAM,KAAG,MAAM;gDAE/B,MAAM,gBAAgB,MAAM,KAAG,MAAM;kDAEnC,MAAM,eAAe,MAAM,KAAG,MAAM;yCAE7C,MAAM,QAAQ,MAAM,KAAG,MAAM;mCAEnC,MAAM,WAAW,MAAM,KAAG,MAAM;;;yCAI1B,MAAM,KAAG,MAAM;8CAEV,MAAM,KAAG,MAAM;yDAEJ,MAAM,aAAa,MAAM,KAAG,MAAM;;;sDAIrC,MAAM;oDAER,MAAM,SAAS,MAAM;wCAEjC,MAAM;;;6CAGD,MAAM,YAAY,MAAM,KAAG,MAAM;;;kCAI5C,MAAM,KAAG,MAAM;qCAEd,MAAM;iCACV,MAAM;;;gCAGL,MAAM,WAAW,MAAM,SAAS,MAAM,KAAG,MAAM;0CAErC,MAAM,SAAS,MAAM,KAAG,MAAM;yCAEjC,MAAM;;;;kCAIT,MAAM,OAAO,MAAM,KAAG,MAAM;iCAE7B,MAAM,KAAG,MAAM;iCACf,MAAM,OAAO,MAAM,KAAG,MAAM;oCAEzB,MAAM,OAAO,MAAM,KAAG,MAAM;gDAEhB,MAAM,KAAG,MAAM;uCAExB,MAAM,KAAG,MAAM;+BACvB,MAAM,OAAO,MAAM,KAAG,MAAM;uCAEpB,MAAM,OAAO,MAAM,KAAG,MAAM;uCAE5B,MAAM,YAAY,MAAM,OAAO,MAAM,KAAG,MAAM;sCAE/C,MAAM,OAAO,MAAM,KAAG,MAAM;wCAE1B,MAAM,OAAO,MAAM,KAAG,MAAM;kDAElB,MAAM,OAAO,MAAM,KAAG,MAAM;+CAE/B,MAAM,OAAO,MAAM,KAAG,MAAM;6CAE9B,MAAM,YAAY,MAAM,aAAa,MAAM,KAAG,MAAM;4CAErD,MAAM,KAAG,MAAM;4DAEC,MAAM,YAAY,MAAM,aAAa,MAAM,KAAG,MAAM;yDAEvD,MAAM,YAAY,MAAM,aAAa,MAAM,KAAG,MAAM;;;;;;;;kCAS3E,MAAM,UAAU,MAAM,KAAG,MAAM;gCAEjC,MAAM,KAAG,MAAM;2CAEJ,MAAM,eAAe,MAAM,KAAG,MAAM;kCAE7C,MAAM,UAAU,MAAM,KAAG,MAAM;0CAEvB,MAAM,UAAU,MAAM,KAAG,MAAM;;;uCAIpC,MAAM;uCAEJ,MAAM,KAAG,MAAM;qCAEnB,MAAM;2CAEA,MAAM;sDACK,MAAM;;6CAGjB,MAAM;;;mDAIE,MAAM,KAAG,MAAM;iDAEnB,MAAM;;;;4CAKX,MAAM,SAAS,MAAM,KAAG,MAAM;4CAE9B,MAAM,KAAG,MAAM;4CACf,MAAM,SAAS,MAAM,KAAG,MAAM;+CAE3B,MAAM,aAAa,MAAM,SAAS,MAAM,KAAG,MAAM;yCAEvD,MAAM,SAAS,MAAM,KAAG,MAAM;4CAE3B,MAAM,SAAS,MAAM,KAAG,MAAM;gDAE1B,MAAM,aAAa,MAAM,KAAG,MAAM;4CAEtC,MAAM,SAAS,MAAM,KAAG,MAAM;;;;;gCAM1C,MAAM;;;;;;;;;;0DAawB,wBAAwB,KAAG,MAAM;sDAErC,wBAAwB,KAAG,MAAM;kDAErC,wBAAwB,QAAQ,MAAM,KAAG,MAAM;mDAE9C,wBAAwB,KAAG,MAAM;mCAEjD,MAAM,KAAG,MAAM;;oDAEE,MAAM,aAAa,MAAM,KAAG,MAAM;4CAE1C,MAAM,sBAAsB,wBAAwB,YAAY,MAAM;;;;mCAKjF,MAAM;;;CAQlC,CAAC;AAEF,oBAAY,UAAU;IACpB,eAAe,2BAA2B;IAC1C,eAAe,wBAAwB;IACvC,WAAW,4BAA4B;IACvC,WAAW,+BAA+B;IAC1C,aAAa,8BAA8B;IAC3C,OAAO,0BAA0B;IACjC,cAAc,kCAAkC;IAChD,SAAS,4BAA4B;IACrC,SAAS,4BAA4B;IACrC,UAAU,wBAAwB;IAClC,GAAG,8BAA8B;CAClC"}
|
package/out/text/errors.js
CHANGED
|
@@ -72,7 +72,9 @@ exports.errors = {
|
|
|
72
72
|
},
|
|
73
73
|
bitbucket: {
|
|
74
74
|
endpointOnlySupportSystemToken: (moduleKey, endpointModuleKey) => `Bitbucket module: '${moduleKey}' using remote endpoint: '${endpointModuleKey}' only supports appSystemToken. Update appUserToken to false.`,
|
|
75
|
-
endpointNeedsRoute: (moduleKey, endpointModuleKey) => `Bitbucket module: '${moduleKey}' using remote endpoint: '${endpointModuleKey}' requires 'route' parameter
|
|
75
|
+
endpointNeedsRoute: (moduleKey, endpointModuleKey) => `Bitbucket module: '${moduleKey}' using remote endpoint: '${endpointModuleKey}' requires 'route' parameter.`,
|
|
76
|
+
propertyOnlyAllowedForModule: (property, moduleType, allowedModuleType) => `Bitbucket module: '${moduleType}' does not support '${property}'. '${property}' is only allowed on '${allowedModuleType}'.`,
|
|
77
|
+
singleEntryOfModuleWithProperty: (moduleType, property, moduleKeys) => `Only one '${moduleType}' module can set '${property}' to true. Modules with '${property}' set to true: ${moduleKeys.join(', ')}.`
|
|
76
78
|
},
|
|
77
79
|
confluence: {
|
|
78
80
|
multipleProperty: (property, moduleKey, keys) => `There can be only 1 ${moduleKey} module which designates "${property}": true. Modules containing designation: ${keys.join(', ')}`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/validators/modules-validators/bitbucket/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/validators/modules-validators/bitbucket/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAKjD,eAAO,MAAM,wBAAwB,YAAa,OAAO,sBAAsB,MAAM,EAAE,KAAG,eAAe,EAMxG,CAAC"}
|
|
@@ -3,10 +3,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.validateBitbucketModules = void 0;
|
|
4
4
|
const validateBackendModuleEndpoints_1 = require("./validateBackendModuleEndpoints");
|
|
5
5
|
const validateFileViewerRegexPatterns_1 = require("./validateFileViewerRegexPatterns");
|
|
6
|
+
const validateWorkspacePageProperties_1 = require("./validateWorkspacePageProperties");
|
|
6
7
|
const validateBitbucketModules = (modules, yamlContentByLine) => {
|
|
7
8
|
return [
|
|
8
9
|
...(0, validateBackendModuleEndpoints_1.validateBackendModuleEndpoints)(modules, yamlContentByLine),
|
|
9
|
-
...(0, validateFileViewerRegexPatterns_1.validateFileViewerRegexPatterns)(modules, yamlContentByLine)
|
|
10
|
+
...(0, validateFileViewerRegexPatterns_1.validateFileViewerRegexPatterns)(modules, yamlContentByLine),
|
|
11
|
+
...(0, validateWorkspacePageProperties_1.validateWorkspacePageProperties)(modules, yamlContentByLine)
|
|
10
12
|
];
|
|
11
13
|
};
|
|
12
14
|
exports.validateBitbucketModules = validateBitbucketModules;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { Modules } from '../../../schema/manifest';
|
|
2
|
+
import { ValidationError } from '../../../types';
|
|
3
|
+
export declare const validateWorkspacePageProperties: (modules: Modules, yamlContentByLine?: string[]) => ValidationError[];
|
|
4
|
+
//# sourceMappingURL=validateWorkspacePageProperties.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validateWorkspacePageProperties.d.ts","sourceRoot":"","sources":["../../../../src/validators/modules-validators/bitbucket/validateWorkspacePageProperties.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAEnD,OAAO,EAAkB,eAAe,EAAE,MAAM,gBAAgB,CAAC;AA2DjE,eAAO,MAAM,+BAA+B,YAAa,OAAO,sBAAsB,MAAM,EAAE,KAAG,eAAe,EA2B/G,CAAC"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.validateWorkspacePageProperties = void 0;
|
|
4
|
+
const text_1 = require("../../../text");
|
|
5
|
+
const types_1 = require("../../../types");
|
|
6
|
+
const utils_1 = require("../../../utils");
|
|
7
|
+
const constants_1 = require("../constants");
|
|
8
|
+
const BITBUCKET_MODULE_TYPES = Object.values(types_1.AllModuleTypes).filter((moduleType) => moduleType.startsWith('bitbucket:'));
|
|
9
|
+
const hasProperty = (module, property) => {
|
|
10
|
+
return typeof module === 'object' && module !== null && Object.prototype.hasOwnProperty.call(module, property);
|
|
11
|
+
};
|
|
12
|
+
const validateSingleAllowedProperty = (modules, moduleType, property, yamlContentByLine) => {
|
|
13
|
+
const modulesWithPropertySetToTrue = (modules[moduleType] || []).filter((module) => module[property]);
|
|
14
|
+
if (modulesWithPropertySetToTrue.length <= 1) {
|
|
15
|
+
return [];
|
|
16
|
+
}
|
|
17
|
+
const moduleKeys = modulesWithPropertySetToTrue.map((module) => module.key);
|
|
18
|
+
return modulesWithPropertySetToTrue.map((module) => {
|
|
19
|
+
return {
|
|
20
|
+
message: text_1.errors.modules.bitbucket.singleEntryOfModuleWithProperty(moduleType, property, moduleKeys),
|
|
21
|
+
reference: text_1.References.Modules,
|
|
22
|
+
level: 'error',
|
|
23
|
+
...(0, utils_1.findPosition)(module.key, yamlContentByLine)
|
|
24
|
+
};
|
|
25
|
+
});
|
|
26
|
+
};
|
|
27
|
+
const validatePropertyNotAllowedForModules = (modules, property, allowedModuleType, yamlContentByLine) => {
|
|
28
|
+
const validationErrors = [];
|
|
29
|
+
BITBUCKET_MODULE_TYPES.filter((moduleType) => moduleType !== allowedModuleType).forEach((moduleType) => {
|
|
30
|
+
(modules[moduleType] || [])
|
|
31
|
+
.filter((module) => hasProperty(module, property))
|
|
32
|
+
.forEach((module) => {
|
|
33
|
+
validationErrors.push({
|
|
34
|
+
message: text_1.errors.modules.bitbucket.propertyOnlyAllowedForModule(property, moduleType, allowedModuleType),
|
|
35
|
+
reference: text_1.References.Modules,
|
|
36
|
+
level: 'error',
|
|
37
|
+
...(0, utils_1.findPosition)(module.key, yamlContentByLine)
|
|
38
|
+
});
|
|
39
|
+
});
|
|
40
|
+
});
|
|
41
|
+
return validationErrors;
|
|
42
|
+
};
|
|
43
|
+
const validateWorkspacePageProperties = (modules, yamlContentByLine) => {
|
|
44
|
+
return [
|
|
45
|
+
...validateSingleAllowedProperty(modules, types_1.AllModuleTypes.BitbucketWorkspaceSettingsMenuPage, constants_1.USE_AS_CONFIG, yamlContentByLine),
|
|
46
|
+
...validateSingleAllowedProperty(modules, types_1.AllModuleTypes.BitbucketWorkspaceGlobalPage, constants_1.USE_AS_GET_STARTED, yamlContentByLine),
|
|
47
|
+
...validatePropertyNotAllowedForModules(modules, constants_1.USE_AS_CONFIG, types_1.AllModuleTypes.BitbucketWorkspaceSettingsMenuPage, yamlContentByLine),
|
|
48
|
+
...validatePropertyNotAllowedForModules(modules, constants_1.USE_AS_GET_STARTED, types_1.AllModuleTypes.BitbucketWorkspaceGlobalPage, yamlContentByLine)
|
|
49
|
+
];
|
|
50
|
+
};
|
|
51
|
+
exports.validateWorkspacePageProperties = validateWorkspacePageProperties;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/validators/modules-validators/confluence/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AACnD,OAAO,EAAkB,eAAe,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/validators/modules-validators/confluence/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AACnD,OAAO,EAAkB,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAcjE,eAAO,MAAM,yBAAyB,YAAa,OAAO,sBAAsB,MAAM,EAAE,KAAG,eAAe,EAwCzG,CAAC"}
|
|
@@ -9,10 +9,9 @@ const validateCrossModulePropertyUniqueness_1 = require("./validateCrossModulePr
|
|
|
9
9
|
const validateCustomContentHierarchy_1 = require("./validateCustomContentHierarchy");
|
|
10
10
|
const validateMacroAutoConvert_1 = require("./validateMacroAutoConvert");
|
|
11
11
|
const validateFullPage_1 = require("./validateFullPage");
|
|
12
|
+
const constants_1 = require("../constants");
|
|
12
13
|
const ROUTE = 'route';
|
|
13
14
|
const ROUTE_FULL_PAGE = 'routePrefix';
|
|
14
|
-
const USE_AS_CONFIG = 'useAsConfig';
|
|
15
|
-
const USE_AS_GET_STARTED = 'useAsGetStarted';
|
|
16
15
|
const KEYBOARD_SHORTCUT_ACCELERATOR = 'keyboardShortcut.accelerator';
|
|
17
16
|
const validateConfluenceModules = (modules, yamlContentByLine) => {
|
|
18
17
|
const validationErrors = [];
|
|
@@ -27,8 +26,8 @@ const validateConfluenceModules = (modules, yamlContentByLine) => {
|
|
|
27
26
|
[types_1.AllModuleTypes.ConfluenceFullPage].forEach((moduleType) => {
|
|
28
27
|
validationErrors.push(...(0, validatePropertyUniqueness_1.validatePropertyUniqueness)(modules, moduleType, ROUTE_FULL_PAGE, yamlContentByLine));
|
|
29
28
|
});
|
|
30
|
-
validationErrors.push(...(0, validateSingleProperty_1.validateSingleProperty)(modules, types_1.AllModuleTypes.ConfluenceGlobalSettings, USE_AS_CONFIG, yamlContentByLine));
|
|
31
|
-
validationErrors.push(...(0, validateSingleProperty_1.validateSingleProperty)(modules, types_1.AllModuleTypes.ConfluenceGlobalSettings, USE_AS_GET_STARTED, yamlContentByLine));
|
|
29
|
+
validationErrors.push(...(0, validateSingleProperty_1.validateSingleProperty)(modules, types_1.AllModuleTypes.ConfluenceGlobalSettings, constants_1.USE_AS_CONFIG, yamlContentByLine));
|
|
30
|
+
validationErrors.push(...(0, validateSingleProperty_1.validateSingleProperty)(modules, types_1.AllModuleTypes.ConfluenceGlobalSettings, constants_1.USE_AS_GET_STARTED, yamlContentByLine));
|
|
32
31
|
validationErrors.push(...(0, validateCustomContentHierarchy_1.validateCustomContentHierarchy)(modules, types_1.AllModuleTypes.ConfluenceCustomContent, yamlContentByLine));
|
|
33
32
|
validationErrors.push(...(0, validateCrossModulePropertyUniqueness_1.validateCrossModulePropertyUniqueness)(modules, KEYBOARD_SHORTCUT_ACCELERATOR, yamlContentByLine), ...(0, validateKeyboardShortcuts_1.validateKeyboardShortcuts)(modules, yamlContentByLine));
|
|
34
33
|
validationErrors.push(...(0, validateMacroAutoConvert_1.validateMacroAutoConvert)(modules, yamlContentByLine));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/validators/modules-validators/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa,gBAAgB,CAAC;AAC3C,eAAO,MAAM,kBAAkB,oBAAoB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@forge/manifest",
|
|
3
|
-
"version": "12.9.0",
|
|
3
|
+
"version": "12.9.1-next.0",
|
|
4
4
|
"description": "Definitions and validations of the Forge manifest",
|
|
5
5
|
"main": "out/index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
"@sentry/node": "7.106.0",
|
|
29
29
|
"ajv": "^8.18.0",
|
|
30
30
|
"ajv-formats": "2.1.1",
|
|
31
|
-
"cheerio": "^1.
|
|
31
|
+
"cheerio": "^1.2.0",
|
|
32
32
|
"glob": "^13.0.0",
|
|
33
33
|
"lodash": "^4.17.21",
|
|
34
34
|
"mime-types": "^2.1.35",
|