waterfox-location
v2.0.0
Published
Approximates the current location of the Waterfox browser across platforms.
Maintainers
Readme
Approximates the current location of the Waterfox browser across platforms.
waterfox-location

- By default checks only
stable. Optionally can cascade tocurrent/classic. - Supports macOS / Windows / Linux
- Works both as an ES module or CommonJS
Support table
This table lists the default locations where Waterfox is typically installed for each supported platform and channel. By default, only the Stable channel is checked. When fallback is enabled, the package checks these paths (in order) and returns the first one found.
Returns the first existing path found (given selected channels), or null if none are found.
Usage
Via Node.js (strict by default):
import waterfoxLocation from "waterfox-location";
import {
locateWaterfoxOrExplain,
getInstallGuidance,
getWaterfoxVersion
} from "waterfox-location";
// Strict (Stable only)
console.log(waterfoxLocation());
// => "/Applications/Waterfox.app/Contents/MacOS/waterfox" or null
// Enable fallback (Stable / Current / Classic)
console.log(waterfoxLocation(true));
// => first found among Stable/Current/Classic or null
// Throw with a friendly guide when not found
try {
const bin = locateWaterfoxOrExplain({allowFallback: true});
console.log(bin);
// Cross-platform version (no exec by default)
console.log(getWaterfoxVersion(bin)); // e.g. "6.5.3" or null
// Opt-in: allow executing the binary (Linux/other)
console.log(getWaterfoxVersion(bin, {allowExec: true}));
} catch (e) {
console.error(String(e));
// Or print getInstallGuidance() explicitly
}Via CLI:
npx waterfox-location
# Strict (Stable only)
npx waterfox-location --fallback
# Enable cascade (Stable / Current / Classic)
# Respect environment overrides
WATERFOX_BINARY=/custom/path/to/waterfox npx waterfox-location
# Print browser version (empty + exit code 2 if unavailable)
npx waterfox-location --waterfox-version
npx waterfox-location --browser-version
# Opt-in: allow executing the binary to fetch version
npx waterfox-location --browser-version --allow-execEnvironment overrides
If this environment variable is set and points to an existing binary, it takes precedence:
WATERFOX_BINARY
API
default export locateWaterfox(allowFallback?: boolean): string | nulllocateWaterfoxOrExplain(options?: boolean | { allowFallback?: boolean }): stringgetWaterfoxVersion(bin: string, opts?: { allowExec?: boolean }): string | nullgetInstallGuidance(): string
Related projects
- brave-location
- chrome-location2
- edge-location
- firefox-location2
- opera-location2
- vivaldi-location2
- yandex-location
- librewolf-location
License
MIT (c) Cezar Augusto.
