@upsoft/patchkit-launcher-runtime-base 2.0.0-alpha.15 → 2.0.0-alpha.19

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.
@@ -9,7 +9,7 @@ exports.displaySelectAppBranchRootDirDialog = _1.__.declareManagedFunc()
9
9
  .async()
10
10
  .def(_1._.displaySelectAppBranchRootDirDialogDef)
11
11
  .execute(async ({ selectAppBranchRootDirDialogConfig, }) => {
12
- var _a, _b;
12
+ var _a;
13
13
  const appInfo = await (0, retrieve_app_info_1.retrieveAppInfo)({
14
14
  appId: selectAppBranchRootDirDialogConfig.appId,
15
15
  appAccessToken: selectAppBranchRootDirDialogConfig.appAccessToken,
@@ -49,7 +49,7 @@ exports.displaySelectAppBranchRootDirDialog = _1.__.declareManagedFunc()
49
49
  if (_1.__.$fs.readdirSync(electronDialogResultDirPath).length !== 0) {
50
50
  return {
51
51
  selectAppBranchRootDirDialogResult: {
52
- selectedDirPath: _1.__.$path.resolve(electronDialogResultDirPath, (_b = appInfo.name) !== null && _b !== void 0 ? _b : `App`),
52
+ selectedDirPath: _1.__.$path.resolve(electronDialogResultDirPath, appInfo.slug),
53
53
  },
54
54
  };
55
55
  }
@@ -1 +1 @@
1
- {"version":3,"file":"display-select-app-branch-root-dir-dialog.js","sourceRoot":"","sources":["../src/display-select-app-branch-root-dir-dialog.ts"],"names":[],"mappings":";;;AAAA,0BAA4B;AAE5B,qGAA4F;AAC5F,2DAAsD;AACtD,mDAAgD;AAEjC,2CAAmC,GAAK,KAAE,CAAC,kBAAkB,EAAE;KAC3E,KAAK,EAAE;KACP,GAAG,CAAC,IAAC,CAAC,sCAAsC,CAAC;KAC7C,OAAO,CACN,KAAK,EACH,EACE,kCAAkC,GACnC,EACD,EAAE;;IAEF,MAAM,OAAO,GAAG,MAAM,IAAA,mCAAe,EAAC;QACpC,KAAK,EAAE,kCAAkC,CAAC,KAAK;QAC/C,cAAc,EAAE,kCAAkC,CAAC,cAAc;KAClE,CAAC,CAAC;IAEH,MAAM,2BAA2B,GAAG,MAAM,IAAA,yEAAgC,EAAC;QACzE,KAAK,EAAE,kCAAkC,CAAC,KAAK;QAC/C,cAAc,EAAE,kCAAkC,CAAC,cAAc;QACjE,WAAW,EAAE,kCAAkC,CAAC,WAAW;KAC5D,CAAC,CAAC;IAEH,KAAE,CAAC,cAAc,CAAC,6BAAa,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC;IAErD,MAAM,oBAAoB,GAAG,MAAM,KAAE,CAAC,SAAS,CAAC,MAAM,CAAC,cAAc,CACnE,6BAAa,CAAC,KAAK,EACnB;QACE,UAAU,EAAE;YACV,eAAe;YACf,iBAAiB;SAClB;QACD,KAAK,EAAE,kCAAkC,CAAC,KAAK;QAC/C,OAAO,EAAE,kCAAkC,CAAC,OAAO;QACnD,WAAW,EAAE,MAAA,kCAAkC,CAAC,sBAAsB,mCAAI,2BAA2B;KACtG,CACF,CAAC;IAEF,IAAI,oBAAoB,CAAC,QAAQ,IAAI,oBAAoB,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAChF,CAAC;QACC,OAAO;YACL,kCAAkC,EAAE;gBAClC,eAAe,EAAE,SAAS;aAC3B;SACF,CAAC;IACJ,CAAC;IAED,MAAM,2BAA2B,GAAG,oBAAoB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAEtE,KAAE,CAAC,cAAc,CAAC,2BAA2B,KAAK,SAAS,CAAC,CAAC;IAE7D,IAAI,KAAE,CAAC,GAAG,CAAC,UAAU,CAAC,2BAA2B,CAAC,EAClD,CAAC;QACC,IAAI,CAAC,KAAE,CAAC,GAAG,CAAC,SAAS,CAAC,2BAA2B,CAAC,CAAC,WAAW,EAAE,EAChE,CAAC;YACC,OAAO;gBACL,kCAAkC,EAAE;oBAClC,eAAe,EAAE,SAAS;iBAC3B;aACF,CAAC;QACJ,CAAC;QAED,IAAI,KAAE,CAAC,GAAG,CAAC,WAAW,CAAC,2BAA2B,CAAC,CAAC,MAAM,KAAK,CAAC,EAChE,CAAC;YACC,OAAO;gBACL,kCAAkC,EAAE;oBAClC,eAAe,EAAE,KAAE,CAAC,KAAK,CAAC,OAAO,CAC/B,2BAA2B,EAC3B,MAAA,OAAO,CAAC,IAAI,mCAAI,KAAK,CACtB;iBACF;aACF,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO;QACL,kCAAkC,EAAE;YAClC,eAAe,EAAE,2BAA2B;SAC7C;KACF,CAAC;AACJ,CAAC,CACF,qCAAC"}
1
+ {"version":3,"file":"display-select-app-branch-root-dir-dialog.js","sourceRoot":"","sources":["../src/display-select-app-branch-root-dir-dialog.ts"],"names":[],"mappings":";;;AAAA,0BAA4B;AAE5B,qGAA4F;AAC5F,2DAAsD;AACtD,mDAAgD;AAEjC,2CAAmC,GAAK,KAAE,CAAC,kBAAkB,EAAE;KAC3E,KAAK,EAAE;KACP,GAAG,CAAC,IAAC,CAAC,sCAAsC,CAAC;KAC7C,OAAO,CACN,KAAK,EACH,EACE,kCAAkC,GACnC,EACD,EAAE;;IAEF,MAAM,OAAO,GAAG,MAAM,IAAA,mCAAe,EAAC;QACpC,KAAK,EAAE,kCAAkC,CAAC,KAAK;QAC/C,cAAc,EAAE,kCAAkC,CAAC,cAAc;KAClE,CAAC,CAAC;IAEH,MAAM,2BAA2B,GAAG,MAAM,IAAA,yEAAgC,EAAC;QACzE,KAAK,EAAE,kCAAkC,CAAC,KAAK;QAC/C,cAAc,EAAE,kCAAkC,CAAC,cAAc;QACjE,WAAW,EAAE,kCAAkC,CAAC,WAAW;KAC5D,CAAC,CAAC;IAEH,KAAE,CAAC,cAAc,CAAC,6BAAa,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC;IAErD,MAAM,oBAAoB,GAAG,MAAM,KAAE,CAAC,SAAS,CAAC,MAAM,CAAC,cAAc,CACnE,6BAAa,CAAC,KAAK,EACnB;QACE,UAAU,EAAE;YACV,eAAe;YACf,iBAAiB;SAClB;QACD,KAAK,EAAE,kCAAkC,CAAC,KAAK;QAC/C,OAAO,EAAE,kCAAkC,CAAC,OAAO;QACnD,WAAW,EAAE,MAAA,kCAAkC,CAAC,sBAAsB,mCAAI,2BAA2B;KACtG,CACF,CAAC;IAEF,IAAI,oBAAoB,CAAC,QAAQ,IAAI,oBAAoB,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAChF,CAAC;QACC,OAAO;YACL,kCAAkC,EAAE;gBAClC,eAAe,EAAE,SAAS;aAC3B;SACF,CAAC;IACJ,CAAC;IAED,MAAM,2BAA2B,GAAG,oBAAoB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAEtE,KAAE,CAAC,cAAc,CAAC,2BAA2B,KAAK,SAAS,CAAC,CAAC;IAE7D,IAAI,KAAE,CAAC,GAAG,CAAC,UAAU,CAAC,2BAA2B,CAAC,EAClD,CAAC;QACC,IAAI,CAAC,KAAE,CAAC,GAAG,CAAC,SAAS,CAAC,2BAA2B,CAAC,CAAC,WAAW,EAAE,EAChE,CAAC;YACC,OAAO;gBACL,kCAAkC,EAAE;oBAClC,eAAe,EAAE,SAAS;iBAC3B;aACF,CAAC;QACJ,CAAC;QAED,IAAI,KAAE,CAAC,GAAG,CAAC,WAAW,CAAC,2BAA2B,CAAC,CAAC,MAAM,KAAK,CAAC,EAChE,CAAC;YACC,OAAO;gBACL,kCAAkC,EAAE;oBAClC,eAAe,EAAE,KAAE,CAAC,KAAK,CAAC,OAAO,CAC/B,2BAA2B,EAC3B,OAAO,CAAC,IAAI,CACb;iBACF;aACF,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO;QACL,kCAAkC,EAAE;YAClC,eAAe,EAAE,2BAA2B;SAC7C;KACF,CAAC;AACJ,CAAC,CACF,qCAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"fetch-app-branch-default-root-dir-path.d.ts","sourceRoot":"","sources":["../src/fetch-app-branch-default-root-dir-path.ts"],"names":[],"mappings":"AAAA,OAAO,EAAK,EAAE,EAAE,MAAM,KAAK,CAAC;AAQ5B,eAAO,MAAQ,gCAAgC;;kBAJN,CAAA;;sBA2DtC,CAAC"}
1
+ {"version":3,"file":"fetch-app-branch-default-root-dir-path.d.ts","sourceRoot":"","sources":["../src/fetch-app-branch-default-root-dir-path.ts"],"names":[],"mappings":"AAAA,OAAO,EAAK,EAAE,EAAE,MAAM,KAAK,CAAC;AAwC5B,eAAO,MAAQ,gCAAgC;;kBApCN,CAAA;;sBA6FtC,CAAC"}
@@ -7,11 +7,34 @@ const get_user_data_dir_path_1 = require("./get-user-data-dir-path");
7
7
  const retrieve_app_branch_internal_info_1 = require("./retrieve-app-branch-internal-info");
8
8
  const retrieve_app_info_1 = require("./retrieve-app-info");
9
9
  const retrieve_config_1 = require("./retrieve-config");
10
+ /**
11
+ * Finds a non-existing path by appending suffixes (-2, -3, etc.) if needed.
12
+ */
13
+ function findAvailablePath(basePath, appId) {
14
+ // If base path doesn't exist, use it
15
+ if (!_1.__.$fs.existsSync(basePath)) {
16
+ return basePath;
17
+ }
18
+ // Try suffixes -2 through -9
19
+ for (let i = 2; i <= 9; i++) {
20
+ const suffixedPath = `${basePath}-${i}`;
21
+ if (!_1.__.$fs.existsSync(suffixedPath)) {
22
+ return suffixedPath;
23
+ }
24
+ }
25
+ // Fallback: use app ID suffix
26
+ const appIdFallbackPath = `${basePath}-${appId.slice(0, 6)}`;
27
+ if (!_1.__.$fs.existsSync(appIdFallbackPath)) {
28
+ return appIdFallbackPath;
29
+ }
30
+ // Ultimate fallback with full appId (guaranteed unique)
31
+ return `${basePath}-${appId}`;
32
+ }
10
33
  exports.fetchAppBranchDefaultRootDirPath = _1.__.declareManagedFunc()
11
34
  .async()
12
35
  .def(_1._.fetchAppBranchDefaultRootDirPathDef)
13
36
  .execute(async ({ appId, appAccessToken, appBranchId, }) => {
14
- var _a, _b;
37
+ var _a;
15
38
  const appInfo = await _1.__.invokeAsyncExp(async () => {
16
39
  try {
17
40
  return await (0, retrieve_app_info_1.retrieveAppInfo)({
@@ -35,13 +58,14 @@ exports.fetchAppBranchDefaultRootDirPath = _1.__.declareManagedFunc()
35
58
  const appBranchDefaultRootDirConfig = appBranchId === _1._.APP_MAIN_BRANCH_ID.value
36
59
  ? config.appMainBranchDefaultRootDir
37
60
  : config.appSecondaryBranchDefaultRootDir;
38
- return _1.__.$path.resolve(appBranchDefaultRootDirConfig.pathTemplate
61
+ const basePath = _1.__.$path.resolve(appBranchDefaultRootDirConfig.pathTemplate
39
62
  .split(`{rootDirPath}`).join((0, get_root_dir_path_1.getRootDirPath)())
40
63
  .split(`{userDataDirPath}`).join((0, get_user_data_dir_path_1.getUserDataDirPath)())
41
64
  .split(`{appId}`).join(appId)
42
- .split(`{appName}`).join((_a = appInfo.name) !== null && _a !== void 0 ? _a : ``)
65
+ .split(`{appName}`).join(appInfo.slug)
43
66
  .split(`{appBranchId}`).join(appBranchId)
44
67
  .split(`{appBranchShortId}`).join(appBranchId.slice(0, 6))
45
- .split(`{appBranchName}`).join((_b = appBranchInternalInfo.name) !== null && _b !== void 0 ? _b : ``));
68
+ .split(`{appBranchName}`).join((_a = appBranchInternalInfo.name) !== null && _a !== void 0 ? _a : ``));
69
+ return findAvailablePath(basePath, appId);
46
70
  }).fetchAppBranchDefaultRootDirPath;
47
71
  //# sourceMappingURL=fetch-app-branch-default-root-dir-path.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fetch-app-branch-default-root-dir-path.js","sourceRoot":"","sources":["../src/fetch-app-branch-default-root-dir-path.ts"],"names":[],"mappings":";;;AAAA,0BAA4B;AAE5B,2DAAqD;AACrD,qEAA8D;AAC9D,2FAAoF;AACpF,2DAAsD;AACtD,uDAAmD;AAEpC,wCAAgC,GAAK,KAAE,CAAC,kBAAkB,EAAE;KACxE,KAAK,EAAE;KACP,GAAG,CAAC,IAAC,CAAC,mCAAmC,CAAC;KAC1C,OAAO,CACN,KAAK,EACH,EACE,KAAK,EACL,cAAc,EACd,WAAW,GACZ,EACD,EAAE;;IAEF,MAAM,OAAO,GAAG,MAAM,KAAE,CAAC,cAAc,CAAC,KAAK,IAAI,EAAE;QAEjD,IACA,CAAC;YACC,OAAO,MAAM,IAAA,mCAAe,EAAC;gBAC3B,KAAK;gBACL,cAAc;aACf,CAAC,CAAC;QACL,CAAC;QACD,OAAO,CAAC,EACR,CAAC;YACC,IAAI,CAAC,YAAY,IAAC,CAAC,eAAe,EAClC,CAAC;gBACC,MAAM,IAAI,IAAC,CAAC,qBAAqB,EAAE,CAAC;YACtC,CAAC;YAED,MAAM,CAAC,CAAC;QACV,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,qBAAqB,GAAG,MAAM,IAAA,iEAA6B,EAAC;QAChE,KAAK;QACL,cAAc;QACd,WAAW;KACZ,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,IAAA,gCAAc,GAAE,CAAC;IAEhC,MAAM,6BAA6B,GAAG,WAAW,KAAK,IAAC,CAAC,kBAAkB,CAAC,KAAK;QAC9E,CAAC,CAAC,MAAM,CAAC,2BAA2B;QACpC,CAAC,CAAC,MAAM,CAAC,gCAAgC,CAAC;IAE5C,OAAO,KAAE,CAAC,KAAK,CAAC,OAAO,CACrB,6BAA6B,CAAC,YAAY;SACvC,KAAK,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,IAAA,kCAAc,GAAE,CAAC;SAC7C,KAAK,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,IAAA,2CAAkB,GAAE,CAAC;SACrD,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;SAC5B,KAAK,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,MAAA,OAAO,CAAC,IAAI,mCAAI,EAAE,CAAC;SAC3C,KAAK,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC;SACxC,KAAK,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;SACzD,KAAK,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,MAAA,qBAAqB,CAAC,IAAI,mCAAI,EAAE,CAAC,CACnE,CAAC;AACJ,CAAC,CACF,kCAAC"}
1
+ {"version":3,"file":"fetch-app-branch-default-root-dir-path.js","sourceRoot":"","sources":["../src/fetch-app-branch-default-root-dir-path.ts"],"names":[],"mappings":"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"}
@@ -45,7 +45,7 @@ exports.fetchConfig = _1.__.declareManagedFunc()
45
45
  if (undefined === value)
46
46
  return true;
47
47
  return "object" === typeof value && null !== value && $io8(value);
48
- }); const $io8 = input => "object" === typeof input.preconfiguredInfo && null !== input.preconfiguredInfo && $io9(input.preconfiguredInfo) && ("object" === typeof input.preconfiguredBranches && null !== input.preconfiguredBranches && false === Array.isArray(input.preconfiguredBranches) && $io12(input.preconfiguredBranches)) && ("object" === typeof input.preinstalledBranches && null !== input.preinstalledBranches && false === Array.isArray(input.preinstalledBranches) && $io15(input.preinstalledBranches)); const $io9 = input => "string" === typeof input.id && (undefined === input.name || "string" === typeof input.name) && (undefined === input.iconUrl || "string" === typeof input.iconUrl) && (undefined === input.bannerUrl || "string" === typeof input.bannerUrl) && (undefined === input.shortDescription || "string" === typeof input.shortDescription) && (undefined === input.longDescription || "string" === typeof input.longDescription) && "number" === typeof input.order && ("object" === typeof input.customFields && null !== input.customFields && false === Array.isArray(input.customFields) && $io10(input.customFields)); const $io10 = input => Object.keys(input).every(key => {
48
+ }); const $io8 = input => "object" === typeof input.preconfiguredInfo && null !== input.preconfiguredInfo && $io9(input.preconfiguredInfo) && ("object" === typeof input.preconfiguredBranches && null !== input.preconfiguredBranches && false === Array.isArray(input.preconfiguredBranches) && $io12(input.preconfiguredBranches)) && ("object" === typeof input.preinstalledBranches && null !== input.preinstalledBranches && false === Array.isArray(input.preinstalledBranches) && $io15(input.preinstalledBranches)); const $io9 = input => "string" === typeof input.id && (undefined === input.name || "string" === typeof input.name) && "string" === typeof input.slug && (undefined === input.iconUrl || "string" === typeof input.iconUrl) && (undefined === input.bannerUrl || "string" === typeof input.bannerUrl) && (undefined === input.shortDescription || "string" === typeof input.shortDescription) && (undefined === input.longDescription || "string" === typeof input.longDescription) && "number" === typeof input.order && ("object" === typeof input.customFields && null !== input.customFields && false === Array.isArray(input.customFields) && $io10(input.customFields)); const $io10 = input => Object.keys(input).every(key => {
49
49
  const value = input[key];
50
50
  if (undefined === value)
51
51
  return true;