@holochain/hc-spin 0.601.0 → 0.601.2

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.
@@ -12,7 +12,7 @@ jobs:
12
12
 
13
13
  - name: Install dependencies
14
14
  run: yarn
15
-
15
+
16
16
  - name: Lint
17
17
  run: yarn lint:check
18
18
 
@@ -0,0 +1,59 @@
1
+ <component name="ProjectCodeStyleConfiguration">
2
+ <code_scheme name="Project" version="173">
3
+ <HTMLCodeStyleSettings>
4
+ <option name="HTML_SPACE_INSIDE_EMPTY_TAG" value="true" />
5
+ </HTMLCodeStyleSettings>
6
+ <JSCodeStyleSettings version="0">
7
+ <option name="FORCE_SEMICOLON_STYLE" value="true" />
8
+ <option name="SPACE_BEFORE_FUNCTION_LEFT_PARENTH" value="false" />
9
+ <option name="USE_DOUBLE_QUOTES" value="false" />
10
+ <option name="FORCE_QUOTE_STYlE" value="true" />
11
+ <option name="ENFORCE_TRAILING_COMMA" value="Remove" />
12
+ <option name="SPACES_WITHIN_OBJECT_LITERAL_BRACES" value="true" />
13
+ <option name="SPACES_WITHIN_IMPORTS" value="true" />
14
+ </JSCodeStyleSettings>
15
+ <TypeScriptCodeStyleSettings version="0">
16
+ <option name="FORCE_SEMICOLON_STYLE" value="true" />
17
+ <option name="SPACE_BEFORE_FUNCTION_LEFT_PARENTH" value="false" />
18
+ <option name="USE_DOUBLE_QUOTES" value="false" />
19
+ <option name="FORCE_QUOTE_STYlE" value="true" />
20
+ <option name="ENFORCE_TRAILING_COMMA" value="Remove" />
21
+ <option name="SPACES_WITHIN_OBJECT_LITERAL_BRACES" value="true" />
22
+ <option name="SPACES_WITHIN_IMPORTS" value="true" />
23
+ </TypeScriptCodeStyleSettings>
24
+ <VueCodeStyleSettings>
25
+ <option name="INTERPOLATION_NEW_LINE_AFTER_START_DELIMITER" value="false" />
26
+ <option name="INTERPOLATION_NEW_LINE_BEFORE_END_DELIMITER" value="false" />
27
+ </VueCodeStyleSettings>
28
+ <codeStyleSettings language="HTML">
29
+ <option name="SOFT_MARGINS" value="100" />
30
+ <indentOptions>
31
+ <option name="INDENT_SIZE" value="2" />
32
+ <option name="CONTINUATION_INDENT_SIZE" value="2" />
33
+ <option name="TAB_SIZE" value="2" />
34
+ </indentOptions>
35
+ </codeStyleSettings>
36
+ <codeStyleSettings language="JavaScript">
37
+ <option name="SOFT_MARGINS" value="100" />
38
+ <indentOptions>
39
+ <option name="INDENT_SIZE" value="2" />
40
+ <option name="CONTINUATION_INDENT_SIZE" value="2" />
41
+ <option name="TAB_SIZE" value="2" />
42
+ </indentOptions>
43
+ </codeStyleSettings>
44
+ <codeStyleSettings language="TypeScript">
45
+ <option name="SOFT_MARGINS" value="100" />
46
+ <indentOptions>
47
+ <option name="INDENT_SIZE" value="2" />
48
+ <option name="CONTINUATION_INDENT_SIZE" value="2" />
49
+ <option name="TAB_SIZE" value="2" />
50
+ </indentOptions>
51
+ </codeStyleSettings>
52
+ <codeStyleSettings language="Vue">
53
+ <option name="SOFT_MARGINS" value="100" />
54
+ <indentOptions>
55
+ <option name="CONTINUATION_INDENT_SIZE" value="2" />
56
+ </indentOptions>
57
+ </codeStyleSettings>
58
+ </code_scheme>
59
+ </component>
@@ -0,0 +1,5 @@
1
+ <component name="ProjectCodeStyleConfiguration">
2
+ <state>
3
+ <option name="USE_PER_PROJECT_SETTINGS" value="true" />
4
+ </state>
5
+ </component>
@@ -0,0 +1,8 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <module type="EMPTY_MODULE" version="4">
3
+ <component name="NewModuleRootManager">
4
+ <content url="file://$MODULE_DIR$" />
5
+ <orderEntry type="inheritedJdk" />
6
+ <orderEntry type="sourceFolder" forTests="false" />
7
+ </component>
8
+ </module>
@@ -0,0 +1,6 @@
1
+ <component name="InspectionProjectProfileManager">
2
+ <profile version="1.0">
3
+ <option name="myName" value="Project Default" />
4
+ <inspection_tool class="Eslint" enabled="true" level="WARNING" enabled_by_default="true" />
5
+ </profile>
6
+ </component>
@@ -0,0 +1,8 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="ProjectModuleManager">
4
+ <modules>
5
+ <module fileurl="file://$PROJECT_DIR$/.idea/hc-spin.iml" filepath="$PROJECT_DIR$/.idea/hc-spin.iml" />
6
+ </modules>
7
+ </component>
8
+ </project>
@@ -0,0 +1,6 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="PrettierConfiguration">
4
+ <option name="myConfigurationMode" value="AUTOMATIC" />
5
+ </component>
6
+ </project>
package/.idea/vcs.xml ADDED
@@ -0,0 +1,6 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="VcsDirectoryMappings">
4
+ <mapping directory="" vcs="Git" />
5
+ </component>
6
+ </project>
@@ -8,5 +8,5 @@
8
8
  "[json]": {
9
9
  "editor.defaultFormatter": "esbenp.prettier-vscode"
10
10
  },
