All checks were successful
Deploy to Production / Build and Deploy (push) Successful in 2m19s
27 lines
848 B
JavaScript
27 lines
848 B
JavaScript
import { spawn } from 'node:child_process';
|
|
|
|
export function browserOpenCommand(url, {
|
|
platform = process.platform,
|
|
comspec = process.env.ComSpec || process.env.COMSPEC || 'cmd.exe',
|
|
} = {}) {
|
|
if (platform === 'darwin') return { command: 'open', args: [url] };
|
|
if (platform === 'win32') return { command: comspec, args: ['/c', 'start', '', url] };
|
|
return { command: 'xdg-open', args: [url] };
|
|
}
|
|
|
|
export function openSystemBrowser(url, {
|
|
platform = process.platform,
|
|
comspec = process.env.ComSpec || process.env.COMSPEC || 'cmd.exe',
|
|
spawnImpl = spawn,
|
|
} = {}) {
|
|
const { command, args } = browserOpenCommand(url, { platform, comspec });
|
|
try {
|
|
const child = spawnImpl(command, args, { stdio: 'ignore', detached: true });
|
|
child.on('error', () => {});
|
|
child.unref();
|
|
return true;
|
|
} catch {
|
|
return false;
|
|
}
|
|
}
|