chore: TypeScript 7 for workers + oxlint

Merged
RI
2d ago
+132-6

Summary

  • TypeScript 7.0.2 (native Go tsc) for apps/distrib-worker, apps/outrank-worker and apps/translation-worker, each with its own devDependency. Each check now finishes in about 0.1s.
  • The root stays on typescript@6.0.3 only for astro check (apps/web, apps/docs). TS 7 dropped the classic JS compiler API, and @astrojs/check@0.9.11 declares a peer dependency on typescript ^5 || ^6. This is documented in package.json (typescriptComment) and CLAUDE.md.
  • oxlint replaces ESLint. The old .eslintrc extended @antfu, which was never installed, so it did nothing. The new .oxlintrc.json enables the typescript, unicorn, oxc and import plugins. It lints 531 files in about 0.3s with 0 errors and 32 warnings, which I left as they are.
  • New scripts lint / lint:fix. lint runs in check, in ci:verify:web and in the deploy-web workflow.

TS 7.1 is still 7.1.0-beta, so this PR pins the stable 7.0.2.

Test plan

  • bun run check passes in all 3 workers on TS 7.0.2
  • bun run lint exits 0
  • bun install --frozen-lockfile reports no changes
  • CI: deploy-web / docs astro check (still on TS 6)

🤖 Generated with Claude Code


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need.

Summary by CodeRabbit

  • Chores

    • Added automated linting to verification and deployment workflows.
    • Standardized code-quality checks across the project.
    • Updated worker development tooling to use a consistent TypeScript version.
  • Documentation

    • Added guidance for linting and type-checking workflows, including available commands.
  • Bug Fixes

    • Improved the reliability of pre-deployment checks by validating code quality during builds.