Skip to content

Conversation

@jpoehnelt
Copy link
Member

  • build: switch to biomejs
  • style: biome check --write
  • style: biome check --write --unsafe
  • style: manual fixes

@jpoehnelt jpoehnelt requested a review from a team as a code owner November 25, 2025 00:08
@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello @jpoehnelt, 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 marks a significant shift in the project's code quality tooling by migrating from ESLint to Biome. The change aims to standardize code formatting and linting, potentially offering performance benefits and a more integrated developer experience. This involved removing old configurations, adding new ones, and applying automated formatting across a wide range of JavaScript and TypeScript files.

Highlights

  • Migration to Biome: The project has transitioned from ESLint to Biome for code linting and formatting, streamlining the development workflow and ensuring consistent code style.
  • ESLint Removal: All ESLint-related configuration files, including '.eslintignore' and '.eslintrc.js', have been removed from the repository.
  • Biome Configuration Added: A new 'biome.json' configuration file has been introduced to define the project's code style and linting rules using Biome.
  • Code Formatting: Numerous JavaScript and TypeScript files across various solutions and samples have been automatically reformatted to comply with Biome's style guidelines. This includes changes to indentation, semicolons, variable declarations, and string literals.
  • Dependency Updates: The 'package.json' and 'pnpm-lock.yaml' files have been updated to remove ESLint dependencies and add '@biomejs/biome' as a development dependency.
  • Node.js Import Protocol: The '.github/scripts/check-gs.ts' file now uses the 'node:' protocol for importing built-in Node.js modules, aligning with modern Node.js practices.
