This commit is contained in:
root
2025-11-25 09:56:15 +03:00
commit 68c8f0e80d
23717 changed files with 3200521 additions and 0 deletions

104
mc_test/node_modules/electron-log/src/node/packageJson.js generated vendored Executable file
View File

@ -0,0 +1,104 @@
'use strict';
const fs = require('fs');
const path = require('path');
module.exports = {
findAndReadPackageJson,
tryReadJsonAt,
};
/**
* @return {{ name?: string, version?: string}}
*/
function findAndReadPackageJson() {
return tryReadJsonAt(getMainModulePath())
|| tryReadJsonAt(extractPathFromArgs())
|| tryReadJsonAt(process.resourcesPath, 'app.asar')
|| tryReadJsonAt(process.resourcesPath, 'app')
|| tryReadJsonAt(process.cwd())
|| { name: undefined, version: undefined };
}
/**
* @param {...string} searchPaths
* @return {{ name?: string, version?: string } | undefined}
*/
function tryReadJsonAt(...searchPaths) {
if (!searchPaths[0]) {
return undefined;
}
try {
const searchPath = path.join(...searchPaths);
const fileName = findUp('package.json', searchPath);
if (!fileName) {
return undefined;
}
const json = JSON.parse(fs.readFileSync(fileName, 'utf8'));
const name = json?.productName || json?.name;
if (!name || name.toLowerCase() === 'electron') {
return undefined;
}
if (name) {
return { name, version: json?.version };
}
return undefined;
} catch (e) {
return undefined;
}
}
/**
* @param {string} fileName
* @param {string} [cwd]
* @return {string | null}
*/
function findUp(fileName, cwd) {
let currentPath = cwd;
// eslint-disable-next-line no-constant-condition
while (true) {
const parsedPath = path.parse(currentPath);
const root = parsedPath.root;
const dir = parsedPath.dir;
if (fs.existsSync(path.join(currentPath, fileName))) {
return path.resolve(path.join(currentPath, fileName));
}
if (currentPath === root) {
return null;
}
currentPath = dir;
}
}
/**
* Get app path from --user-data-dir cmd arg, passed to a renderer process
* @return {string|null}
*/
function extractPathFromArgs() {
const matchedArgs = process.argv.filter((arg) => {
return arg.indexOf('--user-data-dir=') === 0;
});
if (matchedArgs.length === 0 || typeof matchedArgs[0] !== 'string') {
return null;
}
const userDataDir = matchedArgs[0];
return userDataDir.replace('--user-data-dir=', '');
}
function getMainModulePath() {
try {
// Requires isn't available in ESM
return require.main?.filename;
} catch {
return undefined;
}
}