one 1.2.82 → 1.2.84
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/devtools/dev.mjs +44 -0
- package/devtools/devtools.mjs +540 -0
- package/devtools/source-inspector.mjs +201 -0
- package/dist/cjs/cli/daemon.cjs +136 -0
- package/dist/cjs/cli/daemon.js +112 -0
- package/dist/cjs/cli/daemon.js.map +6 -0
- package/dist/cjs/cli/daemon.native.js +173 -0
- package/dist/cjs/cli/daemon.native.js.map +1 -0
- package/dist/cjs/createHandleRequest.cjs +15 -8
- package/dist/cjs/createHandleRequest.js +10 -6
- package/dist/cjs/createHandleRequest.js.map +1 -1
- package/dist/cjs/createHandleRequest.native.js +8 -3
- package/dist/cjs/createHandleRequest.native.js.map +1 -1
- package/dist/cjs/daemon/index.cjs +24 -0
- package/dist/cjs/daemon/index.js +21 -0
- package/dist/cjs/daemon/index.js.map +6 -0
- package/dist/cjs/daemon/index.native.js +27 -0
- package/dist/cjs/daemon/index.native.js.map +1 -0
- package/dist/cjs/daemon/ipc.cjs +235 -0
- package/dist/cjs/daemon/ipc.js +204 -0
- package/dist/cjs/daemon/ipc.js.map +6 -0
- package/dist/cjs/daemon/ipc.native.js +276 -0
- package/dist/cjs/daemon/ipc.native.js.map +1 -0
- package/dist/cjs/daemon/picker.cjs +223 -0
- package/dist/cjs/daemon/picker.js +191 -0
- package/dist/cjs/daemon/picker.js.map +6 -0
- package/dist/cjs/daemon/picker.native.js +308 -0
- package/dist/cjs/daemon/picker.native.js.map +1 -0
- package/dist/cjs/daemon/proxy.cjs +75 -0
- package/dist/cjs/daemon/proxy.js +70 -0
- package/dist/cjs/daemon/proxy.js.map +6 -0
- package/dist/cjs/daemon/proxy.native.js +81 -0
- package/dist/cjs/daemon/proxy.native.js.map +1 -0
- package/dist/cjs/daemon/registry.cjs +85 -0
- package/dist/cjs/daemon/registry.js +81 -0
- package/dist/cjs/daemon/registry.js.map +6 -0
- package/dist/cjs/daemon/registry.native.js +120 -0
- package/dist/cjs/daemon/registry.native.js.map +1 -0
- package/dist/cjs/daemon/server.cjs +178 -0
- package/dist/cjs/daemon/server.js +179 -0
- package/dist/cjs/daemon/server.js.map +6 -0
- package/dist/cjs/daemon/server.native.js +200 -0
- package/dist/cjs/daemon/server.native.js.map +1 -0
- package/dist/cjs/daemon/tui.cjs +223 -0
- package/dist/cjs/daemon/tui.js +192 -0
- package/dist/cjs/daemon/tui.js.map +6 -0
- package/dist/cjs/daemon/tui.native.js +234 -0
- package/dist/cjs/daemon/tui.native.js.map +1 -0
- package/dist/cjs/daemon/types.cjs +16 -0
- package/dist/cjs/daemon/types.js +14 -0
- package/dist/cjs/daemon/types.js.map +6 -0
- package/dist/cjs/daemon/types.native.js +19 -0
- package/dist/cjs/daemon/types.native.js.map +1 -0
- package/dist/cjs/daemon/utils.cjs +74 -0
- package/dist/cjs/daemon/utils.js +65 -0
- package/dist/cjs/daemon/utils.js.map +6 -0
- package/dist/cjs/daemon/utils.native.js +83 -0
- package/dist/cjs/daemon/utils.native.js.map +1 -0
- package/dist/cjs/fork/createMemoryHistory.cjs +22 -8
- package/dist/cjs/fork/createMemoryHistory.js +20 -6
- package/dist/cjs/fork/createMemoryHistory.js.map +1 -1
- package/dist/cjs/fork/createMemoryHistory.native.js +22 -8
- package/dist/cjs/fork/createMemoryHistory.native.js.map +1 -1
- package/dist/cjs/fork/useLinking.cjs +52 -13
- package/dist/cjs/fork/useLinking.js +35 -10
- package/dist/cjs/fork/useLinking.js.map +1 -1
- package/dist/cjs/index.cjs +6 -2
- package/dist/cjs/index.js +4 -2
- package/dist/cjs/index.js.map +2 -2
- package/dist/cjs/index.native.js +6 -2
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/cjs/router/linkingConfig.cjs +13 -2
- package/dist/cjs/router/linkingConfig.js +14 -5
- package/dist/cjs/router/linkingConfig.js.map +1 -1
- package/dist/cjs/router/linkingConfig.native.js +10 -1
- package/dist/cjs/router/linkingConfig.native.js.map +1 -1
- package/dist/cjs/router/routeMask.cjs +137 -0
- package/dist/cjs/router/routeMask.js +127 -0
- package/dist/cjs/router/routeMask.js.map +6 -0
- package/dist/cjs/router/routeMask.native.js +160 -0
- package/dist/cjs/router/routeMask.native.js.map +1 -0
- package/dist/cjs/router/router.cjs +26 -3
- package/dist/cjs/router/router.js +23 -3
- package/dist/cjs/router/router.js.map +1 -1
- package/dist/cjs/router/router.native.js +26 -3
- package/dist/cjs/router/router.native.js.map +1 -1
- package/dist/cjs/router/useScreens.cjs +18 -4
- package/dist/cjs/router/useScreens.js +20 -2
- package/dist/cjs/router/useScreens.js.map +2 -2
- package/dist/cjs/router/useScreens.native.js +16 -0
- package/dist/cjs/router/useScreens.native.js.map +1 -1
- package/dist/cjs/server/PreloadScripts.native.js +45 -39
- package/dist/cjs/server/PreloadScripts.native.js.map +1 -6
- package/dist/cjs/ui/TabSlot.cjs +2 -1
- package/dist/cjs/ui/TabSlot.js +1 -1
- package/dist/cjs/ui/TabSlot.js.map +1 -1
- package/dist/cjs/ui/TabSlot.native.js +2 -1
- package/dist/cjs/ui/TabSlot.native.js.map +1 -1
- package/dist/cjs/ui/Tabs.cjs +8 -4
- package/dist/cjs/ui/Tabs.js +8 -4
- package/dist/cjs/ui/Tabs.js.map +1 -1
- package/dist/cjs/ui/Tabs.native.js +8 -4
- package/dist/cjs/ui/Tabs.native.js.map +1 -1
- package/dist/cjs/views/Navigator.cjs +13 -12
- package/dist/cjs/views/Navigator.js +8 -9
- package/dist/cjs/views/Navigator.js.map +1 -1
- package/dist/cjs/views/Navigator.native.js +16 -15
- package/dist/cjs/views/Navigator.native.js.map +1 -1
- package/dist/cjs/vite/DevHead.cjs +2 -909
- package/dist/cjs/vite/DevHead.js +1 -917
- package/dist/cjs/vite/DevHead.js.map +1 -1
- package/dist/cjs/vite/DevHead.native.js +1 -882
- package/dist/cjs/vite/DevHead.native.js.map +1 -1
- package/dist/cjs/vite/one.cjs +4 -1
- package/dist/cjs/vite/one.js +4 -2
- package/dist/cjs/vite/one.js.map +1 -1
- package/dist/cjs/vite/one.native.js +4 -1
- package/dist/cjs/vite/one.native.js.map +1 -1
- package/dist/cjs/vite/plugins/devtoolsPlugin.cjs +55 -0
- package/dist/cjs/vite/plugins/devtoolsPlugin.js +49 -0
- package/dist/cjs/vite/plugins/devtoolsPlugin.js.map +6 -0
- package/dist/cjs/vite/plugins/devtoolsPlugin.native.js +58 -0
- package/dist/cjs/vite/plugins/devtoolsPlugin.native.js.map +1 -0
- package/dist/cjs/vite/plugins/fileSystemRouterPlugin.cjs +1 -6
- package/dist/cjs/vite/plugins/fileSystemRouterPlugin.js +1 -6
- package/dist/cjs/vite/plugins/fileSystemRouterPlugin.js.map +1 -1
- package/dist/cjs/vite/plugins/fileSystemRouterPlugin.native.js +1 -6
- package/dist/cjs/vite/plugins/fileSystemRouterPlugin.native.js.map +1 -1
- package/dist/cjs/vite/plugins/virtualEntryPlugin.cjs +7 -1
- package/dist/cjs/vite/plugins/virtualEntryPlugin.js +5 -1
- package/dist/cjs/vite/plugins/virtualEntryPlugin.js.map +1 -1
- package/dist/cjs/vite/plugins/virtualEntryPlugin.native.js +8 -1
- package/dist/cjs/vite/plugins/virtualEntryPlugin.native.js.map +1 -1
- package/dist/esm/cli/daemon.js +89 -0
- package/dist/esm/cli/daemon.js.map +6 -0
- package/dist/esm/cli/daemon.mjs +102 -0
- package/dist/esm/cli/daemon.mjs.map +1 -0
- package/dist/esm/cli/daemon.native.js +136 -0
- package/dist/esm/cli/daemon.native.js.map +1 -0
- package/dist/esm/createHandleRequest.js +10 -5
- package/dist/esm/createHandleRequest.js.map +1 -1
- package/dist/esm/createHandleRequest.mjs +15 -8
- package/dist/esm/createHandleRequest.mjs.map +1 -1
- package/dist/esm/createHandleRequest.native.js +8 -3
- package/dist/esm/createHandleRequest.native.js.map +1 -1
- package/dist/esm/daemon/index.js +8 -0
- package/dist/esm/daemon/index.js.map +6 -0
- package/dist/esm/daemon/index.mjs +8 -0
- package/dist/esm/daemon/index.mjs.map +1 -0
- package/dist/esm/daemon/index.native.js +8 -0
- package/dist/esm/daemon/index.native.js.map +1 -0
- package/dist/esm/daemon/ipc.js +192 -0
- package/dist/esm/daemon/ipc.js.map +6 -0
- package/dist/esm/daemon/ipc.mjs +191 -0
- package/dist/esm/daemon/ipc.mjs.map +1 -0
- package/dist/esm/daemon/ipc.native.js +229 -0
- package/dist/esm/daemon/ipc.native.js.map +1 -0
- package/dist/esm/daemon/picker.js +169 -0
- package/dist/esm/daemon/picker.js.map +6 -0
- package/dist/esm/daemon/picker.mjs +186 -0
- package/dist/esm/daemon/picker.mjs.map +1 -0
- package/dist/esm/daemon/picker.native.js +268 -0
- package/dist/esm/daemon/picker.native.js.map +1 -0
- package/dist/esm/daemon/proxy.js +47 -0
- package/dist/esm/daemon/proxy.js.map +6 -0
- package/dist/esm/daemon/proxy.mjs +40 -0
- package/dist/esm/daemon/proxy.mjs.map +1 -0
- package/dist/esm/daemon/proxy.native.js +43 -0
- package/dist/esm/daemon/proxy.native.js.map +1 -0
- package/dist/esm/daemon/registry.js +65 -0
- package/dist/esm/daemon/registry.js.map +6 -0
- package/dist/esm/daemon/registry.mjs +53 -0
- package/dist/esm/daemon/registry.mjs.map +1 -0
- package/dist/esm/daemon/registry.native.js +85 -0
- package/dist/esm/daemon/registry.native.js.map +1 -0
- package/dist/esm/daemon/server.js +167 -0
- package/dist/esm/daemon/server.js.map +6 -0
- package/dist/esm/daemon/server.mjs +143 -0
- package/dist/esm/daemon/server.mjs.map +1 -0
- package/dist/esm/daemon/server.native.js +162 -0
- package/dist/esm/daemon/server.native.js.map +1 -0
- package/dist/esm/daemon/tui.js +171 -0
- package/dist/esm/daemon/tui.js.map +6 -0
- package/dist/esm/daemon/tui.mjs +187 -0
- package/dist/esm/daemon/tui.mjs.map +1 -0
- package/dist/esm/daemon/tui.native.js +195 -0
- package/dist/esm/daemon/tui.native.js.map +1 -0
- package/dist/esm/daemon/types.js +1 -0
- package/dist/esm/daemon/types.js.map +6 -0
- package/dist/esm/daemon/types.mjs +2 -0
- package/dist/esm/daemon/types.mjs.map +1 -0
- package/dist/esm/daemon/types.native.js +2 -0
- package/dist/esm/daemon/types.native.js.map +1 -0
- package/dist/esm/daemon/utils.js +42 -0
- package/dist/esm/daemon/utils.js.map +6 -0
- package/dist/esm/daemon/utils.mjs +39 -0
- package/dist/esm/daemon/utils.mjs.map +1 -0
- package/dist/esm/daemon/utils.native.js +45 -0
- package/dist/esm/daemon/utils.native.js.map +1 -0
- package/dist/esm/fork/createMemoryHistory.js +20 -6
- package/dist/esm/fork/createMemoryHistory.js.map +1 -1
- package/dist/esm/fork/createMemoryHistory.mjs +22 -8
- package/dist/esm/fork/createMemoryHistory.mjs.map +1 -1
- package/dist/esm/fork/createMemoryHistory.native.js +22 -8
- package/dist/esm/fork/createMemoryHistory.native.js.map +1 -1
- package/dist/esm/fork/useLinking.js +35 -9
- package/dist/esm/fork/useLinking.js.map +1 -1
- package/dist/esm/fork/useLinking.mjs +52 -13
- package/dist/esm/fork/useLinking.mjs.map +1 -1
- package/dist/esm/index.js +4 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/index.mjs +3 -1
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/index.native.js +3 -1
- package/dist/esm/index.native.js.map +1 -1
- package/dist/esm/router/linkingConfig.js +14 -4
- package/dist/esm/router/linkingConfig.js.map +1 -1
- package/dist/esm/router/linkingConfig.mjs +12 -1
- package/dist/esm/router/linkingConfig.mjs.map +1 -1
- package/dist/esm/router/linkingConfig.native.js +10 -1
- package/dist/esm/router/linkingConfig.native.js.map +1 -1
- package/dist/esm/router/routeMask.js +111 -0
- package/dist/esm/router/routeMask.js.map +6 -0
- package/dist/esm/router/routeMask.mjs +108 -0
- package/dist/esm/router/routeMask.mjs.map +1 -0
- package/dist/esm/router/routeMask.native.js +128 -0
- package/dist/esm/router/routeMask.native.js.map +1 -0
- package/dist/esm/router/router.js +23 -2
- package/dist/esm/router/router.js.map +1 -1
- package/dist/esm/router/router.mjs +24 -3
- package/dist/esm/router/router.mjs.map +1 -1
- package/dist/esm/router/router.native.js +24 -3
- package/dist/esm/router/router.native.js.map +1 -1
- package/dist/esm/router/useScreens.js +20 -2
- package/dist/esm/router/useScreens.js.map +1 -1
- package/dist/esm/router/useScreens.mjs +18 -4
- package/dist/esm/router/useScreens.mjs.map +1 -1
- package/dist/esm/router/useScreens.native.js +16 -0
- package/dist/esm/router/useScreens.native.js.map +1 -1
- package/dist/esm/server/PreloadScripts.native.js +29 -33
- package/dist/esm/server/PreloadScripts.native.js.map +1 -6
- package/dist/esm/ui/TabSlot.js +1 -1
- package/dist/esm/ui/TabSlot.js.map +1 -1
- package/dist/esm/ui/TabSlot.mjs +2 -1
- package/dist/esm/ui/TabSlot.mjs.map +1 -1
- package/dist/esm/ui/TabSlot.native.js +2 -1
- package/dist/esm/ui/TabSlot.native.js.map +1 -1
- package/dist/esm/ui/Tabs.js +10 -5
- package/dist/esm/ui/Tabs.js.map +1 -1
- package/dist/esm/ui/Tabs.mjs +9 -5
- package/dist/esm/ui/Tabs.mjs.map +1 -1
- package/dist/esm/ui/Tabs.native.js +9 -5
- package/dist/esm/ui/Tabs.native.js.map +1 -1
- package/dist/esm/views/Navigator.js +8 -9
- package/dist/esm/views/Navigator.js.map +1 -1
- package/dist/esm/views/Navigator.mjs +13 -12
- package/dist/esm/views/Navigator.mjs.map +1 -1
- package/dist/esm/views/Navigator.native.js +16 -15
- package/dist/esm/views/Navigator.native.js.map +1 -1
- package/dist/esm/vite/DevHead.js +1 -917
- package/dist/esm/vite/DevHead.js.map +1 -1
- package/dist/esm/vite/DevHead.mjs +2 -909
- package/dist/esm/vite/DevHead.mjs.map +1 -1
- package/dist/esm/vite/DevHead.native.js +0 -881
- package/dist/esm/vite/DevHead.native.js.map +1 -1
- package/dist/esm/vite/one.js +4 -1
- package/dist/esm/vite/one.js.map +1 -1
- package/dist/esm/vite/one.mjs +4 -1
- package/dist/esm/vite/one.mjs.map +1 -1
- package/dist/esm/vite/one.native.js +4 -1
- package/dist/esm/vite/one.native.js.map +1 -1
- package/dist/esm/vite/plugins/devtoolsPlugin.js +33 -0
- package/dist/esm/vite/plugins/devtoolsPlugin.js.map +6 -0
- package/dist/esm/vite/plugins/devtoolsPlugin.mjs +31 -0
- package/dist/esm/vite/plugins/devtoolsPlugin.mjs.map +1 -0
- package/dist/esm/vite/plugins/devtoolsPlugin.native.js +31 -0
- package/dist/esm/vite/plugins/devtoolsPlugin.native.js.map +1 -0
- package/dist/esm/vite/plugins/fileSystemRouterPlugin.js +1 -6
- package/dist/esm/vite/plugins/fileSystemRouterPlugin.js.map +1 -1
- package/dist/esm/vite/plugins/fileSystemRouterPlugin.mjs +1 -6
- package/dist/esm/vite/plugins/fileSystemRouterPlugin.mjs.map +1 -1
- package/dist/esm/vite/plugins/fileSystemRouterPlugin.native.js +1 -6
- package/dist/esm/vite/plugins/fileSystemRouterPlugin.native.js.map +1 -1
- package/dist/esm/vite/plugins/virtualEntryPlugin.js +5 -1
- package/dist/esm/vite/plugins/virtualEntryPlugin.js.map +1 -1
- package/dist/esm/vite/plugins/virtualEntryPlugin.mjs +7 -1
- package/dist/esm/vite/plugins/virtualEntryPlugin.mjs.map +1 -1
- package/dist/esm/vite/plugins/virtualEntryPlugin.native.js +8 -1
- package/dist/esm/vite/plugins/virtualEntryPlugin.native.js.map +1 -1
- package/package.json +13 -11
- package/src/createHandleRequest.ts +16 -3
- package/src/fork/createMemoryHistory.tsx +39 -4
- package/src/fork/useLinking.ts +83 -12
- package/src/index.ts +3 -0
- package/src/router/linkingConfig.ts +21 -4
- package/src/router/routeMask.ts +293 -0
- package/src/router/router.ts +53 -1
- package/src/router/useScreens.tsx +54 -2
- package/src/ui/TabSlot.tsx +2 -1
- package/src/ui/Tabs.tsx +12 -5
- package/src/views/Navigator.tsx +14 -9
- package/src/vite/DevHead.tsx +1 -924
- package/src/vite/one.ts +4 -0
- package/src/vite/plugins/devtoolsPlugin.ts +45 -0
- package/src/vite/plugins/fileSystemRouterPlugin.tsx +2 -7
- package/src/vite/plugins/virtualEntryPlugin.ts +12 -3
- package/src/vite/types.ts +1 -0
- package/types/cli/daemon.d.ts.map +1 -0
- package/types/createHandleRequest.d.ts.map +1 -1
- package/types/daemon/index.d.ts.map +1 -0
- package/types/daemon/ipc.d.ts.map +1 -0
- package/types/daemon/picker.d.ts.map +1 -0
- package/types/daemon/proxy.d.ts.map +1 -0
- package/types/daemon/registry.d.ts.map +1 -0
- package/types/daemon/server.d.ts.map +1 -0
- package/types/daemon/tui.d.ts.map +1 -0
- package/types/daemon/types.d.ts.map +1 -0
- package/types/daemon/utils.d.ts.map +1 -0
- package/types/fork/createMemoryHistory.d.ts +6 -2
- package/types/fork/createMemoryHistory.d.ts.map +1 -1
- package/types/fork/useLinking.d.ts.map +1 -1
- package/types/index.d.ts +2 -0
- package/types/index.d.ts.map +1 -1
- package/types/router/linkingConfig.d.ts.map +1 -1
- package/types/router/routeMask.d.ts +130 -0
- package/types/router/routeMask.d.ts.map +1 -0
- package/types/router/router.d.ts +23 -0
- package/types/router/router.d.ts.map +1 -1
- package/types/router/useScreens.d.ts.map +1 -1
- package/types/ui/TabSlot.d.ts.map +1 -1
- package/types/ui/Tabs.d.ts +1 -16
- package/types/ui/Tabs.d.ts.map +1 -1
- package/types/views/Navigator.d.ts +4 -14
- package/types/views/Navigator.d.ts.map +1 -1
- package/types/vite/DevHead.d.ts.map +1 -1
- package/types/vite/one.d.ts.map +1 -1
- package/types/vite/plugins/devtoolsPlugin.d.ts +5 -0
- package/types/vite/plugins/devtoolsPlugin.d.ts.map +1 -0
- package/types/vite/plugins/fileSystemRouterPlugin.d.ts.map +1 -1
- package/types/vite/plugins/virtualEntryPlugin.d.ts +1 -3
- package/types/vite/plugins/virtualEntryPlugin.d.ts.map +1 -1
- package/types/vite/types.d.ts.map +1 -1
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
import { getAllServers, setRoute } from "./registry";
|
|
2
|
+
import { getBootedSimulators } from "./picker";
|
|
3
|
+
import { setRouteMode } from "./server";
|
|
4
|
+
import colors from "picocolors";
|
|
5
|
+
const ESC = "\x1B", CSI = `${ESC}[`, cursor = {
|
|
6
|
+
hide: () => process.stdout.write(`${CSI}?25l`),
|
|
7
|
+
show: () => process.stdout.write(`${CSI}?25h`),
|
|
8
|
+
to: (x, y) => process.stdout.write(`${CSI}${y};${x}H`),
|
|
9
|
+
clear: () => process.stdout.write(`${CSI}2J`)
|
|
10
|
+
}, box = {
|
|
11
|
+
tl: "\u250C",
|
|
12
|
+
tr: "\u2510",
|
|
13
|
+
bl: "\u2514",
|
|
14
|
+
br: "\u2518",
|
|
15
|
+
h: "\u2500",
|
|
16
|
+
v: "\u2502",
|
|
17
|
+
arrow: "\u25BA",
|
|
18
|
+
dot: "\u25CF",
|
|
19
|
+
circle: "\u25CB",
|
|
20
|
+
line: "\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500"
|
|
21
|
+
};
|
|
22
|
+
let tuiState = null, daemonState = null, refreshInterval = null, stdinListener = null;
|
|
23
|
+
function getRouteMode() {
|
|
24
|
+
return tuiState?.routeMode || "ask";
|
|
25
|
+
}
|
|
26
|
+
function startTUI(state) {
|
|
27
|
+
daemonState = state, tuiState = {
|
|
28
|
+
simulators: [],
|
|
29
|
+
servers: [],
|
|
30
|
+
routes: /* @__PURE__ */ new Map(),
|
|
31
|
+
selectedCol: 0,
|
|
32
|
+
selectedRow: 0,
|
|
33
|
+
connectingFrom: null,
|
|
34
|
+
routeMode: "most-recent"
|
|
35
|
+
}, cursor.hide(), cursor.clear(), process.stdin.isTTY && process.stdin.setRawMode(!0), process.stdin.resume(), stdinListener = (key) => {
|
|
36
|
+
const str = key.toString();
|
|
37
|
+
if ((str === "" || str === "q") && (stopTUI(), process.exit(0)), !!tuiState) {
|
|
38
|
+
if (str === "\x1B[A")
|
|
39
|
+
tuiState.selectedRow = Math.max(0, tuiState.selectedRow - 1);
|
|
40
|
+
else if (str === "\x1B[B") {
|
|
41
|
+
const max = tuiState.selectedCol === 0 ? tuiState.simulators.length - 1 : tuiState.servers.length - 1;
|
|
42
|
+
tuiState.selectedRow = Math.min(max, tuiState.selectedRow + 1);
|
|
43
|
+
} else if (str === "\x1B[C" || str === "\x1B[D")
|
|
44
|
+
tuiState.selectedCol = tuiState.selectedCol === 0 ? 1 : 0, tuiState.selectedRow = 0, tuiState.connectingFrom = null;
|
|
45
|
+
else if (str === " " || str === "\r")
|
|
46
|
+
handleConnect();
|
|
47
|
+
else if (str === "d")
|
|
48
|
+
handleDisconnect();
|
|
49
|
+
else if (str === "m")
|
|
50
|
+
tuiState.routeMode = tuiState.routeMode === "most-recent" ? "ask" : "most-recent", setRouteMode(tuiState.routeMode);
|
|
51
|
+
else if (str === "b") {
|
|
52
|
+
stopTUI(), console.log(colors.dim("\nDaemon running in background. Use `one daemon status` to check."));
|
|
53
|
+
return;
|
|
54
|
+
} else str === "i" && installLoginItem();
|
|
55
|
+
render();
|
|
56
|
+
}
|
|
57
|
+
}, process.stdin.on("data", stdinListener), refreshInterval = setInterval(refreshData, 500), refreshData();
|
|
58
|
+
}
|
|
59
|
+
function handleConnect() {
|
|
60
|
+
if (!(!tuiState || !daemonState)) {
|
|
61
|
+
if (tuiState.selectedCol === 0) {
|
|
62
|
+
const sim = tuiState.simulators[tuiState.selectedRow];
|
|
63
|
+
sim && (tuiState.connectingFrom = sim.udid, tuiState.selectedCol = 1, tuiState.selectedRow = 0);
|
|
64
|
+
} else if (tuiState.connectingFrom) {
|
|
65
|
+
const server = tuiState.servers[tuiState.selectedRow];
|
|
66
|
+
server && (tuiState.routes.set(tuiState.connectingFrom, server.id), setRoute(daemonState, server.bundleId, server.id), tuiState.connectingFrom = null);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
function handleDisconnect() {
|
|
71
|
+
if (tuiState && tuiState.selectedCol === 0) {
|
|
72
|
+
const sim = tuiState.simulators[tuiState.selectedRow];
|
|
73
|
+
sim && tuiState.routes.delete(sim.udid);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
async function refreshData() {
|
|
77
|
+
!tuiState || !daemonState || (tuiState.simulators = await getBootedSimulators(), tuiState.servers = getAllServers(daemonState), render());
|
|
78
|
+
}
|
|
79
|
+
function render() {
|
|
80
|
+
if (!tuiState) return;
|
|
81
|
+
const width = process.stdout.columns || 80, height = process.stdout.rows || 24;
|
|
82
|
+
cursor.to(1, 1);
|
|
83
|
+
const lines = [], title = " one daemon ", port = ":8081", modeRecent = tuiState.routeMode === "most-recent", modeSwitch = ` [m] ${modeRecent ? colors.green("\u25CF") : colors.dim("\u25CB")} recent ${modeRecent ? colors.dim("\u25CB") : colors.green("\u25CF")} ask `, headerPad = width - title.length - port.length - 22 - 4;
|
|
84
|
+
lines.push(colors.cyan(`${box.tl}${box.h}${title}${box.h.repeat(Math.max(0, headerPad))}`) + modeSwitch + colors.cyan(`${port}${box.h}${box.tr}`)), lines.push(colors.cyan(box.v) + " ".repeat(width - 4) + colors.cyan(box.v));
|
|
85
|
+
const col1 = " SIMULATORS", col2 = "SERVERS", mid = Math.floor(width / 2);
|
|
86
|
+
lines.push(
|
|
87
|
+
colors.cyan(box.v) + colors.bold(colors.dim(col1)) + " ".repeat(mid - col1.length - 2) + colors.bold(colors.dim(col2)) + " ".repeat(width - mid - col2.length - 4) + colors.cyan(box.v)
|
|
88
|
+
), lines.push(
|
|
89
|
+
colors.cyan(box.v) + colors.dim(" " + "\u2500".repeat(mid - 4)) + " " + colors.dim("\u2500".repeat(width - mid - 4)) + colors.cyan(box.v)
|
|
90
|
+
);
|
|
91
|
+
const maxRows = Math.max(tuiState.simulators.length, tuiState.servers.length, 3);
|
|
92
|
+
for (let i = 0; i < maxRows; i++) {
|
|
93
|
+
const sim = tuiState.simulators[i], server = tuiState.servers[i];
|
|
94
|
+
let simStr = "";
|
|
95
|
+
if (sim) {
|
|
96
|
+
const isSelected = tuiState.selectedCol === 0 && tuiState.selectedRow === i, isConnecting = tuiState.connectingFrom === sim.udid, hasRoute = tuiState.routes.has(sim.udid), dot = hasRoute ? box.dot : box.circle, name = sim.name.slice(0, 16), ver = sim.iosVersion ? ` (${sim.iosVersion})` : "";
|
|
97
|
+
let text = ` ${dot} ${name}${ver}`;
|
|
98
|
+
isSelected && (text = colors.inverse(text)), isConnecting && (text = colors.yellow(text)), hasRoute && (text = colors.green(text)), simStr = text;
|
|
99
|
+
}
|
|
100
|
+
let connStr = " ";
|
|
101
|
+
const simUdid = sim?.udid, connectedServerId = simUdid ? tuiState.routes.get(simUdid) : null;
|
|
102
|
+
connectedServerId && server?.id === connectedServerId ? connStr = colors.green(` ${box.line}${box.arrow} `) : tuiState.connectingFrom === simUdid && (connStr = colors.yellow(` ${box.line}${box.arrow} `));
|
|
103
|
+
let serverStr = "";
|
|
104
|
+
if (server) {
|
|
105
|
+
const isSelected = tuiState.selectedCol === 1 && tuiState.selectedRow === i, hasConnection = [...tuiState.routes.values()].includes(server.id), dot = hasConnection ? box.dot : box.circle, shortRoot = server.root.replace(process.env.HOME || "", "~").slice(0, 18), port2 = `:${server.port}`;
|
|
106
|
+
let text = `${dot} ${shortRoot.padEnd(18)} ${colors.dim(port2)}`;
|
|
107
|
+
isSelected && (text = colors.inverse(text)), hasConnection && (text = colors.green(text)), serverStr = text;
|
|
108
|
+
}
|
|
109
|
+
const simWidth = mid - 6, padSim = Math.max(0, simWidth - stripAnsi(simStr).length), serverWidth = width - mid - 6, padServer = Math.max(0, serverWidth - stripAnsi(serverStr).length);
|
|
110
|
+
lines.push(
|
|
111
|
+
colors.cyan(box.v) + simStr + " ".repeat(padSim) + connStr + serverStr + " ".repeat(padServer) + colors.cyan(box.v)
|
|
112
|
+
);
|
|
113
|
+
}
|
|
114
|
+
const contentHeight = 4 + maxRows, padRows = Math.max(0, height - contentHeight - 4);
|
|
115
|
+
for (let i = 0; i < padRows; i++)
|
|
116
|
+
lines.push(colors.cyan(box.v) + " ".repeat(width - 4) + colors.cyan(box.v));
|
|
117
|
+
lines.push(colors.cyan(box.v) + " ".repeat(width - 4) + colors.cyan(box.v));
|
|
118
|
+
const help1 = " [\u2191\u2193] select [\u2190\u2192] switch [space] connect [d] disconnect", help2 = " [m] mode [b] background [i] install [q] quit";
|
|
119
|
+
lines.push(
|
|
120
|
+
colors.cyan(box.v) + colors.dim(help1) + " ".repeat(Math.max(0, width - help1.length - 4)) + colors.cyan(box.v)
|
|
121
|
+
), lines.push(
|
|
122
|
+
colors.cyan(box.v) + colors.dim(help2) + " ".repeat(Math.max(0, width - help2.length - 4)) + colors.cyan(box.v)
|
|
123
|
+
), lines.push(colors.cyan(`${box.bl}${box.h.repeat(width - 4)}${box.br}`)), process.stdout.write(lines.join(`
|
|
124
|
+
`));
|
|
125
|
+
}
|
|
126
|
+
function stripAnsi(str) {
|
|
127
|
+
return str.replace(/\x1b\[[0-9;]*m/g, "");
|
|
128
|
+
}
|
|
129
|
+
async function installLoginItem() {
|
|
130
|
+
if (process.platform !== "darwin")
|
|
131
|
+
return;
|
|
132
|
+
const { exec } = await import("node:child_process"), { promisify } = await import("node:util"), execAsync = promisify(exec), onePath = process.argv[1] || "npx one", script = `
|
|
133
|
+
tell application "System Events"
|
|
134
|
+
make login item at end with properties {path:"${onePath}", name:"one daemon", hidden:true}
|
|
135
|
+
end tell
|
|
136
|
+
`;
|
|
137
|
+
try {
|
|
138
|
+
await execAsync(`osascript -e '${script}'`), console.log(colors.green(`
|
|
139
|
+
\u2713 Added to login items`));
|
|
140
|
+
} catch {
|
|
141
|
+
const plist = `<?xml version="1.0" encoding="UTF-8"?>
|
|
142
|
+
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
|
143
|
+
<plist version="1.0">
|
|
144
|
+
<dict>
|
|
145
|
+
<key>Label</key>
|
|
146
|
+
<string>com.one.daemon</string>
|
|
147
|
+
<key>ProgramArguments</key>
|
|
148
|
+
<array>
|
|
149
|
+
<string>${onePath}</string>
|
|
150
|
+
<string>daemon</string>
|
|
151
|
+
<string>--tui=false</string>
|
|
152
|
+
</array>
|
|
153
|
+
<key>RunAtLoad</key>
|
|
154
|
+
<true/>
|
|
155
|
+
<key>KeepAlive</key>
|
|
156
|
+
<false/>
|
|
157
|
+
</dict>
|
|
158
|
+
</plist>`, fs = await import("node:fs"), path = await import("node:path"), os = await import("node:os"), plistPath = path.join(os.homedir(), "Library", "LaunchAgents", "com.one.daemon.plist");
|
|
159
|
+
fs.writeFileSync(plistPath, plist), await execAsync(`launchctl load ${plistPath}`), console.log(colors.green(`
|
|
160
|
+
\u2713 Installed as launchd agent`));
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
function stopTUI() {
|
|
164
|
+
refreshInterval && (clearInterval(refreshInterval), refreshInterval = null), stdinListener && (process.stdin.removeListener("data", stdinListener), stdinListener = null), cursor.show(), cursor.clear(), cursor.to(1, 1), process.stdin.isTTY && process.stdin.setRawMode(!1), tuiState = null, daemonState = null;
|
|
165
|
+
}
|
|
166
|
+
export {
|
|
167
|
+
getRouteMode,
|
|
168
|
+
startTUI,
|
|
169
|
+
stopTUI
|
|
170
|
+
};
|
|
171
|
+
//# sourceMappingURL=tui.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/daemon/tui.ts"],
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": ["port"]
|
|
6
|
+
}
|
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
import { getAllServers, setRoute } from "./registry.mjs";
|
|
2
|
+
import { getBootedSimulators } from "./picker.mjs";
|
|
3
|
+
import { setRouteMode } from "./server.mjs";
|
|
4
|
+
import colors from "picocolors";
|
|
5
|
+
const ESC = "\x1B",
|
|
6
|
+
CSI = `${ESC}[`,
|
|
7
|
+
cursor = {
|
|
8
|
+
hide: () => process.stdout.write(`${CSI}?25l`),
|
|
9
|
+
show: () => process.stdout.write(`${CSI}?25h`),
|
|
10
|
+
to: (x, y) => process.stdout.write(`${CSI}${y};${x}H`),
|
|
11
|
+
clear: () => process.stdout.write(`${CSI}2J`)
|
|
12
|
+
},
|
|
13
|
+
box = {
|
|
14
|
+
tl: "\u250C",
|
|
15
|
+
tr: "\u2510",
|
|
16
|
+
bl: "\u2514",
|
|
17
|
+
br: "\u2518",
|
|
18
|
+
h: "\u2500",
|
|
19
|
+
v: "\u2502",
|
|
20
|
+
arrow: "\u25BA",
|
|
21
|
+
dot: "\u25CF",
|
|
22
|
+
circle: "\u25CB",
|
|
23
|
+
line: "\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500"
|
|
24
|
+
};
|
|
25
|
+
let tuiState = null,
|
|
26
|
+
daemonState = null,
|
|
27
|
+
refreshInterval = null,
|
|
28
|
+
stdinListener = null;
|
|
29
|
+
function getRouteMode() {
|
|
30
|
+
return tuiState?.routeMode || "ask";
|
|
31
|
+
}
|
|
32
|
+
function startTUI(state) {
|
|
33
|
+
daemonState = state, tuiState = {
|
|
34
|
+
simulators: [],
|
|
35
|
+
servers: [],
|
|
36
|
+
routes: /* @__PURE__ */new Map(),
|
|
37
|
+
selectedCol: 0,
|
|
38
|
+
selectedRow: 0,
|
|
39
|
+
connectingFrom: null,
|
|
40
|
+
routeMode: "most-recent"
|
|
41
|
+
}, cursor.hide(), cursor.clear(), process.stdin.isTTY && process.stdin.setRawMode(!0), process.stdin.resume(), stdinListener = key => {
|
|
42
|
+
const str = key.toString();
|
|
43
|
+
if ((str === "" || str === "q") && (stopTUI(), process.exit(0)), !!tuiState) {
|
|
44
|
+
if (str === "\x1B[A") tuiState.selectedRow = Math.max(0, tuiState.selectedRow - 1);else if (str === "\x1B[B") {
|
|
45
|
+
const max = tuiState.selectedCol === 0 ? tuiState.simulators.length - 1 : tuiState.servers.length - 1;
|
|
46
|
+
tuiState.selectedRow = Math.min(max, tuiState.selectedRow + 1);
|
|
47
|
+
} else if (str === "\x1B[C" || str === "\x1B[D") tuiState.selectedCol = tuiState.selectedCol === 0 ? 1 : 0, tuiState.selectedRow = 0, tuiState.connectingFrom = null;else if (str === " " || str === "\r") handleConnect();else if (str === "d") handleDisconnect();else if (str === "m") tuiState.routeMode = tuiState.routeMode === "most-recent" ? "ask" : "most-recent", setRouteMode(tuiState.routeMode);else if (str === "b") {
|
|
48
|
+
stopTUI(), console.log(colors.dim("\nDaemon running in background. Use `one daemon status` to check."));
|
|
49
|
+
return;
|
|
50
|
+
} else str === "i" && installLoginItem();
|
|
51
|
+
render();
|
|
52
|
+
}
|
|
53
|
+
}, process.stdin.on("data", stdinListener), refreshInterval = setInterval(refreshData, 500), refreshData();
|
|
54
|
+
}
|
|
55
|
+
function handleConnect() {
|
|
56
|
+
if (!(!tuiState || !daemonState)) {
|
|
57
|
+
if (tuiState.selectedCol === 0) {
|
|
58
|
+
const sim = tuiState.simulators[tuiState.selectedRow];
|
|
59
|
+
sim && (tuiState.connectingFrom = sim.udid, tuiState.selectedCol = 1, tuiState.selectedRow = 0);
|
|
60
|
+
} else if (tuiState.connectingFrom) {
|
|
61
|
+
const server = tuiState.servers[tuiState.selectedRow];
|
|
62
|
+
server && (tuiState.routes.set(tuiState.connectingFrom, server.id), setRoute(daemonState, server.bundleId, server.id), tuiState.connectingFrom = null);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
function handleDisconnect() {
|
|
67
|
+
if (tuiState && tuiState.selectedCol === 0) {
|
|
68
|
+
const sim = tuiState.simulators[tuiState.selectedRow];
|
|
69
|
+
sim && tuiState.routes.delete(sim.udid);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
async function refreshData() {
|
|
73
|
+
!tuiState || !daemonState || (tuiState.simulators = await getBootedSimulators(), tuiState.servers = getAllServers(daemonState), render());
|
|
74
|
+
}
|
|
75
|
+
function render() {
|
|
76
|
+
if (!tuiState) return;
|
|
77
|
+
const width = process.stdout.columns || 80,
|
|
78
|
+
height = process.stdout.rows || 24;
|
|
79
|
+
cursor.to(1, 1);
|
|
80
|
+
const lines = [],
|
|
81
|
+
title = " one daemon ",
|
|
82
|
+
port = ":8081",
|
|
83
|
+
modeRecent = tuiState.routeMode === "most-recent",
|
|
84
|
+
modeSwitch = ` [m] ${modeRecent ? colors.green("\u25CF") : colors.dim("\u25CB")} recent ${modeRecent ? colors.dim("\u25CB") : colors.green("\u25CF")} ask `,
|
|
85
|
+
headerPad = width - title.length - port.length - 22 - 4;
|
|
86
|
+
lines.push(colors.cyan(`${box.tl}${box.h}${title}${box.h.repeat(Math.max(0, headerPad))}`) + modeSwitch + colors.cyan(`${port}${box.h}${box.tr}`)), lines.push(colors.cyan(box.v) + " ".repeat(width - 4) + colors.cyan(box.v));
|
|
87
|
+
const col1 = " SIMULATORS",
|
|
88
|
+
col2 = "SERVERS",
|
|
89
|
+
mid = Math.floor(width / 2);
|
|
90
|
+
lines.push(colors.cyan(box.v) + colors.bold(colors.dim(col1)) + " ".repeat(mid - col1.length - 2) + colors.bold(colors.dim(col2)) + " ".repeat(width - mid - col2.length - 4) + colors.cyan(box.v)), lines.push(colors.cyan(box.v) + colors.dim(" " + "\u2500".repeat(mid - 4)) + " " + colors.dim("\u2500".repeat(width - mid - 4)) + colors.cyan(box.v));
|
|
91
|
+
const maxRows = Math.max(tuiState.simulators.length, tuiState.servers.length, 3);
|
|
92
|
+
for (let i = 0; i < maxRows; i++) {
|
|
93
|
+
const sim = tuiState.simulators[i],
|
|
94
|
+
server = tuiState.servers[i];
|
|
95
|
+
let simStr = "";
|
|
96
|
+
if (sim) {
|
|
97
|
+
const isSelected = tuiState.selectedCol === 0 && tuiState.selectedRow === i,
|
|
98
|
+
isConnecting = tuiState.connectingFrom === sim.udid,
|
|
99
|
+
hasRoute = tuiState.routes.has(sim.udid),
|
|
100
|
+
dot = hasRoute ? box.dot : box.circle,
|
|
101
|
+
name = sim.name.slice(0, 16),
|
|
102
|
+
ver = sim.iosVersion ? ` (${sim.iosVersion})` : "";
|
|
103
|
+
let text = ` ${dot} ${name}${ver}`;
|
|
104
|
+
isSelected && (text = colors.inverse(text)), isConnecting && (text = colors.yellow(text)), hasRoute && (text = colors.green(text)), simStr = text;
|
|
105
|
+
}
|
|
106
|
+
let connStr = " ";
|
|
107
|
+
const simUdid = sim?.udid,
|
|
108
|
+
connectedServerId = simUdid ? tuiState.routes.get(simUdid) : null;
|
|
109
|
+
connectedServerId && server?.id === connectedServerId ? connStr = colors.green(` ${box.line}${box.arrow} `) : tuiState.connectingFrom === simUdid && (connStr = colors.yellow(` ${box.line}${box.arrow} `));
|
|
110
|
+
let serverStr = "";
|
|
111
|
+
if (server) {
|
|
112
|
+
const isSelected = tuiState.selectedCol === 1 && tuiState.selectedRow === i,
|
|
113
|
+
hasConnection = [...tuiState.routes.values()].includes(server.id),
|
|
114
|
+
dot = hasConnection ? box.dot : box.circle,
|
|
115
|
+
shortRoot = server.root.replace(process.env.HOME || "", "~").slice(0, 18),
|
|
116
|
+
port2 = `:${server.port}`;
|
|
117
|
+
let text = `${dot} ${shortRoot.padEnd(18)} ${colors.dim(port2)}`;
|
|
118
|
+
isSelected && (text = colors.inverse(text)), hasConnection && (text = colors.green(text)), serverStr = text;
|
|
119
|
+
}
|
|
120
|
+
const simWidth = mid - 6,
|
|
121
|
+
padSim = Math.max(0, simWidth - stripAnsi(simStr).length),
|
|
122
|
+
serverWidth = width - mid - 6,
|
|
123
|
+
padServer = Math.max(0, serverWidth - stripAnsi(serverStr).length);
|
|
124
|
+
lines.push(colors.cyan(box.v) + simStr + " ".repeat(padSim) + connStr + serverStr + " ".repeat(padServer) + colors.cyan(box.v));
|
|
125
|
+
}
|
|
126
|
+
const contentHeight = 4 + maxRows,
|
|
127
|
+
padRows = Math.max(0, height - contentHeight - 4);
|
|
128
|
+
for (let i = 0; i < padRows; i++) lines.push(colors.cyan(box.v) + " ".repeat(width - 4) + colors.cyan(box.v));
|
|
129
|
+
lines.push(colors.cyan(box.v) + " ".repeat(width - 4) + colors.cyan(box.v));
|
|
130
|
+
const help1 = " [\u2191\u2193] select [\u2190\u2192] switch [space] connect [d] disconnect",
|
|
131
|
+
help2 = " [m] mode [b] background [i] install [q] quit";
|
|
132
|
+
lines.push(colors.cyan(box.v) + colors.dim(help1) + " ".repeat(Math.max(0, width - help1.length - 4)) + colors.cyan(box.v)), lines.push(colors.cyan(box.v) + colors.dim(help2) + " ".repeat(Math.max(0, width - help2.length - 4)) + colors.cyan(box.v)), lines.push(colors.cyan(`${box.bl}${box.h.repeat(width - 4)}${box.br}`)), process.stdout.write(lines.join(`
|
|
133
|
+
`));
|
|
134
|
+
}
|
|
135
|
+
function stripAnsi(str) {
|
|
136
|
+
return str.replace(/\x1b\[[0-9;]*m/g, "");
|
|
137
|
+
}
|
|
138
|
+
async function installLoginItem() {
|
|
139
|
+
if (process.platform !== "darwin") return;
|
|
140
|
+
const {
|
|
141
|
+
exec
|
|
142
|
+
} = await import("node:child_process"),
|
|
143
|
+
{
|
|
144
|
+
promisify
|
|
145
|
+
} = await import("node:util"),
|
|
146
|
+
execAsync = promisify(exec),
|
|
147
|
+
onePath = process.argv[1] || "npx one",
|
|
148
|
+
script = `
|
|
149
|
+
tell application "System Events"
|
|
150
|
+
make login item at end with properties {path:"${onePath}", name:"one daemon", hidden:true}
|
|
151
|
+
end tell
|
|
152
|
+
`;
|
|
153
|
+
try {
|
|
154
|
+
await execAsync(`osascript -e '${script}'`), console.log(colors.green(`
|
|
155
|
+
\u2713 Added to login items`));
|
|
156
|
+
} catch {
|
|
157
|
+
const plist = `<?xml version="1.0" encoding="UTF-8"?>
|
|
158
|
+
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
|
159
|
+
<plist version="1.0">
|
|
160
|
+
<dict>
|
|
161
|
+
<key>Label</key>
|
|
162
|
+
<string>com.one.daemon</string>
|
|
163
|
+
<key>ProgramArguments</key>
|
|
164
|
+
<array>
|
|
165
|
+
<string>${onePath}</string>
|
|
166
|
+
<string>daemon</string>
|
|
167
|
+
<string>--tui=false</string>
|
|
168
|
+
</array>
|
|
169
|
+
<key>RunAtLoad</key>
|
|
170
|
+
<true/>
|
|
171
|
+
<key>KeepAlive</key>
|
|
172
|
+
<false/>
|
|
173
|
+
</dict>
|
|
174
|
+
</plist>`,
|
|
175
|
+
fs = await import("node:fs"),
|
|
176
|
+
path = await import("node:path"),
|
|
177
|
+
os = await import("node:os"),
|
|
178
|
+
plistPath = path.join(os.homedir(), "Library", "LaunchAgents", "com.one.daemon.plist");
|
|
179
|
+
fs.writeFileSync(plistPath, plist), await execAsync(`launchctl load ${plistPath}`), console.log(colors.green(`
|
|
180
|
+
\u2713 Installed as launchd agent`));
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
function stopTUI() {
|
|
184
|
+
refreshInterval && (clearInterval(refreshInterval), refreshInterval = null), stdinListener && (process.stdin.removeListener("data", stdinListener), stdinListener = null), cursor.show(), cursor.clear(), cursor.to(1, 1), process.stdin.isTTY && process.stdin.setRawMode(!1), tuiState = null, daemonState = null;
|
|
185
|
+
}
|
|
186
|
+
export { getRouteMode, startTUI, stopTUI };
|
|
187
|
+
//# sourceMappingURL=tui.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["getAllServers","setRoute","getBootedSimulators","setRouteMode","colors","ESC","CSI","cursor","hide","process","stdout","write","show","to","x","y","clear","box","tl","tr","bl","br","h","v","arrow","dot","circle","line","tuiState","daemonState","refreshInterval","stdinListener","getRouteMode","routeMode","startTUI","state","simulators","servers","routes","Map","selectedCol","selectedRow","connectingFrom","stdin","isTTY","setRawMode","resume","key","str","toString","stopTUI","exit","Math","max","length","min","handleConnect","handleDisconnect","console","log","dim","installLoginItem","render","on","setInterval","refreshData","sim","udid","server","set","id","bundleId","delete","width","columns","height","rows","lines","title","port","modeRecent","modeSwitch","green","headerPad","push","cyan","repeat","col1","col2","mid","floor","bold","maxRows","i","simStr","isSelected","isConnecting","hasRoute","has","name","slice","ver","iosVersion","text","inverse","yellow","connStr","simUdid","connectedServerId","get","serverStr","hasConnection","values","includes","shortRoot","root","replace","env","HOME","port2","padEnd","simWidth","padSim","stripAnsi","serverWidth","padServer","contentHeight","padRows","help1","help2","join","platform","exec","promisify","execAsync","onePath","argv","script","plist","fs","path","os","plistPath","homedir","writeFileSync","clearInterval","removeListener"],"sources":["../../../src/daemon/tui.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
import { getAllServers, setRoute } from "./registry.native.js";
|
|
2
|
+
import { getBootedSimulators } from "./picker.native.js";
|
|
3
|
+
import { setRouteMode } from "./server.native.js";
|
|
4
|
+
import colors from "picocolors";
|
|
5
|
+
var ESC = "\x1B",
|
|
6
|
+
CSI = `${ESC}[`,
|
|
7
|
+
cursor = {
|
|
8
|
+
hide: function () {
|
|
9
|
+
return process.stdout.write(`${CSI}?25l`);
|
|
10
|
+
},
|
|
11
|
+
show: function () {
|
|
12
|
+
return process.stdout.write(`${CSI}?25h`);
|
|
13
|
+
},
|
|
14
|
+
to: function (x, y) {
|
|
15
|
+
return process.stdout.write(`${CSI}${y};${x}H`);
|
|
16
|
+
},
|
|
17
|
+
clear: function () {
|
|
18
|
+
return process.stdout.write(`${CSI}2J`);
|
|
19
|
+
}
|
|
20
|
+
},
|
|
21
|
+
box = {
|
|
22
|
+
tl: "\u250C",
|
|
23
|
+
tr: "\u2510",
|
|
24
|
+
bl: "\u2514",
|
|
25
|
+
br: "\u2518",
|
|
26
|
+
h: "\u2500",
|
|
27
|
+
v: "\u2502",
|
|
28
|
+
arrow: "\u25BA",
|
|
29
|
+
dot: "\u25CF",
|
|
30
|
+
circle: "\u25CB",
|
|
31
|
+
line: "\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500"
|
|
32
|
+
},
|
|
33
|
+
tuiState = null,
|
|
34
|
+
daemonState = null,
|
|
35
|
+
refreshInterval = null,
|
|
36
|
+
stdinListener = null;
|
|
37
|
+
function getRouteMode() {
|
|
38
|
+
return tuiState?.routeMode || "ask";
|
|
39
|
+
}
|
|
40
|
+
function startTUI(state) {
|
|
41
|
+
daemonState = state, tuiState = {
|
|
42
|
+
simulators: [],
|
|
43
|
+
servers: [],
|
|
44
|
+
routes: /* @__PURE__ */new Map(),
|
|
45
|
+
selectedCol: 0,
|
|
46
|
+
selectedRow: 0,
|
|
47
|
+
connectingFrom: null,
|
|
48
|
+
routeMode: "most-recent"
|
|
49
|
+
}, cursor.hide(), cursor.clear(), process.stdin.isTTY && process.stdin.setRawMode(!0), process.stdin.resume(), stdinListener = function (key) {
|
|
50
|
+
var str = key.toString();
|
|
51
|
+
if ((str === "" || str === "q") && (stopTUI(), process.exit(0)), !!tuiState) {
|
|
52
|
+
if (str === "\x1B[A") tuiState.selectedRow = Math.max(0, tuiState.selectedRow - 1);else if (str === "\x1B[B") {
|
|
53
|
+
var max = tuiState.selectedCol === 0 ? tuiState.simulators.length - 1 : tuiState.servers.length - 1;
|
|
54
|
+
tuiState.selectedRow = Math.min(max, tuiState.selectedRow + 1);
|
|
55
|
+
} else if (str === "\x1B[C" || str === "\x1B[D") tuiState.selectedCol = tuiState.selectedCol === 0 ? 1 : 0, tuiState.selectedRow = 0, tuiState.connectingFrom = null;else if (str === " " || str === "\r") handleConnect();else if (str === "d") handleDisconnect();else if (str === "m") tuiState.routeMode = tuiState.routeMode === "most-recent" ? "ask" : "most-recent", setRouteMode(tuiState.routeMode);else if (str === "b") {
|
|
56
|
+
stopTUI(), console.log(colors.dim("\nDaemon running in background. Use `one daemon status` to check."));
|
|
57
|
+
return;
|
|
58
|
+
} else str === "i" && installLoginItem();
|
|
59
|
+
render();
|
|
60
|
+
}
|
|
61
|
+
}, process.stdin.on("data", stdinListener), refreshInterval = setInterval(refreshData, 500), refreshData();
|
|
62
|
+
}
|
|
63
|
+
function handleConnect() {
|
|
64
|
+
if (!(!tuiState || !daemonState)) {
|
|
65
|
+
if (tuiState.selectedCol === 0) {
|
|
66
|
+
var sim = tuiState.simulators[tuiState.selectedRow];
|
|
67
|
+
sim && (tuiState.connectingFrom = sim.udid, tuiState.selectedCol = 1, tuiState.selectedRow = 0);
|
|
68
|
+
} else if (tuiState.connectingFrom) {
|
|
69
|
+
var server = tuiState.servers[tuiState.selectedRow];
|
|
70
|
+
server && (tuiState.routes.set(tuiState.connectingFrom, server.id), setRoute(daemonState, server.bundleId, server.id), tuiState.connectingFrom = null);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
function handleDisconnect() {
|
|
75
|
+
if (tuiState && tuiState.selectedCol === 0) {
|
|
76
|
+
var sim = tuiState.simulators[tuiState.selectedRow];
|
|
77
|
+
sim && tuiState.routes.delete(sim.udid);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
async function refreshData() {
|
|
81
|
+
!tuiState || !daemonState || (tuiState.simulators = await getBootedSimulators(), tuiState.servers = getAllServers(daemonState), render());
|
|
82
|
+
}
|
|
83
|
+
function render() {
|
|
84
|
+
if (tuiState) {
|
|
85
|
+
var width = process.stdout.columns || 80,
|
|
86
|
+
height = process.stdout.rows || 24;
|
|
87
|
+
cursor.to(1, 1);
|
|
88
|
+
var lines = [],
|
|
89
|
+
title = " one daemon ",
|
|
90
|
+
port = ":8081",
|
|
91
|
+
modeRecent = tuiState.routeMode === "most-recent",
|
|
92
|
+
modeSwitch = ` [m] ${modeRecent ? colors.green("\u25CF") : colors.dim("\u25CB")} recent ${modeRecent ? colors.dim("\u25CB") : colors.green("\u25CF")} ask `,
|
|
93
|
+
modeSwitchLen = 22,
|
|
94
|
+
headerPad = width - title.length - port.length - modeSwitchLen - 4;
|
|
95
|
+
lines.push(colors.cyan(`${box.tl}${box.h}${title}${box.h.repeat(Math.max(0, headerPad))}`) + modeSwitch + colors.cyan(`${port}${box.h}${box.tr}`)), lines.push(colors.cyan(box.v) + " ".repeat(width - 4) + colors.cyan(box.v));
|
|
96
|
+
var col1 = " SIMULATORS",
|
|
97
|
+
col2 = "SERVERS",
|
|
98
|
+
mid = Math.floor(width / 2);
|
|
99
|
+
lines.push(colors.cyan(box.v) + colors.bold(colors.dim(col1)) + " ".repeat(mid - col1.length - 2) + colors.bold(colors.dim(col2)) + " ".repeat(width - mid - col2.length - 4) + colors.cyan(box.v)), lines.push(colors.cyan(box.v) + colors.dim(" " + "\u2500".repeat(mid - 4)) + " " + colors.dim("\u2500".repeat(width - mid - 4)) + colors.cyan(box.v));
|
|
100
|
+
for (var maxRows = Math.max(tuiState.simulators.length, tuiState.servers.length, 3), i = 0; i < maxRows; i++) {
|
|
101
|
+
var sim = tuiState.simulators[i],
|
|
102
|
+
server = tuiState.servers[i],
|
|
103
|
+
simStr = "";
|
|
104
|
+
if (sim) {
|
|
105
|
+
var isSelected = tuiState.selectedCol === 0 && tuiState.selectedRow === i,
|
|
106
|
+
isConnecting = tuiState.connectingFrom === sim.udid,
|
|
107
|
+
hasRoute = tuiState.routes.has(sim.udid),
|
|
108
|
+
dot = hasRoute ? box.dot : box.circle,
|
|
109
|
+
name = sim.name.slice(0, 16),
|
|
110
|
+
ver = sim.iosVersion ? ` (${sim.iosVersion})` : "",
|
|
111
|
+
text = ` ${dot} ${name}${ver}`;
|
|
112
|
+
isSelected && (text = colors.inverse(text)), isConnecting && (text = colors.yellow(text)), hasRoute && (text = colors.green(text)), simStr = text;
|
|
113
|
+
}
|
|
114
|
+
var connStr = " ",
|
|
115
|
+
simUdid = sim?.udid,
|
|
116
|
+
connectedServerId = simUdid ? tuiState.routes.get(simUdid) : null;
|
|
117
|
+
connectedServerId && server?.id === connectedServerId ? connStr = colors.green(` ${box.line}${box.arrow} `) : tuiState.connectingFrom === simUdid && (connStr = colors.yellow(` ${box.line}${box.arrow} `));
|
|
118
|
+
var serverStr = "";
|
|
119
|
+
if (server) {
|
|
120
|
+
var isSelected1 = tuiState.selectedCol === 1 && tuiState.selectedRow === i,
|
|
121
|
+
hasConnection = [...tuiState.routes.values()].includes(server.id),
|
|
122
|
+
dot1 = hasConnection ? box.dot : box.circle,
|
|
123
|
+
shortRoot = server.root.replace(process.env.HOME || "", "~").slice(0, 18),
|
|
124
|
+
port1 = `:${server.port}`,
|
|
125
|
+
text1 = `${dot1} ${shortRoot.padEnd(18)} ${colors.dim(port1)}`;
|
|
126
|
+
isSelected1 && (text1 = colors.inverse(text1)), hasConnection && (text1 = colors.green(text1)), serverStr = text1;
|
|
127
|
+
}
|
|
128
|
+
var simWidth = mid - 6,
|
|
129
|
+
padSim = Math.max(0, simWidth - stripAnsi(simStr).length),
|
|
130
|
+
serverWidth = width - mid - 6,
|
|
131
|
+
padServer = Math.max(0, serverWidth - stripAnsi(serverStr).length);
|
|
132
|
+
lines.push(colors.cyan(box.v) + simStr + " ".repeat(padSim) + connStr + serverStr + " ".repeat(padServer) + colors.cyan(box.v));
|
|
133
|
+
}
|
|
134
|
+
for (var contentHeight = 4 + maxRows, padRows = Math.max(0, height - contentHeight - 4), i1 = 0; i1 < padRows; i1++) lines.push(colors.cyan(box.v) + " ".repeat(width - 4) + colors.cyan(box.v));
|
|
135
|
+
lines.push(colors.cyan(box.v) + " ".repeat(width - 4) + colors.cyan(box.v));
|
|
136
|
+
var help1 = " [\u2191\u2193] select [\u2190\u2192] switch [space] connect [d] disconnect",
|
|
137
|
+
help2 = " [m] mode [b] background [i] install [q] quit";
|
|
138
|
+
lines.push(colors.cyan(box.v) + colors.dim(help1) + " ".repeat(Math.max(0, width - help1.length - 4)) + colors.cyan(box.v)), lines.push(colors.cyan(box.v) + colors.dim(help2) + " ".repeat(Math.max(0, width - help2.length - 4)) + colors.cyan(box.v)), lines.push(colors.cyan(`${box.bl}${box.h.repeat(width - 4)}${box.br}`)), process.stdout.write(lines.join(`
|
|
139
|
+
`));
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
function stripAnsi(str) {
|
|
143
|
+
return str.replace(/\x1b\[[0-9;]*m/g, "");
|
|
144
|
+
}
|
|
145
|
+
async function installLoginItem() {
|
|
146
|
+
if (process.platform === "darwin") {
|
|
147
|
+
var {
|
|
148
|
+
exec
|
|
149
|
+
} = await import("child_process"),
|
|
150
|
+
{
|
|
151
|
+
promisify
|
|
152
|
+
} = await import("util"),
|
|
153
|
+
execAsync = promisify(exec),
|
|
154
|
+
onePath = process.argv[1] || "npx one",
|
|
155
|
+
script = `
|
|
156
|
+
tell application "System Events"
|
|
157
|
+
make login item at end with properties {path:"${onePath}", name:"one daemon", hidden:true}
|
|
158
|
+
end tell
|
|
159
|
+
`;
|
|
160
|
+
try {
|
|
161
|
+
await execAsync(`osascript -e '${script}'`), console.log(colors.green(`
|
|
162
|
+
\u2713 Added to login items`));
|
|
163
|
+
} catch {
|
|
164
|
+
var plist = `<?xml version="1.0" encoding="UTF-8"?>
|
|
165
|
+
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
|
166
|
+
<plist version="1.0">
|
|
167
|
+
<dict>
|
|
168
|
+
<key>Label</key>
|
|
169
|
+
<string>com.one.daemon</string>
|
|
170
|
+
<key>ProgramArguments</key>
|
|
171
|
+
<array>
|
|
172
|
+
<string>${onePath}</string>
|
|
173
|
+
<string>daemon</string>
|
|
174
|
+
<string>--tui=false</string>
|
|
175
|
+
</array>
|
|
176
|
+
<key>RunAtLoad</key>
|
|
177
|
+
<true/>
|
|
178
|
+
<key>KeepAlive</key>
|
|
179
|
+
<false/>
|
|
180
|
+
</dict>
|
|
181
|
+
</plist>`,
|
|
182
|
+
fs = await import("fs"),
|
|
183
|
+
path = await import("path"),
|
|
184
|
+
os = await import("os"),
|
|
185
|
+
plistPath = path.join(os.homedir(), "Library", "LaunchAgents", "com.one.daemon.plist");
|
|
186
|
+
fs.writeFileSync(plistPath, plist), await execAsync(`launchctl load ${plistPath}`), console.log(colors.green(`
|
|
187
|
+
\u2713 Installed as launchd agent`));
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
function stopTUI() {
|
|
192
|
+
refreshInterval && (clearInterval(refreshInterval), refreshInterval = null), stdinListener && (process.stdin.removeListener("data", stdinListener), stdinListener = null), cursor.show(), cursor.clear(), cursor.to(1, 1), process.stdin.isTTY && process.stdin.setRawMode(!1), tuiState = null, daemonState = null;
|
|
193
|
+
}
|
|
194
|
+
export { getRouteMode, startTUI, stopTUI };
|
|
195
|
+
//# sourceMappingURL=tui.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["getAllServers","setRoute","getBootedSimulators","setRouteMode","colors","ESC","CSI","cursor","hide","process","stdout","write","show","to","x","y","clear","box","tl","tr","bl","br","h","v","arrow","dot","circle","line","tuiState","daemonState","refreshInterval","stdinListener","getRouteMode","routeMode","startTUI","state","simulators","servers","routes","Map","selectedCol","selectedRow","connectingFrom","stdin","isTTY","setRawMode","resume","key","str","toString","stopTUI","exit","Math","max","length","min","handleConnect","handleDisconnect","console","log","dim","installLoginItem","render","on","setInterval","refreshData","sim","udid","server","set","id","bundleId","delete","width","columns","height","rows","lines","title","port","modeRecent","modeSwitch","green","modeSwitchLen","headerPad","push","cyan","repeat","col1","col2","mid","floor","bold","maxRows","i","simStr","isSelected","isConnecting","hasRoute","has","name","slice","ver","iosVersion","text","inverse","yellow","connStr","simUdid","connectedServerId","get","serverStr","isSelected1","hasConnection","values","includes","dot1","shortRoot","root","replace","env","HOME","port1","text1","padEnd","simWidth","padSim","stripAnsi","serverWidth","padServer","contentHeight","padRows","i1","help1","help2","join","platform","exec","promisify","execAsync","onePath","argv","script","plist","fs","path","os","plistPath","homedir","writeFileSync","clearInterval","removeListener"],"sources":["../../../src/daemon/tui.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=types.js.map
|