- Extract shared DeferClose helper, removing 14 duplicate copies - Rename PlayWright-prefixed types to cleaner names (BrowserOptions, BrowserSelection, NewBrowser, etc.) - Rename fields: ServerAddress, RequireServer (was DontLaunchOnConnectFailure) - Extract shared initBrowser/mergeOptions into browser_init.go, deduplicating ~120 lines between NewBrowser and NewInteractiveBrowser - Remove unused locator field from document struct - Add tests for all previously untested packages (archive, aislegopher, wegmans, useragents, powerball) and expand existing test suites - Add MIGRATION.md documenting all breaking API changes Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
38 lines
1.2 KiB
Markdown
38 lines
1.2 KiB
Markdown
# Migration Guide
|
|
|
|
This guide documents all breaking API changes from the restructuring of go-extractor.
|
|
|
|
All core interfaces (`Browser`, `Document`, `Node`, `CookieJar`, `InteractiveBrowser`) are **unchanged**.
|
|
|
|
## Type and Function Renames
|
|
|
|
```
|
|
extractor.NewPlayWrightBrowser -> extractor.NewBrowser
|
|
extractor.PlayWrightBrowserOptions -> extractor.BrowserOptions
|
|
extractor.PlayWrightBrowserSelection -> extractor.BrowserSelection
|
|
|
|
extractor.PlayWrightBrowserSelectionChromium -> extractor.BrowserChromium
|
|
extractor.PlayWrightBrowserSelectionFirefox -> extractor.BrowserFirefox
|
|
extractor.PlayWrightBrowserSelectionWebKit -> extractor.BrowserWebKit
|
|
```
|
|
|
|
## Field Renames (inside BrowserOptions)
|
|
|
|
```
|
|
.PlayWrightServerAddress -> .ServerAddress
|
|
.DontLaunchOnConnectFailure -> .RequireServer
|
|
```
|
|
|
|
The `RequireServer` field is semantically identical to `DontLaunchOnConnectFailure`:
|
|
|
|
- Old: `DontLaunchOnConnectFailure: true` meant "fail if can't connect to server"
|
|
- New: `RequireServer: true` means the same thing
|
|
|
|
## New Helper
|
|
|
|
```go
|
|
extractor.DeferClose(closer)
|
|
```
|
|
|
|
Nil-safe defer close helper. Replaces the `deferClose` functions that were previously copy-pasted across packages.
|