@interopio/iocd-cli 0.0.52 → 0.0.54

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 (62) hide show
  1. package/dist/cli.js +20 -15
  2. package/dist/cli.js.map +1 -1
  3. package/dist/schemas/iocd.cli.config.schema.json +6 -6
  4. package/dist/services/app.service.js +1 -1
  5. package/dist/services/app.service.js.map +1 -1
  6. package/dist/services/components/component.config.js +1 -1
  7. package/dist/services/components/component.config.js.map +1 -1
  8. package/dist/services/components/components.registry.js +17 -17
  9. package/dist/services/components/components.registry.js.map +1 -1
  10. package/dist/services/components/components.service.js +16 -15
  11. package/dist/services/components/components.service.js.map +1 -1
  12. package/dist/services/components/file.helper.js +7 -7
  13. package/dist/services/components/file.helper.js.map +1 -1
  14. package/dist/services/components/platform.utils.js +39 -34
  15. package/dist/services/components/platform.utils.js.map +1 -1
  16. package/dist/services/components/stores/github.store.js +52 -34
  17. package/dist/services/components/stores/github.store.js.map +1 -1
  18. package/dist/services/components/stores/local.store.js +19 -18
  19. package/dist/services/components/stores/local.store.js.map +1 -1
  20. package/dist/services/components/stores/s3.store.js +63 -56
  21. package/dist/services/components/stores/s3.store.js.map +1 -1
  22. package/dist/services/components/version.selector.js +3 -3
  23. package/dist/services/components/version.selector.js.map +1 -1
  24. package/dist/services/config/config.service.js +84 -45
  25. package/dist/services/config/config.service.js.map +1 -1
  26. package/dist/services/installer/electronForge.js +44 -44
  27. package/dist/services/installer/electronForge.js.map +1 -1
  28. package/dist/services/installer/installer.service.js +24 -24
  29. package/dist/services/installer/installer.service.js.map +1 -1
  30. package/dist/services/installer/macOS.helper.js +135 -77
  31. package/dist/services/installer/macOS.helper.js.map +1 -1
  32. package/dist/services/installer/prerequisites.js +10 -10
  33. package/dist/services/installer/windows.helper.js +53 -53
  34. package/dist/services/modifications/macOS.helper.js +28 -24
  35. package/dist/services/modifications/macOS.helper.js.map +1 -1
  36. package/dist/services/modifications/modifications.service.js +57 -57
  37. package/dist/services/modifications/windows.helper.js +54 -14
  38. package/dist/services/modifications/windows.helper.js.map +1 -1
  39. package/dist/templates/groups/apps/groups/src/App.tsx +3 -3
  40. package/dist/templates/groups/apps/groups/src/index.tsx +15 -13
  41. package/dist/templates/groups/apps/groups/vite.config.ts +4 -4
  42. package/dist/templates/launchpad/apps/launchpad/src/app/app.tsx +34 -29
  43. package/dist/templates/launchpad/apps/launchpad/src/app/constants.ts +20 -20
  44. package/dist/templates/launchpad/apps/launchpad/src/components/logo.tsx +5 -5
  45. package/dist/templates/launchpad/apps/launchpad/src/components/main-context-menu.tsx +195 -145
  46. package/dist/templates/launchpad/apps/launchpad/src/components/notifications-button.tsx +41 -34
  47. package/dist/templates/launchpad/apps/launchpad/src/main.tsx +3 -1
  48. package/dist/templates/launchpad/apps/launchpad/vite.config.ts +6 -7
  49. package/dist/templates/tests/tests/tests/sample.spec.ts +16 -16
  50. package/dist/templates/tests/tests/wdio.config.ts +9 -9
  51. package/dist/templates/workspaces/apps/workspaces/src/AddWindowButton.tsx +40 -33
  52. package/dist/templates/workspaces/apps/workspaces/src/AfterTabs.tsx +40 -27
  53. package/dist/templates/workspaces/apps/workspaces/src/App.tsx +93 -88
  54. package/dist/templates/workspaces/apps/workspaces/src/GroupHeaderButtons.tsx +11 -9
  55. package/dist/templates/workspaces/apps/workspaces/src/index.tsx +19 -14
  56. package/dist/templates/workspaces/apps/workspaces/src/reportWebVitals.ts +4 -4
  57. package/dist/templates/workspaces/apps/workspaces/src/setupTests.ts +1 -1
  58. package/dist/templates/workspaces/apps/workspaces/src/useAddWindowButtonVisible.tsx +36 -30
  59. package/dist/templates/workspaces/apps/workspaces/vite.config.ts +4 -4
  60. package/dist/utils/proxy.js +68 -0
  61. package/dist/utils/proxy.js.map +1 -0
  62. package/package.json +3 -2
