From 2da8549fe58225751c455d5b7e84b16fc4324adf Mon Sep 17 00:00:00 2001 From: Harshit Date: Fri, 10 Jul 2026 08:08:08 +0530 Subject: [PATCH] fix(browserstack-service): declare browser.setCustomTags on WebdriverIO.Browser type (SDK-6882) `browser.setCustomTags(key, value)` is attached at runtime by the service but was not declared on the global `WebdriverIO.Browser` interface in the shipped type entry (`build/index.d.ts`). The existing declaration in `src/@types/bstack-service-types.d.ts` reaches only internal source via `/// ` and is never emitted to consumers, so TypeScript users got: `Property 'setCustomTags' does not exist on type 'Browser'.` Add the augmentation to the `declare global { namespace WebdriverIO {} }` block in `src/index.ts`, which is emitted to `build/index.d.ts` and delivered to consumers. Verified: pristine 9.29.1 reproduces the exact TS2339; with this change built, `tsc` compiles clean (exit 0). Runtime behavior unchanged. Co-Authored-By: Claude Opus 4.8 --- packages/wdio-browserstack-service/src/index.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/packages/wdio-browserstack-service/src/index.ts b/packages/wdio-browserstack-service/src/index.ts index 32b65e41f1a..1168a667673 100644 --- a/packages/wdio-browserstack-service/src/index.ts +++ b/packages/wdio-browserstack-service/src/index.ts @@ -20,6 +20,9 @@ export * from './types.js' declare global { namespace WebdriverIO { interface ServiceOption extends BrowserstackConfig {} + interface Browser { + setCustomTags: (key: string, value: string) => Promise + } } interface State { value: number,