@toolsplus/nx-forge 4.0.0 → 4.0.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,6 +1,6 @@
1
1
  {
2
2
  "name": "@toolsplus/nx-forge",
3
- "version": "4.0.0",
3
+ "version": "4.0.1",
4
4
  "description": "Atlassian Forge plugin for Nx",
5
5
  "main": "./src/index.js",
6
6
  "typings": "./src/index.d.ts",
@@ -2,10 +2,10 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.normalizeOptions = void 0;
4
4
  function normalizeOptions(options, root, sourceRoot, projectRoot) {
5
- var _a, _b;
5
+ var _a, _b, _c;
6
6
  return Object.assign(Object.assign({}, options), { root,
7
7
  sourceRoot,
8
- projectRoot, customUIPath: (_a = options.customUIPath) !== null && _a !== void 0 ? _a : 'customUI', outputFileName: 'index.js', watch: (_b = options.watch) !== null && _b !== void 0 ? _b : false });
8
+ projectRoot, customUIPath: (_a = options.customUIPath) !== null && _a !== void 0 ? _a : 'customUI', resourceOutputPathMap: (_b = options.resourceOutputPathMap) !== null && _b !== void 0 ? _b : {}, outputFileName: 'index.js', watch: (_c = options.watch) !== null && _c !== void 0 ? _c : false });
9
9
  }
10
10
  exports.normalizeOptions = normalizeOptions;
11
11
  //# sourceMappingURL=normalize-options.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"normalize-options.js","sourceRoot":"","sources":["../../../../../../../packages/nx-forge/src/executors/build/lib/normalize-options.ts"],"names":[],"mappings":";;;AAEA,SAAgB,gBAAgB,CAC9B,OAA6B,EAC7B,IAAY,EACZ,UAAkB,EAClB,WAAmB;;IAEnB,uCACK,OAAO,KACV,IAAI;QACJ,UAAU;QACV,WAAW,EACX,YAAY,EAAE,MAAA,OAAO,CAAC,YAAY,mCAAI,UAAU,EAChD,cAAc,EAAE,UAAU,EAC1B,KAAK,EAAE,MAAA,OAAO,CAAC,KAAK,mCAAI,KAAK,IAC7B;AACJ,CAAC;AAfD,4CAeC"}
1
+ {"version":3,"file":"normalize-options.js","sourceRoot":"","sources":["../../../../../../../packages/nx-forge/src/executors/build/lib/normalize-options.ts"],"names":[],"mappings":";;;AAEA,SAAgB,gBAAgB,CAC9B,OAA6B,EAC7B,IAAY,EACZ,UAAkB,EAClB,WAAmB;;IAEnB,uCACK,OAAO,KACV,IAAI;QACJ,UAAU;QACV,WAAW,EACX,YAAY,EAAE,MAAA,OAAO,CAAC,YAAY,mCAAI,UAAU,EAChD,qBAAqB,EAAE,MAAA,OAAO,CAAC,qBAAqB,mCAAI,EAAE,EAC1D,cAAc,EAAE,UAAU,EAC1B,KAAK,EAAE,MAAA,OAAO,CAAC,KAAK,mCAAI,KAAK,IAC7B;AACJ,CAAC;AAhBD,4CAgBC"}
@@ -1,7 +1,7 @@
1
- import type { ExecutorContext } from '@nx/devkit';
1
+ import { ExecutorContext } from '@nx/devkit';
2
2
  import { Resources } from '@forge/manifest';
3
3
  import { NormalizedOptions } from '../schema';
