🐛 Update: Added support for the 'find' command in settings.local.json. Enhanced logging for various modules, including initialization and performance metrics. Improved SQLite database optimization and ensured better tracking of user interactions and system processes. 📚

This commit is contained in:
2025-06-14 16:26:43 +02:00
parent ee54bc273c
commit 89037861e3
2472 changed files with 691099 additions and 1 deletions

113
network-visualization/node_modules/opn/index.js generated vendored Normal file
View File

@@ -0,0 +1,113 @@
'use strict';
const {promisify} = require('util');
const path = require('path');
const childProcess = require('child_process');
const isWsl = require('is-wsl');
const pExecFile = promisify(childProcess.execFile);
// Convert a path from WSL format to Windows format:
// `/mnt/c/Program Files/Example/MyApp.exe` → `C:\Program Files\Example\MyApp.exe``
const wslToWindowsPath = async path => {
const {stdout} = await pExecFile('wslpath', ['-w', path]);
return stdout.trim();
};
module.exports = async (target, options) => {
if (typeof target !== 'string') {
throw new TypeError('Expected a `target`');
}
options = {
wait: false,
...options
};
let command;
let appArguments = [];
const cliArguments = [];
const childProcessOptions = {};
if (Array.isArray(options.app)) {
appArguments = options.app.slice(1);
options.app = options.app[0];
}
if (process.platform === 'darwin') {
command = 'open';
if (options.wait) {
cliArguments.push('-W');
}
if (options.app) {
cliArguments.push('-a', options.app);
}
} else if (process.platform === 'win32' || isWsl) {
command = 'cmd' + (isWsl ? '.exe' : '');
cliArguments.push('/c', 'start', '""', '/b');
target = target.replace(/&/g, '^&');
if (options.wait) {
cliArguments.push('/wait');
}
if (options.app) {
if (isWsl && options.app.startsWith('/mnt/')) {
const windowsPath = await wslToWindowsPath(options.app);
options.app = windowsPath;
}
cliArguments.push(options.app);
}
if (appArguments.length > 0) {
cliArguments.push(...appArguments);
}
} else {
if (options.app) {
command = options.app;
} else {
const useSystemXdgOpen = process.versions.electron || process.platform === 'android';
command = useSystemXdgOpen ? 'xdg-open' : path.join(__dirname, 'xdg-open');
}
if (appArguments.length > 0) {
cliArguments.push(...appArguments);
}
if (!options.wait) {
// `xdg-open` will block the process unless stdio is ignored
// and it's detached from the parent even if it's unref'd.
childProcessOptions.stdio = 'ignore';
childProcessOptions.detached = true;
}
}
cliArguments.push(target);
if (process.platform === 'darwin' && appArguments.length > 0) {
cliArguments.push('--args', ...appArguments);
}
const subprocess = childProcess.spawn(command, cliArguments, childProcessOptions);
if (options.wait) {
return new Promise((resolve, reject) => {
subprocess.once('error', reject);
subprocess.once('close', exitCode => {
if (exitCode > 0) {
reject(new Error(`Exited with code ${exitCode}`));
return;
}
resolve(subprocess);
});
});
}
subprocess.unref();
return subprocess;
};