Skip to content

Update dependency @biomejs/biome to v2.5.0#243

Open
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/biomejs-biome-2.x
Open

Update dependency @biomejs/biome to v2.5.0#243
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/biomejs-biome-2.x

Conversation

@renovate

@renovate renovate Bot commented Oct 25, 2025

Copy link
Copy Markdown
Contributor

ℹ️ Note

This PR body was truncated due to platform limits.

This PR contains the following updates:

Package Change Age Confidence
@biomejs/biome (source) 2.2.72.5.0 age confidence

Release Notes

biomejs/biome (@​biomejs/biome)

v2.5.0

Compare Source

Minor Changes
  • #​9539 f0615fd Thanks @​ematipico! - Added a new reporter called concise. When --reporter=concise is passed the commands format, lint, check and ci, the diagnostics are printed in a compact manner:

    ! index.ts:2:10: lint/correctness/noUnusedImports: Several of these imports are unused.
    ! main.ts:9:7: lint/correctness/noUnusedVariables: This variable f is unused.
    × index.ts:8:5: lint/suspicious/noImplicitAnyLet: This variable implicitly has the any type.
    × main.ts:2:10: lint/suspicious/noRedeclare: Shouldn't redeclare 'z'. Consider to delete it or rename it.
    
  • #​9495 2056b23 Thanks @​aviraldua93! - Added the useKeyWithClickEvents a11y lint rule for HTML files (.html, .vue, .svelte, .astro). This is a port of the existing JSX rule. The rule enforces that elements with an onclick handler also have at least one keyboard event handler (onkeydown, onkeyup, or onkeypress) to ensure keyboard accessibility.

    Inherently keyboard-accessible elements (<a>, <button>, <input>, <select>, <textarea>, <option>) are excluded, as are elements hidden from assistive technologies (aria-hidden) or with role="presentation" / role="none".

    <!-- Invalid: no keyboard handler -->
    <div onclick="handleClick()">Click me</div>
    
    <!-- Valid: has keyboard handler -->
    <div onclick="handleClick()" onkeydown="handleKeyDown()">Click me</div>
    
    <!-- Valid: inherently keyboard-accessible -->
    <button onclick="handleClick()">Submit</button>
  • #​9152 9ec8500 Thanks @​ematipico! - Added new nursery lint rule noUndeclaredClasses for HTML, JSX, and SFC files (Vue, Astro, Svelte). The rule detects CSS class names used in class="..." (or className) attributes that are not defined in any <style> block or linked stylesheet reachable from the file.

    <!-- .typo is used but never defined -->
    <html>
      <head>
        <style>
          .button {
            color: blue;
          }
        </style>
      </head>
      <body>
        <div class="button typo"></div>
      </body>
    </html>
  • #​9152 9ec8500 Thanks @​ematipico! - Added new nursery lint rule noUnusedClasses for CSS. The rule detects CSS class selectors that are never referenced in any HTML or JSX file that imports the stylesheet. This is a project-domain rule that requires the module graph.

    /* styles.css — .ghost is never used in any importing file */
    .button {
      color: blue;
    }
    .ghost {
      color: red;
    }
    /* App.jsx */
    import "./styles.css";
    export default () => <div className="button" />;
  • #​9546 6567efa Thanks @​nhedger! - Added a biome upgrade command for standalone installations. It upgrades Homebrew installs with brew upgrade biome, updates manually installed binaries from the latest GitHub release, and tells npm users to upgrade with their package manager instead.

  • #​9716 701767a Thanks @​faizkhairi! - Added the HTML version of the useHeadingContent rule. The rule now enforces that heading elements (h1-h6) have content accessible to screen readers in HTML, Vue, Svelte, and Astro files.

    <!-- Invalid: empty heading -->
    <h1></h1>
    
    <!-- Invalid: heading hidden from screen readers -->
    <h1 aria-hidden="true">invisible content</h1>
    
    <!-- Valid: heading with text content -->
    <h1>heading</h1>
    
    <!-- Valid: heading with accessible name -->
    <h1 aria-label="Screen reader content"></h1>
  • #​9582 f437ef8 Thanks @​rahuld109! - Added the HTML version of the useKeyWithMouseEvents rule. The rule now enforces that onmouseover is accompanied by onfocus and onmouseout is accompanied by onblur in HTML, Vue, Svelte, and Astro files.

    <!-- Invalid: onmouseover without onfocus -->
    <div onmouseover="handleMouseOver()"></div>
    
    <!-- Valid: onmouseover paired with onfocus -->
    <div onmouseover="handleMouseOver()" onfocus="handleFocus()"></div>
  • #​9275 1fdbcee Thanks @​ff1451! - Added the new assist action useSortedTypeFields, which sorts the fields of GraphQL object types, interface types and input object types alphabetically, e.g. name, age, id becomes age, id, name.

  • #​10561 78075b7 Thanks @​Conaclos! - Added a new style option to useExportType,
    which enforces a style for exporting types.
    This is the same option as the one provided by useImportType.

  • #​8987 d16e32b Thanks @​DerTimonius! - Ported the useValidAnchor rule to HTML. This rule enforces that all anchors are valid and that they are navigable elements.

  • #​9533 4d251d4 Thanks @​ematipico! - The init command now prints the Biome logo.

  • #​10069 0eb9310 Thanks @​Netail! - Added the HTML lint rule noStaticElementInteractions, which enforces that static, visible elements (such as <div>) that have click handlers use the valid role attribute.

    Invalid:

    <div onclick="myFunction()"></div>
  • #​9134 2a43488 Thanks @​ematipico! - Added the assist action useSortedPackageJson.

    This action organizes package.json fields according to the same conventions as the popular sort-package-json tool.

  • #​9309 7daa18b Thanks @​Bertie690! - The allowDoubleNegation option has been added to noImplicitCoercions to allow ignoring double negations inside code.

    With the option enabled, the following example is considered valid and is ignored by the rule:

    const truthy = !!value;
  • #​9700 894f3fb Thanks @​ematipico! - The Biome Language server now supports the "go-to definition" feature.

    When the cursor of the mouse is hovering an entity (variable, CSS class, type, etc.), and the command CTRL + click is triggered, the editor jumps to where this entity is defined, if the language server can find it.

    Here's what Biome is able to resolve:

    • Variables and types used in JavaScript modules, defined in the same file or imported from another module.
    • JSX Components used in JavaScript modules, defined in the same file or imported from another module.
    • CSS classes used in JSX and HTML-ish files (Vue, Svelte and Astro), and defined in CSS files.
    • Components used in HTML-ish files and defined in other HTML-ish.
    • Variables used in HTML-ish files and defined in the same file or imported from another module (JavaScript or HTML-ish).
  • #​10070 bae0710 Thanks @​Conaclos! - Added the :STYLE: group matcher for organizeImports that matches style imports.

    For example, the following configuration...

    {
      "assist": {
        "actions": {
          "source": {
            "organizeImports": {
              "level": "on",
              "options": {
                "groups": ["**", "!:STYLE:"],
                "sortBareImports": true
              }
            }
          }
        }
      }
    }

    ...places style imports last:

    - import "./style.css"
      import A from "./a.js"
    + import "./style.css"
  • #​9170 e3107de Thanks @​mdrobny! - Added bundleDependencies option to NoUndeclaredDependencies rule.

    This rule now supports imports of packages that are defined only in bundleDependencies and bundledDependencies arrays.

  • #​9547 01f8473 Thanks @​mujpao! - Added new assist rule useSortedAttributes for HTML, porting the existing JSX rule. This rule enforces sorted HTML attributes.

    Invalid

    <input type="text" id="name" name="name" />
  • #​9366 2ca1117 Thanks @​dyc3! - Added the html.parser.vue configuration option. When enabled, it adds support for the parsing of Vue in .html files. Most Vue users don't need to enable this option since Vue files typically use the .vue extension, but it can be useful for projects that embed Vue syntax in regular HTML files.

  • #​9073 74b20ee Thanks @​chocky335! - Added support for applying GritQL plugin rewrites as code actions. GritQL plugins that use the rewrite operator (=>) now produce fixable diagnostics for JavaScript, CSS, and JSON files. By default, plugin rewrites are treated as unsafe fixes and require --write --unsafe to apply. Plugin authors can pass fix_kind = "safe" to register_diagnostic() to mark a fix as safe, allowing it to be applied with just --write.

    Example plugin (useConsoleInfo.grit):

    language js
    
    `console.log($msg)` as $call where {
        register_diagnostic(span = $call, message = "Use console.info instead of console.log.", severity = "warn", fix_kind = "safe"),
        $call => `console.info($msg)`
    }
    

    Running biome check --write applies safe rewrites. Unsafe rewrites (the default, or fix_kind = "unsafe") still require --write --unsafe.

  • #​9384 f4c9edc Thanks @​Conaclos! - Added the sortBareImports option to organizeImports,
    which allows bare imports to be sorted within other imports when set to false.

    {
      "assist": {
        "actions": {
          "source": {
            "organizeImports": {
              "level": "on",
              "options": { "sortBareImports": true }
            }
          }
        }
      }
    }
    - import "b";
      import "a";
    + import "b";
      import { A } from "a";
    + import "./file";
      import { Local } from "./file";
    - import "./file";
  • #​8731 e7872bf Thanks @​siketyan! - Added the watch mode (--watch) to the CLI for check/format/lint commands. By enabling this option, Biome will re-run the check automatically when any file in the workspace has changed after the first run.

  • #​10106 9b35f78 Thanks @​ematipico! - Biome can now format and lint .svg files.

  • #​9967 e9b6c17 Thanks @​dyc3! - Added HTML support for noExcessiveLinesPerFile. Biome now reports HTML files that exceed the configured line limit, including when skipBlankLines is enabled.

  • #​9491 b3eb63c Thanks @​IxxyDev! - Added the HTML lint rule noAriaUnsupportedElements. This rule enforces that elements that do not support ARIA roles, states, and properties (meta, html, script, style) do not have role or aria-* attributes.

    <!-- Invalid: meta does not support aria attributes -->
    <meta charset="UTF-8" role="meta" />
  • #​9306 afd57a6 Thanks @​viraxslot! - Added the noNoninteractiveTabindex lint rule for HTML. This rule enforces that tabindex is not used on non-interactive elements, as it can cause usability issues for keyboard users.

    <div tabindex="0">Invalid: non-interactive element</div>
    `
  • #​9276 6d041d9 Thanks @​IxxyDev! - Added the HTML lint rule noRedundantRoles. This rule enforces that explicit role attributes are not the same as the implicit/default role of an HTML element. It supports HTML, Vue, Svelte, and Astro files.

    <!-- Invalid: role="button" is redundant on <button> -->
    <button role="button"></button>
  • #​9813 69aadc2 Thanks @​ematipico! - Added a new linter configuration called preset. With the new option, users can enable different kinds of rules at once.

    The following presets are available:

    • "recommended": it enables all Biome-recommended rules, or recommended rules of a group;
    • "all": it enables all Biome rules, or enables all rules of a group;
    • "none": it disables all Biome rules, or disable all rules of a group.

    You can enable recommended rules:

    {
      "linter": {
        "rules": {
          "preset": "recommended"
        }
      }
    }

    You can enable all rules at once:

    {
      linter: {
        rules: {
          preset: "all", // enables all rules
        },
      },
    }

    Or enable all rules for a group:

    {
      linter: {
        rules: {
          style: {
            preset: "all", // enables all rules in the style group
          },
        },
      },
    }

    This new option, however, doesn't affect how nursery rules work. Nursery rules must be enabled singularly, due to their nature.

    This new option is meant to replace recommended, so make sure to run the migrate command.

  • #​10022 3422d71 Thanks @​Netail! - Added the HTML lint rule noNoninteractiveElementToInteractiveRole, which enforces that interactive ARIA roles are not assigned to non-interactive HTML elements.

    Invalid:

    <h1 role="checkbox"></h1>
  • #​8396 13785fc Thanks @​apple-yagi! - Biome now supports pnpm catalogs (default and named) when resolving dependencies for linting. This behavior is opt-in and requires setting javascript.resolver.experimentalPnpmCatalogs to true.

  • #​10028 1009414 Thanks @​Netail! - Added the HTML lint rule noInteractiveElementToNoninteractiveRole, which enforces that non-interactive ARIA roles are not assigned to interactive HTML elements.

    Invalid:

    <input role="img" />
  • #​9853 816302f Thanks @​Netail! - Added the new assist action useSortedSelectionSet, which sorts GraphQL selection sets alphabetically, e.g. name, age, id becomes age, id, name.

    Invalid:

    query {
      name
      age
      id
    }
  • #​10074 9c7c6eb Thanks @​georgephillips! - Added a kind field to the ImportMatcher used by the organizeImports assist action. The new field selects imports by their syntactic kind and currently supports bare (matching side-effect imports such as import "polyfill") with optional ! negation (!bare). The matcher composes with the existing type and source fields, so users can express patterns such as "only bare imports that import a CSS file" ({ "kind": "bare", "source": "**/*.css" }).

    For example, with the following configuration:

    {
      "assist": {
        "actions": {
          "source": {
            "organizeImports": {
              "level": "on",
              "options": {
                "sortBareImports": true,
                "groups": [
                  { "kind": "!bare" },
                  ":BLANK_LINE:",
                  { "kind": "bare" }
                ]
              }
            }
          }
        }
      }
    }

    ...the following code:

    import "./register-my-component";
    import { render } from "react-dom";
    import "./polyfill";
    import { Button } from "@&#8203;/components/Button";

    ...is organized as:

    import { render } from "react-dom";
    import { Button } from "@&#8203;/components/Button";
    
    import "./polyfill";
    import "./register-my-component";
  • #​9171 ce65710 Thanks @​chocky335! - Added includes option for plugin file scoping. Plugins can now be configured with glob patterns to restrict which files they run on. Use negated globs for exclusions.

    {
      "plugins": [
        "global-plugin.grit",
        {
          "path": "scoped-plugin.grit",
          "includes": ["src/**/*.ts", "!**/*.test.ts"]
        }
      ]
    }
  • #​9617 dcb99ef Thanks @​faizkhairi! - Ported useAriaActivedescendantWithTabindex a11y rule to HTML.

  • #​9496 1dfb829 Thanks @​aviraldua93! - Added HTML support for the noAriaHiddenOnFocusable accessibility lint rule, which enforces that aria-hidden="true" is not set on focusable elements. Focusable elements include native interactive elements (<button>, <input>, <select>, <textarea>), elements with href (<a>, <area>), elements with tabindex >= 0, and editing hosts (contenteditable). Includes an unsafe fix to remove the aria-hidden attribute.

    <!-- Invalid: aria-hidden on a focusable element -->
    <button aria-hidden="true">Submit</button>
    
    <!-- Valid: aria-hidden on a non-focusable element -->
    <div aria-hidden="true">decorative content</div>
  • #​9792 f516854 Thanks @​Maximiliano-Zeballos! - Added the useSemanticElements lint rule for HTML. The rule now detects the use of role attributes in HTML elements and suggests using semantic elements instead.

    For example, the following code is now flagged:

    <div role="navigation"></div>

    The rule suggests using <nav> instead.

  • #​9761 cbbb7d5 Thanks @​Maximiliano-Zeballos! - Ported the useValidAriaProps lint rule to HTML. This rule checks that all aria-* attributes used in HTML elements are valid ARIA attributes as defined by the WAI-ARIA specification.

  • #​9928 aa82576 Thanks @​aviraldua93! - Ported useValidAriaValues to HTML. Biome now validates static aria-* attribute values in HTML elements against WAI-ARIA types, catching invalid values such as aria-hidden="yes".

  • #​10562 6642895 Thanks @​ematipico! - Promoted 73 nursery rules to stable groups.

    Four rules were renamed as part of the promotion:

Correctness

Promoted the following rules to the correctness group:

Suspicious

Promoted the following rules to the suspicious group:

Style

Promoted the following rules to the style group:

Complexity

Promoted the following rules to the complexity group:

Performance

Promoted the following rules to the performance group:

Security

Promoted the following rules to the security group:

A11y

Promoted the following rules to the a11y group:

  • noAmbiguousAnchorText (recommended)

  • #​10121 450f8e1 Thanks @​jongwan56! - Biome now applies Git's local exclude file when VCS ignore files are enabled. Files listed in .git/info/exclude are skipped the same way as files listed in .gitignore, including in linked worktrees.

  • #​9397 d5913c9 Thanks @​mvarendorff! - Added ignore option to the noUnusedVariables rule. The option allows excluding identifiers by providing a list of ignored names. It also allows excluding kinds of identifiers from this rule entirely, which may be useful when loading classes dynamically.

    For example, unused classes as well as all unused variables, functions, etc. called "unused" may be ignored entirely with the following configuration:

    {
      "ignore": {
        "*": ["unused"],
        "class": ["*"]
      }
    }
  • #​10089 71a21f0 Thanks @​Netail! - Added the lint rule noLabelWithoutControl to HTML, which enforces that a label element or component has a text label and an associated input.

    <label></label>
  • #​10015 1828261 Thanks @​Netail! - Added the HTML lint rule useAriaPropsSupportedByRole, which enforces that ARIA properties are valid for the roles that are supported by the element.

    <a href="#" aria-checked></a>
  • #​10234 1a51569 Thanks @​ematipico! - Added the delimiterSpacing formatter option. This option inserts spaces inside delimiters (after the opening delimiter and before the closing delimiter) when the content fits on a single line. Empty delimiters are not affected, and no space is added before the opening delimiter. The specific delimiters affected depend on the language. It can be configured globally via formatter.delimiterSpacing or per-language via javascript.formatter.delimiterSpacing, json.formatter.delimiterSpacing, and css.formatter.delimiterSpacing. Defaults to false.

    - callFn(foo)
    + callFn( foo )
    - const arr = [1, 2, 3];
    + const arr = [ 1, 2, 3 ];
    JavaScript

    When enabled, Biome inserts spaces inside parentheses (e.g., foo( a, b )), square brackets (e.g., [ a, b ]), template literal interpolations (e.g., ${ expr }), and the logical NOT operator (e.g., ! x, but in chains only after the last one: !! x). Only applies when the content fits on a single line. Empty delimiters and the space before the opening delimiter are not affected.

    - if (condition) {}
    + if ( condition ) {}
    - `Hello ${name}!`
    + `Hello ${ name }!`
    JSX

    When enabled, Biome inserts spaces inside JSX expression braces (e.g., attr={ value }) and spread attributes (e.g., { ...props }). Only applies when the content fits on a single line. Empty delimiters are not affected.

    - <Foo bar={value} />
    + <Foo bar={ value } />
    TypeScript

    When enabled, Biome inserts spaces inside TypeScript angle brackets (e.g., foo< T >()), indexed access types (e.g., T[ K ]), mapped types, tuple types, type parameters, and index signatures. Only applies when the content fits on a single line. Empty delimiters are not affected.

    - type Result = Map<string, number>;
    + type Result = Map< string, number >;
    JSON

    When enabled, Biome inserts spaces inside square brackets when the content fits on a single line. Empty brackets are not affected.

    - [1, 2, 3]
    + [ 1, 2, 3 ]
    CSS

    When enabled, Biome inserts spaces inside parentheses and square brackets when the content fits on a single line. Empty delimiters are not affected.

    - rgba(0, 0, 0, 1)
    + rgba( 0, 0, 0, 1 )
    - [data-attr]
    + [ data-attr ]
  • #​10461 6bac1c3 Thanks @​TXWSLYF! - Implements #​9445. Added the allowImplicit option to useIterableCallbackReturn. When enabled, callbacks can use return; to implicitly return undefined, matching ESLint's array-callback-return rule.

  • #​9571 5a8eb75 Thanks @​dyc3! - Added configurable options to the useNumericSeparators rule. Users can now customize the minimum number of digits required before adding separators and the group length for each type of numeric literal (binary, octal, decimal, hexadecimal).

    {
      "linter": {
        "rules": {
          "style": {
            "useNumericSeparators": {
              "level": "error",
              "options": {
                "decimal": {
                  "minimumDigits": 7,
                  "groupLength": 3
                },
                "hexadecimal": {
                  "minimumDigits": 4,
                  "groupLength": 2
                }
              }
            }
          }
        }
      }
    }
  • #​10067 6064312 Thanks @​Netail! - Added the lint rule useFocusableInteractive to HTML, which enforces elements with an interactive role and interaction handler to be focusable.

    Invalid:

    <div role="button"></div>
  • #​10026 fb42ac4 Thanks @​Netail! - Added the HTML lint rule noNoninteractiveElementInteractions, which disallows use event handlers on non-interactive elements.

    Invalid:

    <div onclick="myFunction()">button</div>
  • #​10000 2093e3e Thanks @​Netail! - Added the new assist action useSortedEnumMembers, which sorts TypeScript & GraphQL enum members.

    Invalid:

    enum Role {
      SUPER_ADMIN
      ADMIN
      USER
      GOD
    }
  • #​10013 ad01d3d Thanks @​Netail! - Added the HTML lint rule useValidAutocomplete, which enforces using valid values for the autocomplete attribute on input elements.

    <input autocomplete="incorrect" />
Patch Changes
  • #​10498 995c1ff Thanks @​citadelgrad! - Added the nursery rule useReactFunctionComponentDefinition, which enforces a consistent function type for named React function components.

    For example, the following snippet triggers the rule by default.

    const MyComponent = (props) => {
      return <div>{props.name}</div>;
    };
  • #​9974 ff635a9 Thanks @​pkallos! - Added ignoreMixedLogicalExpressions to useNullishCoalescing, partially addressing #​9232. When enabled, Biome ignores || and ||= mixed with && in the same expression tree.

  • #​10503 c656679 Thanks @​Mokto! - Added the new nursery rule useSvelteRequireEachKey, a Svelte lint rule that reports {#each} blocks with item bindings that are missing a key.

  • #​10516 0f29b83 Thanks @​Dotify71! - Added useIncludes to the nursery group. This rule flags comparisons of String.prototype.indexOf() or Array.prototype.indexOf() against -1 and suggests replacing them with the clearer includes() / !includes() form.

  • #​10487 0c03ee3 Thanks @​Mokto! - Fixed a Svelte parser error that incorrectly required a binding variable after {:then} and {:catch}. Biome now correctly accepts {:then} and {:catch} without a binding, as well as the {#await expr then} and {#await expr catch} shorthand forms.

  • #​10566 a4a294c Thanks @​dyc3! - Fixed useVueHyphenatedAttributes: The rule now only reports diagnostics in Vue files and ignores SVG elements.

  • #​10565 72ccf3b Thanks @​dyc3! - Fixed useVueConsistentVBindStyle: The rule no longer reports argument-less v-bind directives because they cannot be converted to shorthand syntax.

  • #​10591 6e8557b Thanks @​xsourabhsharma! - Fixed #​10563: Biome now parses comma-separated CSS Modules composes values, such as composes: classA from "./a.css", classB from "./b.css";.

  • #​10603 174b21b Thanks @​denbezrukov! - Fixed CSS formatting for grid-template-areas declarations with comments before multiline values. Biome now keeps grid area rows aligned instead of adding an extra declaration-boundary indent.

     .grid {
       grid-template-areas:
     /* row */
    -      "header header"
    -      "footer footer";
    +    "header header"
    +    "footer footer";
     }
  • #​10542 c3f07f7 Thanks @​dyc3! - Fixed #​10513: Biome no longer rejects literal \u sequences in quoted HTML attribute values.

  • #​10108 24e51d6 Thanks @​IxxyDev! - Fixed #​6611: noUnnecessaryConditions now uses type information to detect more redundant conditions, including ?., ??, ||, &&, comparisons against null/undefined on non-nullish operands, and case clauses that can never match the switch value.

  • #​10568 eb1ed0e Thanks @​harsha-cpp! - Fixed #​10564: useAriaPropsForRole no longer reports false positives for Vue v-bind shorthand bindings (:aria-checked, :aria-level, etc.).

  • #​10570 2ceb4fe Thanks @​Conaclos! - Improved noTsIgnore.
    The rule now reports more precisely the range of the @ts-ignore comment.

  • #​10520 b55d10f Thanks @​dyc3! - Fixed #​10519: Vue v-on event handlers with multiple inline statements are now parsed consistently with Vue.

  • #​10204 ebbf0bd Thanks @​ematipico! - Improved the performance of the Biome linter. The improvements are more visible in bigger projects that have more than ~1k files. Early tests showed that in a code base with ~2k files, Biome took less than 26% of time to finish the command.

  • #​10546 e39bb2c Thanks @​tim-we! - Fixed #10536: noUnknownFunction no longer flagged CSS contrast-color() as unknown. contrast-color() is Baseline 2026.

  • #​8012 2be0264 Thanks @​denbezrukov! - Improved the performance of the formatter in some cases. The formatter is now up to ~20% faster at formatting files.

  • #​10467 9a5855e Thanks @​Netail! - Added a new nursery rule noRestrictedDependencies, which flags imports and package.json dependency entries that have better alternatives in e18e's module replacement data.

    For example, the package globby is reported because there's a better alternative:

    import glob from "globby";
    {
      "dependencies": {
        "globby": "x.x.x"
      }
    }
  • #​10470 84b43c5 Thanks @​ShaharAviram1! - Fixed #​10447: now the rule noProcessEnv detects the use of env when it's imported from process and node:process.

  • #​10556 7ff6b16 Thanks @​ematipico! - Fixed #​10492: Biome no longer crashes with a stack overflow on certain code when a type-aware rule such as noFloatingPromises, noMisusedPromises, or noUnnecessaryConditions is enabled. For example, the following code used to crash Biome:

    function f(visitor) {
      let ctrl = visitor();
      for (const x of [0]) ctrl = ctrl();
    }
  • #​10532 1da3c75 Thanks @​denbezrukov! - CSS declarations with comments before : or after !important now preserve spaces before : and ;.

     .selector {
    -  padding/* name */: 1px;
    -  color: red !important /* note */;
    +  padding/* name */ : 1px;
    +  color: red !important /* note */ ;
     }
  • #​10491 a1b5834 Thanks @​Mokto! - Fixed the Svelte parser rejecting {#each} blocks where the binding uses object destructuring with property renaming, e.g. {#each items as { id, component: Filter }}. Biome now correctly parses and formats these rename bindings.

  • #​10490 99bc7df Thanks @​Mokto! - Fixed the CSS parser rejecting comma-separated selector lists inside :global() and :local() pseudo-class functions. Biome now correctly parses :global(.foo, .bar).

  • #​10543 c394fae Thanks @​mangod12! - Fixed #​10477: The RDJSON reporter now emits code replacement text for fix suggestions instead of the human-readable fix description.

  • #​10530 e8e1e6a Thanks @​Conaclos! - Fixed #​10493: useImportType now correctly separates types from a default named import when all imports are types and the style option is set to separatedType.

  • #​10555 263c7cc Thanks @​Mokto! - Improved Svelte lint rule accuracy for quoted attribute values containing {expression} interpolations.

    • noRedundantAlt no longer emits false positives when the alt text contains an interpolation, e.g. alt="image of {person}".
    • useButtonType no longer emits false positives for dynamic button types written as type="{dynamicType}".
    • noScriptUrl no longer emits false positives for dynamic hrefs such as

Note

PR body was truncated to here.


Configuration

📅 Schedule: (in timezone Asia/Tokyo)

  • Branch creation
    • "after 9am before 1pm"
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Enabled.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate Bot added the renovate label Oct 25, 2025
@vercel

vercel Bot commented Oct 25, 2025

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
honey-portion-porker Ready Ready Preview, Comment Jun 13, 2026 1:16am

Request Review

@claude

claude Bot commented Oct 25, 2025

Copy link
Copy Markdown

レビュー結果

📋 概要

@biomejs/biome を v2.2.7 から v2.3.0 にアップデートする Renovate による自動更新PRです。

✅ 肯定的なポイント

  1. 適切な依存関係管理

    • pnpm の catalog 機能を使用して、ワークスペース全体でバージョンを統一管理できています
    • すべてのパッケージで一貫したバージョン(2.3.0)が使用されています
  2. 段階的なアップデート

    • マイナーバージョンアップ(2.2.7 → 2.3.0)で、破壊的変更のリスクが低い更新です
  3. 豊富な新機能

    • HTML/Vue/Svelte/Astro ファイルの実験的フルサポート
    • React 19.2 対応
    • 新しいレポーター形式(rdjson、checkstyle)の追加
    • CSS Modules および Tailwind CSS 4.0 ディレクティブのサポート

⚠️ 注意が必要なポイント

1. ブレイキングチェンジと非推奨化

重要: files.experimentalScannerIgnores が非推奨化されました

  • files.includes での force-ignore 構文(!! プレフィックス)への移行が推奨されています
  • 現在のプロジェクトでは使用していないため影響はありませんが、今後の参考として認識してください

ルールの自動有効化ロジック変更

  • 依存関係によるドメインルールの自動有効化が、推奨ルールのみに限定されました
  • React 関連の一部ルールが react ドメインに移動しました
  • 現在の設定 ("recommended": true) を使用している限り、影響は限定的です

削除されたルール

  • useAnchorHref ルールが削除され、useValidAnchor に統合されました

2. biome.jsonc のスキーマバージョン更新が必要

現在の設定ファイル(biome.jsonc:2)では:

"$schema": "https://biomejs.dev/schemas/2.2.5/schema.json"

新しいバージョンに合わせて更新することを推奨します:

"$schema": "https://biomejs.dev/schemas/2.3.0/schema.json"

3. 新機能による動作変更の可能性

VueとSvelteのフォーマット変更

  • <script><style> タグのインデントがデフォルトでPrettierに合わせて変更されました
  • 新オプション html.formatter.indentScriptAndStyle(デフォルト: false)
  • Vue/Svelteファイルを使用している場合、フォーマット結果が変わる可能性があります

新しいセキュリティルール

  • noSecrets が security グループに昇格
  • 機密情報の検出が強化される可能性があります

4. テストとビルドの確認

バージョンアップ後は以下の確認が推奨されます:

  • biome check の実行で新しいルールによる警告がないか確認
  • biome format の実行でフォーマット変更がないか確認
  • 既存のCIパイプラインが正常に動作するか確認

🔒 セキュリティ

  • セキュリティ関連の脆弱性修正は報告されていません
  • noSecrets ルールの昇格により、セキュリティチェックが強化されます

🎯 推奨アクション

  1. 必須: スキーマバージョンを biome.jsonc で更新
  2. 推奨: マージ前に pnpm biome check を実行して新しいルールの影響を確認
  3. 推奨: マージ前に pnpm biome format --write を実行してフォーマット変更を確認
  4. 任意: Vue/Svelteファイルを使用している場合、フォーマット結果の差分を確認

📝 総合評価

承認を推奨します。

このアップデートは主に新機能追加とバグ修正を含むマイナーバージョンアップです。破壊的変更は限定的であり、現在のプロジェクト設定では大きな影響は想定されません。ただし、スキーマバージョンの更新と、マージ前の動作確認を推奨します。

@claude

claude Bot commented Oct 25, 2025

Copy link
Copy Markdown

プルリクエスト #243 レビュー

概要

このPRは @biomejs/biome2.2.7 から 2.3.0 へアップデートするものです。Renovate Botによる定期的な依存関係の更新です。

コード品質とベストプラクティス

肯定的な点

  • 自動依存関係管理: Renovateによる定期的なアップデートにより、常に最新の機能とバグフィックスを利用できます
  • 統一的な変更: カタログ定義とロックファイルの両方で一貫してバージョンが更新されています
  • 適切な変更範囲: 依存関係の更新のみに限定されており、スコープが明確です

潜在的なバグや問題

注意が必要な新機能と変更

1. 重要な動作変更: 推奨ルールの自動有効化の変更

以前: ドメインの依存関係がインストールされていると、そのドメインのすべてのルールが自動的に有効化されていました
現在: 推奨ルール以外は自動的に有効化されなくなりました

影響: 一部のルールが無効化される可能性があります。現在のプロジェクトでは "recommended": true が設定されているため、大きな影響はないと考えられますが、カスタムルールの動作に注意が必要です。

2. 非推奨: files.experimentalScannerIgnores オプション

現在の biome.jsonc では使用していないため、このプロジェクトへの直接的な影響はありません。ただし、今後は force-ignore 構文(!!)を使用することが推奨されます。

3. 新しいルールの昇格

以下のルールが推奨ルールまたは正式ルールに昇格しました:

  • noNonNullAssertedOptionalChain → suspicious グループ
  • useReactFunctionComponents → style グループ
  • useImageSize → correctness グループ
  • useConsistentTypeDefinitions → style グループ
  • noSecretssecurity グループ (セキュリティ関連)

推奨アクション: noSecrets ルールが新たに有効化されるため、コミット前にシークレットが誤って含まれていないか自動検出されます。これは歓迎すべき改善ですが、既存コードに意図的なダミーシークレットなどがある場合は false positive が発生する可能性があります。

4. React ドメインルールの変更

以下のルールが React ドメインに移動し、react が依存関係として検出されない限り自動有効化されなくなりました:

  • noChildrenProp
  • noDangerouslySetInnerHtml
  • noDangerouslySetInnerHtmlWithChildren
  • noArrayIndexKey

確認: package.json を確認し、React プロジェクトであれば問題ありませんが、React を使用していない場合はこれらのルールが無効化されます。

5. $schema の更新が必要

biome.jsonc:2 で現在 "$schema": "https://biomejs.dev/schemas/2.2.5/schema.json" となっていますが、バージョン 2.3.0 にアップデートする場合は以下に更新することを推奨します:

"$schema": "https://biomejs.dev/schemas/2.3.0/schema.json"

セキュリティ上の考慮事項

肯定的な影響

  • noSecrets ルールの追加: シークレット検出機能が security グループに昇格したことで、誤ってAPIキーやトークンをコミットするリスクが低減します
  • セキュリティパッチ: マイナーバージョンアップに含まれる潜在的なバグ修正やセキュリティパッチが適用されます

パフォーマンスの考慮事項

  • 新しいバージョンでは多数の最適化が含まれていますが、リリースノートでは特に重大なパフォーマンス上の懸念は報告されていません
  • HTML/Vue/Svelte/Astro サポートの実験的機能が追加されましたが、このプロジェクトではこれらのファイルタイプは検出されていないため、パフォーマンスへの影響は最小限です

テストカバレッジ

推奨テスト

  1. Biome の動作確認
    pnpm biome check .
    pnpm biome format --write .
  2. 新ルールの影響確認: 特に noSecrets による新しい警告が出ないか確認
  3. CI/CDパイプライン: 既存のビルドとリントプロセスが正常に動作するか確認

総合評価

承認推奨度: ✅ 承認を推奨

理由

  • メジャーな破壊的変更はなく、マイナーバージョンアップとして適切
  • セキュリティ機能の向上が含まれている
  • 現在の設定との互換性が高い
  • Renovate の automerge が有効になっており、自動マージに適している

マージ前の推奨アクション

  1. 即座に対応: なし(自動マージで問題ない)
  2. 後続作業として検討:
    • biome.jsonc$schema2.3.0 に更新
    • pnpm biome check . を実行して新しいルールによる警告を確認
    • noSecrets ルールの動作を確認し、必要に応じて除外設定を追加

参考リンク


レビュアー: Claude Code
レビュー日時: 2025-10-25

@claude

claude Bot commented Oct 26, 2025

Copy link
Copy Markdown

レビュー結果 ✅

Biome 2.2.7から2.3.0へのアップデートをレビューしました。

📊 総合評価

承認推奨 - 依存関係の更新内容は適切ですが、いくつか注意点があります。

✅ 良い点

  • pnpm workspaceカタログを使用した一貫したバージョン管理
  • Renovateによる自動化された依存関係管理
  • 詳細なリリースノート情報が含まれている

⚠️ 注意が必要な変更点

1. ルールの自動有効化ロジックの変更

Biome 2.3.0では、推奨ルール以外は依存関係があっても自動で有効化されなくなりました(#7548)。

2. React関連ルールのドメイン移行

以下のルールがReactドメインに移動し、react依存関係がない限り自動有効化されません:

  • lint/correctness/noChildrenProp
  • lint/correctness/noReactPropAssignments
  • lint/security/noDangerouslySetInnerHtml
  • lint/security/noDangerouslySetInnerHtmlWithChildren
  • lint/style/useComponentExportOnlyModules
  • lint/suspicious/noArrayIndexKey

プロジェクトでReactを使用している場合、これらのルールが引き続き動作することを確認してください。

3. 削除されたルール

  • useAnchorHrefが削除され、useValidAnchorに統合されました

🧪 マージ前の推奨確認事項

  1. ✅ CIが正常にパスすることを確認
  2. ⚠️ 既存のlintルールが期待通りに動作することを確認(特にReact関連)
  3. ⚠️ フォーマット差分がないことを確認(biome checkを実行)

📝 新機能(参考情報)

  • HTML/Vue/Svelte/Astroファイルのサポート(実験的)
  • lineEnding: "auto"オプションの追加
  • Tailwind CSS 4.0ディレクティブのサポート
  • baseUrl(tsconfig.json)のサポート
  • 新しいセキュリティルールnoSecrets

🔒 セキュリティ

問題なし - むしろセキュリティルールが追加されています。

⚡ パフォーマンス

問題なし - パフォーマンス低下の報告はありません。


結論: CIが通過し、既存のlintルールが期待通り動作することを確認できれば、マージして問題ありません。

@claude

claude Bot commented Oct 26, 2025

Copy link
Copy Markdown

PR レビュー

このPRは @biomejs/biome を2.2.7から2.3.0へアップデートする自動更新です。以下の観点からレビューを実施しました。

✅ コード品質とベストプラクティス

  • 依存関係の更新方法: カタログ形式で一元管理されており、適切な構成です
  • 変更範囲: pnpm-lock.yaml と pnpm-workspace.yaml のみの変更で、影響範囲が明確です
  • バージョン管理: セマンティックバージョニングに従ったマイナーバージョンアップデートです

🔍 潜在的なバグや問題

重要な動作変更に注意が必要です:

  1. Reactルールのドメイン化 (Breaking Change的側面あり)

    • 以下のルールがReactドメインに所属し、react が依存関係として検出されない限り自動有効化されなくなりました:
      • noChildrenProp (recommended)
      • noDangerouslySetInnerHtml (recommended)
      • noDangerouslySetInnerHtmlWithChildren (recommended)
      • noArrayIndexKey (recommended)
    • 推奨アクション: プロジェクトで package.json にReactが含まれているか確認し、含まれていない場合は明示的にルールを有効化する必要があります
  2. 新しいプロモートされたルール

    • noNonNullAssertedOptionalChain (suspicious)
    • useReactFunctionComponents (style)
    • noSecrets (security) - セキュリティスキャンが追加
    • これらが既存コードで新たな警告を発する可能性があります
  3. experimentalScannerIgnores の非推奨化

    • files.includes の二重感嘆符構文(!!)への移行が推奨されています
    • 現在は警告のみですが、将来的に削除される予定です

⚡ パフォーマンスの考慮事項

  • Biomeのリゾルバーが baseUrl をサポートするようになり、TypeScript設定との統合が改善されました
  • 特にパフォーマンス上の懸念はありません

🔒 セキュリティ上の懸念

  • ポジティブな変更: noSecrets ルールがセキュリティグループに昇格し、シークレットの検出が強化されます
  • セキュリティ上のリスクは見当たりません

🧪 テストカバレッジ

推奨される検証手順:

  1. アップデート後に pnpm biome check . を実行し、新しいルールによる警告を確認
  2. Vue/Svelte/Astroファイルを使用している場合、新しいHTML/VueサポートによるLint/Format動作を検証
  3. 既存のフォーマット設定(lineEndingなど)が期待通りに動作するか確認

📋 総評

このアップデートは全体的に安全ですが、以下の点に注意してマージすることを推奨します:

マージ前の確認事項:

  • pnpm install が正常に完了することを確認
  • pnpm biome check . を実行し、新しい警告がないか確認
  • Reactプロジェクトの場合、package.json にReact依存関係が含まれているか確認
  • CIパイプラインが正常に完了することを確認

オプション:

  • biome migrate --write コマンドを実行し、非推奨の設定を自動移行することを検討

全体として、このアップデートは多くの新機能と改善を含む良質なアップデートです。Automergeが有効になっていますが、上記の確認を行ってからマージすることを推奨します。

@renovate renovate Bot force-pushed the renovate/biomejs-biome-2.x branch from 39b7da9 to a65553a Compare October 27, 2025 00:38
@renovate renovate Bot changed the title Update dependency @biomejs/biome to v2.3.0 Update dependency @biomejs/biome to v2.3.1 Oct 27, 2025
@claude

claude Bot commented Oct 27, 2025

Copy link
Copy Markdown

プルリクエスト #243 レビュー

概要

Renovateによる@biomejs/biomeのバージョン更新(2.2.7 → 2.3.1)です。

✅ コード品質とベストプラクティス

  • 問題なし: pnpm workspaceのカタログ機能を使用した依存関係の一元管理が適切に実施されています
  • 問題なし: lockファイルとworkspace設定ファイルの両方が同期的に更新されています
  • 問題なし: Renovateによる自動更新で、パッケージの整合性が保たれています

🔍 変更内容の詳細

更新されたファイル:

  • pnpm-lock.yaml: 全パッケージの@biomejs/biome依存関係とプラットフォーム固有CLIバイナリの更新
  • pnpm-workspace.yaml: カタログでのバージョン定義の更新(2.2.7 → 2.3.1)

影響を受けるパッケージ:

  • ルートプロジェクト
  • apps/frontend
  • packages/api

📝 Biome 2.3.1での主な変更点

このアップデートには以下の重要な機能とバグ修正が含まれています:

新機能 (v2.3.0)

  • HTML/Vue/Svelte/Astroファイルの完全サポート(実験的)
  • Tailwind CSS 4.0ディレクティブサポート
  • baseUrl対応のTSConfig解決機能
  • 新しいレポーター: rdjson, checkstyle
  • CLI新フラグ: --format-with-errors, --css-parse-*, --json-parse-*
  • lineEnding: "auto"オプション追加
  • force-ignoreシンタックス(!!)による除外ファイル制御の改善

バグ修正 (v2.3.1)

  • CSS parserでのTailwind directives関連の修正
  • Svelteの属性ショートハンド構文対応
  • AstroファイルでのTypeScript解析改善
  • LSPのworkspace/didChangeWorkspaceFoldersメソッド修正

🚀 パフォーマンスの考慮事項

  • 問題なし: パッチバージョンアップデートのため、パフォーマンス劣化のリスクは最小限です
  • 推奨事項: 新機能(HTML/Vue/Svelte解析など)を利用している場合、実験的機能であることに注意してください

🔒 セキュリティ上の懸念

  • 問題なし: セキュリティ関連の既知の脆弱性は報告されていません
  • 問題なし: 信頼できるソース(Biome公式)からの更新です

🧪 テストカバレッジ

  • 推奨: マージ前に以下のテストを実行することを推奨します:
    • pnpm installが正常に完了することの確認
    • 既存のBiome設定(biome.json)との互換性確認
    • pnpm lintpnpm formatコマンドの動作確認
    • CIパイプラインでのビルド/テスト成功確認

📌 マージ前のチェックリスト

  • CIが正常にパスしていることを確認
  • ローカル環境でpnpm installが成功することを確認
  • Biomeのlint/formatコマンドが期待通り動作することを確認
  • 特にHTML/Vue/Svelteファイルを使用している場合、新しいパーサーの動作を確認

💡 総評

承認推奨: この更新は安全で、新機能とバグ修正を含む有益なアップグレードです。Renovateによる自動更新で、変更内容も適切です。CIが通過していれば、マージして問題ありません。

@claude

claude Bot commented Oct 28, 2025

Copy link
Copy Markdown

プルリクエスト #243 レビュー

概要

Biomejs の 2.2.7 から 2.3.1 へのバージョンアップPRです。Renovate による自動更新で、主に pnpm-lock.yaml と pnpm-workspace.yaml のバージョン指定が更新されています。


✅ コード品質とベストプラクティス

良い点:

  • 依存関係のバージョンアップが適切に管理されている
  • pnpm の catalog 機能を使用しており、バージョン管理が一元化されている
  • lockfile が正しく更新されている

推奨事項:

  • biome.jsonc$schema2.2.5 のままです。バージョンアップに合わせて更新することを推奨します:
    "$schema": "https://biomejs.dev/schemas/2.3.1/schema.json"

🐛 潜在的なバグや問題

注意点:

  1. 破壊的変更の確認が必要

    • v2.3.0 では以下の重要な変更があります:
      • ドメインに属するルールは、依存関係に基づいて自動的に有効化されなくなりました(推奨ルールを除く)
      • React ドメインのルールが追加され、React が package.json に存在しない場合は自動で有効化されません
    • このプロジェクトが React を使用している場合、一部のルールが無効化される可能性があります
  2. 新機能の活用検討

    • v2.3.0 で tsconfig.jsonbaseUrl サポートが追加されました
    • HTML、Vue、Svelte、Astro ファイルの実験的サポートが追加されました
    • 使用している場合は、設定の見直しを推奨します
  3. フォーマット変更

    • Vue/Svelte ファイルのインデントロジックが変更されました
    • indentScriptAndStyle オプションがデフォルト false で追加されました

対応推奨:

# 変更による影響を確認
pnpm biome check --write

# フォーマットの差分を確認
pnpm biome format --write

⚡ パフォーマンスの考慮事項

特にパフォーマンスに影響する変更は見られません。むしろバグフィックスにより、以下の点で改善が期待できます:

  • LSP の workspace/didChangeWorkspaceFolders の処理が増分更新に改善
  • CSS パーサーのバグフィックスによる安定性向上

🔒 セキュリティ上の懸念

  • noSecrets ルールが security グループに昇格しました
  • セキュリティ的には改善方向です
  • 特に懸念事項はありません

🧪 テストカバレッジ

推奨事項:

  1. マージ前に以下のテストを実施してください:

    # Biome のチェック実行
    pnpm biome check
    
    # フォーマット確認
    pnpm biome format
    
    # 既存のテストスイート実行
    pnpm test
  2. 特に以下のケースで動作確認を推奨:

    • React コンポーネントのリンティング
    • インポート文のソート
    • 既存のフォーマットルールとの整合性

📋 アクションアイテム

マージ前に以下を実施することを推奨します:

  1. 必須:

    • CI/CD パイプラインの実行確認
    • pnpm biome check の実行と問題の修正
  2. 推奨:

    • biome.jsonc$schema を 2.3.1 に更新
    • リリースノートを確認し、プロジェクトに影響する変更がないか確認
    • React ドメインルールの動作確認(React を使用している場合)
  3. 任意:

    • 新機能(baseUrl サポート、HTML/Vue/Svelte サポートなど)の活用検討

総評

全体的に安全なバージョンアップです。主にバグフィックスと新機能追加で、破壊的変更は限定的です。ただし、ドメインルールの自動有効化ロジック変更により、一部のルールが無効化される可能性があるため、マージ前の動作確認を推奨します。

推奨アクション: マージ前に pnpm biome check を実行し、biome.jsonc の schema バージョンを更新してください。

@renovate renovate Bot changed the title Update dependency @biomejs/biome to v2.3.1 Update dependency @biomejs/biome to v2.3.2 Oct 29, 2025
@renovate renovate Bot force-pushed the renovate/biomejs-biome-2.x branch 2 times, most recently from 3ddc1ce to 622841f Compare October 29, 2025 03:39
@claude

claude Bot commented Oct 29, 2025

Copy link
Copy Markdown

レビュー結果

✅ 総合評価

このBiomeのバージョンアップデート(2.2.7 → 2.3.2)は承認可能です。変更は依存関係の更新のみで、重大な問題は見当たりません。


📋 変更内容の概要

アップデート内容

  • @biomejs/biome: 2.2.7 → 2.3.2(パッチバージョンアップ × 2回のマイナーバージョンアップ)
  • 影響範囲:pnpm-lock.yamlpnpm-workspace.yamlのカタログ定義

主要な新機能と改善点

v2.3.0(マイナーリリース)の重要な変更:

  1. TypeScriptのbaseUrlサポート(#7263)

    • tsconfig.jsonのbaseUrl設定をBiomeのリゾルバーがサポートするようになりました
    • このプロジェクトでは現在使用していませんが、将来的に有用な機能です
  2. React 19.2サポート(#7669)

    • ✅ このプロジェクトはReact 19.2.0を使用しているため、この改善の恩恵を受けます
    • useEffectEventフックのサポート追加
    • <Activity />コンポーネントの認識
  3. HTML/Vue/Svelte/Astro実験的サポート(#7702)

    • このプロジェクトでは該当ファイルは使用していないため影響なし
  4. 新しいリンタールールのプロモーション(#7758)

    • 複数のnurseryルールが推奨グループに昇格
    • プロジェクトでは"recommended": trueを使用しているため、自動的に有効化されます

v2.3.1 & v2.3.2(パッチリリース)のバグフィックス:

  • CSS/HTMLパーサーの修正(Tailwind/Svelteの構文サポート改善)
  • noUselessStringConcatの誤検出修正(#7874)
  • LSPの安定性向上

🔍 プロジェクトへの影響評価

ポジティブな影響

  1. React 19.2の完全サポート

    • プロジェクトで使用中のReact 19.2.0との互換性が向上
    • 新しいフックや機能の正確な解析が可能に
  2. バグフィックスの恩恵

    • 文字列連結の誤検出修正により、不要な警告が減少
    • LSPの安定性向上により、エディタでの開発体験が向上
  3. 将来への準備

    • baseUrlサポートにより、今後のパス解決設定の柔軟性が向上

潜在的なリスク

  1. スキーマバージョンの不一致

    • ⚠️ biome.jsonc$schemaが古いバージョン(2.2.5)を参照しています
    • 推奨: 以下のように更新してください
    "$schema": "https://biomejs.dev/schemas/2.3.2/schema.json"
  2. 新しいルールの自動有効化

    • v2.3.0でプロモートされたルールが自動的に有効になります
    • 既存コードで新しい警告が出る可能性がありますが、コード品質向上につながります
  3. 破壊的変更(軽微)

    • v2.3.0でfiles.experimentalScannerIgnoresが非推奨化
    • このプロジェクトでは使用していないため影響なし

📝 推奨アクション

必須対応

  1. マージ後にフォーマットとリントを実行
    pnpm --filter web format:fix
    pnpm --filter web lint:fix
    新しいルールによる警告がないか確認してください。

推奨対応

  1. スキーマバージョンの更新
    biome.jsonc$schemaを最新バージョンに更新することで、エディタでの補完精度が向上します。

  2. テストの実行
    マージ前にテストスイートを実行して、リント変更による影響がないことを確認してください。

    pnpm --filter web test

🔒 セキュリティ

  • セキュリティ上の懸念はありません
  • noSecretsルールがnurseryからsecurityグループにプロモートされ、シークレット検出が強化されました

⚡ パフォーマンス

  • パフォーマンス上の懸念はありません
  • LSPの改善により、エディタのパフォーマンスが向上する可能性があります

✅ 結論

このPRは承認を推奨します。重大な問題はなく、React 19.2サポートの改善など、プロジェクトにとって有益な更新が含まれています。マージ後は念のためフォーマット/リントチェックを実行して、新しいルールによる影響を確認してください。

@claude

claude Bot commented Oct 29, 2025

Copy link
Copy Markdown

レビュー結果

このPRは、Biomeを2.2.7から2.3.2にアップデートするRenovateによる自動更新です。以下の観点でレビューしました。

✅ コード品質とベストプラクティス

  • 変更内容: pnpm-workspace.yamlpnpm-lock.yaml のバージョン更新のみで、適切な変更です
  • 影響範囲: モノレポ全体(ルート、apps/e2e、apps/web)で一貫してバージョンが更新されています
  • ロックファイル整合性: pnpm-lock.yamlが適切に更新され、全てのプラットフォーム用バイナリが同期されています

📝 主な変更点(2.2.7 → 2.3.2)

v2.3.2の主な修正

  • 🐛 Astro/SvelteファイルでネストされたcurlyブラケットのパースエラーFIX (#7837)
  • 🐛 noUselessStringConcatルールの複数行文字列での誤検知を修正 (#7230)
  • 🐛 HTML/Svelteファイル関連のLanguage Serverパニックを修正

v2.3.0の新機能(影響度大)

  • ⚠️ 新しいCLIフラグ: --css-parse-css-modules--css-parse-tailwind-directives--json-parse-allow-comments等が追加
  • ⚠️ 設定の非推奨化: files.experimentalScannerIgnoresfiles.includesのforce-ignore構文(!!)へ移行
  • 🎯 スキーマバージョン注意: biome.jsonc:2で現在スキーマ2.2.5を参照していますが、2.3系の新機能を使用する場合は更新が必要になる可能性があります
  • 🆕 新しいリンタールールが追加:
    • noIncrementDecrement (nursery)
    • noNonNullAssertedOptionalChain (suspicious) - promoted
    • noSecrets (security) - promoted
  • 🔄 HTML/Vue/Svelte/Astroファイルの実験的な完全サポートが追加
  • 🎨 .vue/.svelteファイルのフォーマット変更(indentScriptAndStyleオプション、デフォルトfalse)

🔒 セキュリティ上の考慮事項

  • ✅ 複数のバグ修正によりパーサーの安定性が向上
  • noSecretsルールがsecurityグループに昇格(機密情報の検出強化)
  • ✅ 信頼できるソース(Biome公式)からのアップデート

⚡ パフォーマンスの考慮事項

  • ✅ バイナリサイズや実行速度への大きな影響は報告されていません
  • ℹ️ HTML/Vue/Svelte/Astro解析機能の追加により、該当ファイルの処理時間が若干変動する可能性があります

🧪 テストカバレッジ

  • ⚠️ 推奨アクション: このアップデート後、以下を確認することを推奨します:
    1. pnpm biome check . を実行し、新しいルールによる警告がないか確認
    2. 既存のフォーマット設定が意図通り動作するか確認(特にVue/Svelteファイルを使用している場合)
    3. CIパイプラインが正常に通過することを確認

🎯 推奨事項

  1. スキーマバージョンの更新検討: biome.jsoncのスキーマURLを2.3系に更新することを検討してください

    -  "$schema": "https://biomejs.dev/schemas/2.2.5/schema.json",
    +  "$schema": "https://biomejs.dev/schemas/2.3.2/schema.json",
  2. 非推奨化への対応: files.experimentalScannerIgnoresを使用している場合は、新しいforce-ignore構文(!!)への移行を検討してください(現時点では未使用のため対応不要)

  3. 新機能の評価:

    • HTML/Vue/Svelte/Astroサポートが実験的に追加されたので、該当ファイルがある場合は動作確認を推奨
    • noSecretsルールが有効になるため、機密情報のハードコーディングがないか再確認を推奨

結論

承認を推奨します

このアップデートは主にバグ修正とパーサー改善を含む安全な更新です。破壊的変更はなく、マイナーな新機能追加と非推奨化の警告のみです。CIが通過したらマージして問題ありません。

ただし、マージ後に上記の推奨事項(特にスキーマバージョン更新と新ルールの確認)を実施することをお勧めします。

@claude

claude Bot commented Oct 30, 2025

Copy link
Copy Markdown

プルリクエストレビュー: Biome 2.2.7 → 2.3.2 アップデート

概要

Renovate による @biomejs/biome のマイナーバージョンアップです。2.2.7 から 2.3.2 への更新が提案されています。

✅ 良い点

  1. 適切な依存関係管理

    • pnpm workspace の catalog 機能を使用して、バージョンを一元管理しています
    • 全てのパッケージで同じバージョンを使用する構成になっており、一貫性が保たれています
  2. 段階的なアップデート

    • マイナーバージョンの更新であり、破壊的変更のリスクが低い更新です

🔍 確認事項と推奨アクション

1. 新機能と影響範囲の確認

このアップデートには以下の重要な変更が含まれています:

v2.3.0 の主な変更点:

  • 🔴 重要: lint ルールの自動有効化ロジックが変更されました
    • ルールは依存関係がインストールされているだけでは自動的に有効化されなくなりました(推奨ルール以外)
    • React 関連のいくつかのルールが react domain に移動し、React が依存関係にある場合のみ有効化されます

影響を受けるルール:

  • lint/correctness/noChildrenProp

  • lint/correctness/noReactPropAssignments

  • lint/security/noDangerouslySetInnerHtml

  • lint/security/noDangerouslySetInnerHtmlWithChildren

  • lint/style/useComponentExportOnlyModules

  • lint/suspicious/noArrayIndexKey

  • HTML/Vue/Svelte/Astro ファイルの実験的フルサポートが追加

  • CSS Modules と Tailwind v4 ディレクティブのパース オプションが追加

  • 新しい reporter 形式(rdjson, checkstyle)が追加

v2.3.1-2.3.2:

  • バグ修正とパーサーの改善

2. 推奨される対応

必須:

  • CI/CD パイプラインで biome check を実行し、新しいバージョンでエラーが発生しないか確認
  • プロジェクトで React を使用している場合、上記のルールが引き続き動作することを確認

推奨:

  • biome.json 設定ファイルがある場合、biome migrate --write コマンドを実行して設定を最新化
  • HTML/Vue/Svelte/Astro ファイルを使用している場合、新しいパーサーの恩恵を受けられます
  • files.experimentalScannerIgnores を使用している場合は、新しい force-ignore 構文(!! プレフィックス)への移行を検討してください(非推奨警告が表示されます)

3. セキュリティとパフォーマンス

  • ✅ セキュリティ上の懸念はありません
  • ✅ パフォーマンスへの悪影響は報告されていません
  • ✅ バグ修正により、特定のケースでのパース エラーが解消されています

📋 テストの推奨

このPRをマージする前に、以下のコマンドを実行することを推奨します:

pnpm install
pnpm run validate:check
pnpm run build
pnpm run test

結論

推奨: ✅ 承認(テスト後)

このアップデートは適切に管理されており、重要なバグ修正と新機能が含まれています。ただし、lint ルールの動作変更があるため、マージ前に CI が通ることを確認してください。特に React プロジェクトの場合は注意が必要です。


このレビューは Claude Code により自動生成されました

@renovate renovate Bot force-pushed the renovate/biomejs-biome-2.x branch from 7b8cdc7 to 8e5a5ca Compare October 30, 2025 01:13
@claude

claude Bot commented Dec 19, 2025

Copy link
Copy Markdown

レビュー結果

このプルリクエストは、Renovateによる@biomejs/biomeのバージョンアップデート(2.2.7 → 2.3.10)です。変更内容を確認しました。

✅ 良い点

  1. 依存関係の一貫性: pnpm workspaceのカタログ機能を使用しており、モノレポ全体で統一されたバージョン管理が実現されています
  2. 自動化されたアップデート: Renovateによる自動更新により、常に最新のバグ修正とセキュリティパッチが適用されます
  3. クリーンな変更: lockファイルとworkspace設定のみの変更で、不要な修正が含まれていません

🔍 確認事項

1. スキーマバージョンの更新が必要

biome.jsonc$schema フィールドが 2.2.5 を参照しています。Biome を 2.3.10 にアップグレードした場合、スキーマも最新バージョンに更新することを推奨します:

- "$schema": "https://biomejs.dev/schemas/2.2.5/schema.json",
+ "$schema": "https://biomejs.dev/schemas/2.3.10/schema.json",

または、バージョン非依存の最新版を参照する方法もあります:

"$schema": "https://biomejs.dev/schemas/latest/schema.json",

2. 新機能・破壊的変更の確認

v2.3.x系では以下の重要な変更が含まれています:

主な新規ルール:

  • useAwaitThenable: await を Promise 値にのみ使用することを強制
  • noScriptUrl: XSS脆弱性のリスクがある javascript: URL を禁止
  • useRegexpExec: グローバルフラグなしの場合、String#match より RegExp#exec を推奨
  • noAmbiguousAnchorText: 曖昧なアンカーテキストを禁止

バグ修正の例:

  • noUnusedVariables のデフォルト値の修正(#8398)
  • オーバーライド設定の継承の修正(#8436)
  • 削除・リネームされたファイルでの --changed / --staged フラグのエラー修正(#8445)

パフォーマンス改善:

  • フォーマッター・リンターの内部メモリ使用量の削減

3. テストの実行

マージ前に以下のコマンドでプロジェクト全体の整合性を確認してください:

# フォーマットとリントのチェック
pnpm biome check .

# CI/CDパイプラインの実行
pnpm test

📝 推奨アクション

  1. スキーマバージョンの更新: biome.jsonc$schema を最新バージョンに更新
  2. 新規ルールの確認: 新しいリントルールが既存コードに影響しないか確認
  3. CI/CDの確認: すべてのテストとビルドが成功することを確認

結論

承認を推奨します が、上記の確認事項を実施してからマージすることをお勧めします。特に、スキーマバージョンの更新とフルテストの実行は必須です。


自動生成されたレビュー by Claude Code

@claude

claude Bot commented Dec 20, 2025

Copy link
Copy Markdown

PR #243 レビュー: @biomejs/biome 2.2.7 → 2.3.10 へのアップデート

📋 概要

Renovateによる@biomejs/biomeの依存関係アップデート(2.2.7 → 2.3.10)です。このPRはマイナーバージョンアップデートで、主にバグフィックスと新しいリンタールールの追加が含まれています。


✅ コード品質とベストプラクティス

良い点:

  • 📦 適切な依存関係管理: pnpm catalogを使用して一元管理されており、モノレポ全体で一貫したバージョンが使用されています
  • 🔄 自動更新: Renovateによる自動アップデートにより、依存関係が最新の状態に保たれています
  • 📝 詳細なリリースノート: PRに含まれるリリースノートが非常に詳細で、変更内容を把握しやすいです

改善提案:

  • ⚠️ スキーマバージョンの更新: biome.jsonc$schemaが古いバージョン(2.2.5)を参照しています
{
-  "$schema": "https://biomejs.dev/schemas/2.2.5/schema.json",
+  "$schema": "https://biomejs.dev/schemas/2.3.10/schema.json",

これにより、エディタでの補完やバリデーションが最新バージョンに対応します。


🐛 潜在的なバグや問題

影響のある変更:

  1. noExtraNonNullAssertion の挙動変更 (#8383)

    • 代入演算子の両側の個別の非null アサーションが許可されるようになりました
    • 既存コードに影響がある可能性は低いですが、該当パターンがある場合はレビューが必要です
  2. noUnusedVariables のデフォルト値復元 (#8398)

    • ignoreRestSiblings オプションが true に戻されました
    • 以前のバージョンで意図せず変更されていたため、この修正により期待通りの動作に戻ります
  3. useExhaustiveDependencies の改善 (#8401)

    • カスタムフックの依存配列の検証が改善されました
    • React hooks を使用している場合、新たな警告が表示される可能性があります

推奨アクション:

# 新しいバージョンでのリンターチェックを実行
pnpm biome check .

# フォーマットの自動修正を実行
pnpm biome check --write .

🚀 パフォーマンスの考慮事項

改善点:

  • フォーマッターのメモリ使用量削減 (#8137)
    • 内部メモリ使用量が最適化されました
  • ソースマップの最適化 (#8284)
    • 必要な場合のみソースマップを有効化することでパフォーマンスが向上しました

これらの改善により、大規模なプロジェクトでのフォーマット速度が向上することが期待できます。


🔒 セキュリティ上の懸念

新しいセキュリティ関連ルール:

  • 🛡️ noScriptUrl (nursery): javascript: URLの使用を禁止し、XSS脆弱性を防ぎます (#8232)

セキュリティリスク:

  • なし - このアップデートに直接的なセキュリティリスクはありません
  • ✅ 信頼できるソースからのアップデートです

🧪 テストカバレッジ

テストに関する推奨事項:

  1. CIパイプラインの確認

    • CIでのビルドとリンターチェックの成功を確認してください
    • 特に新しいリンタールールによる警告がないか確認が必要です
  2. ローカルでの検証

    # 依存関係のインストール
    pnpm install
    
    # Biomeチェックの実行
    pnpm biome check .
    
    # 既存のテストスイートの実行
    pnpm test
  3. 新しいルールの段階的な導入

    • このバージョンには多数の新しいnurseryルールが含まれています
    • 必要に応じて、biome.jsoncで段階的に有効化を検討してください

📊 変更ファイル

  • pnpm-workspace.yaml: catalogのバージョン更新
  • pnpm-lock.yaml: ロックファイルの自動更新

両ファイルとも期待通りの変更内容です。


🎯 総合評価

承認推奨度: ✅ 承認可能

理由:

  1. マイナーバージョンアップデートで、破壊的変更は含まれていません
  2. 主にバグフィックスとパフォーマンス改善が中心です
  3. 新しいセキュリティ関連のルールが追加され、コード品質の向上が期待できます
  4. pnpm catalogによる一元管理により、依存関係の整合性が保たれています

マージ前のチェックリスト:

  • CIパイプラインがすべて成功していることを確認
  • pnpm biome check . を実行し、新しい警告やエラーがないか確認
  • (オプション) biome.jsonc$schema を最新バージョンに更新

💡 追加の提案

新しく追加されたnurseryルールの中で、プロジェクトに有益と思われるもの:

  • useAwaitThenable: Promise以外の値でのawaitを検出
  • noScriptUrl: XSS脆弱性のリスクがあるjavascript: URLを検出
  • useRegexpExec: より効率的な正規表現の使用を推奨

これらのルールを有効化することで、コード品質とセキュリティをさらに向上させることができます。


レビュー完了日: 2025-12-20

@claude

claude Bot commented Dec 22, 2025

Copy link
Copy Markdown

PR レビュー: @biomejs/biome 2.2.7 → 2.3.10 へのアップデート

✅ 総合評価

このPRは問題なくマージ可能です。Renovate botによる依存関係の自動アップデートで、適切に管理されています。


📋 変更内容の確認

変更ファイル

  • pnpm-workspace.yaml: カタログでのバージョン定義を更新
  • pnpm-lock.yaml: 依存関係ロックファイルの更新(全てのプラットフォーム向けバイナリ)

バージョン差分

2.2.7 → 2.3.10 (パッチバージョン3つ分: 2.3.8, 2.3.9, 2.3.10)


🔍 主要な変更点の分析

新規ルール追加

以下のルールが追加されましたが、現在の設定("recommended": true)では影響は限定的です:

  • noScriptUrl: javascript: URLの使用を禁止(XSS対策)
  • useAwaitThenable: awaitをPromiseのみで使用するよう強制
  • useRegexpExec: グローバルフラグなしの場合RegExp#execを推奨
  • useRequiredScripts: package.jsonのscriptsセクションの必須エントリ強制
  • noAmbiguousAnchorText: 曖昧なアンカーテキストの禁止
  • useDestructuring: 分割代入の推奨
  • noVueSetupPropsReactivityLoss: Vue props の reactivity 損失の検出

バグ修正(重要)

  • パフォーマンス改善: フォーマッターの内部メモリ使用量削減とソースマップの最適化
  • 型システム改善: TypeScript コンストラクタパラメータプロパティの型追跡(noFloatingPromises等の精度向上)
  • 設定継承の修正: オーバーライド設定が親設定を正しく継承するように修正
  • HTML フォーマット: Prettier 3.7 との互換性向上
  • 複数のルールの誤検出修正: noUnusedVariables, noExtraNonNullAssertion, useConsistentCurlyBraces

⚠️ 注意事項

1. Schema バージョンの更新推奨

biome.jsonc:2$schema2.2.5 を参照していますが、アップデート後は 2.3.10 に更新することを推奨します:

- "$schema": "https://biomejs.dev/schemas/2.2.5/schema.json",
+ "$schema": "https://biomejs.dev/schemas/2.3.10/schema.json",

2. 潜在的なフォーマット変更

HTML ファイルで <iframe>allow 属性を使用している場合、フォーマットが変更される可能性があります。

3. より厳格なルール検出

TypeScript のコンストラクタパラメータプロパティの型追跡が改善されたため、既存コードで新たに noFloatingPromises 等の警告が表示される可能性があります。


✅ セキュリティ

  • セキュリティ上の懸念はありません
  • 新規追加された noScriptUrl ルールはむしろセキュリティ向上に貢献

✅ パフォーマンス

  • フォーマッターのメモリ使用量削減により、パフォーマンスが向上
  • ソースマップの最適化により、必要時のみ有効化されるように改善

✅ テストカバレッジ

  • 依存関係のアップデートのため、既存のテストで十分にカバーされます
  • マージ前に CI が通過することを確認してください

🎯 推奨アクション

  1. マージ前:

    • CI の全てのチェックが通過することを確認
    • 可能であれば、開発環境で pnpm install を実行し、既存コードにフォーマットやリント変更がないか確認
  2. マージ後 (オプション):

    • biome.jsonc$schema を 2.3.10 に更新
    • pnpm biome check . を実行し、新しいルールによる警告がないか確認

📝 まとめ

このPRは安全にマージ可能です。バグ修正とパフォーマンス改善が主な内容で、破壊的変更はありません。Renovate による自動アップデートプロセスが適切に機能しています。

承認: ✅ LGTM (Looks Good To Me)

@claude

claude Bot commented Dec 23, 2025

Copy link
Copy Markdown

レビュー結果

このプルリクエストは @biomejs/biome を 2.2.7 から 2.3.10 へアップデートするものです。以下の観点でレビューしました。

✅ 良い点

  1. 依存関係の更新: Renovate Bot による自動更新で、最新のバグ修正とセキュリティパッチが含まれています
  2. 変更範囲が明確: pnpm-lock.yamlpnpm-workspace.yaml のみの変更で、影響範囲が限定的です
  3. カタログ管理: pnpm のカタログ機能を使用しているため、複数パッケージ間でバージョンが統一されています

📋 主な変更内容

このアップデートには以下の重要な修正が含まれています:

v2.3.10 (最新)

  • noRedeclare: TypeScript の conditional types における infer の再宣言の誤検出を修正
  • noExtraNonNullAssertion: 非null アサーションのフラグ付けに関するリグレッションを修正
  • セマンティックモデルの改善: TypeScript のコンストラクタメソッド定義のインデックス化を修正
  • noVueReservedKeys: Vue コンポーネントの defineProps() マクロの処理を改善

v2.3.9

  • 新しいルール追加: noScriptUrl, useAwaitThenable, useRegexpExec, useRequiredScripts
  • フォーマッターの内部メモリ使用量を削減
  • noUnusedVariables: ignoreRestSiblings オプションのデフォルト値を true に戻す修正
  • TypeScript コンストラクタパラメータプロパティの型トラッキングを実装

v2.3.8

  • --config-path フラグの動作を修正

🔍 推奨事項

  1. マージ前の確認

    • CI/CD パイプラインのテストが全て成功していることを確認してください
    • 特に linter と formatter の動作確認が重要です
  2. ローカルでの動作確認
    以下のコマンドでプロジェクト全体をチェックすることをお勧めします:

    pnpm install
    pnpm biome check .
    pnpm biome format .
  3. 既存コードへの影響

    • v2.3.9 で noUnusedVariables ルールの挙動が変更されているため、既存コードで新たな警告が出る可能性があります
    • 新しいルールが追加されているため、プロジェクトの biome.json 設定を見直すことをお勧めします
  4. 破壊的変更の確認

    • このバージョンアップはパッチリリースの範囲内ですが、バグ修正により新たなエラーが検出される可能性があります
    • 特に TypeScript の型チェックや Vue コンポーネントを使用している場合は注意が必要です

総合評価

承認を推奨します

変更内容は適切で、多くのバグ修正とパフォーマンス改善が含まれています。ただし、マージ前に CI の結果を確認し、可能であればローカルでも動作確認を行ってください。

@claude

claude Bot commented Dec 24, 2025

Copy link
Copy Markdown

レビュー結果

このPRは@biomejs/biomeのバージョンを2.2.7から2.3.10にアップデートするものです。以下の観点でレビューしました。

✅ コード品質とベストプラクティス

  • 変更内容: pnpm-workspace.yamlとpnpm-lock.yamlのみの更新で、適切な範囲の変更です
  • 依存関係管理: catalogパターンを使用した一元管理が適切に機能しています
  • 自動化: Renovateによる自動更新で、人的ミスのリスクが低減されています

⚠️ 潜在的な問題と推奨事項

1. biome.jsonc のスキーマバージョン不整合

現在のbiome.jsonc (1行目) では以下のスキーマを参照しています:

"$schema": "https://biomejs.dev/schemas/2.2.5/schema.json"

しかし、インストールされるbiomeのバージョンは2.3.10です。この不整合により、以下の問題が発生する可能性があります:

  • エディタでの補完・検証が2.3.x の新機能に対応しない
  • 新しく追加されたルールや設定オプションが認識されない

推奨: スキーマURLを更新することをお勧めします:

"$schema": "https://biomejs.dev/schemas/2.3.10/schema.json"

2. 新ルールの影響確認

2.2.7から2.3.10の間で多数の新しいlintルールが追加されています:

2.3.9で追加:

  • noScriptUrl (nursery): javascript: URLの使用を禁止
  • useAwaitThenable (nursery): Promise値のみにawaitを使用
  • useRegexpExec (nursery): グローバルフラグなしの場合はString#matchよりRegExp#execを推奨
  • useRequiredScripts (nursery): package.jsonのscriptsセクションの必須エントリを強制

2.3.10で追加:

  • noUndeclaredEnvVars (turborepo domain): Turborepoでの安全でない環境変数の使用を警告
  • noAmbiguousAnchorText (nursery): 曖昧なアンカーの説明を禁止
  • useDestructuring (nursery): 分割代入の使用を推奨

これらは現在nurseryステージなので、recommended: trueの設定では適用されませんが、将来的に推奨ルールに昇格する可能性があります。

推奨アクション:

  1. ローカル環境でlintを実行し、警告が増えていないか確認
  2. 必要に応じて新しいルールを個別に有効化または無効化
  3. biome migrate コマンドで設定の最適化を検討

🔒 セキュリティ上の考慮事項

プラス要因:

  • noScriptUrlルールの追加により、XSS脆弱性のリスクが軽減されます
  • Turborepoの環境変数チェック機能が追加され、セキュアな設定管理が促進されます

懸念点:

特になし。ツール自体のアップデートなので、直接的なセキュリティリスクはありません。

🚀 パフォーマンスの考慮事項

このバージョンには以下のパフォーマンス改善が含まれています:

  • フォーマッター: 内部メモリ使用量の削減 (#8137)
  • フォーマッター: 必要な場合のみソースマップを有効化 (#8284)
  • LSP: ログ出力量の削減 (#8249)

これらの改善により、大規模プロジェクトでのフォーマット速度やエディタでのレスポンスが向上することが期待できます。

🧪 テストカバレッジ

  • 既存のテストコードに影響を与える変更はありません
  • 新しいルールは既存コードに破壊的変更を加えないため、テストの追加は不要です
  • ただし、CIでのlintチェックが正常に完了することを確認してください

📝 総合評価

判定: ✅ マージ推奨(軽微な改善後)

このPRは基本的に安全で、パフォーマンス改善と新機能の恩恵を受けられます。以下の対応を推奨します:

マージ前の推奨事項:

  1. biome.jsonc のスキーマバージョンを2.3.10に更新
  2. ローカルで pnpm lint:check を実行して新しい警告がないか確認

マージ後の推奨事項:

  1. nurseryステージの新ルールを試験的に有効化し、コード品質向上に活用
  2. biome rage コマンドで環境情報を確認(設定の妥当性チェック)

参考リンク:

@claude

claude Bot commented Dec 25, 2025

Copy link
Copy Markdown

レビュー結果

このPRは @biomejs/biome のバージョンアップデート(2.2.7 → 2.3.10)です。以下の観点でレビューしました。

✅ コード品質とベストプラクティス

  • 良好: 依存関係の更新のみで、実装コードの変更は含まれていません
  • pnpm-lock.yamlとpnpm-workspace.yamlが正しく更新されています
  • カタログ機能を使用した一元管理が適切に行われています

🔍 潜在的なバグや問題

注意が必要な点:

  1. 多数の新ルール追加: このアップデートには多くの新しいlintルールが追加されています

    • noAmbiguousAnchorText (nursery)
    • noScriptUrl (nursery)
    • useAwaitThenable (nursery)
    • useRegexpExec (nursery)
    • useRequiredScripts
    • useDestructuring (nursery)
    • noVueSetupPropsReactivityLoss (nursery)
    • noUndeclaredEnvVars (Turborepo domain)
  2. 既存ルールの動作変更:

    • noUnusedVariablesignoreRestSiblingsオプションのデフォルト値が修正されました
    • noExtraNonNullAssertionの検出ロジックが改善されました
    • useExhaustiveDependenciesの検証ロジックが修正されました

📋 推奨アクション

マージ前に実施すべきこと:

  1. Lintの実行: 新しいルールによる警告やエラーがないか確認

    pnpm biome check .
  2. フォーマットの確認: HTMLフォーマッターの動作変更があるため、意図しない変更がないか確認

    pnpm biome format .
  3. ビルドの確認: TypeScript関連の修正が含まれているため、ビルドが通ることを確認

    pnpm build

🚀 パフォーマンスの考慮事項

良好な点:

  • フォーマッターの内部メモリ使用量が削減されました
  • ソースマップの生成が必要時のみに最適化されました
  • パフォーマンス改善により、大規模プロジェクトでの実行速度が向上する可能性があります

🔒 セキュリティ上の懸念

良好な点:

  • 新しいnoScriptUrlルールがXSS脆弱性の防止に役立ちます
  • セキュリティリスクのある変更は含まれていません

🧪 テストカバレッジ

推奨事項:

  • このアップデートは開発ツールの更新のため、アプリケーションのテストカバレッジには直接影響しません
  • ただし、既存のテストが新しいlintルールに抵触していないか確認することをお勧めします

📝 総評

承認推奨: このPRは問題なくマージできる状態ですが、上記の推奨アクションを実施してから��ージすることを強くお勧めします。

特に、新しいlintルールによる警告が多数発生する可能性があるため、事前に確認しておくことで、後続の開発作業がスムーズになります。

変更ファイル:

  • pnpm-lock.yaml: 41行追加
  • pnpm-workspace.yaml: カタログバージョンの更新

@claude

claude Bot commented Dec 26, 2025

Copy link
Copy Markdown

レビュー結果

📋 概要

Renovate Bot による @biomejs/biome のバージョンアップデート(2.2.72.3.10)です。

✅ 良い点

  1. 適切な依存関係管理

    • pnpm workspace の catalog 機能を使用しており、全パッケージで一貫したバージョン管理が実現されています
    • ロックファイルが正しく更新されています
  2. 包括的なアップデート

    • メインパッケージだけでなく、全てのプラットフォーム固有のバイナリパッケージ(darwin-arm64、darwin-x64、linux-arm64、linux-arm64-musl、linux-x64、linux-x64-musl、win32-arm64、win32-x64)が一貫して更新されています

🔍 確認事項

1. 破壊的変更の可能性(優先度: 高)

2.2.7 から 2.3.10 へのアップデートには、以下の変更が含まれています:

  • 新規ルールの追加: 複数の nursery ルールが追加されています

    • noScriptUrl
    • useAwaitThenable
    • useRegexpExec
    • noAmbiguousAnchorText
    • useDestructuring
    • など
  • 既存ルールの挙動変更:

    • noExtraNonNullAssertion: 誤検知の修正(#7927)
    • noUnusedVariables: ignoreRestSiblings のデフォルト値が一時的に変更されていましたが、true に戻されています
    • useExhaustiveDependencies: カスタムフックの依存配列の検証ロジックが改善
    • noLeakedRender: Vue コンポーネントでの誤検知が修正

推奨アクション:

  • マージ前に CI/CD で linter と formatter を実行し、エラーや警告がないことを確認してください
  • 新しいルールによって既存のコードで警告が出る可能性があるため、全てのパッケージでビルドテストを実行することを推奨します

2. パフォーマンス改善

  • フォーマッター内部のメモリ使用量が削減されています(#8137、#8284)
  • ソースマップの生成が必要な場合のみ有効化されるようになり、パフォーマンスが向上しています

🔒 セキュリティ

  • 信頼できるソース(Biome 公式)からの依存関係アップデートです
  • セキュリティ上の懸念は特に見られません
  • 新規追加された noScriptUrl ルールは XSS 脆弱性の検出に役立ちます

🧪 テストカバレッジ

  • このPRは依存関係の更新のみで、コードロジックの変更はありません
  • ただし、linter のルール変更により既存のテストや実装コードに影響がある可能性があります

推奨アクション:

  • 全テストスイートを実行し、パスすることを確認してください
  • 特に型チェックと lint チェックに注意してください

📝 推奨事項

  1. マージ前の確認:

    pnpm install
    pnpm -r run lint
    pnpm -r run build
    pnpm -r run test
  2. 変更内容の確認:

    • アップデート後に新しい警告やエラーが出ていないか確認
    • 特に TypeScript の型チェックでエラーが出ていないか確認
  3. 段階的なロールアウト:

    • 可能であれば、開発環境での動作確認後にマージすることを推奨します

結論

承認可能です

ただし、以下の条件を満たすことを推奨します:

  • CI/CD が全てパスすること
  • マージ前に上記の推奨コマンドを実行し、問題がないことを確認すること

依存関係のアップデートは適切に実施されており、Biome のバグ修正やパフォーマンス改善の恩恵を受けられます。

@claude

claude Bot commented Dec 27, 2025

Copy link
Copy Markdown

コードレビュー - Biome v2.3.10 へのアップデート

✅ 承認 (LGTM)

このPRは@biomejs/biomeを2.2.7から2.3.10にアップデートするもので、問題なくマージ可能です。


📋 変更内容

  • 変更ファイル: pnpm-lock.yaml, pnpm-workspace.yaml
  • 更新内容: Biomeのバージョンを2.2.7 → 2.3.10に更新
  • 影響範囲: 開発依存関係のみ(プロダクションコードへの影響なし)

🔍 レビュー観点

✅ コード品質とベストプラクティス

  • 適切な依存関係管理: pnpm catalogを使用した一元管理が正しく機能しています
  • 自動化: RenovateBotによる自動更新により、手作業のミスを防いでいます
  • 変更範囲: lockファイルとworkspace設定のみの変更で、最小限の影響範囲です

✅ 潜在的なバグや問題

特に問題は検出されませんでしたが、以下の点に注意が必要です:

  1. スキーマバージョンの更新推奨
    • 現在のbiome.jsonc"$schema": "https://biomejs.dev/schemas/2.2.5/schema.json"を参照
    • Biome 2.3.10にアップデート後は、スキーマURLも更新することを推奨
    • 推奨される変更:
    {
      "$schema": "https://biomejs.dev/schemas/2.3.10/schema.json",
      // ...
    }

⚠️ パフォーマンスの考慮事項

  • メリット: v2.3.9でフォーマッタの内部メモリ使用量が削減されています
  • 注意点: 新しいルールが追加されているため、初回実行時に若干の差異が出る可能性があります

✅ セキュリティ上の懸念

  • セキュリティ問題なし: 開発ツールのアップデートでセキュリティリスクはありません
  • 新機能: noScriptUrlルールによりXSS脆弱性の検出が強化されます

🎯 主な改善点(Biome 2.3.10の新機能)

  1. 新しいlintルール (nursery):

    • noScriptUrl: XSS対策(javascript:URLの検出)
    • useAwaitThenable: 不適切なawaitの検出
    • useRegexpExec: 正規表現のパフォーマンス最適化
    • その他多数の新ルール
  2. バグ修正:

    • TypeScriptコンストラクタのセマンティックモデル改善
    • 各種ルールのfalse positive削減
    • HTMLフォーマッタの改善
  3. パフォーマンス向上:

    • フォーマッタのメモリ使用量削減
    • 内部最適化

📝 推奨アクション

マージ後に以下の対応を推奨します:

  1. スキーマバージョンの更新

    # biome.jsonc の $schema を更新
    sed -i 's/"2.2.5"/"2.3.10"/g' biome.jsonc
  2. 動作確認

    pnpm install
    pnpm lint:check
    pnpm format:check
  3. 新ルールの確認

    • 新しく追加されたnurseryルールが必要かどうか検討
    • 必要に応じてbiome.jsoncで有効化

✨ 結論

このPRは安全にマージ可能です。依存関係の更新のみで、破壊的変更はありません。Biome 2.3.10では多くのバグ修正とパフォーマンス改善が含まれており、アップデートによるメリットが大きいです。

@claude

claude Bot commented Dec 28, 2025

Copy link
Copy Markdown

レビュー結果

このPRは @biomejs/biome を 2.2.7 から 2.3.10 へアップデートするものです。以下の観点から確認しました:

✅ コード品質とベストプラクティス

良い点:

  • Renovateによる自動化された依存関係の更新で、手動エラーのリスクが低い
  • カタログパターンを使用しているため、ワークスペース全体で一貫したバージョン管理が可能
  • lockファイルが正しく更新されている

✅ 潜在的なバグや問題

確認した点:

  • 2.2.7 から 2.3.10 への更新は複数のパッチバージョンを含みます
  • リリースノートによると、以下の重要な修正が含まれています:
    • v2.3.9: コンストラクタパラメータプロパティの型追跡実装(#8346)
    • v2.3.9: 設定のオーバーライド時の継承の問題修正(#8436)
    • v2.3.10: セマンティックモデルのTypeScriptコンストラクタメソッド定義のインデックス化修正(#8479)

推奨事項:

  • アップデート後にビルドとリントを実行して、新しいルールや修正された動作による影響がないか確認してください
  • 特に以下のルールに変更があった場合は、既存コードへの影響を確認:
    • noUnusedVariables (デフォルト設定が修正)
    • useExhaustiveDependencies (カスタムフックの検証改善)

✅ パフォーマンスの考慮事項

改善点:

  • v2.3.9でフォーマッターの内部メモリ使用量が削減されました(#8137, #8284)
  • ソースマップが必要な時のみ有効化されるようになり、パフォーマンスが向上

✅ セキュリティ上の懸念

新しいセキュリティ関連ルール:

  • noScriptUrl: javascript: URLの使用を禁止(XSS脆弱性対策) - v2.3.9で追加
  • これは既存コードに影響する可能性があるため、確認が必要です

✅ テストカバレッジ

確認事項:

  • Biome自体は十分にテストされたツールですが、アップデート後は以下を確認することを推奨:
    • pnpm run lint - リントエラーの確認
    • pnpm run format - フォーマットの確認
    • 既存のテストスイートの実行

📋 アクションアイテム

マージ前/後に以下を実施することを推奨します:

  1. ビルドとリントの実行

    pnpm install
    pnpm run lint
    pnpm run format --write
  2. 変更の確認

    • フォーマットやリントの変更があった場合は内容を確認
    • 新しいルールによる警告/エラーがある場合は対応を検討
  3. テストの実行

    • 既存のテストスイートが問題なく通ることを確認

結論

このアップデートは 安全にマージ可能 と判断します。ただし、上記のアクションアイテムを実施し、特にセキュリティ関連の新しいルール(noScriptUrl)による影響がないか確認することを推奨します。

複数のバグ修正とパフォーマンス改善が含まれているため、アップデートすることをお勧めします。

@claude

claude Bot commented Dec 29, 2025

Copy link
Copy Markdown

コードレビュー

概要

@biomejs/biome を 2.2.7 から 2.3.10 にアップデートする変更です。複数のバグ修正と新機能が含まれています。

✅ 良い点

  1. セキュリティとバグ修正: このアップデートには多数のバグ修正が含まれており、特に以下の重要な修正が含まれています:

    • XSS脆弱性対策となる noScriptUrl ルールの追加
    • TypeScript コンストラクタパラメータプロパティの型追跡の改善
    • 複数のパーサーエラーの修正
  2. パフォーマンス改善: フォーマッターの内部メモリ使用量が削減され、パフォーマンスが向上しています

  3. カタログ管理: pnpm カタログを使用した一元的なバージョン管理により、モノレポ全体で一貫性が保たれています

⚠️ 懸念事項と推奨事項

1. スキーマバージョンの不一致 (重要)

問題: biome.jsonc:2 でスキーマバージョンが 2.2.5 に固定されていますが、Biome 本体は 2.3.10 にアップデートされています。

"$schema": "https://biomejs.dev/schemas/2.2.5/schema.json",

影響:

  • 新しい設定オプションがエディタで認識されない可能性
  • 自動補完が古いバージョンのものになる
  • 新しいルールの設定時に警告が表示される可能性

推奨: スキーマバージョンを更新してください:

"$schema": "https://biomejs.dev/schemas/2.3.10/schema.json",

2. 新しいルールの影響確認

このアップデートには多数の新しい Linter ルールが追加されています:

  • noScriptUrl (セキュリティ)
  • useAwaitThenable (型安全性)
  • useRegexpExec (パフォーマンス)
  • noAmbiguousAnchorText (アクセシビリティ)
  • その他多数

推奨アクション:

  1. マージ前に pnpm lint:check を実行して新しいルールによる警告がないか確認
  2. もし警告が出る場合は、pnpm lint:fix で自動修正可能か確認
  3. 必要に応じて、biome.jsonc で特定のルールを無効化または設定

3. 破壊的変更の可能性

以下の動作変更に注意が必要です:

  • HTML フォーマッターが Prettier 3.7 の動作に合わせて更新されています (<iframe>allow 属性など)
  • noExtraNonNullAssertion ルールの動作が変更されています
  • オーバーライド設定の継承ロジックが修正されています (#8436)

推奨: フォーマット適用後の差分を確認し、意図しない変更がないかチェックしてください

🔍 テストカバレッジ

確認が必要な項目:

  • CI/CD パイプラインが正常に通過している
  • pnpm validate:check がエラーなく完了する
  • フォーマット変更による意図しない差分がない
  • 既存のコードで新しいルールによる警告が発生していない

📝 追加コメント

マイナーバージョンのアップデート (2.2.7 → 2.3.10) としては比較的大きな変更が含まれています。特にフォーマッターの動作変更やルールの追加により、既存コードに影響が出る可能性があります。

マージ前に以下を実行することを強く推奨します:

pnpm install
pnpm validate:check
pnpm format:fix

これにより、新しいバージョンでの動作を確認し、必要な修正を事前に適用できます。


総評: セキュリティとパフォーマンスの改善が含まれる有益なアップデートですが、スキーマバージョンの更新と動作確認が必要です。

@claude

claude Bot commented Dec 30, 2025

Copy link
Copy Markdown

レビュー結果

📋 概要

このPRは @biomejs/biome を 2.2.7 から 2.3.10 にアップデートするものです。Biomeはコードフォーマッターおよびリンターツールで、この更新には複数のバグ修正と新機能が含まれています。

✅ コード品質とベストプラクティス

  • 適切な依存関係管理: pnpm catalogを使用した一元管理が正しく実施されています
  • 更新範囲: pnpm-workspace.yamlpnpm-lock.yaml の両方で一貫して更新されており、問題ありません
  • モノレポ対応: 複数パッケージ(ルート、e2eテスト、フロントエンド)で同じバージョンが適用されています

🐛 潜在的なバグや問題

注意が必要な変更点:

  1. 型チェック関連の改善 (v2.3.9)

    • TypeScript constructorパラメータプロパティのトラッキングが改善されました
    • noFloatingPromises などのルールがより厳密になっています
    • 推奨アクション: アップデート後に pnpm run check を実行して新しいエラーが出ていないか確認してください
  2. 設定の継承動作の修正 (v2.3.9, #8436)

    • オーバーライド設定の継承ロジックが修正されました
    • 以前は一部の設定が意図せず無効化される可能性がありました
    • 推奨アクション: biome.json でオーバーライド設定を使用している場合、期待通りの動作になっているか確認してください
  3. noUnusedVariables のデフォルト値変更 (v2.3.9, #8398)

    • ignoreRestSiblings オプションが true に戻されました
    • この変更により、検出される未使用変数が減る可能性があります

⚡ パフォーマンスの考慮事項

ポジティブな変更:

  • v2.3.9でフォーマッター/リンターの内部メモリ使用量が削減されました (#8137, #8284)
  • ソースマップが必要な時のみ有効化されるようになり、パフォーマンスが向上しています

🔒 セキュリティ上の懸念

セキュリティ改善:

  • 新しいルール noScriptUrl が追加され、XSS脆弱性のリスクがある javascript: URLの使用が検出されるようになりました
  • セキュリティ関連の懸念事項は特にありません

🧪 テストカバレッジ

  • Biome自体は開発ツールのため、アプリケーションの機能には直接影響しません
  • ただし、マージ前に以下の確認を推奨します:
    1. pnpm run check - 新しいリントエラーの確認
    2. pnpm run format - フォーマット変更の確認
    3. 既存のテストスイートの実行

📝 推奨事項

  1. マージ前: 上記のコマンドを実行し、新しいリント/フォーマットエラーがないか確認
  2. マージ後: CIが正常に完了することを確認
  3. オプション: 新しいルールを活用したい場合は、biome.json の設定を見直してください(特にnurseryルール)

結論

このPRは承認可能です。

Biomejs 2.3.10へのアップデートは、バグ修正とパフォーマンス改善を含む安全なアップデートです。ただし、上記の推奨確認を実施してからマージすることをお勧めします。

@claude

claude Bot commented Dec 31, 2025

Copy link
Copy Markdown

📝 Biome 2.3.10 アップデートレビュー

✅ 変更内容

Renovate による @biomejs/biome のバージョンアップデート: 2.2.7 → 2.3.10

👍 良い点

  • pnpm カタログ機能を使用した一元的な依存関係管理が適切に実施されている
  • ロックファイルとワークスペース設定の両方で一貫した更新
  • 複数のバグ修正とパフォーマンス改善を含む

⚠️ 注意事項

1. 破壊的変更の可能性

このアップデートには複数のマイナーバージョンが含まれており、以下の重要な変更があります:

  • 新しいルールの追加: noScriptUrluseAwaitThenablenoAmbiguousAnchorText など多数の nursery ルール
  • 既存ルールの挙動変更:
    • noUnusedVariablesignoreRestSiblings オプションのデフォルト値が修正されました
    • useExhaustiveDependencies のカスタムフック検出ロジックが改善されました
  • パーサーの厳格化: HTML パーサーが無効な構文をより厳格にチェックするようになりました

2. オーバーライド設定の継承修正 (#8436)

設定ファイルでオーバーライドを使用している場合、継承動作が修正されているため、意図した設定が適用されているか確認してください。

⚡ パフォーマンス改善

  • フォーマッターとリンターの内部メモリ使用量が削減 (#8137, #8284)
  • ソースマップが必要な場合のみ有効化され、パフォーマンスが向上

🔒 セキュリティ向上

  • 新ルール noScriptUrl により XSS 脆弱性リスクを軽減 (#8232)

📋 マージ前の推奨確認事項

CI が成功していることに加えて、以下の確認を推奨します:

# 1. 依存関係のインストール
pnpm install

# 2. Biome チェックの実行
pnpm biome check .

# 3. 新しいルールによる警告を確認し、必要に応じて修正
pnpm biome check --write .

# 4. ビルドの確認
pnpm build

# 5. テストの実行
pnpm test

特に以下のファイルタイプに影響がある可能性があります:

  • Vue ファイル (Vue 関連ルールの改善)
  • JSX/TSX ファイル (React ルールの修正)
  • CSS ファイル (Tailwind ディレクティブ関連の修正)

🎯 総合評価

✅ マージ推奨

多数のバグ修正とパフォーマンス改善を含む有益なアップデートです。CI チェックが成功していれば、マージして問題ありません。新しいルールや挙動変更により既存コードに軽微な影響が出る可能性がありますが、それらは品質向上のための改善です。


詳細なリリースノート: Biome CHANGELOG

@claude

claude Bot commented Jan 2, 2026

Copy link
Copy Markdown

コードレビュー: Biome v2.2.7 → v2.3.10 アップデート

概要

このPRは、@biomejs/biomeをv2.2.7からv2.3.10にアップデートする依存関係の更新です。Renovateによる自動生成のため、コード品質は問題ありません。

✅ 良い点

  1. 一貫性のある更新: pnpm-workspace.yamlのカタログとpnpm-lock.yamlの両方が正しく同期されています
  2. 全プラットフォーム対応: すべてのプラットフォーム固有のCLIパッケージが統一されたバージョンに更新されています
  3. マイナーアップデート: メジャーバージョン変更ではないため、破壊的変更のリスクは低いです

📋 確認推奨事項

1. 新しいLintルールの影響確認

v2.3.xでは複数の新しいnurseryルールが追加されています:

  • noScriptUrl - javascript:URLの使用を禁止
  • useAwaitThenable - Promiseのみにawaitを使用
  • useRegexpExec - グローバルフラグがない場合、String#matchの代わりにRegExp#execを推奨
  • useRequiredScripts - package.jsonの必須スクリプトを強制
  • noAmbiguousAnchorText - 曖昧なアンカーテキストを禁止
  • useDestructuring - 分割代入の使用を推奨

推奨アクション: マージ後にpnpm biome checkを実行し、新しいルールによる警告がないか確認してください。

2. 主要なバグ修正の恩恵

  • TypeScriptコンストラクタのメソッド定義でのパニックを修正 (v2.3.10)
  • noExtraNonNullAssertionの誤検知を修正
  • HTMLフォーマッタのiframe属性の処理を改善
  • noUnusedVariablesignoreRestSiblingsオプションのデフォルト値がtrueに復元

3. パフォーマンスの改善

  • フォーマッタの内部メモリ使用量を削減
  • ソースマップの生成を必要時のみに制限

🔍 潜在的な問題

破壊的変更の可能性(低リスク)

v2.3.9で以下のルールの動作が変更されました:

  • noUnusedVariables: ignoreRestSiblingsのデフォルト値が一時的に変更された後、v2.3.9でtrueに復元されました
  • useExhaustiveDependencies: カスタムフックの依存配列の検証ロジックが改善されました

これらの変更により、既存のコードで新たな警告が表示される可能性があります。

🎯 推奨事項

  1. CIでのLintチェック: マージ前にCIパイプラインでLintが成功することを確認
  2. ローカルでの動作確認:
    pnpm install
    pnpm biome check --write
  3. 段階的なデプロイ: 可能であれば、開発環境で先に動作確認を実施

結論

✅ マージ推奨: このアップデートには重要なバグ修正とパフォーマンス改善が含まれており、マージを推奨します。ただし、マージ後は新しいLintルールによる警告がないか確認することをお勧めします。

セキュリティ上の懸念事項はありません。

@claude

claude Bot commented Jan 3, 2026

Copy link
Copy Markdown

📋 レビュー結果

このPRは @biomejs/biome の 2.2.7 から 2.3.10 へのアップデートです。以下の観点からレビューを実施しました。

✅ 変更内容

  • パッケージアップデート: @biomejs/biome 2.2.7 → 2.3.10
  • 変更ファイル:
    • pnpm-lock.yaml: 依存関係の更新
    • pnpm-workspace.yaml: カタログバージョンの更新

🔍 コード品質とベストプラクティス

良い点:

  • ✅ pnpmのカタログ機能を使用してバージョン管理を一元化
  • ✅ モノレポ全体で統一されたバージョンを使用
  • ✅ lockファイルが正しく更新されている

🐛 潜在的なバグや問題

注意事項:

2.3.9と2.3.10で重要な修正が含まれています:

  1. セマンティックモデルの修正 (#8473)

    • TypeScriptのコンストラクタメソッド定義でパニックが発生する問題を修正
    • 影響: 既存のTypeScriptコードでコンストラクタメソッドを使用している場合、以前はパニックしていた可能性があります
  2. noExtraNonNullAssertionの回帰 (#8475)

    • 2.3.9で発生した回帰を2.3.10で修正
    • 推奨: 可能であれば2.3.10を直接使用
  3. 設定の継承問題 (#8429)

    • overridesでフォーマッター、リンター、アシスト設定が正しく継承されない問題を修正
    • 影響: カスタムoverrides設定を使用している場合、動作が変わる可能性があります

⚡ パフォーマンスの考慮事項

改善点:

  • ✅ フォーマッターの内部メモリ使用量削減 (#8137)
  • ✅ ソースマップを必要な時のみ有効化することでパフォーマンス向上 (#8284)

🔒 セキュリティ上の懸念

新しいセキュリティルール:

  • noScriptUrl (nursery): javascript: URLの使用を禁止しXSS脆弱性を防止
  • noAmbiguousAnchorText (nursery): 曖昧なアンカーテキストを禁止

セキュリティ面での懸念はなく、むしろセキュリティが強化されています。

🧪 テストカバレッジ

推奨アクション:

このアップデートには多くのルール修正と新機能が含まれているため、以下を実施することを推奨します:

  1. フォーマットの確認

    pnpm biome format --write .
  2. リンターの実行

    pnpm biome lint .
  3. 既存のCI/CDパイプラインで動作確認

    • 特にoverrides設定を使用している場合は注意

📝 新機能と破壊的変更

新しいNurseryルール:

  • noScriptUrl: XSS対策
  • useAwaitThenable: awaitの正しい使用を強制
  • useRegexpExec: RegExp#execの使用を推奨
  • useRequiredScripts: package.jsonのscriptsセクションの検証
  • noAmbiguousAnchorText: アンカーテキストの曖昧さを禁止
  • useDestructuring: 分割代入の使用を推奨
  • noVueSetupPropsReactivityLoss: Vue.jsのpropsリアクティビティ損失を防止
  • noUndeclaredEnvVars: Turborepoでの環境変数の安全な使用

破壊的変更:

  • なし(マイナーバージョンアップのため)

💡 総合評価

判定: ✅ 承認推奨

このアップデートは:

  • 多くのバグ修正を含む
  • パフォーマンスが向上している
  • セキュリティが強化されている
  • 破壊的変更がない

マージ前の確認事項:

  1. ✅ CIが通過していることを確認
  2. ⚠️ overrides設定を使用している場合は、動作確認を推奨
  3. ⚠️ TypeScriptコンストラクタメソッドを使用している箇所の動作確認

次のステップ:

  • CIが成功したらマージ可能
  • マージ後、新しいnurseryルールを段階的に有効化することを検討してください

このレビューはClaude Codeによって生成されました

@claude

claude Bot commented Jan 4, 2026

Copy link
Copy Markdown

PR #243 レビュー - Biome 2.3.11へのアップデート

概要

RenovateによるBiomeのバージョンアップデート(2.2.7 → 2.3.11)です。

コード品質とベストプラクティス

良い点:

  • pnpm workspaceのcatalog機能を活用した一元的な依存関係管理が適切に行われています
  • 変更は依存関係の更新のみで、コードベース自体への影響は最小限です

⚠️ 注意点:

  1. biome.jsonc のスキーマバージョンが古い
    • 現在: "$schema": "https://biomejs.dev/schemas/2.2.5/schema.json"
    • Biome 2.3.11に更新する場合、スキーマバージョンも更新を検討すべきです
    • 推奨: "$schema": "https://biomejs.dev/schemas/2.3.11/schema.json"

潜在的な問題

🔍 確認が必要な項目:

  1. 新しいルールの影響

    • Biome 2.3.xでは多数の新しいlintルールが追加されています(nursery含む):
      • useVueValidTemplateRootuseVueVForKeyなどVue関連ルール
      • noMultiAssignnoJsxPropsBindなどJavaScript関連ルール
      • useAwaitThenablenoReturnAssignなどTypeScript関連ルール
    • これらのルールが既存コードに新たな警告/エラーを発生させる可能性があります
    • 推奨アクション: マージ前にpnpm run lint:checkを実行して新しい問題がないか確認してください
  2. 動作変更の確認

    • フォーマッター、lint動作に細かい変更が含まれています
    • 特にHTML/CSS/Vue関連のフォーマッティング動作が改善されています
    • 推奨アクション: pnpm run format:checkを実行して意図しないフォーマット変更がないか確認してください

パフォーマンスの考慮事項

パフォーマンス改善:

  • #8137: フォーマッターの内部メモリ使用量が削減されています
  • #8344: 大規模プロジェクトでのシステムコール削減により、パフォーマンスが向上しています
  • #8571: noRedeclareルールのパフォーマンス改善(文字列アロケーション削減)

セキュリティ上の懸念

セキュリティ関連の改善:

  • #8232: noScriptUrlルール追加 - XSS脆弱性につながるjavascript: URLの使用を検出
  • セキュリティ上の懸念は特にありません

テストカバレッジ

⚠️ 推奨テスト:

  1. ビルドの実行: pnpm run build
  2. Lintチェック: pnpm run lint:check
  3. フォーマットチェック: pnpm run format:check
  4. 型チェック: pnpm run type:check
  5. 全体の検証: pnpm run validate:check

CIが全てパスしていることを確認してください。

推奨アクション

マージ前に以下を実施することを推奨します:

# スキーマバージョンの更新
# biome.jsonc の $schema を "https://biomejs.dev/schemas/2.3.11/schema.json" に更新

# 検証の実行
pnpm run validate:check

# 問題があれば修正
pnpm run validate:fix

総評

マージ推奨度: 高

依存関係の更新として適切に管理されています。Biome 2.3.11には多くのバグ修正とパフォーマンス改善が含まれており、積極的に更新すべきです。

ただし、上記の確認事項を実施してからマージすることを推奨します。特にスキーマバージョンの更新と、CIの全チェックパスを確認してください。

@claude

claude Bot commented Jan 4, 2026

Copy link
Copy Markdown

プルリクエストレビュー

概要

Renovateによる @biomejs/biome のバージョン更新(2.2.7 → 2.3.11)です。

✅ 良い点

  1. 定期的な依存関係の更新: Renovateによる自動更新で、依存関係を最新の状態に保つ良い実践です。

  2. カタログベースの管理: pnpm-workspace.yaml のカタログ機能を使用することで、モノレポ全体で一貫したバージョン管理を実現しています。

  3. 包括的な更新: ルートとすべてのワークスペース(apie2eweb)で一貫してバージョンが更新されています。

🔍 検討事項

  1. 新機能と破壊的変更の確認

    • 2.2.7 → 2.3.11 の間に、多数の新しいルールが追加されています
    • 特に以下のような新しいnurseryルールが追加されています:
      • useVueValidTemplateRootuseVueVForKeyuseVueConsistentVBindStyle など(Vue.js関連)
      • noMultiAssignnoJsxPropsBindnoReturnAssign など
    • これらの新しいルールが既存のコードベースに影響を与える可能性があります
  2. 動作確認の推奨

    # Biomeのチェックを実行して、新しいルールによる警告やエラーがないか確認
    pnpm biome check .
    
    # フォーマットの確認
    pnpm biome format .
  3. パフォーマンスの改善

    • このアップデートには、パフォーマンスの改善が含まれています(特に #8344
    • システムコールの削減により、大規模プロジェクトでのパフォーマンス向上が期待できます
  4. バグ修正の恩恵

    • noRedeclarenoMisusedPromisesuseExhaustiveDependencies などのルールのバグ修正が含まれています
    • これにより、以前は検出されなかった問題が検出される可能性があります

📝 推奨アクション

マージ前に以下を実施することを推奨します:

  1. CI/CDの確認: すべてのテストとリンターチェックが通過していることを確認
  2. ローカルでの動作確認: pnpm biome check . を実行して、新しいルールによる警告がないか確認
  3. 必要に応じた設定調整: 新しいルールで警告が出る場合、biome.json での設定調整を検討

総評

依存関係の定期的な更新は重要であり、このPRは適切に管理されています。ただし、バージョン差分が大きいため、マージ前に動作確認を行うことを強く推奨します。特に、新しく追加されたルールが既存のコードベースに影響を与えないか確認してください。

@harusame0616

Copy link
Copy Markdown
Owner

@claude biome でフォーマットかけてフォーマットエラーが出ないように修正してコミットして

@claude

claude Bot commented Jan 4, 2026

Copy link
Copy Markdown

Claude finished @harusame0616's task in 1m 28s —— View job


Biome フォーマット修正タスク

状況

申し訳ございませんが、現在の権限設定により、以下のコマンドの実行に承認が必要です:

  • pnpm install
  • pnpm run format:check
  • pnpm run format:fix
  • npx @biomejs/biome format

解決方法

このタスクを完了するには、以下のいずれかの方法をお試しください:

  1. ローカルで実行する場合:

    pnpm install
    pnpm run format:fix
    git add .
    git commit -m "chore: apply biome format fixes"
    git push
  2. Claude に権限を付与する場合:

    • GitHub リポジトリの設定で、Claude が pnpm および npx コマンドを実行できるように --allowedTools を更新してください
    • その後、再度 @claude でタスクをリクエストしてください

代替アプローチ

もし特定のファイルのみフォーマット修正が必要な場合は、ファイルパスをお知らせいただければ、直接ファイルを読み取り、手動でフォーマット修正を適用することも可能です。


@claude

claude Bot commented Jan 5, 2026

Copy link
Copy Markdown

レビューコメント

概要

@biomejs/biome を 2.2.7 から 2.3.11 へ更新する Renovate による自動 PR です。

✅ 良い点

  1. 適切な依存関係管理: pnpm カタログを使用して、ワークスペース全体で一貫したバージョン管理を実現しています
  2. クリーンな変更: 変更範囲が明確で、依存関係の更新のみに限定されています
  3. 自動化: Renovate による自動更新により、セキュリティパッチや新機能を迅速に取り込めます

📋 確認事項

1. 新規ルールの影響確認

このアップデートには多数の新規 linter ルールが含まれています。以下の nursery ルールが追加されているため、プロジェクトへの影響を確認する必要があります:

  • noMultiAssign: 多重代入を防止
  • noJsxPropsBind: JSX props での .bind() や arrow 関数を禁止
  • noReturnAssign: return 文内での代入を禁止
  • Vue.js 関連ルール(このプロジェクトでは該当しない可能性)
  • GraphQL 関連ルール(このプロジェクトでは該当しない可能性)

推奨アクション: マージ前に biome check を実行して、新規ルールによる警告やエラーがないか確認してください。

2. 型推論の改善による影響

PR #8537 と #8546 により、boolean 式や union 型の型推論が改善されています。既存コードで型エラーが発生する可能性があります。

推奨アクション: TypeScript のビルドを実行して、型エラーがないか確認してください。

3. パフォーマンス改善の恩恵

PR #8344 と #8571 により、CLI のシステムコール削減と noRedeclare のパフォーマンス改善が含まれています。大規模プロジェクトでは lint 実行時間の短縮が期待できます。

🔍 テスト推奨事項

# 1. 依存関係のインストール
pnpm install

# 2. Biome による lint とフォーマットチェック
pnpm biome check .

# 3. ビルドの確認(型エラーチェック含む)
pnpm build

# 4. 既存テストの実行
pnpm test

# 5. 必要に応じて自動修正
pnpm biome check --write .

🛡️ セキュリティ

特にセキュリティ上の問題は見当たりません。Biome 自体は開発時ツールであり、ランタイムの脆弱性リスクはありません。

📊 総合評価

承認条件付き推奨: 以下を確認後にマージすることをお勧めします:

  • biome check の実行と新規警告/エラーの確認
  • ビルドの成功確認
  • 既存テストの通過確認

新規 nursery ルールによって警告が出た場合は、コードを修正するか、必要に応じて biome.json でルールを無効化してください。

@claude

claude Bot commented Jan 7, 2026

Copy link
Copy Markdown

レビューフィードバック

概要

このPRは@biomejs/biomeを2.2.7から2.3.11にアップデートするRenovate自動更新です。

✅ 良い点

  1. 適切な依存関係の更新: pnpm-lock.yamlとpnpm-workspace.yamlの両方が一貫して更新されています
  2. プラットフォーム対応: 全プラットフォーム(darwin/linux/win32、各種アーキテクチャ)のバイナリが正しく更新されています
  3. マイナーバージョンアップ: 2.2.7 → 2.3.11は破壊的変更を含まないパッチアップデートです

📋 推奨事項

1. テスト実行の確認

以下を実行して互換性を確認することを推奨します:

pnpm install
pnpm biome check --write

2. 新機能の確認

2.3系で追加された主要な機能:

  • Vue.js対応強化: useVueValidTemplateRootuseVueConsistentVBindStyleuseVueVForKeyなどの新ルール
  • GraphQL対応: useUniqueInputFieldNamesuseUniqueFieldDefinitionNamesなどの新ルール
  • 環境変数チェック強化: noUndeclaredEnvVarsがBracket記法、Bun、Denoランタイムをサポート
  • 新ルール: noMultiAssignnoJsxPropsBinduseAwaitThenableなど

このプロジェクトで使用している場合は、新ルールの影響を確認してください。

3. 設定ファイルの確認

もしbiome.jsonでnurseryルールを有効にしている場合、新しいnurseryルールが追加されているため、意図しない警告が出る可能性があります。

4. CI/CDパイプラインの確認

Biomeをリントやフォーマットのチェックに使用している場合、CIが正常に動作するか確認してください。

🔒 セキュリティ

パッケージマネージャーの依存関係更新のため、セキュリティ上の懸念はありません。

⚡ パフォーマンス

リリースノートによると以下のパフォーマンス改善が含まれています:

  • noRedeclareルールの最適化(文字列アロケーション削減)
  • 大規模プロジェクトでのシステムコール削減

📝 総評

問題のない健全なアップデートです。マージ前に上記の確認事項をチェックすることを推奨しますが、技術的な問題はありません。

推奨アクション: ✅ マージ可(テスト実行後)

@claude

claude Bot commented Jan 8, 2026

Copy link
Copy Markdown

PR レビュー: @biomejs/biome 2.2.7 → 2.3.11 アップデート

✅ 総合評価

このPRは Renovate による依存関係の自動アップデートで、全体的に問題なくマージ可能と判断します。


📋 変更内容の概要

  • パッケージ: @biomejs/biome
  • バージョン: 2.2.7 → 2.3.11
  • 変更ファイル:
    • pnpm-workspace.yaml: カタログのバージョン指定を更新
    • pnpm-lock.yaml: 依存関係のロックファイルを更新

🔍 詳細レビュー

1. コード品質とベストプラクティス

  • 変更は依存関係の更新のみで、コード本体への影響はありません
  • monorepo 構成で一貫したバージョン管理を行っており、カタログ機能を適切に活用しています
  • 全てのパッケージ(ルート、apps/e2e、apps/web)で統一されたバージョンが使用されています

2. 潜在的なバグや問題 ⚠️ 注意点あり

新しいバージョン (2.3.11) には以下の新機能とバグ修正が含まれています:

主な改善点:

  • Vue.js サポートの強化(複数の新ルール追加)
  • GraphQL サポートの改善
  • CSS フォーマッターの改善
  • Svelte サポートの拡張

注意が必要な点:

  1. スキーマバージョンの不一致:

    • 現在の biome.jsonc"": "https://biomejs.dev/schemas/2.2.5/schema.json" を使用していますが、Biome 2.3.11 にアップデートされています
    • これは通常問題ありませんが、スキーマを 2.3.x に更新することで新しい設定オプションの自動補完やバリデーションを利用できます
  2. 新しいルールの追加:

    • 多くの nursery ルールが追加されました(デフォルトでは無効)
    • 現在の設定では "recommended": true のみ有効なため、直接的な影響はありません
  3. 既存のルールの改善:

    • noMisusedPromisesnoUnnecessaryConditionsuseExhaustiveDependencies などの既存ルールが改善されています
    • これにより、以前は検出されなかった問題が新たに検出される可能性があります

3. パフォーマンスの考慮事項

  • パフォーマンス改善が含まれています:
    • noRedeclare ルールで文字列アロケーションの削減
    • フォーマッター内部のメモリ使用量削減
    • システムコール数の削減(大規模プロジェクトで顕著)

4. セキュリティ上の懸念

  • セキュリティ関連の新ルール追加:
    • noScriptUrl: XSS脆弱性対策
    • noUndeclaredEnvVars の拡張: 環境変数の安全な使用
  • セキュリティ上の問題は報告されていません

5. テストカバレッジ ⚠️ 推奨事項

現時点では自動テストはPRに含まれていませんが、以下を推奨します:

  • CI/CD パイプラインでの Biome チェック実行の確認
  • pnpm biome check . を実行して新しいバージョンで警告やエラーが発生しないか確認

📝 推奨アクション

必須(マージ前):

  1. CI テストの確認: 自動テストがすべて通過していることを確認
  2. ⚠️ Biome チェックの実行: ローカルまたはCIで pnpm biome check . を実行し、新しいルールによる警告がないか確認

オプション(マージ後でも可):

  1. 📚 スキーマバージョンの更新: biome.jsonc の `` を 2.3.11 に更新することを検討

    - "\": "https://biomejs.dev/schemas/2.2.5/schema.json",
    + "\": "https://biomejs.dev/schemas/2.3.11/schema.json",
  2. 🔍 新しいルールの検討: 新しく追加された nursery ルールを確認し、プロジェクトに有用なものがあれば有効化を検討


🎯 結論

LGTM(Looks Good To Me) - CI が通過していれば、安心してマージできます。

Biome チームによる活発な開発が続いており、多くのバグ修正と改善が含まれた良いアップデートです。特に Vue.js や GraphQL を使用していない本プロジェクトにとっては、主に品質とパフォーマンスの改善が期待できます。

@claude

claude Bot commented Jan 10, 2026

Copy link
Copy Markdown

プルリクエスト #243 のレビュー

概要

このPRは Renovate による @biomejs/biome のマイナーバージョンアップデート(2.2.7 → 2.3.11)です。

コード品質とベストプラクティス

✅ 良い点

  • pnpm workspace catalog を使用したバージョン管理が適切に行われています
  • 依存関係の更新が統一的に行われています(catalog経由での一元管理)

⚠️ 改善が必要な点

1. Schema バージョンの不整合

biome.jsonc:2 で schema のバージョンが 2.2.5 を指していますが、実際にインストールされる Biome のバージョンは 2.3.11 です。

{
  "$schema": "https://biomejs.dev/schemas/2.2.5/schema.json",
  // ...
}

推奨対応:

{
  "$schema": "https://biomejs.dev/schemas/2.3.11/schema.json",
  // ...
}

これにより、新しいバージョンで追加された設定オプションの補完やバリデーションが正しく機能します。

潜在的なバグや問題

CI の失敗

現在、lint チェックが失敗しています。主な原因として以下が考えられます:

  1. Schema バージョンの不整合 - 上記で指摘した問題
  2. 新しいルールの追加 - 2.3.x で多数の nursery ルールが追加されており、既存コードに対して新たな警告が出ている可能性

推奨対応:

  • まず schema バージョンを更新
  • ローカルで pnpm biome ci を実行して具体的なエラーを確認
  • 必要に応じて新しいルールの無効化または コード修正を検討

パフォーマンスの考慮事項

✅ ポジティブな変更

リリースノートによると、以下のパフォーマンス改善が含まれています:

  • メモリ使用量の削減 (#8137) - フォーマッタの内部メモリ使用量が削減されました
  • システムコールの削減 (#8344) - 大規模プロジェクトでのパフォーマンス向上が期待できます
  • noRedeclare ルールの最適化 (#8571) - 文字列アロケーションの削減

これらの改善により、大規模なモノレポ環境でのlint/formatパフォーマンスが向上する見込みです。

セキュリティ上の懸念

✅ セキュリティ関連の新機能

以下の新しいセキュリティ関連ルールが追加されています:

  • noScriptUrl - XSS脆弱性の原因となる javascript: URL の使用を検出
  • 環境変数の安全性チェックの改善 - Bun、Deno ランタイムもサポート

特に問題となるセキュリティ上の懸念は見当たりません。

テストカバレッジ

⚠️ 推奨事項

  • ユニットテストは成功していますが、e2e テストがまだ実行中です
  • lint の失敗により、すべてのチェックが通過していません

マージ前に:

  1. すべての CI チェックが通過することを確認
  2. 特に lint エラーの解消が必須

新機能・変更点のハイライト

Vue.js サポートの強化

多数の Vue 関連ルールが追加されています(nursery):

  • useVueValidTemplateRoot
  • useVueConsistentVBindStyle
  • useVueVForKey
    など

GraphQL サポートの追加

新しい GraphQL 関連のルールが追加されています:

  • useUniqueInputFieldNames
  • useUniqueFieldDefinitionNames
  • useUniqueArgumentNames
    など

その他の有用なルール

  • noMultiAssign - 多重代入の防止
  • useAwaitThenable - Promise 以外への await の誤用を検出
  • noJsxPropsBind - JSX props での bind/arrow function の使用を検出

総合評価

🟡 条件付き承認

このアップデートは多くの改善を含んでいますが、マージ前に以下の対応が必要です:

  1. 必須: biome.jsonc$schema2.3.11 に更新
  2. 必須: lint チェックの失敗を解消
  3. 推奨: すべての CI チェックの完了を待機

これらが完了すれば、安全にマージできると判断します。


次のステップ:

  1. Schema バージョンを更新するコミットを追加
  2. ローカルで pnpm biome ci を実行し、エラーの詳細を確認
  3. 必要に応じてコード修正または設定の調整を実施

@claude

claude Bot commented Jan 11, 2026

Copy link
Copy Markdown

プルリクエストレビュー

概要

Renovateによる@biomejs/biomeの依存関係更新(2.2.7 → 2.3.11)です。パッチバージョンアップグレードで、新機能の追加、バグ修正、パフォーマンス改善が含まれています。

コード品質とベストプラクティス

良い点:

  • ワークスペースカタログを使用した依存関係の一元管理が適切に行われている
  • pnpm-lock.yamlが正しく更新されている
  • すべてのプラットフォーム向けバイナリパッケージが統一されたバージョンで更新されている

潜在的なバグや問題

⚠️ 注意点:

  1. 新しいnurseryルールの影響

    • 複数の新しいnurseryルールが追加されています(例: useVueValidTemplateRoot, useVueConsistentVBindStyle, noMultiAssign, noJsxPropsBindなど)
    • これらはデフォルトで無効ですが、将来的に有効化される可能性があります
    • 推奨: biome ciを実行して、新しいルールによる警告がないか確認してください
  2. 破壊的変更の可能性

    • useExhaustiveDependenciesのバグ修正(#8529)により、既存のコードで新たな警告が出る可能性があります
    • noMisusedPromisesの改善(#8495)により、Union型を使用しているコードで新たなエラーが検出される可能性があります
  3. Vueプロジェクトへの影響

    • Vue関連のルールが多数追加されていますが、このプロジェクトでVueを使用していない場合は影響ありません
    • 確認: このプロジェクトでVue.jsを使用していますか?

パフォーマンスの考慮事項

改善点:

  • フォーマッタの内部メモリ使用量が削減されました(#8137)
  • noRedeclareのパフォーマンスが改善されました(#8571)
  • システムコール数が削減され、大規模プロジェクトでのパフォーマンスが向上する可能性があります(#8344)

セキュリティ上の懸念

セキュリティ向上:

  • 新しいルールnoScriptUrlがXSS脆弱性の検出に役立ちます
  • noUndeclaredEnvVarsが拡張され、より多くの環境変数パターンをチェックできるようになりました

テストカバレッジ

⚠️ 推奨アクション:

  1. ビルドとリンターを実行して、新しいバージョンでの互換性を確認
  2. CIパイプラインが正常に完了することを確認
  3. 可能であれば、以下のコマンドを実行して新しい警告やエラーがないか確認:
    pnpm install
    pnpm biome check --write

総合評価

承認を推奨

このアップデートは主にバグ修正と機能追加であり、重大な破壊的変更は含まれていません。ただし、上記の注意点を確認した上でマージすることを推奨します。

CIが正常に完了し、特に問題が検出されなければ、安全にマージできます。


💡 追加情報:
完全なリリースノートはこちらで確認できます。

@claude

claude Bot commented Jan 12, 2026

Copy link
Copy Markdown

プルリクエストレビュー: @biomejs/biome 2.2.7 → 2.3.11

概要

RenovateによるBiome依存関係の更新です。リンター・フォーマッターの最新機能が利用可能になります。

コード品質とベストプラクティス

✅ 良い点

  • 適切な依存関係管理: pnpmのカタログ機能を使用して、全ワークスペースで一貫したバージョンを管理しています
  • 段階的な更新: マイナーバージョン内のパッチ更新なので、破壊的変更のリスクが低いです

⚠️ 注意点

  1. スキーマバージョンの不一致
    • biome.jsonc で参照しているスキーマが 2.2.5 のままです
    "$schema": "https://biomejs.dev/schemas/2.2.5/schema.json"
    • 推奨: 以下のように更新することを検討してください
    "$schema": "https://biomejs.dev/schemas/2.3.11/schema.json"

新機能と改善点

主要な追加機能

このバージョンアップには多くの新しいルールが含まれています:

  1. Vue.js サポートの強化 (複数のnurseryルール追加)

    • useVueValidTemplateRoot, useVueConsistentVBindStyle, useVueVForKeyなど
    • このプロジェクトがVue.jsを使用していない場合、影響はありません
  2. GraphQLサポートの強化

    • useUniqueInputFieldNames, useUniqueFieldDefinitionNamesなど
  3. 一般的なルール追加

    • noMultiAssign: 多重代入を防止
    • noReturnAssign: return文内の代入を禁止
    • noJsxPropsBind: JSX propsでの.bind()やアロー関数を禁止(nursery)
    • useAwaitThenable: awaitをPromise値にのみ使用することを強制(nursery)
  4. Next.js 特有のルール

    • noBeforeInteractiveScriptOutsideDocument: next/scriptbeforeInteractiveの使用を制限

バグ修正

  • noMisusedPromises: Union型(T | Promise<T>)の処理改善
  • noRedeclare: TypeScript条件型でのinferの誤検出を修正
  • HTMLフォーマッタ: Prettier 3.7との整合性向上

潜在的なバグや問題

⚠️ 破壊的変更の可能性

  1. nurseryルールの影響

    • 新しいnurseryルールが有効化されている場合、既存コードで新たなリント警告が発生する可能性があります
    • 特に noJsxPropsBind は、React/JSXコンポーネントのprops定義に影響する可能性があります
  2. フォーマッタの挙動変更

    • HTMLフォーマッタの空白処理が変更されています
    • CSSフォーマッタのカンマ区切り値の改行処理が変更されています
    • これらにより、既存のフォーマット済みコードが再フォーマットされる可能性があります

パフォーマンスの考慮事項

✅ パフォーマンス改善

  • メモリ使用量の削減: フォーマッタの内部メモリ使用量が削減されました
  • noRedeclareの最適化: 文字列アロケーションを削減し、パフォーマンスが向上しました
  • システムコール削減: CLIのシステムコール回数が削減され、大規模プロジェクトでのパフォーマンスが向上しました

セキュリティ上の懸念

✅ セキュリティ関連の改善

  1. noScriptUrlルール追加: javascript: URLの使用を禁止し、XSS脆弱性のリスクを軽減
  2. 環境変数チェックの拡張: noUndeclaredEnvVarsがBunやDeno環境にも対応し、未宣言の環境変数使用を検出
  3. プラグインパス解決の改善: 相対パスの解決方法が修正され、セキュリティが向上

セキュリティ上の重大な懸念は見当たりません。

テストカバレッジ

推奨事項

  1. CIの実行確認

    • すべてのCIチェック(lint, format, type check)が正常に完了することを確認してください
    • pnpm validate:check が成功することを確認してください
  2. フォーマット差分の確認

    • 以下のコマンドで既存コードのフォーマット差分を確認することを推奨します:
    pnpm format:check
    • 差分がある場合は、pnpm format:fix で修正してください
  3. 新しいリントルールの影響確認

    • 以下のコマンドで新しいリント警告を確認してください:
    pnpm lint:check

総合評価

✅ マージ推奨度:

理由:

  • 安定したパッチ/マイナーバージョンアップデート
  • 多くのバグ修正とパフォーマンス改善を含む
  • セキュリティ強化を含む
  • 破壊的変更のリスクは低い

📋 マージ前のチェックリスト

  • すべてのCIチェックが成功していることを確認
  • biome.jsoncのスキーマバージョンを更新するかどうか検討
  • フォーマット差分があれば修正コミットを追加
  • 新しいリント警告があれば対応

このプルリクエストは、コード品質とセキュリティを向上させる有益な更新です。上記のチェックリストを確認した上でマージすることを推奨します。

@claude

claude Bot commented Jan 13, 2026

Copy link
Copy Markdown

@biomejs/biome アップデート (2.2.7 → 2.3.11) レビュー

概要

Renovateによる @biomejs/biome の依存関係アップデートPRです。バージョン2.2.7から2.3.11へのマイナーアップデートが含まれています。

✅ ポジティブな点

1. 適切な依存関係管理

  • pnpm catalogを活用した一元管理が維持されています
  • 全てのワークスペースで一貫したバージョンが使用されています
  • lockファイルも正しく更新されています

2. 機能追加と改善

このアップデートには多数の機能追加と改善が含まれています:

  • Vueサポート強化: 複数のVue関連ルールが追加
  • GraphQLルール追加: useUniqueInputFieldNames、useUniqueFieldDefinitionNamesなど
  • パフォーマンス改善: フォーマッターのメモリ使用量削減、noRedeclareの高速化
  • バグ修正: 多数のバグ修正とエッジケース対応

3. セキュリティと品質

  • noScriptUrl: XSS脆弱性につながるjavascript: URLの使用を防止
  • noUndeclaredEnvVars: 環境変数の安全な使用をサポート強化

⚠️ 確認が必要な点

1. 破壊的変更の確認

マイナーバージョンアップですが、以下の点を確認することを推奨します:

  • 新しく追加されたnurseryルールが既存コードに影響を与えないか
  • 既存のlintルールの動作変更がないか

推奨アクション:

# アップデート後にlintを実行して問題がないか確認
pnpm run lint

2. 新ルールの評価

多数のnurseryルールが追加されています。プロジェクトで有効化を検討すべきルールがあるか確認してください:

  • noMultiAssign: 複数の連鎖代入を防止
  • noReturnAssign: return文内での代入を防止
  • useAwaitThenable: Promise値に対してのみawaitを使用
  • Vue/GraphQL関連ルール(該当する場合)

3. ビルドとテストの実行

依存関係の更新後は以下を実行することを推奨します:

pnpm install
pnpm run build  # ビルドが通ることを確認
pnpm run test   # テストが通ることを確認

📝 その他の注意点

パフォーマンス

  • フォーマッターのメモリ使用量が削減されています
  • 大規模プロジェクトでの動作改善が期待できます

HTML/Svelte/Vueサポート

プロジェクトでこれらのフレームワークを使用している場合、フォーマッティングとlintingが改善されています。

🎯 総評

承認推奨

このPRは以下の理由から承認を推奨します:

  1. 依存関係の更新が適切に行われている
  2. セキュリティと品質の向上が含まれている
  3. 破壊的変更のリスクが低い(マイナーバージョンアップ)
  4. パフォーマンスの改善が期待できる

ただし、マージ前に以下を実施してください:

  • pnpm run lint を実行して新しいエラーがないことを確認
  • ビルドとテストが通ることを確認
  • 新しく追加されたnurseryルールの中で有効化すべきものがあるか検討

何か問題が見つかった場合はお知らせください。

@claude

claude Bot commented Jan 14, 2026

Copy link
Copy Markdown

Biome 2.2.7 → 2.3.11 アップデート レビュー

概要

このPRは @biomejs/biome を 2.2.7 から 2.3.11 にアップデートする内容です。Renovateボットによる自動更新で、依存関係のバージョン更新のみが含まれています。

変更内容

  • pnpm-lock.yaml: 全プラットフォーム向けのbiome CLIバイナリのバージョン更新
  • pnpm-workspace.yaml: catalogのbiomeバージョン指定を更新

レビューコメント

✅ ポジティブな点

  1. セマンティックバージョニング: マイナーバージョンアップのため、破壊的な変更は含まれていません
  2. 自動化: Renovateによる定期的な依存関係更新により、最新のバグフィックスとセキュリティパッチが適用されます
  3. カタログ管理: pnpm catalogを使用しているため、モノレポ全体で一貫したバージョン管理が可能です

⚠️ 確認が必要な点

1. biome.jsonc のスキーマバージョン更新

biome.jsonc:2 で以下のスキーマが参照されています:

"": "https://biomejs.dev/schemas/2.2.5/schema.json"

推奨アクション:

  • 2.3.11 に対応するスキーマURL (2.3.11/schema.json) への更新を検討してください
  • これにより、新しいルールや設定オプションに対するIDEの補完・検証が改善されます
2. 新しいルールの影響確認

2.3.x系では多数の新しいlintルールが追加されています(nurseryルール含む):

  • Vue.js関連: useVueValidTemplateRoot, useVueConsistentVBindStyle, useVueVForKey など
  • React関連: noJsxPropsBind
  • GraphQL関連: useUniqueInputFieldNames, useUniqueFieldDefinitionNames など
  • 一般: noMultiAssign, useAwaitThenable, useRegexpExec, noReturnAssign など

推奨アクション:

  • biome check を実行して、新しいルールによる警告・エラーが発生しないか確認してください
  • 現在の設定では "recommended": true を使用しているため、安定版ルールのみが有効化されます
  • nurseryルールは明示的に有効化しない限り適用されないため、大きな影響はないと思われます
3. パフォーマンスとバグ修正

リリースノートによると、以下の改善が含まれています:

  • メモリ使用量の削減 (#8137)
  • システムコール数の削減によるパフォーマンス向上 (#8344)
  • noRedeclare, noExtraNonNullAssertion などの既存ルールのバグ修正

これらは品質向上に寄与しますが、既存コードへの影響は最小限と予想されます。

4. 環境変数チェックの拡張

noUndeclaredEnvVars ルールが拡張され、以下に対応しました:

  • process.env["VAR"] (ブラケット記法)
  • Bun.env.VAR, Bun.env["VAR"] (Bunランタイム)
  • Deno.env.get("VAR") (Denoランタイム)

確認事項:

  • プロジェクトで環境変数を使用している場合、新しいチェックで問題が検出される可能性があります

テスト推奨事項

マージ前に以下のコマンドを実行することを推奨します:

# フォーマットチェック
pnpm format:check

# lintチェック
pnpm lint:check

# 型チェック
pnpm type:check

# または一括実行
pnpm validate:check

セキュリティ

依存関係の更新により、潜在的なセキュリティパッチが適用される可能性があります。特定の脆弱性は報告されていませんが、定期的な更新はベストプラクティスです。

結論

判定: ✅ 承認推奨(マイナー確認事項あり)

このアップデートは安全で、多くのバグ修正とパフォーマンス改善が含まれています。上記の確認事項をチェックした上でマージすることを推奨します。特に、CIが通過していることを確認してからマージしてください。

@claude

claude Bot commented Jan 15, 2026

Copy link
Copy Markdown

📦 依存関係更新のレビュー: @biomejs/biome 2.2.7 → 2.3.11

✅ 概要

Renovate による @biomejs/biome のパッチバージョンアップデート (2.2.7 → 2.3.11) です。問題なく安全にマージできると判断します。


🔍 変更内容の分析

更新されたファイル

  • pnpm-lock.yaml: 依存関係のロック
  • pnpm-workspace.yaml: カタログバージョンの更新

影響範囲

以下の3つのパッケージで使用されています:

  • ルートワークスペース (devDependency)
  • apps/e2e (devDependency)
  • apps/web (devDependency)

📝 主な新機能と改善点

新しいルール (Nursery)

  1. Vue.js サポートの強化

    • useVueValidTemplateRoot: テンプレートルート要素の検証
    • useVueConsistentVBindStyle: v-bind スタイルの統一
    • useVueConsistentVOnStyle: v-on スタイルの統一
    • useVueVForKey: v-for での key 属性の必須化
    • その他多数の Vue 関連ルール
  2. GraphQL サポート

    • useUniqueInputFieldNames: 入力フィールド名の一意性
    • useUniqueFieldDefinitionNames: フィールド定義名の一意性
    • useUniqueArgumentNames: 引数名の一意性
    • useUniqueVariableNames: 変数名の一意性
  3. その他のルール

    • noMultiAssign: 複数の連鎖代入の防止
    • useAwaitThenable: Promise 値でのみ await を使用
    • noScriptUrl: javascript: URL の使用禁止
    • noReturnAssign: return 文内での代入の禁止
    • noJsxPropsBind: JSX props での .bind() や arrow 関数の禁止

バグ修正

  • noRedeclare: conditional types での infer type の再宣言を誤検知しなくなった
  • noMisusedPromises: T | Promise のような union types での警告改善
  • useExhaustiveDependencies: エイリアス化された分割代入の処理改善
  • HTML フォーマッターの空白処理の改善
  • CSS フォーマッターのカンマ区切り値の改行処理の改善

パフォーマンス改善

  • フォーマッターの内部メモリ使用量削減
  • noRedeclare のパフォーマンス向上
  • CLI 実行時のシステムコール削減

⚠️ 注意事項

1. biome.jsonc のスキーマバージョン

現在の設定ファイル (biome.jsonc:2) では以下のスキーマを参照しています:
"$schema": "https://biomejs.dev/schemas/2.2.5/schema.json"

推奨対応:
マージ後、スキーマバージョンを更新することを検討してください:
"$schema": "https://biomejs.dev/schemas/2.3.11/schema.json"

ただし、現在の設定 (recommended ルール、formatter、linter の基本設定) は後方互換性があるため、緊急の更新は不要です。

2. 新しい Nursery ルールの影響

このプロジェクトでは現在 "recommended": true を使用しています。Nursery ルールはデフォルトで無効なので、新しいルールが自動的に有効になることはありません。

必要に応じて、以下のルールを個別に有効化できます:

  • Vue.js を使用している場合: Vue 関連ルール
  • GraphQL を使用している場合: GraphQL 関連ルール
  • コード品質を更に向上させたい場合: noMultiAssign, useAwaitThenable, noReturnAssign など

3. 既存コードへの影響

  • バグ修正により、これまで誤検知されていた noRedeclare のエラーが解消される可能性があります (ポジティブな変更)
  • noMisusedPromises がより厳密になりましたが、recommended ルールセットの動作は変わりません

🔒 セキュリティ

  • セキュリティ修正は含まれていません
  • devDependency なので、プロダクションコードへの直接的な影響はありません
  • noScriptUrl などの新ルールはセキュリティ向上に寄与しますが、Nursery のため手動有効化が必要です

⚡ パフォーマンス

  • フォーマッターのメモリ使用量が削減されました
  • CLI のシステムコール削減により、大規模プロジェクトでのパフォーマンス向上が期待できます
  • 全体的にポジティブな変更です

✨ 結論

推奨: ✅ 承認してマージ

このアップデートは:

  • ✅ 後方互換性が保たれています
  • ✅ バグ修正とパフォーマンス改善が含まれています
  • ✅ breaking changes はありません
  • ✅ セキュリティリスクはありません
  • ✅ devDependency のため影響範囲は限定的です

オプション対応 (マージ後):

  1. biome.jsonc のスキーマバージョンを 2.3.11 に更新
  2. 必要に応じて新しい Nursery ルールを評価・有効化
  3. 既存コードで biome check を実行して、バグ修正により改善された箇所を確認

このレビューは Claude Code により生成されました。

@claude

claude Bot commented Jan 16, 2026

Copy link
Copy Markdown

コードレビュー

このPRは @biomejs/biome を 2.2.7 から 2.3.11 にアップグレードする依存関係の更新です。以下の観点からレビューしました。

✅ 全体的な評価

このPRは問題なく、マージして問題ありません。

📋 詳細レビュー

1. コード品質とベストプラクティス

  • ✅ pnpm catalog を使用した依存関係の一元管理が適切に行われています
  • ✅ すべてのパッケージで統一されたバージョンが使用されています(catalog経由)
  • ✅ lockファイルの更新が適切に反映されています

2. 潜在的なバグや問題

  • ⚠️ アクション推奨: biome.jsonc の schema バージョンが古い(2.2.5)ままです
    • 現在: "$schema": "https://biomejs.dev/schemas/2.2.5/schema.json"
    • 推奨: "$schema": "https://biomejs.dev/schemas/2.3.11/schema.json" に更新することを推奨します
    • ただし、これは必須ではなく、現在の設定でも動作するため、マージのブロッカーではありません

3. パフォーマンスの考慮事項

  • ✅ リリースノートによると、以下のパフォーマンス改善が含まれています:
    • フォーマッター内部のメモリ使用量削減 (#8137)
    • noRedeclare ルールのパフォーマンス改善(文字列アロケーション削減) (#8571)
    • CLIのシステムコール削減により、大規模プロジェクトでの性能向上が見込まれます (#8344)

4. セキュリティ上の懸念

  • ✅ セキュリティに関連する新しいルールが追加されています:
    • noScriptUrl: XSS脆弱性につながる javascript: URLの使用を禁止
    • noUndeclaredEnvVars: 環境変数の不正な使用を検出(Turborepo、Bun、Denoランタイムに対応)
  • ✅ 公式パッケージからの更新であり、信頼性に問題はありません

5. テストカバレッジ

  • ℹ️ このPRは依存関係の更新のみであり、コードの変更はありません
  • ✅ マージ後にCIが通過することを確認することを推奨します
  • ✅ 既存のlintルールやフォーマット設定との互換性は維持されています

🆕 注目すべき新機能

このバージョンアップには以下の新しい機能が含まれています:

  • Vue.js SFC向けの多数のlintルール追加
  • Svelte構文サポートの改善
  • GraphQL向けのlintルール追加
  • TypeScript型推論の改善
  • HTML/CSSフォーマッターの改善

💡 推奨アクション

  1. マージ前: 特になし(このPRはマージ可能です)
  2. マージ後:
    • CIが正常に通過することを確認
    • biome.jsonc$schema を 2.3.11 に更新することを検討(別PRで対応可能)
    • biome check を実行して、新しいルールによる警告やエラーがないか確認

結論

このPRは安全にマージできます。Renovateによる自動更新であり、変更内容も依存関係のバージョンアップのみです。新バージョンにはパフォーマンス改善とセキュリティ強化が含まれており、アップグレードすることを推奨します。

@claude

claude Bot commented Jan 16, 2026

Copy link
Copy Markdown

📝 プルリクエストレビュー: Biome 2.2.7 → 2.3.11 アップデート

概要

RenovateによるBiomeのマイナーバージョンアップデートです。2.2.7から2.3.11への更新により、多数の新機能、バグ修正、パフォーマンス改善が含まれています。


✅ 良い点

  1. 適切な依存関係管理

    • pnpmのworkspace catalogを使用した一元管理が適切に機能しています
    • 全てのワークスペースパッケージで一貫したバージョンが使用されています
  2. セマンティックバージョニングに準拠

    • マイナーバージョンアップのため、後方互換性が保たれています
    • 破壊的変更は含まれていません
  3. 豊富な改善内容

    • Vue.js、Svelte、GraphQLのサポート強化
    • 新しいlintルールの追加(nurseryルール多数)
    • パフォーマンス改善とバグ修正

🔍 確認が必要な点

1. 新しいnurseryルールの影響

このアップデートでは多数の新しいnurseryルールが追加されています。プロジェクトでnurseryルールを有効にしている場合、以下のルールが新たに適用される可能性があります:

  • useVueValidTemplateRoot
  • useVueConsistentVBindStyle
  • useVueVForKey
  • noMultiAssign
  • noJsxPropsBind
  • noScriptUrl
  • useAwaitThenable
    など

推奨アクション: マージ前にbiome checkを実行し、新しいルールによる警告がないか確認してください。

2. 既存ルールの動作変更

以下のルールで動作が改善されています:

  • noUndeclaredEnvVars: Bun/Denoランタイムとブラケット記法のサポート追加
  • noMisusedPromises: ユニオン型(T | Promise<T>)の検出改善
  • useExhaustiveDependencies: エイリアス付き分割代入の処理改善

推奨アクション: これらのルールを使用している場合、新しい警告が表示される可能性があります。

3. HTMLフォーマッターの変更

iframeのallow属性やセルフクロージングタグの処理が変更されています。

-<Component/>
+<Component />

推奨アクション: HTMLやJSXファイルがある場合、フォーマット結果の差分を確認してください。


🧪 テスト推奨事項

マージ前に以下を実行することを推奨します:

# 1. Biomeチェックの実行
pnpm biome check .

# 2. フォーマットの確認(差分があるか)
pnpm biome format . --write

# 3. 既存のテストが通ることを確認
pnpm test

# 4. ビルドの成功を確認
pnpm build

🔒 セキュリティ

新しいセキュリティ関連ルールが追加されています:

  • noScriptUrl: XSS脆弱性につながるjavascript: URLの使用を禁止

これは既存コードに問題がある場合に検出するのに役立ちます。


📊 総合評価

承認推奨度: ✅ 承認可能(条件付き)

このアップデートは全体的に品質向上につながる良い変更です。ただし、以下の条件を満たした後にマージすることを推奨します:

  1. biome checkを実行し、新しい警告/エラーがないことを確認
  2. ✅ 既存のテストが全て成功することを確認
  3. ✅ CIが全て成功していることを確認

新しいnurseryルールは段階的に有効化できるため、必要に応じて設定ファイルで個別に制御できます。


📚 参考リンク

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant