Don't load user's shell env on app startup (#4681)
Co-authored-by: Michael Neale <michael.neale@gmail.com>
This commit is contained in:
@@ -1,38 +0,0 @@
|
||||
import { execSync } from 'child_process';
|
||||
import log from './logger';
|
||||
|
||||
export function loadShellEnv(isProduction: boolean = false): void {
|
||||
// Only proceed if running on macOS and in production mode
|
||||
if (process.platform !== 'darwin' || !isProduction) {
|
||||
log.info(
|
||||
`Skipping zsh environment loading: ${
|
||||
process.platform !== 'darwin' ? 'Not running on macOS' : 'Not in production mode'
|
||||
}`
|
||||
);
|
||||
return;
|
||||
}
|
||||
|
||||
try {
|
||||
log.info('LOADING ENV');
|
||||
|
||||
const shell = process.env.SHELL || '/bin/bash'; // Detect user's shell
|
||||
|
||||
const envStr = execSync(`${shell} -l -i -c 'env'`, {
|
||||
encoding: 'utf-8',
|
||||
});
|
||||
|
||||
// Parse and set environment variables
|
||||
envStr.split('\n').forEach((line) => {
|
||||
const matches = line.match(/^([^=]+)=(.*)$/);
|
||||
if (matches) {
|
||||
const [, key, value] = matches;
|
||||
log.info(`Setting ${key}`);
|
||||
process.env[key] = value;
|
||||
}
|
||||
});
|
||||
|
||||
log.info('Successfully loaded zsh environment variables');
|
||||
} catch (error) {
|
||||
log.error('Failed to load zsh environment variables:', error);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user