@holochain/hc-spin 0.600.2-rc.0 → 0.601.0
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/CHANGELOG.md +15 -2
- package/README.md +1 -1
- package/dist/main/index.js +8 -13
- package/flake.lock +30 -30
- package/package.json +3 -3
- package/src/main/index.ts +15 -21
- package/src/main/validateArgs.ts +3 -8
package/CHANGELOG.md
CHANGED
|
@@ -4,10 +4,23 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
|
|
|
4
4
|
|
|
5
5
|
## \[Unreleased\]
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
## 2026-05-14: v0.601.0
|
|
8
|
+
|
|
9
|
+
### Changed
|
|
10
|
+
|
|
11
|
+
- Bumped to holochain 0.6.1
|
|
12
|
+
|
|
13
|
+
## 2026-02-13: v0.600.3-rc.0
|
|
14
|
+
|
|
9
15
|
### Changed
|
|
16
|
+
- Holochain is now run with the iroh transport. The argument `--signaling-url` has been replaced with `--relay-url`.
|
|
10
17
|
### Removed
|
|
18
|
+
- Removed CLI option `--transport` as holochain is run with `quic` iroh transport.
|
|
19
|
+
|
|
20
|
+
## 2026-01-22: v0.600.2-rc.0
|
|
21
|
+
|
|
22
|
+
### Changed
|
|
23
|
+
- Added a CLI option `--transport` to choose between `quic` and `webrtc`. `quic` is used in combination with the iroh transport in Holochain, `webrtc` with tx5. The default transport in Holochain is iroh, so the default for hc-spin is `quic`. If no transport option is passed in on the command line, `quic` is used.
|
|
11
24
|
|
|
12
25
|
## 2026-01-22: v0.600.1-rc.0
|
|
13
26
|
|
package/README.md
CHANGED
|
@@ -50,7 +50,7 @@ Options:
|
|
|
50
50
|
--network-seed <string> Install the app with a specific network seed.
|
|
51
51
|
--ui-path <path> Path to the folder containing the index.html of the webhapp's UI.
|
|
52
52
|
--ui-port <number> Port pointing to a localhost dev server that serves your UI assets.
|
|
53
|
-
--
|
|
53
|
+
--relay-url <url> Url of the relay server to use. By default, hc spin spins up a local development relay server for you
|
|
54
54
|
but this argument allows you to specify a custom one.
|
|
55
55
|
--open-devtools Automatically open the devtools on startup.
|
|
56
56
|
-h, --help display help for command
|
package/dist/main/index.js
CHANGED
|
@@ -12442,8 +12442,7 @@ function validateCliArgs(cliArgs, cliOpts, appDataRootDir) {
|
|
|
12442
12442
|
singalingUrl: cliOpts.signalingUrl,
|
|
12443
12443
|
bootstrapUrl: cliOpts.bootstrapUrl,
|
|
12444
12444
|
happOrWebhappPath: isHapp ? { type: "happ", path: happOrWebhappPath } : { type: "webhapp", path: happOrWebhappPath },
|
|
12445
|
-
openDevtools: cliOpts.openDevtools ? true : false
|
|
12446
|
-
transport: cliOpts.transport || "quic"
|
|
12445
|
+
openDevtools: cliOpts.openDevtools ? true : false
|
|
12447
12446
|
};
|
|
12448
12447
|
}
|
|
12449
12448
|
async function createHappWindow(uiSource, appId, agentNum, appPort, appAuthToken, appDataRootDir) {
|
|
@@ -12564,7 +12563,7 @@ function setLinkOpenHandlers(browserWindow) {
|
|
|
12564
12563
|
}
|
|
12565
12564
|
const rustUtils = require("@holochain/hc-spin-rust-utils");
|
|
12566
12565
|
const cli = new commander.Command();
|
|
12567
|
-
cli.name("hc-spin").description("CLI to run Holochain apps during development.").version(`${"0.600.
|
|
12566
|
+
cli.name("hc-spin").description("CLI to run Holochain apps during development.").version(`${"0.600.0"} (built for holochain ${"0.6.0"})`).argument(
|
|
12568
12567
|
"<path>",
|
|
12569
12568
|
"Path to .webhapp or .happ file to launch. If a .happ file is passed, either a UI path must be specified via --ui-path or a port pointing to a localhost server via --ui-port"
|
|
12570
12569
|
).option(
|
|
@@ -12588,10 +12587,7 @@ cli.name("hc-spin").description("CLI to run Holochain apps during development.")
|
|
|
12588
12587
|
).option(
|
|
12589
12588
|
"--signaling-url <url>",
|
|
12590
12589
|
"Url of the signaling server to use. By default, hc spin spins up a local development signaling server for you but this argument allows you to specify a custom one."
|
|
12591
|
-
).option("--open-devtools", "Automatically open the devtools on startup.")
|
|
12592
|
-
"--transport <quic|webrtc>",
|
|
12593
|
-
"Configure network transport. Defaults to quic, compatible with the iroh transport used in in Holochain by default. Set to `webrtc` for tx5 transport."
|
|
12594
|
-
);
|
|
12590
|
+
).option("--open-devtools", "Automatically open the devtools on startup.");
|
|
12595
12591
|
cli.parse();
|
|
12596
12592
|
const rl = require("readline").createInterface({
|
|
12597
12593
|
input: process.stdin,
|
|
@@ -12664,7 +12660,7 @@ const handleSignZomeCall = async (e, request) => {
|
|
|
12664
12660
|
};
|
|
12665
12661
|
return signedZomeCall;
|
|
12666
12662
|
};
|
|
12667
|
-
async function startLocalServices(
|
|
12663
|
+
async function startLocalServices() {
|
|
12668
12664
|
const localServicesHandle = childProcess__namespace.spawn("kitsune2-bootstrap-srv");
|
|
12669
12665
|
return new Promise((resolve) => {
|
|
12670
12666
|
let bootStrapUrl;
|
|
@@ -12676,7 +12672,7 @@ async function startLocalServices(transport) {
|
|
|
12676
12672
|
if (line.includes("#kitsune2_bootstrap_srv#listening#")) {
|
|
12677
12673
|
const hostAndPort = line.split("#kitsune2_bootstrap_srv#listening#")[1].split("#")[0];
|
|
12678
12674
|
bootStrapUrl = `http://${hostAndPort}`;
|
|
12679
|
-
signalUrl =
|
|
12675
|
+
signalUrl = `ws://${hostAndPort}`;
|
|
12680
12676
|
}
|
|
12681
12677
|
if (line.includes("#kitsune2_bootstrap_srv#running#")) {
|
|
12682
12678
|
bootstrapRunning = true;
|
|
@@ -12690,7 +12686,7 @@ async function startLocalServices(transport) {
|
|
|
12690
12686
|
});
|
|
12691
12687
|
});
|
|
12692
12688
|
}
|
|
12693
|
-
async function spawnSandboxes(nAgents, happPath, bootStrapUrl, signalUrl, appId,
|
|
12689
|
+
async function spawnSandboxes(nAgents, happPath, bootStrapUrl, signalUrl, appId, networkSeed, targetArcFactor) {
|
|
12694
12690
|
const generateArgs = [
|
|
12695
12691
|
"sandbox",
|
|
12696
12692
|
"--piped",
|
|
@@ -12715,7 +12711,7 @@ async function spawnSandboxes(nAgents, happPath, bootStrapUrl, signalUrl, appId,
|
|
|
12715
12711
|
if (targetArcFactor !== void 0) {
|
|
12716
12712
|
generateArgs.push("--target-arc-factor", targetArcFactor.toString());
|
|
12717
12713
|
}
|
|
12718
|
-
generateArgs.push("--bootstrap", bootStrapUrl,
|
|
12714
|
+
generateArgs.push("--bootstrap", bootStrapUrl, "webrtc", signalUrl);
|
|
12719
12715
|
let readyConductors = 0;
|
|
12720
12716
|
const portsInfo = {};
|
|
12721
12717
|
const sandboxPaths = [];
|
|
@@ -12759,14 +12755,13 @@ electron.app.whenReady().then(async () => {
|
|
|
12759
12755
|
happTargetDir
|
|
12760
12756
|
);
|
|
12761
12757
|
}
|
|
12762
|
-
const [bootstrapUrl, signalingUrl] = await startLocalServices(
|
|
12758
|
+
const [bootstrapUrl, signalingUrl] = await startLocalServices();
|
|
12763
12759
|
const [sandboxHandle, sandboxPaths, portsInfo] = await spawnSandboxes(
|
|
12764
12760
|
CLI_OPTS.numAgents,
|
|
12765
12761
|
happTargetDir ? happTargetDir : CLI_OPTS.happOrWebhappPath.path,
|
|
12766
12762
|
CLI_OPTS.bootstrapUrl ? CLI_OPTS.bootstrapUrl : bootstrapUrl,
|
|
12767
12763
|
CLI_OPTS.singalingUrl ? CLI_OPTS.singalingUrl : signalingUrl,
|
|
12768
12764
|
CLI_OPTS.appId,
|
|
12769
|
-
CLI_OPTS.transport,
|
|
12770
12765
|
CLI_OPTS.networkSeed,
|
|
12771
12766
|
CLI_OPTS.targetArcFactor
|
|
12772
12767
|
);
|
package/flake.lock
CHANGED
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
"nodes": {
|
|
3
3
|
"crane": {
|
|
4
4
|
"locked": {
|
|
5
|
-
"lastModified":
|
|
6
|
-
"narHash": "sha256-
|
|
5
|
+
"lastModified": 1778106249,
|
|
6
|
+
"narHash": "sha256-cM/AuKy5tMhwOOQIbha8ZRRMHVfNf7cv2aljIw+qoCg=",
|
|
7
7
|
"owner": "ipetkov",
|
|
8
8
|
"repo": "crane",
|
|
9
|
-
"rev": "
|
|
9
|
+
"rev": "6d015ea29630b7ad2402841386da2cb617a470a7",
|
|
10
10
|
"type": "github"
|
|
11
11
|
},
|
|
12
12
|
"original": {
|
|
@@ -20,11 +20,11 @@
|
|
|
20
20
|
"nixpkgs-lib": "nixpkgs-lib"
|
|
21
21
|
},
|
|
22
22
|
"locked": {
|
|
23
|
-
"lastModified":
|
|
24
|
-
"narHash": "sha256-
|
|
23
|
+
"lastModified": 1777988971,
|
|
24
|
+
"narHash": "sha256-qIoWPDs+0/8JecyYgE3gpKQxW/4bLW/gp45vow9ioCQ=",
|
|
25
25
|
"owner": "hercules-ci",
|
|
26
26
|
"repo": "flake-parts",
|
|
27
|
-
"rev": "
|
|
27
|
+
"rev": "0678d8986be1661af6bb555f3489f2fdfc31f6ff",
|
|
28
28
|
"type": "github"
|
|
29
29
|
},
|
|
30
30
|
"original": {
|
|
@@ -36,16 +36,16 @@
|
|
|
36
36
|
"hc-scaffold": {
|
|
37
37
|
"flake": false,
|
|
38
38
|
"locked": {
|
|
39
|
-
"lastModified":
|
|
40
|
-
"narHash": "sha256-
|
|
39
|
+
"lastModified": 1774456561,
|
|
40
|
+
"narHash": "sha256-CQ3HUE++iyLWJFK9wt2TeusmbuLavGxF8kxnv8mMsVw=",
|
|
41
41
|
"owner": "holochain",
|
|
42
42
|
"repo": "scaffolding",
|
|
43
|
-
"rev": "
|
|
43
|
+
"rev": "3329e3c01572dc525ee95caa3d179dc659134572",
|
|
44
44
|
"type": "github"
|
|
45
45
|
},
|
|
46
46
|
"original": {
|
|
47
47
|
"owner": "holochain",
|
|
48
|
-
"ref": "v0.600.
|
|
48
|
+
"ref": "v0.600.3-rc.0",
|
|
49
49
|
"repo": "scaffolding",
|
|
50
50
|
"type": "github"
|
|
51
51
|
}
|
|
@@ -53,16 +53,16 @@
|
|
|
53
53
|
"holochain": {
|
|
54
54
|
"flake": false,
|
|
55
55
|
"locked": {
|
|
56
|
-
"lastModified":
|
|
57
|
-
"narHash": "sha256-
|
|
56
|
+
"lastModified": 1778596880,
|
|
57
|
+
"narHash": "sha256-uUJZkeqBAZgXtDf0juCRpKOUO3yY1gWEKWGqatWcVjY=",
|
|
58
58
|
"owner": "holochain",
|
|
59
59
|
"repo": "holochain",
|
|
60
|
-
"rev": "
|
|
60
|
+
"rev": "3bdeaccd1c54fa351e76f7347601dfbc061d5bd4",
|
|
61
61
|
"type": "github"
|
|
62
62
|
},
|
|
63
63
|
"original": {
|
|
64
64
|
"owner": "holochain",
|
|
65
|
-
"ref": "holochain-0.6.1
|
|
65
|
+
"ref": "holochain-0.6.1",
|
|
66
66
|
"repo": "holochain",
|
|
67
67
|
"type": "github"
|
|
68
68
|
}
|
|
@@ -79,11 +79,11 @@
|
|
|
79
79
|
"rust-overlay": "rust-overlay"
|
|
80
80
|
},
|
|
81
81
|
"locked": {
|
|
82
|
-
"lastModified":
|
|
83
|
-
"narHash": "sha256-
|
|
82
|
+
"lastModified": 1778614884,
|
|
83
|
+
"narHash": "sha256-Kxgtrs15iA9D0f4Sj/rt/yVRYk+Ew8TxeQrmMdYO0Qg=",
|
|
84
84
|
"owner": "holochain",
|
|
85
85
|
"repo": "holonix",
|
|
86
|
-
"rev": "
|
|
86
|
+
"rev": "9931f18ccf9721fc5469fd3ae9d5bb118a6bac5a",
|
|
87
87
|
"type": "github"
|
|
88
88
|
},
|
|
89
89
|
"original": {
|
|
@@ -96,16 +96,16 @@
|
|
|
96
96
|
"kitsune2": {
|
|
97
97
|
"flake": false,
|
|
98
98
|
"locked": {
|
|
99
|
-
"lastModified":
|
|
100
|
-
"narHash": "sha256
|
|
99
|
+
"lastModified": 1778073766,
|
|
100
|
+
"narHash": "sha256-/hG+/9VlZiC1u/UASbIOH0oeiUmKlzqvur++CWSVAbQ=",
|
|
101
101
|
"owner": "holochain",
|
|
102
102
|
"repo": "kitsune2",
|
|
103
|
-
"rev": "
|
|
103
|
+
"rev": "b33fa55606f8bd5020cffacf1ffae41f92d4d296",
|
|
104
104
|
"type": "github"
|
|
105
105
|
},
|
|
106
106
|
"original": {
|
|
107
107
|
"owner": "holochain",
|
|
108
|
-
"ref": "
|
|
108
|
+
"ref": "v0.4.1",
|
|
109
109
|
"repo": "kitsune2",
|
|
110
110
|
"type": "github"
|
|
111
111
|
}
|
|
@@ -129,11 +129,11 @@
|
|
|
129
129
|
},
|
|
130
130
|
"nixpkgs": {
|
|
131
131
|
"locked": {
|
|
132
|
-
"lastModified":
|
|
133
|
-
"narHash": "sha256-
|
|
132
|
+
"lastModified": 1778430510,
|
|
133
|
+
"narHash": "sha256-Ti+ZBvW6yrWWAg2szExVTwCd4qOJ3KlVr1tFHfyfi8Q=",
|
|
134
134
|
"owner": "nixos",
|
|
135
135
|
"repo": "nixpkgs",
|
|
136
|
-
"rev": "
|
|
136
|
+
"rev": "8fd9daa3db09ced9700431c5b7ad0e8ba199b575",
|
|
137
137
|
"type": "github"
|
|
138
138
|
},
|
|
139
139
|
"original": {
|
|
@@ -145,11 +145,11 @@
|
|
|
145
145
|
},
|
|
146
146
|
"nixpkgs-lib": {
|
|
147
147
|
"locked": {
|
|
148
|
-
"lastModified":
|
|
149
|
-
"narHash": "sha256-
|
|
148
|
+
"lastModified": 1777168982,
|
|
149
|
+
"narHash": "sha256-GOkGPcboWE9BmGCRMLX3worL4EMnsnG8MyKmXNeYuhQ=",
|
|
150
150
|
"owner": "nix-community",
|
|
151
151
|
"repo": "nixpkgs.lib",
|
|
152
|
-
"rev": "
|
|
152
|
+
"rev": "f5901329dade4a6ea039af1433fb087bd9c1fe14",
|
|
153
153
|
"type": "github"
|
|
154
154
|
},
|
|
155
155
|
"original": {
|
|
@@ -179,11 +179,11 @@
|
|
|
179
179
|
]
|
|
180
180
|
},
|
|
181
181
|
"locked": {
|
|
182
|
-
"lastModified":
|
|
183
|
-
"narHash": "sha256-
|
|
182
|
+
"lastModified": 1778555852,
|
|
183
|
+
"narHash": "sha256-55EmwooVAS4UpA0oWd5wilKPRqCiHD5BAej9QiNwheY=",
|
|
184
184
|
"owner": "oxalica",
|
|
185
185
|
"repo": "rust-overlay",
|
|
186
|
-
"rev": "
|
|
186
|
+
"rev": "f29b0f7a9f367e0056b716f8aa137cb41e784444",
|
|
187
187
|
"type": "github"
|
|
188
188
|
},
|
|
189
189
|
"original": {
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@holochain/hc-spin",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"holochainVersion": "0.6.1
|
|
3
|
+
"version": "0.601.0",
|
|
4
|
+
"holochainVersion": "0.6.1",
|
|
5
5
|
"description": "CLI to run Holochain apps during development.",
|
|
6
6
|
"author": "matthme",
|
|
7
7
|
"homepage": "https://developer.holochain.org",
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
"@electron-toolkit/preload": "^3.0.0",
|
|
37
37
|
"@electron-toolkit/utils": "^3.0.0",
|
|
38
38
|
"@holochain/client": "^0.20.0",
|
|
39
|
-
"@holochain/hc-spin-rust-utils": "0.601.1
|
|
39
|
+
"@holochain/hc-spin-rust-utils": "0.601.1",
|
|
40
40
|
"@msgpack/msgpack": "^2.8.0",
|
|
41
41
|
"bufferutil": "4.0.8",
|
|
42
42
|
"commander": "11.1.0",
|
package/src/main/index.ts
CHANGED
|
@@ -21,7 +21,7 @@ import path from 'path';
|
|
|
21
21
|
import split from 'split';
|
|
22
22
|
|
|
23
23
|
import { menu } from './menu';
|
|
24
|
-
import {
|
|
24
|
+
import { validateCliArgs } from './validateArgs';
|
|
25
25
|
import { createHappWindow, loadHappWindow } from './windows';
|
|
26
26
|
|
|
27
27
|
const rustUtils = require('@holochain/hc-spin-rust-utils');
|
|
@@ -63,14 +63,10 @@ cli
|
|
|
63
63
|
'Port pointing to a localhost dev server that serves your UI assets.',
|
|
64
64
|
)
|
|
65
65
|
.option(
|
|
66
|
-
'--
|
|
67
|
-
'Url of the
|
|
66
|
+
'--relay-url <url>',
|
|
67
|
+
'Url of the relay server to use. By default, hc spin spins up a local development relay server for you but this argument allows you to specify a custom one.',
|
|
68
68
|
)
|
|
69
|
-
.option('--open-devtools', 'Automatically open the devtools on startup.')
|
|
70
|
-
.option(
|
|
71
|
-
'--transport <quic|webrtc>',
|
|
72
|
-
'Configure network transport. Defaults to quic, compatible with the iroh transport used in in Holochain by default. Set to `webrtc` for tx5 transport.',
|
|
73
|
-
);
|
|
69
|
+
.option('--open-devtools', 'Automatically open the devtools on startup.');
|
|
74
70
|
|
|
75
71
|
cli.parse();
|
|
76
72
|
// console.log('Got CLI opts: ', cli.opts());
|
|
@@ -175,26 +171,26 @@ const handleSignZomeCall = async (
|
|
|
175
171
|
return signedZomeCall;
|
|
176
172
|
};
|
|
177
173
|
|
|
178
|
-
async function startLocalServices(
|
|
174
|
+
async function startLocalServices(): Promise<[string, string]> {
|
|
179
175
|
const localServicesHandle = childProcess.spawn('kitsune2-bootstrap-srv');
|
|
180
176
|
return new Promise((resolve) => {
|
|
181
177
|
let bootStrapUrl;
|
|
182
|
-
let
|
|
178
|
+
let relayUrl;
|
|
183
179
|
let bootstrapRunning = false;
|
|
184
|
-
let
|
|
180
|
+
let relayRunning = false;
|
|
185
181
|
localServicesHandle.stdout.pipe(split()).on('data', async (line: string) => {
|
|
186
182
|
console.log(`[hc-spin] | [kitsune2-bootstrap-srv]: ${line}`);
|
|
187
183
|
if (line.includes('#kitsune2_bootstrap_srv#listening#')) {
|
|
188
184
|
const hostAndPort = line.split('#kitsune2_bootstrap_srv#listening#')[1].split('#')[0];
|
|
189
185
|
bootStrapUrl = `http://${hostAndPort}`;
|
|
190
|
-
|
|
186
|
+
relayUrl = `http://${hostAndPort}`;
|
|
191
187
|
}
|
|
192
188
|
if (line.includes('#kitsune2_bootstrap_srv#running#')) {
|
|
193
189
|
bootstrapRunning = true;
|
|
194
|
-
|
|
190
|
+
relayRunning = true;
|
|
195
191
|
}
|
|
196
|
-
if (bootstrapRunning &&
|
|
197
|
-
resolve([bootStrapUrl,
|
|
192
|
+
if (bootstrapRunning && relayRunning && bootStrapUrl && relayUrl)
|
|
193
|
+
resolve([bootStrapUrl, relayUrl]);
|
|
198
194
|
});
|
|
199
195
|
localServicesHandle.stderr.pipe(split()).on('data', async (line: string) => {
|
|
200
196
|
console.log(`[hc-spin] | [hc run-local-services] ERROR: ${line}`);
|
|
@@ -211,9 +207,8 @@ async function spawnSandboxes(
|
|
|
211
207
|
nAgents: number,
|
|
212
208
|
happPath: string,
|
|
213
209
|
bootStrapUrl: string,
|
|
214
|
-
|
|
210
|
+
relayUrl: string,
|
|
215
211
|
appId: string,
|
|
216
|
-
transport: Transport,
|
|
217
212
|
networkSeed?: string,
|
|
218
213
|
targetArcFactor?: number,
|
|
219
214
|
): Promise<
|
|
@@ -244,7 +239,7 @@ async function spawnSandboxes(
|
|
|
244
239
|
if (targetArcFactor !== undefined) {
|
|
245
240
|
generateArgs.push('--target-arc-factor', targetArcFactor.toString());
|
|
246
241
|
}
|
|
247
|
-
generateArgs.push('--bootstrap', bootStrapUrl,
|
|
242
|
+
generateArgs.push('--bootstrap', bootStrapUrl, 'quic', relayUrl);
|
|
248
243
|
|
|
249
244
|
let readyConductors = 0;
|
|
250
245
|
const portsInfo: Record<number, PortsInfo> = {};
|
|
@@ -306,15 +301,14 @@ app.whenReady().then(async () => {
|
|
|
306
301
|
);
|
|
307
302
|
}
|
|
308
303
|
|
|
309
|
-
const [bootstrapUrl,
|
|
304
|
+
const [bootstrapUrl, relayUrl] = await startLocalServices();
|
|
310
305
|
|
|
311
306
|
const [sandboxHandle, sandboxPaths, portsInfo] = await spawnSandboxes(
|
|
312
307
|
CLI_OPTS.numAgents,
|
|
313
308
|
happTargetDir ? happTargetDir : CLI_OPTS.happOrWebhappPath.path,
|
|
314
309
|
CLI_OPTS.bootstrapUrl ? CLI_OPTS.bootstrapUrl : bootstrapUrl,
|
|
315
|
-
CLI_OPTS.
|
|
310
|
+
CLI_OPTS.relayUrl ? CLI_OPTS.relayUrl : relayUrl,
|
|
316
311
|
CLI_OPTS.appId,
|
|
317
|
-
CLI_OPTS.transport,
|
|
318
312
|
CLI_OPTS.networkSeed,
|
|
319
313
|
CLI_OPTS.targetArcFactor,
|
|
320
314
|
);
|
package/src/main/validateArgs.ts
CHANGED
|
@@ -11,10 +11,9 @@ export type CliOpts = {
|
|
|
11
11
|
targetArcFactor?: number;
|
|
12
12
|
uiPath?: string;
|
|
13
13
|
uiPort?: number;
|
|
14
|
-
|
|
14
|
+
relayUrl?: string;
|
|
15
15
|
bootstrapUrl?: string;
|
|
16
16
|
openDevtools?: boolean;
|
|
17
|
-
transport?: Transport;
|
|
18
17
|
};
|
|
19
18
|
|
|
20
19
|
export type CliOptsValidated = {
|
|
@@ -24,15 +23,12 @@ export type CliOptsValidated = {
|
|
|
24
23
|
networkSeed: string | undefined;
|
|
25
24
|
targetArcFactor: number | undefined;
|
|
26
25
|
uiSource: UISource;
|
|
27
|
-
|
|
26
|
+
relayUrl: string | undefined;
|
|
28
27
|
bootstrapUrl: string | undefined;
|
|
29
28
|
happOrWebhappPath: HappOrWebhappPath;
|
|
30
29
|
openDevtools: boolean;
|
|
31
|
-
transport: Transport;
|
|
32
30
|
};
|
|
33
31
|
|
|
34
|
-
export type Transport = 'quic' | 'webrtc';
|
|
35
|
-
|
|
36
32
|
export type HappOrWebhappPath = {
|
|
37
33
|
type: 'happ' | 'webhapp';
|
|
38
34
|
path: string;
|
|
@@ -102,12 +98,11 @@ export function validateCliArgs(
|
|
|
102
98
|
: cliOpts.uiPort
|
|
103
99
|
? { type: 'port', port: cliOpts.uiPort }
|
|
104
100
|
: { type: 'path', path: path.join(appDataRootDir, 'apps', appId, 'ui') },
|
|
105
|
-
|
|
101
|
+
relayUrl: cliOpts.relayUrl,
|
|
106
102
|
bootstrapUrl: cliOpts.bootstrapUrl,
|
|
107
103
|
happOrWebhappPath: isHapp
|
|
108
104
|
? { type: 'happ', path: happOrWebhappPath }
|
|
109
105
|
: { type: 'webhapp', path: happOrWebhappPath },
|
|
110
106
|
openDevtools: cliOpts.openDevtools ? true : false,
|
|
111
|
-
transport: cliOpts.transport || 'quic',
|
|
112
107
|
};
|
|
113
108
|
}
|