@toolsplus/nx-forge 6.0.4 → 6.1.0-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 +1 -1
- package/src/executors/build/lib/copy-forge-app-assets.js +2 -13
- package/src/executors/build/lib/copy-forge-app-assets.js.map +1 -1
- package/src/executors/build/lib/process-resource-dependencies.js +16 -4
- package/src/executors/build/lib/process-resource-dependencies.js.map +1 -1
- package/src/executors/package/lib/generate-package-json.js +1 -1
- package/src/executors/package/lib/generate-package-json.js.map +1 -1
- package/src/generators/application/files/README.md +17 -9
- package/src/utils/util-fs.d.ts +6 -0
- package/src/utils/util-fs.js +18 -0
- package/src/utils/util-fs.js.map +1 -0
package/package.json
CHANGED
|
@@ -4,22 +4,11 @@ exports.copyForgeAppAssets = copyForgeAppAssets;
|
|
|
4
4
|
const fs_1 = require("fs");
|
|
5
5
|
const path_1 = require("path");
|
|
6
6
|
const devkit_1 = require("@nx/devkit");
|
|
7
|
-
|
|
8
|
-
* Check if a directory exists
|
|
9
|
-
* @param path Path to directory
|
|
10
|
-
*/
|
|
11
|
-
function directoryExists(path) {
|
|
12
|
-
try {
|
|
13
|
-
return (0, fs_1.statSync)(path).isDirectory();
|
|
14
|
-
}
|
|
15
|
-
catch (_a) {
|
|
16
|
-
return false;
|
|
17
|
-
}
|
|
18
|
-
}
|
|
7
|
+
const util_fs_1 = require("../../../utils/util-fs");
|
|
19
8
|
function copyForgeAppAssets(options) {
|
|
20
9
|
devkit_1.logger.info('Copying Forge app assets...');
|
|
21
10
|
const absoluteOutputPath = (0, path_1.resolve)(options.root, options.outputPath);
|
|
22
|
-
if (!directoryExists(absoluteOutputPath)) {
|
|
11
|
+
if (!(0, util_fs_1.directoryExists)(absoluteOutputPath)) {
|
|
23
12
|
(0, fs_1.mkdirSync)(absoluteOutputPath, { recursive: true });
|
|
24
13
|
}
|
|
25
14
|
// Copies the Forge app manifest file from the project root directory into the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"copy-forge-app-assets.js","sourceRoot":"","sources":["../../../../../../../packages/nx-forge/src/executors/build/lib/copy-forge-app-assets.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"copy-forge-app-assets.js","sourceRoot":"","sources":["../../../../../../../packages/nx-forge/src/executors/build/lib/copy-forge-app-assets.ts"],"names":[],"mappings":";;AAQA,gDAiBC;AAzBD,2BAA6C;AAC7C,+BAAqC;AACrC,uCAAoC;AAEpC,oDAAyD;AAIzD,SAAgB,kBAAkB,CAAC,OAAgB;IACjD,eAAM,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;IAE3C,MAAM,kBAAkB,GAAG,IAAA,cAAO,EAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IAErE,IAAI,CAAC,IAAA,yBAAe,EAAC,kBAAkB,CAAC,EAAE,CAAC;QACzC,IAAA,cAAS,EAAC,kBAAkB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACrD,CAAC;IAED,8EAA8E;IAC9E,0BAA0B;IAC1B,IAAA,iBAAY,EACV,IAAA,WAAI,EAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,WAAW,EAAE,cAAc,CAAC,EACvD,IAAA,WAAI,EAAC,kBAAkB,EAAE,cAAc,CAAC,CACzC,CAAC;IAEF,eAAM,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;AAChD,CAAC"}
|
|
@@ -6,6 +6,7 @@ const fs_1 = require("fs");
|
|
|
6
6
|
const devkit_1 = require("@nx/devkit");
|
|
7
7
|
const manifest_yml_1 = require("../../../utils/forge/manifest-yml");
|
|
8
8
|
const util_manifest_1 = require("../../../shared/manifest/util-manifest");
|
|
9
|
+
const util_fs_1 = require("../../../utils/util-fs");
|
|
9
10
|
/**
|
|
10
11
|
* Verifies that UI resource projects are correctly linked to the Nx Forge app
|
|
11
12
|
* and copies build artifacts into the app's output directory. In particular,
|
|
@@ -24,9 +25,14 @@ async function processResourceDependencies(options, context) {
|
|
|
24
25
|
});
|
|
25
26
|
const resources = (_a = manifestSchema.resources) !== null && _a !== void 0 ? _a : [];
|
|
26
27
|
const uiResources = resources.filter((0, util_manifest_1.isResourceType)(manifestSchema, ['ui-kit', 'custom-ui']));
|
|
27
|
-
|
|
28
|
-
.
|
|
29
|
-
|
|
28
|
+
if (uiResources.length > 0) {
|
|
29
|
+
devkit_1.logger.info(`Detected the following UI resources in the manifest.yml:\n${uiResources
|
|
30
|
+
.map((r) => ` - ${r.key}`)
|
|
31
|
+
.join('\n')}`);
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
devkit_1.logger.info(`Plugin did not detected any UI resources in the manifest.yml`);
|
|
35
|
+
}
|
|
30
36
|
uiResources.forEach((r) => verifyAndCopyResourceDependency(r, context, options));
|
|
31
37
|
return uiResources;
|
|
32
38
|
}
|
|
@@ -76,7 +82,13 @@ const verifyAndCopyResourceDependency = (resource, context, options) => {
|
|
|
76
82
|
throw new Error(`Project ${resourceProjectName} has no build artifacts in output directory '${resourceBuildTargetOutputPath}'. Make sure the project produces compatible build artifacts.`);
|
|
77
83
|
}
|
|
78
84
|
devkit_1.logger.info(`Copying ${resource.key} (${resourceProjectName}) resource build artifacts...`);
|
|
79
|
-
|
|
85
|
+
const absoluteResourceOutputPath = (0, devkit_1.joinPathFragments)(options.root, options.outputPath, options.resourcePath, resourceProjectName);
|
|
86
|
+
if (!(0, util_fs_1.directoryExists)(absoluteResourceOutputPath)) {
|
|
87
|
+
(0, fs_1.rmSync)(absoluteResourceOutputPath, { recursive: true });
|
|
88
|
+
}
|
|
89
|
+
(0, fs_extra_1.copySync)(absoluteResourceBuildTargetOutputPath, absoluteResourceOutputPath, {
|
|
90
|
+
recursive: true,
|
|
91
|
+
});
|
|
80
92
|
devkit_1.logger.info(`Done copying ${resource.key} (${resourceProjectName}) resource build artifacts.`);
|
|
81
93
|
};
|
|
82
94
|
//# sourceMappingURL=process-resource-dependencies.js.map
|
|
@@ -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":";;
|
|
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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate-package-json.js","sourceRoot":"","sources":["../../../../../../../packages/nx-forge/src/executors/package/lib/generate-package-json.ts"],"names":[],"mappings":";;AA6BA,kDAuCC;AAnED,uCAAyD;AAEzD,+BAIgB;AAChB,+BAA+B;AAC/B,+DAA0D;AAY1D;;;;;;;GAOG;AACH,SAAgB,mBAAmB,CAAC,OAAgB;;IAClD,MAAM,kBAAkB,GAAG,IAAA,0CAAqC,EAC9D,OAAO,CAAC,IAAI,EACZ,OAAO,CAAC,WAAW,EACnB,OAAO,CAAC,YAAY,CACrB,CAAC;IAEF,MAAM,aAAa,GAAG,CAAC,CAAC,IAAA,iBAAY,EAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC;IAC7E,MAAM,yBAAyB,GAC7B,aAAa;QACb,kBAAkB,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,KAAK,qBAAgB,CAAC,GAAG,CAAC,CAAC;IAEzE,IAAI,yBAAyB,EAAE,CAAC;QAC9B,kBAAkB,CAAC,IAAI,CAAC;YACtB,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"generate-package-json.js","sourceRoot":"","sources":["../../../../../../../packages/nx-forge/src/executors/package/lib/generate-package-json.ts"],"names":[],"mappings":";;AA6BA,kDAuCC;AAnED,uCAAyD;AAEzD,+BAIgB;AAChB,+BAA+B;AAC/B,+DAA0D;AAY1D;;;;;;;GAOG;AACH,SAAgB,mBAAmB,CAAC,OAAgB;;IAClD,MAAM,kBAAkB,GAAG,IAAA,0CAAqC,EAC9D,OAAO,CAAC,IAAI,EACZ,OAAO,CAAC,WAAW,EACnB,OAAO,CAAC,YAAY,CACrB,CAAC;IAEF,MAAM,aAAa,GAAG,CAAC,CAAC,IAAA,iBAAY,EAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC;IAC7E,MAAM,yBAAyB,GAC7B,aAAa;QACb,kBAAkB,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,KAAK,qBAAgB,CAAC,GAAG,CAAC,CAAC;IAEzE,IAAI,yBAAyB,EAAE,CAAC;QAC9B,kBAAkB,CAAC,IAAI,CAAC;YACtB,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,OAAO,CAAC,WAAW;YAC3B,MAAM,EAAE,qBAAgB,CAAC,GAAG;SAC7B,CAAC,CAAC;IACL,CAAC;IAED,MAAM,WAAW,GAAG,IAAA,uCAAiB,EACnC,OAAO,CAAC,WAAW,EACnB,OAAO,CAAC,YAAY,EACpB,OAAO,CAAC,iBAAiB,EACzB;QACE,MAAM,EAAE,SAAS;QACjB,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,YAAY,EAAE,IAAI;QAClB,kBAAkB,EAAE,kBAAkB,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC;KAChE,CACF,CAAC;IAEF,WAAW,CAAC,IAAI,GAAG,MAAA,WAAW,CAAC,IAAI,mCAAI,UAAU,CAAC;IAClD,OAAO,WAAW,CAAC,eAAe,CAAC;IAEnC,IAAA,sBAAa,EACX,GAAG,IAAA,cAAO,EAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,eAAe,EAC3D,WAAW,CACZ,CAAC;AACJ,CAAC"}
|
|
@@ -1,16 +1,22 @@
|
|
|
1
1
|
# <%= name %>
|
|
2
2
|
|
|
3
|
+
For the most up-to-date Nx Forge plugin documentation refer to https://toolsplus.github.io/nx-forge/
|
|
4
|
+
|
|
3
5
|
## Prerequisites
|
|
4
6
|
|
|
5
7
|
Before you can start using this app with Forge make sure to initially build the app using
|
|
6
8
|
|
|
7
9
|
nx build <%= name %>
|
|
8
10
|
|
|
9
|
-
|
|
11
|
+
and package it using
|
|
12
|
+
|
|
13
|
+
nx package <%= name %>
|
|
10
14
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
15
|
+
After that, proceed with the initial registration of the app with the Forge platform by running the following commands (from the workspace root):
|
|
16
|
+
|
|
17
|
+
nx register <%= name %>
|
|
18
|
+
nx deploy <%= name %>
|
|
19
|
+
nx install <%= name %> --site <my-atlassian-site.atlassian.net> --product jira --no-interactive
|
|
14
20
|
|
|
15
21
|
This will initially register the app with the Forge platform, deploy the code and finally install the app on any of your Atlassian applications.
|
|
16
22
|
|
|
@@ -18,9 +24,9 @@ This will initially register the app with the Forge platform, deploy the code an
|
|
|
18
24
|
|
|
19
25
|
Before you tunnel a Forge app, make sure you have completed the prerequisites steps above. After that, run
|
|
20
26
|
|
|
21
|
-
nx
|
|
27
|
+
nx tunnel <%= name %>
|
|
22
28
|
|
|
23
|
-
This will start the `
|
|
29
|
+
This will start the `tunnel` target for all UI projects defined in the app `manifest.yml` on their specified tunnel port. After that, it will start a build process in watch mode for the Forge app itself, before ultimately, starting the `forge tunnel` process for the Forge app.
|
|
24
30
|
|
|
25
31
|
## Manual dev loop
|
|
26
32
|
|
|
@@ -28,12 +34,14 @@ When the app code changes, the updated code has to rebuilt by calling
|
|
|
28
34
|
|
|
29
35
|
nx build <%= name %>
|
|
30
36
|
|
|
37
|
+
then re-packaged with
|
|
38
|
+
|
|
39
|
+
nx package <%= name %>
|
|
40
|
+
|
|
31
41
|
and re-deployed to the Forge platform using
|
|
32
42
|
|
|
33
43
|
nx deploy <%= name %>
|
|
34
44
|
|
|
35
45
|
If the app's `manifest.yml` changed, you may have to upgrade an existing installation by running
|
|
36
46
|
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
from within the dist directory.
|
|
47
|
+
nx install <%= name %> --site <my-atlassian-site.atlassian.net> --product jira --upgrade
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.directoryExists = void 0;
|
|
4
|
+
const fs_1 = require("fs");
|
|
5
|
+
/**
|
|
6
|
+
* Check if a directory exists
|
|
7
|
+
* @param path Path to directory
|
|
8
|
+
*/
|
|
9
|
+
const directoryExists = (path) => {
|
|
10
|
+
try {
|
|
11
|
+
return (0, fs_1.statSync)(path).isDirectory();
|
|
12
|
+
}
|
|
13
|
+
catch (_a) {
|
|
14
|
+
return false;
|
|
15
|
+
}
|
|
16
|
+
};
|
|
17
|
+
exports.directoryExists = directoryExists;
|
|
18
|
+
//# sourceMappingURL=util-fs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"util-fs.js","sourceRoot":"","sources":["../../../../../packages/nx-forge/src/utils/util-fs.ts"],"names":[],"mappings":";;;AAAA,2BAAwC;AAExC;;;GAGG;AACI,MAAM,eAAe,GAAG,CAAC,IAAc,EAAW,EAAE;IACzD,IAAI,CAAC;QACH,OAAO,IAAA,aAAQ,EAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;IACtC,CAAC;IAAC,WAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC,CAAC;AANW,QAAA,eAAe,mBAM1B"}
|