@holochain/hc-spin 0.200.9 → 0.200.11
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 +8 -0
- package/cli/cli.js +5 -1
- package/dist/cli.js +5 -1
- package/dist/main/index.js +7 -5
- package/package.json +2 -1
- package/src/main/index.ts +4 -1
- package/src/main/windows.ts +4 -4
package/README.md
CHANGED
|
@@ -20,6 +20,14 @@ To install the latest version compatible with **holochain 0.2.x**:
|
|
|
20
20
|
npm install --save-dev @holochain/hc-spin@">=0.200.0 <0.300.0"
|
|
21
21
|
```
|
|
22
22
|
|
|
23
|
+
To install the latest version compatible with **holochain 0.3.x**:
|
|
24
|
+
|
|
25
|
+
⚠️ Requires `@holochain/client 0.17.0-dev.5` or newer ⚠️
|
|
26
|
+
|
|
27
|
+
```
|
|
28
|
+
npm install --save-dev @holochain/hc-spin@">=0.300.0 <0.400.0"
|
|
29
|
+
```
|
|
30
|
+
|
|
23
31
|
## Usage (holochain 0.2)
|
|
24
32
|
|
|
25
33
|
```
|
package/cli/cli.js
CHANGED
|
@@ -4,7 +4,11 @@ const path = require('path');
|
|
|
4
4
|
const fs = require('fs');
|
|
5
5
|
|
|
6
6
|
let electronBinary;
|
|
7
|
-
let pathStr =
|
|
7
|
+
let pathStr =
|
|
8
|
+
process.platform === 'win32'
|
|
9
|
+
? '../node_modules/electron/dist/electron.exe'
|
|
10
|
+
: '../node_modules/.bin/electron';
|
|
11
|
+
|
|
8
12
|
// recursively look for electron binary in node_modules folder
|
|
9
13
|
for (let i = 0; i < 7; i++) {
|
|
10
14
|
const maybeElectronBinary = path.resolve(__dirname, pathStr);
|
package/dist/cli.js
CHANGED
|
@@ -4,7 +4,11 @@ const path = require('path');
|
|
|
4
4
|
const fs = require('fs');
|
|
5
5
|
|
|
6
6
|
let electronBinary;
|
|
7
|
-
let pathStr =
|
|
7
|
+
let pathStr =
|
|
8
|
+
process.platform === 'win32'
|
|
9
|
+
? '../node_modules/electron/dist/electron.exe'
|
|
10
|
+
: '../node_modules/.bin/electron';
|
|
11
|
+
|
|
8
12
|
// recursively look for electron binary in node_modules folder
|
|
9
13
|
for (let i = 0; i < 7; i++) {
|
|
10
14
|
const maybeElectronBinary = path.resolve(__dirname, pathStr);
|
package/dist/main/index.js
CHANGED
|
@@ -95,7 +95,7 @@ electron.contextBridge.exposeInMainWorld("__HC_LAUNCHER_ENV__", {
|
|
|
95
95
|
icon = electron.nativeImage.createFromPath(iconPath);
|
|
96
96
|
} else {
|
|
97
97
|
try {
|
|
98
|
-
const iconResponse = await electron.net.fetch(`http://
|
|
98
|
+
const iconResponse = await electron.net.fetch(`http://localhost:${uiSource.port}/icon.png`);
|
|
99
99
|
if (iconResponse.status === 404 && agentNum === 1) {
|
|
100
100
|
console.warn(
|
|
101
101
|
"\n\n+++++ WARNING +++++\n[hc-spin] No icon.png found. It is recommended to put an icon.png file (1024x1024 pixel) in the root of your UI assets directory which can be used by the Holochain Launcher.\n+++++++++++++++++++\n\n"
|
|
@@ -131,9 +131,9 @@ electron.contextBridge.exposeInMainWorld("__HC_LAUNCHER_ENV__", {
|
|
|
131
131
|
happWindow.webContents.openDevTools();
|
|
132
132
|
if (uiSource.type === "port") {
|
|
133
133
|
try {
|
|
134
|
-
await electron.net.fetch(`http://
|
|
134
|
+
await electron.net.fetch(`http://localhost:${uiSource.port}/index.html`);
|
|
135
135
|
} catch (e) {
|
|
136
|
-
console.error(`No index.html file found at http://
|
|
136
|
+
console.error(`No index.html file found at http://localhost:${uiSource.port}/index.html`, e);
|
|
137
137
|
if (utils.is.dev && process.env["ELECTRON_RENDERER_URL"]) {
|
|
138
138
|
happWindow.loadURL(process.env["ELECTRON_RENDERER_URL"]);
|
|
139
139
|
} else {
|
|
@@ -142,7 +142,7 @@ electron.contextBridge.exposeInMainWorld("__HC_LAUNCHER_ENV__", {
|
|
|
142
142
|
happWindow.show();
|
|
143
143
|
return happWindow;
|
|
144
144
|
}
|
|
145
|
-
await happWindow.loadURL(`http://
|
|
145
|
+
await happWindow.loadURL(`http://localhost:${uiSource.port}`);
|
|
146
146
|
} else if (uiSource.type === "path") {
|
|
147
147
|
try {
|
|
148
148
|
await happWindow.loadURL(`webhapp://webhappwindow/index.html`);
|
|
@@ -11794,8 +11794,10 @@ const menu = electron.Menu.buildFromTemplate([
|
|
|
11794
11794
|
}
|
|
11795
11795
|
]);
|
|
11796
11796
|
const rustUtils = require("@holochain/hc-spin-rust-utils");
|
|
11797
|
+
const cliPackageJsonPath = path.resolve(path.join(electron.app.getAppPath(), "../../package.json"));
|
|
11798
|
+
const cliPackageJson = require(cliPackageJsonPath);
|
|
11797
11799
|
const cli = new commander.Command();
|
|
11798
|
-
cli.name("hc-spin").description("CLI to run Holochain aps during development.").version(
|
|
11800
|
+
cli.name("hc-spin").description("CLI to run Holochain aps during development.").version(`${cliPackageJson.version} (holochain ${cliPackageJson.holochainVersion})`).argument(
|
|
11799
11801
|
"<path>",
|
|
11800
11802
|
"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"
|
|
11801
11803
|
).option(
|
package/package.json
CHANGED
package/src/main/index.ts
CHANGED
|
@@ -23,12 +23,15 @@ import { menu } from './menu';
|
|
|
23
23
|
|
|
24
24
|
const rustUtils = require('@holochain/hc-spin-rust-utils');
|
|
25
25
|
|
|
26
|
+
const cliPackageJsonPath = path.resolve(path.join(app.getAppPath(), '../../package.json'));
|
|
27
|
+
const cliPackageJson = require(cliPackageJsonPath);
|
|
28
|
+
|
|
26
29
|
const cli = new Command();
|
|
27
30
|
|
|
28
31
|
cli
|
|
29
32
|
.name('hc-spin')
|
|
30
33
|
.description('CLI to run Holochain aps during development.')
|
|
31
|
-
.version(
|
|
34
|
+
.version(`${cliPackageJson.version} (holochain ${cliPackageJson.holochainVersion})`)
|
|
32
35
|
.argument(
|
|
33
36
|
'<path>',
|
|
34
37
|
'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',
|
package/src/main/windows.ts
CHANGED
|
@@ -67,7 +67,7 @@ electron.contextBridge.exposeInMainWorld("__HC_LAUNCHER_ENV__", {
|
|
|
67
67
|
icon = nativeImage.createFromPath(iconPath);
|
|
68
68
|
} else {
|
|
69
69
|
try {
|
|
70
|
-
const iconResponse = await net.fetch(`http://
|
|
70
|
+
const iconResponse = await net.fetch(`http://localhost:${uiSource.port}/icon.png`);
|
|
71
71
|
if (iconResponse.status === 404 && agentNum === 1) {
|
|
72
72
|
console.warn(
|
|
73
73
|
'\n\n+++++ WARNING +++++\n[hc-spin] No icon.png found. It is recommended to put an icon.png file (1024x1024 pixel) in the root of your UI assets directory which can be used by the Holochain Launcher.\n+++++++++++++++++++\n\n',
|
|
@@ -110,9 +110,9 @@ electron.contextBridge.exposeInMainWorld("__HC_LAUNCHER_ENV__", {
|
|
|
110
110
|
if (uiSource.type === 'port') {
|
|
111
111
|
try {
|
|
112
112
|
// Check whether dev server is responsive and index.html exists
|
|
113
|
-
await net.fetch(`http://
|
|
113
|
+
await net.fetch(`http://localhost:${uiSource.port}/index.html`);
|
|
114
114
|
} catch (e) {
|
|
115
|
-
console.error(`No index.html file found at http://
|
|
115
|
+
console.error(`No index.html file found at http://localhost:${uiSource.port}/index.html`, e);
|
|
116
116
|
if (is.dev && process.env['ELECTRON_RENDERER_URL']) {
|
|
117
117
|
happWindow.loadURL(process.env['ELECTRON_RENDERER_URL']);
|
|
118
118
|
} else {
|
|
@@ -121,7 +121,7 @@ electron.contextBridge.exposeInMainWorld("__HC_LAUNCHER_ENV__", {
|
|
|
121
121
|
happWindow.show();
|
|
122
122
|
return happWindow;
|
|
123
123
|
}
|
|
124
|
-
await happWindow.loadURL(`http://
|
|
124
|
+
await happWindow.loadURL(`http://localhost:${uiSource.port}`);
|
|
125
125
|
} else if (uiSource.type === 'path') {
|
|
126
126
|
try {
|
|
127
127
|
await happWindow.loadURL(`webhapp://webhappwindow/index.html`);
|