@peerbit/shared-fs-cli 0.0.5 → 0.1.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/lib/esm/cross-os-interop.js +1 -2
- package/lib/esm/cross-os-interop.js.map +1 -1
- package/lib/esm/index.js +29 -15
- package/lib/esm/index.js.map +1 -1
- package/package.json +3 -4
- package/src/cross-os-interop.ts +1 -2
- package/src/index.ts +37 -29
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { mkdir, readFile, writeFile } from "node:fs/promises";
|
|
3
3
|
import path from "node:path";
|
|
4
|
-
import { openSharedFs } from "@peerbit/shared-fs";
|
|
5
|
-
import { Peerbit } from "peerbit";
|
|
4
|
+
import { Peerbit, openSharedFs } from "@peerbit/shared-fs";
|
|
6
5
|
const parseArgs = (args) => {
|
|
7
6
|
const value = (name) => {
|
|
8
7
|
const index = args.indexOf(name);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cross-os-interop.js","sourceRoot":"","sources":["../../src/cross-os-interop.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"cross-os-interop.js","sourceRoot":"","sources":["../../src/cross-os-interop.ts"],"names":[],"mappings":"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"}
|
package/lib/esm/index.js
CHANGED
|
@@ -1,23 +1,22 @@
|
|
|
1
|
-
import { NativeMountUnavailableError,
|
|
1
|
+
import { NativeMountUnavailableError, Peerbit, createSharedFsIpcServer, createSharedFsMountBackend, decodePublicSignKey, encodePublicSignKey, getNativeMountSupport, mountNativeSharedFs, openSharedFs, runSharedFsBenchmark, unmountNativeMountpoint, } from "@peerbit/shared-fs";
|
|
2
2
|
import { multiaddr } from "@multiformats/multiaddr";
|
|
3
3
|
import chalk from "chalk";
|
|
4
4
|
import { spawn } from "node:child_process";
|
|
5
5
|
import fs from "node:fs";
|
|
6
6
|
import os from "node:os";
|
|
7
7
|
import path from "node:path";
|
|
8
|
-
import { Peerbit } from "peerbit";
|
|
9
8
|
import yargs from "yargs";
|
|
10
9
|
import { hideBin } from "yargs/helpers";
|
|
11
10
|
import { installNativeAdapter, resolveExternalNativeAdapter, } from "./native-adapter.js";
|
|
12
11
|
const DEFAULT_DIRECTORY_NAME = "peerbit-shared-fs";
|
|
12
|
+
// Every syncing machine keeps a full replica: a mount must be able to serve
|
|
13
|
+
// the entire namespace from its local index, and a writer must never see its
|
|
14
|
+
// own files pruned because it stopped being a leader for them. (The previous
|
|
15
|
+
// cpu limit was a no-op and left the adaptive replicator free to shard the
|
|
16
|
+
// filesystem across peers, which fragments the mounted view.)
|
|
13
17
|
const CLI_REPLICATION_ARGS = {
|
|
14
18
|
replicate: {
|
|
15
|
-
|
|
16
|
-
cpu: {
|
|
17
|
-
max: 1,
|
|
18
|
-
monitor: undefined,
|
|
19
|
-
},
|
|
20
|
-
},
|
|
19
|
+
factor: 1,
|
|
21
20
|
},
|
|
22
21
|
};
|
|
23
22
|
let peerbitRejectionGuardInstalled = false;
|
|
@@ -71,11 +70,18 @@ export const normalizeNativeMountpoint = (mountpoint, platform = process.platfor
|
|
|
71
70
|
return path.resolve(mountpoint);
|
|
72
71
|
};
|
|
73
72
|
const coerceAddresses = (addrs) => {
|
|
74
|
-
return (Array.isArray(addrs) ? addrs : [addrs]).map((address) =>
|
|
73
|
+
return (Array.isArray(addrs) ? addrs : [addrs]).map((address) => {
|
|
74
|
+
multiaddr(address); // validate early with a clear error
|
|
75
|
+
return address;
|
|
76
|
+
});
|
|
75
77
|
};
|
|
76
78
|
const connectToNetwork = async (peerbit, peer, options) => {
|
|
77
79
|
if (peer) {
|
|
78
|
-
|
|
80
|
+
// Dial plain strings so no foreign Multiaddr instances cross module
|
|
81
|
+
// graphs; the client parses them with its own multiaddr copy.
|
|
82
|
+
for (const address of coerceAddresses(peer)) {
|
|
83
|
+
await peerbit.dial(address);
|
|
84
|
+
}
|
|
79
85
|
return;
|
|
80
86
|
}
|
|
81
87
|
if (options?.bootstrap === false) {
|
|
@@ -406,14 +412,22 @@ export const runCli = async (args = hideBin(process.argv)) => {
|
|
|
406
412
|
const backend = createSharedFsMountBackend(fsHandle);
|
|
407
413
|
const externalAdapter = await resolveExternalNativeAdapter(argv.nativeAdapter);
|
|
408
414
|
const mountpoint = normalizeNativeMountpoint(String(argv.mountpoint));
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
415
|
+
if (externalAdapter) {
|
|
416
|
+
ipc = await createSharedFsIpcServer(backend, "tcp://127.0.0.1:0");
|
|
417
|
+
mounted = await mountExternalNativeAdapter(externalAdapter, ipc.endpoint, mountpoint);
|
|
418
|
+
}
|
|
419
|
+
else {
|
|
420
|
+
// In-process fuse-native mounts talk to the backend
|
|
421
|
+
// directly; a loopback JSON hop would only add
|
|
422
|
+
// latency and base64 CPU.
|
|
423
|
+
mounted = await mountNativeSharedFs(backend, {
|
|
413
424
|
mountpoint,
|
|
414
425
|
});
|
|
426
|
+
}
|
|
415
427
|
console.log(chalk.green(`Mounted ${fsHandle.address} at ${mounted.mountpoint}`));
|
|
416
|
-
|
|
428
|
+
if (ipc) {
|
|
429
|
+
console.log(`IPC endpoint: ${ipc.endpoint}`);
|
|
430
|
+
}
|
|
417
431
|
await waitForTermination(async () => {
|
|
418
432
|
await mounted?.unmount();
|
|
419
433
|
await ipc?.close();
|
package/lib/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@peerbit/shared-fs-cli",
|
|
3
|
-
"version": "0.0
|
|
3
|
+
"version": "0.1.0",
|
|
4
4
|
"author": "Peerbit contributors",
|
|
5
5
|
"repository": "https://github.com/dao-xyz/peerbit-examples",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -30,14 +30,13 @@
|
|
|
30
30
|
"LICENSE"
|
|
31
31
|
],
|
|
32
32
|
"engines": {
|
|
33
|
-
"node": ">=
|
|
33
|
+
"node": ">=22"
|
|
34
34
|
},
|
|
35
35
|
"dependencies": {
|
|
36
36
|
"@multiformats/multiaddr": "^13.0.1",
|
|
37
37
|
"chalk": "^5.3.0",
|
|
38
|
-
"peerbit": "^5.3.0",
|
|
39
38
|
"yargs": "^17.7.2",
|
|
40
|
-
"@peerbit/shared-fs": "0.0
|
|
39
|
+
"@peerbit/shared-fs": "0.1.0"
|
|
41
40
|
},
|
|
42
41
|
"devDependencies": {
|
|
43
42
|
"typescript": "^5.6.3"
|
package/src/cross-os-interop.ts
CHANGED
|
@@ -2,8 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
import { mkdir, readFile, writeFile } from "node:fs/promises";
|
|
4
4
|
import path from "node:path";
|
|
5
|
-
import { openSharedFs } from "@peerbit/shared-fs";
|
|
6
|
-
import { Peerbit } from "peerbit";
|
|
5
|
+
import { Peerbit, openSharedFs } from "@peerbit/shared-fs";
|
|
7
6
|
|
|
8
7
|
type Options = {
|
|
9
8
|
role: "seed" | "join";
|
package/src/index.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
NativeMountUnavailableError,
|
|
3
|
-
|
|
3
|
+
Peerbit,
|
|
4
4
|
createSharedFsIpcServer,
|
|
5
5
|
createSharedFsMountBackend,
|
|
6
6
|
decodePublicSignKey,
|
|
@@ -17,7 +17,6 @@ import { spawn, type ChildProcess } from "node:child_process";
|
|
|
17
17
|
import fs from "node:fs";
|
|
18
18
|
import os from "node:os";
|
|
19
19
|
import path from "node:path";
|
|
20
|
-
import { Peerbit } from "peerbit";
|
|
21
20
|
import yargs from "yargs";
|
|
22
21
|
import { hideBin } from "yargs/helpers";
|
|
23
22
|
import {
|
|
@@ -26,14 +25,14 @@ import {
|
|
|
26
25
|
} from "./native-adapter.js";
|
|
27
26
|
|
|
28
27
|
const DEFAULT_DIRECTORY_NAME = "peerbit-shared-fs";
|
|
28
|
+
// Every syncing machine keeps a full replica: a mount must be able to serve
|
|
29
|
+
// the entire namespace from its local index, and a writer must never see its
|
|
30
|
+
// own files pruned because it stopped being a leader for them. (The previous
|
|
31
|
+
// cpu limit was a no-op and left the adaptive replicator free to shard the
|
|
32
|
+
// filesystem across peers, which fragments the mounted view.)
|
|
29
33
|
const CLI_REPLICATION_ARGS = {
|
|
30
34
|
replicate: {
|
|
31
|
-
|
|
32
|
-
cpu: {
|
|
33
|
-
max: 1,
|
|
34
|
-
monitor: undefined,
|
|
35
|
-
},
|
|
36
|
-
},
|
|
35
|
+
factor: 1,
|
|
37
36
|
},
|
|
38
37
|
} as const;
|
|
39
38
|
|
|
@@ -117,9 +116,10 @@ export const normalizeNativeMountpoint = (
|
|
|
117
116
|
};
|
|
118
117
|
|
|
119
118
|
const coerceAddresses = (addrs: string | string[]) => {
|
|
120
|
-
return (Array.isArray(addrs) ? addrs : [addrs]).map((address) =>
|
|
121
|
-
multiaddr(address)
|
|
122
|
-
|
|
119
|
+
return (Array.isArray(addrs) ? addrs : [addrs]).map((address) => {
|
|
120
|
+
multiaddr(address); // validate early with a clear error
|
|
121
|
+
return address;
|
|
122
|
+
});
|
|
123
123
|
};
|
|
124
124
|
|
|
125
125
|
const connectToNetwork = async (
|
|
@@ -128,7 +128,11 @@ const connectToNetwork = async (
|
|
|
128
128
|
options?: { bootstrap?: boolean }
|
|
129
129
|
) => {
|
|
130
130
|
if (peer) {
|
|
131
|
-
|
|
131
|
+
// Dial plain strings so no foreign Multiaddr instances cross module
|
|
132
|
+
// graphs; the client parses them with its own multiaddr copy.
|
|
133
|
+
for (const address of coerceAddresses(peer)) {
|
|
134
|
+
await peerbit.dial(address);
|
|
135
|
+
}
|
|
132
136
|
return;
|
|
133
137
|
}
|
|
134
138
|
if (options?.bootstrap === false) {
|
|
@@ -575,28 +579,32 @@ export const runCli = async (args = hideBin(process.argv)) => {
|
|
|
575
579
|
const mountpoint = normalizeNativeMountpoint(
|
|
576
580
|
String(argv.mountpoint)
|
|
577
581
|
);
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
582
|
+
if (externalAdapter) {
|
|
583
|
+
ipc = await createSharedFsIpcServer(
|
|
584
|
+
backend,
|
|
585
|
+
"tcp://127.0.0.1:0"
|
|
586
|
+
);
|
|
587
|
+
mounted = await mountExternalNativeAdapter(
|
|
588
|
+
externalAdapter,
|
|
589
|
+
ipc.endpoint,
|
|
590
|
+
mountpoint
|
|
591
|
+
);
|
|
592
|
+
} else {
|
|
593
|
+
// In-process fuse-native mounts talk to the backend
|
|
594
|
+
// directly; a loopback JSON hop would only add
|
|
595
|
+
// latency and base64 CPU.
|
|
596
|
+
mounted = await mountNativeSharedFs(backend, {
|
|
597
|
+
mountpoint,
|
|
598
|
+
});
|
|
599
|
+
}
|
|
594
600
|
console.log(
|
|
595
601
|
chalk.green(
|
|
596
602
|
`Mounted ${fsHandle.address} at ${mounted.mountpoint}`
|
|
597
603
|
)
|
|
598
604
|
);
|
|
599
|
-
|
|
605
|
+
if (ipc) {
|
|
606
|
+
console.log(`IPC endpoint: ${ipc.endpoint}`);
|
|
607
|
+
}
|
|
600
608
|
await waitForTermination(async () => {
|
|
601
609
|
await mounted?.unmount();
|
|
602
610
|
await ipc?.close();
|