@interopio/iocd-cli 0.0.1

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 (297) hide show
  1. package/README.md +40 -0
  2. package/dist/cli.d.ts +3 -0
  3. package/dist/cli.d.ts.map +1 -0
  4. package/dist/cli.js +96 -0
  5. package/dist/cli.js.map +1 -0
  6. package/dist/commands/apps.command.d.ts +3 -0
  7. package/dist/commands/apps.command.d.ts.map +1 -0
  8. package/dist/commands/apps.command.js +110 -0
  9. package/dist/commands/apps.command.js.map +1 -0
  10. package/dist/commands/components.command.d.ts +3 -0
  11. package/dist/commands/components.command.d.ts.map +1 -0
  12. package/dist/commands/components.command.js +116 -0
  13. package/dist/commands/components.command.js.map +1 -0
  14. package/dist/commands/create.command.d.ts +3 -0
  15. package/dist/commands/create.command.d.ts.map +1 -0
  16. package/dist/commands/create.command.js +19 -0
  17. package/dist/commands/create.command.js.map +1 -0
  18. package/dist/commands/dev.command.d.ts +4 -0
  19. package/dist/commands/dev.command.d.ts.map +1 -0
  20. package/dist/commands/dev.command.js +25 -0
  21. package/dist/commands/dev.command.js.map +1 -0
  22. package/dist/commands/installer.command.d.ts +3 -0
  23. package/dist/commands/installer.command.d.ts.map +1 -0
  24. package/dist/commands/installer.command.js +19 -0
  25. package/dist/commands/installer.command.js.map +1 -0
  26. package/dist/commands/license.command.d.ts +3 -0
  27. package/dist/commands/license.command.d.ts.map +1 -0
  28. package/dist/commands/license.command.js +23 -0
  29. package/dist/commands/license.command.js.map +1 -0
  30. package/dist/commands/modifications.command.d.ts +3 -0
  31. package/dist/commands/modifications.command.d.ts.map +1 -0
  32. package/dist/commands/modifications.command.js +28 -0
  33. package/dist/commands/modifications.command.js.map +1 -0
  34. package/dist/commands/setup.command.d.ts +4 -0
  35. package/dist/commands/setup.command.d.ts.map +1 -0
  36. package/dist/commands/setup.command.js +34 -0
  37. package/dist/commands/setup.command.js.map +1 -0
  38. package/dist/services/app-builder.service.d.ts +2 -0
  39. package/dist/services/app-builder.service.d.ts.map +1 -0
  40. package/dist/services/app-builder.service.js +3 -0
  41. package/dist/services/app-builder.service.js.map +1 -0
  42. package/dist/services/app.service.d.ts +74 -0
  43. package/dist/services/app.service.d.ts.map +1 -0
  44. package/dist/services/app.service.js +328 -0
  45. package/dist/services/app.service.js.map +1 -0
  46. package/dist/services/components/component.config.d.ts +11 -0
  47. package/dist/services/components/component.config.d.ts.map +1 -0
  48. package/dist/services/components/component.config.js +101 -0
  49. package/dist/services/components/component.config.js.map +1 -0
  50. package/dist/services/components/component.d.ts +12 -0
  51. package/dist/services/components/component.d.ts.map +1 -0
  52. package/dist/services/components/component.js +3 -0
  53. package/dist/services/components/component.js.map +1 -0
  54. package/dist/services/components/components.registry.d.ts +40 -0
  55. package/dist/services/components/components.registry.d.ts.map +1 -0
  56. package/dist/services/components/components.registry.js +72 -0
  57. package/dist/services/components/components.registry.js.map +1 -0
  58. package/dist/services/components/components.service.d.ts +20 -0
  59. package/dist/services/components/components.service.d.ts.map +1 -0
  60. package/dist/services/components/components.service.js +171 -0
  61. package/dist/services/components/components.service.js.map +1 -0
  62. package/dist/services/components/file.helper.d.ts +12 -0
  63. package/dist/services/components/file.helper.d.ts.map +1 -0
  64. package/dist/services/components/file.helper.js +124 -0
  65. package/dist/services/components/file.helper.js.map +1 -0
  66. package/dist/services/components/platform.utils.d.ts +72 -0
  67. package/dist/services/components/platform.utils.d.ts.map +1 -0
  68. package/dist/services/components/platform.utils.js +156 -0
  69. package/dist/services/components/platform.utils.js.map +1 -0
  70. package/dist/services/components/stores/github.store.d.ts +35 -0
  71. package/dist/services/components/stores/github.store.d.ts.map +1 -0
  72. package/dist/services/components/stores/github.store.js +157 -0
  73. package/dist/services/components/stores/github.store.js.map +1 -0
  74. package/dist/services/components/stores/local.store.d.ts +69 -0
  75. package/dist/services/components/stores/local.store.d.ts.map +1 -0
  76. package/dist/services/components/stores/local.store.js +300 -0
  77. package/dist/services/components/stores/local.store.js.map +1 -0
  78. package/dist/services/components/stores/s3.store.d.ts +98 -0
  79. package/dist/services/components/stores/s3.store.d.ts.map +1 -0
  80. package/dist/services/components/stores/s3.store.js +368 -0
  81. package/dist/services/components/stores/s3.store.js.map +1 -0
  82. package/dist/services/components/stores/store.d.ts +11 -0
  83. package/dist/services/components/stores/store.d.ts.map +1 -0
  84. package/dist/services/components/stores/store.js +3 -0
  85. package/dist/services/components/stores/store.js.map +1 -0
  86. package/dist/services/config/cli.config.d.ts +57 -0
  87. package/dist/services/config/cli.config.d.ts.map +1 -0
  88. package/dist/services/config/cli.config.js +3 -0
  89. package/dist/services/config/cli.config.js.map +1 -0
  90. package/dist/services/config/config.service.d.ts +14 -0
  91. package/dist/services/config/config.service.d.ts.map +1 -0
  92. package/dist/services/config/config.service.js +170 -0
  93. package/dist/services/config/config.service.js.map +1 -0
  94. package/dist/services/create.service.d.ts +58 -0
  95. package/dist/services/create.service.d.ts.map +1 -0
  96. package/dist/services/create.service.js +318 -0
  97. package/dist/services/create.service.js.map +1 -0
  98. package/dist/services/dev.service.d.ts +2 -0
  99. package/dist/services/dev.service.d.ts.map +1 -0
  100. package/dist/services/dev.service.js +78 -0
  101. package/dist/services/dev.service.js.map +1 -0
  102. package/dist/services/installer/electronBuilder.d.ts +2 -0
  103. package/dist/services/installer/electronBuilder.d.ts.map +1 -0
  104. package/dist/services/installer/electronBuilder.js +3 -0
  105. package/dist/services/installer/electronBuilder.js.map +1 -0
  106. package/dist/services/installer/electronForge.d.ts +2 -0
  107. package/dist/services/installer/electronForge.d.ts.map +1 -0
  108. package/dist/services/installer/electronForge.js +248 -0
  109. package/dist/services/installer/electronForge.js.map +1 -0
  110. package/dist/services/installer/installer.service.d.ts +5 -0
  111. package/dist/services/installer/installer.service.d.ts.map +1 -0
  112. package/dist/services/installer/installer.service.js +101 -0
  113. package/dist/services/installer/installer.service.js.map +1 -0
  114. package/dist/services/installer/macOS.helper.d.ts +3 -0
  115. package/dist/services/installer/macOS.helper.d.ts.map +1 -0
  116. package/dist/services/installer/macOS.helper.js +244 -0
  117. package/dist/services/installer/macOS.helper.js.map +1 -0
  118. package/dist/services/installer/prerequisites.d.ts +2 -0
  119. package/dist/services/installer/prerequisites.d.ts.map +1 -0
  120. package/dist/services/installer/prerequisites.js +73 -0
  121. package/dist/services/installer/prerequisites.js.map +1 -0
  122. package/dist/services/installer/windows.helper.d.ts +10 -0
  123. package/dist/services/installer/windows.helper.d.ts.map +1 -0
  124. package/dist/services/installer/windows.helper.js +394 -0
  125. package/dist/services/installer/windows.helper.js.map +1 -0
  126. package/dist/services/license.service.d.ts +7 -0
  127. package/dist/services/license.service.d.ts.map +1 -0
  128. package/dist/services/license.service.js +14 -0
  129. package/dist/services/license.service.js.map +1 -0
  130. package/dist/services/modifications/macOS.helper.d.ts +13 -0
  131. package/dist/services/modifications/macOS.helper.d.ts.map +1 -0
  132. package/dist/services/modifications/macOS.helper.js +274 -0
  133. package/dist/services/modifications/macOS.helper.js.map +1 -0
  134. package/dist/services/modifications/modifications.service.d.ts +2 -0
  135. package/dist/services/modifications/modifications.service.d.ts.map +1 -0
  136. package/dist/services/modifications/modifications.service.js +376 -0
  137. package/dist/services/modifications/modifications.service.js.map +1 -0
  138. package/dist/services/modifications/windows.helper.d.ts +2 -0
  139. package/dist/services/modifications/windows.helper.d.ts.map +1 -0
  140. package/dist/services/modifications/windows.helper.js +83 -0
  141. package/dist/services/modifications/windows.helper.js.map +1 -0
  142. package/dist/services/template.service.d.ts +116 -0
  143. package/dist/services/template.service.d.ts.map +1 -0
  144. package/dist/services/template.service.js +354 -0
  145. package/dist/services/template.service.js.map +1 -0
  146. package/dist/templates/auto-tests/README.md +31 -0
  147. package/dist/templates/auto-tests/playwright.config.js +19 -0
  148. package/dist/templates/auto-tests/template.json +12 -0
  149. package/dist/templates/auto-tests/tests/basic.test.js +15 -0
  150. package/dist/templates/ioconnect-desktop/.env.example +29 -0
  151. package/dist/templates/ioconnect-desktop/.github/workflows/build-installers.yml +170 -0
  152. package/dist/templates/ioconnect-desktop/LICENSE +0 -0
  153. package/dist/templates/ioconnect-desktop/README.md +0 -0
  154. package/dist/templates/ioconnect-desktop/config/mac-build/entitlements.mac.plist +44 -0
  155. package/dist/templates/ioconnect-desktop/config/win-build/template.nuspectemplate +33 -0
  156. package/dist/templates/ioconnect-desktop/forge.config.js +47 -0
  157. package/dist/templates/ioconnect-desktop/iocd.cli.config.json +45 -0
  158. package/dist/templates/ioconnect-desktop/modifications/iocd/assets/images/logo.icns +0 -0
  159. package/dist/templates/ioconnect-desktop/modifications/iocd/assets/images/logo.ico +0 -0
  160. package/dist/templates/ioconnect-desktop/modifications/iocd/assets/images/logo.png +0 -0
  161. package/dist/templates/ioconnect-desktop/modifications/iocd/config/system.json.merge +3 -0
  162. package/dist/templates/ioconnect-desktop/package.json +43 -0
  163. package/dist/templates/ioconnect-desktop/template.json +7 -0
  164. package/dist/templates/launchpad/apps/launchpad/.eslintrc.json +3 -0
  165. package/dist/templates/launchpad/apps/launchpad/config/iocd.app.def.dev.json +57 -0
  166. package/dist/templates/launchpad/apps/launchpad/config/iocd.app.def.prod.json +2 -0
  167. package/dist/templates/launchpad/apps/launchpad/config/iocd.system.dev.json +3 -0
  168. package/dist/templates/launchpad/apps/launchpad/config/iocd.system.prod.json +3 -0
  169. package/dist/templates/launchpad/apps/launchpad/index.html +16 -0
  170. package/dist/templates/launchpad/apps/launchpad/iocd.app.json +32 -0
  171. package/dist/templates/launchpad/apps/launchpad/package-lock.json +2778 -0
  172. package/dist/templates/launchpad/apps/launchpad/package.json +21 -0
  173. package/dist/templates/launchpad/apps/launchpad/public/favicon.ico +0 -0
  174. package/dist/templates/launchpad/apps/launchpad/src/app/app.tsx +39 -0
  175. package/dist/templates/launchpad/apps/launchpad/src/app/constants.ts +27 -0
  176. package/dist/templates/launchpad/apps/launchpad/src/components/logo.tsx +11 -0
  177. package/dist/templates/launchpad/apps/launchpad/src/components/main-context-menu.tsx +162 -0
  178. package/dist/templates/launchpad/apps/launchpad/src/components/notifications-button.tsx +44 -0
  179. package/dist/templates/launchpad/apps/launchpad/src/main.tsx +6 -0
  180. package/dist/templates/launchpad/apps/launchpad/src/styles.css +17 -0
  181. package/dist/templates/launchpad/apps/launchpad/tsconfig.json +10 -0
  182. package/dist/templates/launchpad/apps/launchpad/vite.config.ts +13 -0
  183. package/dist/templates/launchpad/template.json +12 -0
  184. package/dist/templates/splash-screen/apps/splash-screen/README.md +119 -0
  185. package/dist/templates/splash-screen/apps/splash-screen/config/system-dev.json +9 -0
  186. package/dist/templates/splash-screen/apps/splash-screen/config/system-prod.json +8 -0
  187. package/dist/templates/splash-screen/apps/splash-screen/index.html +55 -0
  188. package/dist/templates/splash-screen/apps/splash-screen/iocd.app.json +20 -0
  189. package/dist/templates/splash-screen/apps/splash-screen/package-lock.json +1059 -0
  190. package/dist/templates/splash-screen/apps/splash-screen/package.json +17 -0
  191. package/dist/templates/splash-screen/apps/splash-screen/public/assets/fonts/PTSans-Regular.ttf +0 -0
  192. package/dist/templates/splash-screen/apps/splash-screen/public/assets/images/logo-light.svg +85 -0
  193. package/dist/templates/splash-screen/apps/splash-screen/public/assets/images/splash-bg.png +0 -0
  194. package/dist/templates/splash-screen/apps/splash-screen/public/assets/styles/style.css +149 -0
  195. package/dist/templates/splash-screen/apps/splash-screen/public/assets/styles/style.css.map +1 -0
  196. package/dist/templates/splash-screen/apps/splash-screen/public/assets/styles/style.scss +90 -0
  197. package/dist/templates/splash-screen/apps/splash-screen/src/main.ts +93 -0
  198. package/dist/templates/splash-screen/apps/splash-screen/src/types.ts +28 -0
  199. package/dist/templates/splash-screen/apps/splash-screen/tsconfig.json +25 -0
  200. package/dist/templates/splash-screen/apps/splash-screen/vite.config.ts +27 -0
  201. package/dist/templates/splash-screen/template.json +12 -0
  202. package/dist/templates/web-groups/apps/web-groups/README.md +15 -0
  203. package/dist/templates/web-groups/apps/web-groups/config/web-group-dev.json +13 -0
  204. package/dist/templates/web-groups/apps/web-groups/config/web-group-prod.json +12 -0
  205. package/dist/templates/web-groups/apps/web-groups/index.html +18 -0
  206. package/dist/templates/web-groups/apps/web-groups/iocd.app.json +24 -0
  207. package/dist/templates/web-groups/apps/web-groups/package.json +28 -0
  208. package/dist/templates/web-groups/apps/web-groups/public/favicon.ico +0 -0
  209. package/dist/templates/web-groups/apps/web-groups/public/logo192.png +0 -0
  210. package/dist/templates/web-groups/apps/web-groups/public/logo512.png +0 -0
  211. package/dist/templates/web-groups/apps/web-groups/public/manifest.json +25 -0
  212. package/dist/templates/web-groups/apps/web-groups/public/robots.txt +3 -0
  213. package/dist/templates/web-groups/apps/web-groups/src/App.css +38 -0
  214. package/dist/templates/web-groups/apps/web-groups/src/App.tsx +11 -0
  215. package/dist/templates/web-groups/apps/web-groups/src/index.css +13 -0
  216. package/dist/templates/web-groups/apps/web-groups/src/index.tsx +25 -0
  217. package/dist/templates/web-groups/apps/web-groups/src/logo.svg +1 -0
  218. package/dist/templates/web-groups/apps/web-groups/src/reportWebVitals.ts +15 -0
  219. package/dist/templates/web-groups/apps/web-groups/tsconfig.json +26 -0
  220. package/dist/templates/web-groups/apps/web-groups/vite.config.ts +8 -0
  221. package/dist/templates/web-groups/template.json +12 -0
  222. package/dist/templates/workspaces/apps/workspaces/README.md +15 -0
  223. package/dist/templates/workspaces/apps/workspaces/config/workspaces-dev.json +21 -0
  224. package/dist/templates/workspaces/apps/workspaces/config/workspaces-prod.json +20 -0
  225. package/dist/templates/workspaces/apps/workspaces/index.html +17 -0
  226. package/dist/templates/workspaces/apps/workspaces/iocd.app.json +24 -0
  227. package/dist/templates/workspaces/apps/workspaces/package.json +29 -0
  228. package/dist/templates/workspaces/apps/workspaces/public/favicon.ico +0 -0
  229. package/dist/templates/workspaces/apps/workspaces/public/logo192.png +0 -0
  230. package/dist/templates/workspaces/apps/workspaces/public/logo512.png +0 -0
  231. package/dist/templates/workspaces/apps/workspaces/public/manifest.json +25 -0
  232. package/dist/templates/workspaces/apps/workspaces/public/robots.txt +3 -0
  233. package/dist/templates/workspaces/apps/workspaces/src/AddWindowButton.tsx +33 -0
  234. package/dist/templates/workspaces/apps/workspaces/src/AfterTabs.tsx +27 -0
  235. package/dist/templates/workspaces/apps/workspaces/src/App.css +38 -0
  236. package/dist/templates/workspaces/apps/workspaces/src/App.tsx +103 -0
  237. package/dist/templates/workspaces/apps/workspaces/src/GroupHeaderButtons.tsx +9 -0
  238. package/dist/templates/workspaces/apps/workspaces/src/index.css +4 -0
  239. package/dist/templates/workspaces/apps/workspaces/src/index.tsx +28 -0
  240. package/dist/templates/workspaces/apps/workspaces/src/logo.svg +7 -0
  241. package/dist/templates/workspaces/apps/workspaces/src/reportWebVitals.ts +15 -0
  242. package/dist/templates/workspaces/apps/workspaces/src/setupTests.ts +5 -0
  243. package/dist/templates/workspaces/apps/workspaces/src/useAddWindowButtonVisible.tsx +30 -0
  244. package/dist/templates/workspaces/apps/workspaces/tsconfig.json +26 -0
  245. package/dist/templates/workspaces/apps/workspaces/vite.config.ts +8 -0
  246. package/dist/templates/workspaces/template.json +12 -0
  247. package/dist/tools/rcedit-x64.exe +0 -0
  248. package/dist/utils/colors.d.ts +57 -0
  249. package/dist/utils/colors.d.ts.map +1 -0
  250. package/dist/utils/colors.js +151 -0
  251. package/dist/utils/colors.js.map +1 -0
  252. package/dist/utils/deep.merge.d.ts +5 -0
  253. package/dist/utils/deep.merge.d.ts.map +1 -0
  254. package/dist/utils/deep.merge.js +27 -0
  255. package/dist/utils/deep.merge.js.map +1 -0
  256. package/dist/utils/electron.builder.config.helper.d.ts +6 -0
  257. package/dist/utils/electron.builder.config.helper.d.ts.map +1 -0
  258. package/dist/utils/electron.builder.config.helper.js +25 -0
  259. package/dist/utils/electron.builder.config.helper.js.map +1 -0
  260. package/dist/utils/ensure.iocd.exists.d.ts +2 -0
  261. package/dist/utils/ensure.iocd.exists.d.ts.map +1 -0
  262. package/dist/utils/ensure.iocd.exists.js +27 -0
  263. package/dist/utils/ensure.iocd.exists.js.map +1 -0
  264. package/dist/utils/error.handler.d.ts +30 -0
  265. package/dist/utils/error.handler.d.ts.map +1 -0
  266. package/dist/utils/error.handler.js +104 -0
  267. package/dist/utils/error.handler.js.map +1 -0
  268. package/dist/utils/file.d.ts +10 -0
  269. package/dist/utils/file.d.ts.map +1 -0
  270. package/dist/utils/file.js +40 -0
  271. package/dist/utils/file.js.map +1 -0
  272. package/dist/utils/find.package.dir.d.ts +2 -0
  273. package/dist/utils/find.package.dir.d.ts.map +1 -0
  274. package/dist/utils/find.package.dir.js +23 -0
  275. package/dist/utils/find.package.dir.js.map +1 -0
  276. package/dist/utils/logger.d.ts +19 -0
  277. package/dist/utils/logger.d.ts.map +1 -0
  278. package/dist/utils/logger.js +184 -0
  279. package/dist/utils/logger.js.map +1 -0
  280. package/dist/utils/nextSteps.d.ts +2 -0
  281. package/dist/utils/nextSteps.d.ts.map +1 -0
  282. package/dist/utils/nextSteps.js +44 -0
  283. package/dist/utils/nextSteps.js.map +1 -0
  284. package/dist/utils/pacakge.json.helper.d.ts +9 -0
  285. package/dist/utils/pacakge.json.helper.d.ts.map +1 -0
  286. package/dist/utils/pacakge.json.helper.js +71 -0
  287. package/dist/utils/pacakge.json.helper.js.map +1 -0
  288. package/dist/utils/path.d.ts +19 -0
  289. package/dist/utils/path.d.ts.map +1 -0
  290. package/dist/utils/path.js +81 -0
  291. package/dist/utils/path.js.map +1 -0
  292. package/dist/utils/version.d.ts +2 -0
  293. package/dist/utils/version.d.ts.map +1 -0
  294. package/dist/utils/version.js +16 -0
  295. package/dist/utils/version.js.map +1 -0
  296. package/package.json +69 -0
  297. package/tools/rcedit-x64.exe +0 -0
@@ -0,0 +1,244 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.signAndNotarizeMacOS = signAndNotarizeMacOS;
7
+ exports.signBinary = signBinary;
8
+ const osx_sign_1 = require("@electron/osx-sign");
9
+ const notarize_1 = require("@electron/notarize");
10
+ const path_1 = require("path");
11
+ const path_2 = require("../../utils/path");
12
+ const fs_1 = require("fs");
13
+ const logger_1 = require("../../utils/logger");
14
+ const fs_extra_1 = __importDefault(require("fs-extra"));
15
+ const config_service_1 = require("../config/config.service");
16
+ const logger = logger_1.Logger.getInstance();
17
+ // Turn on all osx-sign logs
18
+ // import debug from "debug";
19
+ // debug.enable("electron-osx-sign*");
20
+ async function signAndNotarizeMacOS() {
21
+ const path = path_2.PathUtils.getIOCDAppBundlePath();
22
+ await signBinary(path);
23
+ await notarizeOnMacOS(path);
24
+ }
25
+ // readme - https://github.com/electron/osx-sign
26
+ async function signBinary(pathToSign) {
27
+ logger.info('Starting code signing process on macOS...');
28
+ const codeSignConfig = config_service_1.ConfigManager.config.mac.codeSign;
29
+ switch (codeSignConfig.type) {
30
+ case 'off':
31
+ logger.info('Code signing is disabled (type: off)');
32
+ return;
33
+ case 'keychain':
34
+ await signWithKeychain(pathToSign);
35
+ break;
36
+ case 'custom':
37
+ await signWithCustomScript(pathToSign);
38
+ break;
39
+ default:
40
+ throw new Error(`Unsupported code signing type: ${codeSignConfig.type}`);
41
+ }
42
+ logger.info('Code signing completed successfully!');
43
+ }
44
+ async function signWithKeychain(pathToSign) {
45
+ logger.debug('Signing with keychain...');
46
+ const codeSignConfig = config_service_1.ConfigManager.config.mac.codeSign;
47
+ logger.debug(`Removing _CodeSignature directory if it exists...`);
48
+ const codeSignaturePath = (0, path_1.join)(path_2.PathUtils.getIOCDDir(), '_CodeSignature');
49
+ if ((0, fs_1.existsSync)(codeSignaturePath)) {
50
+ fs_extra_1.default.removeSync(codeSignaturePath);
51
+ logger.debug(`Removed existing _CodeSignature directory`);
52
+ }
53
+ else {
54
+ logger.debug(`No existing _CodeSignature directory found`);
55
+ }
56
+ // things we don't need to sign
57
+ const IGNORE_EXT = [
58
+ ".png", ".jpg", ".jpeg", ".gif", ".icns", ".ico", ".svg",
59
+ ".ttf", ".otf", ".woff", ".woff2",
60
+ ".pak", ".bin", ".dat", ".json", ".plist", ".md", ".txt", ".rtf",
61
+ ".html", ".css", ".map",
62
+ ".mp3", ".mp4", ".wav", ".webm", ".mov", ".ttf",
63
+ ".asar", ".DS_Store" // do not sign app.asar
64
+ ];
65
+ // remove embedded.provisionprofile file if it is in the app bundle - it gets added by code-signing during dev builds
66
+ const embeddedProvisionProfilePath = (0, path_1.join)(path_2.PathUtils.getIOCDDir(), 'embedded.provisionprofile');
67
+ if ((0, fs_1.existsSync)(embeddedProvisionProfilePath)) {
68
+ logger.debug('Removing embedded.provisionprofile from app bundle...');
69
+ fs_extra_1.default.removeSync(embeddedProvisionProfilePath);
70
+ logger.debug('embedded.provisionprofile removed');
71
+ }
72
+ const configPath = path_2.PathUtils.getConfigDir();
73
+ const entitlementsPath = (0, path_1.join)(configPath, "mac-build", "entitlements.mac.plist");
74
+ if (!(0, fs_1.existsSync)(entitlementsPath)) {
75
+ logger.error(`Entitlements file not found at path: ${entitlementsPath}`);
76
+ throw new Error(`Entitlements file not found at path: ${entitlementsPath}`);
77
+ }
78
+ let config = {
79
+ app: pathToSign,
80
+ entitlements: entitlementsPath,
81
+ entitlementsInherit: entitlementsPath,
82
+ "entitlements-inherit": entitlementsPath,
83
+ "hardened-runtime": true,
84
+ hardenedRuntime: true,
85
+ preAutoEntitlements: false,
86
+ "pre-auto-entitlements": false,
87
+ gatekeeperAssess: false, // skip assessment during sign
88
+ "gatekeeper-assess": false,
89
+ force: true, // re-sign even if already signed
90
+ strictVerify: true,
91
+ "strict-verify": true,
92
+ }; // Add identity if specified
93
+ if (codeSignConfig.identity) {
94
+ config.identity = codeSignConfig.identity;
95
+ logger.debug(`Using code signing identity: ${codeSignConfig.identity}`);
96
+ } // Add keychain if specified
97
+ if (codeSignConfig.keychain) {
98
+ config.keychain = codeSignConfig.keychain;
99
+ logger.debug(`Using keychain: ${codeSignConfig.keychain}`);
100
+ }
101
+ config.ignore = (filePath) => {
102
+ // skip obvious non-executables by extension
103
+ const lower = filePath.toLowerCase();
104
+ if (IGNORE_EXT.some(ext => lower.endsWith(ext)))
105
+ return true;
106
+ // never sign signature metadata
107
+ if (lower.includes("/contents/_codesignature/"))
108
+ return true;
109
+ if (lower.endsWith("/contents/coderesources"))
110
+ return true;
111
+ // otherwise let it sign
112
+ logger.debug(`Signing file: ${filePath}`);
113
+ return false;
114
+ };
115
+ config.optionsForFile = () => {
116
+ return config;
117
+ };
118
+ const provisionProfilePath = (0, path_1.join)(process.cwd(), 'config', 'mac-build', 'io.cd.provisionprofile');
119
+ logger.debug('Checking for provisioning profile at:', provisionProfilePath);
120
+ if ((0, fs_1.existsSync)(provisionProfilePath)) {
121
+ logger.debug('Using provisioning profile:', provisionProfilePath);
122
+ config.provisioningProfile = provisionProfilePath;
123
+ }
124
+ else {
125
+ logger.debug('No provisioning profile found at:', provisionProfilePath);
126
+ }
127
+ logger.debug(`Signing with config`, config);
128
+ await (0, osx_sign_1.sign)(config);
129
+ }
130
+ async function signWithCustomScript(pathToSign) {
131
+ logger.debug('Signing with custom script...');
132
+ const codeSignConfig = config_service_1.ConfigManager.config.mac.codeSign;
133
+ if (!codeSignConfig.customCodeSignScriptPath) {
134
+ throw new Error('Custom code signing requires customCodeSignScriptPath to be configured');
135
+ }
136
+ if (!(0, fs_1.existsSync)(codeSignConfig.customCodeSignScriptPath)) {
137
+ throw new Error(`Custom code signing script not found: ${codeSignConfig.customCodeSignScriptPath}`);
138
+ }
139
+ try {
140
+ logger.debug(`Loading custom code signing script: ${codeSignConfig.customCodeSignScriptPath}`);
141
+ // Clear require cache to ensure fresh script load
142
+ const scriptPath = (0, path_1.resolve)(codeSignConfig.customCodeSignScriptPath);
143
+ delete require.cache[scriptPath];
144
+ const customScript = require(scriptPath);
145
+ let signFunction;
146
+ // Support multiple export formats
147
+ if (typeof customScript === 'function') {
148
+ signFunction = customScript;
149
+ }
150
+ else if (typeof customScript.default === 'function') {
151
+ signFunction = customScript.default;
152
+ }
153
+ else if (typeof customScript.sign === 'function') {
154
+ signFunction = customScript.sign;
155
+ }
156
+ else {
157
+ throw new Error('Custom code signing script must export a function (either as default export, named "sign" export, or direct export)');
158
+ }
159
+ // Execute the signing function with the app bundle path and full config
160
+ await signFunction(pathToSign, codeSignConfig);
161
+ logger.debug('Custom code signing script executed successfully');
162
+ }
163
+ catch (error) {
164
+ if (error instanceof Error) {
165
+ throw new Error(`Custom code signing script failed: ${error.message}`);
166
+ }
167
+ else {
168
+ throw new Error(`Custom code signing script failed: ${String(error)}`);
169
+ }
170
+ }
171
+ }
172
+ // readme - https://github.com/electron/notarize
173
+ async function notarizeOnMacOS(pathToNotarize) {
174
+ logger.info('Starting notarization process on macOS...');
175
+ const notarizationConfig = config_service_1.ConfigManager.config.mac.notarization;
176
+ switch (notarizationConfig.type) {
177
+ case 'off':
178
+ logger.info('Notarization is disabled (type: off)');
179
+ return;
180
+ case 'notarytool':
181
+ await notarizeWithNotarytool(pathToNotarize);
182
+ break;
183
+ case 'custom':
184
+ await notarizeWithCustomScript(pathToNotarize);
185
+ break;
186
+ default:
187
+ throw new Error(`Unsupported notarization type: ${notarizationConfig.type}`);
188
+ }
189
+ logger.info('Notarization completed successfully!');
190
+ }
191
+ async function notarizeWithNotarytool(pathToNotarize) {
192
+ logger.debug('Notarizing with notarytool...');
193
+ const notarizationConfig = config_service_1.ConfigManager.config.mac.notarization;
194
+ let config = {
195
+ appPath: pathToNotarize,
196
+ appleId: notarizationConfig.appleId ?? "",
197
+ appleIdPassword: notarizationConfig.appleIdPassword ?? "",
198
+ teamId: notarizationConfig.appleTeamId ?? "",
199
+ };
200
+ await (0, notarize_1.notarize)(config);
201
+ }
202
+ async function notarizeWithCustomScript(pathToNotarize) {
203
+ logger.debug('Notarizing with custom script...');
204
+ const notarizationConfig = config_service_1.ConfigManager.config.mac.notarization;
205
+ if (!notarizationConfig.customNotarizationScriptPath) {
206
+ throw new Error('Custom notarization requires customNotarizationScriptPath to be configured');
207
+ }
208
+ if (!(0, fs_1.existsSync)(notarizationConfig.customNotarizationScriptPath)) {
209
+ throw new Error(`Custom notarization script not found: ${notarizationConfig.customNotarizationScriptPath}`);
210
+ }
211
+ try {
212
+ logger.debug(`Loading custom notarization script: ${notarizationConfig.customNotarizationScriptPath}`);
213
+ // Clear require cache to ensure fresh script load
214
+ const scriptPath = (0, path_1.resolve)(notarizationConfig.customNotarizationScriptPath);
215
+ delete require.cache[scriptPath];
216
+ const customScript = require(scriptPath);
217
+ let notarizeFunction;
218
+ // Support multiple export formats
219
+ if (typeof customScript === 'function') {
220
+ notarizeFunction = customScript;
221
+ }
222
+ else if (typeof customScript.default === 'function') {
223
+ notarizeFunction = customScript.default;
224
+ }
225
+ else if (typeof customScript.notarize === 'function') {
226
+ notarizeFunction = customScript.notarize;
227
+ }
228
+ else {
229
+ throw new Error('Custom notarization script must export a function (either as default export, named "notarize" export, or direct export)');
230
+ }
231
+ // Execute the notarization function with the app bundle path and full config
232
+ await notarizeFunction(pathToNotarize, notarizationConfig);
233
+ logger.debug('Custom notarization script executed successfully');
234
+ }
235
+ catch (error) {
236
+ if (error instanceof Error) {
237
+ throw new Error(`Custom notarization script failed: ${error.message}`);
238
+ }
239
+ else {
240
+ throw new Error(`Custom notarization script failed: ${String(error)}`);
241
+ }
242
+ }
243
+ }
244
+ //# sourceMappingURL=macOS.helper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"macOS.helper.js","sourceRoot":"","sources":["../../../src/services/installer/macOS.helper.ts"],"names":[],"mappings":";;;;;AAcA,oDAKC;AAGD,gCAoBC;AA1CD,iDAA0C;AAC1C,iDAA+D;AAC/D,+BAAqC;AACrC,2CAA6C;AAC7C,2BAAgC;AAChC,+CAA4C;AAC5C,wDAA0B;AAC1B,6DAAyD;AAEzD,MAAM,MAAM,GAAG,eAAM,CAAC,WAAW,EAAE,CAAC;AACpC,4BAA4B;AAC5B,6BAA6B;AAC7B,sCAAsC;AAE/B,KAAK,UAAU,oBAAoB;IACtC,MAAM,IAAI,GAAG,gBAAS,CAAC,oBAAoB,EAAE,CAAC;IAC9C,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;IAEvB,MAAM,eAAe,CAAC,IAAI,CAAC,CAAC;AAChC,CAAC;AAED,gDAAgD;AACzC,KAAK,UAAU,UAAU,CAAC,UAAkB;IAC/C,MAAM,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;IAEzD,MAAM,cAAc,GAAG,8BAAa,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAEzD,QAAQ,cAAc,CAAC,IAAI,EAAE,CAAC;QAC1B,KAAK,KAAK;YACN,MAAM,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;YACpD,OAAO;QACX,KAAK,UAAU;YACX,MAAM,gBAAgB,CAAC,UAAU,CAAC,CAAC;YACnC,MAAM;QACV,KAAK,QAAQ;YACT,MAAM,oBAAoB,CAAC,UAAU,CAAC,CAAC;YACvC,MAAM;QACV;YACI,MAAM,IAAI,KAAK,CAAC,kCAAkC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC;IACjF,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;AACxD,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAC,UAAkB;IAC9C,MAAM,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAEzC,MAAM,cAAc,GAAG,8BAAa,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAEzD,MAAM,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAC;IAClE,MAAM,iBAAiB,GAAG,IAAA,WAAI,EAAC,gBAAS,CAAC,UAAU,EAAE,EAAE,gBAAgB,CAAC,CAAC;IACzE,IAAI,IAAA,eAAU,EAAC,iBAAiB,CAAC,EAAE,CAAC;QAChC,kBAAE,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;QACjC,MAAM,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;IAC9D,CAAC;SAAM,CAAC;QACJ,MAAM,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAC;IAC/D,CAAC;IAED,+BAA+B;IAC/B,MAAM,UAAU,GAAG;QACf,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM;QACxD,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ;QACjC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM;QAChE,OAAO,EAAE,MAAM,EAAE,MAAM;QACvB,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM;QAC/C,OAAO,EAAE,WAAW,CAAC,uBAAuB;KAC/C,CAAC;IAEF,qHAAqH;IACrH,MAAM,4BAA4B,GAAG,IAAA,WAAI,EAAC,gBAAS,CAAC,UAAU,EAAE,EAAE,2BAA2B,CAAC,CAAC;IAC/F,IAAI,IAAA,eAAU,EAAC,4BAA4B,CAAC,EAAE,CAAC;QAC3C,MAAM,CAAC,KAAK,CAAC,uDAAuD,CAAC,CAAC;QACtE,kBAAE,CAAC,UAAU,CAAC,4BAA4B,CAAC,CAAC;QAC5C,MAAM,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;IACtD,CAAC;IAED,MAAM,UAAU,GAAG,gBAAS,CAAC,YAAY,EAAE,CAAC;IAC5C,MAAM,gBAAgB,GAAG,IAAA,WAAI,EAAC,UAAU,EAAE,WAAW,EAAE,wBAAwB,CAAC,CAAC;IACjF,IAAI,CAAC,IAAA,eAAU,EAAC,gBAAgB,CAAC,EAAE,CAAC;QAChC,MAAM,CAAC,KAAK,CAAC,wCAAwC,gBAAgB,EAAE,CAAC,CAAC;QACzE,MAAM,IAAI,KAAK,CAAC,wCAAwC,gBAAgB,EAAE,CAAC,CAAC;IAChF,CAAC;IAED,IAAI,MAAM,GAAQ;QACd,GAAG,EAAE,UAAU;QAEf,YAAY,EAAE,gBAAgB;QAE9B,mBAAmB,EAAE,gBAAgB;QACrC,sBAAsB,EAAE,gBAAgB;QAExC,kBAAkB,EAAE,IAAI;QACxB,eAAe,EAAE,IAAI;QAErB,mBAAmB,EAAE,KAAK;QAC1B,uBAAuB,EAAE,KAAK;QAE9B,gBAAgB,EAAE,KAAK,EAA0B,8BAA8B;QAC/E,mBAAmB,EAAE,KAAK;QAE1B,KAAK,EAAE,IAAI,EAAsC,iCAAiC;QAElF,YAAY,EAAE,IAAI;QAClB,eAAe,EAAE,IAAI;KACxB,CAAC,CAAI,4BAA4B;IAClC,IAAI,cAAc,CAAC,QAAQ,EAAE,CAAC;QAC1B,MAAM,CAAC,QAAQ,GAAG,cAAc,CAAC,QAAQ,CAAC;QAC1C,MAAM,CAAC,KAAK,CAAC,gCAAgC,cAAc,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC5E,CAAC,CAAI,4BAA4B;IACjC,IAAI,cAAc,CAAC,QAAQ,EAAE,CAAC;QAC1B,MAAM,CAAC,QAAQ,GAAG,cAAc,CAAC,QAAQ,CAAC;QAC1C,MAAM,CAAC,KAAK,CAAC,mBAAmB,cAAc,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC/D,CAAC;IAED,MAAM,CAAC,MAAM,GAAG,CAAC,QAAgB,EAAE,EAAE;QACjC,4CAA4C;QAC5C,MAAM,KAAK,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;QACrC,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;QAE7D,gCAAgC;QAChC,IAAI,KAAK,CAAC,QAAQ,CAAC,2BAA2B,CAAC;YAAE,OAAO,IAAI,CAAC;QAC7D,IAAI,KAAK,CAAC,QAAQ,CAAC,yBAAyB,CAAC;YAAE,OAAO,IAAI,CAAC;QAE3D,wBAAwB;QACxB,MAAM,CAAC,KAAK,CAAC,iBAAiB,QAAQ,EAAE,CAAC,CAAC;QAC1C,OAAO,KAAK,CAAC;IACjB,CAAC,CAAA;IAED,MAAM,CAAC,cAAc,GAAG,GAAG,EAAE;QACzB,OAAO,MAAM,CAAC;IAClB,CAAC,CAAA;IAED,MAAM,oBAAoB,GAAG,IAAA,WAAI,EAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,wBAAwB,CAAC,CAAC;IAClG,MAAM,CAAC,KAAK,CAAC,uCAAuC,EAAE,oBAAoB,CAAC,CAAC;IAC5E,IAAI,IAAA,eAAU,EAAC,oBAAoB,CAAC,EAAE,CAAC;QACnC,MAAM,CAAC,KAAK,CAAC,6BAA6B,EAAE,oBAAoB,CAAC,CAAC;QAClE,MAAM,CAAC,mBAAmB,GAAG,oBAAoB,CAAC;IACtD,CAAC;SAAM,CAAC;QACJ,MAAM,CAAC,KAAK,CAAC,mCAAmC,EAAE,oBAAoB,CAAC,CAAC;IAC5E,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;IAC5C,MAAM,IAAA,eAAI,EAAC,MAAM,CAAC,CAAC;AACvB,CAAC;AAED,KAAK,UAAU,oBAAoB,CAAC,UAAkB;IAClD,MAAM,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;IAE9C,MAAM,cAAc,GAAG,8BAAa,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAEzD,IAAI,CAAC,cAAc,CAAC,wBAAwB,EAAE,CAAC;QAC3C,MAAM,IAAI,KAAK,CAAC,wEAAwE,CAAC,CAAC;IAC9F,CAAC;IAED,IAAI,CAAC,IAAA,eAAU,EAAC,cAAc,CAAC,wBAAwB,CAAC,EAAE,CAAC;QACvD,MAAM,IAAI,KAAK,CAAC,yCAAyC,cAAc,CAAC,wBAAwB,EAAE,CAAC,CAAC;IACxG,CAAC;IAED,IAAI,CAAC;QACD,MAAM,CAAC,KAAK,CAAC,uCAAuC,cAAc,CAAC,wBAAwB,EAAE,CAAC,CAAC;QAC7F,kDAAkD;QACpD,MAAM,UAAU,GAAG,IAAA,cAAO,EAAC,cAAc,CAAC,wBAAwB,CAAC,CAAC;QACpE,OAAO,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAEjC,MAAM,YAAY,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;QAEzC,IAAI,YAAsB,CAAC;QAE3B,kCAAkC;QAClC,IAAI,OAAO,YAAY,KAAK,UAAU,EAAE,CAAC;YACrC,YAAY,GAAG,YAAY,CAAC;QAChC,CAAC;aAAM,IAAI,OAAO,YAAY,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;YACpD,YAAY,GAAG,YAAY,CAAC,OAAO,CAAC;QACxC,CAAC;aAAM,IAAI,OAAO,YAAY,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YACjD,YAAY,GAAG,YAAY,CAAC,IAAI,CAAC;QACrC,CAAC;aAAM,CAAC;YACJ,MAAM,IAAI,KAAK,CAAC,qHAAqH,CAAC,CAAC;QAC3I,CAAC;QAED,wEAAwE;QACxE,MAAM,YAAY,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;QAE/C,MAAM,CAAC,KAAK,CAAC,kDAAkD,CAAC,CAAC;IAErE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,sCAAsC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAC3E,CAAC;aAAM,CAAC;YACJ,MAAM,IAAI,KAAK,CAAC,sCAAsC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC3E,CAAC;IACL,CAAC;AACL,CAAC;AAED,gDAAgD;AAChD,KAAK,UAAU,eAAe,CAAC,cAAsB;IACjD,MAAM,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;IAEzD,MAAM,kBAAkB,GAAG,8BAAa,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC;IAEjE,QAAQ,kBAAkB,CAAC,IAAI,EAAE,CAAC;QAC9B,KAAK,KAAK;YACN,MAAM,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;YACpD,OAAO;QACX,KAAK,YAAY;YACb,MAAM,sBAAsB,CAAC,cAAc,CAAC,CAAC;YAC7C,MAAM;QACV,KAAK,QAAQ;YACT,MAAM,wBAAwB,CAAC,cAAc,CAAC,CAAC;YAC/C,MAAM;QACV;YACI,MAAM,IAAI,KAAK,CAAC,kCAAkC,kBAAkB,CAAC,IAAI,EAAE,CAAC,CAAC;IACrF,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;AACxD,CAAC;AAED,KAAK,UAAU,sBAAsB,CAAC,cAAsB;IACxD,MAAM,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;IAE9C,MAAM,kBAAkB,GAAG,8BAAa,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC;IAEjE,IAAI,MAAM,GAAoB;QAC1B,OAAO,EAAE,cAAc;QACvB,OAAO,EAAE,kBAAkB,CAAC,OAAO,IAAI,EAAE;QACzC,eAAe,EAAE,kBAAkB,CAAC,eAAe,IAAI,EAAE;QACzD,MAAM,EAAE,kBAAkB,CAAC,WAAW,IAAI,EAAE;KAC/C,CAAC;IAEF,MAAM,IAAA,mBAAQ,EAAC,MAAM,CAAC,CAAC;AAC3B,CAAC;AAED,KAAK,UAAU,wBAAwB,CAAC,cAAsB;IAC1D,MAAM,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;IAEjD,MAAM,kBAAkB,GAAG,8BAAa,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC;IAEjE,IAAI,CAAC,kBAAkB,CAAC,4BAA4B,EAAE,CAAC;QACnD,MAAM,IAAI,KAAK,CAAC,4EAA4E,CAAC,CAAC;IAClG,CAAC;IAED,IAAI,CAAC,IAAA,eAAU,EAAC,kBAAkB,CAAC,4BAA4B,CAAC,EAAE,CAAC;QAC/D,MAAM,IAAI,KAAK,CAAC,yCAAyC,kBAAkB,CAAC,4BAA4B,EAAE,CAAC,CAAC;IAChH,CAAC;IAED,IAAI,CAAC;QACD,MAAM,CAAC,KAAK,CAAC,uCAAuC,kBAAkB,CAAC,4BAA4B,EAAE,CAAC,CAAC;QACrG,kDAAkD;QACpD,MAAM,UAAU,GAAG,IAAA,cAAO,EAAC,kBAAkB,CAAC,4BAA4B,CAAC,CAAC;QAC5E,OAAO,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAEjC,MAAM,YAAY,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;QAEzC,IAAI,gBAA0B,CAAC;QAE/B,kCAAkC;QAClC,IAAI,OAAO,YAAY,KAAK,UAAU,EAAE,CAAC;YACrC,gBAAgB,GAAG,YAAY,CAAC;QACpC,CAAC;aAAM,IAAI,OAAO,YAAY,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;YACpD,gBAAgB,GAAG,YAAY,CAAC,OAAO,CAAC;QAC5C,CAAC;aAAM,IAAI,OAAO,YAAY,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;YACrD,gBAAgB,GAAG,YAAY,CAAC,QAAQ,CAAC;QAC7C,CAAC;aAAM,CAAC;YACJ,MAAM,IAAI,KAAK,CAAC,yHAAyH,CAAC,CAAC;QAC/I,CAAC;QAED,6EAA6E;QAC7E,MAAM,gBAAgB,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;QAE3D,MAAM,CAAC,KAAK,CAAC,kDAAkD,CAAC,CAAC;IAErE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,sCAAsC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAC3E,CAAC;aAAM,CAAC;YACJ,MAAM,IAAI,KAAK,CAAC,sCAAsC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC3E,CAAC;IACL,CAAC;AACL,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function validatePrerequisites(packageNames: string[]): Promise<void>;
2
+ //# sourceMappingURL=prerequisites.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prerequisites.d.ts","sourceRoot":"","sources":["../../../src/services/installer/prerequisites.ts"],"names":[],"mappings":"AAOA,wBAAsB,qBAAqB,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAiCjF"}
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.validatePrerequisites = validatePrerequisites;
7
+ const logger_1 = require("../../utils/logger");
8
+ const license_service_1 = __importDefault(require("../license.service"));
9
+ const pacakge_json_helper_1 = require("../../utils/pacakge.json.helper");
10
+ const ensure_iocd_exists_1 = require("../../utils/ensure.iocd.exists");
11
+ const logger = logger_1.Logger.getInstance();
12
+ async function validatePrerequisites(packageNames) {
13
+ // Check if the required package is available
14
+ logger.info('Validating prerequisites...');
15
+ for (const packageName of packageNames) {
16
+ logger.debug(`Checking required package: ${packageName}`);
17
+ try {
18
+ await import(packageName);
19
+ logger.debug(`${packageName} found`);
20
+ // Check if it's properly installed as devDependency
21
+ await validatePackageInstallation(packageName);
22
+ }
23
+ catch (error) {
24
+ throw new Error(`${packageName} is required but not found. Please install it as a dev dependency:\n` +
25
+ `npm install --save-dev ${packageName}\n` +
26
+ 'or\n' +
27
+ `yarn add --dev ${packageName}\n\n` +
28
+ `Note: ${packageName} should be installed as devDependency to avoid being bundled in the final package.`);
29
+ }
30
+ }
31
+ (0, ensure_iocd_exists_1.ensureIOCDComponentExists)();
32
+ // Validate license
33
+ const hasValidLicense = await license_service_1.default.hasValidLicense();
34
+ if (!hasValidLicense) {
35
+ throw new Error('Valid license required for packaging');
36
+ }
37
+ logger.info('Prerequisites validated successfully!');
38
+ }
39
+ async function validatePackageInstallation(packageName) {
40
+ try {
41
+ // Read the current package.json to check dependency installation
42
+ const packageJson = await pacakge_json_helper_1.PackageJSONHelper.getPackageJson();
43
+ // Check if package is in dependencies (bad for build tools)
44
+ if (packageJson.dependencies && packageJson.dependencies[packageName]) {
45
+ logger.warn(`${packageName} is installed as a regular dependency. ` +
46
+ 'It should be installed as devDependency to avoid being bundled in the final package.\n' +
47
+ 'Please move it to devDependencies:\n' +
48
+ `1. Remove: npm uninstall ${packageName}\n` +
49
+ `2. Reinstall: npm install --save-dev ${packageName}`);
50
+ }
51
+ // Check if package is in devDependencies (good) or peerDependencies (also acceptable)
52
+ const hasInDevDeps = packageJson.devDependencies && packageJson.devDependencies[packageName];
53
+ const hasInPeerDeps = packageJson.peerDependencies && packageJson.peerDependencies[packageName];
54
+ if (hasInDevDeps) {
55
+ logger.debug(`${packageName} correctly installed as devDependency`);
56
+ }
57
+ else if (hasInPeerDeps) {
58
+ logger.debug(`${packageName} specified as peerDependency (user must install separately)`);
59
+ }
60
+ else {
61
+ // Package is available (import worked) but not in package.json
62
+ // This could happen if it's installed globally or in a parent node_modules
63
+ logger.warn(`${packageName} is available but not found in package.json dependencies. ` +
64
+ 'For best practices, install it as devDependency:\n' +
65
+ `npm install --save-dev ${packageName}`);
66
+ }
67
+ }
68
+ catch (error) {
69
+ // If we can't read package.json, just log a debug message
70
+ logger.debug(`Could not validate ${packageName} installation: ${error instanceof Error ? error.message : String(error)}`);
71
+ }
72
+ }
73
+ //# sourceMappingURL=prerequisites.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prerequisites.js","sourceRoot":"","sources":["../../../src/services/installer/prerequisites.ts"],"names":[],"mappings":";;;;;AAOA,sDAiCC;AAxCD,+CAA4C;AAC5C,yEAAgD;AAChD,yEAAoE;AACpE,uEAA2E;AAE3E,MAAM,MAAM,GAAG,eAAM,CAAC,WAAW,EAAE,CAAC;AAE7B,KAAK,UAAU,qBAAqB,CAAC,YAAsB;IAChE,6CAA6C;IAC7C,MAAM,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;IAG3C,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;QACvC,MAAM,CAAC,KAAK,CAAC,8BAA8B,WAAW,EAAE,CAAC,CAAC;QAC1D,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC;YAC1B,MAAM,CAAC,KAAK,CAAC,GAAG,WAAW,QAAQ,CAAC,CAAC;YAErC,oDAAoD;YACpD,MAAM,2BAA2B,CAAC,WAAW,CAAC,CAAC;QACjD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CACb,GAAG,WAAW,sEAAsE;gBACpF,0BAA0B,WAAW,IAAI;gBACzC,MAAM;gBACN,kBAAkB,WAAW,MAAM;gBACnC,SAAS,WAAW,oFAAoF,CACzG,CAAC;QACJ,CAAC;IACH,CAAC;IAED,IAAA,8CAAyB,GAAE,CAAC;IAE5B,mBAAmB;IACnB,MAAM,eAAe,GAAG,MAAM,yBAAc,CAAC,eAAe,EAAE,CAAC;IAC/D,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;IAC1D,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;AACvD,CAAC;AAED,KAAK,UAAU,2BAA2B,CAAC,WAAmB;IAC5D,IAAI,CAAC;QACH,iEAAiE;QACjE,MAAM,WAAW,GAAG,MAAM,uCAAiB,CAAC,cAAc,EAAE,CAAC;QAE7D,4DAA4D;QAC5D,IAAI,WAAW,CAAC,YAAY,IAAI,WAAW,CAAC,YAAY,CAAC,WAAW,CAAC,EAAE,CAAC;YACtE,MAAM,CAAC,IAAI,CACT,GAAG,WAAW,yCAAyC;gBACvD,wFAAwF;gBACxF,sCAAsC;gBACtC,4BAA4B,WAAW,IAAI;gBAC3C,wCAAwC,WAAW,EAAE,CACtD,CAAC;QACJ,CAAC;QAED,sFAAsF;QACtF,MAAM,YAAY,GAAG,WAAW,CAAC,eAAe,IAAI,WAAW,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;QAC7F,MAAM,aAAa,GAAG,WAAW,CAAC,gBAAgB,IAAI,WAAW,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;QAEhG,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,CAAC,KAAK,CAAC,GAAG,WAAW,uCAAuC,CAAC,CAAC;QACtE,CAAC;aAAM,IAAI,aAAa,EAAE,CAAC;YACzB,MAAM,CAAC,KAAK,CAAC,GAAG,WAAW,6DAA6D,CAAC,CAAC;QAC5F,CAAC;aAAM,CAAC;YACN,+DAA+D;YAC/D,2EAA2E;YAC3E,MAAM,CAAC,IAAI,CACT,GAAG,WAAW,4DAA4D;gBAC1E,oDAAoD;gBACpD,0BAA0B,WAAW,EAAE,CACxC,CAAC;QACJ,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,0DAA0D;QAC1D,MAAM,CAAC,KAAK,CAAC,sBAAsB,WAAW,kBAAkB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC5H,CAAC;AACH,CAAC"}
@@ -0,0 +1,10 @@
1
+ export declare function signBinary(binaryPath: string): Promise<void>;
2
+ export declare function signIOCDBinaries(): Promise<void>;
3
+ export declare function signWithSmctl(exePath: string): Promise<void>;
4
+ export declare function detectSigningCapabilities(): Promise<{
5
+ hasSigntool: boolean;
6
+ hasSmctl: boolean;
7
+ sdkPath?: string | undefined;
8
+ recommendations: string[];
9
+ }>;
10
+ //# sourceMappingURL=windows.helper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"windows.helper.d.ts","sourceRoot":"","sources":["../../../src/services/installer/windows.helper.ts"],"names":[],"mappings":"AAUA,wBAAsB,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAuBlE;AAED,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,CAiCtD;AA8KD,wBAAsB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA4ClE;AAED,wBAAsB,yBAAyB,IAAI,OAAO,CAAC;IACvD,WAAW,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,eAAe,EAAE,MAAM,EAAE,CAAC;CAC7B,CAAC,CAgDD"}