craftdriver 1.0.4 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,16 @@
1
+ # [1.1.0](https://github.com/dtopuzov/craftdriver/compare/v1.0.4...v1.1.0) (2026-07-09)
2
+
3
+
4
+ ### Features
5
+
6
+ * add browserPath to launch a custom browser binary (Chrome/Chromium/Firefox) ([127d11d](https://github.com/dtopuzov/craftdriver/commit/127d11d9db2877d764253c7359c543abcef8fd0c))
7
+ * auto-detect CI-provided driver directories (GitHub Actions) ([bcd389f](https://github.com/dtopuzov/craftdriver/commit/bcd389f4e180e32cc034e0ace61898195f8f7837))
8
+
9
+
10
+ ### Performance Improvements
11
+
12
+ * measure CI-detection savings vs the PATH-probe/version-detect fallback ([a64c2df](https://github.com/dtopuzov/craftdriver/commit/a64c2df51f14be71c791b6c4549f5827df9abb2e))
13
+
1
14
  ## [1.0.4](https://github.com/dtopuzov/craftdriver/compare/v1.0.3...v1.0.4) (2026-07-09)
2
15
 
3
16
 
@@ -178,6 +178,28 @@ export interface LaunchOptions {
178
178
  * `FirefoxService`.
179
179
  */
180
180
  args?: string[];
181
+ /**
182
+ * A custom **browser** binary to launch — Chrome, Chromium, or Firefox.
183
+ * Distinct from `chromeService`/`firefoxService`'s `binaryPath`, which names
184
+ * the *driver* (chromedriver/geckodriver), not the browser.
185
+ *
186
+ * When omitted, craftdriver resolves it from (first match wins):
187
+ * 1. `CRAFTDRIVER_CHROME_PATH` / `CRAFTDRIVER_FIREFOX_PATH` env var
188
+ * 2. `CRAFTDRIVER_BROWSER_PATH` env var (generic fallback — forwarded as-is
189
+ * regardless of browser, so avoid it when launching both in one job)
190
+ * 3. `CHROME_BIN` / `FIREFOX_BIN` env var (common CI convention)
191
+ * 4. `SE_CHROME_PATH` / `SE_FIREFOX_PATH` env var (Selenium Manager convention)
192
+ *
193
+ * This option itself is opt-in, but steps 2–4 read ambient env vars other
194
+ * tools (Karma, Selenium Manager) may already export for their own
195
+ * purposes — if one happens to be set, craftdriver forwards it even though
196
+ * you never touched craftdriver config. If none resolve, craftdriver
197
+ * forwards nothing and chromedriver/geckodriver fall back to their own
198
+ * built-in browser discovery. An invalid candidate at any step logs a
199
+ * `[craftdriver]` note to stderr and falls through rather than failing
200
+ * silently. See "Browser Binary Configuration" in docs/driver-configuration.md.
201
+ */
202
+ browserPath?: string;
181
203
  }
182
204
  /**
183
205
  * When to consider a navigation complete.
@@ -1 +1 @@
1
- {"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../../src/lib/browser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../../src/lib/browser.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { Builder } from './builder.js';
2
2
  import { ChromeService } from './chrome.js';
3
3
  import { FirefoxService } from './firefox.js';
4
+ import { resolveBrowserBinaryPath } from './driverManager.js';
4
5
  import { By } from './by.js';
5
6
  import { until } from './wait.js';
6
7
  import { DEFAULT_ELEMENT_TIMEOUT_MS, DEFAULT_NAVIGATION_TIMEOUT_MS, STATE_POLL_INTERVAL_MS, NETWORK_IDLE_SETTLE_MS, PORT_RELEASE_DELAY_MS, BIDI_CONNECT_MAX_ATTEMPTS, BIDI_CONNECT_BACKOFF_STEP_MS, EVAL_REALM_RETRY_ATTEMPTS, EVAL_REALM_RETRY_DELAY_MS, } from './timing.js';
@@ -231,6 +232,12 @@ export class Browser {
231
232
  // Set up downloads directory
232
233
  const downloadsDir = options.downloadsDir ?? path.join(os.tmpdir(), 'craftdriver-downloads', `session-${Date.now()}-${Math.random().toString(36).slice(2)}`);
233
234
  await fs.mkdir(downloadsDir, { recursive: true });
235
+ // Custom browser binary (Chrome/Chromium/Firefox). When unresolved,
236
+ // nothing is forwarded and the driver uses its own built-in browser
237
+ // discovery — but see resolveBrowserBinaryPath's doc: some of the env
238
+ // vars in this chain aren't craftdriver-opt-in, they're ambient
239
+ // conventions other tools may already have set.
240
+ const browserPath = resolveBrowserBinaryPath(isChromeFamily ? 'chrome' : 'firefox', options.browserPath);
234
241
  let caps = {};
235
242
  if (isChromeFamily) {
236
243
  const chromeOptions = {
@@ -241,6 +248,8 @@ export class Browser {
241
248
  'safebrowsing.enabled': true,
242
249
  },
243
250
  };
251
+ if (browserPath)
252
+ chromeOptions.binary = browserPath;
244
253
  // Add mobile emulation if specified
245
254
  if (options.mobileEmulation) {
246
255
  const emulation = typeof options.mobileEmulation === 'string'
@@ -285,6 +294,7 @@ export class Browser {
285
294
  'browser.helperApps.neverAsk.saveToDisk': 'application/octet-stream,application/pdf,text/plain,text/csv,application/zip',
286
295
  'pdfjs.disabled': true,
287
296
  },
297
+ ...(browserPath ? { binary: browserPath } : {}),
288
298
  };
289
299
  }
290
300
  if (options.enableBiDi !== false) {
@@ -301,7 +311,10 @@ export class Browser {
301
311
  const builder = new Builder().forBrowser(name);
302
312
  let driverService;
303
313
  if (isChromeFamily) {
304
- driverService = options.chromeService ?? new ChromeService();
314
+ // Only thread browserPath into a default ChromeService — a
315
+ // caller-supplied one is expected to already pin what it needs (same
316
+ // reasoning as explicit config always winning over auto-detection).
317
+ driverService = options.chromeService ?? new ChromeService({ browserPath });
305
318
  builder.setChromeService(driverService);
306
319
  }
307
320
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"browser.js","sourceRoot":"","sources":["../../src/lib/browser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"browser.js","sourceRoot":"","sources":["../../src/lib/browser.ts"],"names":[],"mappings":"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"}
@@ -4,14 +4,26 @@ export type ChromeServiceOptions = Omit<DriverServiceOptions, 'command'> & {
4
4
  * Absolute path to a `chromedriver` binary.
5
5
  * When omitted, craftdriver resolves the driver automatically:
6
6
  * 1. CRAFTDRIVER_DRIVER_PATH / CHROMEDRIVER_PATH / SE_CHROMEDRIVER env vars
7
- * 2. node_modules/.bin/chromedriver (if chromedriver npm package is installed)
8
- * 3. chromedriver on PATH
9
- * 4. Detect system Chrome version → download matching chromedriver from CfT
7
+ * 2. Known CI-provided driver directories (e.g. GitHub Actions' CHROMEWEBDRIVER)
8
+ * 3. node_modules/.bin/chromedriver (if chromedriver npm package is installed)
9
+ * 4. chromedriver on PATH
10
+ * 5. Detect system Chrome version → download matching chromedriver from CfT
10
11
  */
11
12
  binaryPath?: string;
13
+ /**
14
+ * A custom **browser** binary — Chrome or Chromium — distinct from
15
+ * `binaryPath` above (which names the *driver*). Not sent to the driver
16
+ * directly; used only so that if `binaryPath` is omitted and chromedriver
17
+ * has to be auto-downloaded, its version is detected from this binary
18
+ * instead of probing for system Chrome. To actually launch this binary,
19
+ * also set `LaunchOptions.browserPath` (or the `CRAFTDRIVER_CHROME_PATH`
20
+ * / `CHROME_BIN` env vars) — see docs/driver-configuration.md.
21
+ */
22
+ browserPath?: string;
12
23
  };
13
24
  export declare class ChromeService extends DriverService {
14
25
  private readonly binaryPath;
26
+ private readonly browserPath;
15
27
  constructor(options?: ChromeServiceOptions);
16
28
  start(): Promise<void>;
17
29
  }
@@ -1 +1 @@
1
- {"version":3,"file":"chrome.d.ts","sourceRoot":"","sources":["../../src/lib/chrome.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,KAAK,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAGxE,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,oBAAoB,EAAE,SAAS,CAAC,GAAG;IACzE;;;;;;;OAOG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,qBAAa,aAAc,SAAQ,aAAa;IAC9C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAqB;gBAEpC,OAAO,GAAE,oBAAyB;IAYxC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAK7B"}
1
+ {"version":3,"file":"chrome.d.ts","sourceRoot":"","sources":["../../src/lib/chrome.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,KAAK,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAGxE,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,oBAAoB,EAAE,SAAS,CAAC,GAAG;IACzE;;;;;;;;OAQG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;;;;OAQG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,qBAAa,aAAc,SAAQ,aAAa;IAC9C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAqB;IAChD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAqB;gBAErC,OAAO,GAAE,oBAAyB;IAaxC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAK7B"}
@@ -2,8 +2,9 @@ import { DriverService } from './service.js';
2
2
  import { resolveChromeDriver } from './driverManager.js';
3
3
  export class ChromeService extends DriverService {
4
4
  binaryPath;
5
+ browserPath;
5
6
  constructor(options = {}) {
6
- const { binaryPath, ...rest } = options;
7
+ const { binaryPath, browserPath, ...rest } = options;
7
8
  // Pass a placeholder command; the real path is resolved asynchronously in start().
8
9
  super({
9
10
  command: binaryPath ?? 'chromedriver',
@@ -12,11 +13,12 @@ export class ChromeService extends DriverService {
12
13
  ...rest,
13
14
  });
14
15
  this.binaryPath = binaryPath;
16
+ this.browserPath = browserPath;
15
17
  }
16
18
  async start() {
17
19
  if (this.proc)
18
20
  return;
19
- this.opts.command = await resolveChromeDriver({ binaryPath: this.binaryPath });
21
+ this.opts.command = await resolveChromeDriver({ binaryPath: this.binaryPath, browserPath: this.browserPath });
20
22
  await super.start();
21
23
  }
22
24
  }
@@ -1 +1 @@
1
- {"version":3,"file":"chrome.js","sourceRoot":"","sources":["../../src/lib/chrome.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAA6B,MAAM,cAAc,CAAC;AACxE,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAczD,MAAM,OAAO,aAAc,SAAQ,aAAa;IAC7B,UAAU,CAAqB;IAEhD,YAAY,UAAgC,EAAE;QAC5C,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;QACxC,mFAAmF;QACnF,KAAK,CAAC;YACJ,OAAO,EAAE,UAAU,IAAI,cAAc;YACrC,QAAQ,EAAE,EAAE;YACZ,aAAa,EAAE,SAAS;YACxB,GAAG,IAAI;SACR,CAAC,CAAC;QACH,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,IAAI,CAAC,IAAI;YAAE,OAAO;QACtB,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,MAAM,mBAAmB,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;QAC/E,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC;IACtB,CAAC;CACF"}
1
+ {"version":3,"file":"chrome.js","sourceRoot":"","sources":["../../src/lib/chrome.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAA6B,MAAM,cAAc,CAAC;AACxE,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAyBzD,MAAM,OAAO,aAAc,SAAQ,aAAa;IAC7B,UAAU,CAAqB;IAC/B,WAAW,CAAqB;IAEjD,YAAY,UAAgC,EAAE;QAC5C,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;QACrD,mFAAmF;QACnF,KAAK,CAAC;YACJ,OAAO,EAAE,UAAU,IAAI,cAAc;YACrC,QAAQ,EAAE,EAAE;YACZ,aAAa,EAAE,SAAS;YACxB,GAAG,IAAI;SACR,CAAC,CAAC;QACH,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,IAAI,CAAC,IAAI;YAAE,OAAO;QACtB,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,MAAM,mBAAmB,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QAC9G,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC;IACtB,CAAC;CACF"}
@@ -5,6 +5,8 @@
5
5
  * 1. options.binaryPath (explicit)
6
6
  * 2. CRAFTDRIVER_DRIVER_PATH
7
7
  * 3. Legacy env vars (CHROMEDRIVER_PATH, SE_CHROMEDRIVER, etc.)
8
+ * 3.5. Known CI-provided driver directories (e.g. GitHub Actions'
9
+ * CHROMEWEBDRIVER / GECKOWEBDRIVER)
8
10
  * 4. node_modules/.bin/chromedriver|geckodriver
9
11
  * 5. PATH probe
10
12
  * [CRAFTDRIVER_OFFLINE → throw here if no match yet]
@@ -13,6 +15,10 @@
13
15
  * Only the driver binary is downloaded by default, never the browser itself.
14
16
  * This avoids CfT's OS-dependency problems on lean Linux containers.
15
17
  * See research/driver-manager.md for the full strategy.
18
+ *
19
+ * A separate, independent chain resolves a custom **browser** binary (Chrome/
20
+ * Chromium/Firefox) — see `resolveBrowserBinaryPath()` below. It's opt-in
21
+ * only: nothing resolving there changes any of the above.
16
22
  */
17
23
  /**
18
24
  * Drop the cached chromedriver resolution if it points at `driverPath`.
@@ -20,9 +26,34 @@
20
26
  * only the "reuse this path without re-detecting Chrome" metadata is cleared.
21
27
  */
22
28
  export declare function invalidateChromeDriverAutoResolutionCache(driverPath?: string): boolean;
29
+ /**
30
+ * Resolves a custom **browser** binary (Chrome/Chromium/Firefox) — distinct
31
+ * from `resolveChromeDriver`/`resolveFirefoxDriver`, which resolve the
32
+ * *driver* (chromedriver/geckodriver). Returns `undefined` when
33
+ * nothing resolves, in which case the caller forwards nothing and
34
+ * chromedriver/geckodriver fall back to their own built-in browser discovery
35
+ * (craftdriver's zero-config default, unchanged).
36
+ *
37
+ * Resolution chain (first match wins), each step validated with
38
+ * `fs.existsSync` — an invalid path falls through rather than being forwarded:
39
+ * 1. `explicitPath` (e.g. LaunchOptions.browserPath)
40
+ * 2. CRAFTDRIVER_CHROME_PATH / CRAFTDRIVER_FIREFOX_PATH (browser-specific)
41
+ * 3. CRAFTDRIVER_BROWSER_PATH (generic fallback, either browser)
42
+ * 4. Legacy/compatible env vars: CHROME_BIN / FIREFOX_BIN (community
43
+ * convention), SE_CHROME_PATH / SE_FIREFOX_PATH (Selenium Manager)
44
+ */
45
+ export declare function resolveBrowserBinaryPath(kind: 'chrome' | 'firefox', explicitPath?: string): string | undefined;
23
46
  /** Resolves the path to a chromedriver binary, downloading if necessary. */
24
47
  export declare function resolveChromeDriver(options?: {
25
48
  binaryPath?: string;
49
+ /**
50
+ * A custom browser binary (see {@link resolveBrowserBinaryPath}). When the
51
+ * driver itself has to be auto-downloaded (step 8), its version is detected
52
+ * from *this* binary instead of the system Chrome candidate list — so a
53
+ * custom Chromium build (whose version routinely doesn't match system
54
+ * Chrome) gets a matching chromedriver, not the wrong one.
55
+ */
56
+ browserPath?: string;
26
57
  }): Promise<string>;
27
58
  /** Resolves the path to a geckodriver binary, downloading if necessary. */
28
59
  export declare function resolveFirefoxDriver(options?: {
@@ -1 +1 @@
1
- {"version":3,"file":"driverManager.d.ts","sourceRoot":"","sources":["../../src/lib/driverManager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAoEH;;;;GAIG;AACH,wBAAgB,yCAAyC,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAuBtF;AAiXD,4EAA4E;AAC5E,wBAAsB,mBAAmB,CAAC,OAAO,CAAC,EAAE;IAClD,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,GAAG,OAAO,CAAC,MAAM,CAAC,CAoElB;AAED,2EAA2E;AAC3E,wBAAsB,oBAAoB,CAAC,OAAO,CAAC,EAAE;IACnD,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,GAAG,OAAO,CAAC,MAAM,CAAC,CA4DlB"}
1
+ {"version":3,"file":"driverManager.d.ts","sourceRoot":"","sources":["../../src/lib/driverManager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAoEH;;;;GAIG;AACH,wBAAgB,yCAAyC,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAuBtF;AA0XD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,QAAQ,GAAG,SAAS,EAC1B,YAAY,CAAC,EAAE,MAAM,GACpB,MAAM,GAAG,SAAS,CA0BpB;AAED,4EAA4E;AAC5E,wBAAsB,mBAAmB,CAAC,OAAO,CAAC,EAAE;IAClD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,GAAG,OAAO,CAAC,MAAM,CAAC,CA2FlB;AAED,2EAA2E;AAC3E,wBAAsB,oBAAoB,CAAC,OAAO,CAAC,EAAE;IACnD,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,GAAG,OAAO,CAAC,MAAM,CAAC,CAyElB"}
@@ -5,6 +5,8 @@
5
5
  * 1. options.binaryPath (explicit)
6
6
  * 2. CRAFTDRIVER_DRIVER_PATH
7
7
  * 3. Legacy env vars (CHROMEDRIVER_PATH, SE_CHROMEDRIVER, etc.)
8
+ * 3.5. Known CI-provided driver directories (e.g. GitHub Actions'
9
+ * CHROMEWEBDRIVER / GECKOWEBDRIVER)
8
10
  * 4. node_modules/.bin/chromedriver|geckodriver
9
11
  * 5. PATH probe
10
12
  * [CRAFTDRIVER_OFFLINE → throw here if no match yet]
@@ -13,6 +15,10 @@
13
15
  * Only the driver binary is downloaded by default, never the browser itself.
14
16
  * This avoids CfT's OS-dependency problems on lean Linux containers.
15
17
  * See research/driver-manager.md for the full strategy.
18
+ *
19
+ * A separate, independent chain resolves a custom **browser** binary (Chrome/
20
+ * Chromium/Firefox) — see `resolveBrowserBinaryPath()` below. It's opt-in
21
+ * only: nothing resolving there changes any of the above.
16
22
  */
17
23
  import fs from 'fs';
18
24
  import path from 'path';
@@ -403,6 +409,53 @@ async function downloadGeckodriver() {
403
409
  return driverBin;
404
410
  }
405
411
  // ─── Public API ───────────────────────────────────────────────────────────────
412
+ // CI platforms that pre-install a version-matched driver and publish its
413
+ // directory via an env var. Not craftdriver-specific — these are the
414
+ // platform's own convention — so this step ranks below explicit config
415
+ // (steps 1-3) and only fills a gap when nothing more specific was set.
416
+ // Confirmed present with matching semantics on GitHub Actions' Ubuntu, macOS,
417
+ // and Windows runner images (see actions/runner-images per-image READMEs).
418
+ const CHROME_CI_DIR_ENV_VARS = ['CHROMEWEBDRIVER']; // GitHub Actions
419
+ const GECKO_CI_DIR_ENV_VARS = ['GECKOWEBDRIVER']; // GitHub Actions
420
+ /**
421
+ * Resolves a custom **browser** binary (Chrome/Chromium/Firefox) — distinct
422
+ * from `resolveChromeDriver`/`resolveFirefoxDriver`, which resolve the
423
+ * *driver* (chromedriver/geckodriver). Returns `undefined` when
424
+ * nothing resolves, in which case the caller forwards nothing and
425
+ * chromedriver/geckodriver fall back to their own built-in browser discovery
426
+ * (craftdriver's zero-config default, unchanged).
427
+ *
428
+ * Resolution chain (first match wins), each step validated with
429
+ * `fs.existsSync` — an invalid path falls through rather than being forwarded:
430
+ * 1. `explicitPath` (e.g. LaunchOptions.browserPath)
431
+ * 2. CRAFTDRIVER_CHROME_PATH / CRAFTDRIVER_FIREFOX_PATH (browser-specific)
432
+ * 3. CRAFTDRIVER_BROWSER_PATH (generic fallback, either browser)
433
+ * 4. Legacy/compatible env vars: CHROME_BIN / FIREFOX_BIN (community
434
+ * convention), SE_CHROME_PATH / SE_FIREFOX_PATH (Selenium Manager)
435
+ */
436
+ export function resolveBrowserBinaryPath(kind, explicitPath) {
437
+ if (explicitPath) {
438
+ if (fs.existsSync(explicitPath))
439
+ return explicitPath;
440
+ // A candidate was actually supplied here, so a silent fallthrough would
441
+ // hide a typo behind a browser that quietly launches from somewhere else
442
+ // entirely. Everything below the auto-download path already announces
443
+ // itself the same way (see downloadChromedriver/downloadGeckodriver).
444
+ process.stderr.write(`[craftdriver] browserPath "${explicitPath}" does not exist; falling back to the next resolution step.\n`);
445
+ }
446
+ const specificEnvVar = kind === 'chrome' ? 'CRAFTDRIVER_CHROME_PATH' : 'CRAFTDRIVER_FIREFOX_PATH';
447
+ const legacyBinEnvVar = kind === 'chrome' ? 'CHROME_BIN' : 'FIREFOX_BIN';
448
+ const legacySeEnvVar = kind === 'chrome' ? 'SE_CHROME_PATH' : 'SE_FIREFOX_PATH';
449
+ for (const envVar of [specificEnvVar, 'CRAFTDRIVER_BROWSER_PATH', legacyBinEnvVar, legacySeEnvVar]) {
450
+ const p = process.env[envVar];
451
+ if (!p)
452
+ continue;
453
+ if (fs.existsSync(p))
454
+ return p;
455
+ process.stderr.write(`[craftdriver] ${envVar}="${p}" does not exist; falling back to the next resolution step.\n`);
456
+ }
457
+ return undefined;
458
+ }
406
459
  /** Resolves the path to a chromedriver binary, downloading if necessary. */
407
460
  export async function resolveChromeDriver(options) {
408
461
  // 1. Explicit constructor argument.
@@ -421,6 +474,20 @@ export async function resolveChromeDriver(options) {
421
474
  if (p && fs.existsSync(p))
422
475
  return p;
423
476
  }
477
+ // 3.5. Known CI-provided driver directories (e.g. GitHub Actions'
478
+ // CHROMEWEBDRIVER). Cheaper than a cache read (fs.existsSync) and a
479
+ // stronger signal than anything below: the CI platform vendor
480
+ // guarantees this driver matches the pre-installed browser version.
481
+ // Not cached — it's already as cheap as a cache read, so caching it
482
+ // would only add stale-path risk for no benefit.
483
+ for (const envVar of CHROME_CI_DIR_ENV_VARS) {
484
+ const dir = process.env[envVar];
485
+ if (!dir)
486
+ continue;
487
+ const candidate = path.join(dir, driverBinName());
488
+ if (fs.existsSync(candidate))
489
+ return candidate;
490
+ }
424
491
  // 4. Auto-resolution cache. Once we've auto-resolved a chromedriver (step 7
425
492
  // below), reuse it for a TTL window instead of re-probing PATH (a blocking
426
493
  // `which` spawn, ~80ms) and re-launching Chrome to read its version
@@ -448,14 +515,24 @@ export async function resolveChromeDriver(options) {
448
515
  throw new Error('CRAFTDRIVER_OFFLINE is set and no chromedriver was found.\n' +
449
516
  'Set CRAFTDRIVER_DRIVER_PATH to a local chromedriver binary.');
450
517
  }
451
- // 8. Detect system Chrome + download matching driver from CfT, then record
452
- // the result in the auto-resolution cache read at step 4.
518
+ // 8. Detect the browser + download a matching driver from CfT, then record
519
+ // the result in the auto-resolution cache read at step 4. If a custom
520
+ // browser binary was given, detect its version directly instead of
521
+ // probing the system Chrome candidate list (see resolveChromeDriver's
522
+ // `browserPath` option doc). This assumes the binary answers `--version`
523
+ // the way Chrome/Chromium does — untested against anything that doesn't
524
+ // (e.g. Electron), so `browserPath` is documented as Chrome/Chromium-only
525
+ // for now.
453
526
  const p = os.platform();
454
- const candidates = CHROME_CANDIDATES[p] ?? ['google-chrome'];
527
+ const candidates = options?.browserPath ? [options.browserPath] : (CHROME_CANDIDATES[p] ?? ['google-chrome']);
455
528
  const detected = detectBrowserVersion(candidates);
456
529
  if (!detected) {
457
- throw new Error('Could not detect a system Chrome or Chromium installation.\n' +
458
- 'Install Chrome, or set CRAFTDRIVER_DRIVER_PATH to a local chromedriver binary.');
530
+ throw new Error(options?.browserPath
531
+ ? `Could not read a Chrome/Chromium version from browserPath "${options.browserPath}" ` +
532
+ '(it did not respond to --version the way Chrome/Chromium does).\n' +
533
+ 'Set CRAFTDRIVER_CHROMEDRIVER_PATH to a chromedriver binary that matches it instead of relying on auto-detection.'
534
+ : 'Could not detect a system Chrome or Chromium installation.\n' +
535
+ 'Install Chrome, or set CRAFTDRIVER_DRIVER_PATH to a local chromedriver binary.');
459
536
  }
460
537
  const driverPath = await downloadChromedriver(detected.version);
461
538
  // Refresh TTL record regardless of whether we downloaded a new binary.
@@ -480,6 +557,17 @@ export async function resolveFirefoxDriver(options) {
480
557
  if (p && fs.existsSync(p))
481
558
  return p;
482
559
  }
560
+ // 3.5. Known CI-provided driver directories (e.g. GitHub Actions'
561
+ // GECKOWEBDRIVER). See resolveChromeDriver's equivalent step for why
562
+ // this ranks here and isn't cached.
563
+ for (const envVar of GECKO_CI_DIR_ENV_VARS) {
564
+ const dir = process.env[envVar];
565
+ if (!dir)
566
+ continue;
567
+ const candidate = path.join(dir, geckoBinName());
568
+ if (fs.existsSync(candidate))
569
+ return candidate;
570
+ }
483
571
  // 4. Auto-resolution cache. Once geckodriver has been auto-resolved (step 8
484
572
  // below writes this record), reuse it for a TTL window instead of probing
485
573
  // PATH (a blocking `which` spawn) and re-detecting Firefox on every
@@ -494,8 +582,11 @@ export async function resolveFirefoxDriver(options) {
494
582
  const localBin = path.resolve(path.dirname(fileURLToPath(import.meta.url)), '../..', 'node_modules/.bin/geckodriver');
495
583
  if (fs.existsSync(localBin))
496
584
  return localBin;
497
- // 6. PATH probe.
498
- if (commandOnPath('geckodriver'))
585
+ // 6. PATH probe (skipped when CRAFTDRIVER_SKIP_PATH_PROBE is set, e.g. in
586
+ // integration tests that need to exercise the auto-download path even on
587
+ // systems where geckodriver is already installed). Mirrors
588
+ // resolveChromeDriver's equivalent step.
589
+ if (!process.env.CRAFTDRIVER_SKIP_PATH_PROBE && commandOnPath('geckodriver'))
499
590
  return 'geckodriver';
500
591
  // 7. Offline guard.
501
592
  if (process.env.CRAFTDRIVER_OFFLINE) {
@@ -1 +1 @@
1
- {"version":3,"file":"driverManager.js","sourceRoot":"","sources":["../../src/lib/driverManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"driverManager.js","sourceRoot":"","sources":["../../src/lib/driverManager.ts"],"names":[],"mappings":"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"}
@@ -4,9 +4,10 @@ export type FirefoxServiceOptions = Omit<DriverServiceOptions, 'command'> & {
4
4
  * Absolute path to a `geckodriver` binary.
5
5
  * When omitted, craftdriver resolves the driver automatically:
6
6
  * 1. CRAFTDRIVER_DRIVER_PATH / GECKODRIVER_PATH / GECKODRIVER_FILEPATH / SE_GECKODRIVER env vars
7
- * 2. node_modules/.bin/geckodriver (if geckodriver npm package is installed)
8
- * 3. geckodriver on PATH
9
- * 4. Download latest geckodriver from GitHub releases
7
+ * 2. Known CI-provided driver directories (e.g. GitHub Actions' GECKOWEBDRIVER)
8
+ * 3. node_modules/.bin/geckodriver (if geckodriver npm package is installed)
9
+ * 4. geckodriver on PATH
10
+ * 5. Download latest geckodriver from GitHub releases
10
11
  */
11
12
  binaryPath?: string;
12
13
  };
@@ -1 +1 @@
1
- {"version":3,"file":"firefox.d.ts","sourceRoot":"","sources":["../../src/lib/firefox.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,KAAK,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAIxE,MAAM,MAAM,qBAAqB,GAAG,IAAI,CAAC,oBAAoB,EAAE,SAAS,CAAC,GAAG;IAC1E;;;;;;;OAOG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,qBAAa,cAAe,SAAQ,aAAa;IAC/C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAqB;gBAEpC,OAAO,GAAE,qBAA0B;IA0BzC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAK7B"}
1
+ {"version":3,"file":"firefox.d.ts","sourceRoot":"","sources":["../../src/lib/firefox.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,KAAK,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAIxE,MAAM,MAAM,qBAAqB,GAAG,IAAI,CAAC,oBAAoB,EAAE,SAAS,CAAC,GAAG;IAC1E;;;;;;;;OAQG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,qBAAa,cAAe,SAAQ,aAAa;IAC/C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAqB;gBAEpC,OAAO,GAAE,qBAA0B;IA0BzC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAK7B"}
@@ -1 +1 @@
1
- {"version":3,"file":"firefox.js","sourceRoot":"","sources":["../../src/lib/firefox.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAA6B,MAAM,cAAc,CAAC;AACxE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,4BAA4B,EAAE,MAAM,aAAa,CAAC;AAc3D,MAAM,OAAO,cAAe,SAAQ,aAAa;IAC9B,UAAU,CAAqB;IAEhD,YAAY,UAAiC,EAAE;QAC7C,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;QAExC,uEAAuE;QACvE,sEAAsE;QACtE,oEAAoE;QACpE,qEAAqE;QACrE,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;QACjC,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAC7B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,kBAAkB,IAAI,CAAC,CAAC,UAAU,CAAC,mBAAmB,CAAC,CACrE,CAAC;QACF,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,oBAAoB,EAAE,GAAG,QAAQ,CAAC,CAAC;QAExE,mFAAmF;QACnF,KAAK,CAAC;YACJ,OAAO,EAAE,UAAU,IAAI,aAAa;YACpC,QAAQ,EAAE,EAAE;YACZ,aAAa,EAAE,SAAS;YACxB,yEAAyE;YACzE,kBAAkB,EAAE,IAAI,CAAC,kBAAkB,IAAI,4BAA4B;YAC3E,GAAG,IAAI;YACP,IAAI;SACL,CAAC,CAAC;QACH,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,IAAI,CAAC,IAAI;YAAE,OAAO;QACtB,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,MAAM,oBAAoB,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;QAChF,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC;IACtB,CAAC;CACF"}
1
+ {"version":3,"file":"firefox.js","sourceRoot":"","sources":["../../src/lib/firefox.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAA6B,MAAM,cAAc,CAAC;AACxE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,4BAA4B,EAAE,MAAM,aAAa,CAAC;AAe3D,MAAM,OAAO,cAAe,SAAQ,aAAa;IAC9B,UAAU,CAAqB;IAEhD,YAAY,UAAiC,EAAE;QAC7C,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;QAExC,uEAAuE;QACvE,sEAAsE;QACtE,oEAAoE;QACpE,qEAAqE;QACrE,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;QACjC,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAC7B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,kBAAkB,IAAI,CAAC,CAAC,UAAU,CAAC,mBAAmB,CAAC,CACrE,CAAC;QACF,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,oBAAoB,EAAE,GAAG,QAAQ,CAAC,CAAC;QAExE,mFAAmF;QACnF,KAAK,CAAC;YACJ,OAAO,EAAE,UAAU,IAAI,aAAa;YACpC,QAAQ,EAAE,EAAE;YACZ,aAAa,EAAE,SAAS;YACxB,yEAAyE;YACzE,kBAAkB,EAAE,IAAI,CAAC,kBAAkB,IAAI,4BAA4B;YAC3E,GAAG,IAAI;YACP,IAAI;SACL,CAAC,CAAC;QACH,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,IAAI,CAAC,IAAI;YAAE,OAAO;QACtB,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,MAAM,oBAAoB,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;QAChF,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC;IACtB,CAAC;CACF"}
@@ -33,6 +33,7 @@ const browser = await Browser.launch({
33
33
  | `storageState` | `string` | — | Path to a session-state JSON file to load on startup |
34
34
  | `mobileEmulation` | `MobileEmulation \| DeviceName` | — | Mobile device emulation settings (Chrome/Chromium only) |
35
35
  | `downloadsDir` | `string` | temp dir | Directory where downloaded files are saved |
36
+ | `browserPath` | `string` | — | Custom browser binary to launch (Chrome/Chromium/Firefox) — see [Driver Configuration → Browser Binary Configuration](./driver-configuration.md#browser-binary-configuration) |
36
37
 
37
38
  ## Navigation
38
39
 
@@ -8,10 +8,11 @@ Craftdriver resolves the WebDriver binary through a chain — first match wins:
8
8
  | 2 | `CRAFTDRIVER_CHROMEDRIVER_PATH` / `CRAFTDRIVER_GECKODRIVER_PATH` env var |
9
9
  | 3 | `CRAFTDRIVER_DRIVER_PATH` env var (generic fallback for either browser) |
10
10
  | 4 | Legacy/Selenium-compatible env vars: `CHROMEDRIVER_PATH`, `SE_CHROMEDRIVER` (chromedriver) or `GECKODRIVER_PATH`, `GECKODRIVER_FILEPATH`, `SE_GECKODRIVER` (geckodriver) |
11
- | 5 | **Cached auto-resolution** the path a previous auto-resolve settled on, reused within the `CRAFTDRIVER_DRIVER_TTL` window |
12
- | 6 | `chromedriver` / `geckodriver` in `node_modules/.bin` |
13
- | 7 | `chromedriver` / `geckodriver` on `PATH` |
14
- | 8 | **Auto-download from Chrome for Testing / GitHub** the zero-config default |
11
+ | 5 | Known CI-provided driver directories (e.g. GitHub Actions' `CHROMEWEBDRIVER` / `GECKOWEBDRIVER`) see [CI platform detection](#ci-platform-detection) |
12
+ | 6 | **Cached auto-resolution** the path a previous auto-resolve settled on, reused within the `CRAFTDRIVER_DRIVER_TTL` window |
13
+ | 7 | `chromedriver` / `geckodriver` in `node_modules/.bin` |
14
+ | 8 | `chromedriver` / `geckodriver` on `PATH` |
15
+ | 9 | **Auto-download from Chrome for Testing / GitHub** ← the zero-config default |
15
16
 
16
17
  Downloaded drivers are cached in `~/.cache/craftdriver`, and so is the
17
18
  *resolution itself* — which driver path to use. Within the
@@ -27,6 +28,87 @@ re-downloaded if needed. Only the driver binary is ever downloaded, never the
27
28
  browser itself. Explicit configuration (steps 1–4) always takes precedence over
28
29
  the cache.
29
30
 
31
+ ## CI platform detection
32
+
33
+ On **GitHub Actions**, craftdriver recognizes the runner's own pre-installed,
34
+ version-matched driver automatically — no configuration needed. GitHub's
35
+ `ubuntu-latest`, `macos-latest`, and `windows-latest` images all publish a
36
+ driver directory via `CHROMEWEBDRIVER` / `GECKOWEBDRIVER` env vars (see
37
+ [actions/runner-images](https://github.com/actions/runner-images)); craftdriver
38
+ checks those directories as step 5 above, before falling back to its own
39
+ cache/PATH-probe/download machinery.
40
+
41
+ This is best-effort: if a future runner image drops or renames these vars,
42
+ craftdriver falls through safely to the next resolution step rather than
43
+ erroring. No other CI platform is auto-detected yet — set
44
+ `CRAFTDRIVER_CHROMEDRIVER_PATH` / `CRAFTDRIVER_GECKODRIVER_PATH` explicitly on
45
+ other providers (or to pin a non-default driver even on GitHub Actions;
46
+ explicit config always wins, per the chain above).
47
+
48
+ ## Browser Binary Configuration
49
+
50
+ Everything above resolves the **driver** (chromedriver/geckodriver). A
51
+ separate, independent chain resolves the **browser** binary itself — useful
52
+ for a non-default Chrome/Chromium install or a portable Firefox build.
53
+
54
+ The `browserPath` option itself is opt-in: craftdriver never sets it for you,
55
+ and omitting it changes nothing. Steps 4–5 below are **not** craftdriver-opt-in
56
+ the same way, though — `CHROME_BIN`, `FIREFOX_BIN`, `SE_CHROME_PATH`, and
57
+ `SE_FIREFOX_PATH` are conventions other tools (Karma, Selenium Manager) already
58
+ set in CI images and local environments for their own purposes. If one of
59
+ those happens to already be exported in your environment, craftdriver will
60
+ start forwarding it as of this version — a behavior change you didn't ask
61
+ craftdriver for, even though you didn't touch any craftdriver config either.
62
+ If you don't want that, set `CRAFTDRIVER_OFFLINE`-style pinning instead, or
63
+ simply don't rely on those four var names for anything craftdriver-adjacent.
64
+
65
+ | Step | Source |
66
+ |---|---|
67
+ | 1 | `browserPath` option in `Browser.launch()` |
68
+ | 2 | `CRAFTDRIVER_CHROME_PATH` / `CRAFTDRIVER_FIREFOX_PATH` env var |
69
+ | 3 | `CRAFTDRIVER_BROWSER_PATH` env var (generic fallback for either browser) |
70
+ | 4 | `CHROME_BIN` / `FIREFOX_BIN` env var (common CI/tooling convention, e.g. Karma) |
71
+ | 5 | `SE_CHROME_PATH` / `SE_FIREFOX_PATH` env var (Selenium Manager convention) |
72
+
73
+ Each step is validated (the file must exist) before use; an invalid path falls
74
+ through to the next step rather than being forwarded to the driver as-is (and
75
+ logs a `[craftdriver]` note to stderr when it does, so a typo doesn't silently
76
+ launch the wrong browser).
77
+
78
+ `CRAFTDRIVER_BROWSER_PATH` (step 3) is forwarded verbatim regardless of
79
+ whether the browser being launched is Chrome or Firefox — it's a single path,
80
+ so it can only ever be correct for one of them. Don't set it in a process or
81
+ CI job that launches both browsers; use the browser-specific `CRAFTDRIVER_CHROME_PATH`
82
+ / `CRAFTDRIVER_FIREFOX_PATH` instead.
83
+
84
+ ```typescript
85
+ // Launch a custom Chromium build
86
+ const browser = await Browser.launch({
87
+ browserName: 'chrome',
88
+ browserPath: '/opt/chromium-custom/chrome',
89
+ });
90
+ ```
91
+
92
+ ```bash
93
+ # Equivalent via env var — no code change needed
94
+ CRAFTDRIVER_CHROME_PATH=/opt/chromium-custom/chrome npm test
95
+ ```
96
+
97
+ If chromedriver itself also has to be auto-downloaded (no driver pinned
98
+ anywhere in the chain above), its version is detected from *this* binary
99
+ instead of probing for system Chrome — a custom Chromium build's version
100
+ routinely doesn't match system Chrome, so using the right binary for version
101
+ detection avoids downloading a mismatched chromedriver. Firefox has no
102
+ equivalent concern: geckodriver's own download isn't gated on the Firefox
103
+ version.
104
+
105
+ Version detection runs the binary with `--version` and parses its output, the
106
+ same way craftdriver already probes system Chrome/Firefox — so `browserPath`
107
+ is supported for Chrome/Chromium and Firefox builds only. Anything that
108
+ doesn't answer `--version` the way those browsers do (Electron apps and other
109
+ Chromium embedders) is out of scope for now; point `CRAFTDRIVER_CHROMEDRIVER_PATH`
110
+ at a pinned driver instead of relying on auto-detection in that case.
111
+
30
112
  ## Environment variables
31
113
 
32
114
  | Variable | Description | Default |
@@ -34,6 +116,9 @@ the cache.
34
116
  | `CRAFTDRIVER_CHROMEDRIVER_PATH` | Absolute path to a chromedriver binary | — |
35
117
  | `CRAFTDRIVER_GECKODRIVER_PATH` | Absolute path to a geckodriver binary | — |
36
118
  | `CRAFTDRIVER_DRIVER_PATH` | Generic fallback path (either browser) | — |
119
+ | `CRAFTDRIVER_CHROME_PATH` | Absolute path to a Chrome/Chromium binary — see [Browser Binary Configuration](#browser-binary-configuration) | — |
120
+ | `CRAFTDRIVER_FIREFOX_PATH` | Absolute path to a Firefox binary | — |
121
+ | `CRAFTDRIVER_BROWSER_PATH` | Generic browser-binary fallback path (either browser) | — |
37
122
  | `CRAFTDRIVER_CACHE_DIR` | Directory for cached driver downloads | `~/.cache/craftdriver` |
38
123
  | `CRAFTDRIVER_OFFLINE` | Set to `1` to disable all network calls | — |
39
124
  | `CRAFTDRIVER_DRIVER_TTL` | Driver-resolution cache lifetime, in seconds (both browsers). `0` disables the cache | `86400` (24 h) |
@@ -115,6 +200,20 @@ but the direction holds):
115
200
 
116
201
  Run it yourself with `npm run bench -- launch-critical-path`.
117
202
 
203
+ A separate micro-benchmark (`tests/perf/driver-resolution.perf.ts`) isolates
204
+ just the CI-provided driver directory step from the rest of the resolution
205
+ chain — `resolveChromeDriver()` alone, cache isolated so both paths are
206
+ measured cold:
207
+
208
+ | Scenario | Time |
209
+ |---|---|
210
+ | `CHROMEWEBDRIVER` set (new) | ~0ms (an `fs.existsSync` check) |
211
+ | PATH-probe + Chrome-version-detect fallback (old) | ~360ms |
212
+
213
+ That's the cost every cold `Browser.launch()` used to pay once per process on
214
+ a GitHub Actions runner before this step existed — now skipped entirely. Run
215
+ it yourself with `npm run bench -- driver-resolution`.
216
+
118
217
  ### Browser startup flags (advanced, opt-in)
119
218
 
120
219
  craftdriver launches the browser with **no performance flags of its own** — it
@@ -24,15 +24,24 @@ CraftDriver checks for the driver in this order:
24
24
  | ---- | ----------------------------------------------------------------------- |
25
25
  | 1 | Explicit `ChromeService` / `FirefoxService` configuration |
26
26
  | 2 | Environment variables such as `CHROMEDRIVER_PATH` or `GECKODRIVER_PATH` |
27
- | 3 | Project-local binaries in `node_modules/.bin` |
28
- | 4 | Binaries already available on `PATH` |
29
- | 5 | Auto-resolved and cached driver matching the installed browser |
27
+ | 3 | Known CI-provided driver directories (e.g. GitHub Actions' `CHROMEWEBDRIVER` / `GECKOWEBDRIVER`) |
28
+ | 4 | Project-local binaries in `node_modules/.bin` |
29
+ | 5 | Binaries already available on `PATH` |
30
+ | 6 | Auto-resolved and cached driver matching the installed browser |
30
31
 
31
32
  If a browser update leaves a cached driver stale, CraftDriver retries once with a refreshed driver instead of making you clear the cache manually.
32
33
 
33
34
  ## CI Friendly
34
35
 
35
- The default setup works well on CI runners that already include Chrome or Firefox. For stricter environments, you can pin the driver path or run offline:
36
+ The default setup works well on CI runners that already include Chrome or
37
+ Firefox. On **GitHub Actions** specifically, craftdriver auto-detects the
38
+ runner's own pre-installed, version-matched driver out of the box (via
39
+ `CHROMEWEBDRIVER` / `GECKOWEBDRIVER`) — no configuration needed, and it's
40
+ faster than the fallback probes since it skips version detection entirely (see
41
+ [Driver Configuration → CI platform detection](./driver-configuration.md#ci-platform-detection)).
42
+
43
+ For platforms without built-in detection, or to pin a driver other than the
44
+ runner's default, set the path manually:
36
45
 
37
46
  ```bash
38
47
  CRAFTDRIVER_CHROMEDRIVER_PATH=/usr/bin/chromedriver npm test
@@ -48,5 +57,8 @@ Manual configuration is useful when:
48
57
  - network access is blocked
49
58
  - you need custom driver logging
50
59
  - you want to avoid any version detection during launch
60
+ - you're launching a non-default Chrome/Chromium/Firefox build via
61
+ `browserPath` / `CRAFTDRIVER_CHROME_PATH` — see
62
+ [Driver Configuration → Browser Binary Configuration](./driver-configuration.md#browser-binary-configuration)
51
63
 
52
64
  See [Driver Configuration](./driver-configuration.md) for the full reference.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "craftdriver",
3
- "version": "1.0.4",
3
+ "version": "1.1.0",
4
4
  "description": "Modern WebDriver automation library for NodeJS",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",