{"id":16202791,"url":"https://github.com/hejny/locate-app","last_synced_at":"2025-04-21T11:33:36.608Z","repository":{"id":44644411,"uuid":"401527016","full_name":"hejny/locate-app","owner":"hejny","description":"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.","archived":false,"fork":false,"pushed_at":"2024-04-25T13:58:32.000Z","size":29622,"stargazers_count":13,"open_issues_count":2,"forks_count":3,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-04-25T15:05:50.901Z","etag":null,"topics":["library","nodejs","typescript"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hejny.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-08-31T00:45:44.000Z","updated_at":"2024-04-27T17:24:15.982Z","dependencies_parsed_at":"2023-02-12T17:15:18.452Z","dependency_job_id":"f790d3dd-1d0e-4545-b71a-327af03af1bb","html_url":"https://github.com/hejny/locate-app","commit_stats":{"total_commits":149,"total_committers":1,"mean_commits":149.0,"dds":0.0,"last_synced_commit":"69d2fdb4bb1635a9403c7e7784b306c9c8297fb6"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hejny%2Flocate-app","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hejny%2Flocate-app/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hejny%2Flocate-app/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hejny%2Flocate-app/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hejny","download_url":"https://codeload.github.com/hejny/locate-app/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250048102,"owners_count":21366176,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["library","nodejs","typescript"],"created_at":"2024-10-10T09:49:18.257Z","updated_at":"2025-04-21T11:33:32.989Z","avatar_url":"https://github.com/hejny.png","language":"TypeScript","funding_links":["https://www.buymeacoffee.com/hejny"],"categories":[],"sub_categories":[],"readme":"# 🕵️ Locate ANY APP\n\n\u003c!--Badges--\u003e\n\u003c!--⚠️WARNING: This section was generated by https://github.com/hejny/batch-project-editor/blob/main/src/workflows/800-badges/badges.ts so every manual change will be overwritten.--\u003e\n\n\n[![License of Locate ANY APP](https://img.shields.io/github/license/hejny/locate-app.svg?style=flat)](https://github.com/hejny/locate-app/blob/main/LICENSE)\n[![NPM Version of Locate ANY APP](https://badge.fury.io/js/locate-app.svg)](https://www.npmjs.com/package/locate-app)\n[![Quality of package Locate ANY APP](https://packagequality.com/shield/locate-app.svg)](https://packagequality.com/#?package=locate-app)\n[![Known Vulnerabilities](https://snyk.io/test/github/hejny/locate-app/badge.svg)](https://snyk.io/test/github/hejny/locate-app)\n[![Issues](https://img.shields.io/github/issues/hejny/locate-app.svg?style=flat)](https://github.com/hejny/locate-app/issues)\n[![Socket](https://socket.dev/api/badge/npm/package/locate-app)](https://socket.dev/npm/package/locate-app)\n\n\u003c!--/Badges--\u003e\n\nFind 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.\n\n\u003c!--Wallpaper--\u003e\n\u003c!--⚠️WARNING: This section was generated by https://github.com/hejny/batch-project-editor/blob/main/src//workflows/315-ai-generated-wallpaper/4-aiGeneratedWallpaperUseInReadme.ts so every manual change will be overwritten.--\u003e\n\n[![Wallpaper of 🕵️ Locate ANY APP](assets/ai/wallpaper/gallery/0adf1512-09a8-438c-aa3e-c17777503379-0_0.png)](https://www.midjourney.com/app/jobs/0adf1512-09a8-438c-aa3e-c17777503379)\n\n\u003c!--/Wallpaper--\u003e\n\n\u003c!--Custom-Wallpaper--\u003e\n\n![Social media wallpaper for Locate app project](/media/locate-app-social-wallpaper.png)\n\n\u003c!--/Custom-Wallpaper--\u003e\n\n## 🔎 Locating the Firefox\n\nVia this utility it is extremely easy to get the path to some browser:\n\n```typescript\nimport { locateChrome } from 'locate-app';\n\nconst executablePathOfFirefox = await locateFirefox();\n```\n\nThen you can use **executablePathOfFirefox to open _(spawn)_ the browser:**\n\n```typescript\nimport { locateChrome } from 'locate-app';\nimport { spawn } from 'child_process';\n\nspawn(await locateFirefox(), ['https://github.com/hejny/locate-app']);\n```\n\n_Locate app will ensure that file is executable. If it can not find the browser it will throw an error._\nOr you can use the path to the browser as you want:\n\n## 🔍 Locating the Chrome\n\n```typescript\nimport { locateChrome } from 'locate-app';\n\nconst executablePathOfChrome = await locateChrome();\n```\n\n```typescript\nimport { locateChrome } from 'locate-app';\nimport { spawn } from 'child_process';\n\nspawn(await locateChrome(), ['https://github.com/hejny/locate-app']);\n```\n\n_Locate app will ensure that file is executable. If it can not find the browser it will throw an error._\nOr you can use the path to the browser as you want:\n\n```typescript\nimport { locateChrome } from 'locate-app';\nimport puppeteer from 'puppeteer-core';\n\nawait puppeteer.launch({ executablePath: await locateChrome() });\n```\n\n## 🔎 Locating arbitrary browser\n\nYou can use functions [locateChrome](https://hejny.github.io/locate-app/modules.html#locateChrome), [locateEdge](https://hejny.github.io/locate-app/modules.html#locateEdge), [locateFirefox](https://hejny.github.io/locate-app/modules.html#locateFirefox), [locateInternetExplorer](https://hejny.github.io/locate-app/modules.html#locateInternetExplorer), [locateSafari](https://hejny.github.io/locate-app/modules.html#locateSafari) or **universal [locateBrowser](https://hejny.github.io/locate-app/modules.html#locateBrowser)** which recieves param which browser to locate:\n\n```typescript\nimport { locateBrowser } from 'locate-app';\n\nconst executablePathOfSafari = await locateBrowser('safari');\nconst executablePathOfEdge = await locateBrowser('edge');\n```\n\n## 👨‍💻 Locating VSCode\n\n```typescript\nimport { locateChrome } from 'locate-app';\nimport { spawn } from 'child_process';\n\nspawn(await locateVSCode(), ['~/work/my-awesome-project']);\n```\n\n## 🔍 Locating arbitrary app\n\nYou 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.\n\n```typescript\nimport { locateApp } from 'locate-app';\n\nawait locateApp({\n    appName: 'Chrome',\n    linuxWhich: 'google-chrome',\n    windowsSuffix: '\\\\Google\\\\Chrome\\\\Application\\\\chrome.exe',\n    macOsName: 'Google Chrome',\n});\n```\n\n## 📖 Documentation\n\nThe project is fully typed so you probably do not need the documentation. But if so, here it is\nhttps://hejny.github.io/locate-app/index.html\n\n## ⌚ Changelog\n\nSee [CHANGELOG.md](./CHANGELOG.md)\n\n\u003c!--Contributing--\u003e\n\u003c!--⚠️WARNING: This section was generated by https://github.com/hejny/batch-project-editor/blob/main/src/workflows/810-contributing/contributing.ts so every manual change will be overwritten.--\u003e\n\n## 🖋️ Contributing\n\nI am open to pull requests, feedback, and suggestions. Or if you like this utility, you can [☕ buy me a coffee](https://www.buymeacoffee.com/hejny) or [donate via cryptocurrencies](https://github.com/hejny/hejny/blob/main/documents/crypto.md).\n\nYou can also ⭐ star the locate-app package, [follow me on GitHub](https://github.com/hejny) or [various other social networks](https://www.pavolhejny.com/contact/).\n\n\u003c!--/Contributing--\u003e\n\n\u003c!--Partners--\u003e\n\u003c!--⚠️WARNING: This section was generated by https://github.com/hejny/batch-project-editor/blob/main/src/workflows/820-partners/partners.ts so every manual change will be overwritten.--\u003e\n\n## ✨ Partners\n\n\n\u003ca href=\"https://collboard.com/\" title=\"Collboard\"\u003e\u003cimg src=\"https://collboard.fra1.cdn.digitaloceanspaces.com/assets/18.12.1/logo-small.png#gh-light-mode-only\" alt=\"Collboard\" height=\"60\"/\u003e\u003c/a\u003e\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\n\u003ca href=\"https://webgpt.cz/?partner=ph\u0026utm_medium=referral\u0026utm_source=github-readme\u0026utm_campaign=partner-ph\" title=\"WebGPT\"\u003e\u003cimg src=\"https://webgpt.cz/_next/static/media/webgpt-black.8d958d25.png#gh-light-mode-only\" alt=\"WebGPT\" height=\"60\"/\u003e\u003c/a\u003e\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\n\u003ca href=\"https://github.com/webgptorg/promptbook\" title=\"Promptbook\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/webgptorg/promptbook/main/other/design/logo.png#gh-light-mode-only\" alt=\"Promptbook\" height=\"60\"/\u003e\u003c/a\u003e\n\n\n[Become a partner](https://www.pavolhejny.com/contact/)\n\n\u003c!--/Partners--\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhejny%2Flocate-app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhejny%2Flocate-app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhejny%2Flocate-app/lists"}