4
- type Options = Pick<NormalizedOptions, 'root' | 'outputPath' | 'customUIPath'>;
4
+ type Options = Pick<NormalizedOptions, 'root' | 'outputPath' | 'customUIPath' | 'resourceOutputPathMap'>;
5
5
  /**
6
6
  * Verifies that Custom UI projects are correctly linked to the Nx Forge app and copies build artifacts into the app's
7
7
  * output directory. In particular, this will make sure that each resource listed in the manifest.yml has its path
@@ -25,19 +25,42 @@ function processCustomUIDependencies(options, context) {
25
25
  });
26
26
  }
27
27
  exports.processCustomUIDependencies = processCustomUIDependencies;
28
- const verifyAndCopyCustomUIDependency = (resource, context, options) => {
28
+ const getResourceOutputPath = (options, resourceProjectGraphNode, configurationName) => {
29
29
  var _a, _b;
30
+ const resourceProjectName = resourceProjectGraphNode.data.name;
31
+ const maybeResourceOutputPath = options.resourceOutputPathMap[resourceProjectName];
32
+ if (maybeResourceOutputPath &&
33
+ typeof maybeResourceOutputPath === 'string' &&
34
+ maybeResourceOutputPath !== '') {
35
+ return maybeResourceOutputPath;
36
+ }
37
+ const maybeBuildTargetOutputPathOption = (_b = (_a = resourceProjectGraphNode.data.targets['build']) === null || _a === void 0 ? void 0 : _a.options) === null || _b === void 0 ? void 0 : _b.outputPath;
38
+ if (maybeBuildTargetOutputPathOption) {
39
+ return maybeBuildTargetOutputPathOption;
40
+ }
41
+ const [firstOutputDefinition, ...otherOutputDefinitions] = (0, devkit_1.getOutputsForTargetAndConfiguration)({
42
+ project: resourceProjectName,
43
+ target: 'build',
44
+ configuration: configurationName,
45
+ }, {}, resourceProjectGraphNode);
46
+ if (firstOutputDefinition && otherOutputDefinitions.length === 0) {
47
+ return firstOutputDefinition;
48
+ }
49
+ throw new Error(`Failed to infer output path for resource project '${resourceProjectName}': Try to define an explicit output path mapping using the 'resourceOutputPathMap' option of this executor. Add an entry to the mapping object as follows: {'${resourceProjectName}': '<replace-with-project-output-path>'}.`);
50
+ };
51
+ const verifyAndCopyCustomUIDependency = (resource, context, options) => {
30
52
  const customUIProjectName = resource.path;
31
- const customUIProjectConfiguration = context.projectsConfigurations.projects[customUIProjectName];
32
- if (!customUIProjectConfiguration) {
53
+ const customUIProjectGraphNode = context.projectGraph.nodes[customUIProjectName];
54
+ const customUIProjectConfiguration = customUIProjectGraphNode === null || customUIProjectGraphNode === void 0 ? void 0 : customUIProjectGraphNode.data;
55
+ if (!customUIProjectGraphNode || !customUIProjectConfiguration) {
33
56
  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.`);
34
57
  }
35
- const customUIBuildTargetOutputPath = (_b = (_a = customUIProjectConfiguration.targets['build']) === null || _a === void 0 ? void 0 : _a.options) === null || _b === void 0 ? void 0 : _b.outputPath;
58
+ const customUIBuildTargetOutputPath = getResourceOutputPath(options, customUIProjectGraphNode, context.configurationName);
36
59
  const absoluteCustomUIBuildTargetOutputPath = (0, devkit_1.joinPathFragments)(context.root, customUIBuildTargetOutputPath);
37
60
  if (!customUIBuildTargetOutputPath ||
38
61
  !(0, fs_1.existsSync)(absoluteCustomUIBuildTargetOutputPath) ||
39
62
  (0, fs_1.readdirSync)(absoluteCustomUIBuildTargetOutputPath).length === 0) {
40
- throw new Error(`Project ${customUIProjectName} is missing build artifacts. Make sure the project produces Custom UI compatible build artifacts.`);
63
+ throw new Error(`Project ${customUIProjectName} has no build artifacts in output directory '${customUIBuildTargetOutputPath}'. Make sure the project produces Custom UI compatible build artifacts.`);
41
64
  }
42
65
  devkit_1.logger.info(`Copying ${customUIProjectName} Custom UI build artifacts...`);
43
66
  (0, fs_extra_1.copySync)(absoluteCustomUIBuildTargetOutputPath, (0, devkit_1.joinPathFragments)(options.root, options.outputPath, options.customUIPath, customUIProjectName), { recursive: true });
@@ -1 +1 @@
1
- {"version":3,"file":"process-custom-ui-dependencies.js","sourceRoot":"","sources":["../../../../../../../packages/nx-forge/src/executors/build/lib/process-custom-ui-dependencies.ts"],"names":[],"mappings":";;;;AAAA,uCAAoC;AACpC,2BAA6C;AAE7C,uCAAuD;AAIvD,oEAAoE;AAIpE;;;;;;;GAOG;AACH,SAAsB,2BAA2B,CAC/C,OAAgB,EAChB,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,GAAG,MAAA,cAAc,CAAC,SAAS,mCAAI,EAAE,CAAC;QAEjD,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CACtB,+BAA+B,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CACrD,CAAC;QAEF,OAAO,SAAS,CAAC;;CAClB;AAjBD,kEAiBC;AAED,MAAM,+BAA+B,GAAG,CACtC,QAA+B,EAC/B,OAAwB,EACxB,OAAgB,EACV,EAAE;;IACR,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,MAAM,6BAA6B,GACjC,MAAA,MAAA,4BAA4B,CAAC,OAAO,CAAC,OAAO,CAAC,0CAAE,OAAO,0CAAE,UAAU,CAAC;IACrE,MAAM,qCAAqC,GAAG,IAAA,0BAAiB,EAC7D,OAAO,CAAC,IAAI,EACZ,6BAA6B,CAC9B,CAAC;IAEF,IACE,CAAC,6BAA6B;QAC9B,CAAC,IAAA,eAAU,EAAC,qCAAqC,CAAC;QAClD,IAAA,gBAAW,EAAC,qCAAqC,CAAC,CAAC,MAAM,KAAK,CAAC,EAC/D,CAAC;QACD,MAAM,IAAI,KAAK,CACb,WAAW,mBAAmB,mGAAmG,CAClI,CAAC;IACJ,CAAC;IAED,eAAM,CAAC,IAAI,CAAC,WAAW,mBAAmB,+BAA+B,CAAC,CAAC;IAC3E,IAAA,mBAAQ,EACN,qCAAqC,EACrC,IAAA,0BAAiB,EACf,OAAO,CAAC,IAAI,EACZ,OAAO,CAAC,UAAU,EAClB,OAAO,CAAC,YAAY,EACpB,mBAAmB,CACpB,EACD,EAAE,SAAS,EAAE,IAAI,EAAE,CACpB,CAAC;IACF,eAAM,CAAC,IAAI,CAAC,gBAAgB,mBAAmB,6BAA6B,CAAC,CAAC;AAChF,CAAC,CAAC"}
1
+ {"version":3,"file":"process-custom-ui-dependencies.js","sourceRoot":"","sources":["../../../../../../../packages/nx-forge/src/executors/build/lib/process-custom-ui-dependencies.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ export interface BuildExecutorOptions {
4
4
  watch: boolean;
5
5
  sourceMap?: boolean | 'hidden';
6
6
  webpackConfig?: string;
7
+ resourceOutputPathMap?: Record<string, string>;
7
8
  }
8
9
 
9
10
  export interface NormalizedOptions extends BuildExecutorOptions {
@@ -13,4 +14,5 @@ export interface NormalizedOptions extends BuildExecutorOptions {
13
14
  customUIPath: string;
14
15
  outputPath: string;
15
16
  outputFileName: string;
17
+ resourceOutputPathMap: Record<string, string>;
16
18
  }
@@ -14,6 +14,11 @@
14
14
  "type": "string",
15
15
  "description": "Custom UI output path relative to the outputPath."
16
16
  },
17
+ "resourceOutputPathMap": {
18
+ "type": "object",
19
+ "description": "Map of resource project names to their respective output path.",
20
+ "default": {}
21
+ },
17
22
  "watch": {
18
23
  "type": "boolean",
19
24
  "description": "Enable re-building when files change.",
@@ -8,10 +8,10 @@ const patch_manifest_yml_1 = require("../build/lib/patch-manifest-yml");
8
8
  const generate_package_json_1 = require("../build/lib/generate-package-json");
9
9
  const copy_forge_app_assets_1 = require("../build/lib/copy-forge-app-assets");
10
10
  function normalizeOptions(options, root, sourceRoot, projectRoot) {
11
- var _a;
11
+ var _a, _b;
12
12
  return Object.assign(Object.assign({}, options), { root,
13
13
  sourceRoot,
14
- projectRoot, resourcePath: (_a = options.resourcePath) !== null && _a !== void 0 ? _a : 'resources' });
14
+ projectRoot, resourcePath: (_a = options.resourcePath) !== null && _a !== void 0 ? _a : 'resources', resourceOutputPathMap: (_b = options.resourceOutputPathMap) !== null && _b !== void 0 ? _b : {} });
15
15
  }
16
16
  exports.normalizeOptions = normalizeOptions;
17
17
  function runExecutor(rawOptions, context) {
@@ -1 +1 @@
1
- {"version":3,"file":"executor.js","sourceRoot":"","sources":["../../../../../../packages/nx-forge/src/executors/package/executor.ts"],"names":[],"mappings":";;;;AAAA,uCAAqD;AAErD,gGAA0F;AAC1F,wEAAmE;AACnE,8EAAyE;AACzE,8EAAwE;AAExE,SAAgB,gBAAgB,CAC9B,OAA8B,EAC9B,IAAY,EACZ,UAAkB,EAClB,WAAmB;;IAEnB,uCACK,OAAO,KACV,IAAI;QACJ,UAAU;QACV,WAAW,EACX,YAAY,EAAE,MAAA,OAAO,CAAC,YAAY,mCAAI,WAAW,IACjD;AACJ,CAAC;AAbD,4CAaC;AAED,SAA8B,WAAW,CACvC,UAAiC,EACjC,OAAwB;;QAExB,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,GACxB,OAAO,CAAC,sBAAuB,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAY,CAAC,CAAC;QAEjE,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,GAAG,OAAO,CAAC,WAAW,8BAA8B,CAAC,CAAC;QACxE,CAAC;QAED,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,GAAG,OAAO,CAAC,WAAW,wBAAwB,CAAC,CAAC;QAClE,CAAC;QAED,MAAM,OAAO,GAAG,gBAAgB,CAAC,UAAU,EAAE,OAAO,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;QAE7E,IAAA,0CAAkB,EAAC,OAAO,CAAC,CAAC;QAE5B,MAAM,iBAAiB,GAAG,MAAM,IAAA,4DAA2B,kCACpD,OAAO,KAAE,YAAY,EAAE,OAAO,CAAC,YAAY,KAChD,OAAO,CACR,CAAC;QAEF,MAAM,IAAA,qCAAgB,kCAAM,OAAO,KAAE,YAAY,EAAE,OAAO,CAAC,YAAY,IAAG,CAAC;QAE3E,IAAA,2CAAmB,EACjB,OAAO,CAAC,WAAY,EACpB,OAAO,CAAC,YAAa,EACrB,iBAAiB,EACjB,OAAO,CACR,CAAC;QAEF,eAAM,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QACxC,OAAO;YACL,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;CAAA;AArCD,8BAqCC"}
1
+ {"version":3,"file":"executor.js","sourceRoot":"","sources":["../../../../../../packages/nx-forge/src/executors/package/executor.ts"],"names":[],"mappings":";;;;AAAA,uCAAqD;AAErD,gGAA0F;AAC1F,wEAAmE;AACnE,8EAAyE;AACzE,8EAAwE;AAExE,SAAgB,gBAAgB,CAC9B,OAA8B,EAC9B,IAAY,EACZ,UAAkB,EAClB,WAAmB;;IAEnB,uCACK,OAAO,KACV,IAAI;QACJ,UAAU;QACV,WAAW,EACX,YAAY,EAAE,MAAA,OAAO,CAAC,YAAY,mCAAI,WAAW,EACjD,qBAAqB,EAAE,MAAA,OAAO,CAAC,qBAAqB,mCAAI,EAAE,IAC1D;AACJ,CAAC;AAdD,4CAcC;AAED,SAA8B,WAAW,CACvC,UAAiC,EACjC,OAAwB;;QAExB,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,GACxB,OAAO,CAAC,sBAAuB,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAY,CAAC,CAAC;QAEjE,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,GAAG,OAAO,CAAC,WAAW,8BAA8B,CAAC,CAAC;QACxE,CAAC;QAED,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,GAAG,OAAO,CAAC,WAAW,wBAAwB,CAAC,CAAC;QAClE,CAAC;QAED,MAAM,OAAO,GAAG,gBAAgB,CAAC,UAAU,EAAE,OAAO,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;QAE7E,IAAA,0CAAkB,EAAC,OAAO,CAAC,CAAC;QAE5B,MAAM,iBAAiB,GAAG,MAAM,IAAA,4DAA2B,kCACpD,OAAO,KAAE,YAAY,EAAE,OAAO,CAAC,YAAY,KAChD,OAAO,CACR,CAAC;QAEF,MAAM,IAAA,qCAAgB,kCAAM,OAAO,KAAE,YAAY,EAAE,OAAO,CAAC,YAAY,IAAG,CAAC;QAE3E,IAAA,2CAAmB,EACjB,OAAO,CAAC,WAAY,EACpB,OAAO,CAAC,YAAa,EACrB,iBAAiB,EACjB,OAAO,CACR,CAAC;QAEF,eAAM,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QACxC,OAAO;YACL,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;CAAA;AArCD,8BAqCC"}
@@ -1,6 +1,7 @@
1
1
  export interface PackageExecutorSchema {
2
2
  outputPath: string;
3
3
  resourcePath?: string;
4
+ resourceOutputPathMap?: Record<string, string>;
4
5
  }
5
6
 
6
7
  export interface NormalizedOptions extends PackageExecutorSchema {
@@ -9,4 +10,5 @@ export interface NormalizedOptions extends PackageExecutorSchema {
9
10
  projectRoot: string;
10
11
  resourcePath: string;
11
12
  outputPath: string;
13
+ resourceOutputPathMap: Record<string, string>;
12
14
  }
@@ -12,6 +12,11 @@
12
12
  "resourcePath": {
13
13
  "type": "string",
14
14
  "description": "Path where resource files such as Custom UI output is placed relative to the outputPath."
15
+ },
16
+ "resourceOutputPathMap": {
17
+ "type": "object",
18
+ "description": "Map of resource project names to their respective output path.",
19
+ "default": {}
15
20
  }
16
21
  },
17
22
  "required": ["outputPath"]