@interopio/iocd-cli 0.0.40 → 0.0.42
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 +795 -780
- package/dist/services/installer/electronForge.js +2 -2
- package/dist/services/installer/electronForge.js.map +1 -1
- package/dist/services/installer/installer.service.js +7 -0
- package/dist/services/installer/installer.service.js.map +1 -1
- package/dist/services/license.service.js +14 -14
- package/dist/services/modifications/modifications.service.js +14 -0
- package/dist/services/modifications/modifications.service.js.map +1 -1
- 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/.github/actions/setup-smctl/action.yml +121 -121
- package/dist/templates/ioconnect-desktop/.github/workflows/build.yml +395 -395
- package/dist/templates/ioconnect-desktop/.gitignore.template +15 -15
- package/dist/templates/ioconnect-desktop/README.md +795 -780
- package/dist/templates/ioconnect-desktop/assets/install.gif +0 -0
- package/dist/templates/ioconnect-desktop/config/forge.config.js +38 -59
- package/dist/templates/ioconnect-desktop/config/iocd.cli.config.json +16 -16
- 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 +33 -33
- 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 +7289 -7289
- 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 +19 -19
- package/scripts/delete-dist.js +12 -12
- package/scripts/generate-schema.js +50 -50
- package/scripts/handle-gitignore-templates.js +157 -157
|
@@ -1,103 +1,103 @@
|
|
|
1
|
-
import React, { useContext, useEffect } from 'react';
|
|
2
|
-
import Workspaces, { getFrameId } from "@interopio/workspaces-ui-react";
|
|
3
|
-
import "@interopio/workspaces-ui-react/dist/styles/workspaces.css";
|
|
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
|
-
|
|
10
|
-
const App = () => {
|
|
11
|
-
(window as any).io = useContext(IOConnectContext);
|
|
12
|
-
|
|
13
|
-
useEffect(() => {
|
|
14
|
-
const shortcuts: { [id: string]: () => void } = {};
|
|
15
|
-
|
|
16
|
-
const registerKeyToFocusWS = async (frame: IOConnectWorkspaces.Frame, workspace: IOConnectWorkspaces.Workspace, index: number) => {
|
|
17
|
-
if (index >= 9) {
|
|
18
|
-
// we don't need to register
|
|
19
|
-
return;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
const key = `ctrl+${index}`;
|
|
23
|
-
const un = await frame?.registerShortcut(key, () => {
|
|
24
|
-
workspace.focus();
|
|
25
|
-
})
|
|
26
|
-
shortcuts[workspace.id] = un;
|
|
27
|
-
};
|
|
28
|
-
|
|
29
|
-
const registerKeyToOpenLastWS = (frame: IOConnectWorkspaces.Frame) => {
|
|
30
|
-
frame.registerShortcut("ctrl+9", async () => {
|
|
31
|
-
const ws = await frame.workspaces();
|
|
32
|
-
ws[ws.length - 1]?.focus();
|
|
33
|
-
});
|
|
34
|
-
};
|
|
35
|
-
|
|
36
|
-
const registerKeyToSwitchNextWS = (frame: IOConnectWorkspaces.Frame) => {
|
|
37
|
-
frame.registerShortcut("ctrl+tab", async () => {
|
|
38
|
-
const ws = await frame.workspaces();
|
|
39
|
-
const selected = ws.find((ws) => ws.isSelected);
|
|
40
|
-
const positionIndex = selected?.positionIndex;
|
|
41
|
-
if (typeof positionIndex === "number") {
|
|
42
|
-
const nextWsIndex = positionIndex + 1;
|
|
43
|
-
let forSelecting: IOConnectWorkspaces.Workspace | undefined = ws[0];
|
|
44
|
-
if (nextWsIndex < ws.length) {
|
|
45
|
-
forSelecting = ws.find((w) => w.positionIndex === nextWsIndex);
|
|
46
|
-
}
|
|
47
|
-
forSelecting?.focus();
|
|
48
|
-
}
|
|
49
|
-
});
|
|
50
|
-
};
|
|
51
|
-
|
|
52
|
-
const registerKeyToCloseFocusedWS = (frame: IOConnectWorkspaces.Frame) => {
|
|
53
|
-
frame.registerShortcut("ctrl+f4", async () => {
|
|
54
|
-
const ws = await frame.workspaces();
|
|
55
|
-
const selected = ws.find((ws) => ws.isSelected);
|
|
56
|
-
selected?.close();
|
|
57
|
-
});
|
|
58
|
-
};
|
|
59
|
-
|
|
60
|
-
const registerKeys = async (frame: IOConnectWorkspaces.Frame) => {
|
|
61
|
-
const workspaces = await frame?.workspaces();
|
|
62
|
-
workspaces.forEach((workspace, index) => {
|
|
63
|
-
registerKeyToFocusWS(frame, workspace, index + 1);
|
|
64
|
-
});
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
const ioTyped = (window as any).io as IOConnectDesktop.API;
|
|
68
|
-
ioTyped?.workspaces?.waitForFrame(getFrameId())
|
|
69
|
-
.then(async (frame) => {
|
|
70
|
-
registerKeyToOpenLastWS(frame);
|
|
71
|
-
registerKeyToSwitchNextWS(frame);
|
|
72
|
-
registerKeyToCloseFocusedWS(frame);
|
|
73
|
-
registerKeys(frame);
|
|
74
|
-
|
|
75
|
-
frame?.onWorkspaceOpened(async (workspace) => {
|
|
76
|
-
const workspaces = await frame?.workspaces();
|
|
77
|
-
registerKeyToFocusWS(frame, workspace, workspaces.length);
|
|
78
|
-
});
|
|
79
|
-
frame?.onWorkspaceClosed(() => {
|
|
80
|
-
Object.values(shortcuts).forEach((un) => {
|
|
81
|
-
if (typeof un === "function") {
|
|
82
|
-
un();
|
|
83
|
-
}
|
|
84
|
-
});
|
|
85
|
-
registerKeys(frame);
|
|
86
|
-
});
|
|
87
|
-
})
|
|
88
|
-
return () => {
|
|
89
|
-
Object.values(shortcuts).forEach((un) => un());
|
|
90
|
-
}
|
|
91
|
-
}, []);
|
|
92
|
-
|
|
93
|
-
return (
|
|
94
|
-
<Workspaces components={{
|
|
95
|
-
groupHeader: {
|
|
96
|
-
AfterTabsComponent: AfterTabs,
|
|
97
|
-
ButtonsComponent: GroupHeaderButtons
|
|
98
|
-
}
|
|
99
|
-
}} />
|
|
100
|
-
);
|
|
101
|
-
}
|
|
102
|
-
|
|
1
|
+
import React, { useContext, useEffect } from 'react';
|
|
2
|
+
import Workspaces, { getFrameId } from "@interopio/workspaces-ui-react";
|
|
3
|
+
import "@interopio/workspaces-ui-react/dist/styles/workspaces.css";
|
|
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
|
+
|
|
10
|
+
const App = () => {
|
|
11
|
+
(window as any).io = useContext(IOConnectContext);
|
|
12
|
+
|
|
13
|
+
useEffect(() => {
|
|
14
|
+
const shortcuts: { [id: string]: () => void } = {};
|
|
15
|
+
|
|
16
|
+
const registerKeyToFocusWS = async (frame: IOConnectWorkspaces.Frame, workspace: IOConnectWorkspaces.Workspace, index: number) => {
|
|
17
|
+
if (index >= 9) {
|
|
18
|
+
// we don't need to register
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
const key = `ctrl+${index}`;
|
|
23
|
+
const un = await frame?.registerShortcut(key, () => {
|
|
24
|
+
workspace.focus();
|
|
25
|
+
})
|
|
26
|
+
shortcuts[workspace.id] = un;
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
const registerKeyToOpenLastWS = (frame: IOConnectWorkspaces.Frame) => {
|
|
30
|
+
frame.registerShortcut("ctrl+9", async () => {
|
|
31
|
+
const ws = await frame.workspaces();
|
|
32
|
+
ws[ws.length - 1]?.focus();
|
|
33
|
+
});
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
const registerKeyToSwitchNextWS = (frame: IOConnectWorkspaces.Frame) => {
|
|
37
|
+
frame.registerShortcut("ctrl+tab", async () => {
|
|
38
|
+
const ws = await frame.workspaces();
|
|
39
|
+
const selected = ws.find((ws) => ws.isSelected);
|
|
40
|
+
const positionIndex = selected?.positionIndex;
|
|
41
|
+
if (typeof positionIndex === "number") {
|
|
42
|
+
const nextWsIndex = positionIndex + 1;
|
|
43
|
+
let forSelecting: IOConnectWorkspaces.Workspace | undefined = ws[0];
|
|
44
|
+
if (nextWsIndex < ws.length) {
|
|
45
|
+
forSelecting = ws.find((w) => w.positionIndex === nextWsIndex);
|
|
46
|
+
}
|
|
47
|
+
forSelecting?.focus();
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
};
|
|
51
|
+
|
|
52
|
+
const registerKeyToCloseFocusedWS = (frame: IOConnectWorkspaces.Frame) => {
|
|
53
|
+
frame.registerShortcut("ctrl+f4", async () => {
|
|
54
|
+
const ws = await frame.workspaces();
|
|
55
|
+
const selected = ws.find((ws) => ws.isSelected);
|
|
56
|
+
selected?.close();
|
|
57
|
+
});
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
const registerKeys = async (frame: IOConnectWorkspaces.Frame) => {
|
|
61
|
+
const workspaces = await frame?.workspaces();
|
|
62
|
+
workspaces.forEach((workspace, index) => {
|
|
63
|
+
registerKeyToFocusWS(frame, workspace, index + 1);
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
const ioTyped = (window as any).io as IOConnectDesktop.API;
|
|
68
|
+
ioTyped?.workspaces?.waitForFrame(getFrameId())
|
|
69
|
+
.then(async (frame) => {
|
|
70
|
+
registerKeyToOpenLastWS(frame);
|
|
71
|
+
registerKeyToSwitchNextWS(frame);
|
|
72
|
+
registerKeyToCloseFocusedWS(frame);
|
|
73
|
+
registerKeys(frame);
|
|
74
|
+
|
|
75
|
+
frame?.onWorkspaceOpened(async (workspace) => {
|
|
76
|
+
const workspaces = await frame?.workspaces();
|
|
77
|
+
registerKeyToFocusWS(frame, workspace, workspaces.length);
|
|
78
|
+
});
|
|
79
|
+
frame?.onWorkspaceClosed(() => {
|
|
80
|
+
Object.values(shortcuts).forEach((un) => {
|
|
81
|
+
if (typeof un === "function") {
|
|
82
|
+
un();
|
|
83
|
+
}
|
|
84
|
+
});
|
|
85
|
+
registerKeys(frame);
|
|
86
|
+
});
|
|
87
|
+
})
|
|
88
|
+
return () => {
|
|
89
|
+
Object.values(shortcuts).forEach((un) => un());
|
|
90
|
+
}
|
|
91
|
+
}, []);
|
|
92
|
+
|
|
93
|
+
return (
|
|
94
|
+
<Workspaces components={{
|
|
95
|
+
groupHeader: {
|
|
96
|
+
AfterTabsComponent: AfterTabs,
|
|
97
|
+
ButtonsComponent: GroupHeaderButtons
|
|
98
|
+
}
|
|
99
|
+
}} />
|
|
100
|
+
);
|
|
101
|
+
}
|
|
102
|
+
|
|
103
103
|
export default App;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
#root {
|
|
2
|
-
height: calc(100% - 1px);
|
|
3
|
-
width: calc(100% - 1px);
|
|
1
|
+
#root {
|
|
2
|
+
height: calc(100% - 1px);
|
|
3
|
+
width: calc(100% - 1px);
|
|
4
4
|
}
|
|
@@ -1,28 +1,28 @@
|
|
|
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
|
-
import IODesktop from "@interopio/desktop";
|
|
8
|
-
import IOWorkspaces from "@interopio/workspaces-api";
|
|
9
|
-
|
|
10
|
-
ReactDOM.render(
|
|
11
|
-
<React.StrictMode>
|
|
12
|
-
<IOConnectProvider settings={{
|
|
13
|
-
desktop: {
|
|
14
|
-
factory: (_) => {
|
|
15
|
-
return IODesktop({ libraries: [IOWorkspaces], appManager: "skipIcons" })
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
}}>
|
|
19
|
-
<App />
|
|
20
|
-
</IOConnectProvider>
|
|
21
|
-
</React.StrictMode>,
|
|
22
|
-
document.getElementById('root')
|
|
23
|
-
);
|
|
24
|
-
|
|
25
|
-
// If you want to start measuring performance in your app, pass a function
|
|
26
|
-
// to log results (for example: reportWebVitals(console.log))
|
|
27
|
-
// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals
|
|
28
|
-
reportWebVitals();
|
|
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
|
+
import IODesktop from "@interopio/desktop";
|
|
8
|
+
import IOWorkspaces from "@interopio/workspaces-api";
|
|
9
|
+
|
|
10
|
+
ReactDOM.render(
|
|
11
|
+
<React.StrictMode>
|
|
12
|
+
<IOConnectProvider settings={{
|
|
13
|
+
desktop: {
|
|
14
|
+
factory: (_) => {
|
|
15
|
+
return IODesktop({ libraries: [IOWorkspaces], appManager: "skipIcons" })
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
}}>
|
|
19
|
+
<App />
|
|
20
|
+
</IOConnectProvider>
|
|
21
|
+
</React.StrictMode>,
|
|
22
|
+
document.getElementById('root')
|
|
23
|
+
);
|
|
24
|
+
|
|
25
|
+
// If you want to start measuring performance in your app, pass a function
|
|
26
|
+
// to log results (for example: reportWebVitals(console.log))
|
|
27
|
+
// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals
|
|
28
|
+
reportWebVitals();
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 841.9 595.3">
|
|
2
|
-
<g fill="#61DAFB">
|
|
3
|
-
<path d="M666.3 296.5c0-32.5-40.7-63.3-103.1-82.4 14.4-63.6 8-114.2-20.2-130.4-6.5-3.8-14.1-5.6-22.4-5.6v22.3c4.6 0 8.3.9 11.4 2.6 13.6 7.8 19.5 37.5 14.9 75.7-1.1 9.4-2.9 19.3-5.1 29.4-19.6-4.8-41-8.5-63.5-10.9-13.5-18.5-27.5-35.3-41.6-50 32.6-30.3 63.2-46.9 84-46.9V78c-27.5 0-63.5 19.6-99.9 53.6-36.4-33.8-72.4-53.2-99.9-53.2v22.3c20.7 0 51.4 16.5 84 46.6-14 14.7-28 31.4-41.3 49.9-22.6 2.4-44 6.1-63.6 11-2.3-10-4-19.7-5.2-29-4.7-38.2 1.1-67.9 14.6-75.8 3-1.8 6.9-2.6 11.5-2.6V78.5c-8.4 0-16 1.8-22.6 5.6-28.1 16.2-34.4 66.7-19.9 130.1-62.2 19.2-102.7 49.9-102.7 82.3 0 32.5 40.7 63.3 103.1 82.4-14.4 63.6-8 114.2 20.2 130.4 6.5 3.8 14.1 5.6 22.5 5.6 27.5 0 63.5-19.6 99.9-53.6 36.4 33.8 72.4 53.2 99.9 53.2 8.4 0 16-1.8 22.6-5.6 28.1-16.2 34.4-66.7 19.9-130.1 62-19.1 102.5-49.9 102.5-82.3zm-130.2-66.7c-3.7 12.9-8.3 26.2-13.5 39.5-4.1-8-8.4-16-13.1-24-4.6-8-9.5-15.8-14.4-23.4 14.2 2.1 27.9 4.7 41 7.9zm-45.8 106.5c-7.8 13.5-15.8 26.3-24.1 38.2-14.9 1.3-30 2-45.2 2-15.1 0-30.2-.7-45-1.9-8.3-11.9-16.4-24.6-24.2-38-7.6-13.1-14.5-26.4-20.8-39.8 6.2-13.4 13.2-26.8 20.7-39.9 7.8-13.5 15.8-26.3 24.1-38.2 14.9-1.3 30-2 45.2-2 15.1 0 30.2.7 45 1.9 8.3 11.9 16.4 24.6 24.2 38 7.6 13.1 14.5 26.4 20.8 39.8-6.3 13.4-13.2 26.8-20.7 39.9zm32.3-13c5.4 13.4 10 26.8 13.8 39.8-13.1 3.2-26.9 5.9-41.2 8 4.9-7.7 9.8-15.6 14.4-23.7 4.6-8 8.9-16.1 13-24.1zM421.2 430c-9.3-9.6-18.6-20.3-27.8-32 9 .4 18.2.7 27.5.7 9.4 0 18.7-.2 27.8-.7-9 11.7-18.3 22.4-27.5 32zm-74.4-58.9c-14.2-2.1-27.9-4.7-41-7.9 3.7-12.9 8.3-26.2 13.5-39.5 4.1 8 8.4 16 13.1 24 4.7 8 9.5 15.8 14.4 23.4zM420.7 163c9.3 9.6 18.6 20.3 27.8 32-9-.4-18.2-.7-27.5-.7-9.4 0-18.7.2-27.8.7 9-11.7 18.3-22.4 27.5-32zm-74 58.9c-4.9 7.7-9.8 15.6-14.4 23.7-4.6 8-8.9 16-13 24-5.4-13.4-10-26.8-13.8-39.8 13.1-3.1 26.9-5.8 41.2-7.9zm-90.5 125.2c-35.4-15.1-58.3-34.9-58.3-50.6 0-15.7 22.9-35.6 58.3-50.6 8.6-3.7 18-7 27.7-10.1 5.7 19.6 13.2 40 22.5 60.9-9.2 20.8-16.6 41.1-22.2 60.6-9.9-3.1-19.3-6.5-28-10.2zM310 490c-13.6-7.8-19.5-37.5-14.9-75.7 1.1-9.4 2.9-19.3 5.1-29.4 19.6 4.8 41 8.5 63.5 10.9 13.5 18.5 27.5 35.3 41.6 50-32.6 30.3-63.2 46.9-84 46.9-4.5-.1-8.3-1-11.3-2.7zm237.2-76.2c4.7 38.2-1.1 67.9-14.6 75.8-3 1.8-6.9 2.6-11.5 2.6-20.7 0-51.4-16.5-84-46.6 14-14.7 28-31.4 41.3-49.9 22.6-2.4 44-6.1 63.6-11 2.3 10.1 4.1 19.8 5.2 29.1zm38.5-66.7c-8.6 3.7-18 7-27.7 10.1-5.7-19.6-13.2-40-22.5-60.9 9.2-20.8 16.6-41.1 22.2-60.6 9.9 3.1 19.3 6.5 28.1 10.2 35.4 15.1 58.3 34.9 58.3 50.6-.1 15.7-23 35.6-58.4 50.6zM320.8 78.4z"/>
|
|
4
|
-
<circle cx="420.9" cy="296.5" r="45.7"/>
|
|
5
|
-
<path d="M520.5 78.1z"/>
|
|
6
|
-
</g>
|
|
7
|
-
</svg>
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 841.9 595.3">
|
|
2
|
+
<g fill="#61DAFB">
|
|
3
|
+
<path d="M666.3 296.5c0-32.5-40.7-63.3-103.1-82.4 14.4-63.6 8-114.2-20.2-130.4-6.5-3.8-14.1-5.6-22.4-5.6v22.3c4.6 0 8.3.9 11.4 2.6 13.6 7.8 19.5 37.5 14.9 75.7-1.1 9.4-2.9 19.3-5.1 29.4-19.6-4.8-41-8.5-63.5-10.9-13.5-18.5-27.5-35.3-41.6-50 32.6-30.3 63.2-46.9 84-46.9V78c-27.5 0-63.5 19.6-99.9 53.6-36.4-33.8-72.4-53.2-99.9-53.2v22.3c20.7 0 51.4 16.5 84 46.6-14 14.7-28 31.4-41.3 49.9-22.6 2.4-44 6.1-63.6 11-2.3-10-4-19.7-5.2-29-4.7-38.2 1.1-67.9 14.6-75.8 3-1.8 6.9-2.6 11.5-2.6V78.5c-8.4 0-16 1.8-22.6 5.6-28.1 16.2-34.4 66.7-19.9 130.1-62.2 19.2-102.7 49.9-102.7 82.3 0 32.5 40.7 63.3 103.1 82.4-14.4 63.6-8 114.2 20.2 130.4 6.5 3.8 14.1 5.6 22.5 5.6 27.5 0 63.5-19.6 99.9-53.6 36.4 33.8 72.4 53.2 99.9 53.2 8.4 0 16-1.8 22.6-5.6 28.1-16.2 34.4-66.7 19.9-130.1 62-19.1 102.5-49.9 102.5-82.3zm-130.2-66.7c-3.7 12.9-8.3 26.2-13.5 39.5-4.1-8-8.4-16-13.1-24-4.6-8-9.5-15.8-14.4-23.4 14.2 2.1 27.9 4.7 41 7.9zm-45.8 106.5c-7.8 13.5-15.8 26.3-24.1 38.2-14.9 1.3-30 2-45.2 2-15.1 0-30.2-.7-45-1.9-8.3-11.9-16.4-24.6-24.2-38-7.6-13.1-14.5-26.4-20.8-39.8 6.2-13.4 13.2-26.8 20.7-39.9 7.8-13.5 15.8-26.3 24.1-38.2 14.9-1.3 30-2 45.2-2 15.1 0 30.2.7 45 1.9 8.3 11.9 16.4 24.6 24.2 38 7.6 13.1 14.5 26.4 20.8 39.8-6.3 13.4-13.2 26.8-20.7 39.9zm32.3-13c5.4 13.4 10 26.8 13.8 39.8-13.1 3.2-26.9 5.9-41.2 8 4.9-7.7 9.8-15.6 14.4-23.7 4.6-8 8.9-16.1 13-24.1zM421.2 430c-9.3-9.6-18.6-20.3-27.8-32 9 .4 18.2.7 27.5.7 9.4 0 18.7-.2 27.8-.7-9 11.7-18.3 22.4-27.5 32zm-74.4-58.9c-14.2-2.1-27.9-4.7-41-7.9 3.7-12.9 8.3-26.2 13.5-39.5 4.1 8 8.4 16 13.1 24 4.7 8 9.5 15.8 14.4 23.4zM420.7 163c9.3 9.6 18.6 20.3 27.8 32-9-.4-18.2-.7-27.5-.7-9.4 0-18.7.2-27.8.7 9-11.7 18.3-22.4 27.5-32zm-74 58.9c-4.9 7.7-9.8 15.6-14.4 23.7-4.6 8-8.9 16-13 24-5.4-13.4-10-26.8-13.8-39.8 13.1-3.1 26.9-5.8 41.2-7.9zm-90.5 125.2c-35.4-15.1-58.3-34.9-58.3-50.6 0-15.7 22.9-35.6 58.3-50.6 8.6-3.7 18-7 27.7-10.1 5.7 19.6 13.2 40 22.5 60.9-9.2 20.8-16.6 41.1-22.2 60.6-9.9-3.1-19.3-6.5-28-10.2zM310 490c-13.6-7.8-19.5-37.5-14.9-75.7 1.1-9.4 2.9-19.3 5.1-29.4 19.6 4.8 41 8.5 63.5 10.9 13.5 18.5 27.5 35.3 41.6 50-32.6 30.3-63.2 46.9-84 46.9-4.5-.1-8.3-1-11.3-2.7zm237.2-76.2c4.7 38.2-1.1 67.9-14.6 75.8-3 1.8-6.9 2.6-11.5 2.6-20.7 0-51.4-16.5-84-46.6 14-14.7 28-31.4 41.3-49.9 22.6-2.4 44-6.1 63.6-11 2.3 10.1 4.1 19.8 5.2 29.1zm38.5-66.7c-8.6 3.7-18 7-27.7 10.1-5.7-19.6-13.2-40-22.5-60.9 9.2-20.8 16.6-41.1 22.2-60.6 9.9 3.1 19.3 6.5 28.1 10.2 35.4 15.1 58.3 34.9 58.3 50.6-.1 15.7-23 35.6-58.4 50.6zM320.8 78.4z"/>
|
|
4
|
+
<circle cx="420.9" cy="296.5" r="45.7"/>
|
|
5
|
+
<path d="M520.5 78.1z"/>
|
|
6
|
+
</g>
|
|
7
|
+
</svg>
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import { ReportHandler } from 'web-vitals';
|
|
2
|
-
|
|
3
|
-
const reportWebVitals = (onPerfEntry?: ReportHandler) => {
|
|
4
|
-
if (onPerfEntry && onPerfEntry instanceof Function) {
|
|
5
|
-
import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {
|
|
6
|
-
getCLS(onPerfEntry);
|
|
7
|
-
getFID(onPerfEntry);
|
|
8
|
-
getFCP(onPerfEntry);
|
|
9
|
-
getLCP(onPerfEntry);
|
|
10
|
-
getTTFB(onPerfEntry);
|
|
11
|
-
});
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
export default reportWebVitals;
|
|
1
|
+
import { ReportHandler } from 'web-vitals';
|
|
2
|
+
|
|
3
|
+
const reportWebVitals = (onPerfEntry?: ReportHandler) => {
|
|
4
|
+
if (onPerfEntry && onPerfEntry instanceof Function) {
|
|
5
|
+
import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {
|
|
6
|
+
getCLS(onPerfEntry);
|
|
7
|
+
getFID(onPerfEntry);
|
|
8
|
+
getFCP(onPerfEntry);
|
|
9
|
+
getLCP(onPerfEntry);
|
|
10
|
+
getTTFB(onPerfEntry);
|
|
11
|
+
});
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export default reportWebVitals;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
// jest-dom adds custom jest matchers for asserting on DOM nodes.
|
|
2
|
-
// allows you to do things like:
|
|
3
|
-
// expect(element).toHaveTextContent(/react/i)
|
|
4
|
-
// learn more: https://github.com/testing-library/jest-dom
|
|
5
|
-
import '@testing-library/jest-dom';
|
|
1
|
+
// jest-dom adds custom jest matchers for asserting on DOM nodes.
|
|
2
|
+
// allows you to do things like:
|
|
3
|
+
// expect(element).toHaveTextContent(/react/i)
|
|
4
|
+
// learn more: https://github.com/testing-library/jest-dom
|
|
5
|
+
import '@testing-library/jest-dom';
|
|
@@ -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": "workspaces",
|
|
3
|
-
"displayName": "Workspaces App",
|
|
4
|
-
"description": "Adds custom workspaces application support to io.Connect Desktop",
|
|
5
|
-
"version": "1.0.0",
|
|
6
|
-
"type": "application",
|
|
7
|
-
"setupUI": {
|
|
8
|
-
"text": "Add a custom workspaces app",
|
|
9
|
-
"separate": false,
|
|
10
|
-
"selected": false
|
|
11
|
-
}
|
|
12
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "workspaces",
|
|
3
|
+
"displayName": "Workspaces App",
|
|
4
|
+
"description": "Adds custom workspaces application support to io.Connect Desktop",
|
|
5
|
+
"version": "1.0.0",
|
|
6
|
+
"type": "application",
|
|
7
|
+
"setupUI": {
|
|
8
|
+
"text": "Add a custom workspaces app",
|
|
9
|
+
"separate": false,
|
|
10
|
+
"selected": false
|
|
11
|
+
}
|
|
12
|
+
}
|
package/package.json
CHANGED
|
@@ -1,83 +1,83 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@interopio/iocd-cli",
|
|
3
|
-
"version": "0.0.
|
|
4
|
-
"description": "CLI tool for setting up, building and packaging io.Connect Desktop platforms",
|
|
5
|
-
"engines": {
|
|
6
|
-
"node": ">=22.0.0",
|
|
7
|
-
"npm": ">=9.0.0"
|
|
8
|
-
},
|
|
9
|
-
"bin": {
|
|
10
|
-
"iocd": "./dist/cli.js"
|
|
11
|
-
},
|
|
12
|
-
"scripts": {
|
|
13
|
-
"build": "node ./scripts/delete-dist.js && tsc && npm run generate-schema && npm run copy-assets",
|
|
14
|
-
"generate-schema": "node ./scripts/generate-schema.js",
|
|
15
|
-
"copy-assets": "node ./scripts/copy-assets.js",
|
|
16
|
-
"dev": "tsc --watch",
|
|
17
|
-
"test": "jest",
|
|
18
|
-
"test:watch": "jest --watch",
|
|
19
|
-
"test:unit": "jest --selectProjects=unit",
|
|
20
|
-
"test:e2e": "npm run build && jest --selectProjects=e2e",
|
|
21
|
-
"test:e2e:verbose": "npm run build && jest --selectProjects=e2e --verbose",
|
|
22
|
-
"test:all": "npm run test:unit && npm run test:e2e",
|
|
23
|
-
"lint": "eslint src --ext .ts",
|
|
24
|
-
"lint:fix": "eslint src --ext .ts --fix",
|
|
25
|
-
"format": "prettier --write src/**/*.ts",
|
|
26
|
-
"prepublishOnly": "npm run build && npm run gitignore:pre-package",
|
|
27
|
-
"postpublish": "npm run gitignore:post-publish",
|
|
28
|
-
"postinstall": "npm run gitignore:post-install",
|
|
29
|
-
"gitignore:pre-package": "node ./scripts/handle-gitignore-templates.js pre-package",
|
|
30
|
-
"gitignore:post-publish": "node ./scripts/handle-gitignore-templates.js post-publish",
|
|
31
|
-
"gitignore:post-install": "node ./scripts/handle-gitignore-templates.js post-install",
|
|
32
|
-
"cli": "npm run build && node dist/cli.js"
|
|
33
|
-
},
|
|
34
|
-
"keywords": [
|
|
35
|
-
"io.connect",
|
|
36
|
-
"desktop",
|
|
37
|
-
"cli",
|
|
38
|
-
"electron",
|
|
39
|
-
"interop.io"
|
|
40
|
-
],
|
|
41
|
-
"author": "Interop.io",
|
|
42
|
-
"license": "MIT",
|
|
43
|
-
"files": [
|
|
44
|
-
"dist",
|
|
45
|
-
"scripts",
|
|
46
|
-
"tools",
|
|
47
|
-
"README.md"
|
|
48
|
-
],
|
|
49
|
-
"dependencies": {
|
|
50
|
-
"@clack/prompts": "^0.7.0",
|
|
51
|
-
"@electron/notarize": "^3.1.0",
|
|
52
|
-
"@electron/osx-sign": "^2.2.0",
|
|
53
|
-
"@sentry/node": "^10.17.0",
|
|
54
|
-
"commander": "^14.0.0",
|
|
55
|
-
"concurrently": "^9.2.1",
|
|
56
|
-
"dotenv": "^17.2.2",
|
|
57
|
-
"fs-extra": "^11.3.1",
|
|
58
|
-
"jsonwebtoken": "^9.0.2",
|
|
59
|
-
"log4js": "^6.9.1",
|
|
60
|
-
"plist": "^3.1.0"
|
|
61
|
-
},
|
|
62
|
-
"devDependencies": {
|
|
63
|
-
"@types/electron-builder": "^2.0.29",
|
|
64
|
-
"@types/fs-extra": "^11.0.4",
|
|
65
|
-
"@types/jest": "^29.5.5",
|
|
66
|
-
"@types/jsonwebtoken": "^9.0.10",
|
|
67
|
-
"@types/log4js": "^0.0.33",
|
|
68
|
-
"@types/node": "^20.8.0",
|
|
69
|
-
"@typescript-eslint/eslint-plugin": "^6.7.4",
|
|
70
|
-
"@typescript-eslint/parser": "^6.7.4",
|
|
71
|
-
"eslint": "^8.50.0",
|
|
72
|
-
"eslint-config-prettier": "^9.0.0",
|
|
73
|
-
"eslint-plugin-prettier": "^5.0.0",
|
|
74
|
-
"jest": "^29.7.0",
|
|
75
|
-
"prettier": "^3.0.3",
|
|
76
|
-
"ts-jest": "^29.1.1",
|
|
77
|
-
"typescript": "^5.2.2",
|
|
78
|
-
"typescript-json-schema": "^0.65.1"
|
|
79
|
-
},
|
|
80
|
-
"peerDependencies": {
|
|
81
|
-
"@electron-forge/core": "^7.9.0"
|
|
82
|
-
}
|
|
83
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "@interopio/iocd-cli",
|
|
3
|
+
"version": "0.0.42",
|
|
4
|
+
"description": "CLI tool for setting up, building and packaging io.Connect Desktop platforms",
|
|
5
|
+
"engines": {
|
|
6
|
+
"node": ">=22.0.0",
|
|
7
|
+
"npm": ">=9.0.0"
|
|
8
|
+
},
|
|
9
|
+
"bin": {
|
|
10
|
+
"iocd": "./dist/cli.js"
|
|
11
|
+
},
|
|
12
|
+
"scripts": {
|
|
13
|
+
"build": "node ./scripts/delete-dist.js && tsc && npm run generate-schema && npm run copy-assets",
|
|
14
|
+
"generate-schema": "node ./scripts/generate-schema.js",
|
|
15
|
+
"copy-assets": "node ./scripts/copy-assets.js",
|
|
16
|
+
"dev": "tsc --watch",
|
|
17
|
+
"test": "jest",
|
|
18
|
+
"test:watch": "jest --watch",
|
|
19
|
+
"test:unit": "jest --selectProjects=unit",
|
|
20
|
+
"test:e2e": "npm run build && jest --selectProjects=e2e",
|
|
21
|
+
"test:e2e:verbose": "npm run build && jest --selectProjects=e2e --verbose",
|
|
22
|
+
"test:all": "npm run test:unit && npm run test:e2e",
|
|
23
|
+
"lint": "eslint src --ext .ts",
|
|
24
|
+
"lint:fix": "eslint src --ext .ts --fix",
|
|
25
|
+
"format": "prettier --write src/**/*.ts",
|
|
26
|
+
"prepublishOnly": "npm run build && npm run gitignore:pre-package",
|
|
27
|
+
"postpublish": "npm run gitignore:post-publish",
|
|
28
|
+
"postinstall": "npm run gitignore:post-install",
|
|
29
|
+
"gitignore:pre-package": "node ./scripts/handle-gitignore-templates.js pre-package",
|
|
30
|
+
"gitignore:post-publish": "node ./scripts/handle-gitignore-templates.js post-publish",
|
|
31
|
+
"gitignore:post-install": "node ./scripts/handle-gitignore-templates.js post-install",
|
|
32
|
+
"cli": "npm run build && node dist/cli.js"
|
|
33
|
+
},
|
|
34
|
+
"keywords": [
|
|
35
|
+
"io.connect",
|
|
36
|
+
"desktop",
|
|
37
|
+
"cli",
|
|
38
|
+
"electron",
|
|
39
|
+
"interop.io"
|
|
40
|
+
],
|
|
41
|
+
"author": "Interop.io",
|
|
42
|
+
"license": "MIT",
|
|
43
|
+
"files": [
|
|
44
|
+
"dist",
|
|
45
|
+
"scripts",
|
|
46
|
+
"tools",
|
|
47
|
+
"README.md"
|
|
48
|
+
],
|
|
49
|
+
"dependencies": {
|
|
50
|
+
"@clack/prompts": "^0.7.0",
|
|
51
|
+
"@electron/notarize": "^3.1.0",
|
|
52
|
+
"@electron/osx-sign": "^2.2.0",
|
|
53
|
+
"@sentry/node": "^10.17.0",
|
|
54
|
+
"commander": "^14.0.0",
|
|
55
|
+
"concurrently": "^9.2.1",
|
|
56
|
+
"dotenv": "^17.2.2",
|
|
57
|
+
"fs-extra": "^11.3.1",
|
|
58
|
+
"jsonwebtoken": "^9.0.2",
|
|
59
|
+
"log4js": "^6.9.1",
|
|
60
|
+
"plist": "^3.1.0"
|
|
61
|
+
},
|
|
62
|
+
"devDependencies": {
|
|
63
|
+
"@types/electron-builder": "^2.0.29",
|
|
64
|
+
"@types/fs-extra": "^11.0.4",
|
|
65
|
+
"@types/jest": "^29.5.5",
|
|
66
|
+
"@types/jsonwebtoken": "^9.0.10",
|
|
67
|
+
"@types/log4js": "^0.0.33",
|
|
68
|
+
"@types/node": "^20.8.0",
|
|
69
|
+
"@typescript-eslint/eslint-plugin": "^6.7.4",
|
|
70
|
+
"@typescript-eslint/parser": "^6.7.4",
|
|
71
|
+
"eslint": "^8.50.0",
|
|
72
|
+
"eslint-config-prettier": "^9.0.0",
|
|
73
|
+
"eslint-plugin-prettier": "^5.0.0",
|
|
74
|
+
"jest": "^29.7.0",
|
|
75
|
+
"prettier": "^3.0.3",
|
|
76
|
+
"ts-jest": "^29.1.1",
|
|
77
|
+
"typescript": "^5.2.2",
|
|
78
|
+
"typescript-json-schema": "^0.65.1"
|
|
79
|
+
},
|
|
80
|
+
"peerDependencies": {
|
|
81
|
+
"@electron-forge/core": "^7.9.0"
|
|
82
|
+
}
|
|
83
|
+
}
|
package/scripts/copy-assets.js
CHANGED
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
const { cp } = require("fs/promises");
|
|
2
|
-
|
|
3
|
-
async function main() {
|
|
4
|
-
console.log("Copying template files...");
|
|
5
|
-
await cp("src/templates", "dist/templates", { recursive: true });
|
|
6
|
-
console.log("Template files copied successfully");
|
|
7
|
-
|
|
8
|
-
console.log("Copying README.md into dist/templates/ioconnect-desktop...");
|
|
9
|
-
await cp("README.md", "dist/templates/ioconnect-desktop/README.md");
|
|
10
|
-
console.log("README.md copied successfully");
|
|
11
|
-
|
|
12
|
-
console.log("Copying tools files...");
|
|
13
|
-
await cp("tools", "dist/tools", { recursive: true });
|
|
14
|
-
console.log("Tools copied successfully");
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
main().catch(err => {
|
|
18
|
-
console.error(err);
|
|
19
|
-
process.exit(1);
|
|
1
|
+
const { cp } = require("fs/promises");
|
|
2
|
+
|
|
3
|
+
async function main() {
|
|
4
|
+
console.log("Copying template files...");
|
|
5
|
+
await cp("src/templates", "dist/templates", { recursive: true });
|
|
6
|
+
console.log("Template files copied successfully");
|
|
7
|
+
|
|
8
|
+
console.log("Copying README.md into dist/templates/ioconnect-desktop...");
|
|
9
|
+
await cp("README.md", "dist/templates/ioconnect-desktop/README.md");
|
|
10
|
+
console.log("README.md copied successfully");
|
|
11
|
+
|
|
12
|
+
console.log("Copying tools files...");
|
|
13
|
+
await cp("tools", "dist/tools", { recursive: true });
|
|
14
|
+
console.log("Tools copied successfully");
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
main().catch(err => {
|
|
18
|
+
console.error(err);
|
|
19
|
+
process.exit(1);
|
|
20
20
|
});
|
package/scripts/delete-dist.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
// delete the dist folder before a new build
|
|
2
|
-
const { rm } = require("fs/promises");
|
|
3
|
-
|
|
4
|
-
async function main() {
|
|
5
|
-
console.log("Deleting dist folder...");
|
|
6
|
-
await rm("dist", { recursive: true, force: true });
|
|
7
|
-
console.log("Dist folder deleted successfully");
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
main().catch(err => {
|
|
11
|
-
console.error(err);
|
|
12
|
-
process.exit(1);
|
|
1
|
+
// delete the dist folder before a new build
|
|
2
|
+
const { rm } = require("fs/promises");
|
|
3
|
+
|
|
4
|
+
async function main() {
|
|
5
|
+
console.log("Deleting dist folder...");
|
|
6
|
+
await rm("dist", { recursive: true, force: true });
|
|
7
|
+
console.log("Dist folder deleted successfully");
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
main().catch(err => {
|
|
11
|
+
console.error(err);
|
|
12
|
+
process.exit(1);
|
|
13
13
|
});
|