@toolsplus/nx-forge 6.0.1-test-fix-tunnel-executor.1 → 6.0.2-beta.1

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/package.json CHANGED
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "@toolsplus/nx-forge",
3
- "version": "6.0.1-test-fix-tunnel-executor.1",
3
+ "version": "6.0.2-beta.1",
4
4
  "description": "Atlassian Forge plugin for Nx",
5
5
  "main": "./src/index.js",
6
6
  "typings": "./src/index.d.ts",
7
7
  "generators": "./generators.json",
8
8
  "executors": "./executors.json",
9
9
  "dependencies": {
10
- "@forge/manifest": "^8.3.0",
10
+ "@forge/manifest": "^8.6.0-next.1",
11
11
  "@nx/devkit": "20.3.1",
12
12
  "@nx/eslint": "20.3.1",
13
13
  "@nx/jest": "20.3.1",
@@ -3,10 +3,12 @@ type Options = Pick<NormalizedOptions, 'root' | 'outputPath' | 'uiKit2Packaging'
3
3
  resourcePath: string;
4
4
  };
5
5
  /**
6
- * Patches the output manifest.yml file to replace resource path parameters to point to the actual resource build
7
- * artifacts instead of the Nx project reference.
6
+ * Patches the output manifest.yml file to replace resource path parameters to
7
+ * point to the actual resource build artifacts instead of the Nx project
8
+ * reference.
8
9
  *
9
- * This assumes that resource artifacts have already been copied to the output directory in a previous step.
10
+ * This assumes that resource artifacts have already been copied to the output
11
+ * directory in a previous step.
10
12
  *
11
13
  * @param options Executor options
12
14
  */
@@ -6,11 +6,14 @@ const path_1 = require("path");
6
6
  const devkit_1 = require("@nx/devkit");
7
7
  const manifest_yml_1 = require("../../../utils/forge/manifest-yml");
8
8
  const fs_1 = require("fs");
9
+ const util_manifest_1 = require("../../../shared/manifest/util-manifest");
9
10
  /**
10
- * Patches the output manifest.yml file to replace resource path parameters to point to the actual resource build
11
- * artifacts instead of the Nx project reference.
11
+ * Patches the output manifest.yml file to replace resource path parameters to
12
+ * point to the actual resource build artifacts instead of the Nx project
13
+ * reference.
12
14
  *
13
- * This assumes that resource artifacts have already been copied to the output directory in a previous step.
15
+ * This assumes that resource artifacts have already been copied to the output
16
+ * directory in a previous step.
14
17
  *
15
18
  * @param options Executor options
16
19
  */
@@ -26,72 +29,42 @@ function patchManifestYml(options) {
26
29
  });
27
30
  }
