@unisphere/cli 1.13.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.
Files changed (205) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/README.md +17 -0
  3. package/bundler/context/rollup.js +199 -0
  4. package/bundler/package/bundled-dependencies.js +15 -0
  5. package/bundler/package/fix-package-json-dependencies.js +104 -0
  6. package/bundler/package/rollup.js +116 -0
  7. package/package.json +49 -0
  8. package/src/index.d.ts +2 -0
  9. package/src/index.js +12 -0
  10. package/src/index.js.map +1 -0
  11. package/src/lib/commands/context/activate/check-availability.d.ts +7 -0
  12. package/src/lib/commands/context/activate/check-availability.js +29 -0
  13. package/src/lib/commands/context/activate/check-availability.js.map +1 -0
  14. package/src/lib/commands/context/activate/command.d.ts +2 -0
  15. package/src/lib/commands/context/activate/command.js +16 -0
  16. package/src/lib/commands/context/activate/command.js.map +1 -0
  17. package/src/lib/commands/context/activate/element/command.d.ts +2 -0
  18. package/src/lib/commands/context/activate/element/command.js +73 -0
  19. package/src/lib/commands/context/activate/element/command.js.map +1 -0
  20. package/src/lib/commands/context/activate/loader/command.d.ts +2 -0
  21. package/src/lib/commands/context/activate/loader/command.js +55 -0
  22. package/src/lib/commands/context/activate/loader/command.js.map +1 -0
  23. package/src/lib/commands/context/activate/runtime-file-utils.d.ts +20 -0
  24. package/src/lib/commands/context/activate/runtime-file-utils.js +39 -0
  25. package/src/lib/commands/context/activate/runtime-file-utils.js.map +1 -0
  26. package/src/lib/commands/context/activate/update-runtime-version.d.ts +23 -0
  27. package/src/lib/commands/context/activate/update-runtime-version.js +78 -0
  28. package/src/lib/commands/context/activate/update-runtime-version.js.map +1 -0
  29. package/src/lib/commands/context/activate/verify-env-readiness.d.ts +8 -0
  30. package/src/lib/commands/context/activate/verify-env-readiness.js +54 -0
  31. package/src/lib/commands/context/activate/verify-env-readiness.js.map +1 -0
  32. package/src/lib/commands/context/activate/workspace/command.d.ts +2 -0
  33. package/src/lib/commands/context/activate/workspace/command.js +60 -0
  34. package/src/lib/commands/context/activate/workspace/command.js.map +1 -0
  35. package/src/lib/commands/context/build-command.d.ts +2 -0
  36. package/src/lib/commands/context/build-command.js +74 -0
  37. package/src/lib/commands/context/build-command.js.map +1 -0
  38. package/src/lib/commands/context/context-command.d.ts +2 -0
  39. package/src/lib/commands/context/context-command.js +19 -0
  40. package/src/lib/commands/context/context-command.js.map +1 -0
  41. package/src/lib/commands/context/publish/command.d.ts +2 -0
  42. package/src/lib/commands/context/publish/command.js +82 -0
  43. package/src/lib/commands/context/publish/command.js.map +1 -0
  44. package/src/lib/commands/context/publish/execute/execute.d.ts +2 -0
  45. package/src/lib/commands/context/publish/execute/execute.js +118 -0
  46. package/src/lib/commands/context/publish/execute/execute.js.map +1 -0
  47. package/src/lib/commands/context/publish/execute/sync-element.d.ts +8 -0
  48. package/src/lib/commands/context/publish/execute/sync-element.js +58 -0
  49. package/src/lib/commands/context/publish/execute/sync-element.js.map +1 -0
  50. package/src/lib/commands/context/publish/prepare/build-nx-runtimes.d.ts +11 -0
  51. package/src/lib/commands/context/publish/prepare/build-nx-runtimes.js +112 -0
  52. package/src/lib/commands/context/publish/prepare/build-nx-runtimes.js.map +1 -0
  53. package/src/lib/commands/context/publish/prepare/prepare.d.ts +2 -0
  54. package/src/lib/commands/context/publish/prepare/prepare.js +122 -0
  55. package/src/lib/commands/context/publish/prepare/prepare.js.map +1 -0
  56. package/src/lib/commands/context/publish/types.d.ts +15 -0
  57. package/src/lib/commands/context/publish/types.js +3 -0
  58. package/src/lib/commands/context/publish/types.js.map +1 -0
  59. package/src/lib/commands/context/serve-command.d.ts +2 -0
  60. package/src/lib/commands/context/serve-command.js +76 -0
  61. package/src/lib/commands/context/serve-command.js.map +1 -0
  62. package/src/lib/commands/info/command.d.ts +2 -0
  63. package/src/lib/commands/info/command.js +51 -0
  64. package/src/lib/commands/info/command.js.map +1 -0
  65. package/src/lib/commands/init/command.d.ts +2 -0
  66. package/src/lib/commands/init/command.js +46 -0
  67. package/src/lib/commands/init/command.js.map +1 -0
  68. package/src/lib/commands/package/build-command.d.ts +2 -0
  69. package/src/lib/commands/package/build-command.js +70 -0
  70. package/src/lib/commands/package/build-command.js.map +1 -0
  71. package/src/lib/commands/package/link/command.d.ts +2 -0
  72. package/src/lib/commands/package/link/command.js +110 -0
  73. package/src/lib/commands/package/link/command.js.map +1 -0
  74. package/src/lib/commands/package/package-command.d.ts +2 -0
  75. package/src/lib/commands/package/package-command.js +15 -0
  76. package/src/lib/commands/package/package-command.js.map +1 -0
  77. package/src/lib/commands/package/publish/command.d.ts +2 -0
  78. package/src/lib/commands/package/publish/command.js +37 -0
  79. package/src/lib/commands/package/publish/command.js.map +1 -0
  80. package/src/lib/commands/package/publish/deploy-to-github.d.ts +13 -0
  81. package/src/lib/commands/package/publish/deploy-to-github.js +151 -0
  82. package/src/lib/commands/package/publish/deploy-to-github.js.map +1 -0
  83. package/src/lib/commands/package/publish/deploy-to-npm.d.ts +13 -0
  84. package/src/lib/commands/package/publish/deploy-to-npm.js +151 -0
  85. package/src/lib/commands/package/publish/deploy-to-npm.js.map +1 -0
  86. package/src/lib/commands/package/publish/publish.d.ts +2 -0
  87. package/src/lib/commands/package/publish/publish.js +133 -0
  88. package/src/lib/commands/package/publish/publish.js.map +1 -0
  89. package/src/lib/commands/package/publish/types.d.ts +7 -0
  90. package/src/lib/commands/package/publish/types.js +3 -0
  91. package/src/lib/commands/package/publish/types.js.map +1 -0
  92. package/src/lib/unisphere.d.ts +2 -0
  93. package/src/lib/unisphere.js +19 -0
  94. package/src/lib/unisphere.js.map +1 -0
  95. package/src/lib/utils/artifacts.d.ts +6 -0
  96. package/src/lib/utils/artifacts.js +44 -0
  97. package/src/lib/utils/artifacts.js.map +1 -0
  98. package/src/lib/utils/aws/copy-s3-folder.d.ts +7 -0
  99. package/src/lib/utils/aws/copy-s3-folder.js +43 -0
  100. package/src/lib/utils/aws/copy-s3-folder.js.map +1 -0
  101. package/src/lib/utils/aws/download-json-from-bucket.d.ts +8 -0
  102. package/src/lib/utils/aws/download-json-from-bucket.js +42 -0
  103. package/src/lib/utils/aws/download-json-from-bucket.js.map +1 -0
  104. package/src/lib/utils/aws/get-s3-client.d.ts +2 -0
  105. package/src/lib/utils/aws/get-s3-client.js +39 -0
  106. package/src/lib/utils/aws/get-s3-client.js.map +1 -0
  107. package/src/lib/utils/aws/is-s3-file-exists.d.ts +6 -0
  108. package/src/lib/utils/aws/is-s3-file-exists.js +36 -0
  109. package/src/lib/utils/aws/is-s3-file-exists.js.map +1 -0
  110. package/src/lib/utils/aws/is-s3-folder-exists.d.ts +8 -0
  111. package/src/lib/utils/aws/is-s3-folder-exists.js +33 -0
  112. package/src/lib/utils/aws/is-s3-folder-exists.js.map +1 -0
  113. package/src/lib/utils/aws/list-s3-folders.d.ts +8 -0
  114. package/src/lib/utils/aws/list-s3-folders.js +32 -0
  115. package/src/lib/utils/aws/list-s3-folders.js.map +1 -0
  116. package/src/lib/utils/aws/mime-type-mapping.d.ts +2 -0
  117. package/src/lib/utils/aws/mime-type-mapping.js +8624 -0
  118. package/src/lib/utils/aws/mime-type-mapping.js.map +1 -0
  119. package/src/lib/utils/aws/upload-json-to-bucket.d.ts +9 -0
  120. package/src/lib/utils/aws/upload-json-to-bucket.js +31 -0
  121. package/src/lib/utils/aws/upload-json-to-bucket.js.map +1 -0
  122. package/src/lib/utils/aws/upload-to-aws-bucket.d.ts +9 -0
  123. package/src/lib/utils/aws/upload-to-aws-bucket.js +60 -0
  124. package/src/lib/utils/aws/upload-to-aws-bucket.js.map +1 -0
  125. package/src/lib/utils/github/tags.d.ts +10 -0
  126. package/src/lib/utils/github/tags.js +71 -0
  127. package/src/lib/utils/github/tags.js.map +1 -0
  128. package/src/lib/utils/listr2/create-exec-task.d.ts +8 -0
  129. package/src/lib/utils/listr2/create-exec-task.js +38 -0
  130. package/src/lib/utils/listr2/create-exec-task.js.map +1 -0
  131. package/src/lib/utils/listr2/defaults.d.ts +4 -0
  132. package/src/lib/utils/listr2/defaults.js +25 -0
  133. package/src/lib/utils/listr2/defaults.js.map +1 -0
  134. package/src/lib/utils/prompts/prompts.d.ts +24 -0
  135. package/src/lib/utils/prompts/prompts.js +184 -0
  136. package/src/lib/utils/prompts/prompts.js.map +1 -0
  137. package/src/lib/utils/prompts/vendor/prompts/elements/confirm.d.ts +19 -0
  138. package/src/lib/utils/prompts/vendor/prompts/elements/confirm.js +75 -0
  139. package/src/lib/utils/prompts/vendor/prompts/elements/confirm.js.map +1 -0
  140. package/src/lib/utils/prompts/vendor/prompts/elements/index.d.ts +4 -0
  141. package/src/lib/utils/prompts/vendor/prompts/elements/index.js +12 -0
  142. package/src/lib/utils/prompts/vendor/prompts/elements/index.js.map +1 -0
  143. package/src/lib/utils/prompts/vendor/prompts/elements/prompt.d.ts +12 -0
  144. package/src/lib/utils/prompts/vendor/prompts/elements/prompt.js +55 -0
  145. package/src/lib/utils/prompts/vendor/prompts/elements/prompt.js.map +1 -0
  146. package/src/lib/utils/prompts/vendor/prompts/elements/select.d.ts +30 -0
  147. package/src/lib/utils/prompts/vendor/prompts/elements/select.js +106 -0
  148. package/src/lib/utils/prompts/vendor/prompts/elements/select.js.map +1 -0
  149. package/src/lib/utils/prompts/vendor/prompts/elements/text.d.ts +35 -0
  150. package/src/lib/utils/prompts/vendor/prompts/elements/text.js +130 -0
  151. package/src/lib/utils/prompts/vendor/prompts/elements/text.js.map +1 -0
  152. package/src/lib/utils/prompts/vendor/prompts/index.d.ts +9 -0
  153. package/src/lib/utils/prompts/vendor/prompts/index.js +66 -0
  154. package/src/lib/utils/prompts/vendor/prompts/index.js.map +1 -0
  155. package/src/lib/utils/prompts/vendor/prompts/prompts.d.ts +27 -0
  156. package/src/lib/utils/prompts/vendor/prompts/prompts.js +52 -0
  157. package/src/lib/utils/prompts/vendor/prompts/prompts.js.map +1 -0
  158. package/src/lib/utils/prompts/vendor/prompts/util/action.d.ts +1 -0
  159. package/src/lib/utils/prompts/vendor/prompts/util/action.js +39 -0
  160. package/src/lib/utils/prompts/vendor/prompts/util/action.js.map +1 -0
  161. package/src/lib/utils/prompts/vendor/prompts/util/clear.d.ts +1 -0
  162. package/src/lib/utils/prompts/vendor/prompts/util/clear.js +17 -0
  163. package/src/lib/utils/prompts/vendor/prompts/util/clear.js.map +1 -0
  164. package/src/lib/utils/prompts/vendor/prompts/util/figures.d.ts +9 -0
  165. package/src/lib/utils/prompts/vendor/prompts/util/figures.js +21 -0
  166. package/src/lib/utils/prompts/vendor/prompts/util/figures.js.map +1 -0
  167. package/src/lib/utils/prompts/vendor/prompts/util/index.d.ts +6 -0
  168. package/src/lib/utils/prompts/vendor/prompts/util/index.js +14 -0
  169. package/src/lib/utils/prompts/vendor/prompts/util/index.js.map +1 -0
  170. package/src/lib/utils/prompts/vendor/prompts/util/strip.d.ts +1 -0
  171. package/src/lib/utils/prompts/vendor/prompts/util/strip.js +12 -0
  172. package/src/lib/utils/prompts/vendor/prompts/util/strip.js.map +1 -0
  173. package/src/lib/utils/prompts/vendor/prompts/util/style.d.ts +27 -0
  174. package/src/lib/utils/prompts/vendor/prompts/util/style.js +30 -0
  175. package/src/lib/utils/prompts/vendor/prompts/util/style.js.map +1 -0
  176. package/src/lib/utils/read-json-file.d.ts +6 -0
  177. package/src/lib/utils/read-json-file.js +19 -0
  178. package/src/lib/utils/read-json-file.js.map +1 -0
  179. package/src/lib/utils/unisphere/augment-workspace-config.d.ts +2 -0
  180. package/src/lib/utils/unisphere/augment-workspace-config.js +212 -0
  181. package/src/lib/utils/unisphere/augment-workspace-config.js.map +1 -0
  182. package/src/lib/utils/unisphere/build-unisphere-elements.d.ts +16 -0
  183. package/src/lib/utils/unisphere/build-unisphere-elements.js +67 -0
  184. package/src/lib/utils/unisphere/build-unisphere-elements.js.map +1 -0
  185. package/src/lib/utils/unisphere/find-unisphere-workspace-file.d.ts +2 -0
  186. package/src/lib/utils/unisphere/find-unisphere-workspace-file.js +35 -0
  187. package/src/lib/utils/unisphere/find-unisphere-workspace-file.js.map +1 -0
  188. package/src/lib/utils/unisphere/get-global-file.d.ts +2 -0
  189. package/src/lib/utils/unisphere/get-global-file.js +27 -0
  190. package/src/lib/utils/unisphere/get-global-file.js.map +1 -0
  191. package/src/lib/utils/unisphere/types.d.ts +88 -0
  192. package/src/lib/utils/unisphere/types.js +97 -0
  193. package/src/lib/utils/unisphere/types.js.map +1 -0
  194. package/src/lib/utils/unisphere/workspace.d.ts +5 -0
  195. package/src/lib/utils/unisphere/workspace.js +50 -0
  196. package/src/lib/utils/unisphere/workspace.js.map +1 -0
  197. package/src/lib/utils/unisphere-utils.d.ts +7 -0
  198. package/src/lib/utils/unisphere-utils.js +33 -0
  199. package/src/lib/utils/unisphere-utils.js.map +1 -0
  200. package/src/lib/utils/utils.d.ts +9 -0
  201. package/src/lib/utils/utils.js +33 -0
  202. package/src/lib/utils/utils.js.map +1 -0
  203. package/src/lib/utils/validator.d.ts +33 -0
  204. package/src/lib/utils/validator.js +109 -0
  205. package/src/lib/utils/validator.js.map +1 -0
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createElementCommand = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const commander_1 = require("commander");
6
+ const debug_1 = require("debug");
7
+ const utils_1 = require("../../../../utils/utils");
8
+ const unisphere_utils_1 = require("../../../../utils/unisphere-utils");
9
+ const verify_env_readiness_1 = require("../verify-env-readiness");
10
+ const check_availability_1 = require("../check-availability");
11
+ const update_runtime_version_1 = require("../update-runtime-version");
12
+ const prompts_1 = require("../../../../utils/prompts/prompts");
13
+ const debug = (0, debug_1.default)('unisphere:runtime:element:command');
14
+ const regex = /^[a-z0-9-]+$/;
15
+ const isValidValue = (value) => regex.test(value);
16
+ const createElementCommand = (parentCommand) => {
17
+ const command = parentCommand.command('element');
18
+ const isNewEnvironmentOption = new commander_1.Option('--is-new-env', 'Is this a new environment? (Please do not set this to true unless you know what you are doing)')
19
+ .default(false)
20
+ .hideHelp();
21
+ command
22
+ .option('--verbose', 'output debug logs', false)
23
+ .requiredOption('--env <id>', 'the environment to deploy to')
24
+ .requiredOption('-t, --type <id>', 'the element type (either module or component)')
25
+ .requiredOption('-e, --element <id>', 'the element short name to update its context')
26
+ .requiredOption('-c, --context <name>', 'the element context name to update its version')
27
+ .requiredOption('-v, --version <value>', 'the new version to update the context to, like 1.2.3 (without prefix v)')
28
+ .requiredOption('--aws-region <value>', 'The AWS region')
29
+ .option('--aws-arn <name>', 'the aws ARN to assume')
30
+ .addOption(isNewEnvironmentOption)
31
+ .option('--dry-run', 'do not upload the file to AWS')
32
+ .hook('preAction', utils_1.printVerboseHook)
33
+ .action((options) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
34
+ if (!['module', 'component'].includes(options.type)) {
35
+ (0, prompts_1.logErrorAndExit)(`value of 'type' must be either 'module' or 'component'`);
36
+ }
37
+ if (typeof options.version !== 'string' ||
38
+ !(0, unisphere_utils_1.isValidElementVersion)(options.version)) {
39
+ (0, prompts_1.logErrorAndExit)(`invalid version value (did you pass semantic version with major 1?)`);
40
+ }
41
+ if (!isValidValue(options.element) || !isValidValue(options.context)) {
42
+ (0, prompts_1.logErrorAndExit)(`value of 'element' and 'context' must be a string without spaces and in lowercase`);
43
+ }
44
+ const element = {
45
+ type: options.type,
46
+ name: options.element,
47
+ context: options.context,
48
+ version: options.version,
49
+ };
50
+ yield (0, verify_env_readiness_1.verifyEnvReadiness)({
51
+ env: options.env,
52
+ awsRegion: options.awsRegion,
53
+ awsArn: options.awsArn,
54
+ isNewEnv: options.isNewEnv,
55
+ });
56
+ yield (0, check_availability_1.checkAvailability)({
57
+ env: options.env,
58
+ awsRegion: options.awsRegion,
59
+ awsArn: options.awsArn,
60
+ element,
61
+ });
62
+ yield (0, update_runtime_version_1.default)({
63
+ env: options.env,
64
+ awsRegion: options.awsRegion,
65
+ awsArn: options.awsArn,
66
+ element,
67
+ dryRun: options.dryRun,
68
+ });
69
+ }));
70
+ return command;
71
+ };
72
+ exports.createElementCommand = createElementCommand;
73
+ //# sourceMappingURL=command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command.js","sourceRoot":"","sources":["../../../../../../../../../packages/unisphere-cli/src/lib/commands/context/activate/element/command.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { Command } from 'commander';
2
+ export declare const createLoaderCommand: (parentCommand: Command) => Command;
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createLoaderCommand = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const debug_1 = require("debug");
6
+ const utils_1 = require("../../../../utils/utils");
7
+ const unisphere_utils_1 = require("../../../../utils/unisphere-utils");
8
+ const verify_env_readiness_1 = require("../verify-env-readiness");
9
+ const check_availability_1 = require("../check-availability");
10
+ const copy_s3_folder_1 = require("../../../../utils/aws/copy-s3-folder");
11
+ const prompts_1 = require("../../../../utils/prompts/prompts");
12
+ const debug = (0, debug_1.default)('unisphere:runtime:loader:command');
13
+ const createLoaderCommand = (parentCommand) => {
14
+ const command = parentCommand.command('loader');
15
+ command
16
+ .option('--verbose', 'output debug logs', false)
17
+ .requiredOption('--env <id>', 'the environment to deploy to')
18
+ .requiredOption('-v, --version <value>', 'the new version to update the context to, like 1.2.3 (without prefix v)')
19
+ .requiredOption('--aws-region <value>', 'The AWS region')
20
+ .option('--aws-arn <name>', 'the aws ARN to assume')
21
+ .option('--dry-run', 'do not upload the file to AWS')
22
+ .hook('preAction', utils_1.printVerboseHook)
23
+ .action((options) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
24
+ if (typeof options.version !== 'string' ||
25
+ !(0, unisphere_utils_1.isValidElementVersion)(options.version)) {
26
+ (0, prompts_1.logErrorAndExit)(`invalid version value (did you pass semantic version with major 1?)`);
27
+ }
28
+ yield (0, verify_env_readiness_1.verifyEnvReadiness)({
29
+ env: options.env,
30
+ awsRegion: options.awsRegion,
31
+ awsArn: options.awsArn,
32
+ isNewEnv: false,
33
+ });
34
+ yield (0, check_availability_1.checkAvailability)({
35
+ env: options.env,
36
+ awsRegion: options.awsRegion,
37
+ awsArn: options.awsArn,
38
+ element: {
39
+ type: 'loader',
40
+ version: options.version,
41
+ },
42
+ });
43
+ const bucket = (0, unisphere_utils_1.getBucketName)(options.env);
44
+ yield (0, copy_s3_folder_1.copyS3Folder)({
45
+ bucket,
46
+ awsRegion: options.awsRegion,
47
+ awsArn: options.awsArn,
48
+ sourcePrefix: (0, unisphere_utils_1.getLoaderBucketPrefix)(options.version),
49
+ targetPrefix: (0, unisphere_utils_1.getCurrentLoaderBucketPrefix)(),
50
+ });
51
+ }));
52
+ return command;
53
+ };
54
+ exports.createLoaderCommand = createLoaderCommand;
55
+ //# sourceMappingURL=command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command.js","sourceRoot":"","sources":["../../../../../../../../../packages/unisphere-cli/src/lib/commands/context/activate/loader/command.ts"],"names":[],"mappings":";;;;AACA,iCAA0B;AAC1B,mDAA2D;AAC3D,uEAK2C;AAC3C,kEAA6D;AAC7D,8DAA0D;AAC1D,yEAAoE;AACpE,+DAAoE;AAEpE,MAAM,KAAK,GAAG,IAAA,eAAK,EAAC,kCAAkC,CAAC,CAAC;AAEjD,MAAM,mBAAmB,GAAG,CAAC,aAAsB,EAAW,EAAE;IACrE,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAEhD,OAAO;SACJ,MAAM,CAAC,WAAW,EAAE,mBAAmB,EAAE,KAAK,CAAC;SAC/C,cAAc,CAAC,YAAY,EAAE,8BAA8B,CAAC;SAC5D,cAAc,CACb,uBAAuB,EACvB,yEAAyE,CAC1E;SACA,cAAc,CAAC,sBAAsB,EAAE,gBAAgB,CAAC;SACxD,MAAM,CAAC,kBAAkB,EAAE,uBAAuB,CAAC;SACnD,MAAM,CAAC,WAAW,EAAE,+BAA+B,CAAC;SACpD,IAAI,CAAC,WAAW,EAAE,wBAAgB,CAAC;SACnC,MAAM,CAAC,CAAO,OAA4B,EAAE,EAAE;QAC7C,IACE,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ;YACnC,CAAC,IAAA,uCAAqB,EAAC,OAAO,CAAC,OAAO,CAAC,EACvC;YACA,IAAA,yBAAe,EACb,qEAAqE,CACtE,CAAC;SACH;QAED,MAAM,IAAA,yCAAkB,EAAC;YACvB,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,QAAQ,EAAE,KAAK;SAChB,CAAC,CAAC;QAEH,MAAM,IAAA,sCAAiB,EAAC;YACtB,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,OAAO,EAAE;gBACP,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,OAAO,CAAC,OAAO;aACzB;SACF,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,IAAA,+BAAa,EAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC1C,MAAM,IAAA,6BAAY,EAAC;YACjB,MAAM;YACN,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,YAAY,EAAE,IAAA,uCAAqB,EAAC,OAAO,CAAC,OAAO,CAAC;YACpD,YAAY,EAAE,IAAA,8CAA4B,GAAE;SAC7C,CAAC,CAAC;IACL,CAAC,CAAA,CAAC,CAAC;IACL,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAnDW,QAAA,mBAAmB,uBAmD9B"}
@@ -0,0 +1,20 @@
1
+ import { Schema } from '../../../utils/validator';
2
+ export declare const runtimeFileSchema: Schema;
3
+ export interface RuntimeFile {
4
+ workspace: string;
5
+ modules: {
6
+ [module: string]: {
7
+ [context: string]: string;
8
+ };
9
+ };
10
+ components: {
11
+ [module: string]: {
12
+ [context: string]: string;
13
+ };
14
+ };
15
+ }
16
+ export declare const getEmptyRuntimeFile: () => {
17
+ workspace: string;
18
+ modules: {};
19
+ components: {};
20
+ };
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getEmptyRuntimeFile = exports.runtimeFileSchema = void 0;
4
+ exports.runtimeFileSchema = {
5
+ type: 'object',
6
+ properties: {
7
+ workspace: {
8
+ type: 'primitive',
9
+ value: 'string',
10
+ },
11
+ modules: {
12
+ type: 'map',
13
+ value: {
14
+ type: 'map',
15
+ value: {
16
+ type: 'primitive',
17
+ value: 'string',
18
+ },
19
+ },
20
+ },
21
+ components: {
22
+ type: 'map',
23
+ value: {
24
+ type: 'map',
25
+ value: {
26
+ type: 'primitive',
27
+ value: 'string',
28
+ },
29
+ },
30
+ },
31
+ },
32
+ };
33
+ const getEmptyRuntimeFile = () => ({
34
+ workspace: '',
35
+ modules: {},
36
+ components: {},
37
+ });
38
+ exports.getEmptyRuntimeFile = getEmptyRuntimeFile;
39
+ //# sourceMappingURL=runtime-file-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-file-utils.js","sourceRoot":"","sources":["../../../../../../../../packages/unisphere-cli/src/lib/commands/context/activate/runtime-file-utils.ts"],"names":[],"mappings":";;;AAEa,QAAA,iBAAiB,GAAW;IACvC,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,SAAS,EAAE;YACT,IAAI,EAAE,WAAW;YACjB,KAAK,EAAE,QAAQ;SAChB;QACD,OAAO,EAAE;YACP,IAAI,EAAE,KAAK;YACX,KAAK,EAAE;gBACL,IAAI,EAAE,KAAK;gBACX,KAAK,EAAE;oBACL,IAAI,EAAE,WAAW;oBACjB,KAAK,EAAE,QAAQ;iBAChB;aACF;SACF;QACD,UAAU,EAAE;YACV,IAAI,EAAE,KAAK;YACX,KAAK,EAAE;gBACL,IAAI,EAAE,KAAK;gBACX,KAAK,EAAE;oBACL,IAAI,EAAE,WAAW;oBACjB,KAAK,EAAE,QAAQ;iBAChB;aACF;SACF;KACF;CACF,CAAC;AAgBK,MAAM,mBAAmB,GAAG,GAAG,EAAE,CAAC,CAAC;IACxC,SAAS,EAAE,EAAE;IACb,OAAO,EAAE,EAAE;IACX,UAAU,EAAE,EAAE;CACf,CAAC,CAAC;AAJU,QAAA,mBAAmB,uBAI7B"}
@@ -0,0 +1,23 @@
1
+ export interface WorkspaceElement {
2
+ type: 'workspace';
3
+ version: string;
4
+ }
5
+ export interface LoaderElement {
6
+ type: 'loader';
7
+ version: string;
8
+ }
9
+ export interface ContextElement {
10
+ type: 'module' | 'component';
11
+ name: string;
12
+ context: string;
13
+ version: string;
14
+ }
15
+ interface Options {
16
+ env: string;
17
+ awsRegion: string;
18
+ awsArn: string;
19
+ element: WorkspaceElement | ContextElement;
20
+ dryRun?: boolean;
21
+ }
22
+ export default function updateRuntimeVersion(options: Options): Promise<void>;
23
+ export {};
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ const validator_1 = require("../../../utils/validator");
5
+ const debug_1 = require("debug");
6
+ const unisphere_utils_1 = require("../../../utils/unisphere-utils");
7
+ const workspace_1 = require("../../../utils/unisphere/workspace");
8
+ const download_json_from_bucket_1 = require("../../../utils/aws/download-json-from-bucket");
9
+ const upload_json_to_bucket_1 = require("../../../utils/aws/upload-json-to-bucket");
10
+ const runtime_file_utils_1 = require("./runtime-file-utils");
11
+ const debug = (0, debug_1.default)('unisphere:runtimes');
12
+ const bucketKey = (0, workspace_1.getRuntimeBucketKey)();
13
+ const updateContext = (runtimeFile, element) => {
14
+ const elementId = `unisphere.${element.type}.${element.name.toLowerCase()}`;
15
+ const elementContext = element.context.toLowerCase();
16
+ if (element.type === 'module') {
17
+ let module = runtimeFile.modules[elementId];
18
+ if (!module) {
19
+ module = runtimeFile.modules[elementId] = {};
20
+ }
21
+ module[elementContext] = element.version;
22
+ }
23
+ else {
24
+ let component = runtimeFile.components[elementId];
25
+ if (!component) {
26
+ component = runtimeFile.components[elementId] = {};
27
+ }
28
+ component[elementContext] = element.version;
29
+ }
30
+ };
31
+ function updateRuntimeVersion(options) {
32
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
33
+ const runtimeFile = yield (0, download_json_from_bucket_1.downloadJsonFromBucket)({
34
+ bucket: (0, unisphere_utils_1.getBucketName)(options.env),
35
+ bucketKey,
36
+ region: options.awsRegion,
37
+ arn: options.awsArn,
38
+ });
39
+ const isInputValid = (0, validator_1.validateSchema)(runtimeFile, runtime_file_utils_1.runtimeFileSchema, 'runtime file').length === 0;
40
+ if (!isInputValid) {
41
+ throw new Error(`Invalid JSON file schema : ${bucketKey}`);
42
+ }
43
+ if (options.element.type === 'workspace') {
44
+ runtimeFile.workspace = options.element.version;
45
+ }
46
+ else {
47
+ updateContext(runtimeFile, options.element);
48
+ }
49
+ debug('Modified JSON file:', runtimeFile);
50
+ const isModifiedValid = (0, validator_1.validateSchema)(runtimeFile, runtime_file_utils_1.runtimeFileSchema, 'modified runtime file')
51
+ .length === 0;
52
+ if (!isModifiedValid) {
53
+ throw new Error(`Invalid modified file schema : ${bucketKey}`);
54
+ }
55
+ debug(`Uploading JSON file to bucket: ${(0, unisphere_utils_1.getBucketName)(options.env)}, key: ${bucketKey}, content: ${JSON.stringify(runtimeFile)}`);
56
+ if (!options.dryRun) {
57
+ yield (0, upload_json_to_bucket_1.uploadJsonToBucket)({
58
+ bucket: (0, unisphere_utils_1.getBucketName)(options.env),
59
+ bucketKey,
60
+ region: options.awsRegion,
61
+ jsonData: runtimeFile,
62
+ arn: options.awsArn,
63
+ });
64
+ }
65
+ else {
66
+ debug('Dry run mode, skipping update');
67
+ debug(`await uploadJsonToBucket({
68
+ bucketName: ${(0, unisphere_utils_1.getBucketName)(options.env)},
69
+ bucketKey: ${bucketKey},
70
+ region: ${options.awsRegion},
71
+ jsonData: ${JSON.stringify(runtimeFile)},
72
+ arn: ${options.awsArn}
73
+ });`);
74
+ }
75
+ });
76
+ }
77
+ exports.default = updateRuntimeVersion;
78
+ //# sourceMappingURL=update-runtime-version.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-runtime-version.js","sourceRoot":"","sources":["../../../../../../../../packages/unisphere-cli/src/lib/commands/context/activate/update-runtime-version.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ interface Options {
2
+ isNewEnv: boolean;
3
+ env: string;
4
+ awsRegion: string;
5
+ awsArn: string;
6
+ }
7
+ export declare const verifyEnvReadiness: (options: Options) => Promise<void>;
8
+ export {};
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.verifyEnvReadiness = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const unisphere_utils_1 = require("../../../utils/unisphere-utils");
6
+ const is_s3_file_exists_1 = require("../../../utils/aws/is-s3-file-exists");
7
+ const workspace_1 = require("../../../utils/unisphere/workspace");
8
+ const debug_1 = require("debug");
9
+ const upload_json_to_bucket_1 = require("../../../utils/aws/upload-json-to-bucket");
10
+ const runtime_file_utils_1 = require("./runtime-file-utils");
11
+ const validator_1 = require("../../../utils/validator");
12
+ const prompts_1 = require("../../../utils/prompts/prompts");
13
+ const debug = (0, debug_1.default)('unisphere:runtimes:verify-env-mode');
14
+ const verifyEnvReadiness = (options) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
15
+ if (options.isNewEnv) {
16
+ debug(`Verify that the environment is new`);
17
+ }
18
+ else {
19
+ debug(`Verify that the environment exists and is ready for update`);
20
+ }
21
+ const bucket = (0, unisphere_utils_1.getBucketName)(options.env);
22
+ const bucketKey = (0, workspace_1.getRuntimeBucketKey)();
23
+ debug(`look for runtime file '${bucket}/${bucketKey}'`);
24
+ const isRuntimeFileExists = yield (0, is_s3_file_exists_1.isS3FileExists)({
25
+ bucket,
26
+ key: bucketKey,
27
+ awsRegion: options.awsRegion,
28
+ awsArn: options.awsArn,
29
+ });
30
+ if (options.isNewEnv) {
31
+ if (isRuntimeFileExists) {
32
+ (0, prompts_1.logErrorAndExit)(`The runtime file already exists, cannot create a new environment`);
33
+ }
34
+ const jsonData = (0, runtime_file_utils_1.getEmptyRuntimeFile)();
35
+ const isValid = (0, validator_1.validateSchema)(jsonData, runtime_file_utils_1.runtimeFileSchema, 'empty runtime file')
36
+ .length === 0;
37
+ if (!isValid) {
38
+ (0, prompts_1.logErrorAndExit)(`Invalid JSON file schema suggested as empty runtime file`);
39
+ }
40
+ yield (0, upload_json_to_bucket_1.uploadJsonToBucket)({
41
+ bucket,
42
+ bucketKey,
43
+ region: options.awsRegion,
44
+ jsonData,
45
+ arn: options.awsArn,
46
+ });
47
+ }
48
+ else if (!options.isNewEnv && !isRuntimeFileExists) {
49
+ (0, prompts_1.logErrorAndExit)(`The runtime file does not exists, cannot update an existing environment`);
50
+ }
51
+ debug(`Environment is ready for update`);
52
+ });
53
+ exports.verifyEnvReadiness = verifyEnvReadiness;
54
+ //# sourceMappingURL=verify-env-readiness.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verify-env-readiness.js","sourceRoot":"","sources":["../../../../../../../../packages/unisphere-cli/src/lib/commands/context/activate/verify-env-readiness.ts"],"names":[],"mappings":";;;;AAAA,oEAA+D;AAC/D,4EAAsE;AACtE,kEAAyE;AACzE,iCAA0B;AAC1B,oFAA8E;AAC9E,6DAA8E;AAC9E,wDAA0D;AAC1D,4DAAiE;AAEjE,MAAM,KAAK,GAAG,IAAA,eAAK,EAAC,oCAAoC,CAAC,CAAC;AAQnD,MAAM,kBAAkB,GAAG,CAAO,OAAgB,EAAiB,EAAE;IAC1E,IAAI,OAAO,CAAC,QAAQ,EAAE;QACpB,KAAK,CAAC,oCAAoC,CAAC,CAAC;KAC7C;SAAM;QACL,KAAK,CAAC,4DAA4D,CAAC,CAAC;KACrE;IAED,MAAM,MAAM,GAAG,IAAA,+BAAa,EAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC1C,MAAM,SAAS,GAAG,IAAA,+BAAmB,GAAE,CAAC;IAExC,KAAK,CAAC,0BAA0B,MAAM,IAAI,SAAS,GAAG,CAAC,CAAC;IACxD,MAAM,mBAAmB,GAAG,MAAM,IAAA,kCAAc,EAAC;QAC/C,MAAM;QACN,GAAG,EAAE,SAAS;QACd,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,MAAM,EAAE,OAAO,CAAC,MAAM;KACvB,CAAC,CAAC;IAEH,IAAI,OAAO,CAAC,QAAQ,EAAE;QACpB,IAAI,mBAAmB,EAAE;YACvB,IAAA,yBAAe,EACb,kEAAkE,CACnE,CAAC;SACH;QAED,MAAM,QAAQ,GAAG,IAAA,wCAAmB,GAAE,CAAC;QAEvC,MAAM,OAAO,GACX,IAAA,0BAAc,EAAC,QAAQ,EAAE,sCAAiB,EAAE,oBAAoB,CAAC;aAC9D,MAAM,KAAK,CAAC,CAAC;QAElB,IAAI,CAAC,OAAO,EAAE;YACZ,IAAA,yBAAe,EACb,0DAA0D,CAC3D,CAAC;SACH;QAED,MAAM,IAAA,0CAAkB,EAAC;YACvB,MAAM;YACN,SAAS;YACT,MAAM,EAAE,OAAO,CAAC,SAAS;YACzB,QAAQ;YACR,GAAG,EAAE,OAAO,CAAC,MAAM;SACpB,CAAC,CAAC;KACJ;SAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,CAAC,mBAAmB,EAAE;QACpD,IAAA,yBAAe,EACb,yEAAyE,CAC1E,CAAC;KACH;IAED,KAAK,CAAC,iCAAiC,CAAC,CAAC;AAC3C,CAAC,CAAA,CAAC;AAnDW,QAAA,kBAAkB,sBAmD7B"}
@@ -0,0 +1,2 @@
1
+ import { Command } from 'commander';
2
+ export declare const createWorkspaceCommand: (parentCommand: Command) => Command;
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createWorkspaceCommand = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const commander_1 = require("commander");
6
+ const debug_1 = require("debug");
7
+ const utils_1 = require("../../../../utils/utils");
8
+ const unisphere_utils_1 = require("../../../../utils/unisphere-utils");
9
+ const verify_env_readiness_1 = require("../verify-env-readiness");
10
+ const check_availability_1 = require("../check-availability");
11
+ const update_runtime_version_1 = require("../update-runtime-version");
12
+ const prompts_1 = require("../../../../utils/prompts/prompts");
13
+ const debug = (0, debug_1.default)('unisphere:runtime:workspace:command');
14
+ const createWorkspaceCommand = (parentCommand) => {
15
+ const command = parentCommand.command('workspace');
16
+ const isNewEnvironmentOption = new commander_1.Option('--is-new-env', 'Is this a new environment? (Please do not set this to true unless you know what you are doing)')
17
+ .default(false)
18
+ .hideHelp();
19
+ command
20
+ .option('--verbose', 'output debug logs', false)
21
+ .requiredOption('--env <id>', 'the environment to deploy to')
22
+ .requiredOption('-v, --version <value>', 'the new version to update the context to, like 1.2.3 (without prefix v)')
23
+ .requiredOption('--aws-region <value>', 'The AWS region')
24
+ .option('--aws-arn <name>', 'the aws ARN to assume')
25
+ .addOption(isNewEnvironmentOption)
26
+ .option('--dry-run', 'do not upload the file to AWS')
27
+ .hook('preAction', utils_1.printVerboseHook)
28
+ .action((options) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
29
+ if (typeof options.version !== 'string' ||
30
+ !(0, unisphere_utils_1.isValidElementVersion)(options.version)) {
31
+ (0, prompts_1.logErrorAndExit)(`invalid version value (did you pass semantic version with major 1?)`);
32
+ }
33
+ yield (0, verify_env_readiness_1.verifyEnvReadiness)({
34
+ env: options.env,
35
+ awsRegion: options.awsRegion,
36
+ awsArn: options.awsArn,
37
+ isNewEnv: options.isNewEnv,
38
+ });
39
+ const element = {
40
+ type: 'workspace',
41
+ version: options.version,
42
+ };
43
+ yield (0, check_availability_1.checkAvailability)({
44
+ env: options.env,
45
+ awsRegion: options.awsRegion,
46
+ awsArn: options.awsArn,
47
+ element,
48
+ });
49
+ yield (0, update_runtime_version_1.default)({
50
+ env: options.env,
51
+ awsRegion: options.awsRegion,
52
+ awsArn: options.awsArn,
53
+ element,
54
+ dryRun: options.dryRun,
55
+ });
56
+ }));
57
+ return command;
58
+ };
59
+ exports.createWorkspaceCommand = createWorkspaceCommand;
60
+ //# sourceMappingURL=command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command.js","sourceRoot":"","sources":["../../../../../../../../../packages/unisphere-cli/src/lib/commands/context/activate/workspace/command.ts"],"names":[],"mappings":";;;;AAAA,yCAA4C;AAC5C,iCAA0B;AAC1B,mDAA2D;AAC3D,uEAA0E;AAC1E,kEAA6D;AAC7D,8DAA0D;AAC1D,sEAEmC;AACnC,+DAAoE;AAEpE,MAAM,KAAK,GAAG,IAAA,eAAK,EAAC,qCAAqC,CAAC,CAAC;AAEpD,MAAM,sBAAsB,GAAG,CAAC,aAAsB,EAAW,EAAE;IACxE,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAEnD,MAAM,sBAAsB,GAAG,IAAI,kBAAM,CACvC,cAAc,EACd,gGAAgG,CACjG;SACE,OAAO,CAAC,KAAK,CAAC;SACd,QAAQ,EAAE,CAAC;IAEd,OAAO;SACJ,MAAM,CAAC,WAAW,EAAE,mBAAmB,EAAE,KAAK,CAAC;SAC/C,cAAc,CAAC,YAAY,EAAE,8BAA8B,CAAC;SAC5D,cAAc,CACb,uBAAuB,EACvB,yEAAyE,CAC1E;SACA,cAAc,CAAC,sBAAsB,EAAE,gBAAgB,CAAC;SACxD,MAAM,CAAC,kBAAkB,EAAE,uBAAuB,CAAC;SACnD,SAAS,CAAC,sBAAsB,CAAC;SACjC,MAAM,CAAC,WAAW,EAAE,+BAA+B,CAAC;SACpD,IAAI,CAAC,WAAW,EAAE,wBAAgB,CAAC;SACnC,MAAM,CAAC,CAAO,OAA4B,EAAE,EAAE;QAC7C,IACE,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ;YACnC,CAAC,IAAA,uCAAqB,EAAC,OAAO,CAAC,OAAO,CAAC,EACvC;YACA,IAAA,yBAAe,EACb,qEAAqE,CACtE,CAAC;SACH;QAED,MAAM,IAAA,yCAAkB,EAAC;YACvB,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,QAAQ,EAAE,OAAO,CAAC,QAAQ;SAC3B,CAAC,CAAC;QAEH,MAAM,OAAO,GAAqB;YAChC,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,OAAO,CAAC,OAAO;SACzB,CAAC;QAEF,MAAM,IAAA,sCAAiB,EAAC;YACtB,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,OAAO;SACR,CAAC,CAAC;QAEH,MAAM,IAAA,gCAAoB,EAAC;YACzB,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,OAAO;YACP,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB,CAAC,CAAC;IACL,CAAC,CAAA,CAAC,CAAC;IAEL,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AA7DW,QAAA,sBAAsB,0BA6DjC"}
@@ -0,0 +1,2 @@
1
+ import { Command } from 'commander';
2
+ export declare const createBuildCommand: (parentCommand: Command) => Command;
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createBuildCommand = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const commander_1 = require("commander");
6
+ const debug_1 = require("debug");
7
+ const listr2_1 = require("listr2");
8
+ const utils_1 = require("../../utils/utils");
9
+ const workspace_1 = require("../../utils/unisphere/workspace");
10
+ const build_unisphere_elements_1 = require("../../utils/unisphere/build-unisphere-elements");
11
+ const defaults_1 = require("../../utils/listr2/defaults");
12
+ const debug = (0, debug_1.default)('unisphere:context:build');
13
+ const createBuildCommand = (parentCommand) => {
14
+ const command = parentCommand.command('build');
15
+ const noLintOption = new commander_1.Option('--no-lint', 'skip linting');
16
+ noLintOption.defaultValue = false;
17
+ noLintOption.hidden = true;
18
+ command
19
+ .description('build a unisphere context element')
20
+ .option('--verbose', 'output debug logs', false)
21
+ .addArgument(new commander_1.Argument('context', 'the context to build'))
22
+ .option('--cwd <name>', 'the working directory')
23
+ .option('--production', 'build in production mode', false)
24
+ .addOption(noLintOption)
25
+ .option('--lint-fix', 'fix linting errors')
26
+ .hook('preAction', utils_1.printVerboseHook)
27
+ .action((context, options) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
28
+ const cwd = options.cwd || process.cwd();
29
+ const workspaceFile = yield (0, workspace_1.getUnisphereWorkspace)(cwd, {
30
+ suspendRecursion: true,
31
+ });
32
+ const task = new listr2_1.Listr([
33
+ {
34
+ title: 'Getting workspace',
35
+ task: (ctx) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
36
+ const workspace = yield (0, workspace_1.getUnisphereWorkspace)(cwd, {
37
+ suspendRecursion: true,
38
+ });
39
+ if (!workspaceFile) {
40
+ debug(`No .unisphere file found in the directory ${cwd}`);
41
+ throw new Error(`No .unisphere file found in the directory`);
42
+ }
43
+ ctx.workspace = workspace;
44
+ }),
45
+ },
46
+ {
47
+ title: `Building context ${context}`,
48
+ task: (ctx, task) => {
49
+ var _a, _b;
50
+ const contextNxProjectName = context === 'loader'
51
+ ? ctx.workspace.config.elements.loader.nxProjectName
52
+ : context === 'workspace'
53
+ ? ctx.workspace.config.elements.workspace.nxProjectName
54
+ : (_a = ctx.workspace.config.elements.contexts[context]) === null || _a === void 0 ? void 0 : _a.nxProjectName;
55
+ if (!contextNxProjectName) {
56
+ throw new Error(`No nx project name found for context ${context}`);
57
+ }
58
+ return (0, build_unisphere_elements_1.createListrForBuildingUnisphereContext)({
59
+ cwd,
60
+ nxProjectName: contextNxProjectName,
61
+ parentTask: task,
62
+ production: options.production,
63
+ lint: (_b = options.lint) !== null && _b !== void 0 ? _b : true,
64
+ lintFix: options.lintFix,
65
+ });
66
+ },
67
+ },
68
+ ], (0, defaults_1.getDefaultListrOptions)());
69
+ yield task.run();
70
+ }));
71
+ return command;
72
+ };
73
+ exports.createBuildCommand = createBuildCommand;
74
+ //# sourceMappingURL=build-command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build-command.js","sourceRoot":"","sources":["../../../../../../../packages/unisphere-cli/src/lib/commands/context/build-command.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { Command } from 'commander';
2
+ export declare const createContextCommand: () => Command;
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createContextCommand = void 0;
4
+ const commander_1 = require("commander");
5
+ const command_1 = require("./publish/command");
6
+ const build_command_1 = require("./build-command");
7
+ const command_2 = require("./activate/command");
8
+ const serve_command_1 = require("./serve-command");
9
+ const createContextCommand = () => {
10
+ const contextCommand = new commander_1.Command('context');
11
+ contextCommand.description('manage Unisphere context in the current project');
12
+ (0, build_command_1.createBuildCommand)(contextCommand);
13
+ (0, command_1.createPublishCommand)(contextCommand);
14
+ (0, command_2.createActivateCommand)(contextCommand);
15
+ (0, serve_command_1.createServeCommand)(contextCommand);
16
+ return contextCommand;
17
+ };
18
+ exports.createContextCommand = createContextCommand;
19
+ //# sourceMappingURL=context-command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context-command.js","sourceRoot":"","sources":["../../../../../../../packages/unisphere-cli/src/lib/commands/context/context-command.ts"],"names":[],"mappings":";;;AAAA,yCAAoC;AACpC,+CAAyD;AACzD,mDAAqD;AACrD,gDAA2D;AAC3D,mDAAqD;AAE9C,MAAM,oBAAoB,GAAG,GAAY,EAAE;IAChD,MAAM,cAAc,GAAG,IAAI,mBAAO,CAAC,SAAS,CAAC,CAAC;IAC9C,cAAc,CAAC,WAAW,CAAC,iDAAiD,CAAC,CAAC;IAE9E,IAAA,kCAAkB,EAAC,cAAc,CAAC,CAAC;IACnC,IAAA,8BAAoB,EAAC,cAAc,CAAC,CAAC;IACrC,IAAA,+BAAqB,EAAC,cAAc,CAAC,CAAC;IACtC,IAAA,kCAAkB,EAAC,cAAc,CAAC,CAAC;IACnC,OAAO,cAAc,CAAC;AACxB,CAAC,CAAC;AATW,QAAA,oBAAoB,wBAS/B"}
@@ -0,0 +1,2 @@
1
+ import { Command } from 'commander';
2
+ export declare const createPublishCommand: (parentCommand: Command) => Command;