Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: microsoft/vscode-cosmosdb
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: main@{1day}
Choose a base ref
...
head repository: microsoft/vscode-cosmosdb
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: main
Choose a head ref
  • 1 commit
  • 21 files changed
  • 1 contributor

Commits on Apr 20, 2026

  1. Migrate linting from ESLint to oxlint (#2986)

    * chore: migrate linting from ESLint to oxlint
    - Add .oxlintrc.json with full rule set:
      correctness (error), suspicious (warn), perf (warn)
      TypeScript, React, jsx-a11y, react-perf, Jest, Mocha plugins
      license-header enforced via jsPlugins
      promise plugin for async/await patterns
    - Slim down eslint.config.mjs to a single rule:
      no-restricted-syntax (AST selectors for @vscode/l10n import guard)
      TypeScript parser kept so ESLint can parse .ts/.tsx files
    - Install oxlint + eslint-plugin-oxlint devDependencies
    - Update lint/lint-fix scripts: oxlint runs first, then eslint
    - Remove stale eslint-disable comments from source files
      (rules migrated to oxlint no longer need inline suppressions)
    - Add oxlint-disable comment in test/global.test.ts
      for intentional top-level mocha hook
    
    * chore: simplify .oxlintrc.json — remove redundant explicit error rules
    Remove ~170 lines of explicit 'error' rules that are already enabled
    automatically by oxlint's default correctness category:
    - Top-level rules: removed all 55 Default=Γ standard ESLint correctness
      rules (constructor-super, no-debugger, no-unused-labels, etc.)
    - TS/TSX overrides: removed 10 TypeScript Default=Γ rules
      (no-duplicate-enum-values, no-misused-new, no-this-alias,
       no-wrapper-object-types, prefer-as-const, triple-slash-reference,
       no-extra-non-null-assertion, no-non-null-asserted-optional-chain,
       no-unsafe-declaration-merging, prefer-namespace-keyword)
    - Removed no-unused-expressions (Default=Γ correctness)
    - Removed no-op 'off' entries for Pedantic rules that aren't enabled
      (no-throw-literal, prefer-promise-reject-errors, require-await)
    Config shrinks from ~400 to ~230 lines. Rule count unchanged: 87 rules.
    
    * fix: add oxlint to devDependencies
    The lint script was calling oxlint but the package was missing from
    devDependencies, causing CI to fail with 'oxlint: not found' since
    npm ci only installs declared dependencies.
    
    * feat(lint): enable oxlint type-aware mode via oxlint-tsgolint
    - Install oxlint-tsgolint package (required for typeAware option)
    - Add options.typeAware: true to .oxlintrc.json
    - Add type-aware rules for *.ts and *.tsx:
        no-floating-promises (error), no-misused-promises (error),
        require-await (warn), unbound-method (warn), no-base-to-string (warn)
    - Disable type-aware rules for test files (jest/mocha overrides)
    - Revert eslint.config.mjs to truly minimal (no-restricted-syntax only)
    Type-aware mode adds only ~1.5s overhead (8s -> 9.4s) thanks to
    oxlint-tsgolint's Rust-based type resolution.
    
    * chore(lint): disable no-unsafe-type-assertion, jsx-no-jsx-as-prop, no-shadow in oxlint; restore tsconfig.json
    
    * fix: tsconfig.test.json - use moduleResolution node to fix TS5095 and TS2742 pipeline failures
    
    * feat: implement worker threads for parallel localization extraction
    
    * fix: enhance integration test retries in CI workflow
    bk201- authored Apr 20, 2026
    Configuration menu
    Copy the full SHA
    0352cbe View commit details
    Browse the repository at this point in the history
Loading