mirror of
https://github.com/lone-cloud/gerbil
synced 2026-06-03 19:54:44 -07:00
49 lines
1.3 KiB
TypeScript
49 lines
1.3 KiB
TypeScript
import { argv, exit } from 'process';
|
|
|
|
if (argv[1] === '--version') {
|
|
void (async () => {
|
|
try {
|
|
const { app } = await import('electron');
|
|
const version = app.getVersion();
|
|
// eslint-disable-next-line no-console
|
|
console.log(version);
|
|
} catch {
|
|
// eslint-disable-next-line no-console
|
|
console.log('unknown');
|
|
}
|
|
exit(0);
|
|
})();
|
|
} else {
|
|
void (async () => {
|
|
const isCliMode = argv.includes('--cli');
|
|
|
|
if (isCliMode) {
|
|
try {
|
|
const cliModule = await import('./cli');
|
|
const args = argv.slice(argv.indexOf('--cli') + 1);
|
|
try {
|
|
await cliModule.handleCliMode(args);
|
|
} catch (error) {
|
|
// eslint-disable-next-line no-console
|
|
console.error('CLI mode error:', error);
|
|
exit(1);
|
|
}
|
|
} catch (error) {
|
|
// eslint-disable-next-line no-console
|
|
console.error('Failed to load CLI module:', error);
|
|
exit(1);
|
|
}
|
|
} else {
|
|
try {
|
|
const guiModule = await import('./gui');
|
|
const startMinimized = argv.includes('--minimized');
|
|
await guiModule.initializeApp(
|
|
startMinimized ? { startMinimized } : undefined
|
|
);
|
|
} catch (error: unknown) {
|
|
// eslint-disable-next-line no-console
|
|
console.error('Failed to initialize Gerbil:', error);
|
|
}
|
|
}
|
|
})();
|
|
}
|