@uipath/solution-tool 0.1.5 → 0.1.7

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 (4) hide show
  1. package/README.md +29 -29
  2. package/dist/index.js +93 -46
  3. package/dist/tool.js +236 -126
  4. package/package.json +54 -55
package/README.md CHANGED
@@ -1,30 +1,30 @@
1
- # Solution Tool
2
-
3
- `uip` plugin for for managing UiPath Automation Solutions.
4
-
5
-
6
- ## Commands
7
-
8
- ### Upload
9
-
10
- Upload a solution package (zip file) to UiPath
11
-
12
- ```bash
13
- uip solution upload <package-path>
14
- ```
15
-
16
- ### Pack
17
-
18
- Pack a UiPath solution from a folder or .uis file
19
-
20
- ```bash
21
- uip solution pack <solutionPath>
22
- ```
23
-
24
- ## Changes
25
-
26
- ### solution-tool 0.0.1
27
- - Added `upload` support
28
-
29
- ### solution-tool 0.0.2
1
+ # Solution Tool
2
+
3
+ `uip` plugin for for managing UiPath Automation Solutions.
4
+
5
+
6
+ ## Commands
7
+
8
+ ### Upload
9
+
10
+ Upload a solution package (zip file) to UiPath
11
+
12
+ ```bash
13
+ uip solution upload <package-path>
14
+ ```
15
+
16
+ ### Pack
17
+
18
+ Pack a UiPath solution from a folder or .uis file
19
+
20
+ ```bash
21
+ uip solution pack <solutionPath>
22
+ ```
23
+
24
+ ## Changes
25
+
26
+ ### solution-tool 0.0.1
27
+ - Added `upload` support
28
+
29
+ ### solution-tool 0.0.2
30
30
  - Added `pack` command
package/dist/index.js CHANGED
@@ -6,25 +6,43 @@ var __getProtoOf = Object.getPrototypeOf;
6
6
  var __defProp = Object.defineProperty;
7
7
  var __getOwnPropNames = Object.getOwnPropertyNames;
8
8
  var __hasOwnProp = Object.prototype.hasOwnProperty;
9
+ function __accessProp(key) {
10
+ return this[key];
11
+ }
12
+ var __toESMCache_node;
13
+ var __toESMCache_esm;
9
14
  var __toESM = (mod, isNodeMode, target) => {
15
+ var canCache = mod != null && typeof mod === "object";
16
+ if (canCache) {
17
+ var cache = isNodeMode ? __toESMCache_node ??= new WeakMap : __toESMCache_esm ??= new WeakMap;
18
+ var cached = cache.get(mod);
19
+ if (cached)
20
+ return cached;
21
+ }
10
22
  target = mod != null ? __create(__getProtoOf(mod)) : {};
11
23
  const to = isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target;
12
24
  for (let key of __getOwnPropNames(mod))
13
25
  if (!__hasOwnProp.call(to, key))
14
26
  __defProp(to, key, {
15
- get: () => mod[key],
27
+ get: __accessProp.bind(mod, key),
16
28
  enumerable: true
17
29
  });
30
+ if (canCache)
31
+ cache.set(mod, to);
18
32
  return to;
19
33
  };
20
34
  var __commonJS = (cb, mod) => () => (mod || cb((mod = { exports: {} }).exports, mod), mod.exports);
35
+ var __returnValue = (v) => v;
36
+ function __exportSetter(name, newValue) {
37
+ this[name] = __returnValue.bind(null, newValue);
38
+ }
21
39
  var __export = (target, all) => {
22
40
  for (var name in all)
23
41
  __defProp(target, name, {
24
42
  get: all[name],
25
43
  enumerable: true,
26
44
  configurable: true,
27
- set: (newValue) => all[name] = () => newValue
45
+ set: __exportSetter.bind(all, name)
28
46
  });
29
47
  };
30
48
  var __esm = (fn, res) => () => (fn && (res = fn(fn = 0)), res);
@@ -6776,7 +6794,7 @@ class SimpleLogger {
6776
6794
  return 0 /* DEBUG */;
6777
6795
  }
6778
6796
  } catch {}
6779
- return 3 /* ERROR */;
6797
+ return DEFAULT_LOG_LEVEL;
6780
6798
  }
6781
6799
  static parseLevel(value) {
6782
6800
  switch (value.toLowerCase()) {
@@ -6909,7 +6927,7 @@ class SimpleLogger {
6909
6927
  function getLogFilePath() {
6910
6928
  return logger.getLogFilePath();
6911
6929
  }
6912
- var GLOBAL_KEY = "__uipcli_log_file_path__", logger;
6930
+ var GLOBAL_KEY = "__uipcli_log_file_path__", DEFAULT_LOG_LEVEL = 3 /* ERROR */, logger;
6913
6931
  var init_logger = __esm(() => {
6914
6932
  init_output_context();
6915
6933
  logger = SimpleLogger.getInstance();
@@ -7180,7 +7198,7 @@ var init_telemetry = __esm(() => {
7180
7198
  init_logger_telemetry_provider();
7181
7199
  init_node_appinsights_telemetry_provider();
7182
7200
  sessionId = getOrCreateSessionId();
7183
- DEFAULT_AI_CONNECTION_STRING = Buffer.from("SW5zdHJ1bWVudGF0aW9uS2V5PTYwNjQ5ZGY3LTk4ZmYtNDk2My1iMWQ0LWE3MGQwMzA2MTc0ZjtJbmdlc3Rpb25FbmRwb2ludD1odHRwczovL3dlc3RldXJvcGUtNS5pbi5hcHBsaWNhdGlvbmluc2lnaHRzLmF6dXJlLmNvbS87TGl2ZUVuZHBvaW50PWh0dHBzOi8vd2VzdGV1cm9wZS5saXZlZGlhZ25vc3RpY3MubW9uaXRvci5henVyZS5jb20vO0FwcGxpY2F0aW9uSWQ9ZjlmYWNiNTctM2QxMS00Njc4LWJiOGItMDI0YmJhYmM1Y2Fl", "base64").toString("utf-8");
7201
+ DEFAULT_AI_CONNECTION_STRING = Buffer.from("SW5zdHJ1bWVudGF0aW9uS2V5PTliZDM3NDgyLTgxMGUtNDQyYS1hYWE2LWQzOGVmNjVjNjY3NDtJbmdlc3Rpb25FbmRwb2ludD1odHRwczovL3dlc3RldXJvcGUtNS5pbi5hcHBsaWNhdGlvbmluc2lnaHRzLmF6dXJlLmNvbS87TGl2ZUVuZHBvaW50PWh0dHBzOi8vd2VzdGV1cm9wZS5saXZlZGlhZ25vc3RpY3MubW9uaXRvci5henVyZS5jb20vO0FwcGxpY2F0aW9uSWQ9MzU2OTdlZjEtOGJkMC00ZjE5LWEyN2MtZDg3Y2NhYzY2ZDJj", "base64").toString("utf-8");
7184
7202
  telemetry = new Proxy({}, {
7185
7203
  get(_, prop) {
7186
7204
  const instance = getTelemetryInstance();
@@ -7194,7 +7212,7 @@ var init_telemetry = __esm(() => {
7194
7212
  var CommonTelemetryEvents;
7195
7213
  var init_telemetry_events = __esm(() => {
7196
7214
  CommonTelemetryEvents = {
7197
- Error: "Error"
7215
+ Error: "uip.error"
7198
7216
  };
7199
7217
  });
7200
7218
 
@@ -7245,11 +7263,6 @@ function logOutput(data, format = "table") {
7245
7263
  printOutput(data, format, (msg) => sink.writeOut(`${msg}
7246
7264
  `));
7247
7265
  }
7248
- function errorOutput(data, format = "table") {
7249
- const sink = getOutputSink();
7250
- printOutput(data, format, (msg) => sink.writeErr(`${msg}
7251
- `));
7252
- }
7253
7266
  function printTable(data, logFn = console.log, externalLogValue) {
7254
7267
  if (data.length === 0)
7255
7268
  return;
@@ -7312,7 +7325,7 @@ var init_formatter = __esm(() => {
7312
7325
  result: data.Result,
7313
7326
  message: data.Message
7314
7327
  });
7315
- errorOutput(data, getOutputFormat());
7328
+ logOutput(data, getOutputFormat());
7316
7329
  }
7317
7330
  OutputFormatter.error = error;
7318
7331
  function log(data) {
@@ -7350,6 +7363,12 @@ var init_command_help = __esm(() => {
7350
7363
  init_output_format_context();
7351
7364
  });
7352
7365
 
7366
+ // ../common/src/constants.ts
7367
+ var UIPATH_HOME_DIR = ".uipath", AUTH_FILENAME = ".auth", CONFIG_FILENAME = "config.json", LOCAL_CONFIG_FILENAME = "uipath.config.json", DEFAULT_BASE_URL = "https://cloud.uipath.com", DEFAULT_AUTH_TIMEOUT_MS;
7368
+ var init_constants = __esm(() => {
7369
+ DEFAULT_AUTH_TIMEOUT_MS = 5 * 60 * 1000;
7370
+ });
7371
+
7353
7372
  // ../../node_modules/jsonpath-plus/dist/index-node-esm.js
7354
7373
  import vm from "vm";
7355
7374
 
@@ -8755,13 +8774,36 @@ var init_jsonpath = __esm(() => {
8755
8774
  init_index_node_esm();
8756
8775
  });
8757
8776
  // ../common/src/trackedAction.ts
8777
+ function deriveCommandPath(cmd) {
8778
+ const parts = [];
8779
+ let current = cmd;
8780
+ while (current) {
8781
+ const name = current.name();
8782
+ if (name) {
8783
+ parts.unshift(name);
8784
+ }
8785
+ current = current.parent;
8786
+ }
8787
+ if (parts.length > 1) {
8788
+ parts.shift();
8789
+ }
8790
+ return ["uip", ...parts.filter((p) => p !== "uip")].join(".");
8791
+ }
8792
+ var processContext;
8758
8793
  var init_trackedAction = __esm(() => {
8759
8794
  init_esm();
8760
8795
  init_formatter();
8761
8796
  init_logger();
8762
8797
  init_telemetry();
8763
- Command2.prototype.trackedAction = function(context, telemetryName, fn, properties) {
8798
+ processContext = {
8799
+ exit: (code) => {
8800
+ process.exitCode = code;
8801
+ }
8802
+ };
8803
+ Command2.prototype.trackedAction = function(context, fn, properties) {
8804
+ const command = this;
8764
8805
  return this.action(async (...args) => {
8806
+ const telemetryName = deriveCommandPath(command);
8765
8807
  const props = typeof properties === "function" ? properties(...args) : properties;
8766
8808
  const startTime = performance.now();
8767
8809
  let errorMessage;
@@ -8792,6 +8834,7 @@ var init_trackedAction = __esm(() => {
8792
8834
  var init_src = __esm(() => {
8793
8835
  init_node_appinsights_telemetry_provider();
8794
8836
  init_command_help();
8837
+ init_constants();
8795
8838
  init_formatter();
8796
8839
  init_jsonpath();
8797
8840
  init_logger();
@@ -8799,7 +8842,6 @@ var init_src = __esm(() => {
8799
8842
  init_output_format_context();
8800
8843
  init_registry();
8801
8844
  init_telemetry();
8802
- init_telemetry_events();
8803
8845
  init_trackedAction();
8804
8846
  });
8805
8847
 
@@ -9646,15 +9688,15 @@ var {
9646
9688
  // package.json
9647
9689
  var package_default = {
9648
9690
  name: "@uipath/solution-tool",
9649
- version: "0.1.5",
9650
- description: "uipcli plugin for managing UiPath Automation Solutions.",
9691
+ version: "0.1.7",
9692
+ description: "Create, pack, publish, and deploy UiPath Automation Solutions.",
9651
9693
  repository: {
9652
9694
  type: "git",
9653
9695
  url: "https://github.com/UiPath/uipcli.git",
9654
9696
  directory: "packages/solution-tool"
9655
9697
  },
9656
9698
  publishConfig: {
9657
- registry: "https://npm.pkg.github.com/@uipath"
9699
+ registry: "https://registry.npmjs.org/"
9658
9700
  },
9659
9701
  keywords: [
9660
9702
  "uipcli-tool"
@@ -9680,8 +9722,7 @@ var package_default = {
9680
9722
  build: "bun build ./src/tool.ts --outdir dist --format esm --target node --external commander && bun build ./src/index.ts --outdir dist --format esm --target node",
9681
9723
  package: "bun run build && bun pm pack",
9682
9724
  lint: "biome check .",
9683
- "lint:fix": "biome check --write .",
9684
- e2e: "vitest run --config ../../vitest.e2e.base.config.ts"
9725
+ "lint:fix": "biome check --write ."
9685
9726
  },
9686
9727
  dependencies: {
9687
9728
  commander: "^14.0.3",
@@ -9702,6 +9743,15 @@ var package_default = {
9702
9743
  }
9703
9744
  };
9704
9745
 
9746
+ // src/commands/pack.ts
9747
+ init_src();
9748
+
9749
+ // ../auth/src/index.ts
9750
+ init_src();
9751
+
9752
+ // ../auth/src/config.ts
9753
+ init_src();
9754
+
9705
9755
  // ../auth/src/utils/loadConfig.ts
9706
9756
  init_src();
9707
9757
 
@@ -23288,11 +23338,11 @@ var loadConfigAsync = async () => {
23288
23338
  const fs7 = await getFs();
23289
23339
  let configPath = fs7.env.getenv("UIPATH_CONFIG_PATH");
23290
23340
  if (!configPath) {
23291
- const localPath = fs7.path.join(fs7.env.cwd(), "uipath.config.json");
23341
+ const localPath = fs7.path.join(fs7.env.cwd(), LOCAL_CONFIG_FILENAME);
23292
23342
  if (await fs7.exists(localPath)) {
23293
23343
  configPath = localPath;
23294
23344
  } else {
23295
- configPath = fs7.path.join(fs7.env.homedir(), ".uipcli", "config.json");
23345
+ configPath = fs7.path.join(fs7.env.homedir(), UIPATH_HOME_DIR, CONFIG_FILENAME);
23296
23346
  }
23297
23347
  }
23298
23348
  if (!await fs7.exists(configPath)) {
@@ -23325,7 +23375,6 @@ Please ensure your config file contains valid JSON.`;
23325
23375
  };
23326
23376
 
23327
23377
  // ../auth/src/config.ts
23328
- var DEFAULT_BASE_URL = "https://cloud.uipath.com";
23329
23378
  var DEFAULT_CLIENT_ID = "36dea5b8-e8bb-423d-8e7b-c808df8f1c00";
23330
23379
 
23331
23380
  class InvalidBaseUrlError extends Error {
@@ -23420,10 +23469,10 @@ init_src2();
23420
23469
 
23421
23470
  // ../auth/src/telemetry-events.ts
23422
23471
  var AuthTelemetryEvents = {
23423
- Login: "Auth.Login",
23424
- TenantSelected: "Auth.TenantSelected",
23425
- TokenRefresh: "Auth.TokenRefresh",
23426
- Logout: "Auth.Logout"
23472
+ Login: "uip.auth.login",
23473
+ TenantSelected: "uip.auth.tenant-selected",
23474
+ TokenRefresh: "uip.auth.token-refresh",
23475
+ Logout: "uip.auth.logout"
23427
23476
  };
23428
23477
 
23429
23478
  // ../auth/src/tenantSelection.ts
@@ -23944,9 +23993,7 @@ var Qe = `${t("gray", h)} `;
23944
23993
  // ../auth/src/utils/envFile.ts
23945
23994
  init_src();
23946
23995
  init_src2();
23947
- var DEFAULT_AUTH_FILENAME = ".auth";
23948
- var DEFAULT_AUTH_DIR = ".uipath";
23949
- var DEFAULT_ENV_FILENAME = `${DEFAULT_AUTH_DIR}/${DEFAULT_AUTH_FILENAME}`;
23996
+ var DEFAULT_ENV_FILENAME = `${UIPATH_HOME_DIR}/${AUTH_FILENAME}`;
23950
23997
  var resolveEnvFilePathAsync = async (envFilePath = DEFAULT_ENV_FILENAME) => {
23951
23998
  const fs7 = getFileSystem();
23952
23999
  if (fs7.path.isAbsolute(envFilePath)) {
@@ -24238,7 +24285,7 @@ import { homedir as homedir2, platform as platform2 } from "os";
24238
24285
  import { dirname as dirname3, join as join2 } from "path";
24239
24286
  import node_child_process, { execFile as execFile7, execSync as external_node_child_process_execSync, spawn as external_node_child_process_spawn } from "node:child_process";
24240
24287
  import node_fs, { existsSync as existsSync2 } from "node:fs";
24241
- import promises, { constants, mkdir as mkdir2, mkdtemp as mkdtemp2, readFile as readFile2, readdir as readdir2, rename as rename2, rm as rm2, stat as promises_stat, writeFile as writeFile2 } from "node:fs/promises";
24288
+ import promises, { constants as constants2, mkdir as mkdir2, mkdtemp as mkdtemp2, readFile as readFile2, readdir as readdir2, rename as rename2, rm as rm2, stat as promises_stat, writeFile as writeFile2 } from "node:fs/promises";
24242
24289
  import node_os, { homedir as external_node_os_homedir, tmpdir as tmpdir2 } from "node:os";
24243
24290
  import node_path, { basename as basename2, dirname as external_node_path_dirname, isAbsolute as isAbsolute2, join as external_node_path_join, relative as relative2, resolve as external_node_path_resolve } from "node:path";
24244
24291
  import node_process from "node:process";
@@ -26675,7 +26722,7 @@ var __webpack_modules__ = {
26675
26722
  var require_semver2 = __commonJS2({
26676
26723
  "../agents-ub-storage-migration/node_modules/.pnpm/semver@7.7.2/node_modules/semver/index.js"(exports, module) {
26677
26724
  var internalRe = require_re();
26678
- var constants2 = require_constants();
26725
+ var constants3 = require_constants();
26679
26726
  var SemVer = require_semver();
26680
26727
  var identifiers = require_identifiers();
26681
26728
  var parse52 = require_parse();
@@ -26757,8 +26804,8 @@ var __webpack_modules__ = {
26757
26804
  re: internalRe.re,
26758
26805
  src: internalRe.src,
26759
26806
  tokens: internalRe.t,
26760
- SEMVER_SPEC_VERSION: constants2.SEMVER_SPEC_VERSION,
26761
- RELEASE_TYPES: constants2.RELEASE_TYPES,
26807
+ SEMVER_SPEC_VERSION: constants3.SEMVER_SPEC_VERSION,
26808
+ RELEASE_TYPES: constants3.RELEASE_TYPES,
26762
26809
  compareIdentifiers: identifiers.compareIdentifiers,
26763
26810
  rcompareIdentifiers: identifiers.rcompareIdentifiers
26764
26811
  };
@@ -28277,7 +28324,7 @@ var __webpack_modules__ = {
28277
28324
  var require_semver4 = __commonJS2({
28278
28325
  "node_modules/.pnpm/semver@7.7.4/node_modules/semver/index.js"(exports, module) {
28279
28326
  var internalRe = require_re2();
28280
- var constants2 = require_constants2();
28327
+ var constants3 = require_constants2();
28281
28328
  var SemVer = require_semver3();
28282
28329
  var identifiers = require_identifiers2();
28283
28330
  var parse52 = require_parse2();
@@ -28359,8 +28406,8 @@ var __webpack_modules__ = {
28359
28406
  re: internalRe.re,
28360
28407
  src: internalRe.src,
28361
28408
  tokens: internalRe.t,
28362
- SEMVER_SPEC_VERSION: constants2.SEMVER_SPEC_VERSION,
28363
- RELEASE_TYPES: constants2.RELEASE_TYPES,
28409
+ SEMVER_SPEC_VERSION: constants3.SEMVER_SPEC_VERSION,
28410
+ RELEASE_TYPES: constants3.RELEASE_TYPES,
28364
28411
  compareIdentifiers: identifiers.compareIdentifiers,
28365
28412
  rcompareIdentifiers: identifiers.rcompareIdentifiers
28366
28413
  };
@@ -66119,7 +66166,7 @@ var wslDrivesMountPoint2 = (() => {
66119
66166
  const configFilePath = "/etc/wsl.conf";
66120
66167
  let isConfigFileExists = false;
66121
66168
  try {
66122
- await promises.access(configFilePath, constants.F_OK);
66169
+ await promises.access(configFilePath, constants2.F_OK);
66123
66170
  isConfigFileExists = true;
66124
66171
  } catch {}
66125
66172
  if (!isConfigFileExists)
@@ -66145,7 +66192,7 @@ var canAccessPowerShell2 = async () => {
66145
66192
  canAccessPowerShellPromise2 ??= (async () => {
66146
66193
  try {
66147
66194
  const psPath = await powerShellPath22();
66148
- await promises.access(psPath, constants.X_OK);
66195
+ await promises.access(psPath, constants2.X_OK);
66149
66196
  return true;
66150
66197
  } catch {
66151
66198
  return false;
@@ -66490,7 +66537,7 @@ var baseOpen2 = async (options) => {
66490
66537
  const isBundled = !__dirname22 || __dirname22 === "/";
66491
66538
  let exeLocalXdgOpen = false;
66492
66539
  try {
66493
- await promises.access(localXdgOpenPath2, constants.X_OK);
66540
+ await promises.access(localXdgOpenPath2, constants2.X_OK);
66494
66541
  exeLocalXdgOpen = true;
66495
66542
  } catch {}
66496
66543
  const useSystemXdgOpen = node_process.versions.electron ?? (dist_platform === "android" || isBundled || !exeLocalXdgOpen);
@@ -69207,7 +69254,7 @@ Packing solution...
69207
69254
 
69208
69255
  // src/commands/pack.ts
69209
69256
  var registerPackCommand = (program3) => {
69210
- program3.command("pack").description("Pack a UiPath solution from a folder or .uis file").argument("<solutionPath>", "Solution path").argument("<outputPath>", "Output directory where the packed solution will be saved").option("-n, --name <name>", "Package name (default: solution folder name or .uis file name)").option("-v, --version <version>", "Package version (default: 1.0.0)", "1.0.0").option("--login-validity <minutes>", "Minimum minutes before token expiration to trigger a refresh (default: 10)", parseInt, 10).action(async (solutionPath, outputPath, options) => {
69257
+ program3.command("pack").description("Pack a UiPath solution from a folder or .uis file").argument("<solutionPath>", "Solution path").argument("<outputPath>", "Output directory where the packed solution will be saved").option("-n, --name <name>", "Package name (default: solution folder name or .uis file name)").option("-v, --version <version>", "Package version (default: 1.0.0)", "1.0.0").option("--login-validity <minutes>", "Minimum minutes before token expiration to trigger a refresh (default: 10)", parseInt, 10).trackedAction(processContext, async (solutionPath, outputPath, options) => {
69211
69258
  const service = new PackCommandService;
69212
69259
  await service.execute(solutionPath, {
69213
69260
  output: outputPath,
@@ -70621,7 +70668,7 @@ async function getSolutionAuthContext(options) {
70621
70668
 
70622
70669
  // src/commands/publish.ts
70623
70670
  var registerPublishCommand = (program3) => {
70624
- program3.command("publish").description("Publish a solution package (.zip) to UiPath.").option("-t, --tenant <tenant-name>", "Tenant (optional, defaults to value selected during auth)").argument("<packagePath>", "Path to a .zip package file to publish.").option("--login-validity <minutes>", "Minimum minutes before token expiration to trigger a refresh (default: 10)", parseInt, 10).action(async (packagePath, options) => {
70671
+ program3.command("publish").description("Publish a solution package (.zip) to UiPath.").option("-t, --tenant <tenant-name>", "Tenant (optional, defaults to value selected during auth)").argument("<packagePath>", "Path to a .zip package file to publish.").option("--login-validity <minutes>", "Minimum minutes before token expiration to trigger a refresh (default: 10)", parseInt, 10).trackedAction(processContext, async (packagePath, options) => {
70625
70672
  const [authError, auth] = await catchError(getSolutionAuthContext({
70626
70673
  tenant: options.tenant,
70627
70674
  loginValidity: options.loginValidity
@@ -70632,7 +70679,7 @@ var registerPublishCommand = (program3) => {
70632
70679
  Message: authError.message,
70633
70680
  Instructions: authError.message
70634
70681
  });
70635
- process.exitCode = 1;
70682
+ processContext.exit(1);
70636
70683
  return;
70637
70684
  }
70638
70685
  const fs7 = getFileSystem();
@@ -70644,7 +70691,7 @@ var registerPublishCommand = (program3) => {
70644
70691
  Message: `File not found: ${resolvedPath}`,
70645
70692
  Instructions: `Ensure the file path is correct. Build a package first with: uip solution pack`
70646
70693
  });
70647
- process.exitCode = 1;
70694
+ processContext.exit(1);
70648
70695
  return;
70649
70696
  }
70650
70697
  if (!resolvedPath.endsWith(".zip")) {
@@ -70653,7 +70700,7 @@ var registerPublishCommand = (program3) => {
70653
70700
  Message: `Invalid file type. Expected a .zip file, got: ${resolvedPath}`,
70654
70701
  Instructions: `Ensure file is a valid .zip solution package from: uip solution pack`
70655
70702
  });
70656
- process.exitCode = 1;
70703
+ processContext.exit(1);
70657
70704
  return;
70658
70705
  }
70659
70706
  const [fileBufferError, fileBuffer] = await catchError(fs7.readFile(resolvedPath));
@@ -70664,7 +70711,7 @@ var registerPublishCommand = (program3) => {
70664
70711
  Message: message,
70665
70712
  Instructions: `Unable to read file: ${resolvedPath}`
70666
70713
  });
70667
- process.exitCode = 1;
70714
+ processContext.exit(1);
70668
70715
  return;
70669
70716
  }
70670
70717
  const configuration = new Configuration({
@@ -70682,7 +70729,7 @@ var registerPublishCommand = (program3) => {
70682
70729
  Message: message,
70683
70730
  Instructions: `Ensure file is a valid .zip solution package from: uip solution pack. Details: ${details}`
70684
70731
  });
70685
- process.exitCode = 1;
70732
+ processContext.exit(1);
70686
70733
  return;
70687
70734
  }
70688
70735
  OutputFormatter.success({