@forge/manifest 13.3.0-next.7-experimental-4b981ef → 13.3.0-next.9
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 +6 -10
- package/out/schema/manifest-schema.json +1 -1
- package/out/schema/manifest.d.ts +1 -1
- package/out/utils/get-handlers-directory.d.ts +4 -0
- package/out/utils/get-handlers-directory.d.ts.map +1 -0
- package/out/utils/get-handlers-directory.js +11 -0
- package/out/utils/index.d.ts +1 -0
- package/out/utils/index.d.ts.map +1 -1
- package/out/utils/index.js +1 -0
- package/out/validators/modules-validator.d.ts.map +1 -1
- package/out/validators/modules-validator.js +3 -5
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,20 +1,16 @@
|
|
|
1
1
|
# @forge/manifest
|
|
2
2
|
|
|
3
|
-
## 13.3.0-next.
|
|
3
|
+
## 13.3.0-next.9
|
|
4
4
|
|
|
5
|
-
###
|
|
5
|
+
### Patch Changes
|
|
6
6
|
|
|
7
|
-
-
|
|
8
|
-
|
|
9
|
-
-
|
|
10
|
-
- 498fda5: Limit XCA to Confluence and Jira only for global:fullPage
|
|
7
|
+
- 3e8de63: add `manifest render` command
|
|
8
|
+
|
|
9
|
+
## 13.3.0-next.8
|
|
11
10
|
|
|
12
11
|
### Patch Changes
|
|
13
12
|
|
|
14
|
-
-
|
|
15
|
-
- 89ccb1e: Update manifest definitions
|
|
16
|
-
- 39f1f15: Update manifest definitions
|
|
17
|
-
- c3a0f20: Update manifest definitions
|
|
13
|
+
- 4b90a07: Lint target directory when using the manual packaging
|
|
18
14
|
|
|
19
15
|
## 13.3.0-next.7
|
|
20
16
|
|
|
@@ -34350,7 +34350,7 @@
|
|
|
34350
34350
|
]
|
|
34351
34351
|
}
|
|
34352
34352
|
},
|
|
34353
|
-
"
|
|
34353
|
+
"placements": {
|
|
34354
34354
|
"type": "array",
|
|
34355
34355
|
"minItems": 1,
|
|
34356
34356
|
"items": {
|
package/out/schema/manifest.d.ts
CHANGED
|
@@ -844,7 +844,7 @@ export type OverriddenServices = {
|
|
|
844
844
|
export type ManifestOverrides = {
|
|
845
845
|
applyTo: {
|
|
846
846
|
environmentTypes?: ['DEVELOPMENT' | 'STAGING' | 'PRODUCTION', ...('DEVELOPMENT' | 'STAGING' | 'PRODUCTION')[]];
|
|
847
|
-
|
|
847
|
+
placements?: [string, ...string[]];
|
|
848
848
|
};
|
|
849
849
|
value: {
|
|
850
850
|
services?: OverriddenServices;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-handlers-directory.d.ts","sourceRoot":"","sources":["../../src/utils/get-handlers-directory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD,eAAO,MAAM,gBAAgB,QAAQ,CAAC;AAEtC,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,IAAI,CAAC,cAAc,EAAE,KAAK,CAAC,GAAG,MAAM,CAKlF"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SOURCE_DIRECTORY = void 0;
|
|
4
|
+
exports.getHandlersDirectory = getHandlersDirectory;
|
|
5
|
+
exports.SOURCE_DIRECTORY = 'src';
|
|
6
|
+
function getHandlersDirectory(manifest) {
|
|
7
|
+
if (manifest.app?.package?.bundler === 'manual@2026') {
|
|
8
|
+
return manifest.app?.package?.path ?? exports.SOURCE_DIRECTORY;
|
|
9
|
+
}
|
|
10
|
+
return exports.SOURCE_DIRECTORY;
|
|
11
|
+
}
|
package/out/utils/index.d.ts
CHANGED
package/out/utils/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,YAAY,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,cAAc,QAAQ,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,YAAY,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,cAAc,QAAQ,CAAC"}
|
package/out/utils/index.js
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const tslib_1 = require("tslib");
|
|
4
4
|
tslib_1.__exportStar(require("./get-all-modules"), exports);
|
|
5
|
+
tslib_1.__exportStar(require("./get-handlers-directory"), exports);
|
|
5
6
|
tslib_1.__exportStar(require("./line-finder"), exports);
|
|
6
7
|
tslib_1.__exportStar(require("./module-key-cleaner"), exports);
|
|
7
8
|
tslib_1.__exportStar(require("./module-references"), exports);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"modules-validator.d.ts","sourceRoot":"","sources":["../../src/validators/modules-validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,cAAc,EAAE,wBAAwB,EAAsC,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"modules-validator.d.ts","sourceRoot":"","sources":["../../src/validators/modules-validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,cAAc,EAAE,wBAAwB,EAAsC,MAAM,UAAU,CAAC;AAUxH,OAAO,EAEL,cAAc,EAMf,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AA4B3D,qBAAa,gBACX,YAAW,kBAAkB,CAAC,cAAc,CAAC,cAAc,CAAC,GAAG,SAAS,EAAE,cAAc,CAAC;IAGzF,OAAO,CAAC,oBAAoB,CAAsE;IAE5F,QAAQ,CACZ,QAAQ,EAAE,cAAc,CAAC,cAAc,CAAC,GAAG,SAAS,GACnD,OAAO,CAAC,wBAAwB,CAAC,cAAc,CAAC,CAAC;IAwEpD,OAAO,CAAC,uBAAuB;IAO/B,OAAO,CAAC,iBAAiB;IAkBzB,OAAO,CAAC,4BAA4B;IAapC,OAAO,CAAC,uBAAuB;IAe/B,OAAO,CAAC,uBAAuB;IAiB/B,OAAO,CAAC,4BAA4B;IA0BpC,OAAO,CAAC,mBAAmB;IA2E3B,OAAO,CAAC,4BAA4B;IA2BpC,OAAO,CAAC,yBAAyB;CAoClC"}
|
|
@@ -39,7 +39,7 @@ class ModulesValidator {
|
|
|
39
39
|
let validationErrors = [...this.connectModuleValidation(manifest)];
|
|
40
40
|
if (manifest.typedContent.modules) {
|
|
41
41
|
const { typedContent: { modules, connectModules, remotes, permissions, services, providers }, yamlContentByLine, filePath } = manifest;
|
|
42
|
-
validationErrors = validationErrors.concat(this.checkUnsupportedModules(manifest.typedContent.modules, yamlContentByLine), this.functionKeyLength(modules, yamlContentByLine), this.minimumModuleCountValidation(modules, yamlContentByLine), this.functionKeyDefinedValidation(modules, yamlContentByLine), this.endpointValidations(modules, yamlContentByLine, remotes, permissions?.scopes || [], services), this.duplicateModuleKeyValidation(modules, connectModules || {}, yamlContentByLine), this.functionHandlerValidation(modules, yamlContentByLine, filePath), (0, validate_workflow_1.validateJiraWorkflowValidator)(modules, yamlContentByLine), (0, validate_workflow_1.validateJiraWorkflowCondition)(modules, yamlContentByLine), (0, ui_modifications_1.validateUiModificationsModule)(modules, yamlContentByLine), (0, validate_full_admin_page_1.validateJiraFullAdminPage)(modules, yamlContentByLine), (0, validate_full_page_1.validateJiraFullPage)(modules, yamlContentByLine), (0, validate_full_page_module_1.validateJiraFullPageModule)(modules, yamlContentByLine), (0, validate_custom_field_1.validateJiraCustomField)(modules, yamlContentByLine), (0, confluence_1.validateConfluenceModules)(modules, yamlContentByLine), (0, bitbucket_1.validateBitbucketModules)(modules, yamlContentByLine), (0, validate_trigger_1.validateJiraTriggers)(modules, yamlContentByLine), (0, remote_1.validateRemoteModules)(modules, yamlContentByLine), (0, dataResidency_1.validateMigrationDataResidencyModule)(modules, remotes, yamlContentByLine), (0, validateModuleScopes_1.validateModuleScopes)(modules, yamlContentByLine, permissions), (0, rovo_1.validateRovoModules)(modules, (0, path_1.dirname)(filePath), yamlContentByLine), (0, automation_1.validateAutomationModules)(modules, yamlContentByLine), (0, validate_timetrackingprovider_module_1.validateJiraTimeTrackingModule)(modules, yamlContentByLine), (0, validate_command_1.validateJiraCommandModule)(modules, yamlContentByLine), (0, validate_action_validator_1.validateJiraActionValidator)(modules, yamlContentByLine), (0, validate_global_background_script_1.validateJiraGlobalBackgroundScript)(modules, yamlContentByLine), (0, graph_1.validateGraphModules)(modules, providers, yamlContentByLine), (0, validate_global_ui_1.validateGlobalUi)(modules, manifest.typedContent.app, yamlContentByLine), (0, validate_global_full_page_1.validateGlobalFullPage)(modules, manifest.typedContent.app, yamlContentByLine));
|
|
42
|
+
validationErrors = validationErrors.concat(this.checkUnsupportedModules(manifest.typedContent.modules, yamlContentByLine), this.functionKeyLength(modules, yamlContentByLine), this.minimumModuleCountValidation(modules, yamlContentByLine), this.functionKeyDefinedValidation(modules, yamlContentByLine), this.endpointValidations(modules, yamlContentByLine, remotes, permissions?.scopes || [], services), this.duplicateModuleKeyValidation(modules, connectModules || {}, yamlContentByLine), this.functionHandlerValidation(modules, yamlContentByLine, filePath, (0, utils_1.getHandlersDirectory)(manifest.typedContent)), (0, validate_workflow_1.validateJiraWorkflowValidator)(modules, yamlContentByLine), (0, validate_workflow_1.validateJiraWorkflowCondition)(modules, yamlContentByLine), (0, ui_modifications_1.validateUiModificationsModule)(modules, yamlContentByLine), (0, validate_full_admin_page_1.validateJiraFullAdminPage)(modules, yamlContentByLine), (0, validate_full_page_1.validateJiraFullPage)(modules, yamlContentByLine), (0, validate_full_page_module_1.validateJiraFullPageModule)(modules, yamlContentByLine), (0, validate_custom_field_1.validateJiraCustomField)(modules, yamlContentByLine), (0, confluence_1.validateConfluenceModules)(modules, yamlContentByLine), (0, bitbucket_1.validateBitbucketModules)(modules, yamlContentByLine), (0, validate_trigger_1.validateJiraTriggers)(modules, yamlContentByLine), (0, remote_1.validateRemoteModules)(modules, yamlContentByLine), (0, dataResidency_1.validateMigrationDataResidencyModule)(modules, remotes, yamlContentByLine), (0, validateModuleScopes_1.validateModuleScopes)(modules, yamlContentByLine, permissions), (0, rovo_1.validateRovoModules)(modules, (0, path_1.dirname)(filePath), yamlContentByLine), (0, automation_1.validateAutomationModules)(modules, yamlContentByLine), (0, validate_timetrackingprovider_module_1.validateJiraTimeTrackingModule)(modules, yamlContentByLine), (0, validate_command_1.validateJiraCommandModule)(modules, yamlContentByLine), (0, validate_action_validator_1.validateJiraActionValidator)(modules, yamlContentByLine), (0, validate_global_background_script_1.validateJiraGlobalBackgroundScript)(modules, yamlContentByLine), (0, graph_1.validateGraphModules)(modules, providers, yamlContentByLine), (0, validate_global_ui_1.validateGlobalUi)(modules, manifest.typedContent.app, yamlContentByLine), (0, validate_global_full_page_1.validateGlobalFullPage)(modules, manifest.typedContent.app, yamlContentByLine));
|
|
43
43
|
}
|
|
44
44
|
else {
|
|
45
45
|
const { typedContent: { connectModules }, yamlContentByLine } = manifest;
|
|
@@ -211,7 +211,7 @@ class ModulesValidator {
|
|
|
211
211
|
});
|
|
212
212
|
return validationErrors;
|
|
213
213
|
}
|
|
214
|
-
functionHandlerValidation(modules, yamlContentByLine, filePath) {
|
|
214
|
+
functionHandlerValidation(modules, yamlContentByLine, filePath, handlersDirectory) {
|
|
215
215
|
const validationErrors = [];
|
|
216
216
|
modules.function?.forEach((func) => {
|
|
217
217
|
if (!this.functionHandlerRegex.test(func.handler)) {
|
|
@@ -225,9 +225,7 @@ class ModulesValidator {
|
|
|
225
225
|
else {
|
|
226
226
|
const matches = this.functionHandlerRegex.exec(func.handler);
|
|
227
227
|
const fileName = matches ? matches[1] : undefined;
|
|
228
|
-
const _checkFileExists = (fileName) => {
|
|
229
|
-
return (['tsx', 'jsx', 'ts', 'js'].find((ext) => (0, fs_1.existsSync)((0, path_1.resolve)((0, path_1.dirname)(filePath), 'src', `${fileName}.${ext}`))) !== undefined);
|
|
230
|
-
};
|
|
228
|
+
const _checkFileExists = (fileName) => ['tsx', 'jsx', 'ts', 'js'].some((ext) => (0, fs_1.existsSync)((0, path_1.resolve)((0, path_1.dirname)(filePath), handlersDirectory, `${fileName}.${ext}`)));
|
|
231
229
|
if (!_checkFileExists(fileName)) {
|
|
232
230
|
validationErrors.push({
|
|
233
231
|
message: text_1.errors.modules.function.handler.fileNotExists(func.handler, fileName),
|