@interopio/iocd-cli 1.1.3 → 2.0.0

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 (40) hide show
  1. package/README.md +9 -0
  2. package/assets/mac-build/entitlements.mac.plist +3 -0
  3. package/changelog.md +24 -0
  4. package/dist/assets/mac-build/entitlements.mac.plist +3 -0
  5. package/dist/cli.js +17 -12
  6. package/dist/cli.js.map +1 -1
  7. package/dist/commands/build.command.js +3 -2
  8. package/dist/commands/build.command.js.map +1 -1
  9. package/dist/commands/doctor.command.js +37 -0
  10. package/dist/commands/doctor.command.js.map +1 -0
  11. package/dist/commands/index.js +3 -1
  12. package/dist/commands/index.js.map +1 -1
  13. package/dist/schemas/iocd.cli.config.schema.json +54 -1
  14. package/dist/services/components/components.service.js +2 -1
  15. package/dist/services/components/components.service.js.map +1 -1
  16. package/dist/services/config/config.validator.js +2 -0
  17. package/dist/services/config/config.validator.js.map +1 -1
  18. package/dist/services/config/entitlements.validator.js +89 -0
  19. package/dist/services/config/entitlements.validator.js.map +1 -0
  20. package/dist/services/doctor.service.js +311 -0
  21. package/dist/services/doctor.service.js.map +1 -0
  22. package/dist/services/installer/electronForge.js +26 -38
  23. package/dist/services/installer/electronForge.js.map +1 -1
  24. package/dist/services/installer/entitlements.service.js +73 -0
  25. package/dist/services/installer/entitlements.service.js.map +1 -0
  26. package/dist/services/installer/macOS.helper.js +40 -29
  27. package/dist/services/installer/macOS.helper.js.map +1 -1
  28. package/dist/services/installer/zip-maker.js +1 -2
  29. package/dist/services/installer/zip-maker.js.map +1 -1
  30. package/dist/templates/ioconnect-desktop/README.md +9 -0
  31. package/dist/templates/ioconnect-desktop/config/forge.config.js +0 -12
  32. package/dist/templates/ioconnect-desktop/package.json +7 -7
  33. package/dist/utils/error.handler.js +10 -4
  34. package/dist/utils/error.handler.js.map +1 -1
  35. package/dist/utils/release-metadata.js +88 -0
  36. package/dist/utils/release-metadata.js.map +1 -0
  37. package/dist/utils/version-check.js +14 -51
  38. package/dist/utils/version-check.js.map +1 -1
  39. package/package.json +40 -7
  40. package/scripts/generate-schema.js +4 -0
package/README.md CHANGED
@@ -2,6 +2,15 @@
2
2
 
3
3
  > A seed project for developing and building io.Connect Desktop based products
4
4
 
5
+ ### Requirements and Upgrades
6
+
7
+ Requires Node.js 22.13.0 or later and npm 9 or later. Packaging uses Electron
8
+ Forge 8. Existing seed projects upgrading from Forge 7 must update
9
+ `@electron-forge/core` and their installed Forge makers and publishers to
10
+ `^8.0.1` together with the CLI, then run `npm install` and commit the updated
11
+ `package-lock.json`. See the [seed-project documentation](https://docs.interop.io/desktop/developers/seed-project/index.html#building_for_production)
12
+ for build configuration.
13
+
5
14
  ### Resources
6
15
 
7
16
  - 📚 [Documentation](https://docs.interop.io/desktop/developers/seed-project/index.html)
@@ -40,6 +40,9 @@
40
40
  <key>com.apple.security.device.microphone</key>
41
41
  <true/>
42
42
 
43
+ <key>com.apple.security.device.audio-input</key>
44
+ <true/>
45
+
43
46
  <key>com.apple.security.automation.apple-events</key>
44
47
  <true/>
45
48
 
package/changelog.md CHANGED
@@ -5,6 +5,30 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [2.0.0](https://github.com/InteropIO/iocd-cli/compare/iocd-cli-v1.1.3...iocd-cli-v2.0.0) (2026-10-13)
9
+
10
+
11
+ ### ⚠ BREAKING CHANGES
12
+
13
+ * **security:** require Node.js 22.13+ and Forge 8 throughout CLI and seed projects.
14
+
15
+ ### Features
16
+
17
+ * **cli:** check project compatibility before commands ([#135](https://github.com/InteropIO/iocd-cli/issues/135)) ([67dc994](https://github.com/InteropIO/iocd-cli/commit/67dc994afc10693aba5ea00a054dd83cf417f479))
18
+ * **signing:** support macos entitlement overlays ([#138](https://github.com/InteropIO/iocd-cli/issues/138)) ([2aea847](https://github.com/InteropIO/iocd-cli/commit/2aea84741948a83e567ecd398ed7822b6f32e245))
19
+
20
+
21
+ ### Bug Fixes
22
+
23
+ * **ci:** make dependabot security updates releasable ([#134](https://github.com/InteropIO/iocd-cli/issues/134)) ([d81e1e4](https://github.com/InteropIO/iocd-cli/commit/d81e1e4fab7ae4db128458432571ad2537117778))
24
+ * copy unsigned installer when on linux ([#131](https://github.com/InteropIO/iocd-cli/issues/131)) ([13c76f7](https://github.com/InteropIO/iocd-cli/commit/13c76f72aabc5ac5c49b8352e2e8c749cf766654))
25
+ * **deps-dev:** bump baseline-browser-mapping from 2.9.19 to 2.11.27 ([#128](https://github.com/InteropIO/iocd-cli/issues/128)) ([2b8735b](https://github.com/InteropIO/iocd-cli/commit/2b8735b852ebd2e190b5f2a884e656d22e6eaae9))
26
+ * **deps-dev:** bump brace-expansion from 1.1.18 to 1.1.21 ([54b4ee7](https://github.com/InteropIO/iocd-cli/commit/54b4ee7df2798e99df19bd51f54c6b833a858632))
27
+ * **deps-dev:** bump browserslist from 4.28.1 to 4.29.3 ([#129](https://github.com/InteropIO/iocd-cli/issues/129)) ([b17cf0a](https://github.com/InteropIO/iocd-cli/commit/b17cf0a7a60875cc5cad7fde6c24af02338da84e))
28
+ * **deps-dev:** bump fast-uri from 3.1.5 to 3.1.8 ([#127](https://github.com/InteropIO/iocd-cli/issues/127)) ([e6f47dd](https://github.com/InteropIO/iocd-cli/commit/e6f47ddf1777b563ab55301f5b222726f53785c8))
29
+ * **deps-dev:** bump handlebars from 4.7.9 to 4.7.10 ([#137](https://github.com/InteropIO/iocd-cli/issues/137)) ([6f64bb0](https://github.com/InteropIO/iocd-cli/commit/6f64bb05112dc70474fcb16b195d8b576f4422e1))
30
+ * **security:** upgrade forge and command runner dependencies ([#130](https://github.com/InteropIO/iocd-cli/issues/130)) ([1a2879c](https://github.com/InteropIO/iocd-cli/commit/1a2879c290f66d0631e120697a24d2dd95a41846))
31
+
8
32
  ## [1.1.3](https://github.com/InteropIO/iocd-cli/compare/iocd-cli-v1.1.2...iocd-cli-v1.1.3) (2026-10-06)
9
33
 
10
34
 
@@ -40,6 +40,9 @@
40
40
  <key>com.apple.security.device.microphone</key>
41
41
  <true/>
42
42
 
43
+ <key>com.apple.security.device.audio-input</key>
44
+ <true/>
45
+
43
46
  <key>com.apple.security.automation.apple-events</key>
44
47
  <true/>
45
48
 
package/dist/cli.js CHANGED
@@ -55,6 +55,8 @@ const pacakge_json_helper_1 = require("./utils/pacakge.json.helper");
55
55
  const config_service_1 = require("./services/config/config.service");
56
56
  const proxy_1 = require("./utils/proxy");
57
57
  const version_check_1 = require("./utils/version-check");
58
+ const doctor_command_1 = require("./commands/doctor.command");
59
+ const doctor_service_1 = require("./services/doctor.service");
58
60
  const program = new commander_1.Command();
59
61
  const logger = logger_1.Logger.getInstance("cli");
60
62
  clack.intro((0, colors_1.bgCyanBlack)(` io.Connect Desktop CLI ${pacakge_json_helper_1.PackageJSONHelper.getCliPackageJson().version} `));
@@ -65,11 +67,6 @@ logger.debug(`Node.js version: ${process.version}`);
65
67
  logger.debug(`Operating System: ${process.platform} ${process.arch}`);
66
68
  logger.debug(`Command line arguments: ${JSON.stringify(process.argv)}`);
67
69
  logger.printLogLocation();
68
- logger.debug(`Config is ${config_service_1.ConfigManager.getConfigStringWithoutSecrets()}`);
69
- // Initialize Sentry for error tracking, should be after proxy initialization
70
- if (config_service_1.ConfigManager.config.sentry) {
71
- require("./utils/sentry");
72
- }
73
70
  program
74
71
  .name("@interopio/iocd-cli")
75
72
  .description("CLI tool for setting up, building and packaging io.Connect Desktop projects")
@@ -94,12 +91,22 @@ program.addCommand(apps_command_1.appsCommand);
94
91
  program.addCommand(modifications_command_1.modificationsCommand);
95
92
  program.addCommand(license_command_1.licenseCommand);
96
93
  program.addCommand(skills_command_1.skillsCommand);
94
+ program.addCommand(doctor_command_1.doctorCommand);
97
95
  // global hook runs for all subcommands
98
- program.hook("preAction", (_thisCommand, actionCommand) => {
99
- const cmdPath = actionCommand.name(); // e.g. "init" or "build"
100
- const fullPath = actionCommand?.parent
101
- ? actionCommand.parent.name() + " " + cmdPath
102
- : cmdPath;
96
+ program.hook("preAction", async (_thisCommand, actionCommand) => {
97
+ const commandPath = [];
98
+ for (let command = actionCommand; command && command !== program; command = command.parent) {
99
+ commandPath.unshift(command.name());
100
+ }
101
+ new doctor_service_1.DoctorService().preflight(commandPath);
102
+ // Doctor must remain usable even when the project's runtime configuration is broken.
103
+ if (commandPath[0] === "doctor")
104
+ return;
105
+ logger.debug(`Config is ${config_service_1.ConfigManager.getConfigStringWithoutSecrets()}`);
106
+ if (config_service_1.ConfigManager.config.sentry)
107
+ require("./utils/sentry");
108
+ await (0, version_check_1.checkForUpdates)();
109
+ const fullPath = commandPath.join(" ");
103
110
  logger.debug(`Executing command: ${fullPath}`);
104
111
  if (config_service_1.ConfigManager.config.sentry) {
105
112
  const Sentry = require("@sentry/node");
@@ -121,8 +128,6 @@ process.on("unhandledRejection", (reason, promise) => {
121
128
  });
122
129
  // Parse command line arguments
123
130
  error_handler_1.ErrorHandler.wrap(async () => {
124
- // Check for CLI updates (non-blocking, will not fail the CLI)
125
- await (0, version_check_1.checkForUpdates)();
126
131
  await program.parseAsync(process.argv);
127
132
  });
128
133
  //# sourceMappingURL=cli.js.map
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,6 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.buildCommand = void 0;
4
4
  const commander_1 = require("commander");
5
- const installer_service_1 = require("../services/installer/installer.service");
6
5
  const error_handler_1 = require("../utils/error.handler");
7
6
  exports.buildCommand = new commander_1.Command("build")
8
7
  .description("Build and package the io.Connect Desktop application for distribution")
@@ -11,7 +10,9 @@ exports.buildCommand = new commander_1.Command("build")
11
10
  .option("--skip-install", "Skip installing components during the build process", false)
12
11
  .action(async (options) => {
13
12
  try {
14
- await (0, installer_service_1.makeInstaller)(options);
13
+ // Load Forge only after the global compatibility check has passed.
14
+ const { makeInstaller } = await import("../services/installer/installer.service.js");
15
+ await makeInstaller(options);
15
16
  }
16
17
  catch (error) {
17
18
  error_handler_1.ErrorHandler.handle(error);
@@ -1 +1 @@
1
- {"version":3,"file":"build.command.js","sourceRoot":"","sources":["../../src/commands/build.command.ts"],"names":[],"mappings":";;;AAAA,yCAAoC;AACpC,+EAAwE;AACxE,0DAAsD;AAEzC,QAAA,YAAY,GAAG,IAAI,mBAAO,CAAC,OAAO,CAAC;KAC7C,WAAW,CACV,uEAAuE,CACxE;KACA,MAAM,CACL,iBAAiB,EACjB,mEAAmE,EACnE,SAAS,CACV;KACA,MAAM,CACL,gBAAgB,EAChB,2FAA2F,EAC3F,KAAK,CACN;KACA,MAAM,CACL,gBAAgB,EAChB,qDAAqD,EACrD,KAAK,CACN;KACA,MAAM,CACL,KAAK,EAAE,OAIN,EAAE,EAAE;IACH,IAAI,CAAC;QACH,MAAM,IAAA,iCAAa,EAAC,OAAO,CAAC,CAAC;IAC/B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,4BAAY,CAAC,MAAM,CAAC,KAAc,CAAC,CAAC;IACtC,CAAC;AACH,CAAC,CACF,CAAC"}
1
+ {"version":3,"file":"build.command.js","sourceRoot":"","sources":["../../src/commands/build.command.ts"],"names":[],"mappings":";;;AAAA,yCAAoC;AACpC,0DAAsD;AAEzC,QAAA,YAAY,GAAG,IAAI,mBAAO,CAAC,OAAO,CAAC;KAC7C,WAAW,CACV,uEAAuE,CACxE;KACA,MAAM,CACL,iBAAiB,EACjB,mEAAmE,EACnE,SAAS,CACV;KACA,MAAM,CACL,gBAAgB,EAChB,2FAA2F,EAC3F,KAAK,CACN;KACA,MAAM,CACL,gBAAgB,EAChB,qDAAqD,EACrD,KAAK,CACN;KACA,MAAM,CACL,KAAK,EAAE,OAIN,EAAE,EAAE;IACH,IAAI,CAAC;QACH,mEAAmE;QACnE,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CACpC,4CAA4C,CAC7C,CAAC;QACF,MAAM,aAAa,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,4BAAY,CAAC,MAAM,CAAC,KAAc,CAAC,CAAC;IACtC,CAAC;AACH,CAAC,CACF,CAAC"}
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.doctorCommand = void 0;
4
+ const commander_1 = require("commander");
5
+ const doctor_service_1 = require("../services/doctor.service");
6
+ const error_handler_1 = require("../utils/error.handler");
7
+ const release_metadata_1 = require("../utils/release-metadata");
8
+ exports.doctorCommand = new commander_1.Command("doctor")
9
+ .description("Check project dependencies and explain compatibility fixes without changing files")
10
+ .option("--target <version-or-tag>", "Check a published CLI release before upgrading (requires network or cached metadata)")
11
+ .action(async (options) => {
12
+ const doctor = new doctor_service_1.DoctorService();
13
+ let manifest;
14
+ if (options.target) {
15
+ const metadata = await (0, release_metadata_1.getReleaseMetadata)(options.target, {
16
+ allowStale: false,
17
+ });
18
+ if (!metadata) {
19
+ throw new error_handler_1.CLIError(`Could not read compatibility information for CLI ${options.target}.`, {
20
+ code: error_handler_1.ErrorCode.NETWORK_ERROR,
21
+ reportToSentry: false,
22
+ suggestions: [
23
+ "Check the published version/tag and your network connection. Run iocd doctor without --target for an offline check.",
24
+ ],
25
+ });
26
+ }
27
+ manifest = (0, doctor_service_1.parseCompatibilityManifest)(metadata);
28
+ }
29
+ const report = doctor.inspect({
30
+ requireProject: true,
31
+ ...(manifest && { manifest }),
32
+ });
33
+ doctor.printReport(report);
34
+ if (report.checks.some(check => check.status === "error"))
35
+ process.exitCode = error_handler_1.ErrorCode.VALIDATION_ERROR;
36
+ });
37
+ //# sourceMappingURL=doctor.command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doctor.command.js","sourceRoot":"","sources":["../../src/commands/doctor.command.ts"],"names":[],"mappings":";;;AAAA,yCAAoC;AACpC,+DAGoC;AACpC,0DAA6D;AAC7D,gEAA+D;AAElD,QAAA,aAAa,GAAG,IAAI,mBAAO,CAAC,QAAQ,CAAC;KAC/C,WAAW,CACV,mFAAmF,CACpF;KACA,MAAM,CACL,2BAA2B,EAC3B,sFAAsF,CACvF;KACA,MAAM,CAAC,KAAK,EAAE,OAA4B,EAAE,EAAE;IAC7C,MAAM,MAAM,GAAG,IAAI,8BAAa,EAAE,CAAC;IACnC,IAAI,QAAQ,CAAC;IACb,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,MAAM,QAAQ,GAAG,MAAM,IAAA,qCAAkB,EAAC,OAAO,CAAC,MAAM,EAAE;YACxD,UAAU,EAAE,KAAK;SAClB,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,wBAAQ,CAChB,oDAAoD,OAAO,CAAC,MAAM,GAAG,EACrE;gBACE,IAAI,EAAE,yBAAS,CAAC,aAAa;gBAC7B,cAAc,EAAE,KAAK;gBACrB,WAAW,EAAE;oBACX,qHAAqH;iBACtH;aACF,CACF,CAAC;QACJ,CAAC;QACD,QAAQ,GAAG,IAAA,2CAA0B,EAAC,QAAQ,CAAC,CAAC;IAClD,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC;QAC5B,cAAc,EAAE,IAAI;QACpB,GAAG,CAAC,QAAQ,IAAI,EAAE,QAAQ,EAAE,CAAC;KAC9B,CAAC,CAAC;IACH,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAC3B,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,KAAK,OAAO,CAAC;QACvD,OAAO,CAAC,QAAQ,GAAG,yBAAS,CAAC,gBAAgB,CAAC;AAClD,CAAC,CAAC,CAAC"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.skillsCommand = exports.setupCommand = exports.testCommand = exports.devCommand = exports.buildCommand = exports.modificationsCommand = exports.licenseCommand = exports.appsCommand = exports.componentsCommand = exports.createCommand = void 0;
3
+ exports.doctorCommand = exports.skillsCommand = exports.setupCommand = exports.testCommand = exports.devCommand = exports.buildCommand = exports.modificationsCommand = exports.licenseCommand = exports.appsCommand = exports.componentsCommand = exports.createCommand = void 0;
4
4
  var create_command_1 = require("./create.command");
5
5
  Object.defineProperty(exports, "createCommand", { enumerable: true, get: function () { return create_command_1.createCommand; } });
6
6
  var components_command_1 = require("./components.command");
@@ -21,4 +21,6 @@ var setup_command_1 = require("./setup.command");
21
21
  Object.defineProperty(exports, "setupCommand", { enumerable: true, get: function () { return setup_command_1.setupCommand; } });
22
22
  var skills_command_1 = require("./skills.command");
23
23
  Object.defineProperty(exports, "skillsCommand", { enumerable: true, get: function () { return skills_command_1.skillsCommand; } });
24
+ var doctor_command_1 = require("./doctor.command");
25
+ Object.defineProperty(exports, "doctorCommand", { enumerable: true, get: function () { return doctor_command_1.doctorCommand; } });
24
26
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":";;;AAAA,mDAAiD;AAAxC,+GAAA,aAAa,OAAA;AACtB,2DAAyD;AAAhD,uHAAA,iBAAiB,OAAA;AAC1B,+CAA6C;AAApC,2GAAA,WAAW,OAAA;AACpB,qDAAmD;AAA1C,iHAAA,cAAc,OAAA;AACvB,iEAA+D;AAAtD,6HAAA,oBAAoB,OAAA;AAC7B,iDAA+C;AAAtC,6GAAA,YAAY,OAAA;AACrB,6CAA2C;AAAlC,yGAAA,UAAU,OAAA;AACnB,+CAA6C;AAApC,2GAAA,WAAW,OAAA;AACpB,iDAA+C;AAAtC,6GAAA,YAAY,OAAA;AACrB,mDAAiD;AAAxC,+GAAA,aAAa,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":";;;AAAA,mDAAiD;AAAxC,+GAAA,aAAa,OAAA;AACtB,2DAAyD;AAAhD,uHAAA,iBAAiB,OAAA;AAC1B,+CAA6C;AAApC,2GAAA,WAAW,OAAA;AACpB,qDAAmD;AAA1C,iHAAA,cAAc,OAAA;AACvB,iEAA+D;AAAtD,6HAAA,oBAAoB,OAAA;AAC7B,iDAA+C;AAAtC,6GAAA,YAAY,OAAA;AACrB,6CAA2C;AAAlC,yGAAA,UAAU,OAAA;AACnB,+CAA6C;AAApC,2GAAA,WAAW,OAAA;AACpB,iDAA+C;AAAtC,6GAAA,YAAY,OAAA;AACrB,mDAAiD;AAAxC,+GAAA,aAAa,OAAA;AACtB,mDAAiD;AAAxC,+GAAA,aAAa,OAAA"}
@@ -145,8 +145,12 @@
145
145
  "description": "Path to custom code signing script (for type: 'custom').",
146
146
  "type": "string"
147
147
  },
148
+ "entitlements": {
149
+ "$ref": "#/definitions/EntitlementsOverlay",
150
+ "description": "Overlay on the CLI's default signing entitlements for 'keychain' and 'certificate' builds.\nValues support booleans, strings, safe integers, arrays, and nested dictionaries.\nA key cannot appear in both set and remove. Custom signing scripts receive this configuration\nbut are responsible for applying it. Does not affect Info.plist or ad-hoc dev signing."
151
+ },
148
152
  "identity": {
149
- "description": "Developer ID Application identity name or SHA-1 hash (e.g., \"Developer ID Application: Company, Inc. (TEAM123)\").",
153
+ "description": "Developer ID Application identity name or SHA-1 hash (e.g., \"Developer ID Application: Company, Inc. (TEAM123)\").\nWith type 'keychain', '-' uses ad-hoc signing for local testing, without certificate validation or notarization support.",
150
154
  "type": "string"
151
155
  },
152
156
  "keychain": {
@@ -293,5 +297,54 @@
293
297
  "type": "object"
294
298
  }
295
299
  },
300
+ "definitions": {
301
+ "EntitlementValue": {
302
+ "anyOf": [
303
+ {
304
+ "type": "boolean"
305
+ },
306
+ {
307
+ "type": "string"
308
+ },
309
+ {
310
+ "type": "integer",
311
+ "minimum": -9007199254740991,
312
+ "maximum": 9007199254740991
313
+ },
314
+ {
315
+ "type": "array",
316
+ "items": {
317
+ "$ref": "#/definitions/EntitlementValue"
318
+ }
319
+ },
320
+ {
321
+ "type": "object",
322
+ "additionalProperties": {
323
+ "$ref": "#/definitions/EntitlementValue"
324
+ }
325
+ }
326
+ ]
327
+ },
328
+ "EntitlementsOverlay": {
329
+ "additionalProperties": false,
330
+ "properties": {
331
+ "remove": {
332
+ "description": "Remove top-level entitlement keys from the CLI defaults. Missing keys are ignored.",
333
+ "items": {
334
+ "type": "string"
335
+ },
336
+ "type": "array"
337
+ },
338
+ "set": {
339
+ "additionalProperties": {
340
+ "$ref": "#/definitions/EntitlementValue"
341
+ },
342
+ "description": "Add or replace whole entitlement values. Dictionaries and arrays are replaced, not merged.",
343
+ "type": "object"
344
+ }
345
+ },
346
+ "type": "object"
347
+ }
348
+ },
296
349
  "type": "object"
297
350
  }
@@ -259,7 +259,8 @@ class ComponentsService {
259
259
  // When installing the iocd component on Windows, store the fresh unsigned exe in .iocd-cli/unsigned-exe
260
260
  // we do this because rcedit can be done on unsigned exe only and also you can not re-sign an exe once it has been signed
261
261
  // it is restored in the modifications/windows.helper.ts before any modifications are done, so we always have the original unsigned exe available for modifications.
262
- if (name === "iocd" && process.platform === "win32") {
262
+ if (name === "iocd" &&
263
+ (process.platform === "win32" || process.platform === "linux")) {
263
264
  const unsignedExeDir = path_2.PathUtils.getUnsignedExeDir();
264
265
  if ((0, fs_1.existsSync)(unsignedExeDir)) {
265
266
  (0, fs_1.rmSync)(unsignedExeDir, { recursive: true, force: true });
@@ -1 +1 @@
1
- {"version":3,"file":"components.service.js","sourceRoot":"","sources":["../../../src/services/components/components.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"components.service.js","sourceRoot":"","sources":["../../../src/services/components/components.service.ts"],"names":[],"mappings":"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"}
@@ -7,9 +7,11 @@ exports.validateCliConfig = validateCliConfig;
7
7
  const fs_extra_1 = __importDefault(require("fs-extra"));
8
8
  const path_1 = __importDefault(require("path"));
9
9
  const logger_js_1 = require("../../utils/logger.js");
10
+ const entitlements_validator_1 = require("./entitlements.validator");
10
11
  const logger = logger_js_1.Logger.getInstance("config.validator");
11
12
  const schemaProperties = loadSchema();
12
13
  function validateCliConfig(config) {
14
+ (0, entitlements_validator_1.validateEntitlementsOverlay)(config.mac?.codeSign?.entitlements);
13
15
  validateProperties(schemaProperties, config, "");
14
16
  }
15
17
  // Read at module load time from the generated schema in dist/schemas/.
@@ -1 +1 @@
1
- {"version":3,"file":"config.validator.js","sourceRoot":"","sources":["../../../src/services/config/config.validator.ts"],"names":[],"mappings":";;;;;AAcA,8CAMC;AApBD,wDAA2B;AAC3B,gDAAwB;AAExB,qDAA+C;AAQ/C,MAAM,MAAM,GAAG,kBAAM,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC;AACtD,MAAM,gBAAgB,GAAG,UAAU,EAAE,CAAC;AAEtC,SAAgB,iBAAiB,CAAC,MAAiB;IACjD,kBAAkB,CAChB,gBAAgB,EAChB,MAA4C,EAC5C,EAAE,CACH,CAAC;AACJ,CAAC;AAED,uEAAuE;AACvE,iEAAiE;AACjE,SAAS,UAAU;IACjB,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,cAAI,CAAC,IAAI,CAC1B,SAAS,EACT,IAAI,EACJ,IAAI,EACJ,SAAS,EACT,6BAA6B,CAC9B,CAAC;QACF,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAG,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC;QAChE,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QAC9B,OAAO,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC;IACjC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,CAAC,IAAI,CACT,+DAA+D,CAChE,CAAC;QACF,MAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE,CAAC,CAAC,CAAC;QAC1C,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB,CACzB,UAA0C,EAC1C,MAA+B,EAC/B,MAAc;IAEd,KAAK,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QACtD,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;QACxD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAE5B,IAAI,SAAS,IAAI,GAAG,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAClD,IAAI,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,OAAiB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBACnD,MAAM,GAAG,GAAG,GAAG,CAAC,mBAAmB,IAAI,YAAY,GAAG,CAAC,OAAO,EAAE,CAAC;gBACjE,MAAM,CAAC,IAAI,CAAC,IAAI,SAAS,OAAO,KAAK,iBAAiB,GAAG,EAAE,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC;QACD,IACE,YAAY,IAAI,GAAG;YACnB,KAAK,KAAK,IAAI;YACd,OAAO,KAAK,KAAK,QAAQ;YACzB,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EACrB,CAAC;YACD,kBAAkB,CAChB,GAAG,CAAC,UAA4C,EAChD,KAAgC,EAChC,SAAS,CACV,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"config.validator.js","sourceRoot":"","sources":["../../../src/services/config/config.validator.ts"],"names":[],"mappings":";;;;;AAeA,8CAOC;AAtBD,wDAA2B;AAC3B,gDAAwB;AAExB,qDAA+C;AAC/C,qEAAuE;AAQvE,MAAM,MAAM,GAAG,kBAAM,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC;AACtD,MAAM,gBAAgB,GAAG,UAAU,EAAE,CAAC;AAEtC,SAAgB,iBAAiB,CAAC,MAAiB;IACjD,IAAA,oDAA2B,EAAC,MAAM,CAAC,GAAG,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;IAChE,kBAAkB,CAChB,gBAAgB,EAChB,MAA4C,EAC5C,EAAE,CACH,CAAC;AACJ,CAAC;AAED,uEAAuE;AACvE,iEAAiE;AACjE,SAAS,UAAU;IACjB,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,cAAI,CAAC,IAAI,CAC1B,SAAS,EACT,IAAI,EACJ,IAAI,EACJ,SAAS,EACT,6BAA6B,CAC9B,CAAC;QACF,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAG,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC;QAChE,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QAC9B,OAAO,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC;IACjC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,CAAC,IAAI,CACT,+DAA+D,CAChE,CAAC;QACF,MAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE,CAAC,CAAC,CAAC;QAC1C,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB,CACzB,UAA0C,EAC1C,MAA+B,EAC/B,MAAc;IAEd,KAAK,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QACtD,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;QACxD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAE5B,IAAI,SAAS,IAAI,GAAG,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAClD,IAAI,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,OAAiB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBACnD,MAAM,GAAG,GAAG,GAAG,CAAC,mBAAmB,IAAI,YAAY,GAAG,CAAC,OAAO,EAAE,CAAC;gBACjE,MAAM,CAAC,IAAI,CAAC,IAAI,SAAS,OAAO,KAAK,iBAAiB,GAAG,EAAE,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC;QACD,IACE,YAAY,IAAI,GAAG;YACnB,KAAK,KAAK,IAAI;YACd,OAAO,KAAK,KAAK,QAAQ;YACzB,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EACrB,CAAC;YACD,kBAAkB,CAChB,GAAG,CAAC,UAA4C,EAChD,KAAgC,EAChC,SAAS,CACV,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validateEntitlementsOverlay = validateEntitlementsOverlay;
4
+ const error_handler_1 = require("../../utils/error.handler");
5
+ const logger_1 = require("../../utils/logger");
6
+ const logger = logger_1.Logger.getInstance("entitlements.service");
7
+ const configPath = "mac.codeSign.entitlements";
8
+ // These keys are incompatible with the plist serializer or object prototypes.
9
+ const reservedKeys = new Set([
10
+ "__proto__",
11
+ "constructor",
12
+ "prototype",
13
+ "hasOwnProperty",
14
+ ]);
15
+ // XML 1.0 forbids these characters, including unpaired UTF-16 surrogates.
16
+ /* eslint-disable no-control-regex */
17
+ const invalidXml = /[\u0000-\u0008\u000b\u000c\u000e-\u001f\ufffe\uffff\ud800-\udfff]/u;
18
+ /* eslint-enable no-control-regex */
19
+ function fail(field, reason) {
20
+ const message = `Invalid ${field}: ${reason}`;
21
+ logger.error(message);
22
+ throw new error_handler_1.CLIError(message, {
23
+ code: error_handler_1.ErrorCode.INVALID_CONFIG,
24
+ reportToSentry: false,
25
+ suggestions: [
26
+ "Update mac.codeSign.entitlements in config/iocd.cli.config.json. Use set for typed values and remove for an array of keys; do not include a key in both.",
27
+ ],
28
+ });
29
+ }
30
+ function isDictionary(value) {
31
+ return (value !== null &&
32
+ typeof value === "object" &&
33
+ Object.getPrototypeOf(value) === Object.prototype);
34
+ }
35
+ function validateKey(key, field) {
36
+ if (!key || reservedKeys.has(key) || invalidXml.test(key)) {
37
+ fail(field, "keys must be non-empty XML-compatible strings without reserved object property names.");
38
+ }
39
+ }
40
+ function validateValue(value, field) {
41
+ if (typeof value === "boolean")
42
+ return;
43
+ if (typeof value === "string" && !invalidXml.test(value))
44
+ return;
45
+ if (typeof value === "number" && Number.isSafeInteger(value))
46
+ return;
47
+ if (Array.isArray(value)) {
48
+ value.forEach((item, index) => validateValue(item, `${field}[${index}]`));
49
+ return;
50
+ }
51
+ if (isDictionary(value)) {
52
+ for (const [key, item] of Object.entries(value)) {
53
+ validateKey(key, field);
54
+ validateValue(item, `${field}.${key}`);
55
+ }
56
+ return;
57
+ }
58
+ fail(field, "expected a boolean, XML-compatible string, safe integer, array, or dictionary (fractional numbers and null are not supported by signing entitlements).");
59
+ }
60
+ /** Validate even when the optional generated configuration schema is unavailable. */
61
+ function validateEntitlementsOverlay(value) {
62
+ if (value === undefined)
63
+ return;
64
+ if (!isDictionary(value))
65
+ fail(configPath, "expected an object.");
66
+ if (Object.keys(value).some(key => key !== "set" && key !== "remove")) {
67
+ fail(configPath, "only set and remove are supported.");
68
+ }
69
+ const set = value["set"];
70
+ if (set !== undefined) {
71
+ if (!isDictionary(set))
72
+ fail(`${configPath}.set`, "expected a dictionary.");
73
+ validateValue(set, `${configPath}.set`);
74
+ }
75
+ const remove = value["remove"];
76
+ if (remove !== undefined) {
77
+ if (!Array.isArray(remove) ||
78
+ !remove.every(key => typeof key === "string")) {
79
+ fail(`${configPath}.remove`, "expected an array of entitlement keys.");
80
+ }
81
+ for (const key of remove) {
82
+ validateKey(key, `${configPath}.remove`);
83
+ if (set && Object.prototype.hasOwnProperty.call(set, key)) {
84
+ fail(configPath, `the key ${key} appears in both set and remove.`);
85
+ }
86
+ }
87
+ }
88
+ }
89
+ //# sourceMappingURL=entitlements.validator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entitlements.validator.js","sourceRoot":"","sources":["../../../src/services/config/entitlements.validator.ts"],"names":[],"mappings":"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"}