Skip to content
Merged
Show file tree
Hide file tree
Changes from 5 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 5 additions & 3 deletions resources/js/electron-plugin/dist/server/api/childProcess.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,18 +12,20 @@ import { utilityProcess } from 'electron';
import state from '../state';
import { notifyLaravel } from "../utils";
import { join } from 'path';
import { getDefaultEnvironmentVariables } from "../php";
const router = express.Router();
const killSync = require('kill-sync');
function startProcess(settings) {
const { alias, cmd, cwd, env, persistent } = settings;
if (getProcess(alias) !== undefined) {
return state.processes[alias];
}
const defaultEnv = getDefaultEnvironmentVariables(state.randomSecret, state.electronApiPort);
const proc = utilityProcess.fork(join(__dirname, '../../electron-plugin/dist/server/childProcess.js'), cmd, {
cwd,
serviceName: alias,
stdio: 'pipe',
env: Object.assign(Object.assign({}, process.env), env)
serviceName: alias,
env: Object.assign(Object.assign(Object.assign({}, process.env), defaultEnv), env)
});
proc.stdout.on('data', (data) => {
notifyLaravel('events', {
Expand Down Expand Up @@ -68,7 +70,7 @@ function startProcess(settings) {
const settings = Object.assign({}, getSettings(alias));
delete state.processes[alias];
if (settings.persistent) {
console.log('Process [' + alias + '] wathchdog restarting...');
console.log('Process [' + alias + '] watchdog restarting...');
startProcess(settings);
}
});
Expand Down
4 changes: 2 additions & 2 deletions resources/js/electron-plugin/dist/server/php.js
Original file line number Diff line number Diff line change
Expand Up @@ -139,7 +139,7 @@ function getDefaultEnvironmentVariables(secret, apiPort) {
NATIVEPHP_STORAGE_PATH: storagePath,
NATIVEPHP_DATABASE_PATH: databaseFile,
NATIVEPHP_API_URL: `http://localhost:${apiPort}/api/`,
NATIVEPHP_RUNNING: true,
NATIVEPHP_RUNNING: 'true',
NATIVEPHP_SECRET: secret,
NATIVEPHP_USER_HOME_PATH: getPath('home'),
NATIVEPHP_APP_DATA_PATH: getPath('appData'),
Expand Down Expand Up @@ -220,4 +220,4 @@ function serveApp(secret, apiPort, phpIniSettings) {
});
}));
}
export { startQueueWorker, startScheduler, serveApp, getAppPath, retrieveNativePHPConfig, retrievePhpIniSettings };
export { startQueueWorker, startScheduler, serveApp, getAppPath, retrieveNativePHPConfig, retrievePhpIniSettings, getDefaultEnvironmentVariables };
14 changes: 11 additions & 3 deletions resources/js/electron-plugin/src/server/api/childProcess.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@ import { utilityProcess } from 'electron';
import state from '../state';
import { notifyLaravel } from "../utils";
import { join } from 'path';
import { getDefaultEnvironmentVariables } from "../php";


const router = express.Router();
const killSync = require('kill-sync');
Expand All @@ -14,16 +16,22 @@ function startProcess(settings) {
return state.processes[alias];
}

const defaultEnv = getDefaultEnvironmentVariables(
state.randomSecret,
state.electronApiPort
);

const proc = utilityProcess.fork(
join(__dirname, '../../electron-plugin/dist/server/childProcess.js'),
cmd,
{
cwd,
serviceName: alias,
stdio: 'pipe',
serviceName: alias,
env: {
...process.env,
...env,
...defaultEnv,
...env
}
}
);
Expand Down Expand Up @@ -81,7 +89,7 @@ function startProcess(settings) {
delete state.processes[alias];

if (settings.persistent) {
console.log('Process [' + alias + '] wathchdog restarting...');
console.log('Process [' + alias + '] watchdog restarting...');
startProcess(settings);
}
});
Expand Down
4 changes: 2 additions & 2 deletions resources/js/electron-plugin/src/server/php.ts
Original file line number Diff line number Diff line change
Expand Up @@ -165,7 +165,7 @@ function getDefaultEnvironmentVariables(secret, apiPort) {
NATIVEPHP_STORAGE_PATH: storagePath,
NATIVEPHP_DATABASE_PATH: databaseFile,
NATIVEPHP_API_URL: `http://localhost:${apiPort}/api/`,
NATIVEPHP_RUNNING: true,
NATIVEPHP_RUNNING: 'true',
NATIVEPHP_SECRET: secret,
NATIVEPHP_USER_HOME_PATH: getPath('home'),
NATIVEPHP_APP_DATA_PATH: getPath('appData'),
Expand Down Expand Up @@ -267,4 +267,4 @@ function serveApp(secret, apiPort, phpIniSettings): Promise<ProcessResult> {
})
}

export {startQueueWorker, startScheduler, serveApp, getAppPath, retrieveNativePHPConfig, retrievePhpIniSettings}
export {startQueueWorker, startScheduler, serveApp, getAppPath, retrieveNativePHPConfig, retrievePhpIniSettings, getDefaultEnvironmentVariables}
Loading