JSPM

  • Created
  • Published
  • Downloads 1698211
  • Score
    100M100P100Q199204F
  • License SEE LICENSE IN LICENSE

Find apps installed on your system.

Package Exports

  • locate-app

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (locate-app) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

🕵️ Locate ANY APP

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.

🔎 Locating the Chrome browser

Via this utility it is extremely easy to get the path to some browser:

import { locateChrome } from 'locate-app';

const executablePath = await locateChrome();

Then you can use executablePath to open (spawn) the browser:

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() });

🔍 Locating arbitrary browser

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 executablePath = await locateBrowser('edge');

🔎 Locating arbitrary app

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',
})

🔍 Documentation

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