@interopio/iocd-cli 0.0.53 → 0.0.54
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli.js +18 -15
- package/dist/cli.js.map +1 -1
- package/dist/schemas/iocd.cli.config.schema.json +6 -6
- package/dist/services/app.service.js +1 -1
- package/dist/services/app.service.js.map +1 -1
- package/dist/services/components/component.config.js +1 -1
- package/dist/services/components/component.config.js.map +1 -1
- package/dist/services/components/components.registry.js +17 -17
- package/dist/services/components/components.registry.js.map +1 -1
- package/dist/services/components/components.service.js +16 -15
- package/dist/services/components/components.service.js.map +1 -1
- package/dist/services/components/file.helper.js +7 -7
- package/dist/services/components/file.helper.js.map +1 -1
- package/dist/services/components/platform.utils.js +39 -34
- package/dist/services/components/platform.utils.js.map +1 -1
- package/dist/services/components/stores/github.store.js +52 -34
- package/dist/services/components/stores/github.store.js.map +1 -1
- package/dist/services/components/stores/local.store.js +19 -18
- package/dist/services/components/stores/local.store.js.map +1 -1
- package/dist/services/components/stores/s3.store.js +63 -56
- package/dist/services/components/stores/s3.store.js.map +1 -1
- package/dist/services/components/version.selector.js +3 -3
- package/dist/services/components/version.selector.js.map +1 -1
- package/dist/services/config/config.service.js +84 -45
- package/dist/services/config/config.service.js.map +1 -1
- package/dist/services/installer/electronForge.js +44 -44
- package/dist/services/installer/electronForge.js.map +1 -1
- package/dist/services/installer/installer.service.js +24 -24
- package/dist/services/installer/installer.service.js.map +1 -1
- package/dist/services/installer/macOS.helper.js +135 -77
- package/dist/services/installer/macOS.helper.js.map +1 -1
- package/dist/services/installer/prerequisites.js +10 -10
- package/dist/services/installer/windows.helper.js +53 -53
- package/dist/services/modifications/macOS.helper.js +28 -24
- package/dist/services/modifications/macOS.helper.js.map +1 -1
- package/dist/services/modifications/modifications.service.js +57 -57
- package/dist/services/modifications/windows.helper.js +54 -14
- package/dist/services/modifications/windows.helper.js.map +1 -1
- package/dist/templates/groups/apps/groups/src/App.tsx +3 -3
- package/dist/templates/groups/apps/groups/src/index.tsx +15 -13
- package/dist/templates/groups/apps/groups/vite.config.ts +4 -4
- package/dist/templates/launchpad/apps/launchpad/src/app/app.tsx +34 -29
- package/dist/templates/launchpad/apps/launchpad/src/app/constants.ts +20 -20
- package/dist/templates/launchpad/apps/launchpad/src/components/logo.tsx +5 -5
- package/dist/templates/launchpad/apps/launchpad/src/components/main-context-menu.tsx +195 -145
- package/dist/templates/launchpad/apps/launchpad/src/components/notifications-button.tsx +41 -34
- package/dist/templates/launchpad/apps/launchpad/src/main.tsx +3 -1
- package/dist/templates/launchpad/apps/launchpad/vite.config.ts +6 -7
- package/dist/templates/tests/tests/tests/sample.spec.ts +16 -16
- package/dist/templates/tests/tests/wdio.config.ts +9 -9
- package/dist/templates/workspaces/apps/workspaces/src/AddWindowButton.tsx +40 -33
- package/dist/templates/workspaces/apps/workspaces/src/AfterTabs.tsx +40 -27
- package/dist/templates/workspaces/apps/workspaces/src/App.tsx +93 -88
- package/dist/templates/workspaces/apps/workspaces/src/GroupHeaderButtons.tsx +11 -9
- package/dist/templates/workspaces/apps/workspaces/src/index.tsx +19 -14
- package/dist/templates/workspaces/apps/workspaces/src/reportWebVitals.ts +4 -4
- package/dist/templates/workspaces/apps/workspaces/src/setupTests.ts +1 -1
- package/dist/templates/workspaces/apps/workspaces/src/useAddWindowButtonVisible.tsx +36 -30
- package/dist/templates/workspaces/apps/workspaces/vite.config.ts +4 -4
- package/dist/utils/proxy.js +68 -0
- package/dist/utils/proxy.js.map +1 -0
- package/package.json +3 -2
|
@@ -1,27 +1,40 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
1
|
+
import {
|
|
2
|
+
AddWindowButton,
|
|
3
|
+
Bounds,
|
|
4
|
+
showAddApplicationPopup,
|
|
5
|
+
} from "@interopio/workspaces-ui-react";
|
|
6
|
+
import React, { Fragment } from "react";
|
|
7
|
+
import { useAddWindowButtonVisible } from "./useAddWindowButtonVisible";
|
|
8
|
+
|
|
9
|
+
interface AfterTabsProps {
|
|
10
|
+
groupId: string;
|
|
11
|
+
workspaceId: string;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
const AfterTabs: React.FC<AfterTabsProps> = ({ groupId, workspaceId }) => {
|
|
15
|
+
const visible = useAddWindowButtonVisible(workspaceId, groupId);
|
|
16
|
+
|
|
17
|
+
const showPopup = (bounds: Bounds) => {
|
|
18
|
+
showAddApplicationPopup({
|
|
19
|
+
bounds,
|
|
20
|
+
groupId,
|
|
21
|
+
workspaceId,
|
|
22
|
+
});
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
return (
|
|
26
|
+
<>
|
|
27
|
+
{visible ? (
|
|
28
|
+
<AddWindowButton
|
|
29
|
+
title="Add App"
|
|
30
|
+
visible={visible}
|
|
31
|
+
showPopup={showPopup}
|
|
32
|
+
/>
|
|
33
|
+
) : (
|
|
34
|
+
<Fragment />
|
|
35
|
+
)}
|
|
36
|
+
</>
|
|
37
|
+
);
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
export default AfterTabs;
|
|
@@ -1,103 +1,108 @@
|
|
|
1
|
-
import React, { useContext, useEffect } from
|
|
1
|
+
import React, { useContext, useEffect } from "react";
|
|
2
2
|
import Workspaces, { getFrameId } from "@interopio/workspaces-ui-react";
|
|
3
3
|
import "@interopio/workspaces-ui-react/dist/styles/workspaces.css";
|
|
4
|
-
import { IOConnectContext } from
|
|
5
|
-
import { IOConnectDesktop } from
|
|
6
|
-
import { IOConnectWorkspaces } from
|
|
7
|
-
import AfterTabs from
|
|
8
|
-
import GroupHeaderButtons from
|
|
4
|
+
import { IOConnectContext } from "@interopio/react-hooks";
|
|
5
|
+
import { IOConnectDesktop } from "@interopio/desktop";
|
|
6
|
+
import { IOConnectWorkspaces } from "@interopio/workspaces-api";
|
|
7
|
+
import AfterTabs from "./AfterTabs";
|
|
8
|
+
import GroupHeaderButtons from "./GroupHeaderButtons";
|
|
9
9
|
|
|
10
10
|
const App = () => {
|
|
11
|
-
|
|
11
|
+
(window as any).io = useContext(IOConnectContext);
|
|
12
12
|
|
|
13
|
-
|
|
14
|
-
|
|
13
|
+
useEffect(() => {
|
|
14
|
+
const shortcuts: { [id: string]: () => void } = {};
|
|
15
15
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
16
|
+
const registerKeyToFocusWS = async (
|
|
17
|
+
frame: IOConnectWorkspaces.Frame,
|
|
18
|
+
workspace: IOConnectWorkspaces.Workspace,
|
|
19
|
+
index: number
|
|
20
|
+
) => {
|
|
21
|
+
if (index >= 9) {
|
|
22
|
+
// we don't need to register
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
21
25
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
26
|
+
const key = `ctrl+${index}`;
|
|
27
|
+
const un = await frame?.registerShortcut(key, () => {
|
|
28
|
+
workspace.focus();
|
|
29
|
+
});
|
|
30
|
+
shortcuts[workspace.id] = un;
|
|
31
|
+
};
|
|
28
32
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
33
|
+
const registerKeyToOpenLastWS = (frame: IOConnectWorkspaces.Frame) => {
|
|
34
|
+
frame.registerShortcut("ctrl+9", async () => {
|
|
35
|
+
const ws = await frame.workspaces();
|
|
36
|
+
ws[ws.length - 1]?.focus();
|
|
37
|
+
});
|
|
38
|
+
};
|
|
35
39
|
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
40
|
+
const registerKeyToSwitchNextWS = (frame: IOConnectWorkspaces.Frame) => {
|
|
41
|
+
frame.registerShortcut("ctrl+tab", async () => {
|
|
42
|
+
const ws = await frame.workspaces();
|
|
43
|
+
const selected = ws.find(ws => ws.isSelected);
|
|
44
|
+
const positionIndex = selected?.positionIndex;
|
|
45
|
+
if (typeof positionIndex === "number") {
|
|
46
|
+
const nextWsIndex = positionIndex + 1;
|
|
47
|
+
let forSelecting: IOConnectWorkspaces.Workspace | undefined = ws[0];
|
|
48
|
+
if (nextWsIndex < ws.length) {
|
|
49
|
+
forSelecting = ws.find(w => w.positionIndex === nextWsIndex);
|
|
50
|
+
}
|
|
51
|
+
forSelecting?.focus();
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
};
|
|
51
55
|
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
56
|
+
const registerKeyToCloseFocusedWS = (frame: IOConnectWorkspaces.Frame) => {
|
|
57
|
+
frame.registerShortcut("ctrl+f4", async () => {
|
|
58
|
+
const ws = await frame.workspaces();
|
|
59
|
+
const selected = ws.find(ws => ws.isSelected);
|
|
60
|
+
selected?.close();
|
|
61
|
+
});
|
|
62
|
+
};
|
|
59
63
|
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
64
|
+
const registerKeys = async (frame: IOConnectWorkspaces.Frame) => {
|
|
65
|
+
const workspaces = await frame?.workspaces();
|
|
66
|
+
workspaces.forEach((workspace, index) => {
|
|
67
|
+
registerKeyToFocusWS(frame, workspace, index + 1);
|
|
68
|
+
});
|
|
69
|
+
};
|
|
66
70
|
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
registerKeys(frame);
|
|
71
|
+
const ioTyped = (window as any).io as IOConnectDesktop.API;
|
|
72
|
+
ioTyped?.workspaces?.waitForFrame(getFrameId()).then(async frame => {
|
|
73
|
+
registerKeyToOpenLastWS(frame);
|
|
74
|
+
registerKeyToSwitchNextWS(frame);
|
|
75
|
+
registerKeyToCloseFocusedWS(frame);
|
|
76
|
+
registerKeys(frame);
|
|
74
77
|
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
78
|
+
frame?.onWorkspaceOpened(async workspace => {
|
|
79
|
+
const workspaces = await frame?.workspaces();
|
|
80
|
+
registerKeyToFocusWS(frame, workspace, workspaces.length);
|
|
81
|
+
});
|
|
82
|
+
frame?.onWorkspaceClosed(() => {
|
|
83
|
+
Object.values(shortcuts).forEach(un => {
|
|
84
|
+
if (typeof un === "function") {
|
|
85
|
+
un();
|
|
86
|
+
}
|
|
87
|
+
});
|
|
88
|
+
registerKeys(frame);
|
|
89
|
+
});
|
|
90
|
+
});
|
|
91
|
+
return () => {
|
|
92
|
+
Object.values(shortcuts).forEach(un => un());
|
|
93
|
+
};
|
|
94
|
+
}, []);
|
|
92
95
|
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
|
|
96
|
+
return (
|
|
97
|
+
<Workspaces
|
|
98
|
+
components={{
|
|
99
|
+
groupHeader: {
|
|
100
|
+
AfterTabsComponent: AfterTabs,
|
|
101
|
+
ButtonsComponent: GroupHeaderButtons,
|
|
102
|
+
},
|
|
103
|
+
}}
|
|
104
|
+
/>
|
|
105
|
+
);
|
|
106
|
+
};
|
|
102
107
|
|
|
103
|
-
export default App;
|
|
108
|
+
export default App;
|
|
@@ -1,9 +1,11 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
1
|
+
import {
|
|
2
|
+
GroupHeaderButtons as DefaultGroupHeaderButtons,
|
|
3
|
+
GroupHeaderButtonsProps,
|
|
4
|
+
} from "@interopio/workspaces-ui-react";
|
|
5
|
+
import React from "react";
|
|
6
|
+
|
|
7
|
+
const GroupHeaderButtons: React.FC<GroupHeaderButtonsProps> = props => {
|
|
8
|
+
return <DefaultGroupHeaderButtons {...props} />;
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
export default GroupHeaderButtons;
|
|
@@ -1,25 +1,30 @@
|
|
|
1
|
-
import React from
|
|
2
|
-
import ReactDOM from
|
|
3
|
-
import
|
|
4
|
-
import App from
|
|
5
|
-
import reportWebVitals from
|
|
6
|
-
import { IOConnectProvider } from
|
|
1
|
+
import React from "react";
|
|
2
|
+
import ReactDOM from "react-dom";
|
|
3
|
+
import "./index.css";
|
|
4
|
+
import App from "./App";
|
|
5
|
+
import reportWebVitals from "./reportWebVitals";
|
|
6
|
+
import { IOConnectProvider } from "@interopio/react-hooks";
|
|
7
7
|
import IODesktop from "@interopio/desktop";
|
|
8
8
|
import IOWorkspaces from "@interopio/workspaces-api";
|
|
9
9
|
|
|
10
10
|
ReactDOM.render(
|
|
11
11
|
<React.StrictMode>
|
|
12
|
-
<IOConnectProvider
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
12
|
+
<IOConnectProvider
|
|
13
|
+
settings={{
|
|
14
|
+
desktop: {
|
|
15
|
+
factory: _ => {
|
|
16
|
+
return IODesktop({
|
|
17
|
+
libraries: [IOWorkspaces],
|
|
18
|
+
appManager: "skipIcons",
|
|
19
|
+
});
|
|
20
|
+
},
|
|
21
|
+
},
|
|
22
|
+
}}
|
|
23
|
+
>
|
|
19
24
|
<App />
|
|
20
25
|
</IOConnectProvider>
|
|
21
26
|
</React.StrictMode>,
|
|
22
|
-
document.getElementById(
|
|
27
|
+
document.getElementById("root")
|
|
23
28
|
);
|
|
24
29
|
|
|
25
30
|
// If you want to start measuring performance in your app, pass a function
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import { ReportHandler } from
|
|
1
|
+
import { ReportHandler } from "web-vitals";
|
|
2
2
|
|
|
3
3
|
const reportWebVitals = (onPerfEntry?: ReportHandler) => {
|
|
4
4
|
if (onPerfEntry && onPerfEntry instanceof Function) {
|
|
5
|
-
import(
|
|
6
|
-
getCLS(onPerfEntry);
|
|
5
|
+
import("web-vitals").then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {
|
|
6
|
+
getCLS(onPerfEntry);
|
|
7
7
|
getFID(onPerfEntry);
|
|
8
8
|
getFCP(onPerfEntry);
|
|
9
9
|
getLCP(onPerfEntry);
|
|
10
10
|
getTTFB(onPerfEntry);
|
|
11
11
|
});
|
|
12
12
|
}
|
|
13
|
-
}
|
|
13
|
+
};
|
|
14
14
|
|
|
15
15
|
export default reportWebVitals;
|
|
@@ -1,30 +1,36 @@
|
|
|
1
|
-
import { IOConnectDesktop } from "@interopio/desktop";
|
|
2
|
-
import { IOConnectWorkspaces } from "@interopio/workspaces-api";
|
|
3
|
-
import { useEffect, useState } from "react";
|
|
4
|
-
|
|
5
|
-
declare const window: Window & { io: IOConnectDesktop.API };
|
|
6
|
-
|
|
7
|
-
export function useAddWindowButtonVisible(
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
}
|
|
1
|
+
import { IOConnectDesktop } from "@interopio/desktop";
|
|
2
|
+
import { IOConnectWorkspaces } from "@interopio/workspaces-api";
|
|
3
|
+
import { useEffect, useState } from "react";
|
|
4
|
+
|
|
5
|
+
declare const window: Window & { io: IOConnectDesktop.API };
|
|
6
|
+
|
|
7
|
+
export function useAddWindowButtonVisible(
|
|
8
|
+
workspaceId: string,
|
|
9
|
+
groupId: string
|
|
10
|
+
) {
|
|
11
|
+
const [visible, setVisible] = useState(true);
|
|
12
|
+
useEffect(() => {
|
|
13
|
+
let groupLockConfigUnsub: IOConnectWorkspaces.Unsubscribe = () => {};
|
|
14
|
+
(async () => {
|
|
15
|
+
const workspace =
|
|
16
|
+
await window.io.workspaces!.getWorkspaceById(workspaceId);
|
|
17
|
+
const group = workspace.getAllGroups().find(g => g.id === groupId);
|
|
18
|
+
|
|
19
|
+
if (!group) {
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
groupLockConfigUnsub = await group.onLockConfigurationChanged(
|
|
24
|
+
lockConfig => {
|
|
25
|
+
setVisible(lockConfig.showAddWindowButton!);
|
|
26
|
+
}
|
|
27
|
+
);
|
|
28
|
+
|
|
29
|
+
setVisible(!!group.showAddWindowButton);
|
|
30
|
+
})();
|
|
31
|
+
|
|
32
|
+
return groupLockConfigUnsub;
|
|
33
|
+
}, [workspaceId, groupId]);
|
|
34
|
+
|
|
35
|
+
return visible;
|
|
36
|
+
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { defineConfig } from
|
|
2
|
-
import react from
|
|
1
|
+
import { defineConfig } from "vite";
|
|
2
|
+
import react from "@vitejs/plugin-react";
|
|
3
3
|
|
|
4
4
|
// https://vite.dev/config/
|
|
5
5
|
export default defineConfig({
|
|
6
6
|
plugins: [react()],
|
|
7
|
-
base:
|
|
8
|
-
})
|
|
7
|
+
base: "./",
|
|
8
|
+
});
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.initializeProxy = initializeProxy;
|
|
4
|
+
exports.disableProxy = disableProxy;
|
|
5
|
+
exports.isProxyConfigured = isProxyConfigured;
|
|
6
|
+
exports.getProxyInfo = getProxyInfo;
|
|
7
|
+
const undici_1 = require("undici");
|
|
8
|
+
const logger_1 = require("./logger");
|
|
9
|
+
const logger = logger_1.Logger.getInstance("proxy.fetch");
|
|
10
|
+
let originalDispatcher = null;
|
|
11
|
+
let proxyInitialized = false;
|
|
12
|
+
/**
|
|
13
|
+
* Initialize proxy support for native fetch
|
|
14
|
+
* Call this once at application startup to enable proxy support globally.
|
|
15
|
+
*
|
|
16
|
+
* EnvHttpProxyAgent automatically reads and respects:
|
|
17
|
+
* - HTTP_PROXY / http_proxy
|
|
18
|
+
* - HTTPS_PROXY / https_proxy
|
|
19
|
+
* - NO_PROXY / no_proxy
|
|
20
|
+
*/
|
|
21
|
+
function initializeProxy() {
|
|
22
|
+
if (proxyInitialized) {
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
if (!isProxyConfigured()) {
|
|
26
|
+
logger.debug("No proxy configured in environment variables");
|
|
27
|
+
proxyInitialized = true;
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
// Store original dispatcher so we can restore it if needed
|
|
31
|
+
originalDispatcher = (0, undici_1.getGlobalDispatcher)();
|
|
32
|
+
// EnvHttpProxyAgent automatically reads HTTP_PROXY, HTTPS_PROXY, NO_PROXY from environment
|
|
33
|
+
const proxyAgent = new undici_1.EnvHttpProxyAgent();
|
|
34
|
+
(0, undici_1.setGlobalDispatcher)(proxyAgent);
|
|
35
|
+
const proxyInfo = getProxyInfo();
|
|
36
|
+
logger.debug(`Proxy initialized - HTTP: ${proxyInfo.httpProxy || "none"}, HTTPS: ${proxyInfo.httpsProxy || "none"}, NO_PROXY: ${proxyInfo.noProxy || "none"}`);
|
|
37
|
+
proxyInitialized = true;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Restore original dispatcher (disable proxy)
|
|
41
|
+
*/
|
|
42
|
+
function disableProxy() {
|
|
43
|
+
if (originalDispatcher) {
|
|
44
|
+
(0, undici_1.setGlobalDispatcher)(originalDispatcher);
|
|
45
|
+
originalDispatcher = null;
|
|
46
|
+
}
|
|
47
|
+
proxyInitialized = false;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Check if a proxy is configured in environment variables
|
|
51
|
+
*/
|
|
52
|
+
function isProxyConfigured() {
|
|
53
|
+
return !!(process.env["HTTP_PROXY"] ||
|
|
54
|
+
process.env["HTTPS_PROXY"] ||
|
|
55
|
+
process.env["http_proxy"] ||
|
|
56
|
+
process.env["https_proxy"]);
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Get configured proxy information for logging/debugging
|
|
60
|
+
*/
|
|
61
|
+
function getProxyInfo() {
|
|
62
|
+
return {
|
|
63
|
+
httpProxy: process.env["HTTP_PROXY"] || process.env["http_proxy"],
|
|
64
|
+
httpsProxy: process.env["HTTPS_PROXY"] || process.env["https_proxy"],
|
|
65
|
+
noProxy: process.env["NO_PROXY"] || process.env["no_proxy"],
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=proxy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"proxy.js","sourceRoot":"","sources":["../../src/utils/proxy.ts"],"names":[],"mappings":";;AAsBA,0CAwBC;AAKD,oCAMC;AAKD,8CAOC;AAKD,oCAUC;AApFD,mCAKgB;AAChB,qCAAkC;AAElC,MAAM,MAAM,GAAG,eAAM,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;AAEjD,IAAI,kBAAkB,GAAsB,IAAI,CAAC;AACjD,IAAI,gBAAgB,GAAG,KAAK,CAAC;AAE7B;;;;;;;;GAQG;AACH,SAAgB,eAAe;IAC7B,IAAI,gBAAgB,EAAE,CAAC;QACrB,OAAO;IACT,CAAC;IAED,IAAI,CAAC,iBAAiB,EAAE,EAAE,CAAC;QACzB,MAAM,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;QAC7D,gBAAgB,GAAG,IAAI,CAAC;QACxB,OAAO;IACT,CAAC;IAED,2DAA2D;IAC3D,kBAAkB,GAAG,IAAA,4BAAmB,GAAE,CAAC;IAE3C,2FAA2F;IAC3F,MAAM,UAAU,GAAG,IAAI,0BAAiB,EAAE,CAAC;IAE3C,IAAA,4BAAmB,EAAC,UAAU,CAAC,CAAC;IAEhC,MAAM,SAAS,GAAG,YAAY,EAAE,CAAC;IACjC,MAAM,CAAC,KAAK,CACV,6BAA6B,SAAS,CAAC,SAAS,IAAI,MAAM,YAAY,SAAS,CAAC,UAAU,IAAI,MAAM,eAAe,SAAS,CAAC,OAAO,IAAI,MAAM,EAAE,CACjJ,CAAC;IACF,gBAAgB,GAAG,IAAI,CAAC;AAC1B,CAAC;AAED;;GAEG;AACH,SAAgB,YAAY;IAC1B,IAAI,kBAAkB,EAAE,CAAC;QACvB,IAAA,4BAAmB,EAAC,kBAAkB,CAAC,CAAC;QACxC,kBAAkB,GAAG,IAAI,CAAC;IAC5B,CAAC;IACD,gBAAgB,GAAG,KAAK,CAAC;AAC3B,CAAC;AAED;;GAEG;AACH,SAAgB,iBAAiB;IAC/B,OAAO,CAAC,CAAC,CACP,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;QACzB,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;QAC1B,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;QACzB,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAC3B,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAgB,YAAY;IAK1B,OAAO;QACL,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;QACjE,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;QACpE,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;KAC5D,CAAC;AACJ,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@interopio/iocd-cli",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.54",
|
|
4
4
|
"description": "CLI tool for setting up, building and packaging io.Connect Desktop platforms",
|
|
5
5
|
"engines": {
|
|
6
6
|
"node": ">=22.0.0",
|
|
@@ -57,7 +57,8 @@
|
|
|
57
57
|
"fs-extra": "^11.3.1",
|
|
58
58
|
"jsonwebtoken": "^9.0.2",
|
|
59
59
|
"log4js": "^6.9.1",
|
|
60
|
-
"plist": "^3.1.0"
|
|
60
|
+
"plist": "^3.1.0",
|
|
61
|
+
"undici": "^7.16.0"
|
|
61
62
|
},
|
|
62
63
|
"devDependencies": {
|
|
63
64
|
"@types/electron-builder": "^2.0.29",
|