Skip to content

fix: make BrowserConfig typing deterministic#1234

Open
ekazakov14 wants to merge 1 commit intogemini-testing:masterfrom
ekazakov14:fix/browser-config-types
Open

fix: make BrowserConfig typing deterministic#1234
ekazakov14 wants to merge 1 commit intogemini-testing:masterfrom
ekazakov14:fix/browser-config-types

Conversation

@ekazakov14
Copy link
Copy Markdown

Problem

BrowserConfig receives ~40 properties dynamically via _.extend(this, browserOptions) in the constructor. Since TypeScript cannot infer dynamically assigned properties, the type information was added through a declare module "./browser-config" augmentation at the bottom of types.ts.

This pattern is order-dependent: the augmentation is only applied if types.ts is loaded before browser-config.d.ts is used. TypeScript's language server and newer type checkers like tsgo (TypeScript 7) do not guarantee file loading order, which causes intermittent errors:

Property 'id' does not exist on type 'BrowserConfig'
Property 'urlHttpTimeout' does not exist on type 'BrowserConfig'

These errors appear non-deterministically — present in one run, gone in the next.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant