Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR upgrades all repo dependencies to their latest versions, completes the TypeScript 6 migration work needed for the new toolchain, and hardens a couple of Firefox-sensitive e2e paths that surfaced during validation.
What Changed
Upgraded dependencies and devDependencies via bun update --latest --recursive
Refreshed bun.lock
Migrated tsconfig.json away from deprecated baseUrl
Replaced alias resolution with explicit relative paths
Made global TS types explicit with "types": ["chrome"]
Stabilized Firefox full e2e around:
language-switch suggestion assertions
productivity dashboard daily-bucket date seeding
Notable Dependency Bumps
typescript 5.9.3 -> 6.0.2
typescript-eslint 8.57.2 -> 8.58.2
eslint 10.1.0 -> 10.2.0
prettier 3.8.1 -> 3.8.3
ckeditor5 47.6.1 -> 48.0.0
lexical / @lexical/* 0.42.0 -> 0.43.0
@types/chrome 0.1.38 -> 0.1.40
@mlc-ai/web-runtime 0.24.0-dev2 -> 0.24.0-dev3
TypeScript 6 Migration Notes
TypeScript 6 deprecates baseUrl, and the repo was relying on it for alias resolution. Instead of using the temporary ignoreDeprecations escape hatch, this PR applies the root fix:
Removed "baseUrl": "./src"
Switched aliases to explicit relative mappings:
@core/* -> ./src/core/*
@adapters/* -> ./src/adapters/*
@ui/* -> ./src/ui/*
@third-party/* -> ./src/third_party/*
Replaced broad typeRoots usage with explicit "types": ["chrome"]
This keeps the config aligned with TS6 guidance and avoids carrying forward deprecated behavior into TS7.
Why The E2E Changes Are Included
During validation, Firefox full e2e exposed two brittle test paths:
The “all supported languages” test could read a transient stale popup after language switches.
The productivity dashboard test seeded today/yesterday using the Bun test process clock, while the extension runtime computed dates in its own context, which could drift by local date/timezone.
The fixes are test-only and make the suite more deterministic under Firefox.
Validation
Ran successfully:
bun run check
bun run test
bun run build
bun run build --platform=firefox
bun run test:e2e
bun run test:e2e --platform=firefox
bun run test:e2e:full --platform=firefox