Skip to content

Conversation

@renovate
Copy link
Contributor

@renovate renovate bot commented Oct 25, 2025

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.3.11 age confidence

Release Notes

biomejs/biome (@​biomejs/biome)

v2.3.11

Compare Source

Patch Changes
  • #​8583 83be210 Thanks @​dyc3! - Added the new nursery rule useVueValidTemplateRoot.

    This rule validates only root-level <template> elements in Vue single-file components. If the <template> has a src attribute, it must be empty. Otherwise, it must contain content.

    Invalid examples:

    <template src="./foo.html">content</template>
    <template></template>

    Valid examples:

    <template>content</template>
    <template src="./foo.html"></template>
  • #​8586 df8fe06 Thanks @​dyc3! - Added a new nursery rule useVueConsistentVBindStyle. Enforces consistent v-bind style (:prop shorthand vs v-bind:prop longhand). Default prefers shorthand; configurable via rule options.

  • #​8587 9a8c98d Thanks @​dyc3! - Added the rule useVueVForKey, which enforces that any element using v-for also specifies a key.

    Invalid

    <li v-for="item in items">{{ item }}</li>

    Valid

    <li v-for="item in items" :key="item.id">{{ item }}</li>
  • #​8586 df8fe06 Thanks @​dyc3! - Added a new nursery rule useVueConsistentVOnStyle. Enforces consistent v-on style (@event shorthand vs v-on:event longhand). Default prefers shorthand; configurable via rule options.

  • #​8583 83be210 Thanks @​dyc3! - Added the new nursery rule useVueValidVOnce. Enforces that usages of the v-once directive in Vue.js SFC are valid.

    <!-- Valid -->
    <div v-once />
    
    <!-- Invalid -->
    <div v-once:aaa />
    <div v-once.bbb />
    <div v-once="ccc" />
  • #​8498 d80fa41 Thanks @​tt-a1i! - Fixed #​8494. Extended noUndeclaredEnvVars to support bracket notation (process.env["VAR"], import.meta.env["VAR"]), Bun runtime (Bun.env.VAR, Bun.env["VAR"]), and Deno runtime (Deno.env.get("VAR")).

  • #​8509 574a909 Thanks @​ematipico! - Added support for parsing and formatting the Svelte {#await} syntax, when html.experimentalFullSupportEnabled is set to true.

    -{#await promise  then name }
    +{#await promise then name}
    
    -{:catch    name}
    +{:catch name}
    
    {/await}
  • #​8316 d64e92d Thanks @​washbin! - Added the new nursery rule noMultiAssign. This rule helps to prevent multiple chained assignments.

    For example, the following code triggers because there are two assignment expressions in the same statement.

    const a = (b = 0);
  • #​8592 a5f59cd Thanks @​Netail! - Added the nursery rule useUniqueInputFieldNames. Require fields within an input object to be unique.

    Invalid:

    query A($x: Int, $x: Int) {
      field
    }
  • #​8524 17a6156 Thanks @​JacquesLeupin! - Fixed #​8488: Relative plugin paths are now resolved from the configuration file directory, including when configurations are merged (e.g. extends: "//").

  • #​8655 3260ec9 Thanks @​JacquesLeupin! - Fixed #​8636: Biome's CSS formatter now breaks comma-separated declaration values at top-level commas when wrapping.

  • #​8537 cc3e851 Thanks @​dibashthapa! - Fixed #​8491: Resolved false positive errors for safe boolean expressions. There are still pending fixes. Head to #​8491 (comment) for more details

    This new change will check for safe boolean expressions in variable declarations.

    For example,

    Valid:

    let isOne = 1;
    let isPositiveNumber = number > 0;
    
    return (
      <div>
        {" "}
        {isOne && "One"} {isPositiveNumber && "Is positive"}
      </div>
    );

    Invalid:

    let emptyStr = "";
    let isZero = 0;
    
    return (
      <div>
        {emptyStr && "Empty String"} {isZero && "Number is zero"}{" "}
      </div>
    );
  • #​8511 16a9036 Thanks @​ematipico! - Improved the diagnostics of the rules useSortedClasses and noUnnecessaryConditions. The diagnostics now state that these rules are a work in progress and link to the relevant GitHub issue.

  • #​8521 a704be9 Thanks @​ToBinio! - Added the nursery rule useVueConsistentDefinePropsDeclaration, which enforces consistent defineProps declaration style.

Invalid
<script setup lang="ts">
const props = defineProps({
  kind: { type: String },
});
</script>
Valid
<script setup lang="ts">
const props = defineProps<{
  kind: string;
}>();
</script>
  • #​8595 7c85bf0 Thanks @​dyc3! - Fixed #​8584: The HTML formatter will preserve whitespace after some elements and embedded expressions, which more closely aligns with Prettier's behavior.

    - <h1>Hello, {framework}and Svelte!</h1>
    + <h1>Hello, {framework} and Svelte!</h1>
  • #​8598 5e85d43 Thanks @​Netail! - Added the nursery rule useUniqueFieldDefinitionNames. Require all fields of a type to be unique.

    Invalid:

    type SomeObject {
      foo: String
      foo: String
    }
  • #​8495 b573d14 Thanks @​taga3s! - Fixed #​8405: noMisusedPromises now emits warnings/errors when a function returns union types such as T | Promise<T> which is used in conditionals.

    const a = (): boolean | Promise<boolean> => Promise.resolve(true);
    if (a()) {
    } // Now correctly flagged
  • #​8632 0be7d12 Thanks @​Bertie690! - The documentation & rule sources for lint/complexity/noBannedTypes have been updated to fix a few oversights.

    In addition to some general typo fixes:

    • The rule now recommends Record<keyof any, never> instead of Record<string, never> (the latter of which incorrectly allows symbol-keyed properties).

    • The rule mentions an alternate method to enforce object emptiness involving unique symbol-based guards used by type-fest and many other packages:

      declare const mySym: unique symbol;
      
      // Since this type's only property is an unexported `unique symbol`, nothing that imports it can specify any properties directly
      // (as far as excess property checks go)
      export type EmptyObject = { [mySym]?: never };
      export type IsEmptyObject<T> = T extends EmptyObject ? true : false;

    The rule's listed sources have been updated as well to reflect the original source rule (ban-types) having been split into 3 separate rules circa April 2024.

  • #​8580 a3a1ad2 Thanks @​taga3s! - Added the nursery rule noBeforeInteractiveScriptOutsideDocument to the Next.js domain.
    This rule prevents usage of next/script's beforeInteractive strategy outside of pages/_document.js.

  • #​8493 5fc24f4 Thanks @​ematipico! - Added support for parsing and formatting the Svelte {#each} syntax, when html.experimentalFullSupportEnabled is set to true.

    - {#each items   as item  }
    + {#each items as item}
    
    {/each}
  • #​8546 0196c0e Thanks @​Zaczero! - Hardened union static-member type flattening in edge cases (e.g. unions containing unknown or inferred expression types). This keeps inference conservative and avoids unstable type growth in node = node.parent-style loops.

  • #​8569 1022c76 Thanks @​ematipico! - Fixed an issue where the Biome HTML parser would emit a parse error when certain keywords are inside the text of HTML tags.

  • #​8606 f50723b Thanks @​dyc3! - Fixed #​8563: fixed a bounds check on bogus regex literals that caused panics when doing type inference

  • #​7410 ab9af9a Thanks @​sgarcialaguna! - Added the new nursery rule noJsxPropsBind. This rule disallows .bind(), arrow functions, or function expressions in JSX props.

    Invalid:

    <Foo onClick={() => console.log("Hello!")}></Foo>
  • #​8523 5f22f1c Thanks @​ematipico! - Improved the diagnostics of nursery rules. Added a message to diagnostics emitted by nursery rules, so that users are aware of nature of nursery rules.

  • #​8571 03666fd Thanks @​dyc3! - Improved the performance of noRedeclare by eliminating string allocations

  • #​8591 9dd9ca7 Thanks @​Netail! - Added the nursery rule useUniqueArgumentNames. Enforce unique arguments for GraphQL fields & directives.

    Invalid:

    query {
      field(arg1: "value", arg1: "value")
    }
  • #​8521 a704be9 Thanks @​ToBinio! - Update useVueDefineMacrosOrder to only run on <script setup> blocks.

  • #​8344 7b982ba Thanks @​ematipico! - Reduced the system calls when running the CLI. The performances might be noticeable in big projects that have multiple libraries and enable project rules.

  • #​8588 958e24b Thanks @​Netail! - Added the nursery rule useUniqueVariableNames. Enforce unique variable names for GraphQL operations.

    Invalid:

    query ($x: Int, $x: Int) {
      field
    }
  • #​8529 8794883 Thanks @​mdevils! - Fixed #​8499: useExhaustiveDependencies properly handles aliased destructured object keys when using stableResult configuration.

  • #​8557 4df2f4d Thanks @​dyc3! - Fixed an issue with the HTML formatter where it wouldn't add a space before the /> in self closing elements. This brings the HTML formatter more in line with Prettier.

    -<Component/>
    +<Component />
  • #​8509 574a909 Thanks @​ematipico! - Added support for parsing and formatting the Svelte {#snippet} syntax, when html.experimentalFullSupportEnabled is set to true.

    -{#snippet    foo() }
    +{#snippet foo()}
    
    {/snippe}
  • #​8248 1231a5c Thanks @​emilyinure! - Added new nursery rule noReturnAssign, which disallows assignments inside return statements.

    Invalid:

    function f(a) {
      return (a = 1);
    }
  • #​8531 6b09620 Thanks @​taga3s! - Fixed #​8472: The CSS parser can now accept multiple comma separated parameters in :active-view-transition-type.

  • #​8615 b9da66d Thanks @​taga3s! - Remove next/script component name check from noBeforeInteractiveScriptOutsideDocument since it is a default export.

  • #​8536 efbfbe2 Thanks @​dyc3! - Fixed #​8527: Improved type inference where analyzing code with repeated object property access and assignments (e.g. node = node.parent, a pattern common when traversing trees in a while loop) could hit an internal type limit. Biome now handles these cases without exceeding the type limit.

  • #​8583 83be210 Thanks @​dyc3! - Added the new nursery rule useVueValidVCloak. Enforces that usages of the v-cloak directive in Vue.js SFC are valid.

    <!-- Valid -->
    <div v-cloak />
    
    <!-- Invalid -->
    <div v-cloak:aaa />
    <div v-cloak.bbb />
    <div v-cloak="ccc" />
  • #​8583 83be210 Thanks @​dyc3! - Added the new nursery rule useVueValidVPre. Enforces that usages of the v-pre directive in Vue.js SFC are valid.

    <!-- Valid -->
    <div v-pre />
    
    <!-- Invalid -->
    <div v-pre:aaa />
    <div v-pre.bbb />
    <div v-pre="ccc" />
  • #​8644 a3a27a7 Thanks @​JacquesLeupin! - Added the nursery rule useVueVapor to enforce <script setup vapor> in Vue SFCs. For example <script setup> is invalid.

  • #​8508 b86842c Thanks @​tt-a1i! - Fixed #​6783: now, when a path is provided via --stdin-file-path, Biome checks whether the file exists on disk. If the path doesn't exist (virtual path), ignore checks (files.includes and VCS ignore rules) are skipped.

v2.3.10

Compare Source

Patch Changes
Invalid
<a>learn more</a>

v2.3.9

Compare Source

Patch Changes
Invalid
await "value";

const createValue = () => "value";
await createValue();
Caution

This is a first iteration of the rule, and does not yet detect generic "thenable" values.

  • #​8034 e7e0f6c Thanks @​Netail! - Added the nursery rule useRegexpExec. Enforce RegExp#exec over String#match if no global flag is provided.

  • #​8137 d407efb Thanks @​denbezrukov! - Reduced the internal memory used by the Biome formatter.

  • #​8281 30b046f Thanks @​tylersayshi! - Added the rule useRequiredScripts, which enforces presence of configurable entries in the scripts section of package.json files.

  • #​8290 d74c8bd Thanks @​dyc3! - The HTML formatter has been updated to match Prettier 3.7's behavior for handling <iframe>'s allow attribute.

    - <iframe allow="layout-animations 'none'; unoptimized-images 'none'; oversized-images 'none'; sync-script 'none'; sync-xhr 'none'; unsized-media 'none';"></iframe>
    + <iframe
    + 	allow="
    + 		layout-animations 'none';
    + 		unoptimized-images 'none';
    + 		oversized-images 'none';
    + 		sync-script 'none';
    + 		sync-xhr 'none';
    + 		unsized-media 'none';
    + 	"
    + ></iframe>
  • #​8302 d1d5014 Thanks @​mlafeldt! - Fixed #​8109: return statements in Astro frontmatter no longer trigger "Illegal return statement" errors when using experimentalFullSupportEnabled.

  • #​8346 f3aee1a Thanks @​arendjr! - Fixed #​8292: Implement tracking
    of types of TypeScript constructor parameter properties.

    This resolves certain false negatives in noFloatingPromises and other typed
    rules.

Example
class AsyncClass {
  async returnsPromise() {
    return "value";
  }
}

class ShouldBeReported {
  constructor(public field: AsyncClass) {}
  //          ^^^^^^^^^^^^----------------- Parameter property declaration

  async shouldBeReported() {
    // `noFloatingPromises` will now report the following usage:
    this.field.returnsPromise();
  }
}
  • #​8326 153e3c6 Thanks @​ematipico! - Improved the rule noBiomeFirstException. The rule can now inspect if extended configurations already contain the catch-all ** inside files.includes and, if so, the rule suggests removing ** from the user configuration.

  • #​8433 397547a Thanks @​dyc3! - Fixed #​7920: The CSS parser, with Tailwind directives enabled, will no longer error when you use things like prefix(tw) in @import at rules.

  • #​8378 cc2a62e Thanks @​Bertie690! - Clarify diagnostic message for lint/style/useUnifiedTypeSignatures

    The rule's diagnostic message now clearly states that multiple similar overload signatures are hard to read & maintain, as opposed to overload signatures in general.

  • #​8296 9d3ef10 Thanks @​dyc3! - biome rage now shows if you have experimental HTML full support enabled.

  • #​8414 09acf2a Thanks @​Bertie690! - Updated the documentation & diagnostic message for lint/nursery/noProto, mentioning the reasons for its longstanding deprecation and why more modern alternatives are preferred.

    Notably, the rule clearly states that using __proto__ inside object literal definitions is still allowed, being a standard way to set the prototype of a newly created object.

  • #​8445 c3df0e0 Thanks @​tt-a1i! - Fix --changed and --staged flags throwing "No such file or directory" error when a file has been deleted or renamed in the working directory. The CLI now filters out files that no longer exist before processing.

  • #​8459 b17d12b Thanks @​ruidosujeira! - Fix #​8435: resolved false positive in noUnusedVariables for generic type parameters in construct signature type members (new <T>(): T).

  • #​8439 a78774b Thanks @​tt-a1i! - Fixed #​8011: useConsistentCurlyBraces no longer suggests removing curly braces from JSX expression children containing characters that would cause parsing issues or semantic changes when converted to plain JSX text ({, }, <, >, &).

  • #​8436 a392c06 Thanks @​ruidosujeira! - Fixed #​8429. Formatter, linter, and assist settings now correctly inherit from global configuration when not explicitly specified in overrides.

    Before this fix, when an override specified only one feature (e.g., only linter), other features would be incorrectly disabled instead of inheriting from global settings.

    Example configuration that now works correctly:

    {
      "formatter": { "enabled": true },
      "overrides": [
        {
          "includes": ["*.vue"],
          "linter": { "enabled": false }
        }
      ]
    }

    After this fix, .vue files will have the linter disabled (as specified in the override) but the formatter enabled (inherited from global settings).

  • #​8411 9f1b3b0 Thanks @​rriski! - Properly handle name, type_arguments, and attributes slots for JsxOpeningElement and JsxSelfClosingElement GritQL patterns.

    The following biome search commands no longer throw errors:

    biome search 'JsxOpeningElement(name = $elem_name) where { $elem_name <: "div" }'
    biome search 'JsxSelfClosingElement(name = $elem_name) where { $elem_name <: "div" }'
  • #​8441 cf37d0d Thanks @​tt-a1i! - Fixed #​6577: noUselessUndefined no longer reports () => undefined in arrow function expression bodies. Previously, the rule would flag this pattern and suggest replacing it with () => {}, which conflicts with the noEmptyBlockStatements rule.

  • #​8444 8caa7a0 Thanks @​tt-a1i! - Fix noUnknownMediaFeatureName false positive for prefers-reduced-transparency media feature. The feature name was misspelled as prefers-reduded-transparency in the keywords list.

  • #​8443 c3fa5a1 Thanks @​tt-a1i! - Fix useGenericFontNames false positive when a CSS variable is used as the last value in font-family or font. The rule now correctly ignores cases like font-family: "Noto Serif", var(--serif) and font: 1em Arial, var(--fallback).

  • #​8281 30b046f Thanks @​tylersayshi! - Fixed noDuplicateDependencies incorrectly triggering on files like _package.json.

  • #​8315 c7915c4 Thanks @​hirokiokada77! - Fixed #​5213: The noDoneCallback rule no longer flags false positives when a method is called on a regular variable bound to identifiers such as before, after, beforeEach, and afterEach.

  • #​8398 204844f Thanks @​Bertie690! - The default value of the ignoreRestSiblings option for noUnusedVariables'
    has been reverted to its prior value of true after an internal refactor accidentally changed it.

    The diagnostic message has also been tweaked for readability.

  • #​8242 9694e37 Thanks @​dyc3! - Fixed bugs in the HTML parser so that it will flag invalid shorthand syntaxes instead of silently accepting them. For example, <Foo : foo="5" /> is now invalid because there is a space after the :.

  • #​8297 efa694c Thanks @​Yonom! - Added support for negative value utilities in useSortedClasses. Negative value utilities such as -ml-2 or -top-4 are now recognized and sorted correctly alongside their positive counterparts.

    // Now detected as unsorted:
    <div class="-ml-2 p-4 -mt-1" />
    // Suggested fix:
    <div class="-mt-1 -ml-2 p-4" />
  • #​8335 3710702 Thanks @​dibashthapa! - Added the new nursery rule useDestructuring. This rule helps to encourage destructuring from arrays and objects.

    For example, the following code triggers because the variable name x matches the property foo.x, making it ideal for object destructuring syntax.

    var x = foo.x;
  • #​8383 59b2f9a Thanks @​ematipico! - Fixed #​7927: noExtraNonNullAssertion incorrectly flagged separate non-null assertions on both sides of an assignment.

    The rule now correctly distinguishes between nested non-null assertions (still flagged) and separate non-null assertions on different sides of an assignment (allowed).

Examples
Valid (now allowed)
arr[0]! ^= arr[1]!;
Invalid (still flagged)
arr[0]!! ^= arr[1];
arr[0] ^= arr[1]!!;
  • #​8401 382786b Thanks @​Bertie690! - useExhaustiveDependencies now correctly validates custom hooks whose dependency arrays come before their callbacks.

    Previously, a logical error caused the rule to be unable to detect dependency arrays placed before hook callbacks, producing spurious errors and blocking further diagnostics.

    {
      "linter": {
        "rules": {
          "correctness": {
            "useExhaustiveDependencies": {
              "level": "error",
              "options": {
                "hooks": [
                  {
                    "name": "doSomething",
                    "closureIndex": 2,
                    "dependenciesIndex": 0
                  }
                ]
              }
            }
          }
        }
      }
    }
    function component() {
      let thing = 5;
      // The rule will now correctly recognize `thing` as being specified
      // instead of erroring due to "missing" dependency arrays
      doSomething([thing], "blah", () => {
        console.log(thing);
      });
    }

    The rule documentation & diagnostic messages have also been reworked for improved clarity.

  • #​8365 8f36051 Thanks @​JacquesLeupin! - Fixed #​8360: GritQL plugins defined in child configurations with extends: "//" now work correctly.

  • #​8306 8de2774 Thanks @​dibashthapa! - Fixed #​8288: Fixed the issue with false positive errors

    This new change will ignore attribute and only show diagnostics for JSX Expressions

    For example

    Valid:

    <Something checked={isOpen && items.length} />

    Invalid:

    const Component = () => {
      return isOpen && items.length;
    };
  • #​8356 f9673fc Thanks @​ematipico! - Fixed #​7917, where Biome removed the styles contained in a <style lang="scss">, when experimentalFullSupportEnabled is enabled.

  • #​8371 d71924e Thanks @​ematipico! - Fixed #​7343, where Biome failed to resolve extended configurations from parent directories using relative paths.

  • #​8404 6a221f9 Thanks @​fireairforce! - Fixed #​7826, where a class member named async will not cause the parse error.

  • #​8249 893e36c Thanks @​cormacrelf! - Addressed #​7538. Reduced the
    volume of logging from the LSP server.

    Use biome clean to remove large logs.

  • #​8303 db2c65b Thanks @​hirokiokada77! - Fixed #​8300: noUnusedImports now detects JSDoc tags on object properties.

    import type LinkOnObjectProperty from "mod";
    
    const testLinkOnObjectProperty = {
    	/**
    	 * {@&#8203;link LinkOnObjectProperty}
    	 */
    	property: 0,
    };
  • #​8328 9cf2332 Thanks @​Netail! - Corrected rule source reference. biome migrate eslint should do a bit better detecting rules in your eslint configurations.

  • #​8403 c96dcf2 Thanks @​dyc3! - Fixed #​8340: noUnknownProperty will no longer flag anything in @plugin when the parser option tailwindDirectives is enabled

  • #​8284 4976d1b Thanks @​denbezrukov! - Improved the performance of the Biome Formatter by enabling the internal source maps only when needed.

  • #​8260 a226b28 Thanks @​ho991217! - Fixed biome-vscode#817: Biome now updates documents when the textDocument/didSave notification is received.

  • #​8183 b064786 Thanks @​hornta! - Fixed #​8179: The useConsistentArrowReturn rule now correctly handles multiline expressions in its autofix when the style option is set to "always".

    Previously, the autofix would incorrectly place a newline after the return keyword, causing unexpected behavior.

    Example:

    const foo = (l) => l.split("\n");

    Now correctly autofixes to:

    const foo = (l) => {
    -   return
    -   l.split('\n');
    +   return l.split('\n');
    }
  • #​8382 7409cba Thanks @​fireairforce! - Fixed #​8338: Ignored the noUnknownTypeSelector check when the root selector is used under View Transition pseudo-elements.

    Example

    ::view-transition-old(root),
    ::view-transition-new(root) {
      z-index: 1;
    }
  • #​7513 e039f3b Thanks @​AsherDe! - Added the nursery rule noVueSetupPropsReactivityLoss.

    This new rule disallows usages that cause the reactivity of props passed to the setup function to be lost.

    Invalid code example:

    export default {
      setup({ count }) {
        // `count` is no longer reactive here.
        return () => h("div", count);
      },
    };

v2.3.8

Compare Source

Patch Changes
  • #​8188 4ca088c Thanks @​ematipico! - Fixed #​7390, where Biome couldn't apply the correct configuration passed via --config-path.

    If you have multiple root configuration files, running any command with --config-path will now apply the chosen configuration file.

  • #​8171 79adaea Thanks @​dibashthapa! - Added the new rule noLeakedRender. This rule helps prevent potential leaks when rendering components that use binary expressions or ternaries.

    For example, the following code triggers the rule because the component would render 0:

    const Component = () => {
      const count = 0;
      return <div>{count && <span>Count: {count}</span>}</div>;
    };
  • #​8116 b537918 Thanks @​Netail! - Added the nursery rule noDuplicatedSpreadProps. Disallow JSX prop spreading the same identifier multiple times.

    Invalid:

    <div {...props} something="else" {...props} />
  • #​8256 f1e4696 Thanks @​cormacrelf! - Fixed a bug where logs were discarded (the kind from --log-level=info etc.). This is a regression introduced after an internal refactor that wasn't adequately tested.

  • #​8226 3f19b52 Thanks @​dyc3! - Fixed #​8222: The HTML parser, with Vue directives enabled, can now parse v-slot shorthand syntax, e.g. <template #foo>.

  • #​8007 182ecdc Thanks @​brandonmcconnell! - Added support for dollar-sign-prefixed filenames in the useFilenamingConvention rule.

    Biome now allows filenames starting with the dollar-sign (e.g. $postId.tsx) by default to support naming conventions used by frameworks such as TanStack Start for file-based-routing.

  • #​8218 91484d1 Thanks @​hirokiokada77! - Added the noMultiStr rule, which disallows creating multiline strings by escaping newlines.

    Invalid:

    const foo =
      "Line 1\n\
    Line 2";

    Valid:

    const foo = "Line 1\nLine 2";
    const bar = `Line 1
    Line 2`;
  • #​8225 98ca2ae Thanks @​ongyuxing! - Fixed #​7806: Prefer breaking after the assignment operator for conditional types with generic parameters to match Prettier.

    -type True = unknown extends Type<
    -  "many",
    -  "generic",
    -  "parameters",
    -  "one",
    -  "two",
    -  "three"
    ->
    -  ? true
    -  : false;
    +type True =
    +  unknown extends Type<"many", "generic", "parameters", "one", "two", "three">
    +    ? true
    +    : false;
  • #​6765 23f7855 Thanks @​emilyinure! - Fixed #​6569: Allow files to export from themselves with noImportCycles.

    This means the following is now allowed:

    // example.js
    export function example() {
      return 1;
    }
    
    // Re-exports all named exports from the current module under a single namespace
    // and then imports the namespace from the current module.
    // Allows for encapsulating functions/variables into a namespace instead
    // of using a static class.
    export * as Example from "./example.js";
    
    import { Example } from "./example.js";
  • #​8214 68c052e Thanks @​hirokiokada77! - Added the noEqualsToNull rule, which enforces the use of === and !== for comparison with null instead of == or !=.

    Invalid:

    foo == null;
    foo != null;

    Valid:

    foo === null;
    foo !== null;
  • #​8219 793bb9a Thanks @​dyc3! - Fixed #​8190: The HTML parser will now parse Vue event handlers that contain : correctly, e.g. `@update:mode


Configuration

📅 Schedule: Branch creation - "after 9am before 1pm" in timezone Asia/Tokyo, Automerge - At any time (no schedule defined).

🚦 Automerge: Enabled.

Rebasing: Whenever PR is behind base branch, 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
Copy link

vercel bot commented Oct 25, 2025

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

Project Deployment Review Updated (UTC)
honey-portion-porker Ready Ready Preview, Comment Jan 14, 2026 2:47am

@claude
Copy link

claude bot commented Oct 25, 2025

レビュー結果

📋 概要

@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
Copy link

claude bot commented Oct 25, 2025

プルリクエスト #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
Copy link

claude bot commented Oct 26, 2025

レビュー結果 ✅

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
Copy link

claude bot commented Oct 26, 2025

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
Copy link

claude bot commented Oct 27, 2025

プルリクエスト #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
Copy link

claude bot commented Oct 28, 2025

プルリクエスト #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
Copy link

claude bot commented Oct 29, 2025

レビュー結果

✅ 総合評価

この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
Copy link

claude bot commented Oct 29, 2025

レビュー結果

この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
Copy link

claude bot commented Oct 30, 2025

プルリクエストレビュー: 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
Copy link

claude bot commented Jan 4, 2026

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
Copy link

claude bot commented Jan 4, 2026

プルリクエストレビュー

概要

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
Owner

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

@claude
Copy link

claude bot commented Jan 4, 2026

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
Copy link

claude bot commented Jan 5, 2026

レビューコメント

概要

@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
Copy link

claude bot commented Jan 7, 2026

レビューフィードバック

概要

この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ルールの最適化(文字列アロケーション削減)
  • 大規模プロジェクトでのシステムコール削減

📝 総評

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

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

@renovate renovate bot force-pushed the renovate/biomejs-biome-2.x branch from 6a2769c to ab4bbf6 Compare January 8, 2026 00:50
@claude
Copy link

claude bot commented Jan 8, 2026

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
Copy link

claude bot commented Jan 10, 2026

プルリクエスト #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
Copy link

claude bot commented Jan 11, 2026

プルリクエストレビュー

概要

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
Copy link

claude bot commented Jan 12, 2026

プルリクエストレビュー: @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
Copy link

claude bot commented Jan 13, 2026

@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
Copy link

claude bot commented Jan 14, 2026

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が通過していることを確認してからマージしてください。

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.

2 participants