Skip to content

Comments

feat: migrate into biome instead of ESLint#2

Merged
TarasKovalenko merged 2 commits intomainfrom
Taras/biome
Feb 20, 2026
Merged

feat: migrate into biome instead of ESLint#2
TarasKovalenko merged 2 commits intomainfrom
Taras/biome

Conversation

@TarasKovalenko
Copy link
Owner

No description provided.

@gemini-code-assist
Copy link

Summary of Changes

Hello @TarasKovalenko, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request overhauls the project's code quality infrastructure by transitioning from ESLint to Biome. The change aims to simplify the development setup and improve performance by using a unified tool for both linting and code formatting. This involves a comprehensive cleanup of old tooling and the integration of new configurations and commands, resulting in a more consistent and efficient codebase.

Highlights

  • Tooling Migration: Migrated the project's linting and formatting from ESLint to Biome, consolidating these processes into a single, performant tool.
  • Configuration Updates: Removed all ESLint-related configuration files and dependencies, and introduced a new biome.json file to configure Biome's linter and formatter.
  • Script Changes: Updated package.json scripts to replace ESLint commands with new Biome commands for linting, fixing, and formatting.
  • Code Formatting: Applied minor formatting adjustments across various React components and CSS files to conform to Biome's stylistic rules.

🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console.

Changelog
  • .npmrc
    • Removed legacy-peer-deps=true configuration.
  • biome.json
    • Added new Biome configuration file, enabling formatter and linter with specific rules and file inclusions/exclusions.
  • eslint.config.js
    • Removed ESLint configuration file.
  • package-lock.json
    • Removed numerous ESLint-related packages and updated electron-to-chromium version.
  • package.json
    • Updated lint script to use Biome, added lint:fix and format scripts for Biome, and removed ESLint-related dev dependencies.
  • src-tauri/capabilities/default.json
    • Reformated JSON array declarations to be inline.
  • src/App.tsx
    • Reordered imports and applied minor formatting changes.
  • src/components/access/AccessView.tsx
    • Reordered imports, applied minor formatting changes to style attributes and MetadataCell props.
  • src/components/auth/SignIn.tsx
    • Reordered imports, applied minor formatting changes to style attributes and Text component props.
  • src/components/certificates/CertificatesList.tsx
    • Reordered imports, updated string interpolation for thumbprint, and applied minor formatting changes to Text and Button components.
  • src/components/common/DetailsDrawer.tsx
    • Reordered imports, applied minor formatting changes to Text component props and dialog content.
  • src/components/common/ItemMetadataDrawer.tsx
    • Reordered imports, applied minor formatting changes to Button and Text components.
  • src/components/common/ItemTable.tsx
    • Reordered imports, applied minor formatting changes to TableRow background and Text components.
  • src/components/keys/KeysList.tsx
    • Reordered imports, applied minor formatting changes to Text and Button components.
  • src/components/layout/ContentTabs.tsx
    • Reordered imports.
  • src/components/layout/Sidebar.tsx
    • Reordered imports, applied minor formatting changes to maxHeight style and div element.
  • src/components/layout/StatusBar.tsx
    • Applied minor formatting changes to destructuring assignment.
  • src/components/layout/TopBar.tsx
    • Reordered imports, applied minor formatting changes to style attributes and MenuItem component.
  • src/components/logs/AuditLog.tsx
    • Reordered imports, applied minor formatting changes to actionColor function signature.
  • src/components/secrets/CreateSecretDialog.tsx
    • Reordered imports.
  • src/components/secrets/SecretsList.tsx
    • Reordered imports, applied minor formatting changes to Text and Button components, and updated useEffect dependency array.
  • src/components/secrets/secretsBulkDeleteLogic.ts
    • Applied minor formatting changes to function signatures and forEach loops.
  • src/index.css
    • Applied minor formatting changes to CSS selectors and property values.
  • src/main.tsx
    • Applied minor formatting changes to import and render statements.
  • src/mock/data.ts
    • Reordered imports.
  • src/services/tauri.ts
    • Reordered imports, applied minor formatting changes to setSecret function signature.
  • src/stores/appStore.ts
    • Reordered imports, applied minor formatting changes to setSignedIn and selectVault functions.
  • src/styles/dev-ui.css
    • Applied minor formatting changes to font-family declarations and opacity values.
  • tsconfig.json
    • Reformated references array.
  • vite.config.ts
    • Reordered imports.
