Skip to content

Type-position chrome.* refs still leak into extension-shared after browser.* migration #34

@paperhurts

Description

@paperhurts

FF-2 migrated 27 value-position chrome.X.Y(...) calls to browser.X.Y(...) but kept type-position references on @types/chrome. Five files still have chrome.bookmarks.BookmarkTreeNode / BookmarkChangeInfo / BookmarkMoveInfo / BookmarkRemoveInfo annotations:

  • packages/extension-shared/src/lib/apply-remote.ts:75
  • packages/extension-shared/src/lib/listeners.ts:107,118,132,136
  • packages/extension-shared/src/lib/reconcile.ts:124

Meanwhile packages/extension-shared/src/popup.ts:11 was migrated to browser.Tabs.Tab (the implementer flagged it as needed for typecheck).

This compiles only because extension-shared/tsconfig.json keeps @types/chrome in types and the dep is retained in extension-shared, extension-chrome, and extension-firefox package.jsons.

Fix

Migrate the 5 remaining type-position refs to webextension-polyfill's namespace (e.g., Browser.Bookmarks.BookmarkTreeNode via import type { Browser } from "webextension-polyfill"). Then drop @types/chrome from all three packages' devDeps and the tsconfig types arrays.

Flagged by

Post-merge code review of PR #32.

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions