@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.
- package/README.md +40 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +96 -0
- package/dist/cli.js.map +1 -0
- package/dist/commands/apps.command.d.ts +3 -0
- package/dist/commands/apps.command.d.ts.map +1 -0
- package/dist/commands/apps.command.js +110 -0
- package/dist/commands/apps.command.js.map +1 -0
- package/dist/commands/components.command.d.ts +3 -0
- package/dist/commands/components.command.d.ts.map +1 -0
- package/dist/commands/components.command.js +116 -0
- package/dist/commands/components.command.js.map +1 -0
- package/dist/commands/create.command.d.ts +3 -0
- package/dist/commands/create.command.d.ts.map +1 -0
- package/dist/commands/create.command.js +19 -0
- package/dist/commands/create.command.js.map +1 -0
- package/dist/commands/dev.command.d.ts +4 -0
- package/dist/commands/dev.command.d.ts.map +1 -0
- package/dist/commands/dev.command.js +25 -0
- package/dist/commands/dev.command.js.map +1 -0
- package/dist/commands/installer.command.d.ts +3 -0
- package/dist/commands/installer.command.d.ts.map +1 -0
- package/dist/commands/installer.command.js +19 -0
- package/dist/commands/installer.command.js.map +1 -0
- package/dist/commands/license.command.d.ts +3 -0
- package/dist/commands/license.command.d.ts.map +1 -0
- package/dist/commands/license.command.js +23 -0
- package/dist/commands/license.command.js.map +1 -0
- package/dist/commands/modifications.command.d.ts +3 -0
- package/dist/commands/modifications.command.d.ts.map +1 -0
- package/dist/commands/modifications.command.js +28 -0
- package/dist/commands/modifications.command.js.map +1 -0
- package/dist/commands/setup.command.d.ts +4 -0
- package/dist/commands/setup.command.d.ts.map +1 -0
- package/dist/commands/setup.command.js +34 -0
- package/dist/commands/setup.command.js.map +1 -0
- package/dist/services/app-builder.service.d.ts +2 -0
- package/dist/services/app-builder.service.d.ts.map +1 -0
- package/dist/services/app-builder.service.js +3 -0
- package/dist/services/app-builder.service.js.map +1 -0
- package/dist/services/app.service.d.ts +74 -0
- package/dist/services/app.service.d.ts.map +1 -0
- package/dist/services/app.service.js +328 -0
- package/dist/services/app.service.js.map +1 -0
- package/dist/services/components/component.config.d.ts +11 -0
- package/dist/services/components/component.config.d.ts.map +1 -0
- package/dist/services/components/component.config.js +101 -0
- package/dist/services/components/component.config.js.map +1 -0
- package/dist/services/components/component.d.ts +12 -0
- package/dist/services/components/component.d.ts.map +1 -0
- package/dist/services/components/component.js +3 -0
- package/dist/services/components/component.js.map +1 -0
- package/dist/services/components/components.registry.d.ts +40 -0
- package/dist/services/components/components.registry.d.ts.map +1 -0
- package/dist/services/components/components.registry.js +72 -0
- package/dist/services/components/components.registry.js.map +1 -0
- package/dist/services/components/components.service.d.ts +20 -0
- package/dist/services/components/components.service.d.ts.map +1 -0
- package/dist/services/components/components.service.js +171 -0
- package/dist/services/components/components.service.js.map +1 -0
- package/dist/services/components/file.helper.d.ts +12 -0
- package/dist/services/components/file.helper.d.ts.map +1 -0
- package/dist/services/components/file.helper.js +124 -0
- package/dist/services/components/file.helper.js.map +1 -0
- package/dist/services/components/platform.utils.d.ts +72 -0
- package/dist/services/components/platform.utils.d.ts.map +1 -0
- package/dist/services/components/platform.utils.js +156 -0
- package/dist/services/components/platform.utils.js.map +1 -0
- package/dist/services/components/stores/github.store.d.ts +35 -0
- package/dist/services/components/stores/github.store.d.ts.map +1 -0
- package/dist/services/components/stores/github.store.js +157 -0
- package/dist/services/components/stores/github.store.js.map +1 -0
- package/dist/services/components/stores/local.store.d.ts +69 -0
- package/dist/services/components/stores/local.store.d.ts.map +1 -0
- package/dist/services/components/stores/local.store.js +300 -0
- package/dist/services/components/stores/local.store.js.map +1 -0
- package/dist/services/components/stores/s3.store.d.ts +98 -0
- package/dist/services/components/stores/s3.store.d.ts.map +1 -0
- package/dist/services/components/stores/s3.store.js +368 -0
- package/dist/services/components/stores/s3.store.js.map +1 -0
- package/dist/services/components/stores/store.d.ts +11 -0
- package/dist/services/components/stores/store.d.ts.map +1 -0
- package/dist/services/components/stores/store.js +3 -0
- package/dist/services/components/stores/store.js.map +1 -0
- package/dist/services/config/cli.config.d.ts +57 -0
- package/dist/services/config/cli.config.d.ts.map +1 -0
- package/dist/services/config/cli.config.js +3 -0
- package/dist/services/config/cli.config.js.map +1 -0
- package/dist/services/config/config.service.d.ts +14 -0
- package/dist/services/config/config.service.d.ts.map +1 -0
- package/dist/services/config/config.service.js +170 -0
- package/dist/services/config/config.service.js.map +1 -0
- package/dist/services/create.service.d.ts +58 -0
- package/dist/services/create.service.d.ts.map +1 -0
- package/dist/services/create.service.js +318 -0
- package/dist/services/create.service.js.map +1 -0
- package/dist/services/dev.service.d.ts +2 -0
- package/dist/services/dev.service.d.ts.map +1 -0
- package/dist/services/dev.service.js +78 -0
- package/dist/services/dev.service.js.map +1 -0
- package/dist/services/installer/electronBuilder.d.ts +2 -0
- package/dist/services/installer/electronBuilder.d.ts.map +1 -0
- package/dist/services/installer/electronBuilder.js +3 -0
- package/dist/services/installer/electronBuilder.js.map +1 -0
- package/dist/services/installer/electronForge.d.ts +2 -0
- package/dist/services/installer/electronForge.d.ts.map +1 -0
- package/dist/services/installer/electronForge.js +248 -0
- package/dist/services/installer/electronForge.js.map +1 -0
- package/dist/services/installer/installer.service.d.ts +5 -0
- package/dist/services/installer/installer.service.d.ts.map +1 -0
- package/dist/services/installer/installer.service.js +101 -0
- package/dist/services/installer/installer.service.js.map +1 -0
- package/dist/services/installer/macOS.helper.d.ts +3 -0
- package/dist/services/installer/macOS.helper.d.ts.map +1 -0
- package/dist/services/installer/macOS.helper.js +244 -0
- package/dist/services/installer/macOS.helper.js.map +1 -0
- package/dist/services/installer/prerequisites.d.ts +2 -0
- package/dist/services/installer/prerequisites.d.ts.map +1 -0
- package/dist/services/installer/prerequisites.js +73 -0
- package/dist/services/installer/prerequisites.js.map +1 -0
- package/dist/services/installer/windows.helper.d.ts +10 -0
- package/dist/services/installer/windows.helper.d.ts.map +1 -0
- package/dist/services/installer/windows.helper.js +394 -0
- package/dist/services/installer/windows.helper.js.map +1 -0
- package/dist/services/license.service.d.ts +7 -0
- package/dist/services/license.service.d.ts.map +1 -0
- package/dist/services/license.service.js +14 -0
- package/dist/services/license.service.js.map +1 -0
- package/dist/services/modifications/macOS.helper.d.ts +13 -0
- package/dist/services/modifications/macOS.helper.d.ts.map +1 -0
- package/dist/services/modifications/macOS.helper.js +274 -0
- package/dist/services/modifications/macOS.helper.js.map +1 -0
- package/dist/services/modifications/modifications.service.d.ts +2 -0
- package/dist/services/modifications/modifications.service.d.ts.map +1 -0
- package/dist/services/modifications/modifications.service.js +376 -0
- package/dist/services/modifications/modifications.service.js.map +1 -0
- package/dist/services/modifications/windows.helper.d.ts +2 -0
- package/dist/services/modifications/windows.helper.d.ts.map +1 -0
- package/dist/services/modifications/windows.helper.js +83 -0
- package/dist/services/modifications/windows.helper.js.map +1 -0
- package/dist/services/template.service.d.ts +116 -0
- package/dist/services/template.service.d.ts.map +1 -0
- package/dist/services/template.service.js +354 -0
- package/dist/services/template.service.js.map +1 -0
- package/dist/templates/auto-tests/README.md +31 -0
- package/dist/templates/auto-tests/playwright.config.js +19 -0
- package/dist/templates/auto-tests/template.json +12 -0
- package/dist/templates/auto-tests/tests/basic.test.js +15 -0
- package/dist/templates/ioconnect-desktop/.env.example +29 -0
- package/dist/templates/ioconnect-desktop/.github/workflows/build-installers.yml +170 -0
- package/dist/templates/ioconnect-desktop/LICENSE +0 -0
- package/dist/templates/ioconnect-desktop/README.md +0 -0
- package/dist/templates/ioconnect-desktop/config/mac-build/entitlements.mac.plist +44 -0
- package/dist/templates/ioconnect-desktop/config/win-build/template.nuspectemplate +33 -0
- package/dist/templates/ioconnect-desktop/forge.config.js +47 -0
- package/dist/templates/ioconnect-desktop/iocd.cli.config.json +45 -0
- package/dist/templates/ioconnect-desktop/modifications/iocd/assets/images/logo.icns +0 -0
- package/dist/templates/ioconnect-desktop/modifications/iocd/assets/images/logo.ico +0 -0
- package/dist/templates/ioconnect-desktop/modifications/iocd/assets/images/logo.png +0 -0
- package/dist/templates/ioconnect-desktop/modifications/iocd/config/system.json.merge +3 -0
- package/dist/templates/ioconnect-desktop/package.json +43 -0
- package/dist/templates/ioconnect-desktop/template.json +7 -0
- package/dist/templates/launchpad/apps/launchpad/.eslintrc.json +3 -0
- package/dist/templates/launchpad/apps/launchpad/config/iocd.app.def.dev.json +57 -0
- package/dist/templates/launchpad/apps/launchpad/config/iocd.app.def.prod.json +2 -0
- package/dist/templates/launchpad/apps/launchpad/config/iocd.system.dev.json +3 -0
- package/dist/templates/launchpad/apps/launchpad/config/iocd.system.prod.json +3 -0
- package/dist/templates/launchpad/apps/launchpad/index.html +16 -0
- package/dist/templates/launchpad/apps/launchpad/iocd.app.json +32 -0
- package/dist/templates/launchpad/apps/launchpad/package-lock.json +2778 -0
- package/dist/templates/launchpad/apps/launchpad/package.json +21 -0
- package/dist/templates/launchpad/apps/launchpad/public/favicon.ico +0 -0
- package/dist/templates/launchpad/apps/launchpad/src/app/app.tsx +39 -0
- package/dist/templates/launchpad/apps/launchpad/src/app/constants.ts +27 -0
- package/dist/templates/launchpad/apps/launchpad/src/components/logo.tsx +11 -0
- package/dist/templates/launchpad/apps/launchpad/src/components/main-context-menu.tsx +162 -0
- package/dist/templates/launchpad/apps/launchpad/src/components/notifications-button.tsx +44 -0
- package/dist/templates/launchpad/apps/launchpad/src/main.tsx +6 -0
- package/dist/templates/launchpad/apps/launchpad/src/styles.css +17 -0
- package/dist/templates/launchpad/apps/launchpad/tsconfig.json +10 -0
- package/dist/templates/launchpad/apps/launchpad/vite.config.ts +13 -0
- package/dist/templates/launchpad/template.json +12 -0
- package/dist/templates/splash-screen/apps/splash-screen/README.md +119 -0
- package/dist/templates/splash-screen/apps/splash-screen/config/system-dev.json +9 -0
- package/dist/templates/splash-screen/apps/splash-screen/config/system-prod.json +8 -0
- package/dist/templates/splash-screen/apps/splash-screen/index.html +55 -0
- package/dist/templates/splash-screen/apps/splash-screen/iocd.app.json +20 -0
- package/dist/templates/splash-screen/apps/splash-screen/package-lock.json +1059 -0
- package/dist/templates/splash-screen/apps/splash-screen/package.json +17 -0
- package/dist/templates/splash-screen/apps/splash-screen/public/assets/fonts/PTSans-Regular.ttf +0 -0
- package/dist/templates/splash-screen/apps/splash-screen/public/assets/images/logo-light.svg +85 -0
- package/dist/templates/splash-screen/apps/splash-screen/public/assets/images/splash-bg.png +0 -0
- package/dist/templates/splash-screen/apps/splash-screen/public/assets/styles/style.css +149 -0
- package/dist/templates/splash-screen/apps/splash-screen/public/assets/styles/style.css.map +1 -0
- package/dist/templates/splash-screen/apps/splash-screen/public/assets/styles/style.scss +90 -0
- package/dist/templates/splash-screen/apps/splash-screen/src/main.ts +93 -0
- package/dist/templates/splash-screen/apps/splash-screen/src/types.ts +28 -0
- package/dist/templates/splash-screen/apps/splash-screen/tsconfig.json +25 -0
- package/dist/templates/splash-screen/apps/splash-screen/vite.config.ts +27 -0
- package/dist/templates/splash-screen/template.json +12 -0
- package/dist/templates/web-groups/apps/web-groups/README.md +15 -0
- package/dist/templates/web-groups/apps/web-groups/config/web-group-dev.json +13 -0
- package/dist/templates/web-groups/apps/web-groups/config/web-group-prod.json +12 -0
- package/dist/templates/web-groups/apps/web-groups/index.html +18 -0
- package/dist/templates/web-groups/apps/web-groups/iocd.app.json +24 -0
- package/dist/templates/web-groups/apps/web-groups/package.json +28 -0
- package/dist/templates/web-groups/apps/web-groups/public/favicon.ico +0 -0
- package/dist/templates/web-groups/apps/web-groups/public/logo192.png +0 -0
- package/dist/templates/web-groups/apps/web-groups/public/logo512.png +0 -0
- package/dist/templates/web-groups/apps/web-groups/public/manifest.json +25 -0
- package/dist/templates/web-groups/apps/web-groups/public/robots.txt +3 -0
- package/dist/templates/web-groups/apps/web-groups/src/App.css +38 -0
- package/dist/templates/web-groups/apps/web-groups/src/App.tsx +11 -0
- package/dist/templates/web-groups/apps/web-groups/src/index.css +13 -0
- package/dist/templates/web-groups/apps/web-groups/src/index.tsx +25 -0
- package/dist/templates/web-groups/apps/web-groups/src/logo.svg +1 -0
- package/dist/templates/web-groups/apps/web-groups/src/reportWebVitals.ts +15 -0
- package/dist/templates/web-groups/apps/web-groups/tsconfig.json +26 -0
- package/dist/templates/web-groups/apps/web-groups/vite.config.ts +8 -0
- package/dist/templates/web-groups/template.json +12 -0
- package/dist/templates/workspaces/apps/workspaces/README.md +15 -0
- package/dist/templates/workspaces/apps/workspaces/config/workspaces-dev.json +21 -0
- package/dist/templates/workspaces/apps/workspaces/config/workspaces-prod.json +20 -0
- package/dist/templates/workspaces/apps/workspaces/index.html +17 -0
- package/dist/templates/workspaces/apps/workspaces/iocd.app.json +24 -0
- package/dist/templates/workspaces/apps/workspaces/package.json +29 -0
- package/dist/templates/workspaces/apps/workspaces/public/favicon.ico +0 -0
- package/dist/templates/workspaces/apps/workspaces/public/logo192.png +0 -0
- package/dist/templates/workspaces/apps/workspaces/public/logo512.png +0 -0
- package/dist/templates/workspaces/apps/workspaces/public/manifest.json +25 -0
- package/dist/templates/workspaces/apps/workspaces/public/robots.txt +3 -0
- package/dist/templates/workspaces/apps/workspaces/src/AddWindowButton.tsx +33 -0
- package/dist/templates/workspaces/apps/workspaces/src/AfterTabs.tsx +27 -0
- package/dist/templates/workspaces/apps/workspaces/src/App.css +38 -0
- package/dist/templates/workspaces/apps/workspaces/src/App.tsx +103 -0
- package/dist/templates/workspaces/apps/workspaces/src/GroupHeaderButtons.tsx +9 -0
- package/dist/templates/workspaces/apps/workspaces/src/index.css +4 -0
- package/dist/templates/workspaces/apps/workspaces/src/index.tsx +28 -0
- package/dist/templates/workspaces/apps/workspaces/src/logo.svg +7 -0
- package/dist/templates/workspaces/apps/workspaces/src/reportWebVitals.ts +15 -0
- package/dist/templates/workspaces/apps/workspaces/src/setupTests.ts +5 -0
- package/dist/templates/workspaces/apps/workspaces/src/useAddWindowButtonVisible.tsx +30 -0
- package/dist/templates/workspaces/apps/workspaces/tsconfig.json +26 -0
- package/dist/templates/workspaces/apps/workspaces/vite.config.ts +8 -0
- package/dist/templates/workspaces/template.json +12 -0
- package/dist/tools/rcedit-x64.exe +0 -0
- package/dist/utils/colors.d.ts +57 -0
- package/dist/utils/colors.d.ts.map +1 -0
- package/dist/utils/colors.js +151 -0
- package/dist/utils/colors.js.map +1 -0
- package/dist/utils/deep.merge.d.ts +5 -0
- package/dist/utils/deep.merge.d.ts.map +1 -0
- package/dist/utils/deep.merge.js +27 -0
- package/dist/utils/deep.merge.js.map +1 -0
- package/dist/utils/electron.builder.config.helper.d.ts +6 -0
- package/dist/utils/electron.builder.config.helper.d.ts.map +1 -0
- package/dist/utils/electron.builder.config.helper.js +25 -0
- package/dist/utils/electron.builder.config.helper.js.map +1 -0
- package/dist/utils/ensure.iocd.exists.d.ts +2 -0
- package/dist/utils/ensure.iocd.exists.d.ts.map +1 -0
- package/dist/utils/ensure.iocd.exists.js +27 -0
- package/dist/utils/ensure.iocd.exists.js.map +1 -0
- package/dist/utils/error.handler.d.ts +30 -0
- package/dist/utils/error.handler.d.ts.map +1 -0
- package/dist/utils/error.handler.js +104 -0
- package/dist/utils/error.handler.js.map +1 -0
- package/dist/utils/file.d.ts +10 -0
- package/dist/utils/file.d.ts.map +1 -0
- package/dist/utils/file.js +40 -0
- package/dist/utils/file.js.map +1 -0
- package/dist/utils/find.package.dir.d.ts +2 -0
- package/dist/utils/find.package.dir.d.ts.map +1 -0
- package/dist/utils/find.package.dir.js +23 -0
- package/dist/utils/find.package.dir.js.map +1 -0
- package/dist/utils/logger.d.ts +19 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +184 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/nextSteps.d.ts +2 -0
- package/dist/utils/nextSteps.d.ts.map +1 -0
- package/dist/utils/nextSteps.js +44 -0
- package/dist/utils/nextSteps.js.map +1 -0
- package/dist/utils/pacakge.json.helper.d.ts +9 -0
- package/dist/utils/pacakge.json.helper.d.ts.map +1 -0
- package/dist/utils/pacakge.json.helper.js +71 -0
- package/dist/utils/pacakge.json.helper.js.map +1 -0
- package/dist/utils/path.d.ts +19 -0
- package/dist/utils/path.d.ts.map +1 -0
- package/dist/utils/path.js +81 -0
- package/dist/utils/path.js.map +1 -0
- package/dist/utils/version.d.ts +2 -0
- package/dist/utils/version.d.ts.map +1 -0
- package/dist/utils/version.js +16 -0
- package/dist/utils/version.js.map +1 -0
- package/package.json +69 -0
- 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":"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"}
|
|
@@ -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"}
|