Activity
  • TarasKovalenko initiated the migration from ESLint to Biome for linting and formatting, affecting various configuration and source files.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

Code Review

The migration from ESLint to Biome is a positive step for the project's performance and developer experience. The pull request successfully removes ESLint configurations and dependencies while updating the codebase to adhere to Biome's formatting and linting standards. However, there are a few critical issues to address: the @biomejs/biome package is missing from devDependencies, and the biome.json configuration contains an incorrect schema version and redundant glob patterns. Addressing these will ensure a stable and maintainable linting setup.

},
"devDependencies": {
"@eslint/js": "^10.0.1",
"@types/node": "^25.3.0",

Choose a reason for hiding this comment

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

high

The @biomejs/biome package is used in the project's scripts but is not listed in devDependencies. It should be explicitly added to ensure version consistency across different environments and to avoid the overhead of npx downloading the package during every execution.

Suggested change
"@types/node": "^25.3.0",
"@biomejs/biome": "^1.9.4",
"@types/node": "^25.3.0",

package.json Outdated
Comment on lines 14 to 16
"lint": "npx @biomejs/biome lint . --max-diagnostics=200",
"lint:fix": "npx @biomejs/biome check . --write --unsafe --max-diagnostics=200",
"format": "npx @biomejs/biome format --write .",

Choose a reason for hiding this comment

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

medium

Once @biomejs/biome is added to the project's dependencies, you should invoke the biome binary directly in the scripts instead of using npx. This is more efficient and follows standard Node.js project practices.

Suggested change
"lint": "npx @biomejs/biome lint . --max-diagnostics=200",
"lint:fix": "npx @biomejs/biome check . --write --unsafe --max-diagnostics=200",
"format": "npx @biomejs/biome format --write .",
"lint": "biome lint . --max-diagnostics=200",
"lint:fix": "biome check . --write --unsafe --max-diagnostics=200",
"format": "biome format --write .",

@@ -0,0 +1,46 @@
{
"$schema": "https://biomejs.dev/schemas/2.4.3/schema.json",

Choose a reason for hiding this comment

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

medium

The schema version 2.4.3 appears to be incorrect as the current stable version of Biome is 1.9.4. Using an invalid version in the schema URL will prevent IDEs from providing proper configuration validation and autocompletion.

Suggested change
"$schema": "https://biomejs.dev/schemas/2.4.3/schema.json",
"$schema": "https://biomejs.dev/schemas/1.9.4/schema.json",

Comment on lines +3 to +17
"files": {
"includes": [
"**",
"!**/node_modules",
"!**/dist",
"!**/coverage",
"!**/src-tauri/target",
"!**/.venv-ci",
"!!**/node_modules",
"!!**/dist",
"!!**/coverage",
"!!**/src-tauri/target",
"!!**/.venv-ci"
]
},

Choose a reason for hiding this comment

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

medium

The files configuration contains redundant patterns (e.g., !!) and uses negated includes for ignoring directories. Biome processes all files by default, so includes: ["**"] is unnecessary. It is recommended to use the dedicated ignore field for excluding directories like node_modules and dist.

  "files": {
    "ignore": [
      "node_modules",
      "dist",
      "coverage",
      "src-tauri/target",
      ".venv-ci"
    ]
  },

@TarasKovalenko TarasKovalenko merged commit 1865f40 into main Feb 20, 2026
6 checks passed
@TarasKovalenko TarasKovalenko deleted the Taras/biome branch February 20, 2026 10:19
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.

1 participant