
Security News
Deno 2.2 Improves Dependency Management and Expands Node.js Compatibility
Deno 2.2 enhances Node.js compatibility, improves dependency management, adds OpenTelemetry support, and expands linting and task automation for developers.
locate-app
Advanced tools
Find apps installed on your system. This util will help to find executables of a known app like Chrome, Firefox,... on Windows, Linux, and macOS out of the box.
Find apps installed on your system. This util will help to find executables of a known app like Chrome, Firefox,... on Windows, Linux, and macOS out of the box.
Via this utility it is extremely easy to get the path to some browser:
import { locateChrome } from 'locate-app';
const executablePathOfFirefox = await locateFirefox();
Then you can use executablePathOfFirefox to open (spawn) the browser:
import { locateChrome } from 'locate-app';
import { spawn } from 'child_process';
spawn(await locateFirefox(), ['https://github.com/hejny/locate-app']);
Locate app will ensure that file is executable. If it can not find the browser it will throw an error. Or you can use the path to the browser as you want:
import { locateChrome } from 'locate-app';
const executablePathOfChrome = await locateChrome();
import { locateChrome } from 'locate-app';
import { spawn } from 'child_process';
spawn(await locateChrome(), ['https://github.com/hejny/locate-app']);
Locate app will ensure that file is executable. If it can not find the browser it will throw an error. Or you can use the path to the browser as you want:
import { locateChrome } from 'locate-app';
import puppeteer from 'puppeteer-core';
await puppeteer.launch({ executablePath: await locateChrome() });
You can use functions locateChrome, locateEdge, locateFirefox, locateInternetExplorer, locateSafari or universal locateBrowser which recieves param which browser to locate:
import { locateBrowser } from 'locate-app';
const executablePathOfSafari = await locateBrowser('safari');
const executablePathOfEdge = await locateBrowser('edge');
import { locateChrome } from 'locate-app';
import { spawn } from 'child_process';
spawn(await locateVSCode(), ['~/work/my-awesome-project']);
You can locate any app very easily. You need to provide breadcrumbs for each platform. If you omit some platform it does not matter but there will be an error in runtime if you try to run it on the omitted os.
import { locateApp } from 'locate-app';
await locateApp({
appName: 'Chrome',
linuxWhich: 'google-chrome',
windowsSuffix: '\\Google\\Chrome\\Application\\chrome.exe',
macOsName: 'Google Chrome',
});
The project is fully typed so you probably do not need the documentation. But if so, here it is https://hejny.github.io/locate-app/index.html
See CHANGELOG.md
I am open to pull requests, feedback, and suggestions. Or if you like this utility, you can ☕ buy me a coffee or donate via cryptocurrencies.
You can also ⭐ star the locate-app package, follow me on GitHub or various other social networks.
FAQs
Find apps installed on your system. This util will help to find executables of a known app like Chrome, Firefox,... on Windows, Linux, and macOS out of the box.
The npm package locate-app receives a total of 592,858 weekly downloads. As such, locate-app popularity was classified as popular.
We found that locate-app demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Deno 2.2 enhances Node.js compatibility, improves dependency management, adds OpenTelemetry support, and expands linting and task automation for developers.
Security News
React's CRA deprecation announcement sparked community criticism over framework recommendations, leading to quick updates acknowledging build tools like Vite as valid alternatives.
Security News
Ransomware payment rates hit an all-time low in 2024 as law enforcement crackdowns, stronger defenses, and shifting policies make attacks riskier and less profitable.