- 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>
1.2 KiB
1.2 KiB
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: truemeant "fail if can't connect to server" - New:
RequireServer: truemeans the same thing
New Helper
extractor.DeferClose(closer)
Nil-safe defer close helper. Replaces the deferClose functions that were previously copy-pasted across packages.