11
- "editor.formatOnSave": true,
11
+ "editor.formatOnSave": true
12
12
  }
package/CHANGELOG.md CHANGED
@@ -13,13 +13,17 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
13
13
  ## 2026-02-13: v0.600.3-rc.0
14
14
 
15
15
  ### Changed
16
+
16
17
  - Holochain is now run with the iroh transport. The argument `--signaling-url` has been replaced with `--relay-url`.
18
+
17
19
  ### Removed
20
+
18
21
  - Removed CLI option `--transport` as holochain is run with `quic` iroh transport.
19
22
 
20
23
  ## 2026-01-22: v0.600.2-rc.0
21
24
 
22
25
  ### Changed
26
+
23
27
  - 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.
24
28
 
25
29
  ## 2026-01-22: v0.600.1-rc.0
@@ -31,37 +35,49 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
31
35
  ## 2025-11-06: v0.600.0-rc.0
32
36
 
33
37
  ### Added
38
+
34
39
  - A new argument `--target-arc-factor` to support overriding the conductor configuration `network.target_arc_factor` in all launched conductors.
35
40
 
36
41
  ### Fixed
42
+
37
43
  - Fixed development environment setup and developer documentation outlining how to use it.
38
44
 
39
45
  ### Changed
46
+
40
47
  - Check linting in CI workflow
41
48
 
42
49
  ## 2025-10-13: v0.600.0-dev.0
43
50
 
44
51
  ### Changed
52
+
45
53
  - Bumped to holochain 0.6.0-dev.28
46
54
 
47
55
  ## 2025-07-31: v0.500.3
56
+
48
57
  ### Fixed
58
+
49
59
  - The `--network-seed` argument to hc sandbox was not actually passed on to hc sandbox. Fixed with [#33](https://github.com/holochain/hc-spin/pull/33)
50
60
 
51
61
  ## 2025-07-09: v0.500.2
62
+
52
63
  ### Fixed
64
+
53
65
  - Fixes issue [#31](https://github.com/holochain/hc-spin/issues/30) that made initial zome calls fail in cases where the UI loaded faster than the zome call signing logic was ready (PR [#31](https://github.com/holochain/hc-spin/pull/31))
54
66
 
55
67
  ## 2025-04-30: v0.500.1
68
+
56
69
  ### Fixed
70
+
57
71
  - Fixed an error that could prevent hc-spin to start up properly (`ERROR: error: invalid value 'undefined' for '--bootstrap <BOOTSTRAP>': relative URL without a base`) ([#25](https://github.com/holochain/hc-spin/pull/25))
58
72
 
59
73
  ## 2025-04-10: v0.500.0-rc.0
60
74
 
61
75
  ### Changed
76
+
62
77
  - Updated to be compatible with holochain 0.5.0-rc.0
63
78
 
64
79
  ## 2025-03-05: v0.500.0-dev.1
65
80
 
66
81
  ### Changed
82
+
67
83
  - Updated `@holochain/client` and `@holochain/hc-spin-rust-utils` to be compatible with holochain 0.5.0-dev.21
@@ -12439,7 +12439,7 @@ function validateCliArgs(cliArgs, cliOpts, appDataRootDir) {
12439
12439
  networkSeed: cliOpts.networkSeed,
12440
12440
  targetArcFactor: cliOpts.targetArcFactor,
12441
12441
  uiSource: cliOpts.uiPath ? { type: "path", path: cliOpts.uiPath } : cliOpts.uiPort ? { type: "port", port: cliOpts.uiPort } : { type: "path", path: path.join(appDataRootDir, "apps", appId, "ui") },
12442
- singalingUrl: cliOpts.signalingUrl,
12442
+ relayUrl: cliOpts.relayUrl,
12443
12443
  bootstrapUrl: cliOpts.bootstrapUrl,
12444
12444
  happOrWebhappPath: isHapp ? { type: "happ", path: happOrWebhappPath } : { type: "webhapp", path: happOrWebhappPath },
12445
12445
  openDevtools: cliOpts.openDevtools ? true : false
@@ -12563,7 +12563,7 @@ function setLinkOpenHandlers(browserWindow) {
12563
12563
  }
12564
12564
  const rustUtils = require("@holochain/hc-spin-rust-utils");
12565
12565
  const cli = new commander.Command();
12566
- cli.name("hc-spin").description("CLI to run Holochain apps during development.").version(`${"0.600.0"} (built for holochain ${"0.6.0"})`).argument(
12566
+ cli.name("hc-spin").description("CLI to run Holochain apps during development.").version(`${"0.601.2"} (built for holochain ${"0.6.1"})`).argument(
12567
12567
  "<path>",
12568
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"
12569
12569
  ).option(
@@ -12585,8 +12585,8 @@ cli.name("hc-spin").description("CLI to run Holochain apps during development.")
12585
12585
  "--ui-port <number>",
12586
12586
  "Port pointing to a localhost dev server that serves your UI assets."
12587
12587
  ).option(
12588
- "--signaling-url <url>",
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."
12588
+ "--relay-url <url>",
12589
+ "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."
12590
12590
  ).option("--open-devtools", "Automatically open the devtools on startup.");
12591
12591
  cli.parse();
12592
12592
  const rl = require("readline").createInterface({
@@ -12664,29 +12664,29 @@ async function startLocalServices() {
12664
12664
  const localServicesHandle = childProcess__namespace.spawn("kitsune2-bootstrap-srv");
12665
12665
  return new Promise((resolve) => {
12666
12666
  let bootStrapUrl;
12667
- let signalUrl;
12667
+ let relayUrl;
12668
12668
  let bootstrapRunning = false;
12669
- let signalRunnig = false;
12669
+ let relayRunning = false;
12670
12670
  localServicesHandle.stdout.pipe(split()).on("data", async (line) => {
12671
12671
  console.log(`[hc-spin] | [kitsune2-bootstrap-srv]: ${line}`);
12672
12672
  if (line.includes("#kitsune2_bootstrap_srv#listening#")) {
12673
12673
  const hostAndPort = line.split("#kitsune2_bootstrap_srv#listening#")[1].split("#")[0];
12674
12674
  bootStrapUrl = `http://${hostAndPort}`;
12675
- signalUrl = `ws://${hostAndPort}`;
12675
+ relayUrl = `http://${hostAndPort}`;
12676
12676
  }
12677
12677
  if (line.includes("#kitsune2_bootstrap_srv#running#")) {
12678
12678
  bootstrapRunning = true;
12679
- signalRunnig = true;
12679
+ relayRunning = true;
12680
12680
  }
12681
- if (bootstrapRunning && signalRunnig && bootStrapUrl && signalUrl)
12682
- resolve([bootStrapUrl, signalUrl]);
12681
+ if (bootstrapRunning && relayRunning && bootStrapUrl && relayUrl)
12682
+ resolve([bootStrapUrl, relayUrl]);
12683
12683
  });
12684
12684
  localServicesHandle.stderr.pipe(split()).on("data", async (line) => {
12685
12685
  console.log(`[hc-spin] | [hc run-local-services] ERROR: ${line}`);
12686
12686
  });
12687
12687
  });
12688
12688
  }
12689
- async function spawnSandboxes(nAgents, happPath, bootStrapUrl, signalUrl, appId, networkSeed, targetArcFactor) {
12689
+ async function spawnSandboxes(nAgents, happPath, bootStrapUrl, relayUrl, appId, networkSeed, targetArcFactor) {
12690
12690
  const generateArgs = [
12691
12691
  "sandbox",
12692
12692
  "--piped",
@@ -12711,7 +12711,7 @@ async function spawnSandboxes(nAgents, happPath, bootStrapUrl, signalUrl, appId,
12711
12711
  if (targetArcFactor !== void 0) {
12712
12712
  generateArgs.push("--target-arc-factor", targetArcFactor.toString());
12713
12713
  }
12714
- generateArgs.push("--bootstrap", bootStrapUrl, "webrtc", signalUrl);
12714
+ generateArgs.push("--bootstrap", bootStrapUrl, "quic", relayUrl);
12715
12715
  let readyConductors = 0;
12716
12716
  const portsInfo = {};
12717
12717
  const sandboxPaths = [];
@@ -12755,12 +12755,12 @@ electron.app.whenReady().then(async () => {
12755
12755
  happTargetDir
12756
12756
  );
12757
12757
  }
12758
- const [bootstrapUrl, signalingUrl] = await startLocalServices();
12758
+ const [bootstrapUrl, relayUrl] = await startLocalServices();
12759
12759
  const [sandboxHandle, sandboxPaths, portsInfo] = await spawnSandboxes(
12760
12760
  CLI_OPTS.numAgents,
12761
12761
  happTargetDir ? happTargetDir : CLI_OPTS.happOrWebhappPath.path,
12762
12762
  CLI_OPTS.bootstrapUrl ? CLI_OPTS.bootstrapUrl : bootstrapUrl,
12763
- CLI_OPTS.singalingUrl ? CLI_OPTS.singalingUrl : signalingUrl,
12763
+ CLI_OPTS.relayUrl ? CLI_OPTS.relayUrl : relayUrl,
12764
12764
  CLI_OPTS.appId,
12765
12765
  CLI_OPTS.networkSeed,
12766
12766
  CLI_OPTS.targetArcFactor
package/flake.lock CHANGED
@@ -20,11 +20,11 @@
20
20
  "nixpkgs-lib": "nixpkgs-lib"
21
21
  },
22
22
  "locked": {
23
- "lastModified": 1777988971,
24
- "narHash": "sha256-qIoWPDs+0/8JecyYgE3gpKQxW/4bLW/gp45vow9ioCQ=",
23
+ "lastModified": 1778716662,
24
+ "narHash": "sha256-m1Yf0wZ8j1OHjTc2UwHwyQRSnNeSgLJOd7q5Y45hzi4=",
25
25
  "owner": "hercules-ci",
26
26
  "repo": "flake-parts",
27
- "rev": "0678d8986be1661af6bb555f3489f2fdfc31f6ff",
27
+ "rev": "f7c1a2d347e4c52d5fb8d10cb4d94b5884e546fb",
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": 1774456561,
40
- "narHash": "sha256-CQ3HUE++iyLWJFK9wt2TeusmbuLavGxF8kxnv8mMsVw=",
39
+ "lastModified": 1778766006,
40
+ "narHash": "sha256-1Kz8XjX3cbDrNTDlg7h69KmELyVqRezlMT3DTuaxWD0=",
41
41
  "owner": "holochain",
42
42
  "repo": "scaffolding",
43
- "rev": "3329e3c01572dc525ee95caa3d179dc659134572",
43
+ "rev": "d312db8a2e65157afa82d01f7bcc6edb40bc5000",
44
44
  "type": "github"
45
45
  },
46
46
  "original": {
47
47
  "owner": "holochain",
48
- "ref": "v0.600.3-rc.0",
48
+ "ref": "v0.601.0",
49
49
  "repo": "scaffolding",
50
50
  "type": "github"
51
51
  }
@@ -79,11 +79,11 @@
79
79
  "rust-overlay": "rust-overlay"
80
80
  },
81
81
  "locked": {
82
- "lastModified": 1778614884,
83
- "narHash": "sha256-Kxgtrs15iA9D0f4Sj/rt/yVRYk+Ew8TxeQrmMdYO0Qg=",
82
+ "lastModified": 1778848447,
83
+ "narHash": "sha256-vLM/fq8v/chMY/hDqRRMCgaasjkRmhoC9m2+wMcuC64=",
84
84
  "owner": "holochain",
85
85
  "repo": "holonix",
86
- "rev": "9931f18ccf9721fc5469fd3ae9d5bb118a6bac5a",
86
+ "rev": "a6f839604fc7078d689ce683b88582b08c75b171",
87
87
  "type": "github"
88
88
  },
89
89
  "original": {
@@ -160,30 +160,21 @@
160
160
  },
161
161
  "root": {
162
162
  "inputs": {
163
- "flake-parts": [
164
- "holonix",
165
- "flake-parts"
166
- ],
163
+ "flake-parts": ["holonix", "flake-parts"],
167
164
  "holonix": "holonix",
168
- "nixpkgs": [
169
- "holonix",
170
- "nixpkgs"
171
- ]
165
+ "nixpkgs": ["holonix", "nixpkgs"]
172
166
  }
173
167
  },
174
168
  "rust-overlay": {
175
169
  "inputs": {
176
- "nixpkgs": [
177
- "holonix",
178
- "nixpkgs"
179
- ]
170
+ "nixpkgs": ["holonix", "nixpkgs"]
180
171
  },
181
172
  "locked": {
182
- "lastModified": 1778555852,
183
- "narHash": "sha256-55EmwooVAS4UpA0oWd5wilKPRqCiHD5BAej9QiNwheY=",
173
+ "lastModified": 1778728594,
174
+ "narHash": "sha256-+gIOsOzqWNfn+ThCXBQGcLHVEnaGQW59XjghE9JUIYk=",
184
175
  "owner": "oxalica",
185
176
  "repo": "rust-overlay",
186
- "rev": "f29b0f7a9f367e0056b716f8aa137cb41e784444",
177
+ "rev": "83a17ebffcfacb17b49e1b5e9dc15eed07936648",
187
178
  "type": "github"
188
179
  },
189
180
  "original": {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@holochain/hc-spin",
3
- "version": "0.601.0",
3
+ "version": "0.601.2",
4
4
  "holochainVersion": "0.6.1",
5
5
  "description": "CLI to run Holochain apps during development.",
6
6
  "author": "matthme",
@@ -24,19 +24,21 @@
24
24
  },
25
25
  "scripts": {
26
26
  "format": "prettier --write .",
27
+ "format:check": "prettier --check .",
27
28
  "lint": "eslint . --ext .js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts --fix",
28
29
  "lint:check": "eslint . --ext .js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts",
29
30
  "typecheck:node": "tsc --noEmit -p tsconfig.node.json --composite false",
30
31
  "typecheck:web": "tsc --noEmit -p tsconfig.web.json --composite false",
31
32
  "typecheck": "yarn run typecheck:node && yarn run typecheck:web",
32
33
  "start": "node dist/cli.js",
33
- "build": "rimraf dist && yarn run typecheck && electron-vite build && mv ./out ./dist && cp ./cli/cli.js ./dist/cli.js && node ./scripts/replace-electron-version.js"
34
+ "build": "rimraf dist && yarn run typecheck && electron-vite build && mv ./out ./dist && cp ./cli/cli.js ./dist/cli.js && node ./scripts/replace-electron-version.js",
35
+ "prepublishOnly": "npm run format:check && npm run lint:check && npm run build"
34
36
  },
35
37
  "dependencies": {
36
38
  "@electron-toolkit/preload": "^3.0.0",
37
39
  "@electron-toolkit/utils": "^3.0.0",
38
40
  "@holochain/client": "^0.20.0",
39
- "@holochain/hc-spin-rust-utils": "0.601.1",
41
+ "@holochain/hc-spin-rust-utils": "0.601.4",
40
42
  "@msgpack/msgpack": "^2.8.0",
41
43
  "bufferutil": "4.0.8",
42
44
  "commander": "11.1.0",