diff --git a/docker/entrypoint.sh b/docker/entrypoint.sh index afc164e0..453122c2 100644 --- a/docker/entrypoint.sh +++ b/docker/entrypoint.sh @@ -8,4 +8,4 @@ then echo "$HOST_IP $HOST_DOMAIN" >> /etc/hosts fi -node bundle.js +node bundle.js --listen-api diff --git a/package.json b/package.json index 0cadd2a6..aafe08d2 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "private": true, - "version": "5.0.4-beta.5", + "version": "5.0.4-beta.9", "name": "dbgate-all", "workspaces": [ "packages/*", diff --git a/packages/api/package.json b/packages/api/package.json index 3577e95e..e084d349 100644 --- a/packages/api/package.json +++ b/packages/api/package.json @@ -52,11 +52,11 @@ "uuid": "^3.4.0" }, "scripts": { - "start": "env-cmd node src/index.js", - "start:portal": "env-cmd -f env/portal/.env node src/index.js", - "start:singledb": "env-cmd -f env/singledb/.env node src/index.js", - "start:filedb": "env-cmd node src/index.js /home/jena/test/chinook/Chinook.db", - "start:singleconn": "env-cmd node src/index.js --server localhost --user root --port 3307 --engine mysql@dbgate-plugin-mysql --password test", + "start": "env-cmd node src/index.js --listen-api", + "start:portal": "env-cmd -f env/portal/.env node src/index.js --listen-api", + "start:singledb": "env-cmd -f env/singledb/.env node src/index.js --listen-api", + "start:filedb": "env-cmd node src/index.js /home/jena/test/chinook/Chinook.db --listen-api", + "start:singleconn": "env-cmd node src/index.js --server localhost --user root --port 3307 --engine mysql@dbgate-plugin-mysql --password test --listen-api", "ts": "tsc", "build": "webpack" }, diff --git a/packages/api/src/index.js b/packages/api/src/index.js index b93feeb9..e557a8c6 100644 --- a/packages/api/src/index.js +++ b/packages/api/src/index.js @@ -8,9 +8,10 @@ if (processArgs.startProcess) { const proc = require('./proc'); const module = proc[processArgs.startProcess]; module.start(); -} else if (!processArgs.checkParent && !global['API_PACKAGE']) { - const main = require('./main'); +} +if (processArgs.listenApi) { + const main = require('./main'); main.start(); } diff --git a/packages/api/src/utility/platformInfo.js b/packages/api/src/utility/platformInfo.js index 77143ef1..393edbfa 100644 --- a/packages/api/src/utility/platformInfo.js +++ b/packages/api/src/utility/platformInfo.js @@ -39,8 +39,8 @@ const platformInfo = { environment: process.env.NODE_ENV, platform, runningInWebpack: !!process.env.WEBPACK_DEV_SERVER_URL, - allowShellConnection: !!process.env.SHELL_CONNECTION || !!isElectron(), - allowShellScripting: !!process.env.SHELL_SCRIPTING || !!isElectron(), + allowShellConnection: !processArgs.listenApiChild || !!process.env.SHELL_CONNECTION || !!isElectron(), + allowShellScripting: !processArgs.listenApiChild || !!process.env.SHELL_SCRIPTING || !!isElectron(), defaultKeyfile: path.join(os.homedir(), '.ssh/id_rsa'), }; diff --git a/packages/api/src/utility/processArgs.js b/packages/api/src/utility/processArgs.js index 3b5dc2c5..68514c79 100644 --- a/packages/api/src/utility/processArgs.js +++ b/packages/api/src/utility/processArgs.js @@ -11,6 +11,8 @@ const startProcess = getNamedArg('--start-process'); const isForkedApi = process.argv.includes('--is-forked-api'); const pluginsDir = getNamedArg('--plugins-dir'); const workspaceDir = getNamedArg('--workspace-dir'); +const listenApi = process.argv.includes('--listen-api'); +const listenApiChild = process.argv.includes('--listen-api-child') || listenApi; function getPassArgs() { const res = []; @@ -20,6 +22,9 @@ function getPassArgs() { if (global['PLUGINS_DIR']) { res.push('--plugins-dir', global['PLUGINS_DIR']); } + if (listenApiChild) { + res.push('listen-api-child'); + } return res; } @@ -30,4 +35,6 @@ module.exports = { getPassArgs, pluginsDir, workspaceDir, + listenApi, + listenApiChild, };