@toolsplus/nx-forge 1.3.2 → 1.3.3

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": "1.3.2",
3
+ "version": "1.3.3",
4
4
  "description": "Atlassian Forge plugin for Nx",
5
5
  "main": "src/index.js",
6
6
  "generators": "./generators.json",
@@ -51,10 +51,10 @@ function runExecutor(rawOptions, context) {
51
51
  finally { if (e_1) throw e_1.error; }
52
52
  }
53
53
  (0, copy_forge_app_assets_1.copyForgeAppAssets)(options);
54
- yield (0, process_custom_ui_dependencies_1.processCustomUIDependencies)(options, context);
54
+ const customUIResources = yield (0, process_custom_ui_dependencies_1.processCustomUIDependencies)(options, context);
55
55
  yield (0, patch_manifest_yml_1.patchManifestYml)(options);
56
56
  const projectGraph = yield readOrCreateProjectGraph();
57
- (0, generate_package_json_1.generatePackageJson)(context.projectName, projectGraph, options);
57
+ (0, generate_package_json_1.generatePackageJson)(context.projectName, projectGraph, customUIResources, options);
58
58
  console.log('Executor ran for build');
59
59
  return {
60
60
  success: true,
@@ -1 +1 @@
1
- {"version":3,"file":"executor.js","sourceRoot":"","sources":["../../../../../../packages/forge/src/executors/build/executor.ts"],"names":[],"mappings":";;;AAEA,+DAA2D;AAC3D,yFAAmF;AACnF,iEAA4D;AAC5D,uEAAkE;AAClE,0EAAgF;AAChF,2DAAuD;AACvD,uEAAiE;AACjE,yCAAuD;AAEvD;;;GAGG;AACH,SAAe,wBAAwB;;QACrC,IAAI;YACF,OAAO,IAAA,sCAAsB,GAAE,CAAC;SACjC;QAAC,OAAO,CAAC,EAAE;YACV,OAAO,IAAA,gCAAuB,GAAE,CAAC;SAClC;IACH,CAAC;CAAA;AAED,SAA8B,WAAW,CACvC,UAAgC,EAChC,OAAwB;;;QAExB,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAE7E,IAAI,CAAC,UAAU,EAAE;YACf,MAAM,IAAI,KAAK,CAAC,GAAG,OAAO,CAAC,WAAW,8BAA8B,CAAC,CAAC;SACvE;QAED,IAAI,CAAC,IAAI,EAAE;YACT,MAAM,IAAI,KAAK,CAAC,GAAG,OAAO,CAAC,WAAW,wBAAwB,CAAC,CAAC;SACjE;QAED,MAAM,OAAO,GAAG,IAAA,oCAAgB,EAAC,UAAU,EAAE,OAAO,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;QAC7E,MAAM,WAAW,GAAG,IAAA,gCAAc,EAAC,OAAO,EAAE,OAAO,CAAC,CAAC;;YAErD,KAA2B,IAAA,gBAAA,sBAAA,WAAW,CAAA,iBAAA;gBAA3B,MAAM,MAAM,wBAAA,CAAA;gBACrB,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;oBACnB,MAAM,IAAI,KAAK,CACb,uCAAuC,OAAO,CAAC,WAAW,GAAG,CAC9D,CAAC;iBACH;aACF;;;;;;;;;QAED,IAAA,0CAAkB,EAAC,OAAO,CAAC,CAAC;QAC5B,MAAM,IAAA,4DAA2B,EAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACpD,MAAM,IAAA,qCAAgB,EAAC,OAAO,CAAC,CAAC;QAChC,MAAM,YAAY,GAAG,MAAM,wBAAwB,EAAE,CAAC;QACtD,IAAA,2CAAmB,EAAC,OAAO,CAAC,WAAW,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;QAEhE,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;QACtC,OAAO;YACL,OAAO,EAAE,IAAI;SACd,CAAC;;CACH;AAnCD,8BAmCC"}
1
+ {"version":3,"file":"executor.js","sourceRoot":"","sources":["../../../../../../packages/forge/src/executors/build/executor.ts"],"names":[],"mappings":";;;AAEA,+DAA2D;AAC3D,yFAAmF;AACnF,iEAA4D;AAC5D,uEAAkE;AAClE,0EAAgF;AAChF,2DAAuD;AACvD,uEAAiE;AACjE,yCAAuD;AAEvD;;;GAGG;AACH,SAAe,wBAAwB;;QACrC,IAAI;YACF,OAAO,IAAA,sCAAsB,GAAE,CAAC;SACjC;QAAC,OAAO,CAAC,EAAE;YACV,OAAO,IAAA,gCAAuB,GAAE,CAAC;SAClC;IACH,CAAC;CAAA;AAED,SAA8B,WAAW,CACvC,UAAgC,EAChC,OAAwB;;;QAExB,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAE7E,IAAI,CAAC,UAAU,EAAE;YACf,MAAM,IAAI,KAAK,CAAC,GAAG,OAAO,CAAC,WAAW,8BAA8B,CAAC,CAAC;SACvE;QAED,IAAI,CAAC,IAAI,EAAE;YACT,MAAM,IAAI,KAAK,CAAC,GAAG,OAAO,CAAC,WAAW,wBAAwB,CAAC,CAAC;SACjE;QAED,MAAM,OAAO,GAAG,IAAA,oCAAgB,EAAC,UAAU,EAAE,OAAO,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;QAC7E,MAAM,WAAW,GAAG,IAAA,gCAAc,EAAC,OAAO,EAAE,OAAO,CAAC,CAAC;;YAErD,KAA2B,IAAA,gBAAA,sBAAA,WAAW,CAAA,iBAAA;gBAA3B,MAAM,MAAM,wBAAA,CAAA;gBACrB,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;oBACnB,MAAM,IAAI,KAAK,CACb,uCAAuC,OAAO,CAAC,WAAW,GAAG,CAC9D,CAAC;iBACH;aACF;;;;;;;;;QAED,IAAA,0CAAkB,EAAC,OAAO,CAAC,CAAC;QAC5B,MAAM,iBAAiB,GAAG,MAAM,IAAA,4DAA2B,EAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC9E,MAAM,IAAA,qCAAgB,EAAC,OAAO,CAAC,CAAC;QAChC,MAAM,YAAY,GAAG,MAAM,wBAAwB,EAAE,CAAC;QACtD,IAAA,2CAAmB,EACjB,OAAO,CAAC,WAAW,EACnB,YAAY,EACZ,iBAAiB,EACjB,OAAO,CACR,CAAC;QAEF,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;QACtC,OAAO;YACL,OAAO,EAAE,IAAI;SACd,CAAC;;CACH;AAxCD,8BAwCC"}
@@ -1,11 +1,13 @@
1
1
  import type { ProjectGraph } from '@nrwl/devkit';
2
2
  import { NormalizedOptions } from '../schema';
3
+ import { Resources } from '@forge/manifest';
3
4
  /**
4
5
  * Merges the existing package.json details with a generated package.json that includes
5
6
  * all required dependencies.
6
7
  *
7
8
  * @param projectName Name of the project
8
9
  * @param graph Graph associated with the project
10
+ * @param customUIResources Configured Custom UI resources
9
11
  * @param options Builder options
10
12
  */
11
- export declare function generatePackageJson(projectName: string, graph: ProjectGraph, options: NormalizedOptions): void;
13
+ export declare function generatePackageJson(projectName: string, graph: ProjectGraph, customUIResources: Resources, options: NormalizedOptions): void;
@@ -2,21 +2,122 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.generatePackageJson = void 0;
4
4
  const devkit_1 = require("@nrwl/devkit");
5
- const create_package_json_1 = require("@nrwl/workspace/src/utilities/create-package-json");
5
+ const object_sort_1 = require("nx/src/utils/object-sort");
6
6
  /**
7
7
  * Merges the existing package.json details with a generated package.json that includes
8
8
  * all required dependencies.
9
9
  *
10
10
  * @param projectName Name of the project
11
11
  * @param graph Graph associated with the project
12
+ * @param customUIResources Configured Custom UI resources
12
13
  * @param options Builder options
13
14
  */
14
- function generatePackageJson(projectName, graph, options) {
15
+ function generatePackageJson(projectName, graph, customUIResources, options) {
15
16
  var _a;
16
- const packageJson = (0, create_package_json_1.createPackageJson)(projectName, graph, options);
17
+ const packageJson = createPackageJson(projectName, graph, customUIResources, options);
17
18
  packageJson.main = (_a = packageJson.main) !== null && _a !== void 0 ? _a : options.outputFileName;
18
19
  delete packageJson.devDependencies;
19
20
  (0, devkit_1.writeJsonFile)(`${options.outputPath}/package.json`, packageJson);
20
21
  }
21
22
  exports.generatePackageJson = generatePackageJson;
23
+ /**
24
+ * Creates a package.json in the output directory for support to install dependencies within containers.
25
+ *
26
+ * If a package.json exists in the project, it will reuse that.
27
+ *
28
+ * Initial implementation copied from `create-package.json.ts` in Nx 15.2.4 linked below. The implementation is
29
+ * modified to not include dependencies from Custom UI projects marked as implicit dependencies.
30
+ *
31
+ * @see https://github.com/nrwl/nx/blob/15.2.4/packages/workspace/src/utilities/create-package-json.ts
32
+ */
33
+ function createPackageJson(projectName, graph, customUIResources, options) {
34
+ const customUIProjectNames = customUIResources.map((r) => r.path);
35
+ const npmDeps = findAllNpmDeps(projectName, graph, customUIProjectNames);
36
+ // default package.json if one does not exist
37
+ let packageJson = {
38
+ name: projectName,
39
+ version: '0.0.1',
40
+ dependencies: {},
41
+ devDependencies: {},
42
+ };
43
+ try {
44
+ packageJson = (0, devkit_1.readJsonFile)(`${options.projectRoot}/package.json`);
45
+ if (!packageJson.dependencies) {
46
+ packageJson.dependencies = {};
47
+ }
48
+ if (!packageJson.devDependencies) {
49
+ packageJson.devDependencies = {};
50
+ }
51
+ }
52
+ catch (e) {
53
+ // do nothing
54
+ }
55
+ const rootPackageJson = (0, devkit_1.readJsonFile)(`${options.root}/package.json`);
56
+ Object.entries(npmDeps).forEach(([packageName, version]) => {
57
+ var _a;
58
+ if (((_a = rootPackageJson.devDependencies) === null || _a === void 0 ? void 0 : _a[packageName]) &&
59
+ !packageJson.dependencies[packageName]) {
60
+ packageJson.devDependencies[packageName] = version;
61
+ }
62
+ else {
63
+ packageJson.dependencies[packageName] = version;
64
+ }
65
+ });
66
+ packageJson.devDependencies && (packageJson.devDependencies = (0, object_sort_1.sortObjectByKeys)(packageJson.devDependencies));
67
+ packageJson.dependencies && (packageJson.dependencies = (0, object_sort_1.sortObjectByKeys)(packageJson.dependencies));
68
+ return packageJson;
69
+ }
70
+ function findAllNpmDeps(projectName, graph, customUIProjectNames, list = {}, seen = new Set()) {
71
+ var _a;
72
+ if (seen.has(projectName)) {
73
+ return list;
74
+ }
75
+ seen.add(projectName);
76
+ const node = graph.externalNodes[projectName];
77
+ if (node) {
78
+ list[node.data.packageName] = node.data.version;
79
+ recursivelyCollectPeerDependencies(node.name, graph, list);
80
+ }
81
+ else {
82
+ // we are not interested in the dependencies of external projects
83
+ (_a = graph.dependencies[projectName]) === null || _a === void 0 ? void 0 : _a.forEach((dep) => {
84
+ // Only include dependencies if they are either not implicit, or if it is not a Custom UI project
85
+ if (dep.type !== devkit_1.DependencyType.implicit ||
86
+ !customUIProjectNames.includes(dep.target)) {
87
+ findAllNpmDeps(dep.target, graph, customUIProjectNames, list, seen);
88
+ }
89
+ });
90
+ }
91
+ return list;
92
+ }
93
+ function recursivelyCollectPeerDependencies(projectName, graph, list = {}, seen = new Set()) {
94
+ const npmPackage = graph.externalNodes[projectName];
95
+ if (!npmPackage || seen.has(projectName)) {
96
+ return list;
97
+ }
98
+ seen.add(projectName);
99
+ const packageName = npmPackage.data.packageName;
100
+ try {
101
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
102
+ const packageJson = require(`${packageName}/package.json`);
103
+ if (!packageJson.peerDependencies) {
104
+ return list;
105
+ }
106
+ Object.keys(packageJson.peerDependencies)
107
+ .map((dependencyName) => `npm:${dependencyName}`)
108
+ .map((dependency) => graph.externalNodes[dependency])
109
+ .filter(Boolean)
110
+ .forEach((node) => {
111
+ var _a, _b;
112
+ if (!((_b = (_a = packageJson.peerDependenciesMeta) === null || _a === void 0 ? void 0 : _a[node.data.packageName]) === null || _b === void 0 ? void 0 : _b.optional)) {
113
+ list[node.data.packageName] = node.data.version;
114
+ recursivelyCollectPeerDependencies(node.name, graph, list, seen);
115
+ }
116
+ });
117
+ return list;
118
+ }
119
+ catch (e) {
120
+ return list;
121
+ }
122
+ }
22
123
  //# sourceMappingURL=generate-package-json.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"generate-package-json.js","sourceRoot":"","sources":["../../../../../../../packages/forge/src/executors/build/lib/generate-package-json.ts"],"names":[],"mappings":";;;AACA,yCAA6C;AAC7C,2FAAsF;AAGtF;;;;;;;GAOG;AACH,SAAgB,mBAAmB,CACjC,WAAmB,EACnB,KAAmB,EACnB,OAA0B;;IAE1B,MAAM,WAAW,GAAG,IAAA,uCAAiB,EAAC,WAAW,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IACnE,WAAW,CAAC,IAAI,GAAG,MAAA,WAAW,CAAC,IAAI,mCAAI,OAAO,CAAC,cAAc,CAAC;IAC9D,OAAO,WAAW,CAAC,eAAe,CAAC;IACnC,IAAA,sBAAa,EAAC,GAAG,OAAO,CAAC,UAAU,eAAe,EAAE,WAAW,CAAC,CAAC;AACnE,CAAC;AATD,kDASC"}
1
+ {"version":3,"file":"generate-package-json.js","sourceRoot":"","sources":["../../../../../../../packages/forge/src/executors/build/lib/generate-package-json.ts"],"names":[],"mappings":"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"}