@@ -8,10 +8,10 @@ const logger_1 = require("../../utils/logger");
8
8
  const license_service_1 = __importDefault(require("../license.service"));
9
9
  const pacakge_json_helper_1 = require("../../utils/pacakge.json.helper");
10
10
  const ensure_iocd_exists_1 = require("../../utils/ensure.iocd.exists");
11
- const logger = logger_1.Logger.getInstance('installer.prerequisites');
11
+ const logger = logger_1.Logger.getInstance("installer.prerequisites");
12
12
  async function validatePrerequisites(packageNames) {
13
13
  // Check if the required package is available
14
- logger.info('Validating prerequisites...');
14
+ logger.info("Validating prerequisites...");
15
15
  for (const packageName of packageNames) {
16
16
  logger.debug(`Checking required package: ${packageName}`);
17
17
  try {
@@ -23,7 +23,7 @@ async function validatePrerequisites(packageNames) {
23
23
  catch {
24
24
  throw new Error(`${packageName} is required but not found. Please install it as a dev dependency:\n` +
25
25
  `npm install --save-dev ${packageName}\n` +
26
- 'or\n' +
26
+ "or\n" +
27
27
  `yarn add --dev ${packageName}\n\n` +
28
28
  `Note: ${packageName} should be installed as devDependency to avoid being bundled in the final package.`);
29
29
  }
@@ -31,24 +31,24 @@ async function validatePrerequisites(packageNames) {
31
31
  (0, ensure_iocd_exists_1.ensureIOCDComponentExists)();
32
32
  // Validate license
33
33
  const licenseInfo = license_service_1.default.validateLicense();
34
- if (licenseInfo.status !== 'Active') {
35
- throw new Error(`Valid license required for packaging: ${licenseInfo.errorMessage || 'Unknown issue'}`);
34
+ if (licenseInfo.status !== "Active") {
35
+ throw new Error(`Valid license required for packaging: ${licenseInfo.errorMessage || "Unknown issue"}`);
36
36
  }
37
- logger.info('Prerequisites validated successfully!');
37
+ logger.info("Prerequisites validated successfully!");
38
38
  }
39
39
  async function validatePackageInstallation(packageName) {
40
40
  try {
41
41
  // Read the current package.json to check dependency installation
42
42
  const packageJson = await pacakge_json_helper_1.PackageJSONHelper.getPackageJson();
43
43
  if (!packageJson) {
44
- logger.debug('No package.json found in the current directory, skipping package installation validation.');
44
+ logger.debug("No package.json found in the current directory, skipping package installation validation.");
45
45
  return;
46
46
  }
47
47
  // Check if package is in dependencies (bad for build tools)
48
48
  if (packageJson.dependencies && packageJson.dependencies[packageName]) {
49
49
  logger.warn(`${packageName} is installed as a regular dependency. ` +
50
- 'It should be installed as devDependency to avoid being bundled in the final package.\n' +
51
- 'Please move it to devDependencies:\n' +
50
+ "It should be installed as devDependency to avoid being bundled in the final package.\n" +
51
+ "Please move it to devDependencies:\n" +
52
52
  `1. Remove: npm uninstall ${packageName}\n` +
53
53
  `2. Reinstall: npm install --save-dev ${packageName}`);
54
54
  }
@@ -65,7 +65,7 @@ async function validatePackageInstallation(packageName) {
65
65
  // Package is available (import worked) but not in package.json
66
66
  // This could happen if it's installed globally or in a parent node_modules
67
67
  logger.warn(`${packageName} is available but not found in package.json dependencies. ` +
68
- 'For best practices, install it as devDependency:\n' +
68
+ "For best practices, install it as devDependency:\n" +
69
69
  `npm install --save-dev ${packageName}`);
70
70
  }
71
71
  }
@@ -11,8 +11,8 @@ const path_1 = require("../../utils/path");
11
11
  const child_process_1 = require("child_process");
12
12
  const fs_1 = require("fs");
13
13
  const path_2 = __importDefault(require("path"));
14
- const logger = logger_1.Logger.getInstance('installer.windows.helper');
15
- const signableExtensions = ['.exe', '.dll', '.ocx', '.sys', '.node'];
14
+ const logger = logger_1.Logger.getInstance("installer.windows.helper");
15
+ const signableExtensions = [".exe", ".dll", ".ocx", ".sys", ".node"];
16
16
  async function signBinary(binaryPath) {
17
17
  logger.debug(`Signing binary: ${path_2.default.basename(binaryPath)}`);
18
18
  if (!(0, fs_1.existsSync)(binaryPath)) {
@@ -20,8 +20,8 @@ async function signBinary(binaryPath) {
20
20
  }
21
21
  const config = config_service_1.ConfigManager.config;
22
22
  const codeSignConfig = config.win.codeSign;
23
- if (codeSignConfig.type === 'off') {
24
- logger.info('Code signing is disabled (type: off)');
23
+ if (codeSignConfig.type === "off") {
24
+ logger.info("Code signing is disabled (type: off)");
25
25
  return;
26
26
  }
27
27
  const ext = path_2.default.extname(binaryPath).toLowerCase();
@@ -34,11 +34,11 @@ async function signBinary(binaryPath) {
34
34
  logger.debug(`Successfully signed: ${path_2.default.basename(binaryPath)}`);
35
35
  }
36
36
  async function signIOCDBinaries() {
37
- logger.info('Starting signing of all Windows binaries...');
37
+ logger.info("Starting signing of all Windows binaries...");
38
38
  const config = config_service_1.ConfigManager.config;
39
39
  const codeSignConfig = config.win.codeSign;
40
- if (codeSignConfig.type === 'off') {
41
- logger.info('Code signing is disabled (type: off)');
40
+ if (codeSignConfig.type === "off") {
41
+ logger.info("Code signing is disabled (type: off)");
42
42
  return;
43
43
  }
44
44
  storeUnsignedExeIfNeeded();
@@ -46,14 +46,14 @@ async function signIOCDBinaries() {
46
46
  const iocdDir = path_1.PathUtils.getIOCDDir();
47
47
  const binariesToSign = await findSignableBinaries(iocdDir);
48
48
  if (binariesToSign.length === 0) {
49
- logger.info('No signable binaries found');
49
+ logger.info("No signable binaries found");
50
50
  return;
51
51
  }
52
52
  logger.info(`Signing ${binariesToSign.length} binaries...`);
53
53
  for (const binaryPath of binariesToSign) {
54
54
  await signBinaryCore(binaryPath, codeSignConfig);
55
55
  }
56
- logger.info('Signing binaries completed successfully!');
56
+ logger.info("Signing binaries completed successfully!");
57
57
  }
58
58
  catch (error) {
59
59
  logger.error(`Signing failed: ${error instanceof Error ? error.message : String(error)}`);
@@ -65,13 +65,13 @@ function storeUnsignedExeIfNeeded() {
65
65
  // this means that if we do rcedit->sign, we can not longer do rcedit without breaking the signature
66
66
  // to overcome this we are storing the original exe in a _temp folder and restore it before any modifications
67
67
  // see restoreOriginalUnsignedExeIfNeeded in modifications/windows.helper.ts for restore logic
68
- const tempDir = path_1.PathUtils.getComponentDir('_temp');
68
+ const tempDir = path_1.PathUtils.getComponentDir("_temp");
69
69
  const tempExePath = path_2.default.join(tempDir, path_2.default.basename(path_1.PathUtils.getIOCDExePath()));
70
70
  if (!(0, fs_1.existsSync)(tempDir)) {
71
71
  (0, fs_1.mkdirSync)(tempDir);
72
72
  }
73
73
  if (!(0, fs_1.existsSync)(tempExePath)) {
74
- logger.debug('Storing current executable into _temp directory before signing. Will restore before next modifications');
74
+ logger.debug("Storing current executable into _temp directory before signing. Will restore before next modifications");
75
75
  (0, fs_1.copyFileSync)(path_1.PathUtils.getIOCDExePath(), tempExePath);
76
76
  }
77
77
  }
@@ -79,13 +79,13 @@ async function findSignableBinaries(directory) {
79
79
  const binaries = [];
80
80
  // Common files that should NOT be signed
81
81
  const skipFiles = [
82
- 'msvcp140.dll',
83
- 'vcruntime140.dll',
84
- 'vcruntime140_1.dll',
85
- 'msvcp140_1.dll',
86
- 'msvcp140_2.dll',
87
- 'api-ms-win-*.dll',
88
- 'ucrtbase.dll',
82
+ "msvcp140.dll",
83
+ "vcruntime140.dll",
84
+ "vcruntime140_1.dll",
85
+ "msvcp140_1.dll",
86
+ "msvcp140_2.dll",
87
+ "api-ms-win-*.dll",
88
+ "ucrtbase.dll",
89
89
  ];
90
90
  function scanDirectory(dir) {
91
91
  try {
@@ -106,9 +106,9 @@ async function findSignableBinaries(directory) {
106
106
  if (signableExtensions.includes(ext)) {
107
107
  // Skip system files and runtime libraries
108
108
  const shouldSkip = skipFiles.some(skipPattern => {
109
- if (skipPattern.includes('*')) {
109
+ if (skipPattern.includes("*")) {
110
110
  // Simple wildcard matching
111
- const regex = new RegExp('^' + skipPattern.replace(/\*/g, '.*') + '$', 'i');
111
+ const regex = new RegExp("^" + skipPattern.replace(/\*/g, ".*") + "$", "i");
112
112
  return regex.test(basename);
113
113
  }
114
114
  return basename === skipPattern.toLowerCase();
@@ -129,13 +129,13 @@ async function findSignableBinaries(directory) {
129
129
  }
130
130
  async function signBinaryCore(binaryPath, codeSignConfig) {
131
131
  switch (codeSignConfig.type) {
132
- case 'off':
132
+ case "off":
133
133
  // do nothing
134
134
  break;
135
- case 'signtool':
135
+ case "signtool":
136
136
  await signWithSigntool(binaryPath, codeSignConfig);
137
137
  break;
138
- case 'custom':
138
+ case "custom":
139
139
  await signWithCustomScript(binaryPath, codeSignConfig);
140
140
  break;
141
141
  default:
@@ -147,44 +147,44 @@ async function signWithSigntool(exePath, codeSignConfig) {
147
147
  const hasCertificateSha1 = !!codeSignConfig.certificateSha1;
148
148
  // Validate that exactly one method is provided
149
149
  if (!hasPfxPath && !hasCertificateSha1) {
150
- throw new Error('PFX signing requires either pfxPath or certificateSha1 to be configured');
150
+ throw new Error("PFX signing requires either pfxPath or certificateSha1 to be configured");
151
151
  }
152
152
  if (hasPfxPath && hasCertificateSha1) {
153
- throw new Error('PFX signing requires either pfxPath OR certificateSha1, not both');
153
+ throw new Error("PFX signing requires either pfxPath OR certificateSha1, not both");
154
154
  }
155
155
  const args = [
156
- 'sign',
157
- '/fd',
158
- 'SHA256',
159
- '/td',
160
- 'SHA256',
161
- '/tr',
162
- config_service_1.ConfigManager.config.win.codeSign.tsaURL || 'http://timestamp.digicert.com',
156
+ "sign",
157
+ "/fd",
158
+ "SHA256",
159
+ "/td",
160
+ "SHA256",
161
+ "/tr",
162
+ config_service_1.ConfigManager.config.win.codeSign.tsaURL || "http://timestamp.digicert.com",
163
163
  ];
164
164
  if (hasPfxPath) {
165
165
  // Signing with .pfx file
166
- logger.debug('Signing with PFX certificate file...');
166
+ logger.debug("Signing with PFX certificate file...");
167
167
  if (!(0, fs_1.existsSync)(codeSignConfig.pfxPath)) {
168
168
  throw new Error(`PFX file not found: ${codeSignConfig.pfxPath}`);
169
169
  }
170
- args.push('/f', codeSignConfig.pfxPath);
170
+ args.push("/f", codeSignConfig.pfxPath);
171
171
  if (codeSignConfig.pfxPassword) {
172
- args.push('/p', codeSignConfig.pfxPassword);
172
+ args.push("/p", codeSignConfig.pfxPassword);
173
173
  }
174
174
  }
175
175
  else {
176
176
  // Signing with certificate SHA1 hash from Windows certificate store
177
177
  const sha1Hash = codeSignConfig.certificateSha1.trim();
178
178
  logger.debug(`Signing with certificate from Windows store (SHA1: ${sha1Hash})...`);
179
- args.push('/sha1', sha1Hash);
179
+ args.push("/sha1", sha1Hash);
180
180
  }
181
181
  args.push(exePath);
182
182
  await runSigntool(args);
183
183
  }
184
184
  async function signWithCustomScript(exePath, codeSignConfig) {
185
- logger.debug('Signing with custom script...');
185
+ logger.debug("Signing with custom script...");
186
186
  if (!codeSignConfig.customCodeSignScriptPath) {
187
- throw new Error('Custom signing requires customCodeSignScriptPath to be configured');
187
+ throw new Error("Custom signing requires customCodeSignScriptPath to be configured");
188
188
  }
189
189
  if (!(0, fs_1.existsSync)(codeSignConfig.customCodeSignScriptPath)) {
190
190
  throw new Error(`Custom signing script not found: ${codeSignConfig.customCodeSignScriptPath}`);
@@ -199,13 +199,13 @@ async function signWithCustomScript(exePath, codeSignConfig) {
199
199
  const customScript = require(scriptPath);
200
200
  // Check if the module exports a function (default export or named export)
201
201
  let signFunction;
202
- if (typeof customScript === 'function') {
202
+ if (typeof customScript === "function") {
203
203
  signFunction = customScript;
204
204
  }
205
- else if (typeof customScript.default === 'function') {
205
+ else if (typeof customScript.default === "function") {
206
206
  signFunction = customScript.default;
207
207
  }
208
- else if (typeof customScript.sign === 'function') {
208
+ else if (typeof customScript.sign === "function") {
209
209
  signFunction = customScript.sign;
210
210
  }
211
211
  else {
@@ -213,7 +213,7 @@ async function signWithCustomScript(exePath, codeSignConfig) {
213
213
  }
214
214
  // Execute the signing function with the binary path and full config
215
215
  await signFunction(exePath, codeSignConfig);
216
- logger.debug('Custom signing script executed successfully');
216
+ logger.debug("Custom signing script executed successfully");
217
217
  }
218
218
  catch (error) {
219
219
  if (error instanceof Error) {
@@ -225,13 +225,13 @@ async function signWithCustomScript(exePath, codeSignConfig) {
225
225
  }
226
226
  }
227
227
  async function runSigntool(args) {
228
- await runCommand('signtool', args);
228
+ await runCommand("signtool", args);
229
229
  }
230
230
  async function verifySignature(exePath) {
231
231
  logger.debug(`Verifying signature for: ${exePath}`);
232
232
  try {
233
- await runSigntool(['verify', '/pa', '/all', exePath]);
234
- logger.debug('Signature verification successful');
233
+ await runSigntool(["verify", "/pa", "/all", exePath]);
234
+ logger.debug("Signature verification successful");
235
235
  }
236
236
  catch {
237
237
  logger.warn(`Signature verification failed! The binary at ${exePath} may not be signed correctly.`);
@@ -239,25 +239,25 @@ async function verifySignature(exePath) {
239
239
  }
240
240
  async function runCommand(command, args, options = {}) {
241
241
  return new Promise((resolve, reject) => {
242
- logger.debug(`Executing: ${command} ${args.join(' ')}`);
242
+ logger.debug(`Executing: ${command} ${args.join(" ")}`);
243
243
  const proc = (0, child_process_1.spawn)(command, args, {
244
- stdio: ['ignore', 'pipe', 'pipe'],
244
+ stdio: ["ignore", "pipe", "pipe"],
245
245
  env: process.env,
246
246
  ...options,
247
247
  });
248
- let stdout = '';
249
- let stderr = '';
248
+ let stdout = "";
249
+ let stderr = "";
250
250
  if (proc.stdout) {
251
- proc.stdout.on('data', data => {
251
+ proc.stdout.on("data", data => {
252
252
  stdout += data.toString();
253
253
  });
254
254
  }
255
255
  if (proc.stderr) {
256
- proc.stderr.on('data', data => {
256
+ proc.stderr.on("data", data => {
257
257
  stderr += data.toString();
258
258
  });
259
259
  }
260
- proc.on('close', code => {
260
+ proc.on("close", code => {
261
261
  if (code === 0) {
262
262
  if (stdout)
263
263
  logger.debug(`Command output: ${stdout.trim()}`);
@@ -272,7 +272,7 @@ async function runCommand(command, args, options = {}) {
272
272
  reject(new Error(errorMessage));
273
273
  }
274
274
  });
275
- proc.on('error', error => {
275
+ proc.on("error", error => {
276
276
  logger.error(`Failed to start command: ${error.message}`);
277
277
  reject(error);
278
278
  });
@@ -21,15 +21,15 @@ const logger = logger_1.Logger.getInstance("modifications.macOS.helper");
21
21
  */
22
22
  async function renameAppBundleContents(appBundlePath, newBaseName) {
23
23
  logger.debug(`Renaming app bundle contents to a new ${newBaseName}`);
24
- const contentsPath = (0, path_1.join)(appBundlePath, 'Contents');
24
+ const contentsPath = (0, path_1.join)(appBundlePath, "Contents");
25
25
  await renameAppBundleExe(contentsPath);
26
26
  await updateInfoPlist(contentsPath);
27
- await renameElectronHelpers(appBundlePath, newBaseName.replace('.app', ''));
27
+ await renameElectronHelpers(appBundlePath, newBaseName.replace(".app", ""));
28
28
  await copyLogoToResources(contentsPath);
29
29
  }
30
30
  async function renameAppBundleExe(contentsPath) {
31
31
  const currentExePath = (0, path_1.join)(contentsPath, "MacOS/io.Connect Desktop");
32
- const newExePath = (0, path_1.join)(contentsPath, "MacOS", config_service_1.ConfigManager.config.mac.appBundleName.replace('.app', ''));
32
+ const newExePath = (0, path_1.join)(contentsPath, "MacOS", config_service_1.ConfigManager.config.mac.appBundleName.replace(".app", ""));
33
33
  if ((0, fs_1.existsSync)(newExePath)) {
34
34
  logger.debug(`Executable already correctly named: ${newExePath}`);
35
35
  return;
@@ -56,21 +56,23 @@ async function renameAppBundleExe(contentsPath) {
56
56
  async function renameElectronHelpers(appBundlePath, newBaseName) {
57
57
  try {
58
58
  logger.debug(`Renaming Electron Helper apps to match: ${newBaseName}`);
59
- const frameworksPath = (0, path_1.join)(appBundlePath, 'Contents', 'Frameworks');
59
+ const frameworksPath = (0, path_1.join)(appBundlePath, "Contents", "Frameworks");
60
60
  if (!(0, fs_1.existsSync)(frameworksPath)) {
61
- logger.debug('No Frameworks directory found - skipping Electron Helper renaming');
61
+ logger.debug("No Frameworks directory found - skipping Electron Helper renaming");
62
62
  return;
63
63
  }
64
64
  // Find all Helper app bundles in Frameworks (they may have various names)
65
65
  const frameworkItems = (0, fs_1.readdirSync)(frameworksPath, { withFileTypes: true });
66
66
  const helperApps = frameworkItems
67
- .filter(item => item.isDirectory() && item.name.includes('Helper') && item.name.endsWith('.app'))
67
+ .filter(item => item.isDirectory() &&
68
+ item.name.includes("Helper") &&
69
+ item.name.endsWith(".app"))
68
70
  .map(item => item.name);
69
71
  if (helperApps.length === 0) {
70
- logger.debug('No Helper apps found in Frameworks directory');
72
+ logger.debug("No Helper apps found in Frameworks directory");
71
73
  return;
72
74
  }
73
- logger.debug(`Found ${helperApps.length} Helper apps to rename: ${helperApps.join(', ')}`);
75
+ logger.debug(`Found ${helperApps.length} Helper apps to rename: ${helperApps.join(", ")}`);
74
76
  for (const helperAppName of helperApps) {
75
77
  const currentHelperPath = (0, path_1.join)(frameworksPath, helperAppName);
76
78
  // Determine the new helper app name based on the current helper type
@@ -108,7 +110,7 @@ async function renameElectronHelpers(appBundlePath, newBaseName) {
108
110
  function getNewHelperAppName(currentHelperName, newBaseName) {
109
111
  // Helper patterns can be:
110
112
  // - "Electron Helper.app"
111
- // - "Electron Helper (GPU).app"
113
+ // - "Electron Helper (GPU).app"
112
114
  // - "io.Connect Desktop Helper.app"
113
115
  // - "io.Connect Desktop Helper (GPU).app"
114
116
  // - "SomeApp Helper.app"
@@ -116,19 +118,19 @@ function getNewHelperAppName(currentHelperName, newBaseName) {
116
118
  // Extract the suffix (e.g., " (GPU)", " (Plugin)", etc.) and the word "Helper"
117
119
  const helperMatch = currentHelperName.match(/^(.+?)\s+Helper(\s\([^)]+\))?\.app$/);
118
120
  if (helperMatch) {
119
- const suffix = helperMatch[2] || ''; // The part like " (GPU)" or empty string
121
+ const suffix = helperMatch[2] || ""; // The part like " (GPU)" or empty string
120
122
  return `${newBaseName} Helper${suffix}.app`;
121
123
  }
122
124
  // Fallback: if we can't parse the pattern, try to preserve any suffix after "Helper"
123
125
  const suffixMatch = currentHelperName.match(/Helper(\s\([^)]+\))?\.app$/);
124
- const suffix = suffixMatch ? suffixMatch[1] || '' : '';
126
+ const suffix = suffixMatch ? suffixMatch[1] || "" : "";
125
127
  return `${newBaseName} Helper${suffix}.app`;
126
128
  }
127
129
  /**
128
130
  * Rename the executable inside the helper app's MacOS folder
129
131
  */
130
132
  async function renameHelperExecutable(helperAppPath, newBaseName) {
131
- const macOSPath = (0, path_1.join)(helperAppPath, 'Contents', 'MacOS');
133
+ const macOSPath = (0, path_1.join)(helperAppPath, "Contents", "MacOS");
132
134
  if (!(0, fs_1.existsSync)(macOSPath)) {
133
135
  logger.debug(`No MacOS directory found in helper app: ${helperAppPath}`);
134
136
  return;
@@ -174,20 +176,20 @@ function getNewHelperExecutableName(currentExeName, newBaseName) {
174
176
  // - "io.Connect Desktop Helper (Plugin)"
175
177
  const helperMatch = currentExeName.match(/^(.+?)\s+Helper(\s\([^)]+\))?$/);
176
178
  if (helperMatch) {
177
- const suffix = helperMatch[2] || ''; // The part like " (GPU)" or empty string
179
+ const suffix = helperMatch[2] || ""; // The part like " (GPU)" or empty string
178
180
  return `${newBaseName} Helper${suffix}`;
179
181
  }
180
182
  // Fallback patterns for specific suffixes
181
- if (currentExeName.includes('Helper (GPU)')) {
183
+ if (currentExeName.includes("Helper (GPU)")) {
182
184
  return `${newBaseName} Helper (GPU)`;
183
185
  }
184
- else if (currentExeName.includes('Helper (Plugin)')) {
186
+ else if (currentExeName.includes("Helper (Plugin)")) {
185
187
  return `${newBaseName} Helper (Plugin)`;
186
188
  }
187
- else if (currentExeName.includes('Helper (Renderer)')) {
189
+ else if (currentExeName.includes("Helper (Renderer)")) {
188
190
  return `${newBaseName} Helper (Renderer)`;
189
191
  }
190
- else if (currentExeName.includes('Helper')) {
192
+ else if (currentExeName.includes("Helper")) {
191
193
  return `${newBaseName} Helper`;
192
194
  }
193
195
  // If no recognized pattern, keep original name
@@ -196,7 +198,7 @@ function getNewHelperExecutableName(currentExeName, newBaseName) {
196
198
  async function updateInfoPlist(contentsPath) {
197
199
  logger.debug(`Patching Info.plist for iocd component on macOS`);
198
200
  const plistPath = (0, path_1.join)(contentsPath, "Info.plist");
199
- const bundleNameWithoutApp = config_service_1.ConfigManager.config.mac.appBundleName.replace('.app', '');
201
+ const bundleNameWithoutApp = config_service_1.ConfigManager.config.mac.appBundleName.replace(".app", "");
200
202
  const plist = require("plist");
201
203
  const info = plist.parse((0, fs_1.readFileSync)(plistPath, "utf8"));
202
204
  // replace any special characters with dots and lowercase the name from package.json
@@ -215,7 +217,7 @@ async function updateInfoPlist(contentsPath) {
215
217
  * Update the Info.plist file inside the helper app
216
218
  */
217
219
  async function updateHelperInfoPlist(helperAppPath, newBaseName) {
218
- const infoPlistPath = (0, path_1.join)(helperAppPath, 'Contents', 'Info.plist');
220
+ const infoPlistPath = (0, path_1.join)(helperAppPath, "Contents", "Info.plist");
219
221
  const plist = require("plist");
220
222
  logger.debug(`Patching ${infoPlistPath} for helper app`);
221
223
  if (!(0, fs_1.existsSync)(infoPlistPath)) {
@@ -223,7 +225,7 @@ async function updateHelperInfoPlist(helperAppPath, newBaseName) {
223
225
  return;
224
226
  }
225
227
  try {
226
- const plistContent = (0, fs_1.readFileSync)(infoPlistPath, 'utf8');
228
+ const plistContent = (0, fs_1.readFileSync)(infoPlistPath, "utf8");
227
229
  const plistData = plist.parse(plistContent);
228
230
  // Update relevant fields
229
231
  if (plistData.CFBundleName) {
@@ -241,19 +243,21 @@ async function updateHelperInfoPlist(helperAppPath, newBaseName) {
241
243
  // Update bundle identifier to reflect new name
242
244
  if (plistData.CFBundleIdentifier) {
243
245
  const mainIdentifier = config_service_1.ConfigManager.config.mac.appBundleId;
244
- // If the main bundle identifier is "com.interopio.io.connect.desktop",
246
+ // If the main bundle identifier is "com.interopio.io.connect.desktop",
245
247
  // then helper might be "com.interopio.io.connect.desktop.helper"
246
248
  // or "com.interopio.io.connect.desktop.helper.GPU", etc.
247
249
  // get suffix from the string in () in the new bundle name
248
- const suffixMatch = plistData.CFBundleName.indexOf('(') !== -1 ? plistData.CFBundleName.match(/\(([^)]+)\)/) : null;
249
- const suffix = suffixMatch ? `helper.${suffixMatch[1]}` : 'helper';
250
+ const suffixMatch = plistData.CFBundleName.indexOf("(") !== -1
251
+ ? plistData.CFBundleName.match(/\(([^)]+)\)/)
252
+ : null;
253
+ const suffix = suffixMatch ? `helper.${suffixMatch[1]}` : "helper";
250
254
  const identifier = `${mainIdentifier}.${suffix}`;
251
255
  // Replace any old app name in bundle identifier with new name
252
256
  plistData.CFBundleIdentifier = identifier;
253
257
  }
254
258
  // Write updated plist
255
259
  const updatedPlistContent = plist.build(plistData);
256
- (0, fs_1.writeFileSync)(infoPlistPath, updatedPlistContent, 'utf8');
260
+ (0, fs_1.writeFileSync)(infoPlistPath, updatedPlistContent, "utf8");
257
261
  logger.debug(`Patched Info.plist for helper app: ${helperAppPath}`);
258
262
  }
259
263
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"macOS.helper.js","sourceRoot":"","sources":["../../../src/services/modifications/macOS.helper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"macOS.helper.js","sourceRoot":"","sources":["../../../src/services/modifications/macOS.helper.ts"],"names":[],"mappings":"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"}