@signageos/cli 2.3.1 → 2.3.2

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 (127) hide show
  1. package/README.md +1 -0
  2. package/dist/Applet/Build/appletBuildCommand.js +28 -72
  3. package/dist/Applet/Generate/Templates/rspack.config.mjs.template +12 -12
  4. package/dist/Applet/Generate/appletGenerateCommand.d.ts +23 -62
  5. package/dist/Applet/Generate/appletGenerateCommand.js +398 -365
  6. package/dist/Applet/Start/appletStartCommand.js +69 -131
  7. package/dist/Applet/Test/Upload/appletTestRunCommand.js +89 -177
  8. package/dist/Applet/Test/Upload/appletTestRunFacade.js +4 -27
  9. package/dist/Applet/Test/Upload/appletTestUploadCommand.js +98 -223
  10. package/dist/Applet/Test/Upload/appletTestUploadFacade.js +39 -102
  11. package/dist/Applet/Test/appletTestCommand.js +6 -36
  12. package/dist/Applet/Upload/appletUploadCommand.js +199 -305
  13. package/dist/Applet/Upload/appletUploadCommandHelper.js +103 -138
  14. package/dist/Applet/Upload/appletUploadFacade.d.ts +2 -2
  15. package/dist/Applet/Upload/appletUploadFacade.js +172 -263
  16. package/dist/Applet/Upload/appletUploadFacadeHelper.js +39 -52
  17. package/dist/Applet/appletCommand.d.ts +22 -62
  18. package/dist/Applet/appletCommand.js +9 -39
  19. package/dist/Applet/appletErrors.js +5 -24
  20. package/dist/Applet/appletFacade.js +106 -141
  21. package/dist/Applet/appletServerHelper.js +16 -53
  22. package/dist/Auth/loginCommand.js +96 -137
  23. package/dist/Cache/tmpCache.js +35 -13
  24. package/dist/Cli/helper.js +1 -2
  25. package/dist/Cli/packageVersion.js +82 -123
  26. package/dist/Command/commandDefinition.js +0 -1
  27. package/dist/Command/commandProcessor.js +40 -129
  28. package/dist/Command/globalArgs.js +7 -5
  29. package/dist/CommandLine/IProgressBar.js +0 -1
  30. package/dist/CommandLine/progressBarFactory.js +31 -11
  31. package/dist/CustomScript/Generate/customScriptGenerateCommand.js +17 -56
  32. package/dist/CustomScript/Generate/customScriptGenerateFacade.js +82 -106
  33. package/dist/CustomScript/Upload/customScriptUploadCommand.js +44 -120
  34. package/dist/CustomScript/customScriptCommand.js +6 -36
  35. package/dist/CustomScript/customScriptFacade.js +175 -294
  36. package/dist/Device/Connect/connectCommand.js +72 -136
  37. package/dist/Device/Content/setContentCommand.js +33 -78
  38. package/dist/Device/PowerAction/powerActionCommand.js +22 -65
  39. package/dist/Device/deviceCommand.js +7 -37
  40. package/dist/Device/deviceFacade.js +67 -123
  41. package/dist/Emulator/IEmulator.js +0 -1
  42. package/dist/Emulator/createDomain.js +33 -12
  43. package/dist/Emulator/emulatorFacade.js +74 -131
  44. package/dist/Emulator/emulatorFactory.js +112 -124
  45. package/dist/Firmware/Upload/firmwareUploadCommand.js +133 -221
  46. package/dist/Firmware/Upload/firmwareUploadFacade.js +64 -110
  47. package/dist/Firmware/Upload/firmwareUploadHelper.js +27 -5
  48. package/dist/Firmware/firmwareCommand.js +5 -35
  49. package/dist/Lib/archive.js +45 -60
  50. package/dist/Lib/childProcess.js +27 -5
  51. package/dist/Lib/fileSystem.js +62 -82
  52. package/dist/Lib/git.d.ts +1 -1
  53. package/dist/Lib/git.js +44 -82
  54. package/dist/Organization/Get/organizationGetCommand.js +14 -50
  55. package/dist/Organization/List/organizationListCommand.js +12 -46
  56. package/dist/Organization/SetDefault/organizationSetDefaultCommand.js +18 -56
  57. package/dist/Organization/organizationCommand.js +7 -37
  58. package/dist/Organization/organizationFacade.js +97 -172
  59. package/dist/RunControl/runControlHelper.js +11 -60
  60. package/dist/Timer/wait.js +1 -2
  61. package/dist/Timing/List/timingListCommand.js +20 -62
  62. package/dist/Timing/timingCommand.js +5 -35
  63. package/dist/generalCommand.js +1 -2
  64. package/dist/helper.js +48 -109
  65. package/dist/index.js +15 -45
  66. package/dist/parameters.js +17 -40
  67. package/package.json +16 -18
  68. package/dist/Applet/Build/appletBuildCommand.js.map +0 -1
  69. package/dist/Applet/Generate/appletGenerateCommand.js.map +0 -1
  70. package/dist/Applet/Start/appletStartCommand.js.map +0 -1
  71. package/dist/Applet/Test/Upload/appletTestRunCommand.js.map +0 -1
  72. package/dist/Applet/Test/Upload/appletTestRunFacade.js.map +0 -1
  73. package/dist/Applet/Test/Upload/appletTestUploadCommand.js.map +0 -1
  74. package/dist/Applet/Test/Upload/appletTestUploadFacade.js.map +0 -1
  75. package/dist/Applet/Test/appletTestCommand.js.map +0 -1
  76. package/dist/Applet/Upload/appletUploadCommand.js.map +0 -1
  77. package/dist/Applet/Upload/appletUploadCommandHelper.js.map +0 -1
  78. package/dist/Applet/Upload/appletUploadFacade.js.map +0 -1
  79. package/dist/Applet/Upload/appletUploadFacadeHelper.js.map +0 -1
  80. package/dist/Applet/appletCommand.js.map +0 -1
  81. package/dist/Applet/appletErrors.js.map +0 -1
  82. package/dist/Applet/appletFacade.js.map +0 -1
  83. package/dist/Applet/appletServerHelper.js.map +0 -1
  84. package/dist/Auth/loginCommand.js.map +0 -1
  85. package/dist/Cache/tmpCache.js.map +0 -1
  86. package/dist/Cli/helper.js.map +0 -1
  87. package/dist/Cli/packageVersion.js.map +0 -1
  88. package/dist/Command/commandDefinition.js.map +0 -1
  89. package/dist/Command/commandProcessor.js.map +0 -1
  90. package/dist/Command/globalArgs.js.map +0 -1
  91. package/dist/CommandLine/IProgressBar.js.map +0 -1
  92. package/dist/CommandLine/progressBarFactory.js.map +0 -1
  93. package/dist/CustomScript/Generate/customScriptGenerateCommand.js.map +0 -1
  94. package/dist/CustomScript/Generate/customScriptGenerateFacade.js.map +0 -1
  95. package/dist/CustomScript/Upload/customScriptUploadCommand.js.map +0 -1
  96. package/dist/CustomScript/customScriptCommand.js.map +0 -1
  97. package/dist/CustomScript/customScriptFacade.js.map +0 -1
  98. package/dist/Device/Connect/connectCommand.js.map +0 -1
  99. package/dist/Device/Content/setContentCommand.js.map +0 -1
  100. package/dist/Device/PowerAction/powerActionCommand.js.map +0 -1
  101. package/dist/Device/deviceCommand.js.map +0 -1
  102. package/dist/Device/deviceFacade.js.map +0 -1
  103. package/dist/Emulator/IEmulator.js.map +0 -1
  104. package/dist/Emulator/createDomain.js.map +0 -1
  105. package/dist/Emulator/emulatorFacade.js.map +0 -1
  106. package/dist/Emulator/emulatorFactory.js.map +0 -1
  107. package/dist/Firmware/Upload/firmwareUploadCommand.js.map +0 -1
  108. package/dist/Firmware/Upload/firmwareUploadFacade.js.map +0 -1
  109. package/dist/Firmware/Upload/firmwareUploadHelper.js.map +0 -1
  110. package/dist/Firmware/firmwareCommand.js.map +0 -1
  111. package/dist/Lib/archive.js.map +0 -1
  112. package/dist/Lib/childProcess.js.map +0 -1
  113. package/dist/Lib/fileSystem.js.map +0 -1
  114. package/dist/Lib/git.js.map +0 -1
  115. package/dist/Organization/Get/organizationGetCommand.js.map +0 -1
  116. package/dist/Organization/List/organizationListCommand.js.map +0 -1
  117. package/dist/Organization/SetDefault/organizationSetDefaultCommand.js.map +0 -1
  118. package/dist/Organization/organizationCommand.js.map +0 -1
  119. package/dist/Organization/organizationFacade.js.map +0 -1
  120. package/dist/RunControl/runControlHelper.js.map +0 -1
  121. package/dist/Timer/wait.js.map +0 -1
  122. package/dist/Timing/List/timingListCommand.js.map +0 -1
  123. package/dist/Timing/timingCommand.js.map +0 -1
  124. package/dist/generalCommand.js.map +0 -1
  125. package/dist/helper.js.map +0 -1
  126. package/dist/index.js.map +0 -1
  127. package/dist/parameters.js.map +0 -1
@@ -8,77 +8,28 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
8
  step((generator = generator.apply(thisArg, _arguments || [])).next());
9
9
  });
10
10
  };
11
- var __generator = (this && this.__generator) || function (thisArg, body) {
12
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
- function verb(n) { return function (v) { return step([n, v]); }; }
15
- function step(op) {
16
- if (f) throw new TypeError("Generator is already executing.");
17
- while (_) try {
18
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
- if (y = 0, t) op = [op[0] & 2, t.value];
20
- switch (op[0]) {
21
- case 0: case 1: t = op; break;
22
- case 4: _.label++; return { value: op[1], done: false };
23
- case 5: _.label++; y = op[1]; op = [0]; continue;
24
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
- default:
26
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
- if (t[2]) _.ops.pop();
31
- _.trys.pop(); continue;
32
- }
33
- op = body.call(thisArg, _);
34
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
- }
37
- };
38
- var __read = (this && this.__read) || function (o, n) {
39
- var m = typeof Symbol === "function" && o[Symbol.iterator];
40
- if (!m) return o;
41
- var i = m.call(o), r, ar = [], e;
42
- try {
43
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
44
- }
45
- catch (error) { e = { error: error }; }
46
- finally {
47
- try {
48
- if (r && !r.done && (m = i["return"])) m.call(i);
49
- }
50
- finally { if (e) throw e.error; }
51
- }
52
- return ar;
53
- };
54
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
55
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
56
- if (ar || !(i in from)) {
57
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
58
- ar[i] = from[i];
59
- }
60
- }
61
- return to.concat(ar || Array.prototype.slice.call(from));
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
62
13
  };
63
14
  Object.defineProperty(exports, "__esModule", { value: true });
64
15
  exports.appletUpload = exports.OPTION_LIST = void 0;
65
- var chalk_1 = require("chalk");
66
- var prompts = require("prompts");
67
- var helper_1 = require("../../helper");
68
- var parameters_1 = require("../../parameters");
69
- var organizationFacade_1 = require("../../Organization/organizationFacade");
70
- var appletFacade_1 = require("../appletFacade");
71
- var appletUploadFacade_1 = require("./appletUploadFacade");
72
- var appletUploadCommandHelper_1 = require("./appletUploadCommandHelper");
73
- var fileSystem_1 = require("../../Lib/fileSystem");
74
- var progressBarFactory_1 = require("../../CommandLine/progressBarFactory");
75
- var packageConfig_1 = require("@signageos/sdk/dist/FileSystem/packageConfig");
76
- var commandDefinition_1 = require("../../Command/commandDefinition");
77
- var appletErrors_1 = require("../appletErrors");
78
- var log_1 = require("@signageos/sdk/dist/Console/log");
79
- var sdk_1 = require("@signageos/sdk");
80
- var GatewayError_1 = require("@signageos/sdk/dist/RestApi/Error/GatewayError");
81
- var NotFoundError_1 = require("@signageos/sdk/dist/RestApi/Error/NotFoundError");
16
+ const chalk_1 = __importDefault(require("chalk"));
17
+ const prompts_1 = __importDefault(require("prompts"));
18
+ const helper_1 = require("../../helper");
19
+ const parameters_1 = require("../../parameters");
20
+ const organizationFacade_1 = require("../../Organization/organizationFacade");
21
+ const appletFacade_1 = require("../appletFacade");
22
+ const appletUploadFacade_1 = require("./appletUploadFacade");
23
+ const appletUploadCommandHelper_1 = require("./appletUploadCommandHelper");
24
+ const fileSystem_1 = require("../../Lib/fileSystem");
25
+ const progressBarFactory_1 = require("../../CommandLine/progressBarFactory");
26
+ const packageConfig_1 = require("@signageos/sdk/dist/FileSystem/packageConfig");
27
+ const commandDefinition_1 = require("../../Command/commandDefinition");
28
+ const appletErrors_1 = require("../appletErrors");
29
+ const log_1 = require("@signageos/sdk/dist/Console/log");
30
+ const sdk_1 = require("@signageos/sdk");
31
+ const GatewayError_1 = __importDefault(require("@signageos/sdk/dist/RestApi/Error/GatewayError"));
32
+ const NotFoundError_1 = __importDefault(require("@signageos/sdk/dist/RestApi/Error/NotFoundError"));
82
33
  exports.OPTION_LIST = [
83
34
  appletUploadCommandHelper_1.APPLET_PATH_OPTION,
84
35
  appletUploadCommandHelper_1.ENTRY_FILE_PATH_OPTION,
@@ -88,18 +39,18 @@ exports.OPTION_LIST = [
88
39
  {
89
40
  name: 'update-package-config',
90
41
  type: Boolean,
91
- description: "Force updating package.json with sos.appletUid value of created applet." +
92
- "It's useful when appletUid is passed using SOS_APPLET_UID environment variable.",
42
+ description: `Force updating package.json with sos.appletUid value of created applet.` +
43
+ `It's useful when appletUid is passed using SOS_APPLET_UID environment variable.`,
93
44
  },
94
45
  {
95
46
  name: 'yes',
96
47
  type: Boolean,
97
- description: "Allow to upload new applet or override existing version without confirmation step",
48
+ description: `Allow to upload new applet or override existing version without confirmation step`,
98
49
  },
99
50
  {
100
51
  name: 'verbose',
101
52
  type: Boolean,
102
- description: "outputs all files to upload",
53
+ description: `outputs all files to upload`,
103
54
  },
104
55
  ];
105
56
  exports.appletUpload = (0, commandDefinition_1.createCommandDefinition)({
@@ -107,243 +58,187 @@ exports.appletUpload = (0, commandDefinition_1.createCommandDefinition)({
107
58
  description: 'Uploads current applet version',
108
59
  optionList: exports.OPTION_LIST,
109
60
  commands: [],
110
- run: function (options) {
111
- return __awaiter(this, void 0, void 0, function () {
112
- var currentDirectory, organizationUid, organization, restApi, _a, appletName, appletVersion, frontAppletVersion, appletPathOption, appletEntryOption, updatePackageConfig, appletBinaryFilePath, appletDirectoryPath, appletEntryFilePath, isSingleFileApplet, overrideAppletVersionConfirmed, createNewAppletVersionConfirmed, appletUid, error_1, createdApplet, applet, specificAppletVersion, e_1, verbose, allowVerbose, appletFiles, appletFilePaths, yes, skipConfirmation, response, response, appletEntryFileRelativePath, progressBar, appletEntryFileRelativePath, progressBar, error_2;
113
- return __generator(this, function (_b) {
114
- switch (_b.label) {
115
- case 0:
116
- currentDirectory = process.cwd();
117
- return [4 /*yield*/, (0, organizationFacade_1.getOrganizationUidOrDefaultOrSelect)(options)];
118
- case 1:
119
- organizationUid = _b.sent();
120
- return [4 /*yield*/, (0, organizationFacade_1.getOrganization)(organizationUid)];
121
- case 2:
122
- organization = _b.sent();
123
- return [4 /*yield*/, (0, helper_1.createOrganizationRestApi)(organization)];
124
- case 3:
125
- restApi = _b.sent();
126
- return [4 /*yield*/, (0, appletFacade_1.getApplet)(currentDirectory)];
127
- case 4:
128
- _a = _b.sent(), appletName = _a.name, appletVersion = _a.version, frontAppletVersion = _a.frontAppletVersion;
129
- appletPathOption = options['applet-path'];
130
- appletEntryOption = options['entry-file-path'];
131
- updatePackageConfig = options['update-package-config'];
132
- appletBinaryFilePath = undefined;
133
- appletDirectoryPath = undefined;
134
- appletEntryFilePath = undefined;
135
- isSingleFileApplet = !!(appletPathOption && !appletEntryOption);
136
- if (!isSingleFileApplet) return [3 /*break*/, 6];
137
- displaySingleFileAppletDeprecationNote();
138
- return [4 /*yield*/, (0, appletUploadCommandHelper_1.getAppletBinaryFileAbsolutePath)(currentDirectory, options)];
139
- case 5:
140
- appletBinaryFilePath = _b.sent();
141
- return [3 /*break*/, 9];
142
- case 6: return [4 /*yield*/, (0, appletUploadCommandHelper_1.getAppletDirectoryAbsolutePath)(currentDirectory, options)];
143
- case 7:
144
- appletDirectoryPath = _b.sent();
145
- return [4 /*yield*/, (0, appletUploadCommandHelper_1.getAppletEntryFileAbsolutePath)(currentDirectory, options)];
146
- case 8:
147
- appletEntryFilePath = _b.sent();
148
- _b.label = 9;
149
- case 9:
150
- overrideAppletVersionConfirmed = false;
151
- createNewAppletVersionConfirmed = false;
152
- _b.label = 10;
153
- case 10:
154
- _b.trys.push([10, 12, 14, 17]);
155
- return [4 /*yield*/, (0, appletFacade_1.getAppletUid)(restApi, options)];
156
- case 11:
157
- appletUid = _b.sent();
158
- return [3 /*break*/, 17];
159
- case 12:
160
- error_1 = _b.sent();
161
- if (!(error_1 instanceof appletErrors_1.AppletDoesNotExistError)) {
162
- throw error_1;
163
- }
164
- (0, log_1.log)('info', chalk_1.default.yellow("applet uid is not present in package file, adding one."));
165
- return [4 /*yield*/, restApi.applet.create({ name: appletName })];
166
- case 13:
167
- createdApplet = _b.sent();
168
- appletUid = createdApplet.uid;
169
- return [3 /*break*/, 17];
170
- case 14:
171
- if (!updatePackageConfig) return [3 /*break*/, 16];
172
- return [4 /*yield*/, (0, packageConfig_1.saveToPackage)(currentDirectory, { sos: { appletUid: appletUid } })];
173
- case 15:
174
- _b.sent();
175
- _b.label = 16;
176
- case 16: return [7 /*endfinally*/];
177
- case 17: return [4 /*yield*/, restApi.applet.get(appletUid)];
178
- case 18:
179
- applet = _b.sent();
180
- _b.label = 19;
181
- case 19:
182
- _b.trys.push([19, 21, , 22]);
183
- return [4 /*yield*/, restApi.applet.version.get(appletUid, appletVersion)];
184
- case 20:
185
- specificAppletVersion = _b.sent();
186
- return [3 /*break*/, 22];
187
- case 21:
188
- e_1 = _b.sent();
189
- if (!(e_1 instanceof NotFoundError_1.default)) {
190
- throw e_1;
191
- }
192
- return [3 /*break*/, 22];
193
- case 22:
194
- verbose = 'verbose';
195
- allowVerbose = options[verbose];
196
- appletFiles = [];
197
- if (!!isSingleFileApplet) return [3 /*break*/, 25];
198
- return [4 /*yield*/, sdk_1.dev.applet.files.listAppletFiles({
199
- appletPath: appletDirectoryPath,
200
- })];
201
- case 23:
202
- appletFilePaths = _b.sent();
203
- return [4 /*yield*/, (0, fileSystem_1.validateAllFormalities)(appletDirectoryPath, appletEntryFilePath, appletFilePaths)];
204
- case 24:
205
- _b.sent();
206
- appletFiles.push.apply(appletFiles, __spreadArray([], __read(appletFilePaths), false));
207
- _b.label = 25;
208
- case 25:
209
- if (allowVerbose) {
210
- printUploadFiles(appletFiles);
211
- }
212
- yes = 'yes';
213
- skipConfirmation = options[yes];
214
- if (!specificAppletVersion) return [3 /*break*/, 29];
215
- if (specificAppletVersion.publishedSince) {
216
- (0, log_1.log)('info', chalk_1.default.yellow("Applet version ".concat(appletVersion, " is already published.")));
217
- throw new Error("Applet version ".concat(appletVersion, " is set as Published and cannot be overridden. Upload your code under a new/different version. The version number can be changed in the package.json"));
218
- }
219
- if (specificAppletVersion.deprecatedSince) {
220
- (0, log_1.log)('info', chalk_1.default.yellow("Applet version ".concat(appletVersion, " is already deprecated.")));
221
- throw new Error("Applet version ".concat(appletVersion, " is set as Deprecated and cannot be overridden. Upload your code under a new/different version. The version number can be changed in the package.json"));
222
- }
223
- if (!skipConfirmation) return [3 /*break*/, 26];
224
- (0, log_1.log)('info', chalk_1.default.yellow("Will override existing version ".concat(appletVersion)));
225
- overrideAppletVersionConfirmed = true;
226
- return [3 /*break*/, 28];
227
- case 26: return [4 /*yield*/, prompts({
228
- type: 'confirm',
229
- name: 'override',
230
- message: "Do you want to override applet version ".concat(appletVersion, "?"),
231
- })];
232
- case 27:
233
- response = _b.sent();
234
- overrideAppletVersionConfirmed = response.override;
235
- _b.label = 28;
236
- case 28: return [3 /*break*/, 32];
237
- case 29:
238
- if (!skipConfirmation) return [3 /*break*/, 30];
239
- (0, log_1.log)('info', chalk_1.default.yellow("Will create new version ".concat(appletVersion)));
240
- createNewAppletVersionConfirmed = true;
241
- return [3 /*break*/, 32];
242
- case 30: return [4 /*yield*/, prompts({
243
- type: 'confirm',
244
- name: 'newVersion',
245
- message: "Do you want to create new applet version ".concat(appletVersion, "?"),
246
- })];
247
- case 31:
248
- response = _b.sent();
249
- createNewAppletVersionConfirmed = response.newVersion;
250
- _b.label = 32;
251
- case 32:
252
- if (!overrideAppletVersionConfirmed && !createNewAppletVersionConfirmed) {
253
- throw new Error('Applet version upload was canceled.');
254
- }
255
- _b.label = 33;
256
- case 33:
257
- _b.trys.push([33, 44, , 45]);
258
- if (!overrideAppletVersionConfirmed) return [3 /*break*/, 38];
259
- if (!isSingleFileApplet) return [3 /*break*/, 35];
260
- return [4 /*yield*/, (0, appletUploadFacade_1.updateSingleFileApplet)({
261
- restApi: restApi,
262
- applet: {
263
- uid: appletUid,
264
- version: appletVersion,
265
- binaryFilePath: appletBinaryFilePath,
266
- frontAppletVersion: frontAppletVersion,
267
- },
268
- })];
269
- case 34:
270
- _b.sent();
271
- return [3 /*break*/, 37];
272
- case 35:
273
- appletEntryFileRelativePath = (0, appletUploadCommandHelper_1.getAppletEntryFileRelativePath)(appletEntryFilePath, appletDirectoryPath);
274
- progressBar = (0, progressBarFactory_1.createProgressBar)();
275
- return [4 /*yield*/, (0, appletUploadFacade_1.updateMultiFileApplet)({
276
- restApi: restApi,
277
- applet: {
278
- uid: appletUid,
279
- version: appletVersion,
280
- entryFilePath: appletEntryFileRelativePath,
281
- directoryPath: appletDirectoryPath,
282
- files: appletFiles,
283
- },
284
- progressBar: progressBar,
285
- })];
286
- case 36:
287
- _b.sent();
288
- _b.label = 37;
289
- case 37:
290
- displaySuccessMessage(applet.uid, applet.name, appletVersion, parameters_1.parameters.boxHost);
291
- return [3 /*break*/, 43];
292
- case 38:
293
- if (!createNewAppletVersionConfirmed) return [3 /*break*/, 43];
294
- if (!isSingleFileApplet) return [3 /*break*/, 40];
295
- return [4 /*yield*/, (0, appletUploadFacade_1.createSingleFileApplet)({
296
- restApi: restApi,
297
- applet: {
298
- uid: appletUid,
299
- version: appletVersion,
300
- binaryFilePath: appletBinaryFilePath,
301
- frontAppletVersion: frontAppletVersion,
302
- },
303
- })];
304
- case 39:
305
- _b.sent();
306
- return [3 /*break*/, 42];
307
- case 40:
308
- appletEntryFileRelativePath = (0, appletUploadCommandHelper_1.getAppletEntryFileRelativePath)(appletEntryFilePath, appletDirectoryPath);
309
- progressBar = (0, progressBarFactory_1.createProgressBar)();
310
- return [4 /*yield*/, (0, appletUploadFacade_1.createMultiFileFileApplet)({
311
- restApi: restApi,
312
- applet: {
313
- uid: appletUid,
314
- version: appletVersion,
315
- entryFilePath: appletEntryFileRelativePath,
316
- directoryPath: appletDirectoryPath,
317
- files: appletFiles,
318
- },
319
- progressBar: progressBar,
320
- })];
321
- case 41:
322
- _b.sent();
323
- _b.label = 42;
324
- case 42:
325
- displaySuccessMessage(applet.uid, applet.name, appletVersion, parameters_1.parameters.boxHost);
326
- _b.label = 43;
327
- case 43: return [3 /*break*/, 45];
328
- case 44:
329
- error_2 = _b.sent();
330
- if (error_2 instanceof GatewayError_1.default) {
331
- throw new Error('The service is currently busy, please try again later.');
332
- }
333
- throw error_2;
334
- case 45: return [2 /*return*/];
61
+ run(options) {
62
+ return __awaiter(this, void 0, void 0, function* () {
63
+ const currentDirectory = process.cwd();
64
+ const organizationUid = yield (0, organizationFacade_1.getOrganizationUidOrDefaultOrSelect)(options);
65
+ const organization = yield (0, organizationFacade_1.getOrganization)(organizationUid);
66
+ const restApi = yield (0, helper_1.createOrganizationRestApi)(organization);
67
+ const { name: appletName, version: appletVersion, frontAppletVersion } = yield (0, appletFacade_1.getApplet)(currentDirectory);
68
+ const appletPathOption = options['applet-path'];
69
+ const appletEntryOption = options['entry-file-path'];
70
+ const updatePackageConfig = options['update-package-config'];
71
+ let appletBinaryFilePath = undefined;
72
+ let appletDirectoryPath = undefined;
73
+ let appletEntryFilePath = undefined;
74
+ const isSingleFileApplet = !!(appletPathOption && !appletEntryOption);
75
+ if (isSingleFileApplet) {
76
+ displaySingleFileAppletDeprecationNote();
77
+ appletBinaryFilePath = yield (0, appletUploadCommandHelper_1.getAppletBinaryFileAbsolutePath)(currentDirectory, options);
78
+ }
79
+ else {
80
+ appletDirectoryPath = yield (0, appletUploadCommandHelper_1.getAppletDirectoryAbsolutePath)(currentDirectory, options);
81
+ appletEntryFilePath = yield (0, appletUploadCommandHelper_1.getAppletEntryFileAbsolutePath)(currentDirectory, options);
82
+ }
83
+ let overrideAppletVersionConfirmed = false;
84
+ let createNewAppletVersionConfirmed = false;
85
+ let appletUid;
86
+ try {
87
+ appletUid = yield (0, appletFacade_1.getAppletUid)(restApi, options);
88
+ }
89
+ catch (error) {
90
+ if (!(error instanceof appletErrors_1.AppletDoesNotExistError)) {
91
+ throw error;
92
+ }
93
+ (0, log_1.log)('info', chalk_1.default.yellow(`applet uid is not present in package file, adding one.`));
94
+ const createdApplet = yield restApi.applet.create({ name: appletName });
95
+ appletUid = createdApplet.uid;
96
+ }
97
+ finally {
98
+ if (updatePackageConfig) {
99
+ yield (0, packageConfig_1.saveToPackage)(currentDirectory, { sos: { appletUid } });
100
+ }
101
+ }
102
+ const applet = yield restApi.applet.get(appletUid);
103
+ let specificAppletVersion;
104
+ try {
105
+ specificAppletVersion = yield restApi.applet.version.get(appletUid, appletVersion);
106
+ }
107
+ catch (e) {
108
+ if (!(e instanceof NotFoundError_1.default)) {
109
+ throw e;
110
+ }
111
+ }
112
+ const verbose = 'verbose';
113
+ const allowVerbose = options[verbose];
114
+ const appletFiles = [];
115
+ if (!isSingleFileApplet) {
116
+ const appletFilePaths = yield sdk_1.dev.applet.files.listAppletFiles({
117
+ appletPath: appletDirectoryPath,
118
+ });
119
+ yield (0, fileSystem_1.validateAllFormalities)(appletDirectoryPath, appletEntryFilePath, appletFilePaths);
120
+ appletFiles.push(...appletFilePaths);
121
+ }
122
+ if (allowVerbose) {
123
+ printUploadFiles(appletFiles);
124
+ }
125
+ const yes = 'yes';
126
+ const skipConfirmation = options[yes];
127
+ if (specificAppletVersion) {
128
+ if (specificAppletVersion.publishedSince) {
129
+ (0, log_1.log)('info', chalk_1.default.yellow(`Applet version ${appletVersion} is already published.`));
130
+ throw new Error(`Applet version ${appletVersion} is set as Published and cannot be overridden. Upload your code under a new/different version. The version number can be changed in the package.json`);
131
+ }
132
+ if (specificAppletVersion.deprecatedSince) {
133
+ (0, log_1.log)('info', chalk_1.default.yellow(`Applet version ${appletVersion} is already deprecated.`));
134
+ throw new Error(`Applet version ${appletVersion} is set as Deprecated and cannot be overridden. Upload your code under a new/different version. The version number can be changed in the package.json`);
135
+ }
136
+ if (skipConfirmation) {
137
+ (0, log_1.log)('info', chalk_1.default.yellow(`Will override existing version ${appletVersion}`));
138
+ overrideAppletVersionConfirmed = true;
139
+ }
140
+ else {
141
+ const response = yield (0, prompts_1.default)({
142
+ type: 'confirm',
143
+ name: 'override',
144
+ message: `Do you want to override applet version ${appletVersion}?`,
145
+ });
146
+ overrideAppletVersionConfirmed = response.override;
147
+ }
148
+ }
149
+ else {
150
+ if (skipConfirmation) {
151
+ (0, log_1.log)('info', chalk_1.default.yellow(`Will create new version ${appletVersion}`));
152
+ createNewAppletVersionConfirmed = true;
335
153
  }
336
- });
154
+ else {
155
+ const response = yield (0, prompts_1.default)({
156
+ type: 'confirm',
157
+ name: 'newVersion',
158
+ message: `Do you want to create new applet version ${appletVersion}?`,
159
+ });
160
+ createNewAppletVersionConfirmed = response.newVersion;
161
+ }
162
+ }
163
+ if (!overrideAppletVersionConfirmed && !createNewAppletVersionConfirmed) {
164
+ throw new Error('Applet version upload was canceled.');
165
+ }
166
+ try {
167
+ if (overrideAppletVersionConfirmed) {
168
+ if (isSingleFileApplet) {
169
+ yield (0, appletUploadFacade_1.updateSingleFileApplet)({
170
+ restApi,
171
+ applet: {
172
+ uid: appletUid,
173
+ version: appletVersion,
174
+ binaryFilePath: appletBinaryFilePath,
175
+ frontAppletVersion,
176
+ },
177
+ });
178
+ }
179
+ else {
180
+ const appletEntryFileRelativePath = (0, appletUploadCommandHelper_1.getAppletEntryFileRelativePath)(appletEntryFilePath, appletDirectoryPath);
181
+ const progressBar = (0, progressBarFactory_1.createProgressBar)();
182
+ yield (0, appletUploadFacade_1.updateMultiFileApplet)({
183
+ restApi,
184
+ applet: {
185
+ uid: appletUid,
186
+ version: appletVersion,
187
+ entryFilePath: appletEntryFileRelativePath,
188
+ directoryPath: appletDirectoryPath,
189
+ files: appletFiles,
190
+ },
191
+ progressBar: progressBar,
192
+ });
193
+ }
194
+ displaySuccessMessage(applet.uid, applet.name, appletVersion, parameters_1.parameters.boxHost);
195
+ }
196
+ else if (createNewAppletVersionConfirmed) {
197
+ if (isSingleFileApplet) {
198
+ yield (0, appletUploadFacade_1.createSingleFileApplet)({
199
+ restApi,
200
+ applet: {
201
+ uid: appletUid,
202
+ version: appletVersion,
203
+ binaryFilePath: appletBinaryFilePath,
204
+ frontAppletVersion,
205
+ },
206
+ });
207
+ }
208
+ else {
209
+ const appletEntryFileRelativePath = (0, appletUploadCommandHelper_1.getAppletEntryFileRelativePath)(appletEntryFilePath, appletDirectoryPath);
210
+ const progressBar = (0, progressBarFactory_1.createProgressBar)();
211
+ yield (0, appletUploadFacade_1.createMultiFileFileApplet)({
212
+ restApi,
213
+ applet: {
214
+ uid: appletUid,
215
+ version: appletVersion,
216
+ entryFilePath: appletEntryFileRelativePath,
217
+ directoryPath: appletDirectoryPath,
218
+ files: appletFiles,
219
+ },
220
+ progressBar,
221
+ });
222
+ }
223
+ displaySuccessMessage(applet.uid, applet.name, appletVersion, parameters_1.parameters.boxHost);
224
+ }
225
+ }
226
+ catch (error) {
227
+ if (error instanceof GatewayError_1.default) {
228
+ throw new Error('The service is currently busy, please try again later.');
229
+ }
230
+ throw error;
231
+ }
337
232
  });
338
233
  },
339
234
  });
340
235
  function displaySuccessMessage(appletUid, appletName, appletVersion, boxHost) {
341
- (0, log_1.log)('info', "Applet ".concat(chalk_1.default.green(appletName), " version ").concat(chalk_1.default.green(appletVersion), " has been uploaded."));
342
- var appletBoxUri = "https://".concat(boxHost, "/applet/").concat(appletUid, "/").concat(appletVersion, "/build");
343
- (0, log_1.log)('info', "To build specific applications (Tizen, WebOS, SSSP, BrightSign, RPi, Android etc.) go to ".concat(chalk_1.default.blue(appletBoxUri)));
236
+ (0, log_1.log)('info', `Applet ${chalk_1.default.green(appletName)} version ${chalk_1.default.green(appletVersion)} has been uploaded.`);
237
+ const appletBoxUri = `https://${boxHost}/applet/${appletUid}/${appletVersion}/build`;
238
+ (0, log_1.log)('info', `To build specific applications (Tizen, WebOS, SSSP, BrightSign, RPi, Android etc.) go to ${chalk_1.default.blue(appletBoxUri)}`);
344
239
  }
345
240
  function displaySingleFileAppletDeprecationNote() {
346
- (0, log_1.log)('warning', "".concat(chalk_1.default.red("Applets with only applet-path file are ".concat(chalk_1.default.bold("deprecated"), ".")), " Please find more information at our website."));
241
+ (0, log_1.log)('warning', `${chalk_1.default.red(`Applets with only applet-path file are ${chalk_1.default.bold(`deprecated`)}.`)} Please find more information at our website.`);
347
242
  }
348
243
  /**
349
244
  *
@@ -351,8 +246,7 @@ function displaySingleFileAppletDeprecationNote() {
351
246
  */
352
247
  function printUploadFiles(appletFiles) {
353
248
  if (appletFiles.length > 0) {
354
- (0, log_1.log)('info', chalk_1.default.yellow("Next files will be uploaded ..."));
249
+ (0, log_1.log)('info', chalk_1.default.yellow(`Next files will be uploaded ...`));
355
250
  }
356
- appletFiles.forEach(function (file) { return (0, log_1.log)('info', file); });
251
+ appletFiles.forEach((file) => (0, log_1.log)('info', file));
357
252
  }
358
- //# sourceMappingURL=appletUploadCommand.js.map