@interopio/iocd-cli 0.0.30 → 0.0.32
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 +72 -72
- package/dist/schemas/iocd.cli.config.schema.json +4 -4
- package/dist/services/components/stores/github.store.js +0 -2
- package/dist/services/components/stores/github.store.js.map +1 -1
- package/dist/services/components/stores/local.store.js +2 -1
- package/dist/services/components/stores/local.store.js.map +1 -1
- package/dist/services/config/config.service.js +6 -1
- package/dist/services/config/config.service.js.map +1 -1
- package/dist/services/installer/windows.helper.js +11 -46
- package/dist/services/installer/windows.helper.js.map +1 -1
- package/dist/services/license.service.js +14 -14
- package/dist/templates/groups/apps/groups/.gitignore.template +23 -23
- package/dist/templates/groups/apps/groups/README.md +15 -15
- package/dist/templates/groups/apps/groups/config/web-group-dev.json +12 -12
- package/dist/templates/groups/apps/groups/index.html +17 -17
- package/dist/templates/groups/apps/groups/iocd.app.json +19 -19
- package/dist/templates/groups/apps/groups/package.json +25 -25
- package/dist/templates/groups/apps/groups/public/manifest.json +24 -24
- package/dist/templates/groups/apps/groups/public/robots.txt +3 -3
- package/dist/templates/groups/apps/groups/src/App.css +38 -38
- package/dist/templates/groups/apps/groups/src/App.tsx +11 -11
- package/dist/templates/groups/apps/groups/src/index.css +13 -13
- package/dist/templates/groups/apps/groups/src/index.tsx +19 -19
- package/dist/templates/groups/apps/groups/vite.config.ts +8 -8
- package/dist/templates/groups/template.json +12 -12
- package/dist/templates/ioconnect-desktop/.env.example +35 -41
- package/dist/templates/ioconnect-desktop/.github/actions/setup-smctl/action.yml +122 -0
- package/dist/templates/ioconnect-desktop/.github/workflows/build.yml +395 -327
- package/dist/templates/ioconnect-desktop/.gitignore.template +14 -14
- package/dist/templates/ioconnect-desktop/README.md +13 -13
- package/dist/templates/ioconnect-desktop/config/forge.config.js +59 -59
- package/dist/templates/ioconnect-desktop/config/iocd.cli.config.json +42 -42
- package/dist/templates/ioconnect-desktop/config/mac-build/entitlements.mac.plist +44 -44
- package/dist/templates/ioconnect-desktop/config/win-build/template.nuspectemplate +32 -32
- package/dist/templates/ioconnect-desktop/modifications/base/iocd/config/system.json.merge +2 -2
- package/dist/templates/ioconnect-desktop/modifications/base/iocd/config/system.json.merge-autoUpdate +9 -9
- package/dist/templates/ioconnect-desktop/package.json +32 -32
- package/dist/templates/ioconnect-desktop/template.json +6 -6
- package/dist/templates/launchpad/apps/launchpad/.eslintrc.json +3 -3
- package/dist/templates/launchpad/apps/launchpad/.gitignore.template +1 -1
- package/dist/templates/launchpad/apps/launchpad/config/iocd.app.def.dev.json +56 -56
- package/dist/templates/launchpad/apps/launchpad/config/iocd.system.build.json +2 -2
- package/dist/templates/launchpad/apps/launchpad/config/iocd.system.dev.json +2 -2
- package/dist/templates/launchpad/apps/launchpad/index.html +16 -16
- package/dist/templates/launchpad/apps/launchpad/iocd.app.json +27 -27
- package/dist/templates/launchpad/apps/launchpad/package-lock.json +2778 -2778
- package/dist/templates/launchpad/apps/launchpad/package.json +21 -21
- package/dist/templates/launchpad/apps/launchpad/src/app/app.tsx +41 -41
- package/dist/templates/launchpad/apps/launchpad/src/app/constants.ts +27 -27
- package/dist/templates/launchpad/apps/launchpad/src/components/logo.tsx +11 -11
- package/dist/templates/launchpad/apps/launchpad/src/components/main-context-menu.tsx +161 -161
- package/dist/templates/launchpad/apps/launchpad/src/components/notifications-button.tsx +44 -44
- package/dist/templates/launchpad/apps/launchpad/src/main.tsx +6 -6
- package/dist/templates/launchpad/apps/launchpad/src/styles.css +16 -16
- package/dist/templates/launchpad/apps/launchpad/tsconfig.json +10 -10
- package/dist/templates/launchpad/apps/launchpad/vite.config.ts +13 -13
- package/dist/templates/launchpad/template.json +12 -12
- package/dist/templates/splash/apps/splash/assets/styles/style.css +39 -39
- package/dist/templates/splash/apps/splash/iocd.app.json +7 -7
- package/dist/templates/splash/apps/splash/script.js +53 -53
- package/dist/templates/splash/apps/splash/splash.html +25 -25
- package/dist/templates/splash/template.json +12 -12
- package/dist/templates/tests/template.json +8 -8
- package/dist/templates/tests/tests/package-lock.json +7283 -7283
- package/dist/templates/tests/tests/package.json +22 -22
- package/dist/templates/tests/tests/tests/sample.spec.ts +30 -30
- package/dist/templates/tests/tests/tsconfig.json +10 -10
- package/dist/templates/tests/tests/wdio.config.ts +32 -32
- package/dist/templates/workspaces/apps/workspaces/README.md +15 -15
- package/dist/templates/workspaces/apps/workspaces/config/workspaces-dev.json +20 -20
- package/dist/templates/workspaces/apps/workspaces/index.html +17 -17
- package/dist/templates/workspaces/apps/workspaces/iocd.app.json +19 -19
- package/dist/templates/workspaces/apps/workspaces/package.json +29 -29
- package/dist/templates/workspaces/apps/workspaces/public/manifest.json +25 -25
- package/dist/templates/workspaces/apps/workspaces/public/robots.txt +3 -3
- package/dist/templates/workspaces/apps/workspaces/src/App.css +38 -38
- package/dist/templates/workspaces/apps/workspaces/src/App.tsx +102 -102
- package/dist/templates/workspaces/apps/workspaces/src/index.css +3 -3
- package/dist/templates/workspaces/apps/workspaces/src/index.tsx +28 -28
- package/dist/templates/workspaces/apps/workspaces/src/logo.svg +7 -7
- package/dist/templates/workspaces/apps/workspaces/src/reportWebVitals.ts +15 -15
- package/dist/templates/workspaces/apps/workspaces/src/setupTests.ts +5 -5
- package/dist/templates/workspaces/apps/workspaces/vite.config.ts +8 -8
- package/dist/templates/workspaces/template.json +12 -12
- package/package.json +83 -83
- package/scripts/copy-assets.js +15 -15
- package/scripts/delete-dist.js +12 -12
- package/scripts/generate-schema.js +50 -50
- package/scripts/handle-gitignore-templates.js +157 -157
- package/dist/templates/tests/tests/interopio-wdio-iocd-service-0.1.0.tgz +0 -0
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "web-group-app",
|
|
3
|
-
"type": "webGroup",
|
|
4
|
-
"hidden": true,
|
|
5
|
-
"details": {
|
|
6
|
-
"url": "http://localhost:5175/",
|
|
7
|
-
"captureErrors": true,
|
|
8
|
-
"preloadScripts": [],
|
|
9
|
-
"pool": {
|
|
10
|
-
"min": 5
|
|
11
|
-
}
|
|
12
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "web-group-app",
|
|
3
|
+
"type": "webGroup",
|
|
4
|
+
"hidden": true,
|
|
5
|
+
"details": {
|
|
6
|
+
"url": "http://localhost:5175/",
|
|
7
|
+
"captureErrors": true,
|
|
8
|
+
"preloadScripts": [],
|
|
9
|
+
"pool": {
|
|
10
|
+
"min": 5
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
13
|
}
|
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
<!doctype html>
|
|
2
|
-
<html lang="en" style="height: 100%;">
|
|
3
|
-
|
|
4
|
-
<head>
|
|
5
|
-
<meta charset="utf-8" />
|
|
6
|
-
<link rel="shortcut icon" href="/favicon.ico" />
|
|
7
|
-
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" />
|
|
8
|
-
<meta name="theme-color" content="#000000" />
|
|
9
|
-
<link rel="manifest" href="/manifest.json" />
|
|
10
|
-
<title>{{name}}</title>
|
|
11
|
-
</head>
|
|
12
|
-
|
|
13
|
-
<body style="overflow: hidden; margin: 0px; height: 100%; width: 100%;">
|
|
14
|
-
<div id="root" style="display: flex; flex-direction: row; overflow: hidden; height: 100%; width: 100%;"></div>
|
|
15
|
-
<script type="module" src="/src/index.tsx"></script>
|
|
16
|
-
</body>
|
|
17
|
-
|
|
1
|
+
<!doctype html>
|
|
2
|
+
<html lang="en" style="height: 100%;">
|
|
3
|
+
|
|
4
|
+
<head>
|
|
5
|
+
<meta charset="utf-8" />
|
|
6
|
+
<link rel="shortcut icon" href="/favicon.ico" />
|
|
7
|
+
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" />
|
|
8
|
+
<meta name="theme-color" content="#000000" />
|
|
9
|
+
<link rel="manifest" href="/manifest.json" />
|
|
10
|
+
<title>{{name}}</title>
|
|
11
|
+
</head>
|
|
12
|
+
|
|
13
|
+
<body style="overflow: hidden; margin: 0px; height: 100%; width: 100%;">
|
|
14
|
+
<div id="root" style="display: flex; flex-direction: row; overflow: hidden; height: 100%; width: 100%;"></div>
|
|
15
|
+
<script type="module" src="/src/index.tsx"></script>
|
|
16
|
+
</body>
|
|
17
|
+
|
|
18
18
|
</html>
|
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
{
|
|
2
|
-
"dev": {
|
|
3
|
-
"script": "start",
|
|
4
|
-
"modifications": [
|
|
5
|
-
{
|
|
6
|
-
"source": "/config/web-group-dev.json",
|
|
7
|
-
"destination": "/modifications/dev/iocd/config/apps/webGroup.json"
|
|
8
|
-
}
|
|
9
|
-
]
|
|
10
|
-
},
|
|
11
|
-
"build": {
|
|
12
|
-
"script": "build",
|
|
13
|
-
"modifications": [
|
|
14
|
-
{
|
|
15
|
-
"source": "/dist/",
|
|
16
|
-
"destination": "/modifications/build/iocd/assets/webGroups/app-react"
|
|
17
|
-
}
|
|
18
|
-
]
|
|
19
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"dev": {
|
|
3
|
+
"script": "start",
|
|
4
|
+
"modifications": [
|
|
5
|
+
{
|
|
6
|
+
"source": "/config/web-group-dev.json",
|
|
7
|
+
"destination": "/modifications/dev/iocd/config/apps/webGroup.json"
|
|
8
|
+
}
|
|
9
|
+
]
|
|
10
|
+
},
|
|
11
|
+
"build": {
|
|
12
|
+
"script": "build",
|
|
13
|
+
"modifications": [
|
|
14
|
+
{
|
|
15
|
+
"source": "/dist/",
|
|
16
|
+
"destination": "/modifications/build/iocd/assets/webGroups/app-react"
|
|
17
|
+
}
|
|
18
|
+
]
|
|
19
|
+
}
|
|
20
20
|
}
|
|
@@ -1,26 +1,26 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "groups-react",
|
|
3
|
-
"private": true,
|
|
4
|
-
"version": "0.0.0",
|
|
5
|
-
"type": "module",
|
|
6
|
-
"scripts": {
|
|
7
|
-
"start": "vite --port 5175",
|
|
8
|
-
"build": "tsc -b && vite build"
|
|
9
|
-
},
|
|
10
|
-
"dependencies": {
|
|
11
|
-
"@interopio/desktop": "^6.8.4",
|
|
12
|
-
"@interopio/groups-ui-react": "^3.0.0",
|
|
13
|
-
"@interopio/react-hooks": "^3.5.12",
|
|
14
|
-
"react": "18.0.0",
|
|
15
|
-
"react-dom": "18.0.0"
|
|
16
|
-
},
|
|
17
|
-
"devDependencies": {
|
|
18
|
-
"@types/node": "^22.8.6",
|
|
19
|
-
"@types/react": "^18.3.12",
|
|
20
|
-
"@types/react-dom": "^18.3.1",
|
|
21
|
-
"@vitejs/plugin-react": "^4.3.3",
|
|
22
|
-
"globals": "^15.11.0",
|
|
23
|
-
"vite": "^7.1.5",
|
|
24
|
-
"typescript": "^4.6.4"
|
|
25
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "groups-react",
|
|
3
|
+
"private": true,
|
|
4
|
+
"version": "0.0.0",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"scripts": {
|
|
7
|
+
"start": "vite --port 5175",
|
|
8
|
+
"build": "tsc -b && vite build"
|
|
9
|
+
},
|
|
10
|
+
"dependencies": {
|
|
11
|
+
"@interopio/desktop": "^6.8.4",
|
|
12
|
+
"@interopio/groups-ui-react": "^3.0.0",
|
|
13
|
+
"@interopio/react-hooks": "^3.5.12",
|
|
14
|
+
"react": "18.0.0",
|
|
15
|
+
"react-dom": "18.0.0"
|
|
16
|
+
},
|
|
17
|
+
"devDependencies": {
|
|
18
|
+
"@types/node": "^22.8.6",
|
|
19
|
+
"@types/react": "^18.3.12",
|
|
20
|
+
"@types/react-dom": "^18.3.1",
|
|
21
|
+
"@vitejs/plugin-react": "^4.3.3",
|
|
22
|
+
"globals": "^15.11.0",
|
|
23
|
+
"vite": "^7.1.5",
|
|
24
|
+
"typescript": "^4.6.4"
|
|
25
|
+
}
|
|
26
26
|
}
|
|
@@ -1,25 +1,25 @@
|
|
|
1
|
-
{
|
|
2
|
-
"short_name": "io.Connect Web Group App",
|
|
3
|
-
"name": "io.Connect Web Group App",
|
|
4
|
-
"icons": [
|
|
5
|
-
{
|
|
6
|
-
"src": "favicon.ico",
|
|
7
|
-
"sizes": "64x64 32x32 24x24 16x16",
|
|
8
|
-
"type": "image/x-icon"
|
|
9
|
-
},
|
|
10
|
-
{
|
|
11
|
-
"src": "logo192.png",
|
|
12
|
-
"type": "image/png",
|
|
13
|
-
"sizes": "192x192"
|
|
14
|
-
},
|
|
15
|
-
{
|
|
16
|
-
"src": "logo512.png",
|
|
17
|
-
"type": "image/png",
|
|
18
|
-
"sizes": "512x512"
|
|
19
|
-
}
|
|
20
|
-
],
|
|
21
|
-
"start_url": ".",
|
|
22
|
-
"display": "standalone",
|
|
23
|
-
"theme_color": "#000000",
|
|
24
|
-
"background_color": "#ffffff"
|
|
1
|
+
{
|
|
2
|
+
"short_name": "io.Connect Web Group App",
|
|
3
|
+
"name": "io.Connect Web Group App",
|
|
4
|
+
"icons": [
|
|
5
|
+
{
|
|
6
|
+
"src": "favicon.ico",
|
|
7
|
+
"sizes": "64x64 32x32 24x24 16x16",
|
|
8
|
+
"type": "image/x-icon"
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
"src": "logo192.png",
|
|
12
|
+
"type": "image/png",
|
|
13
|
+
"sizes": "192x192"
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
"src": "logo512.png",
|
|
17
|
+
"type": "image/png",
|
|
18
|
+
"sizes": "512x512"
|
|
19
|
+
}
|
|
20
|
+
],
|
|
21
|
+
"start_url": ".",
|
|
22
|
+
"display": "standalone",
|
|
23
|
+
"theme_color": "#000000",
|
|
24
|
+
"background_color": "#ffffff"
|
|
25
25
|
}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
# https://www.robotstxt.org/robotstxt.html
|
|
2
|
-
User-agent: *
|
|
3
|
-
Disallow:
|
|
1
|
+
# https://www.robotstxt.org/robotstxt.html
|
|
2
|
+
User-agent: *
|
|
3
|
+
Disallow:
|
|
@@ -1,38 +1,38 @@
|
|
|
1
|
-
.App {
|
|
2
|
-
text-align: center;
|
|
3
|
-
}
|
|
4
|
-
|
|
5
|
-
.App-logo {
|
|
6
|
-
height: 40vmin;
|
|
7
|
-
pointer-events: none;
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
@media (prefers-reduced-motion: no-preference) {
|
|
11
|
-
.App-logo {
|
|
12
|
-
animation: App-logo-spin infinite 20s linear;
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
.App-header {
|
|
17
|
-
background-color: #282c34;
|
|
18
|
-
min-height: 100vh;
|
|
19
|
-
display: flex;
|
|
20
|
-
flex-direction: column;
|
|
21
|
-
align-items: center;
|
|
22
|
-
justify-content: center;
|
|
23
|
-
font-size: calc(10px + 2vmin);
|
|
24
|
-
color: white;
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
.App-link {
|
|
28
|
-
color: #61dafb;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
@keyframes App-logo-spin {
|
|
32
|
-
from {
|
|
33
|
-
transform: rotate(0deg);
|
|
34
|
-
}
|
|
35
|
-
to {
|
|
36
|
-
transform: rotate(360deg);
|
|
37
|
-
}
|
|
38
|
-
}
|
|
1
|
+
.App {
|
|
2
|
+
text-align: center;
|
|
3
|
+
}
|
|
4
|
+
|
|
5
|
+
.App-logo {
|
|
6
|
+
height: 40vmin;
|
|
7
|
+
pointer-events: none;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
@media (prefers-reduced-motion: no-preference) {
|
|
11
|
+
.App-logo {
|
|
12
|
+
animation: App-logo-spin infinite 20s linear;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
.App-header {
|
|
17
|
+
background-color: #282c34;
|
|
18
|
+
min-height: 100vh;
|
|
19
|
+
display: flex;
|
|
20
|
+
flex-direction: column;
|
|
21
|
+
align-items: center;
|
|
22
|
+
justify-content: center;
|
|
23
|
+
font-size: calc(10px + 2vmin);
|
|
24
|
+
color: white;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
.App-link {
|
|
28
|
+
color: #61dafb;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
@keyframes App-logo-spin {
|
|
32
|
+
from {
|
|
33
|
+
transform: rotate(0deg);
|
|
34
|
+
}
|
|
35
|
+
to {
|
|
36
|
+
transform: rotate(360deg);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import React, { useContext } from 'react'
|
|
2
|
-
import Group from "@interopio/groups-ui-react";
|
|
3
|
-
import "@interopio/groups-ui-react/dist/styles/groups.css";
|
|
4
|
-
import { IOConnectContext } from '@interopio/react-hooks';
|
|
5
|
-
|
|
6
|
-
const App = () => {
|
|
7
|
-
(window as any).io = useContext(IOConnectContext);
|
|
8
|
-
return <Group />
|
|
9
|
-
};
|
|
10
|
-
|
|
11
|
-
export default App;
|
|
1
|
+
import React, { useContext } from 'react'
|
|
2
|
+
import Group from "@interopio/groups-ui-react";
|
|
3
|
+
import "@interopio/groups-ui-react/dist/styles/groups.css";
|
|
4
|
+
import { IOConnectContext } from '@interopio/react-hooks';
|
|
5
|
+
|
|
6
|
+
const App = () => {
|
|
7
|
+
(window as any).io = useContext(IOConnectContext);
|
|
8
|
+
return <Group />
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
export default App;
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
body {
|
|
2
|
-
margin: 0;
|
|
3
|
-
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',
|
|
4
|
-
'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',
|
|
5
|
-
sans-serif;
|
|
6
|
-
-webkit-font-smoothing: antialiased;
|
|
7
|
-
-moz-osx-font-smoothing: grayscale;
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
code {
|
|
11
|
-
font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New',
|
|
12
|
-
monospace;
|
|
13
|
-
}
|
|
1
|
+
body {
|
|
2
|
+
margin: 0;
|
|
3
|
+
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',
|
|
4
|
+
'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',
|
|
5
|
+
sans-serif;
|
|
6
|
+
-webkit-font-smoothing: antialiased;
|
|
7
|
+
-moz-osx-font-smoothing: grayscale;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
code {
|
|
11
|
+
font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New',
|
|
12
|
+
monospace;
|
|
13
|
+
}
|
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import ReactDOM from 'react-dom/client';
|
|
3
|
-
import App from './App';
|
|
4
|
-
import { IOConnectProvider } from "@interopio/react-hooks";
|
|
5
|
-
import IODesktop from '@interopio/desktop';
|
|
6
|
-
|
|
7
|
-
ReactDOM.createRoot(document.getElementById('root')!).render(
|
|
8
|
-
<React.StrictMode>
|
|
9
|
-
<IOConnectProvider settings={{
|
|
10
|
-
desktop: {
|
|
11
|
-
factory: (config: any) => {
|
|
12
|
-
return IODesktop();
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
}}>
|
|
16
|
-
<App />
|
|
17
|
-
</IOConnectProvider>
|
|
18
|
-
</React.StrictMode >
|
|
19
|
-
);
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import ReactDOM from 'react-dom/client';
|
|
3
|
+
import App from './App';
|
|
4
|
+
import { IOConnectProvider } from "@interopio/react-hooks";
|
|
5
|
+
import IODesktop from '@interopio/desktop';
|
|
6
|
+
|
|
7
|
+
ReactDOM.createRoot(document.getElementById('root')!).render(
|
|
8
|
+
<React.StrictMode>
|
|
9
|
+
<IOConnectProvider settings={{
|
|
10
|
+
desktop: {
|
|
11
|
+
factory: (config: any) => {
|
|
12
|
+
return IODesktop();
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
}}>
|
|
16
|
+
<App />
|
|
17
|
+
</IOConnectProvider>
|
|
18
|
+
</React.StrictMode >
|
|
19
|
+
);
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { defineConfig } from 'vite'
|
|
2
|
-
import react from '@vitejs/plugin-react'
|
|
3
|
-
|
|
4
|
-
// https://vite.dev/config/
|
|
5
|
-
export default defineConfig({
|
|
6
|
-
plugins: [react()],
|
|
7
|
-
base: './'
|
|
8
|
-
})
|
|
1
|
+
import { defineConfig } from 'vite'
|
|
2
|
+
import react from '@vitejs/plugin-react'
|
|
3
|
+
|
|
4
|
+
// https://vite.dev/config/
|
|
5
|
+
export default defineConfig({
|
|
6
|
+
plugins: [react()],
|
|
7
|
+
base: './'
|
|
8
|
+
})
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "groups",
|
|
3
|
-
"displayName": "Groups App",
|
|
4
|
-
"description": "Adds custom groups application support to io.Connect Desktop",
|
|
5
|
-
"version": "1.0.0",
|
|
6
|
-
"type": "application",
|
|
7
|
-
"setupUI": {
|
|
8
|
-
"text": "Add a custom groups app",
|
|
9
|
-
"separate": false,
|
|
10
|
-
"selected": false
|
|
11
|
-
}
|
|
12
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "groups",
|
|
3
|
+
"displayName": "Groups App",
|
|
4
|
+
"description": "Adds custom groups application support to io.Connect Desktop",
|
|
5
|
+
"version": "1.0.0",
|
|
6
|
+
"type": "application",
|
|
7
|
+
"setupUI": {
|
|
8
|
+
"text": "Add a custom groups app",
|
|
9
|
+
"separate": false,
|
|
10
|
+
"selected": false
|
|
11
|
+
}
|
|
12
|
+
}
|
|
@@ -1,41 +1,35 @@
|
|
|
1
|
-
###
|
|
2
|
-
# Windows Code Signing Options
|
|
3
|
-
###
|
|
4
|
-
#
|
|
5
|
-
WIN_PFX_PATH=
|
|
6
|
-
WIN_PFX_PASS=
|
|
7
|
-
|
|
8
|
-
#
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
#
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
#
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
#
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
# Your Apple Developer Team ID (found in Apple Developer account)
|
|
37
|
-
MAC_NOTARIZATION_APPLE_TEAM_ID=ABCD123456
|
|
38
|
-
|
|
39
|
-
# Optional: Specify code signing identity (auto-detected if not set)
|
|
40
|
-
# Example: "Developer ID Application: Your Name (TEAM123456)"
|
|
41
|
-
# MAC_CODE_SIGNING_IDENTITY=
|
|
1
|
+
###
|
|
2
|
+
# Windows Code Signing Options
|
|
3
|
+
###
|
|
4
|
+
# SignTool Code Signing Options (PFX or Certificate Store), WIN_CODE_SIGNING_TYPE must be set to 'signtool'
|
|
5
|
+
WIN_PFX_PATH=
|
|
6
|
+
WIN_PFX_PASS=
|
|
7
|
+
|
|
8
|
+
# Custom Code Signing Options, WIN_CODE_SIGNING_TYPE must be set to 'custom'
|
|
9
|
+
WIN_CUSTOM_CODE_SIGNING=
|
|
10
|
+
|
|
11
|
+
# Timestamping server URL (optional, defaults to DigiCert)
|
|
12
|
+
TSA_URL=http://timestamp.digicert.com
|
|
13
|
+
|
|
14
|
+
# Sign all binaries (exe, dll) for better SmartScreen reputation (optional, defaults to false)
|
|
15
|
+
SIGN_ALL_BINARIES=true
|
|
16
|
+
|
|
17
|
+
###
|
|
18
|
+
# MacOS Code Signing & Notarization Options
|
|
19
|
+
# Required for distribution outside Mac App Store
|
|
20
|
+
###
|
|
21
|
+
|
|
22
|
+
# Your Apple ID email (must be enrolled in Apple Developer Program)
|
|
23
|
+
MAC_NOTARIZATION_APPLE_ID=your.email@example.com
|
|
24
|
+
|
|
25
|
+
# App-specific password (NOT your regular Apple ID password)
|
|
26
|
+
# Generate at: https://appleid.apple.com/account/manage
|
|
27
|
+
# See: https://support.apple.com/en-us/102654
|
|
28
|
+
MAC_NOTARIZATION_APPLE_ID_PASSWORD=your-app-specific-password
|
|
29
|
+
|
|
30
|
+
# Your Apple Developer Team ID (found in Apple Developer account)
|
|
31
|
+
MAC_NOTARIZATION_APPLE_TEAM_ID=ABCD123456
|
|
32
|
+
|
|
33
|
+
# Optional: Specify code signing identity (auto-detected if not set)
|
|
34
|
+
# Example: "Developer ID Application: Your Name (TEAM123456)"
|
|
35
|
+
# MAC_CODE_SIGNING_IDENTITY=
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
name: 'Setup DigiCert SMCTL'
|
|
2
|
+
description: 'Install and configure DigiCert SMCTL for code signing'
|
|
3
|
+
|
|
4
|
+
inputs:
|
|
5
|
+
api-key:
|
|
6
|
+
description: 'DigiCert API Key'
|
|
7
|
+
required: true
|
|
8
|
+
client-cert-b64:
|
|
9
|
+
description: 'Base64 encoded client certificate'
|
|
10
|
+
required: true
|
|
11
|
+
client-cert-password:
|
|
12
|
+
description: 'Client certificate password'
|
|
13
|
+
required: true
|
|
14
|
+
keypair-name:
|
|
15
|
+
description: 'Keypair alias name'
|
|
16
|
+
required: true
|
|
17
|
+
host:
|
|
18
|
+
description: 'DigiCert host URL'
|
|
19
|
+
required: false
|
|
20
|
+
default: 'https://clientauth.one.digicert.com'
|
|
21
|
+
|
|
22
|
+
outputs:
|
|
23
|
+
cert-file-path:
|
|
24
|
+
description: 'Path to the client certificate file'
|
|
25
|
+
value: ${{ steps.write-file.outputs.filePath }}
|
|
26
|
+
|
|
27
|
+
runs:
|
|
28
|
+
using: "composite"
|
|
29
|
+
steps:
|
|
30
|
+
- name: Save p12 for authentication
|
|
31
|
+
id: write-file
|
|
32
|
+
uses: timheuer/base64-to-file@v1
|
|
33
|
+
with:
|
|
34
|
+
fileName: Certificate_pkcs12.p12
|
|
35
|
+
encodedString: ${{ inputs.client-cert-b64 }}
|
|
36
|
+
|
|
37
|
+
- name: Export certificate path as environment variable
|
|
38
|
+
shell: cmd
|
|
39
|
+
run: echo SM_CLIENT_CERT_FILE=${{ steps.write-file.outputs.filePath }} >> $GITHUB_ENV
|
|
40
|
+
|
|
41
|
+
- name: Install SMCTL
|
|
42
|
+
shell: cmd
|
|
43
|
+
run: |
|
|
44
|
+
echo Installing SMCTL...
|
|
45
|
+
curl -X GET https://one.digicert.com/signingmanager/api-ui/v1/releases/Keylockertools-windows-x64.msi/download -H "x-api-key:${{ inputs.api-key }}" -o Keylockertools-windows-x64.msi
|
|
46
|
+
msiexec /i Keylockertools-windows-x64.msi /quiet /qn /norestart
|
|
47
|
+
if %errorlevel% neq 0 (
|
|
48
|
+
echo ERROR: MSI installation failed with exit code %errorlevel%
|
|
49
|
+
exit /b %errorlevel%
|
|
50
|
+
)
|
|
51
|
+
echo MSI installed successfully.
|
|
52
|
+
echo.
|
|
53
|
+
echo Checking installation directory...
|
|
54
|
+
dir "C:\Program Files\DigiCert\" /b 2>nul || echo DigiCert directory not found in Program Files
|
|
55
|
+
|
|
56
|
+
- name: Update environment variables and configure SMCTL
|
|
57
|
+
shell: cmd
|
|
58
|
+
env:
|
|
59
|
+
SM_API_KEY: ${{ inputs.api-key }}
|
|
60
|
+
SM_CLIENT_CERT_PASSWORD: ${{ inputs.client-cert-password }}
|
|
61
|
+
SM_CLIENT_CERT_FILE: ${{ steps.write-file.outputs.filePath }}
|
|
62
|
+
SM_CODE_SIGNING_CERT_SHA1_HASH: ${{ inputs.cert-sha1-hash }}
|
|
63
|
+
SM_HOST: ${{ inputs.host }}
|
|
64
|
+
SMCTL_PATH: C:\Program Files\DigiCert\DigiCert Keylocker Tools
|
|
65
|
+
run: |
|
|
66
|
+
echo Checking SMCTL installation...
|
|
67
|
+
dir "C:\Program Files\DigiCert\" /s /b | findstr /i "smctl"
|
|
68
|
+
|
|
69
|
+
echo.
|
|
70
|
+
echo Adding SMCTL to PATH for this session...
|
|
71
|
+
set "PATH=%SMCTL_PATH%;%PATH%"
|
|
72
|
+
|
|
73
|
+
echo Current PATH: %PATH%
|
|
74
|
+
echo.
|
|
75
|
+
|
|
76
|
+
echo Testing smctl availability...
|
|
77
|
+
where smctl
|
|
78
|
+
|
|
79
|
+
echo.
|
|
80
|
+
echo Saving SMCTL path to GITHUB_PATH for future steps...
|
|
81
|
+
echo C:\Program Files\DigiCert\DigiCert Keylocker Tools>> %GITHUB_PATH%
|
|
82
|
+
echo C:\Program Files (x86)\Windows Kits\10\bin\10.0.22621.0\x86>> %GITHUB_PATH%
|
|
83
|
+
|
|
84
|
+
echo.
|
|
85
|
+
echo Healthcheck
|
|
86
|
+
smctl healthcheck
|
|
87
|
+
|
|
88
|
+
echo.
|
|
89
|
+
echo Saving credentials...
|
|
90
|
+
smctl credentials save %SM_API_KEY% %SM_CLIENT_CERT_PASSWORD%
|
|
91
|
+
|
|
92
|
+
echo Synchronizing certificate for keypair: ${{ inputs.keypair-name }}
|
|
93
|
+
smctl windows certsync --keypair-alias=${{ inputs.keypair-name }}
|
|
94
|
+
|
|
95
|
+
- name: Verify SMCTL setup
|
|
96
|
+
shell: cmd
|
|
97
|
+
env:
|
|
98
|
+
SMCTL_PATH: C:\Program Files\DigiCert\DigiCert Keylocker Tools
|
|
99
|
+
run: |
|
|
100
|
+
set PATH=%SMCTL_PATH%;%PATH%
|
|
101
|
+
|
|
102
|
+
if defined RUNNER_DEBUG (
|
|
103
|
+
echo ::group:: List DigiCert KSP libraries
|
|
104
|
+
smctl windows ksp list
|
|
105
|
+
echo ::endgroup::
|
|
106
|
+
|
|
107
|
+
echo ::group::List KSP registered
|
|
108
|
+
smksp_registrar list
|
|
109
|
+
echo ::endgroup::
|
|
110
|
+
|
|
111
|
+
echo ::group::List keypairs in account
|
|
112
|
+
smctl keypair ls
|
|
113
|
+
echo ::endgroup::
|
|
114
|
+
|
|
115
|
+
echo ::group::List keys stored under user profile
|
|
116
|
+
certutil -csp "DigiCert Signing Manager KSP" -key -user
|
|
117
|
+
echo ::endgroup::
|
|
118
|
+
|
|
119
|
+
echo ::group::SMCTL Healthcheck
|
|
120
|
+
smctl healthcheck
|
|
121
|
+
echo ::endgroup::
|
|
122
|
+
)
|