platform info refactor

This commit is contained in:
Jan Prochazka
2021-04-17 10:42:29 +02:00
parent 6c246c9eaa
commit 76e51343d0
9 changed files with 51 additions and 32 deletions

View File

@@ -1,5 +0,0 @@
function _isRunOnSource() {
return __filename.endsWith('_isRunOnSource.js');
}
module.exports = _isRunOnSource;

View File

@@ -2,7 +2,6 @@ const os = require('os');
const path = require('path');
const fs = require('fs');
const cleanDirectory = require('./cleanDirectory');
const _isRunOnSource = require('./_isRunOnSource');
const platformInfo = require('./platformInfo');
const createDirectories = {};
@@ -42,17 +41,20 @@ const archivedir = dirFunc('archive');
const filesdir = dirFunc('files');
function packagedPluginsDir() {
if (_isRunOnSource()) {
if (platformInfo.isDevMode) {
return path.resolve(__dirname, '../../../../plugins');
}
if (platformInfo.isDocker) {
return '/home/dbgate-docker/plugins';
}
if (process.argv[2] == 'startNodeWeb') {
if (platformInfo.isNpmDist) {
// node_modules
return global['dbgateApiPackagedPluginsPath'];
}
return path.resolve(__dirname, '../../plugins');
if (platformInfo.isElectron) {
return path.resolve(__dirname, '../../plugins');
}
return null;
}
module.exports = {

View File

@@ -8,12 +8,28 @@ const isWindows = platform === 'win32';
const isMac = platform === 'darwin';
const isLinux = platform === 'linux';
const isDocker = fs.existsSync('/home/dbgate-docker/build');
const isDevMode = p.env.DEVMODE == '1';
const isNpmDist = p.argv[2] == 'startNodeWeb';
function moduleAvailable(name) {
try {
require.resolve(name);
return true;
} catch (e) {
return false;
}
}
const isElectron = moduleAvailable('electron');
const platformInfo = {
isWindows,
isMac,
isLinux,
isDocker,
isElectron,
isDevMode,
isNpmDist,
isSnap: p.env.ELECTRON_SNAP == 'true',
isPortable: isWindows && p.env.PORTABLE_EXECUTABLE_DIR,
isAppImage: p.env.DESKTOPINTEGRATION === 'AppImageLauncher',