28
31
  function patchManifestInternal(absoluteOutputPath, manifestSchema, options) {
29
- var _a;
30
32
  const resources = manifestSchema.resources || [];
31
- if (!options.uiKit2Packaging) {
32
- return Object.assign(Object.assign({}, manifestSchema), { resources: resources.map((resource) => (Object.assign(Object.assign({}, resource), { path: `${options.resourcePath}/${resource.path}` }))) });
33
- }
34
- else {
35
- const resourceTypeIndex = getResourceTypeIndex((_a = manifestSchema.modules) !== null && _a !== void 0 ? _a : {}, resources);
36
- return Object.assign(Object.assign({}, manifestSchema), { resources: resources.map((r) => patchResource(options.resourcePath, r, absoluteOutputPath, resourceTypeIndex[r.key])) });
33
+ const uiResources = resources.filter((0, util_manifest_1.isResourceType)(manifestSchema, ['ui-kit', 'custom-ui']));
34
+ const genericResources = resources.filter((0, util_manifest_1.isResourceType)(manifestSchema, ['generic']));
35
+ // Integrity check: We want to be sure that we are not losing any resource
36
+ // definitions when separating them into UI and generic resources.
37
+ const resourceKeySet = new Set(resources.map((r) => r.key));
38
+ const uiResourcesKeySet = new Set(uiResources.map((r) => r.key));
39
+ const genericResourcesKeySet = new Set(genericResources.map((r) => r.key));
40
+ const missingResourceKeys = [...resourceKeySet].filter((k) => !uiResourcesKeySet.has(k) && !genericResourcesKeySet.has(k));
41
+ if (missingResourceKeys.length > 0) {
42
+ devkit_1.logger.warn(`Failed to determine resource type for resource definitions with keys ${missingResourceKeys}.
43
+
44
+ This is most likely a plugin error and should be fixed. Please include the manifest.yml in the issue report.`);
37
45
  }
38
- }
39
- /**
40
- * Computes an index from resource key to resource type which is either UI Kit 2 or Custom UI. The resource type
41
- * is inferred from the module declaration. If a module has both the `resource` property and `render: native` declared,
42
- * it means its resource has to be of type UI Kit 2. If a module, on the other hand, only declares the `resource`
43
- * property, it means the resource must be a Custom UI.
44
- *
45
- * @param modules Modules declared in the manifest
46
- * @param resources Resources declared in the manifest
47
- */
48
- function getResourceTypeIndex(modules, resources) {
49
- const modulesEntries = Object.entries(modules);
50
- const resourceKeys = resources.map((r) => r.key);
51
- const indexModuleDefinition = (acc, moduleType, moduleDefinition) => {
52
- var _a;
53
- const moduleResourceKey = moduleDefinition['resource'];
54
- if (resourceKeys.includes(moduleResourceKey)) {
55
- const type = moduleDefinition['render'] === 'native' ? 'ui-kit-2' : 'custom-ui';
56
- const existingIndexEntry = acc[moduleResourceKey];
57
- if (existingIndexEntry && existingIndexEntry.type !== type) {
58
- devkit_1.logger.warn(`Inconsistent resource mapping in manifest.yml: Module ${moduleType} (${moduleDefinition['key']}) declares its resource to be of type ${type} but other modules with keys [${existingIndexEntry.modules
59
- .map(([, m]) => m['key'])
60
- .join(', ')}] pointing to the same resource appear to be of a different type`);
61
- }
62
- const existingModules = (_a = existingIndexEntry === null || existingIndexEntry === void 0 ? void 0 : existingIndexEntry.modules) !== null && _a !== void 0 ? _a : [];
63
- return Object.assign(Object.assign({}, acc), { [moduleResourceKey]: {
64
- type,
65
- modules: [...existingModules, [moduleType, moduleDefinition]],
66
- } });
67
- }
68
- else {
69
- return acc;
70
- }
71
- };
72
- const resourceTypeIndex = modulesEntries.reduce((acc, [moduleType, moduleDefinitions]) => {
73
- return moduleDefinitions.reduce((innerAcc, moduleDefinition) => indexModuleDefinition(innerAcc, moduleType, moduleDefinition), acc);
74
- }, {});
75
- const resourceTypeIndexKeySet = new Set(Object.keys(resourceTypeIndex));
76
- const resourceKeySet = new Set(resourceKeys);
77
- if (resourceTypeIndexKeySet.size === resourceKeySet.size &&
78
- [...resourceTypeIndexKeySet].every((k) => resourceKeySet.has(k))) {
79
- return resourceTypeIndex;
46
+ if (!options.uiKit2Packaging) {
47
+ return Object.assign(Object.assign({}, manifestSchema), { resources: [
48
+ ...uiResources.map((resource) => (Object.assign(Object.assign({}, resource), { path: `${options.resourcePath}/${resource.path}` }))),
49
+ ...genericResources,
50
+ ] });
80
51
  }
81
52
  else {
82
- const missingResourceKeys = [...resourceKeySet].filter((k) => !resourceTypeIndexKeySet.has(k));
83
- devkit_1.logger.warn(`Failed to find module definition for resources with keys ${missingResourceKeys}`);
84
- return resourceTypeIndex;
53
+ const resourceTypeIndex = (0, util_manifest_1.getResourceTypeIndex)(manifestSchema);
54
+ return Object.assign(Object.assign({}, manifestSchema), { resources: [
55
+ ...uiResources.map((r) => patchResource(options.resourcePath, r, absoluteOutputPath, resourceTypeIndex[r.key])),
56
+ ...genericResources,
57
+ ] });
85
58
  }
86
59
  }
87
60
  /**
88
61
  * Returns the final resource path based on the given resource type.
89
62
  *
90
- * Verifies that the path/file exists in the computed directory. UI Kit 2 builds are expected to produce an accepted
63
+ * Verifies that the path/file exists in the computed directory. UI Kit builds are expected to produce an accepted
91
64
  * bundle filename.
92
65
  *
93
66
  * @param resourcePath Path where all resource build artifacts are placed, relative to the app root directory
94
- * @param resourceType Type of the given resource, `ui-kit-2` or `custom-ui`
67
+ * @param resourceType Type of the given resource, `ui-kit` or `custom-ui`
95
68
  * @param resource Resource to process
96
69
  * @param absoluteOutputPath Absolute project output path
97
70
  */
@@ -106,28 +79,28 @@ function getVerifiedResourcePath(resourcePath, resourceType, resource, absoluteO
106
79
  devkit_1.logger.info(`Detected resource '${resource.key}' as Custom UI dependency`);
107
80
  return relativeResourcePath;
108
81
  }
109
- devkit_1.logger.info(`Detected resource '${resource.key}' as UI Kit 2 dependency`);
110
- const acceptedUiKit2EntryPoints = [
82
+ devkit_1.logger.info(`Detected resource '${resource.key}' as UI Kit dependency`);
83
+ const acceptedUiKitEntryPoints = [
111
84
  'index.js',
112
85
  'index.jsx',
113
86
  'main.js',
114
87
  'main.jsx',
115
88
  ];
116
- const entryPointFile = acceptedUiKit2EntryPoints.find((entryPointFile) => (0, fs_1.existsSync)((0, path_1.join)(absoluteResourcePath, entryPointFile)));
89
+ const entryPointFile = acceptedUiKitEntryPoints.find((entryPointFile) => (0, fs_1.existsSync)((0, path_1.join)(absoluteResourcePath, entryPointFile)));
117
90
  if (entryPointFile) {
118
91
  return `${relativeResourcePath}/${entryPointFile}`;
119
92
  }
120
93
  else {
121
- throw new Error(`Failed to patch resource with key '${resource.key}': Could not find entry point file in ${absoluteResourcePath}. Make sure the UI Kit 2 build produces a files with one of these names: [${acceptedUiKit2EntryPoints.join(',')}]`);
94
+ throw new Error(`Failed to patch resource with key '${resource.key}': Could not find entry point file in ${absoluteResourcePath}. Make sure the UI Kit build produces a files with one of these names: [${acceptedUiKitEntryPoints.join(',')}]`);
122
95
  }
123
96
  }
124
- function patchResource(resourcePath, resource, absoluteOutputPath, resourceContext) {
97
+ function patchResource(resourcePath, resource, absoluteOutputPath, resourceType) {
125
98
  devkit_1.logger.info(`Patching resource with key '${resource.key}'...`);
126
- if (!resourceContext) {
99
+ if (!resourceType) {
127
100
  devkit_1.logger.warn(`Resource with key '${resource.key}' appears not to be used by any module. Skip patching.`);
128
101
  return resource;
129
102
  }
130
- const verifiedResourcePath = getVerifiedResourcePath(resourcePath, resourceContext.type, resource, absoluteOutputPath);
103
+ const verifiedResourcePath = getVerifiedResourcePath(resourcePath, resourceType, resource, absoluteOutputPath);
131
104
  return Object.assign(Object.assign({}, resource), { path: verifiedResourcePath });
132
105
  }
133
106
  //# sourceMappingURL=patch-manifest-yml.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"patch-manifest-yml.js","sourceRoot":"","sources":["../../../../../../../packages/nx-forge/src/executors/build/lib/patch-manifest-yml.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"patch-manifest-yml.js","sourceRoot":"","sources":["../../../../../../../packages/nx-forge/src/executors/build/lib/patch-manifest-yml.ts"],"names":[],"mappings":"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"}
@@ -5,9 +5,11 @@ type Options = Pick<NormalizedOptions, 'root' | 'outputPath' | 'resourceOutputPa
5
5
  resourcePath: string;
6
6
  };
7
7
  /**
8
- * Verifies that resource projects are correctly linked to the Nx Forge app and copies build artifacts into the app's
9
- * output directory. In particular, this will make sure that each resource listed in the manifest.yml has its path
10
- * configured to point to a Nx project in this workspace.
8
+ * Verifies that UI resource projects are correctly linked to the Nx Forge app
9
+ * and copies build artifacts into the app's output directory. In particular,
10
+ * this will make sure that each Custom UI or UI Kit resource listed in the
11
+ * manifest.yml has its path configured to point to a Nx project in this
12
+ * workspace.
11
13
  *
12
14
  * @param options Executor options
13
15
  * @param context Executor context
@@ -6,10 +6,13 @@ const fs_extra_1 = require("fs-extra");
6
6
  const fs_1 = require("fs");
7
7
  const devkit_1 = require("@nx/devkit");
8
8
  const manifest_yml_1 = require("../../../utils/forge/manifest-yml");
9
+ const util_manifest_1 = require("../../../shared/manifest/util-manifest");
9
10
  /**
10
- * Verifies that resource projects are correctly linked to the Nx Forge app and copies build artifacts into the app's
11
- * output directory. In particular, this will make sure that each resource listed in the manifest.yml has its path
12
- * configured to point to a Nx project in this workspace.
11
+ * Verifies that UI resource projects are correctly linked to the Nx Forge app
12
+ * and copies build artifacts into the app's output directory. In particular,
13
+ * this will make sure that each Custom UI or UI Kit resource listed in the
14
+ * manifest.yml has its path configured to point to a Nx project in this
15
+ * workspace.
13
16
  *
14
17
  * @param options Executor options
15
18
  * @param context Executor context
@@ -20,8 +23,9 @@ function processResourceDependencies(options, context) {
20
23
  const manifestPath = (0, devkit_1.joinPathFragments)(context.root, context.projectsConfigurations.projects[context.projectName].root, 'manifest.yml');
21
24
  const manifestSchema = yield (0, manifest_yml_1.readManifestYml)(manifestPath);
22
25
  const resources = (_a = manifestSchema.resources) !== null && _a !== void 0 ? _a : [];
23
- resources.forEach((r) => verifyAndCopyResourceDependency(r, context, options));
24
- return resources;
26
+ const uiResources = resources.filter((0, util_manifest_1.isResourceType)(manifestSchema, ['ui-kit', 'custom-ui']));
27
+ uiResources.forEach((r) => verifyAndCopyResourceDependency(r, context, options));
28
+ return uiResources;
25
29
  });
26
30
  }
27
31
  const getResourceOutputPath = (options, resourceProjectGraphNode, configurationName) => {
@@ -1 +1 @@
1
- {"version":3,"file":"process-resource-dependencies.js","sourceRoot":"","sources":["../../../../../../../packages/nx-forge/src/executors/build/lib/process-resource-dependencies.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"process-resource-dependencies.js","sourceRoot":"","sources":["../../../../../../../packages/nx-forge/src/executors/build/lib/process-resource-dependencies.ts"],"names":[],"mappings":"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"}
@@ -44,7 +44,7 @@
44
44
  },
45
45
  "uiKit2Packaging": {
46
46
  "type": "boolean",
47
- "description": "Enables UI Kit 2 compatible packaging.",
47
+ "description": "Enables UI Kit compatible packaging.",
48
48
  "default": false
49
49
  }
50
50
  },
@@ -25,7 +25,7 @@
25
25
  },
26
26
  "uiKit2Packaging": {
27
27
  "type": "boolean",
28
- "description": "Enables UI Kit 2 compatible packaging.",
28
+ "description": "Enables UI Kit compatible packaging.",
29
29
  "default": false
30
30
  }
31
31
  },
@@ -32,7 +32,7 @@ function runTunnelExecutor(options, context) {
32
32
  yield (0, run_tunnel_1.isTunnelPreparationComplete)(options.outputPath, preTunnelTimeout);
33
33
  }
34
34
  catch (err) {
35
- devkit_1.logger.info(err.message);
35
+ devkit_1.logger.error(err.message);
36
36
  return { success: false };
37
37
  }
38
38
  // execute the tunnel target on the focused project
@@ -1 +1 @@
1
- {"version":3,"file":"executor.js","sourceRoot":"","sources":["../../../../../../packages/nx-forge/src/executors/tunnel/executor.ts"],"names":[],"mappings":";;AAmBA,oCAmDC;;AAtED,uCAAkE;AAClE,wEAA4E;AAE5E,uEAA0E;AAC1E,iFAAuE;AACvE,6DAAwD;AAExD;;;;;;;;;;;GAWG;AACH,SAA8B,iBAAiB,CAC7C,OAA8B,EAC9B,OAAwB;;;;QAExB,MAAM,sBAAsB,GAAG,MAAM,IAAA,gDAAmB,EAAC,OAAO,CAAC,CAAC;QAElE,MAAM,aAAa,GAAG,MAAM,IAAA,iCAAc,EAAC,sBAAsB,EAAE,OAAO,CAAC,CAAC;QAE5E,MAAM,iBAAiB,GAAG,MAAM,IAAA,oBAAW,EACzC,EAAE,OAAO,EAAE,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,EACjD,EAAE,KAAK,EAAE,IAAI,EAAE,EACf,OAAO,CACR,CAAC;QAEF,MAAM,IAAA,oBAAW,EACf,EAAE,OAAO,EAAE,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,EACnD,EAAE,EACF,OAAO,CACR,CAAC;QAEF,IAAI,CAAC;YACH,MAAM,gBAAgB,GAAG,MAAA,OAAO,CAAC,gBAAgB,mCAAI,IAAI,CAAC;YAC1D,MAAM,IAAA,wCAA2B,EAAC,OAAO,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;QAC1E,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,eAAM,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACzB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QAC5B,CAAC;QAED,mDAAmD;QACnD,MAAM,eAAe,GAAG,iBAAiB,CACvC,IAAA,oBAAS,kCAAM,OAAO,KAAE,sBAAsB,KAAI,OAAO,CAAC,CAC3D,CAAC;QAEF,MAAM,QAAQ,GACZ,IAAA,sCAAqB,EAAC,iBAAiB,EAAE,GAAG,aAAa,EAAE,eAAe,CAAC,CAAC;QAE9E,IAAI,CAAC;;gBACH,KAA2B,eAAA,aAAA,sBAAA,QAAQ,CAAA,cAAA,kFAAE,CAAC;oBAAX,wBAAQ;oBAAR,WAAQ;oBAAxB,MAAM,MAAM,KAAA,CAAA;oBACrB,IAAI,CAAC,MAAM,CAAC,OAAO;wBACjB,MAAM,IAAI,KAAK,CAAC,6BAA6B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;oBAEzE,IAAI,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,EAAE,MAAK,QAAQ,EAAE,CAAC;wBAC5B,eAAM,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;wBACnD,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;wBAC3D,OAAO,KAAK,CAAC;oBACf,CAAC;gBACH,CAAC;;;;;;;;;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,eAAM,CAAC,KAAK,CAAC,+BAA+B,GAAG,EAAE,CAAC,CAAC;YACnD,OAAO,MAAM,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;CAAA;AAED,SAAgB,iBAAiB,CAG/B,CAAa;;QACb,4BAAM,sBAAM,CAAC,CAAA,CAAA,CAAC;IAChB,CAAC;CAAA"}
1
+ {"version":3,"file":"executor.js","sourceRoot":"","sources":["../../../../../../packages/nx-forge/src/executors/tunnel/executor.ts"],"names":[],"mappings":";;AAmBA,oCAmDC;;AAtED,uCAAkE;AAClE,wEAA4E;AAE5E,uEAA0E;AAC1E,iFAAuE;AACvE,6DAAwD;AAExD;;;;;;;;;;;GAWG;AACH,SAA8B,iBAAiB,CAC7C,OAA8B,EAC9B,OAAwB;;;;QAExB,MAAM,sBAAsB,GAAG,MAAM,IAAA,gDAAmB,EAAC,OAAO,CAAC,CAAC;QAElE,MAAM,aAAa,GAAG,MAAM,IAAA,iCAAc,EAAC,sBAAsB,EAAE,OAAO,CAAC,CAAC;QAE5E,MAAM,iBAAiB,GAAG,MAAM,IAAA,oBAAW,EACzC,EAAE,OAAO,EAAE,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,EACjD,EAAE,KAAK,EAAE,IAAI,EAAE,EACf,OAAO,CACR,CAAC;QAEF,MAAM,IAAA,oBAAW,EACf,EAAE,OAAO,EAAE,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,EACnD,EAAE,EACF,OAAO,CACR,CAAC;QAEF,IAAI,CAAC;YACH,MAAM,gBAAgB,GAAG,MAAA,OAAO,CAAC,gBAAgB,mCAAI,IAAI,CAAC;YAC1D,MAAM,IAAA,wCAA2B,EAAC,OAAO,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;QAC1E,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,eAAM,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAC1B,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QAC5B,CAAC;QAED,mDAAmD;QACnD,MAAM,eAAe,GAAG,iBAAiB,CACvC,IAAA,oBAAS,kCAAM,OAAO,KAAE,sBAAsB,KAAI,OAAO,CAAC,CAC3D,CAAC;QAEF,MAAM,QAAQ,GACZ,IAAA,sCAAqB,EAAC,iBAAiB,EAAE,GAAG,aAAa,EAAE,eAAe,CAAC,CAAC;QAE9E,IAAI,CAAC;;gBACH,KAA2B,eAAA,aAAA,sBAAA,QAAQ,CAAA,cAAA,kFAAE,CAAC;oBAAX,wBAAQ;oBAAR,WAAQ;oBAAxB,MAAM,MAAM,KAAA,CAAA;oBACrB,IAAI,CAAC,MAAM,CAAC,OAAO;wBACjB,MAAM,IAAI,KAAK,CAAC,6BAA6B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;oBAEzE,IAAI,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,EAAE,MAAK,QAAQ,EAAE,CAAC;wBAC5B,eAAM,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;wBACnD,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;wBAC3D,OAAO,KAAK,CAAC;oBACf,CAAC;gBACH,CAAC;;;;;;;;;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,eAAM,CAAC,KAAK,CAAC,+BAA+B,GAAG,EAAE,CAAC,CAAC;YACnD,OAAO,MAAM,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;CAAA;AAED,SAAgB,iBAAiB,CAG/B,CAAa;;QACb,4BAAM,sBAAM,CAAC,CAAA,CAAA,CAAC;IAChB,CAAC;CAAA"}
@@ -4,6 +4,7 @@ exports.getCustomUiProjects = getCustomUiProjects;
4
4
  const tslib_1 = require("tslib");
5
5
  const devkit_1 = require("@nx/devkit");
6
6
  const manifest_yml_1 = require("../../../utils/forge/manifest-yml");
7
+ const util_manifest_1 = require("../../../shared/manifest/util-manifest");
7
8
  /**
8
9
  * Extracts all configured Custom UI resources and their tunnel port for this Forge app.
9
10
  *
@@ -37,7 +38,9 @@ function extractVerifiedCustomUIProjects(context) {
37
38
  const manifestPath = (0, devkit_1.joinPathFragments)(context.root, context.projectsConfigurations.projects[context.projectName].root, 'manifest.yml');
38
39
  const manifestSchema = yield (0, manifest_yml_1.readManifestYml)(manifestPath);
39
40
  const resources = (_a = manifestSchema.resources) !== null && _a !== void 0 ? _a : [];
40
- return resources.map(verifyCustomUIDependency(context));
41
+ return resources
42
+ .filter((0, util_manifest_1.isResourceType)(manifestSchema, ['custom-ui']))
43
+ .map(verifyCustomUIDependency(context));
41
44
  });
42
45
  }
43
46
  const verifyCustomUIDependency = (context) => (resource) => {
@@ -47,7 +50,7 @@ const verifyCustomUIDependency = (context) => (resource) => {
47
50
  throw new Error(`Nx workspace is missing project for Custom UI path ${customUIProjectName}. Make sure the Custom UI resource path references a project in your Nx workspace.`);
48
51
  }
49
52
  if (!customUIProjectConfiguration.targets['serve']) {
50
- throw new Error(`Custom UI project '${customUIProjectName}' targets is missing a 'serve' executor. Make sure the 'targets' property in the project's 'project.json' has a 'serve' executor configured.`);
53
+ throw new Error(`Custom UI project '${customUIProjectName}' targets is missing a 'serve' executor. Make sure the the project has a 'serve' target inferred, or the 'targets' property in the project's 'project.json' has a 'serve' executor configured.`);
51
54
  }
52
55
  if (!resource.tunnel || !Number.isInteger(resource.tunnel.port)) {
53
56
  throw new Error(`Custom UI resource with key ${resource.key} is missing tunnel port in manifest.yml. Follow the Forge docs on how to add a tunnel port to the Custom UI resource with key ${resource.key}: https://developer.atlassian.com/platform/forge/tunneling/#connecting-the-tunnel-to-your-own-dev-server`);
@@ -1 +1 @@
1
- {"version":3,"file":"extract-custom-ui-projects.js","sourceRoot":"","sources":["../../../../../../../packages/nx-forge/src/executors/tunnel/lib/extract-custom-ui-projects.ts"],"names":[],"mappings":";;AAaA,kDAQC;;AArBD,uCAAgE;AAGhE,oEAAoE;AAIpE;;;;;GAKG;AACH,SAAsB,mBAAmB,CACvC,OAAwB;;QAExB,MAAM,QAAQ,GAAG,MAAM,+BAA+B,CAAC,OAAO,CAAC,CAAC;QAChE,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC1B,WAAW,EAAE,CAAC,CAAC,IAAI;YACnB,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI;SACpB,CAAC,CAAC,CAAC;IACN,CAAC;CAAA;AAED;;;;;;;;;;;GAWG;AACH,SAAe,+BAA+B,CAC5C,OAAwB;;;QAExB,MAAM,YAAY,GAAG,IAAA,0BAAiB,EACpC,OAAO,CAAC,IAAI,EACZ,OAAO,CAAC,sBAAsB,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,IAAI,EACjE,cAAc,CACf,CAAC;QACF,MAAM,cAAc,GAAG,MAAM,IAAA,8BAAe,EAAC,YAAY,CAAC,CAAC;QAC3D,MAAM,SAAS,GAAc,MAAA,cAAc,CAAC,SAAS,mCAAI,EAAE,CAAC;QAC5D,OAAO,SAAS,CAAC,GAAG,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC,CAAC;IAC1D,CAAC;CAAA;AAED,MAAM,wBAAwB,GAC5B,CAAC,OAAwB,EAAE,EAAE,CAC7B,CAAC,QAA+B,EAA0B,EAAE;IAC1D,MAAM,mBAAmB,GAAG,QAAQ,CAAC,IAAI,CAAC;IAE1C,MAAM,4BAA4B,GAChC,OAAO,CAAC,sBAAsB,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;IAE/D,IAAI,CAAC,4BAA4B,EAAE,CAAC;QAClC,MAAM,IAAI,KAAK,CACb,sDAAsD,mBAAmB,oFAAoF,CAC9J,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,4BAA4B,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACnD,MAAM,IAAI,KAAK,CACb,sBAAsB,mBAAmB,8IAA8I,CACxL,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;QAChE,MAAM,IAAI,KAAK,CACb,+BAA+B,QAAQ,CAAC,GAAG,iIAAiI,QAAQ,CAAC,GAAG,0GAA0G,CACnS,CAAC;IACJ,CAAC;IAED,OAAO,QAAkC,CAAC;AAC5C,CAAC,CAAC"}
1
+ {"version":3,"file":"extract-custom-ui-projects.js","sourceRoot":"","sources":["../../../../../../../packages/nx-forge/src/executors/tunnel/lib/extract-custom-ui-projects.ts"],"names":[],"mappings":";;AAcA,kDAQC;;AAtBD,uCAAgE;AAGhE,oEAAoE;AACpE,0EAAwE;AAIxE;;;;;GAKG;AACH,SAAsB,mBAAmB,CACvC,OAAwB;;QAExB,MAAM,QAAQ,GAAG,MAAM,+BAA+B,CAAC,OAAO,CAAC,CAAC;QAChE,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC1B,WAAW,EAAE,CAAC,CAAC,IAAI;YACnB,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI;SACpB,CAAC,CAAC,CAAC;IACN,CAAC;CAAA;AAED;;;;;;;;;;;GAWG;AACH,SAAe,+BAA+B,CAC5C,OAAwB;;;QAExB,MAAM,YAAY,GAAG,IAAA,0BAAiB,EACpC,OAAO,CAAC,IAAI,EACZ,OAAO,CAAC,sBAAsB,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,IAAI,EACjE,cAAc,CACf,CAAC;QACF,MAAM,cAAc,GAAG,MAAM,IAAA,8BAAe,EAAC,YAAY,CAAC,CAAC;QAC3D,MAAM,SAAS,GAAc,MAAA,cAAc,CAAC,SAAS,mCAAI,EAAE,CAAC;QAC5D,OAAO,SAAS;aACb,MAAM,CAAC,IAAA,8BAAc,EAAC,cAAc,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;aACrD,GAAG,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC,CAAC;IAC5C,CAAC;CAAA;AAED,MAAM,wBAAwB,GAC5B,CAAC,OAAwB,EAAE,EAAE,CAC7B,CAAC,QAA+B,EAA0B,EAAE;IAC1D,MAAM,mBAAmB,GAAG,QAAQ,CAAC,IAAI,CAAC;IAE1C,MAAM,4BAA4B,GAChC,OAAO,CAAC,sBAAsB,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;IAE/D,IAAI,CAAC,4BAA4B,EAAE,CAAC;QAClC,MAAM,IAAI,KAAK,CACb,sDAAsD,mBAAmB,oFAAoF,CAC9J,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,4BAA4B,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACnD,MAAM,IAAI,KAAK,CACb,sBAAsB,mBAAmB,gMAAgM,CAC1O,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;QAChE,MAAM,IAAI,KAAK,CACb,+BAA+B,QAAQ,CAAC,GAAG,iIAAiI,QAAQ,CAAC,GAAG,0GAA0G,CACnS,CAAC;IACJ,CAAC;IAED,OAAO,QAAkC,CAAC;AAC5C,CAAC,CAAC"}
@@ -39,7 +39,9 @@ function isTunnelPreparationComplete(outputPath_1, timeoutMs_1) {
39
39
  (0, node_fs_1.readdirSync)(node_path_1.default.join(outputPath, 'src')).length > 0)) !== null && _b !== void 0 ? _b : false;
40
40
  };
41
41
  const timeout = new Promise((_, reject) => {
42
- setTimeout(() => reject(new Error(`Timeout: Tunnel preparation not completed within ${timeoutMs} ms`)), timeoutMs);
42
+ setTimeout(() => reject(new Error(`Tunnel preparation timed out: Did not completed within ${timeoutMs} ms.
43
+
44
+ You can set a longer time out using the 'preTunnelTimeout' option of the tunnel executor.`)), timeoutMs);
43
45
  });
44
46
  const tunnelReadyCondition = function () {
45
47
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
@@ -1 +1 @@
1
- {"version":3,"file":"run-tunnel.js","sourceRoot":"","sources":["../../../../../../../packages/nx-forge/src/executors/tunnel/lib/run-tunnel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run-tunnel.js","sourceRoot":"","sources":["../../../../../../../packages/nx-forge/src/executors/tunnel/lib/run-tunnel.ts"],"names":[],"mappings":"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"}
@@ -4,13 +4,13 @@ exports.createDependencies = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const devkit_1 = require("@nx/devkit");
6
6
  const manifest_yml_1 = require("../utils/forge/manifest-yml");
7
- const getCustomUIDependencies = (_a, context_1) => tslib_1.__awaiter(void 0, [_a, context_1], void 0, function* ([projectName, manifestFile], context) {
7
+ const getUIResourceDependencies = (_a, context_1) => tslib_1.__awaiter(void 0, [_a, context_1], void 0, function* ([projectName, manifestFile], context) {
8
8
  const manifestSchema = yield (0, manifest_yml_1.readManifestYml)(manifestFile.file);
9
- const customUIProjectNames = (0, manifest_yml_1.extractCustomUIProjectNames)(manifestSchema);
10
- const getCustomUIStaticDependency = (customUIProjectName) => {
11
- const customUIProjectConfiguration = context.projects[customUIProjectName];
12
- if (!customUIProjectConfiguration) {
13
- throw new Error(`Failed to find Custom UI project in Nx workspace: The Custom UI dependency to project ${customUIProjectName} declared in the Forge manifest.yml of project ${projectName} cannot be found. Make sure the Custom UI resource path references a project in your Nx workspace.`);
9
+ const uiResourceProjectNames = (0, manifest_yml_1.extractUIResourceProjectNames)(manifestSchema);
10
+ const getUIResourceStaticDependency = (uiResourceProjectName) => {
11
+ const uiResourceProjectConfiguration = context.projects[uiResourceProjectName];
12
+ if (!uiResourceProjectConfiguration) {
13
+ throw new Error(`Failed to find UI resource project in Nx workspace: The UI resource dependency to project ${uiResourceProjectName} declared in the Forge manifest.yml of project ${projectName} cannot be found. Make sure the path property of the resource definition references a project in the Nx workspace.`);
14
14
  }
15
15
  const projectConfiguration = context.projects[projectName];
16
16
  if (!projectConfiguration) {
@@ -19,16 +19,16 @@ const getCustomUIDependencies = (_a, context_1) => tslib_1.__awaiter(void 0, [_a
19
19
  return {
20
20
  sourceFile: manifestFile.file,
21
21
  source: projectName,
22
- target: customUIProjectName,
22
+ target: uiResourceProjectName,
23
23
  type: devkit_1.DependencyType.static,
24
24
  };
25
25
  };
26
- return customUIProjectNames.reduce((acc, customUIProjectName) => {
26
+ return uiResourceProjectNames.reduce((acc, uiResourceProjectName) => {
27
27
  return (manifestFile.deps || []).find(([source, target, type]) => type === 'static' &&
28
- target === customUIProjectName &&
28
+ target === uiResourceProjectName &&
29
29
  source === projectName)
30
30
  ? acc // Dependency already exists, skip adding it again.
31
- : [...acc, getCustomUIStaticDependency(customUIProjectName)];
31
+ : [...acc, getUIResourceStaticDependency(uiResourceProjectName)];
32
32
  }, []);
33
33
  });
34
34
  const createDependencies = (options, context) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
@@ -42,8 +42,8 @@ const createDependencies = (options, context) => tslib_1.__awaiter(void 0, void
42
42
  _d = false;
43
43
  const manifestFile = _c;
44
44
  devkit_1.logger.info(`[nx-forge] Processing ${projectName}:${manifestFile.file}`);
45
- const customUIDependencies = yield getCustomUIDependencies([projectName, manifestFile], context);
46
- dependencies = dependencies.concat(customUIDependencies);
45
+ const uiResourceDependencies = yield getUIResourceDependencies([projectName, manifestFile], context);
46
+ dependencies = dependencies.concat(uiResourceDependencies);
47
47
  }
48
48
  }
49
49
  catch (e_1_1) { e_1 = { error: e_1_1 }; }
@@ -1 +1 @@
1
- {"version":3,"file":"create-dependencies.js","sourceRoot":"","sources":["../../../../../packages/nx-forge/src/graph/create-dependencies.ts"],"names":[],"mappings":";;;;AAAA,uCAOoB;AACpB,8DAGqC;AAErC,MAAM,uBAAuB,GAAG,gBAGQ,EAAE,+DAFxC,CAAC,WAAW,EAAE,YAAY,CAAqB,EAC/C,OAAkC;IAElC,MAAM,cAAc,GAAG,MAAM,IAAA,8BAAe,EAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAChE,MAAM,oBAAoB,GAAG,IAAA,0CAA2B,EAAC,cAAc,CAAC,CAAC;IAEzE,MAAM,2BAA2B,GAAG,CAClC,mBAA2B,EACA,EAAE;QAC7B,MAAM,4BAA4B,GAAG,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;QAE3E,IAAI,CAAC,4BAA4B,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CACb,yFAAyF,mBAAmB,kDAAkD,WAAW,oGAAoG,CAC9Q,CAAC;QACJ,CAAC;QAED,MAAM,oBAAoB,GAAG,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAE3D,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CACb,6DAA6D,WAAW,EAAE,CAC3E,CAAC;QACJ,CAAC;QAED,OAAO;YACL,UAAU,EAAE,YAAY,CAAC,IAAI;YAC7B,MAAM,EAAE,WAAW;YACnB,MAAM,EAAE,mBAAmB;YAC3B,IAAI,EAAE,uBAAc,CAAC,MAAM;SAC5B,CAAC;IACJ,CAAC,CAAC;IAEF,OAAO,oBAAoB,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,mBAAmB,EAAE,EAAE;QAC9D,OAAO,CAAC,YAAY,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,CACnC,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,CACzB,IAAI,KAAK,QAAQ;YACjB,MAAM,KAAK,mBAAmB;YAC9B,MAAM,KAAK,WAAW,CACzB;YACC,CAAC,CAAC,GAAG,CAAC,mDAAmD;YACzD,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,2BAA2B,CAAC,mBAAmB,CAAC,CAAC,CAAC;IACjE,CAAC,EAAE,EAAE,CAAC,CAAC;AACT,CAAC,CAAA,CAAC;AAEK,MAAM,kBAAkB,GAAuB,CACpD,OAAO,EACP,OAAO,EACP,EAAE;;IACF,IAAI,YAAY,GAAgC,EAAE,CAAC;IAEnD,KAAK,MAAM,WAAW,IAAI,OAAO,CAAC,cAAc,CAAC,cAAc,EAAE,CAAC;QAChE,MAAM,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;;YACnE,KAAiC,eAAA,oBAAA,sBAAA,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CACpD,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAChC,CAAA,CAAA,IAAA,sDAAE,CAAC;gBAF6B,cAEhC;gBAFgC,WAEhC;gBAFU,MAAM,YAAY,KAAA,CAAA;gBAG3B,eAAM,CAAC,IAAI,CAAC,yBAAyB,WAAW,IAAI,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC;gBACzE,MAAM,oBAAoB,GAAG,MAAM,uBAAuB,CACxD,CAAC,WAAW,EAAE,YAAY,CAAC,EAC3B,OAAO,CACR,CAAC;gBACF,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;YAC3D,CAAC;;;;;;;;;IACH,CAAC;IAED,OAAO,YAAY,CAAC;AACtB,CAAC,CAAA,CAAC;AArBW,QAAA,kBAAkB,sBAqB7B"}
1
+ {"version":3,"file":"create-dependencies.js","sourceRoot":"","sources":["../../../../../packages/nx-forge/src/graph/create-dependencies.ts"],"names":[],"mappings":";;;;AAAA,uCAOoB;AACpB,8DAGqC;AAErC,MAAM,yBAAyB,GAAG,gBAGM,EAAE,+DAFxC,CAAC,WAAW,EAAE,YAAY,CAAqB,EAC/C,OAAkC;IAElC,MAAM,cAAc,GAAG,MAAM,IAAA,8BAAe,EAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAChE,MAAM,sBAAsB,GAAG,IAAA,4CAA6B,EAAC,cAAc,CAAC,CAAC;IAE7E,MAAM,6BAA6B,GAAG,CACpC,qBAA6B,EACF,EAAE;QAC7B,MAAM,8BAA8B,GAClC,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC;QAE1C,IAAI,CAAC,8BAA8B,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CACb,6FAA6F,qBAAqB,kDAAkD,WAAW,oHAAoH,CACpS,CAAC;QACJ,CAAC;QAED,MAAM,oBAAoB,GAAG,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAE3D,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CACb,6DAA6D,WAAW,EAAE,CAC3E,CAAC;QACJ,CAAC;QAED,OAAO;YACL,UAAU,EAAE,YAAY,CAAC,IAAI;YAC7B,MAAM,EAAE,WAAW;YACnB,MAAM,EAAE,qBAAqB;YAC7B,IAAI,EAAE,uBAAc,CAAC,MAAM;SAC5B,CAAC;IACJ,CAAC,CAAC;IAEF,OAAO,sBAAsB,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,qBAAqB,EAAE,EAAE;QAClE,OAAO,CAAC,YAAY,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,CACnC,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,CACzB,IAAI,KAAK,QAAQ;YACjB,MAAM,KAAK,qBAAqB;YAChC,MAAM,KAAK,WAAW,CACzB;YACC,CAAC,CAAC,GAAG,CAAC,mDAAmD;YACzD,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,6BAA6B,CAAC,qBAAqB,CAAC,CAAC,CAAC;IACrE,CAAC,EAAE,EAAE,CAAC,CAAC;AACT,CAAC,CAAA,CAAC;AAEK,MAAM,kBAAkB,GAAuB,CACpD,OAAO,EACP,OAAO,EACP,EAAE;;IACF,IAAI,YAAY,GAAgC,EAAE,CAAC;IAEnD,KAAK,MAAM,WAAW,IAAI,OAAO,CAAC,cAAc,CAAC,cAAc,EAAE,CAAC;QAChE,MAAM,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;;YACnE,KAAiC,eAAA,oBAAA,sBAAA,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CACpD,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAChC,CAAA,CAAA,IAAA,sDAAE,CAAC;gBAF6B,cAEhC;gBAFgC,WAEhC;gBAFU,MAAM,YAAY,KAAA,CAAA;gBAG3B,eAAM,CAAC,IAAI,CAAC,yBAAyB,WAAW,IAAI,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC;gBACzE,MAAM,sBAAsB,GAAG,MAAM,yBAAyB,CAC5D,CAAC,WAAW,EAAE,YAAY,CAAC,EAC3B,OAAO,CACR,CAAC;gBACF,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC;YAC7D,CAAC;;;;;;;;;IACH,CAAC;IAED,OAAO,YAAY,CAAC;AACtB,CAAC,CAAA,CAAC;AArBW,QAAA,kBAAkB,sBAqB7B"}
@@ -10,15 +10,15 @@ function update(host) {
10
10
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
11
11
  var _a;
12
12
  const projects = (0, devkit_1.getProjects)(host);
13
- const isForgeProjectProject = (config) => {
13
+ const isForgeProject = (config) => {
14
14
  return (config.projectType === 'application' &&
15
15
  host.exists((0, devkit_1.joinPathFragments)(config.root, 'manifest.yml')));
16
16
  };
17
17
  for (const [name, config] of projects.entries()) {
18
- if (config && isForgeProjectProject(config)) {
18
+ if (config && isForgeProject(config)) {
19
19
  if (((_a = config.implicitDependencies) === null || _a === void 0 ? void 0 : _a.length) > 0) {
20
20
  const manifest = yield (0, manifest_1.readManifestYml)(host, (0, devkit_1.joinPathFragments)(config.root, 'manifest.yml'));
21
- const customUIProjectNames = (0, manifest_yml_1.extractCustomUIProjectNames)(manifest);
21
+ const customUIProjectNames = (0, manifest_yml_1.extractUIResourceProjectNames)(manifest);
22
22
  config.implicitDependencies = config.implicitDependencies.filter((d) => !customUIProjectNames.includes(d));
23
23
  (0, devkit_1.updateProjectConfiguration)(host, name, config);
24
24
  }
@@ -1 +1 @@
1
- {"version":3,"file":"remove-implicit-custom-ui-dependencies.js","sourceRoot":"","sources":["../../../../../../packages/nx-forge/src/migrations/update-2-3-0/remove-implicit-custom-ui-dependencies.ts"],"names":[],"mappings":";;AAWA,yBAyBC;;AApCD,sDAAsD;AACtD,uCAMoB;AACpB,iEAA6E;AAC7E,+CAAmD;AAEnD,SAA8B,MAAM,CAAC,IAAU;;;QAC7C,MAAM,QAAQ,GAAG,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC;QAEnC,MAAM,qBAAqB,GAAG,CAAC,MAA4B,EAAW,EAAE;YACtE,OAAO,CACL,MAAM,CAAC,WAAW,KAAK,aAAa;gBACpC,IAAI,CAAC,MAAM,CAAC,IAAA,0BAAiB,EAAC,MAAM,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC,CAC5D,CAAC;QACJ,CAAC,CAAC;QAEF,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;YAChD,IAAI,MAAM,IAAI,qBAAqB,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC5C,IAAI,CAAA,MAAA,MAAM,CAAC,oBAAoB,0CAAE,MAAM,IAAG,CAAC,EAAE,CAAC;oBAC5C,MAAM,QAAQ,GAAG,MAAM,IAAA,0BAAe,EACpC,IAAI,EACJ,IAAA,0BAAiB,EAAC,MAAM,CAAC,IAAI,EAAE,cAAc,CAAC,CAC/C,CAAC;oBACF,MAAM,oBAAoB,GAAG,IAAA,0CAA2B,EAAC,QAAQ,CAAC,CAAC;oBACnE,MAAM,CAAC,oBAAoB,GAAG,MAAM,CAAC,oBAAoB,CAAC,MAAM,CAC9D,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAC,CACzC,CAAC;oBACF,IAAA,mCAA0B,EAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;gBACjD,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;CAAA"}
1
+ {"version":3,"file":"remove-implicit-custom-ui-dependencies.js","sourceRoot":"","sources":["../../../../../../packages/nx-forge/src/migrations/update-2-3-0/remove-implicit-custom-ui-dependencies.ts"],"names":[],"mappings":";;AAWA,yBAyBC;;AApCD,sDAAsD;AACtD,uCAMoB;AACpB,iEAA+E;AAC/E,+CAAmD;AAEnD,SAA8B,MAAM,CAAC,IAAU;;;QAC7C,MAAM,QAAQ,GAAG,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC;QAEnC,MAAM,cAAc,GAAG,CAAC,MAA4B,EAAW,EAAE;YAC/D,OAAO,CACL,MAAM,CAAC,WAAW,KAAK,aAAa;gBACpC,IAAI,CAAC,MAAM,CAAC,IAAA,0BAAiB,EAAC,MAAM,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC,CAC5D,CAAC;QACJ,CAAC,CAAC;QAEF,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;YAChD,IAAI,MAAM,IAAI,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;gBACrC,IAAI,CAAA,MAAA,MAAM,CAAC,oBAAoB,0CAAE,MAAM,IAAG,CAAC,EAAE,CAAC;oBAC5C,MAAM,QAAQ,GAAG,MAAM,IAAA,0BAAe,EACpC,IAAI,EACJ,IAAA,0BAAiB,EAAC,MAAM,CAAC,IAAI,EAAE,cAAc,CAAC,CAC/C,CAAC;oBACF,MAAM,oBAAoB,GAAG,IAAA,4CAA6B,EAAC,QAAQ,CAAC,CAAC;oBACrE,MAAM,CAAC,oBAAoB,GAAG,MAAM,CAAC,oBAAoB,CAAC,MAAM,CAC9D,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAC,CACzC,CAAC;oBACF,IAAA,mCAA0B,EAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;gBACjD,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;CAAA"}
@@ -0,0 +1,39 @@
1
+ import { ManifestSchema } from '@forge/manifest';
2
+ import { HostedResourcesSchema } from '@forge/manifest/out/schema/manifest';
3
+ export type ResourceType = 'ui-kit' | 'custom-ui' | 'generic';
4
+ export type ResourceTypeIndex = {
5
+ [resourceKey: string]: ResourceType;
6
+ };
7
+ /**
8
+ * Computes an index from resource key to resource type which is either `ui-kit`,
9
+ * `custom-ui` or `generic`. The resource type is inferred from the module
10
+ * declaration. If a module has both the `resource` property and `render: native`
11
+ * declared, its resource must be of type UI Kit. If a module, only declares the
12
+ * `resource` property and its `render` property (if exists) is not `native`,
13
+ * its resource must be a Custom UI. In all other cases, the resource type is
14
+ * Generic.
15
+ *
16
+ * @param manifestSchema Complete manifest definition to analyze
17
+ */
18
+ export declare const getResourceTypeIndex: (manifestSchema: ManifestSchema) => ResourceTypeIndex;
19
+ /**
20
+ * Determines if type of the given resource. If the resource is not referenced
21
+ * by any module it is considered a generic resource.
22
+ *
23
+ * @param manifestSchema Complete manifest definition
24
+ * @param resource Resource to resolve against the manifest definition
25
+ */
26
+ export declare const resourceTypeByResourceDefinition: (manifestSchema: ManifestSchema) => (resource: HostedResourcesSchema) => ResourceType;
27
+ /**
28
+ * Determines if the given resource definition is of a specific type. The
29
+ * predicate can be configured with the accepted resource types.
30
+ *
31
+ * To determine if a resource is of a specific type, this will try to find a
32
+ * module definition that references the key of the given resource definition
33
+ * as its resource property.
34
+ *
35
+ * @param manifestSchema Complete manifest definition
36
+ * @param acceptedResourceTypes Allows to filer for specific resource types
37
+ * @param resource Resource to resolve against the manifest definition
38
+ */
39
+ export declare const isResourceType: (manifestSchema: ManifestSchema, acceptedResourceTypes: ResourceType[]) => (resource: HostedResourcesSchema) => boolean;
@@ -0,0 +1,90 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isResourceType = exports.resourceTypeByResourceDefinition = exports.getResourceTypeIndex = void 0;
4
+ const manifest_1 = require("@forge/manifest");
5
+ const devkit_1 = require("@nx/devkit");
6
+ // https://stackoverflow.com/a/8511350/5115898
7
+ const isObject = (v) => typeof v === 'object' && v !== null;
8
+ /**
9
+ * Determines the resource type based on the module definition.
10
+ *
11
+ * The criteria are as follows:
12
+ * - UI Kit: module has the `resource` property and the `render` property is
13
+ * `native`
14
+ * - Custom UI: module has the `resource` property and the `render` property is
15
+ * not `native` or missing
16
+ * - Generic: none of the above, consider it a generic resource
17
+ *
18
+ * @param moduleDefinition Module definition to analyze
19
+ */
20
+ const resourceTypeByModuleDefinition = (moduleDefinition) => {
21
+ if (!!moduleDefinition['resource'] && moduleDefinition['render'] === 'native')
22
+ return 'ui-kit';
23
+ if (!!moduleDefinition['resource'] && moduleDefinition['render'] !== 'native')
24
+ return 'custom-ui';
25
+ return 'generic';
26
+ };
27
+ /**
28
+ * Computes an index from resource key to resource type which is either `ui-kit`,
29
+ * `custom-ui` or `generic`. The resource type is inferred from the module
30
+ * declaration. If a module has both the `resource` property and `render: native`
31
+ * declared, its resource must be of type UI Kit. If a module, only declares the
32
+ * `resource` property and its `render` property (if exists) is not `native`,
33
+ * its resource must be a Custom UI. In all other cases, the resource type is
34
+ * Generic.
35
+ *
36
+ * @param manifestSchema Complete manifest definition to analyze
37
+ */
38
+ const getResourceTypeIndex = (manifestSchema) => {
39
+ var _a;
40
+ return (0, manifest_1.getAllModules)((_a = manifestSchema.modules) !== null && _a !== void 0 ? _a : {}).reduce((acc, moduleDefinition) => {
41
+ if (isObject(moduleDefinition) &&
42
+ Object.hasOwn(moduleDefinition, 'resource') &&
43
+ typeof moduleDefinition['resource'] === 'string') {
44
+ const resourceKey = moduleDefinition['resource'];
45
+ const resourceType = resourceTypeByModuleDefinition(moduleDefinition);
46
+ const existingIndexEntry = acc[resourceKey];
47
+ if (existingIndexEntry && existingIndexEntry !== resourceType) {
48
+ devkit_1.logger.warn(`Inconsistent resource mapping in manifest.yml: Module with key ${moduleDefinition['key']} declares its resource to be of type ${resourceType} but other modules pointing to the same resource appear to be of a different type`);
49
+ }
50
+ return Object.assign(Object.assign({}, acc), { [resourceKey]: resourceType });
51
+ }
52
+ return acc;
53
+ }, {});
54
+ };
55
+ exports.getResourceTypeIndex = getResourceTypeIndex;
56
+ /**
57
+ * Determines if type of the given resource. If the resource is not referenced
58
+ * by any module it is considered a generic resource.
59
+ *
60
+ * @param manifestSchema Complete manifest definition
61
+ * @param resource Resource to resolve against the manifest definition
62
+ */
63
+ const resourceTypeByResourceDefinition = (manifestSchema) => (resource) => {
64
+ var _a;
65
+ for (const moduleDefinition of (0, manifest_1.getAllModules)((_a = manifestSchema.modules) !== null && _a !== void 0 ? _a : {})) {
66
+ if (isObject(moduleDefinition) &&
67
+ Object.hasOwn(moduleDefinition, 'resource') &&
68
+ typeof moduleDefinition['resource'] === 'string' &&
69
+ moduleDefinition['resource'] === resource.key) {
70
+ return resourceTypeByModuleDefinition(moduleDefinition);
71
+ }
72
+ }
73
+ return 'generic';
74
+ };
75
+ exports.resourceTypeByResourceDefinition = resourceTypeByResourceDefinition;
76
+ /**
77
+ * Determines if the given resource definition is of a specific type. The
78
+ * predicate can be configured with the accepted resource types.
79
+ *
80
+ * To determine if a resource is of a specific type, this will try to find a
81
+ * module definition that references the key of the given resource definition
82
+ * as its resource property.
83
+ *
84
+ * @param manifestSchema Complete manifest definition
85
+ * @param acceptedResourceTypes Allows to filer for specific resource types
86
+ * @param resource Resource to resolve against the manifest definition
87
+ */
88
+ const isResourceType = (manifestSchema, acceptedResourceTypes) => (resource) => acceptedResourceTypes.includes((0, exports.resourceTypeByResourceDefinition)(manifestSchema)(resource));
89
+ exports.isResourceType = isResourceType;
90
+ //# sourceMappingURL=util-manifest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util-manifest.js","sourceRoot":"","sources":["../../../../../../packages/nx-forge/src/shared/manifest/util-manifest.ts"],"names":[],"mappings":";;;AAAA,8CAAgE;AAEhE,uCAAoC;AAEpC,8CAA8C;AAC9C,MAAM,QAAQ,GAAG,CAAC,CAAU,EAAe,EAAE,CAC3C,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,CAAC;AAItC;;;;;;;;;;;GAWG;AACH,MAAM,8BAA8B,GAAG,CACrC,gBAAwB,EACV,EAAE;IAChB,IAAI,CAAC,CAAC,gBAAgB,CAAC,UAAU,CAAC,IAAI,gBAAgB,CAAC,QAAQ,CAAC,KAAK,QAAQ;QAC3E,OAAO,QAAQ,CAAC;IAClB,IAAI,CAAC,CAAC,gBAAgB,CAAC,UAAU,CAAC,IAAI,gBAAgB,CAAC,QAAQ,CAAC,KAAK,QAAQ;QAC3E,OAAO,WAAW,CAAC;IACrB,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAGF;;;;;;;;;;GAUG;AACI,MAAM,oBAAoB,GAAG,CAClC,cAA8B,EACX,EAAE;;IACrB,OAAA,IAAA,wBAAa,EAAC,MAAA,cAAc,CAAC,OAAO,mCAAI,EAAE,CAAC,CAAC,MAAM,CAChD,CAAC,GAAG,EAAE,gBAAgB,EAAE,EAAE;QACxB,IACE,QAAQ,CAAC,gBAAgB,CAAC;YAC1B,MAAM,CAAC,MAAM,CAAC,gBAAgB,EAAE,UAAU,CAAC;YAC3C,OAAO,gBAAgB,CAAC,UAAU,CAAC,KAAK,QAAQ,EAChD,CAAC;YACD,MAAM,WAAW,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC;YACjD,MAAM,YAAY,GAAG,8BAA8B,CAAC,gBAAgB,CAAC,CAAC;YACtE,MAAM,kBAAkB,GAAG,GAAG,CAAC,WAAW,CAAC,CAAC;YAE5C,IAAI,kBAAkB,IAAI,kBAAkB,KAAK,YAAY,EAAE,CAAC;gBAC9D,eAAM,CAAC,IAAI,CACT,kEAAkE,gBAAgB,CAAC,KAAK,CAAC,wCAAwC,YAAY,mFAAmF,CACjO,CAAC;YACJ,CAAC;YAED,uCACK,GAAG,KACN,CAAC,WAAW,CAAC,EAAE,YAAY,IAC3B;QACJ,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC,EACD,EAAuB,CACxB,CAAA;CAAA,CAAC;AA5BS,QAAA,oBAAoB,wBA4B7B;AAEJ;;;;;;GAMG;AACI,MAAM,gCAAgC,GAC3C,CAAC,cAA8B,EAAE,EAAE,CACnC,CAAC,QAA+B,EAAgB,EAAE;;IAChD,KAAK,MAAM,gBAAgB,IAAI,IAAA,wBAAa,EAC1C,MAAA,cAAc,CAAC,OAAO,mCAAI,EAAE,CAC7B,EAAE,CAAC;QACF,IACE,QAAQ,CAAC,gBAAgB,CAAC;YAC1B,MAAM,CAAC,MAAM,CAAC,gBAAgB,EAAE,UAAU,CAAC;YAC3C,OAAO,gBAAgB,CAAC,UAAU,CAAC,KAAK,QAAQ;YAChD,gBAAgB,CAAC,UAAU,CAAC,KAAK,QAAQ,CAAC,GAAG,EAC7C,CAAC;YACD,OAAO,8BAA8B,CAAC,gBAAgB,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAhBS,QAAA,gCAAgC,oCAgBzC;AAEJ;;;;;;;;;;;GAWG;AACI,MAAM,cAAc,GACzB,CAAC,cAA8B,EAAE,qBAAqC,EAAE,EAAE,CAC1E,CAAC,QAA+B,EAAW,EAAE,CAC3C,qBAAqB,CAAC,QAAQ,CAC5B,IAAA,wCAAgC,EAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,CAC3D,CAAC;AALO,QAAA,cAAc,kBAKrB"}
@@ -8,9 +8,9 @@ export declare const readManifestYml: (path: string) => Promise<ManifestSchema>;
8
8
  */
9
9
  export declare const writeManifestYml: (path: string, value: ManifestSchema) => void;
10
10
  /**
11
- * Extracts the Custom UI project names from the given manifest.
11
+ * Extracts the UI resource project names from the given manifest.
12
12
  *
13
- * @param manifest Forge manifest to scan for Custom UI projects.
14
- * @returns List of project names representing Custom UI projects.
13
+ * @param manifest Forge manifest to scan for UI resource projects.
14
+ * @returns List of project names representing UI resource projects.
15
15
  */
16
- export declare const extractCustomUIProjectNames: (manifest: ManifestSchema) => string[];
16
+ export declare const extractUIResourceProjectNames: (manifest: ManifestSchema) => string[];
@@ -1,11 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.extractCustomUIProjectNames = exports.writeManifestYml = exports.readManifestYml = exports.validateManifestContent = void 0;
3
+ exports.extractUIResourceProjectNames = exports.writeManifestYml = exports.readManifestYml = exports.validateManifestContent = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const manifest_1 = require("@forge/manifest");
6
6
  const FULL_SCHEMA = tslib_1.__importStar(require("@forge/manifest/out/schema/manifest-schema.json"));
7
7
  const js_yaml_1 = require("js-yaml");
8
8
  const fs_1 = require("fs");
9
+ const util_manifest_1 = require("../../shared/manifest/util-manifest");
9
10
  class ManifestYmlValidator extends manifest_1.AbstractValidationProcessor {
10
11
  constructor() {
11
12
  super([
@@ -21,9 +22,7 @@ const schemaContentValidator = (manifestContent) => new manifest_1.SchemaValidat
21
22
  });
22
23
  const validateManifestSchema = (validator) => (input) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
23
24
  const { manifestObject, success: isManifestParseSuccess, errors, } = yield validator(input);
24
- if (!isManifestParseSuccess ||
25
- !manifestObject ||
26
- !manifestObject.typedContent) {
25
+ if (!isManifestParseSuccess || !(manifestObject === null || manifestObject === void 0 ? void 0 : manifestObject.typedContent)) {
27
26
  throw new Error(`Failed to validate manifest input: ${(errors || [])
28
27
  .map((e) => e.message)
29
28
  .join('\n')}`);
@@ -49,13 +48,15 @@ const writeManifestYml = (path, value) => {
49
48
  };
50
49
  exports.writeManifestYml = writeManifestYml;
51
50
  /**
52
- * Extracts the Custom UI project names from the given manifest.
51
+ * Extracts the UI resource project names from the given manifest.
53
52
  *
54
- * @param manifest Forge manifest to scan for Custom UI projects.
55
- * @returns List of project names representing Custom UI projects.
53
+ * @param manifest Forge manifest to scan for UI resource projects.
54
+ * @returns List of project names representing UI resource projects.
56
55
  */
57
- const extractCustomUIProjectNames = (manifest) => {
58
- return (manifest.resources || []).map((r) => r.path);
56
+ const extractUIResourceProjectNames = (manifest) => {
57
+ return (manifest.resources || [])
58
+ .filter((0, util_manifest_1.isResourceType)(manifest, ['ui-kit', 'custom-ui']))
59
+ .map((r) => r.path);
59
60
  };
60
- exports.extractCustomUIProjectNames = extractCustomUIProjectNames;
61
+ exports.extractUIResourceProjectNames = extractUIResourceProjectNames;
61
62
  //# sourceMappingURL=manifest-yml.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"manifest-yml.js","sourceRoot":"","sources":["../../../../../../packages/nx-forge/src/utils/forge/manifest-yml.ts"],"names":[],"mappings":";;;;AAAA,8CAMyB;AACzB,qGAA+E;AAC/E,qCAA+B;AAC/B,2BAAmC;AAGnC,MAAM,oBAAqB,SAAQ,sCAA2C;IAC5E;QACE,KAAK,CAAC;YACJ,IAAI,wBAAa,EAAE;YACnB,IAAI,wBAAa,EAAE;YACnB,IAAI,0BAAe,CAAC,WAAW,CAAC;SACjC,CAAC,CAAC;IACL,CAAC;CACF;AAMD,MAAM,sBAAsB,GAAoC,CAC9D,gBAAwB,EACxB,EAAE,CAAC,IAAI,oBAAoB,EAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;AAE1D,MAAM,sBAAsB,GAA4C,CACtE,eAA+B,EAC/B,EAAE,CACF,IAAI,0BAAe,CAAiB,WAAW,CAAC,CAAC,QAAQ,CAAC;IACxD,WAAW,EAAE,eAAe;CAC7B,CAAC,CAAC;AAEL,MAAM,sBAAsB,GAC1B,CAAI,SAAqC,EAAE,EAAE,CAC7C,CAAO,KAAQ,EAAE,EAAE;IACjB,MAAM,EACJ,cAAc,EACd,OAAO,EAAE,sBAAsB,EAC/B,MAAM,GACP,GAAG,MAAM,SAAS,CAAC,KAAK,CAAC,CAAC;IAE3B,IACE,CAAC,sBAAsB;QACvB,CAAC,cAAc;QACf,CAAC,cAAc,CAAC,YAAY,EAC5B,CAAC;QACD,MAAM,IAAI,KAAK,CACb,sCAAsC,CAAC,MAAM,IAAI,EAAE,CAAC;aACjD,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;aACrB,IAAI,CAAC,IAAI,CAAC,EAAE,CAChB,CAAC;IACJ,CAAC;IAED,MAAM,cAAc,GAAmB,cAAc,CAAC,YAAY,CAAC;IAEnE,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;IACvE,CAAC;IAED,OAAO,cAAc,CAAC;AACxB,CAAC,CAAA,CAAC;AAEG,MAAM,uBAAuB,GAAG,CAAC,eAA+B,EAAE,EAAE,CACzE,sBAAsB,CAAC,sBAAsB,CAAC,CAAC,eAAe,CAAC,CAAC;AADrD,QAAA,uBAAuB,2BAC8B;AAE3D,MAAM,eAAe,GAAG,CAAC,IAAY,EAA2B,EAAE,CACvE,sBAAsB,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,CAAC;AAD1C,QAAA,eAAe,mBAC2B;AAEvD;;;;GAIG;AACI,MAAM,gBAAgB,GAAG,CAAC,IAAY,EAAE,KAAqB,EAAQ,EAAE;IAC5E,MAAM,OAAO,GAAG,IAAA,cAAI,EAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAChC,IAAA,kBAAa,EAAC,IAAI,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;AACrD,CAAC,CAAC;AAHW,QAAA,gBAAgB,oBAG3B;AAEF;;;;;GAKG;AACI,MAAM,2BAA2B,GAAG,CACzC,QAAwB,EACd,EAAE;IACZ,OAAO,CAAC,QAAQ,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AACvD,CAAC,CAAC;AAJW,QAAA,2BAA2B,+BAItC"}
1
+ {"version":3,"file":"manifest-yml.js","sourceRoot":"","sources":["../../../../../../packages/nx-forge/src/utils/forge/manifest-yml.ts"],"names":[],"mappings":";;;;AAAA,8CAMyB;AACzB,qGAA+E;AAC/E,qCAA+B;AAC/B,2BAAmC;AAEnC,uEAAqE;AAErE,MAAM,oBAAqB,SAAQ,sCAA2C;IAC5E;QACE,KAAK,CAAC;YACJ,IAAI,wBAAa,EAAE;YACnB,IAAI,wBAAa,EAAE;YACnB,IAAI,0BAAe,CAAC,WAAW,CAAC;SACjC,CAAC,CAAC;IACL,CAAC;CACF;AAMD,MAAM,sBAAsB,GAAoC,CAC9D,gBAAwB,EACxB,EAAE,CAAC,IAAI,oBAAoB,EAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;AAE1D,MAAM,sBAAsB,GAA4C,CACtE,eAA+B,EAC/B,EAAE,CACF,IAAI,0BAAe,CAAiB,WAAW,CAAC,CAAC,QAAQ,CAAC;IACxD,WAAW,EAAE,eAAe;CAC7B,CAAC,CAAC;AAEL,MAAM,sBAAsB,GAC1B,CAAI,SAAqC,EAAE,EAAE,CAC7C,CAAO,KAAQ,EAAE,EAAE;IACjB,MAAM,EACJ,cAAc,EACd,OAAO,EAAE,sBAAsB,EAC/B,MAAM,GACP,GAAG,MAAM,SAAS,CAAC,KAAK,CAAC,CAAC;IAE3B,IAAI,CAAC,sBAAsB,IAAI,CAAC,CAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,YAAY,CAAA,EAAE,CAAC;QAC7D,MAAM,IAAI,KAAK,CACb,sCAAsC,CAAC,MAAM,IAAI,EAAE,CAAC;aACjD,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;aACrB,IAAI,CAAC,IAAI,CAAC,EAAE,CAChB,CAAC;IACJ,CAAC;IAED,MAAM,cAAc,GAAmB,cAAc,CAAC,YAAY,CAAC;IAEnE,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;IACvE,CAAC;IAED,OAAO,cAAc,CAAC;AACxB,CAAC,CAAA,CAAC;AAEG,MAAM,uBAAuB,GAAG,CAAC,eAA+B,EAAE,EAAE,CACzE,sBAAsB,CAAC,sBAAsB,CAAC,CAAC,eAAe,CAAC,CAAC;AADrD,QAAA,uBAAuB,2BAC8B;AAE3D,MAAM,eAAe,GAAG,CAAC,IAAY,EAA2B,EAAE,CACvE,sBAAsB,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,CAAC;AAD1C,QAAA,eAAe,mBAC2B;AAEvD;;;;GAIG;AACI,MAAM,gBAAgB,GAAG,CAAC,IAAY,EAAE,KAAqB,EAAQ,EAAE;IAC5E,MAAM,OAAO,GAAG,IAAA,cAAI,EAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAChC,IAAA,kBAAa,EAAC,IAAI,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;AACrD,CAAC,CAAC;AAHW,QAAA,gBAAgB,oBAG3B;AAEF;;;;;GAKG;AACI,MAAM,6BAA6B,GAAG,CAC3C,QAAwB,EACd,EAAE;IACZ,OAAO,CAAC,QAAQ,CAAC,SAAS,IAAI,EAAE,CAAC;SAC9B,MAAM,CAAC,IAAA,8BAAc,EAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC;SACzD,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AACxB,CAAC,CAAC;AANW,QAAA,6BAA6B,iCAMxC"}