Skip to content

Update ESLint, Prettier, tsconfig, and dependencies to modern versions#193

Merged
tnaum-ms merged 19 commits into
nextfrom
copilot/fix-168
Jul 19, 2025
Merged

Update ESLint, Prettier, tsconfig, and dependencies to modern versions#193
tnaum-ms merged 19 commits into
nextfrom
copilot/fix-168

Conversation

Copilot AI commented Jul 17, 2025

Copy link
Copy Markdown
Contributor

Updates the project's tooling configuration to use modern versions and configurations, based on the changes from microsoft/vscode-cosmosdb#2673.

Key Changes

Configuration Updates

  • ESLint: Migrated from legacy .eslintrc.js to modern eslint.config.mjs flat config format
  • Prettier: Replaced .prettierrc with prettier.config.mjs using ES module syntax
  • TypeScript: Updated tsconfig.json to use ES2023 target (Node.js 20.9+ fully supports it)

Dependency Updates

  • Updated ESLint to v9.26.0 with typescript-eslint v8.32.0
  • Updated language server packages to v9.0.1 (vscode-languageclient/vscode-languageserver)
  • Added es-toolkit as a modern replacement for some lodash utilities
  • Updated various dev dependencies to latest compatible versions

Code Modernization

  • Replaced fs-extra with native Node.js node:fs/promises APIs
  • Updated language server implementation to use modern v9 APIs
  • Added helper utility pathExists for async file system checks
  • Fixed test utilities to work with updated dependency interfaces

Build & Tooling

  • Updated .vscodeignore to exclude new config files from packaging
  • Added license headers to new configuration files
  • Fixed TypeScript compilation errors related to updated APIs
  • Ensured Prettier formatting works correctly with new config

Testing

  • ✅ Build passes successfully
  • ✅ Prettier formatting works correctly
  • ✅ ESLint configuration loads and runs (shows some pre-existing code issues to address separately)
  • ✅ Language server integration updated for v9 APIs

This modernization brings the project in line with current best practices while maintaining full functionality.

Fixes #168.


💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.

Copilot AI and others added 2 commits July 17, 2025 15:16
Co-authored-by: tnaum-ms <171359267+tnaum-ms@users.noreply.github.com>
Co-authored-by: tnaum-ms <171359267+tnaum-ms@users.noreply.github.com>
Copilot AI changed the title [WIP] Update ESLint, Prettier, tsconfig, and the outdated dependencies. Update ESLint, Prettier, tsconfig, and dependencies to modern versions Jul 17, 2025
Copilot AI requested a review from tnaum-ms July 17, 2025 15:21
@tnaum-ms tnaum-ms requested a review from Copilot July 19, 2025 10:12

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR modernizes the project's development tooling configuration by migrating from legacy to modern standards and updating dependencies to their latest compatible versions.

  • Updated ESLint from legacy .eslintrc.js to modern eslint.config.mjs flat config format
  • Replaced .prettierrc with prettier.config.mjs using ES module syntax
  • Updated TypeScript configuration to target ES2023 and modernized dependency APIs

Reviewed Changes

Copilot reviewed 60 out of 62 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
eslint.config.mjs New modern ESLint flat config format with comprehensive rule sets
prettier.config.mjs New Prettier config using ES module syntax
package.json Updated all dev dependencies to latest versions with new eslint/prettier packages
webpack.config.*.js Updated build targets to ES2023 and added dev server middleware fix
test/* Replaced deprecated test utilities with local implementations
src/* Updated imports from lodash to es-toolkit and fs-extra to native Node.js APIs
Comments suppressed due to low confidence (1)

src/webviews/documentdb/collectionView/components/QueryEditor.tsx:20

  • [nitpick] The interface 'QueryEditorProps' should follow the project's naming convention. Consider using a more descriptive name like 'IQueryEditorProps' to align with other interface naming patterns in the codebase.
export const QueryEditor = ({ onExecuteRequest }: QueryEditorProps): JSX.Element => {

Comment thread src/webviews/documentdb/collectionView/components/DataViewPanelTableV2.tsx Outdated
Comment thread src/utils/regionToDisplayName.ts Outdated
Comment thread src/documentdb/scrapbook/services/languageService.ts Outdated
tnaum-ms and others added 2 commits July 19, 2025 12:24
…rom code review

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@tnaum-ms tnaum-ms marked this pull request as ready for review July 19, 2025 10:54
@tnaum-ms tnaum-ms merged commit 8085b6e into next Jul 19, 2025
5 checks passed
@tnaum-ms tnaum-ms deleted the copilot/fix-168 branch July 19, 2025 10:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Update ESLint, Prettier, tsconfig, and the outdated dependencies.

3 participants