Ignored Files
  • Ignored by pattern: .gemini/** (1)
    • .gemini/settings.json
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
Contributor

@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

This pull request migrates the project's linting and formatting from ESLint to BiomeJS. This is a significant and welcome change for standardizing code style. The changes mostly consist of applying Biome's auto-formatting across the codebase, removing old ESLint configurations, and updating the project dependencies. While reviewing, I found a few critical issues related to logic and potential runtime errors that were either pre-existing or surfaced by the refactoring. My comments focus on these to ensure the code's correctness and robustness.

@jpoehnelt
Copy link
Member Author

/gemini summary

@gemini-code-assist
Copy link
Contributor

Summary of Changes

This pull request fundamentally refactors the project's code quality infrastructure by replacing ESLint with Biome. The primary goal is to establish a unified and efficient system for linting and formatting, ensuring a consistent code style throughout the repository. This change impacts a significant portion of the JavaScript and TypeScript files, bringing them in line with the new automated styling rules and improving overall code maintainability.

Highlights

  • Migration to Biome: The project has transitioned from ESLint to Biome for code linting and formatting, streamlining the development workflow and ensuring consistent code style across the codebase.
  • ESLint Removal: All ESLint-related configuration files, including '.eslintignore' and '.eslintrc.js', have been removed from the repository, signifying a complete shift away from ESLint.
  • Biome Configuration Added: A new 'biome.json' configuration file has been introduced at the root of the project to define the global code style and linting rules using Biome.
  • Extensive Code Formatting: Numerous JavaScript and TypeScript files across various solutions and samples have been automatically reformatted to comply with Biome's style guidelines. This includes changes to indentation, semicolons, variable declarations (e.g., let to const), string literals, and more consistent use of comparison operators (e.g., == to ===).
  • Dependency Updates: The 'package.json' and 'pnpm-lock.yaml' files have been updated to remove ESLint dependencies and add '@biomejs/biome' as a development dependency, along with other minor dependency adjustments.
  • Node.js Import Protocol: The '.github/scripts/check-gs.ts' file now explicitly uses the 'node:' protocol for importing built-in Node.js modules (e.g., node:fs, node:path), aligning with modern Node.js best practices.
  • Code Quality Improvements: Several files received minor code quality improvements, such as explicit variable declarations (const DEFAULT_OUTPUT_FORMAT), improved error handling for external API calls, and corrected caching logic.
Changelog
  • .eslintignore
    • Removed the ESLint ignore configuration file.
  • .eslintrc.js
    • Removed the ESLint configuration file.
  • .github/scripts/check-gs.ts
    • Updated Node.js module imports to use the 'node:' protocol.
    • Applied automatic formatting changes.
    • Improved error handling for tsc command output.
  • .vscode/extensions.json
    • Applied automatic formatting changes.
  • .vscode/settings.json
    • Applied automatic formatting changes.
  • GEMINI.md
    • Added instructions for using Biome for linting and formatting.
  • ai/autosummarize/appsscript.json
    • Applied automatic formatting changes.
  • ai/autosummarize/gemini.js
    • Applied automatic formatting changes.
    • Updated options.tokens to options.maxOutputTokens for consistency with Gemini API parameters.
  • ai/autosummarize/main.js
    • Applied automatic formatting changes.
    • Replaced forEach loop with for...of loop for better readability.
    • Adjusted parameters for doAutoSummarizeAI function.
  • ai/autosummarize/summarize.js
    • Applied automatic formatting changes.
    • Updated RegExp constructor to a regex literal for fileIdMatchPattern.
    • Replaced forEach with map using an arrow function.
    • Improved error handling and null checks for file ID extraction.
    • Corrected the parameter name from tokens to maxOutputTokens in geminiOptions.
  • ai/custom-func-ai-agent/AiVertex.js
    • Applied automatic formatting changes.
    • Updated property access from bracket notation (['key']) to dot notation (.key).
  • ai/custom-func-ai-agent/Code.js
    • Applied automatic formatting changes.
    • Declared DEFAULT_OUTPUT_FORMAT as a const to prevent implicit global variable creation.
    • Set a default value for the outputFormat parameter in FACT_CHECK function.
  • ai/custom-func-ai-agent/appsscript.json
    • Applied automatic formatting changes.
  • ai/custom-func-ai-studio/Code.js
    • Applied automatic formatting changes.
  • ai/custom-func-ai-studio/appsscript.json
    • Applied automatic formatting changes.
  • ai/custom-func-ai-studio/gemini.js
    • Applied automatic formatting changes.
  • ai/custom_func_vertex/Code.js
    • Applied automatic formatting changes.
  • ai/custom_func_vertex/aiVertex.js
    • Applied automatic formatting changes.
    • Updated property access from bracket notation to dot notation.
  • ai/custom_func_vertex/appsscript.json
    • Applied automatic formatting changes.
  • ai/devdocs-link-preview/Cards.js
    • Applied automatic formatting changes.
    • Replaced let with const for variables where appropriate.
  • ai/devdocs-link-preview/Main.js
    • Applied automatic formatting changes.
    • Replaced let with const for variables where appropriate.
  • ai/devdocs-link-preview/Vertex.js
    • Applied automatic formatting changes.
    • Replaced let with const for variables where appropriate.
    • Corrected caching logic to store jsonMatch[0] (string) instead of the jsonMatch array.
  • ai/devdocs-link-preview/appsscript.json
    • Applied automatic formatting changes.
  • ai/drive-rename/ai.js
    • Applied automatic formatting changes.
    • Updated property access from bracket notation to dot notation.
  • ai/drive-rename/appsscript.json
    • Applied automatic formatting changes.
  • ai/drive-rename/drive.js
    • Applied automatic formatting changes.
    • Replaced var with const for variable declarations.
    • Simplified object literals for event context.
  • ai/drive-rename/main.js
    • Applied automatic formatting changes.
  • ai/drive-rename/ui.js
    • Applied automatic formatting changes.
    • Replaced let with const for variable declarations.
    • Updated comparison operators from != to !==.
  • ai/gmail-sentiment-analysis/appsscript.json
    • Applied automatic formatting changes.
  • ai/standup-chat-app/appsscript.json
    • Applied automatic formatting changes.
  • ai/standup-chat-app/db.js
    • Applied automatic formatting changes.
    • Updated comparison operators from == undefined to === undefined.
    • Removed unnecessary blank lines.
  • ai/standup-chat-app/gemini.js
    • Applied automatic formatting changes.
  • ai/standup-chat-app/main.js
    • Applied automatic formatting changes.
    • Updated comparison operators from == undefined to === undefined.
    • Updated string literals to use template literals where appropriate.
  • ai/standup-chat-app/memoize.js
    • Applied automatic formatting changes.
    • Simplified if/else block.
  • biome.json
    • Added new Biome configuration file for code formatting and linting.
  • chat/advanced-service/appsscript.json
    • Applied automatic formatting changes.
  • chat/quickstart/appsscript.json
    • Applied automatic formatting changes.
  • data-studio/appsscript.json
    • Applied automatic formatting changes.
  • data-studio/appsscript2.json
    • Applied automatic formatting changes.
  • forms-api/demos/AppsScriptFormsAPIWebApp/appsscript.json
    • Applied automatic formatting changes.
  • gmail-sentiment-analysis/appsscript.json
    • Applied automatic formatting changes.
  • gmail/add-ons/appsscript.json
    • Applied automatic formatting changes.
  • package.json
    • Removed ESLint and related dependencies.
    • Added @biomejs/biome as a development dependency.
    • Updated lint and format scripts to use Biome commands.
  • picker/appsscript.json
    • Applied automatic formatting changes.
  • pnpm-lock.yaml
    • Updated lockfile to reflect changes in package.json (ESLint removal, Biome addition).
  • pnpm-workspace.yaml
    • Added @biomejs/biome to onlyBuiltDependencies list.
  • sheets/next18/appsscript.json
    • Applied automatic formatting changes.
  • solutions/add-on/book-smartchip/.clasp.json
    • Applied automatic formatting changes.
  • solutions/add-on/book-smartchip/Code.js
    • Applied automatic formatting changes.
    • Updated string literals to use template literals.
  • solutions/add-on/book-smartchip/appsscript.json
    • Applied automatic formatting changes.
  • solutions/add-on/share-macro/.clasp.json
    • Applied automatic formatting changes.
  • solutions/add-on/share-macro/Code.js
    • Applied automatic formatting changes.
    • Simplified object literals.
    • Updated comparison operators from == to ===.
  • solutions/add-on/share-macro/UI.js
    • Applied automatic formatting changes.
    • Replaced let with const for variable declarations.
    • Updated if conditions for error checking.
  • solutions/add-on/share-macro/appsscript.json
    • Applied automatic formatting changes.
  • solutions/attendance-chat-app/final/appsscript.json
    • Applied automatic formatting changes.
  • solutions/attendance-chat-app/step-3/appsscript.json
    • Applied automatic formatting changes.
  • solutions/attendance-chat-app/step-4/appsscript.json
    • Applied automatic formatting changes.
  • solutions/attendance-chat-app/step-5/appsscript.json
    • Applied automatic formatting changes.
  • solutions/attendance-chat-app/step-6/appsscript.json
    • Applied automatic formatting changes.
  • solutions/automations/agenda-maker/.clasp.json
    • Applied automatic formatting changes.
  • solutions/automations/agenda-maker/Code.js
    • Applied automatic formatting changes.
    • Updated comparison operators from == to ===.
    • Updated string literals to use template literals.
    • Changed for...in loops to for...of where appropriate.
  • solutions/automations/agenda-maker/appsscript.json
    • Applied automatic formatting changes.
  • solutions/automations/aggregate-document-content/.clasp.json
    • Applied automatic formatting changes.
  • solutions/automations/aggregate-document-content/Code.js
    • Applied automatic formatting changes.
    • Updated string literals to use template literals.
    • Changed for...of loops for iteration.
    • Updated comparison operators from != to !==.
  • solutions/automations/aggregate-document-content/Menu.js
    • Applied automatic formatting changes.
  • solutions/automations/aggregate-document-content/Setup.js
    • Applied automatic formatting changes.
    • Updated string literals to use template literals.
    • Changed for...of loops for iteration.
  • solutions/automations/aggregate-document-content/Utilities.js
    • Applied automatic formatting changes.
  • solutions/automations/aggregate-document-content/appsscript.json
    • Applied automatic formatting changes.
  • solutions/automations/bracket-maker/.clasp.json
    • Applied automatic formatting changes.
  • solutions/automations/bracket-maker/Code.js
    • Applied automatic formatting changes.
    • Updated comparison operators from == to ===.
    • Replaced Math.pow with the ** operator for exponentiation.
    • Replaced let with const for variable declarations where appropriate.
  • solutions/automations/bracket-maker/appsscript.json
    • Applied automatic formatting changes.
  • solutions/automations/calendar-timesheet/.clasp.json
    • Applied automatic formatting changes.
  • solutions/automations/calendar-timesheet/Code.js
    • Applied automatic formatting changes.
    • Updated comparison operators from == to ===.
    • Replaced forEach with for...of loops for iteration.
    • Changed parseInt to Number() for type conversion.
  • solutions/automations/calendar-timesheet/appsscript.json
    • Applied automatic formatting changes.
  • solutions/automations/content-signup/.clasp.json
    • Applied automatic formatting changes.
  • solutions/automations/content-signup/Code.js
    • Applied automatic formatting changes.
    • Updated comparison operators from != to !==.
    • Updated string literals to use template literals.
    • Used arrow functions for map.
  • solutions/automations/content-signup/appsscript.json
    • Applied automatic formatting changes.
  • solutions/automations/course-feedback-response/.clasp.json
    • Applied automatic formatting changes.
  • solutions/automations/course-feedback-response/Code.js
    • Applied automatic formatting changes.
    • Updated string literals to use template literals.
  • solutions/automations/course-feedback-response/appsscript.json
    • Applied automatic formatting changes.
  • solutions/automations/employee-certificate/.clasp.json
    • Applied automatic formatting changes.
  • solutions/automations/employee-certificate/Code.js
    • Applied automatic formatting changes.
    • Updated string literals to use template literals.
  • solutions/automations/employee-certificate/appsscript.json
    • Applied automatic formatting changes.
  • solutions/automations/equipment-requests/.clasp.json
    • Applied automatic formatting changes.
  • solutions/automations/equipment-requests/Code.js
    • Applied automatic formatting changes.
    • Updated string literals to use template literals.
    • Replaced forEach with for...of loops for iteration.
  • solutions/automations/equipment-requests/appsscript.json
    • Applied automatic formatting changes.
  • solutions/automations/event-session-signup/.clasp.json
    • Applied automatic formatting changes.
  • solutions/automations/event-session-signup/Code.js
    • Applied automatic formatting changes.
    • Updated comparison operators from == to ===.
    • Replaced forEach with for...of loops for iteration.
    • Changed parseInt to Number() for type conversion.
    • Updated string literals to use template literals.
  • solutions/automations/event-session-signup/appsscript.json
    • Applied automatic formatting changes.
  • solutions/automations/feedback-sentiment-analysis/.clasp.json
    • Applied automatic formatting changes.
  • solutions/automations/feedback-sentiment-analysis/appsscript.json
    • Applied automatic formatting changes.
  • solutions/automations/feedback-sentiment-analysis/code.js
    • Applied automatic formatting changes.
    • Updated comparison operators from == to ===.
    • Changed for...in loops to for...of where appropriate.
  • solutions/automations/folder-creation/Code.js
    • Applied automatic formatting changes.
  • solutions/automations/folder-creation/appscript.json
    • Applied automatic formatting changes.
  • solutions/automations/generate-pdfs/.clasp.json
    • Applied automatic formatting changes.
  • solutions/automations/generate-pdfs/Code.js
    • Applied automatic formatting changes.
    • Replaced forEach with for...of loops for iteration.
    • Changed parseInt to Number.parseInt and parseFloat to Number.parseFloat.
    • Updated string literals to use template literals.
  • solutions/automations/generate-pdfs/Menu.js
    • Applied automatic formatting changes.
  • solutions/automations/generate-pdfs/Utilities.js
    • Applied automatic formatting changes.
  • solutions/automations/generate-pdfs/appsscript.json
    • Applied automatic formatting changes.
  • solutions/automations/import-csv-sheets/.clasp.json
    • Applied automatic formatting changes.
  • solutions/automations/import-csv-sheets/Code.js
    • Applied automatic formatting changes.
    • Updated comparison operators from == to ===.
    • Replaced for loops with for...of loops for iteration.
    • Updated string literals to use template literals.
  • solutions/automations/import-csv-sheets/SampleData.js
    • Applied automatic formatting changes.
    • Updated for...in loops to for...of where appropriate.
    • Updated string literals to use template literals.
  • solutions/automations/import-csv-sheets/SetupSample.js
    • Applied automatic formatting changes.
    • Replaced for loops with for...of loops for iteration.
  • solutions/automations/import-csv-sheets/Utilities.js
    • Applied automatic formatting changes.
    • Replaced for loops with for...of loops for iteration.
    • Updated comparison operators from == to ===.
  • solutions/automations/import-csv-sheets/appsscript.json
    • Applied automatic formatting changes.
  • solutions/automations/mail-merge/.clasp.json
    • Applied automatic formatting changes.
  • solutions/automations/mail-merge/Code.js
    • Applied automatic formatting changes.
    • Updated comparison operators from == to ===.
    • Replaced forEach with for...of loops for iteration.
    • Updated string literals to use template literals.
  • solutions/automations/mail-merge/appsscript.json
    • Applied automatic formatting changes.
  • solutions/automations/news-sentiment/.clasp.json
    • Applied automatic formatting changes.
  • solutions/automations/news-sentiment/Code.js
    • Applied automatic formatting changes.
    • Updated comparison operators from == to ===.
    • Updated string literals to use template literals.
  • solutions/automations/news-sentiment/appsscript.json
    • Applied automatic formatting changes.
  • solutions/automations/offsite-activity-signup/.clasp.json
    • Applied automatic formatting changes.
  • solutions/automations/offsite-activity-signup/Code.js
    • Applied automatic formatting changes.
    • Updated comparison operators from == to ===.
    • Replaced forEach with for...of loops for iteration.
    • Changed parseInt to Number.parseInt.
    • Updated string literals to use template literals.
  • solutions/automations/offsite-activity-signup/appsscript.json
    • Applied automatic formatting changes.
  • solutions/automations/tax-loss-harvest-alerts/.clasp.json
    • Applied automatic formatting changes.
  • solutions/automations/tax-loss-harvest-alerts/Code.js
    • Applied automatic formatting changes.
    • Updated comparison operators from == to ===.
    • Replaced for...in loops with for...of loops for iteration.
    • Changed parseFloat to Number.parseFloat.
    • Updated string literals to use template literals.
  • solutions/automations/tax-loss-harvest-alerts/appsscript.json
    • Applied automatic formatting changes.
  • solutions/automations/timesheets/.clasp.json
    • Applied automatic formatting changes.
  • solutions/automations/timesheets/Code.js
    • Applied automatic formatting changes.
    • Updated string literals to use template literals.
  • solutions/automations/timesheets/appsscript.json
    • Applied automatic formatting changes.
  • solutions/automations/upload-files/Code.js
    • Applied automatic formatting changes.
    • Updated comparison operators from != to !==.
    • Replaced forEach with for...of loops for iteration.
  • solutions/automations/upload-files/Setup.js
    • Applied automatic formatting changes.
    • Updated comparison operators from != to !==.`
    • Replaced for...in loops with for...of loops for iteration.
  • solutions/automations/upload-files/appsscript.json
    • Applied automatic formatting changes.
  • solutions/automations/vacation-calendar/.clasp.json
    • Applied automatic formatting changes.
  • solutions/automations/vacation-calendar/Code.js
    • Applied automatic formatting changes.
    • Updated string literals to use template literals.
    • Replaced forEach with for...of loops for iteration.
  • solutions/automations/vacation-calendar/appsscript.json
    • Applied automatic formatting changes.
  • solutions/automations/youtube-tracker/.clasp.json
    • Applied automatic formatting changes.
  • solutions/automations/youtube-tracker/Code.js
    • Applied automatic formatting changes.
    • Updated comparison operators from == to ===.
    • Replaced forEach with for...of loops for iteration.
  • solutions/automations/youtube-tracker/appsscript.json
    • Applied automatic formatting changes.
  • solutions/custom-functions/calculate-driving-distance/.clasp.json
    • Applied automatic formatting changes.
  • solutions/custom-functions/calculate-driving-distance/Code.js
    • Applied automatic formatting changes.
    • Updated typeof check for meters parameter.
    • Updated string literals to use template literals.
  • solutions/custom-functions/calculate-driving-distance/appsscript.json
    • Applied automatic formatting changes.
  • solutions/custom-functions/summarize-sheets-data/.clasp.json
    • Applied automatic formatting changes.
  • solutions/custom-functions/summarize-sheets-data/Code.js
    • Applied automatic formatting changes.
    • Replaced for...in loops with for...of loops for iteration.
  • solutions/custom-functions/summarize-sheets-data/appsscript.json
    • Applied automatic formatting changes.
  • solutions/custom-functions/tier-pricing/.clasp.json
    • Applied automatic formatting changes.
  • solutions/custom-functions/tier-pricing/Code.js
    • Applied automatic formatting changes.
    • Replaced for loop with for...of loop for iteration.
  • solutions/custom-functions/tier-pricing/appsscript.json
    • Applied automatic formatting changes.
  • solutions/editor-add-on/clean-sheet/.clasp.json
    • Applied automatic formatting changes.
  • solutions/editor-add-on/clean-sheet/Code.js
    • Applied automatic formatting changes.
    • Replaced forEach with for...of loops for iteration.
  • solutions/editor-add-on/clean-sheet/Menu.js
    • Applied automatic formatting changes.
  • solutions/editor-add-on/clean-sheet/appsscript.json
    • Applied automatic formatting changes.
  • solutions/ooo-assistant/.clasp.json
    • Applied automatic formatting changes.
  • solutions/ooo-assistant/appsscript.json
    • Applied automatic formatting changes.
  • solutions/ooo-chat-app/Code.js
    • Applied automatic formatting changes.
    • Updated string literals to use template literals.
  • solutions/ooo-chat-app/appsscript.json
    • Applied automatic formatting changes.
  • solutions/schedule-meetings/.clasp.json
    • Applied automatic formatting changes.
  • solutions/schedule-meetings/Code.js
    • Applied automatic formatting changes.
    • Updated string literals to use template literals.
  • solutions/schedule-meetings/Dialog.js
    • Applied automatic formatting changes.
    • Updated comparison operators from == to ===.
    • Updated string literals to use template literals.
  • solutions/schedule-meetings/Utilities.js
    • Applied automatic formatting changes.
    • Updated string literals to use template literals.
  • solutions/schedule-meetings/appsscript.json
    • Applied automatic formatting changes.
  • tasks/simpleTasks/appsscript.json
    • Applied automatic formatting changes.
  • tsconfig.json
    • Applied automatic formatting changes.
  • wasm/hello-world/biome.json
    • Removed the Biome configuration file.
  • wasm/hello-world/build.js
    • Updated Node.js module imports to use the 'node:' protocol.
  • wasm/hello-world/package.json
    • Removed @biomejs/biome development dependency.
    • Updated format script to only run cargo fmt.
  • wasm/hello-world/src/test.js
    • Updated Infinity to Number.POSITIVE_INFINITY.
    • Updated string literals to use template literals.
  • wasm/image-add-on/biome.json
    • Removed the Biome configuration file.
  • wasm/image-add-on/build.js
    • Updated Node.js module imports to use the 'node:' protocol.
  • wasm/image-add-on/package.json
    • Removed @biomejs/biome development dependency.
    • Updated format script to only run cargo fmt.
  • wasm/image-add-on/src/add-on.js
    • Updated parseInt to Number.parseInt for explicit type conversion.
    • Updated string literals to use template literals.
  • wasm/image-add-on/src/test.js
    • Updated Infinity to Number.POSITIVE_INFINITY.
    • Updated string literals to use template literals.
  • wasm/python/biome.json
    • Removed the Biome configuration file.
  • wasm/python/build.js
    • Updated Node.js module imports to use the 'node:' protocol.
  • wasm/python/package.json
    • Removed @biomejs/biome development dependency.
    • Updated format script to only run cargo fmt.
Ignored Files
  • Ignored by pattern: .gemini/** (1)
    • .gemini/settings.json
Activity
  • The Gemini Code Assist bot provided an initial summary of the pull request, highlighting the migration to Biome, ESLint removal, new Biome configuration, extensive code formatting, dependency updates, and the adoption of Node.js import protocols.
  • The author, jpoehnelt, requested a summary of the pull request.
  • The GitHub Advanced Security bot identified an incomplete multi-character sanitization vulnerability in solutions/automations/news-sentiment/Code.js.
  • The Gemini Code Assist bot identified a critical issue in ai/autosummarize/summarize.js where fileIdMatchPattern.exec(fileUrl) could return null, leading to a TypeError without a null check.
  • The Gemini Code Assist bot identified a critical caching issue in ai/devdocs-link-preview/Vertex.js, where an array was incorrectly cached instead of a string, causing JSON.parse() to fail on retrieval.
  • The Gemini Code Assist bot identified a high-priority issue in ai/custom-func-ai-agent/Code.js regarding an implicit global variable declaration for DEFAULT_OUTPUT_FORMAT.
  • The Gemini Code Assist bot identified a high-priority issue in ai/autosummarize/summarize.js due to a mismatch in parameter names (tokens vs maxOutputTokens) for the getAiSummary function.
  • The GitHub Advanced Security bot identified another incomplete multi-character sanitization vulnerability in solutions/automations/mail-merge/Code.js.

@jpoehnelt
Copy link
Member Author

/gemini review

Copy link
Contributor

@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

This pull request marks a significant improvement by migrating the project from ESLint to BiomeJS for code linting and formatting. The changes are extensive but well-executed, resulting in more consistent and modern code style across the entire repository. I appreciate the numerous small refactorings, such as using const over let, adopting template literals, and fixing a potential runtime error when parsing URLs. I found one minor issue regarding undeclared variables that was likely missed during the automated formatting. Overall, this is a great step forward for the project's maintainability.

@jpoehnelt
Copy link
Member Author

/gemini review

Copy link
Contributor

@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

This pull request successfully migrates the project's linting and formatting from ESLint to Biome. The changes are extensive, touching many files with stylistic and formatting updates, which will improve code consistency. I've noted a couple of significant improvements that also fix potential bugs, such as more robust error handling and parsing. Overall, this is a solid upgrade to the project's tooling.

@jpoehnelt jpoehnelt merged commit 76e72de into main Nov 25, 2025
16 of 36 checks passed
@jpoehnelt jpoehnelt deleted the build/biomejs branch November 25, 2025 04:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant