lsh-framework 3.1.21 → 3.1.22
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.
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
import * as fs from 'fs';
|
|
6
6
|
import * as path from 'path';
|
|
7
7
|
import * as os from 'os';
|
|
8
|
-
import { exec } from 'child_process';
|
|
8
|
+
import { exec, spawn } from 'child_process';
|
|
9
9
|
import { promisify } from 'util';
|
|
10
10
|
import { createLogger } from './logger.js';
|
|
11
11
|
import { getPlatformInfo } from './platform-utils.js';
|
|
@@ -183,10 +183,15 @@ export class IPFSClientManager {
|
|
|
183
183
|
const ipfsRepoPath = path.join(this.ipfsDir, 'repo');
|
|
184
184
|
const ipfsCmd = clientInfo.path || 'ipfs';
|
|
185
185
|
try {
|
|
186
|
-
// Start daemon
|
|
187
|
-
|
|
186
|
+
// Start daemon as fully detached background process
|
|
187
|
+
// Using spawn with detached:true and stdio:'ignore' allows parent to exit
|
|
188
|
+
const daemon = spawn(ipfsCmd, ['daemon'], {
|
|
188
189
|
env: { ...process.env, IPFS_PATH: ipfsRepoPath },
|
|
190
|
+
detached: true,
|
|
191
|
+
stdio: 'ignore',
|
|
189
192
|
});
|
|
193
|
+
// Unref the child so parent process can exit independently
|
|
194
|
+
daemon.unref();
|
|
190
195
|
// Log PID for management
|
|
191
196
|
const pidPath = path.join(this.ipfsDir, 'daemon.pid');
|
|
192
197
|
if (daemon.pid) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "lsh-framework",
|
|
3
|
-
"version": "3.1.
|
|
3
|
+
"version": "3.1.22",
|
|
4
4
|
"description": "Simple, cross-platform encrypted secrets manager with automatic sync, IPFS audit logs, and multi-environment support. Just run lsh sync and start managing your secrets.",
|
|
5
5
|
"main": "dist/app.js",
|
|
6
6
|
"bin": {
|