Skip to content

fix(deps): update all dependencies - #31

Open
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/all
Open

renovate[bot] wants to merge 1 commit into
mainfrom
renovate/all

Conversation

@renovate

@renovate renovate Bot commented Feb 19, 2026 •

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 Type Update
@biomejs/biome (source) ^2.4.0 → ^2.6.2 age confidence devDependencies minor
@changesets/changelog-github (source) ^0.5.2 → ^1.0.1 age confidence devDependencies major
@changesets/cli (source) ^2.29.8 → ^3.0.3 age confidence devDependencies major
@effect/cli (source) ^0.73.2 → ^0.77.2 age confidence dependencies minor
@effect/cluster (source) ^0.56.4 → ^0.60.2 age confidence dependencies minor
@effect/experimental (source) ^0.58.0 → ^0.61.1 age confidence dependencies minor
@effect/platform (source) ^0.94.5 → ^0.97.2 age confidence dependencies minor
@effect/platform-node (source) ^0.104.1 → ^4.0.5 age confidence dependencies major
@effect/printer (source) ^0.47.0 → ^0.51.0 age confidence dependencies minor
@effect/printer-ansi (source) ^0.47.0 → ^0.51.0 age confidence dependencies minor
@effect/rpc (source) ^0.73.1 → ^0.76.2 age confidence dependencies minor
@effect/sql (source) ^0.49.0 → ^0.52.1 age confidence dependencies minor
@effect/typeclass (source) ^0.38.0 → ^0.41.0 age confidence dependencies minor
@effect/vitest (source) ^0.27.0 → ^4.0.5 age confidence devDependencies major
@effect/workflow (source) ^0.16.0 → ^0.19.1 age confidence dependencies minor
@eslint-community/eslint-plugin-eslint-comments ^4.6.0 → ^4.8.1 age confidence devDependencies minor
@eslint/compat (source) 2.0.2 → 2.1.1 age confidence devDependencies minor
@eslint/eslintrc 3.3.3 → 3.3.7 age confidence devDependencies patch
@​prover-coder-ai/eslint-plugin-suggest-members ^0.0.25 → ^0.0.26 age confidence devDependencies patch
@types/node (source) ^24.10.13 → ^24.19.2 age confidence devDependencies minor
@typescript-eslint/eslint-plugin (source) ^8.55.0 → ^8.72.0 age confidence devDependencies minor
@typescript-eslint/parser (source) ^8.55.0 → ^8.72.0 age confidence devDependencies minor
@vitest/coverage-v8 (source) ^4.0.18 → ^5.0.5 age confidence devDependencies major
@vitest/eslint-plugin ^1.6.9 → ^1.6.27 age confidence devDependencies patch
actions/checkout v6 → v7 age confidence action major
actions/setup-node v6 → v7 age confidence action major
actions/upload-artifact v6 → v7 age confidence action major
effect (source) ^3.19.17 → ^4.0.5 age confidence dependencies major
eslint (source) ^10.0.0 → ^10.13.0 age confidence devDependencies minor
eslint-import-resolver-typescript ^4.4.4 → ^4.4.5 age confidence devDependencies patch
eslint-plugin-simple-import-sort ^12.1.1 → ^14.0.0 age confidence devDependencies major
eslint-plugin-sonarjs (source) ^3.0.7 → ^4.2.2 age confidence devDependencies major
eslint-plugin-sort-destructure-keys ^2.0.0 → ^3.0.0 age confidence devDependencies major
eslint-plugin-unicorn ^63.0.0 → ^78.0.0 age confidence devDependencies major
globals ^17.3.0 → ^17.13.0 age confidence devDependencies minor
jscpd (source) ^4.0.8 → ^5.4.2 age confidence devDependencies major
node 24.13.1 → 24.22.1 age confidence uses-with minor
pnpm (source) 10.29.3 → 12.15.0 age confidence packageManager major
pnpm/action-setup v4 → v6 age confidence action major
pnpm/action-setup v3 → v6 age confidence action major
ts-morph ^27.0.2 → ^28.0.0 age confidence dependencies major
typescript (source) ^5.9.3 → ^7.0.2 age confidence devDependencies major
typescript-eslint (source) ^8.55.0 → ^8.72.0 age confidence devDependencies minor
vite (source) ^7.3.1 → ^8.3.5 age confidence devDependencies major
vitest (source) ^4.0.18 → ^5.0.5 age confidence devDependencies major

cc @skulidropek


Release Notes

biomejs/biome (@​biomejs/biome)

v2.6.2

Compare Source

Minor Changes
  • #​11479 5c60ba8 Thanks @​nhedger! - Added a --git flag to biome init. The flag enables Git VCS integration and sets vcs.useIgnoreFile to true in the generated configuration, even when the command runs outside a Git repository.

  • #​11742 3a1356d Thanks @​Netail! - Added the biome migrate stylelint command. It imports a Stylelint configuration and its ignore settings into your Biome configuration, mapping Stylelint rules to their Biome equivalents. Pass --write to apply the changes, and --include-inspired or --include-nursery to migrate additional rules.

  • #​12318 774b5b5 Thanks @​Netail! - Added the new assist action useGraphqlSortedDefinitions, which sorts the named definitions of a GraphQL document, such as types, type extensions, directives, fragments, and operations.

    Invalid:

    type User {
      id: ID!
    }
    
    enum Role {
      ADMIN
      USER
    }
    
    directive @auth on FIELD_DEFINITION
  • #​6886 3479d15 Thanks @​christymcgrory! - biome rage now shows the resolved files.includes and files.ignoreUnknown configuration.

  • #​11102 0874b7f Thanks @​gameroman! - Added support for useTailwindSortedClasses rule in HTML-ish files.

  • #​10711 40de5a0 Thanks @​soconnor-seeq! - Adds a new resolutionKind option for object-syntax plugin entries.

    This allows shared Biome configs in monorepos to load local Grit plugins from the package that declares them instead of resolving plugin paths from the consuming project.

    {
      "plugins": [
        { "path": "./grit/no-debugger.grit", "resolutionKind": "config" },
        { "path": "local-plugin.grit", "resolutionKind": "project" },
        { "path": "local-plugin.grit" }
      ]
    }

    Use resolutionKind: "config" to resolve the plugin from the configuration file that declares it. Use resolutionKind: "project" to resolve the plugin from the consuming project. When omitted, resolutionKind defaults to project. This only affects plugin resolution; includes still apply to end-user project files as usual.

  • #​11432 4befd08 Thanks @​ematipico! - Added biome inspect config to show resolved configuration values and their origins as human-readable diagnostics, including matching overrides.

    Configuration files can also extend other configurations up to ten levels deep. Repeated references to the same resolved file are ignored with an information diagnostic, while resolving multiple versions of one extended package produces an error.

  • #​11477 ab05554 Thanks @​nhedger! - Added automatic Git VCS integration when running biome init inside a Git repository, including from nested directories and Git worktrees. The generated configuration sets vcs.enabled and vcs.useIgnoreFile to true, with vcs.clientKind set to "git".

  • #​11451 1ac4b09 Thanks @​ematipico! - #### YAML is now supported

    Added support for formatting YAML files, both .yaml and .yml extensions

  • #​11432 4befd08 Thanks @​ematipico! - Configuration files can now recursively extend local files and npm package configurations up to ten levels. Every repeated reference participates in the merge, while resolving multiple versions of one extended package produces an error.

  • #​11713 ac6a640 Thanks @​dyc3! - Added support for Grit range() patterns, addressing #​8454. Plugins can filter syntax nodes by optional start_line, start_column, end_line, and end_column bounds.

    For example, this pattern matches function calls contained entirely on line 2.

    range(start_line=2, end_line=2) as $call where {
        $call <: call_expression()
    }
    
  • #​11244 0628b53 Thanks @​ematipico! - Added the new CLI option --profile-type-inference to the commands lint and check.

    The profiler is designed to track the execution time of internal queries and operations, group them by file, and sort them from the most expensive to the least expensive.

    biome lint --profile-type-inference
    profiler ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
    
      i Type inference profile (Biome <version>)
    
      src/index.ts
    
        Requests (top 5 of 12 groups; 28 source records; 46 executions)
          1. Promise classification <- nursery/noFloatingPromises
          ...
    
        Queries (top 8 of 25 groups; 61 source records; 94 executions)
          1. Promises / infer_expression_is_promise
          ...
    
        Whole-module inference (top 1 of 1 group; 1 source record; 1 execution)
          1. Import depth limit
          ...
    
      68 files omitted.
    
      ℹ To show all the information, use the --verbose option. The output might be very verbose, so it's advised to analyze a single file.
    
      $ biome lint --profile-type-inference --verbose ./path/to/file.ts
    

    Use --verbose to include detailed timings, attribution, breadth, and implementation references for the top source records in each file.

  • #​12108 4fcb880 Thanks @​ematipico! - Promoted 59 nursery rules to stable groups.

Correctness

Promoted the following rules to the correctness group with error severity. All of them are recommended:

Suspicious

Promoted the following rules to the suspicious group:

Security

Promoted useIframeSandbox to the security group with error severity.

Performance

Promoted the recommended rule useDomNodeTextContent to the performance group with warning severity.

Complexity

Promoted the following rules to the complexity group:

Style

Promoted the following rules to the style group with information severity:

  • useVueConsistentDefinePropsDeclaration

  • useVueNextTickPromise (recommended)

  • noReactNativeLiteralColors

  • useConsistentTestIt

  • useTestHooksInOrder

  • useTestHooksOnTop

  • noPlaywrightEval

  • noPlaywrightElementHandle

  • noPlaywrightWaitForSelector

  • useReduceTypeParameter

  • useNamedCaptureGroup

  • useUnicodeRegex

  • useImportsFirst

  • useVarsOnTop

  • useThisInClassMethods

  • noInlineStyles

  • useDomQuerySelector

  • noTopLevelLiterals

  • #​12206 0f984fb Thanks @​dyc3! - Added the ignoreUsingDeclarations option to noUnusedVariables. When enabled, the rule no longer reports unused variables declared with using or await using, because these declarations clean up their value automatically even when the code never reads it.

    {
      "linter": {
        "rules": {
          "correctness": {
            "noUnusedVariables": {
              "options": { "ignoreUsingDeclarations": true }
            }
          }
        }
      }
    }
  • #​12424 6a41490 Thanks @​siketyan! - Removed the javascript.parser.gritMetavariables option. It was intended for internal use only and had no effect on how Biome parses JavaScript and TypeScript files. Biome now reports it as an unknown key and exits with a configuration error, so remove it from your configuration file.

  • #​12055 54870c0 Thanks @​ff1451! - Added the new assist action useGraphqlSortedVariables, which sorts the variable definitions of GraphQL operations.

    Invalid:

    query GetUser($userId: ID!, $includePosts: Boolean = false, $after: String) {
      user(id: $userId) {
        name
      }
    }
  • #​12149 83df808 Thanks @​dyc3! - Added the tailwind.stylesheet option, which points Biome at the CSS file that holds your Tailwind CSS configuration. useTailwindSortedClasses reads the @theme, @utility, and @custom-variant rules in that file and in the local files it imports, so your own theme values, utilities, and variants sort correctly.

    // biome.json
    {
      "tailwind": { "stylesheet": "./src/app.css" }
    }
    /* src/app.css */
    @import "tailwindcss";
    
    @theme {
      --color-brand: #&#8203;3b82f6;
    }
    
    @utility content-auto {
      content-visibility: auto;
    }
    
    @custom-variant theme-midnight (&:where([data-theme="midnight"] *));
  • #​12206 0f984fb Thanks @​dyc3! - Added migration of the ignoreRestSiblings and ignoreUsingDeclarations options of no-unused-vars, @typescript-eslint/no-unused-vars, and unused-imports/no-unused-vars to noUnusedVariables in biome migrate eslint. Options that the ESLint configuration omits are set to ESLint's defaults, so the migrated rule reports the same variables. For example, "no-unused-vars": "error" now migrates ignoreRestSiblings as false.

  • #​11709 32d12cb Thanks @​ematipico! - Added the new command biome inspect file, which returns developer information for the given file.

    biome inspect file path/to/file.ts

    By default, the command returns the CST of the file. The command accepts the following arguments:

    • --ast, which returns the AST of a file.
    • --ir, which returns the formatting IR of a file.
    • --semantic, which returns the semantic model information of a file, if available.
  • #​12221 cb571af Thanks @​dyc3! - The rule noEmptySource now supports Markdown files. It reports files that contain only blank lines and HTML comments. For example, the following file is now reported:

    <!-- TODO -->
  • #​12214 8955b56 Thanks @​dyc3! - The rule noEmptySource now supports YAML files. It reports files with no documents and each document that has no content. For example, the second document in the following code is now reported:

    name: foo
    ---
  • #​12033 8669e53 Thanks @​dyc3! - Added the ignoreElements option to noRedundantRoles. Elements listed in this option are not checked by the rule.

    {
      "linter": {
        "rules": {
          "a11y": {
            "noRedundantRoles": {
              "options": {
                "ignoreElements": ["button"]
              }
            }
          }
        }
      }
    }
  • #​12084 04e3750 Thanks @​dyc3! - The rule noRestrictedElements now supports HTML, Vue, Svelte, and Astro files. For example, with { "elements": { "marquee": "Use CSS animations instead." } }, the following code is now reported:

    <marquee>Breaking news</marquee>
  • #​11408 5a870f2 Thanks @​ematipico! - Added support for distributing named Grit rules, rule presets, and configurations through packages that have a manifest file.

    The field plugins is used to export named Grit plugins, and configs is used to export named configurations.
    Package entries must select a named export: package/rule, package/presets/preset, or package/configs/config. Bare package entries aren't supported.
    Rules consumed from another package are exposed under the consuming package's name, while package authors continue to reference them by their source package inside the manifest.
    Configurations consumed from another package are also exposed under the consuming package's name.

    // biome-manifest.json
    {
      "$schema": "./node_modules/@biomejs/biome/manifest_schema.json",
      "version": 1,
      "plugins": {
        "rules": [
          "@org/shared-rules/noDeprecatedApi",
          "@org/strict-rules/presets/recommended",
          { "useCompanyLogger": "./rules/useCompanyLogger.grit" }
        ],
        "presets": {
          "recommended": [
            "useCompanyLogger",
            "@org/shared-rules/noDeprecatedApi"
          ]
        }
      },
      "configs": [
        "@org/shared-configs/configs/recommended",
        { "base": "./configs/base.json" }
      ]
    }

    The package must publish the manifest and every referenced file, for example, through the files field in package.json.
    Plugin authors can expose their manifest through the biome condition with ./biome-manifest.json as its value.

    // package.json
    {
      "name": "@org/biome-plugin",
      "exports": {
        "biome": "./biome-manifest.json",
        "default": "./index.js"
      },
      "files": ["biome-manifest.json", "rules", "configs"]
    }

    And then, you can load the rules in your biome.json:

    // biome.json
    {
      "plugins": [
        "@org/biome-plugin/useCompanyLogger",
        "@org/biome-plugin/presets/recommended"
      ]
    }

    For more information on how to create a plugin to distribute via npm, check the relative guide.

  • #​12264 90f2eaf Thanks @​dyc3! - Fixed #​11082: glob patterns in the includes option of a plugin are now matched against file paths relative to the directory of the configuration file, the same as files.includes and overrides[].includes.

    Previously, the patterns were matched against the absolute file path, so a pattern such as packages/**/src/** matched no files and the plugin never ran.

    {
      "plugins": [
        { "path": "./my-plugin.grit", "includes": ["packages/**/src/**"] }
      ]
    }

    Patterns that start with **/ keep working. Patterns that contain the absolute path of the project no longer match, and must be rewritten as relative patterns.

  • #​11133 1df00de Thanks @​dlecan! - Added Android (Termux) support to the npm distribution (#​1340). npm install @biomejs/biome now works on Termux through the new @biomejs/cli-android-arm64 and @biomejs/cli-android-x64 packages, which reuse the static musl binaries.

  • #​12132 c5fadc4 Thanks @​ematipico! - Added SCSS support throughout the toolchain. Biome can now format and lint .scss files, and recognizes .module.scss files as CSS Modules.

  • #​10837 754432c Thanks @​JamBalaya56562! - Added support for Google Apps Script (.gs) files.

    They are parsed as JavaScript scripts, so ES module import/export statements are reported as errors (Apps Script has no module system). Common Apps Script service globals (e.g. SpreadsheetApp, DriveApp, Logger) are recognized by noUndeclaredVariables and noGlobalAssign, and the list can be extended through the javascript.globals option.

  • #​11126 fa63050 Thanks @​Punisheroot! - Biome now recognizes files with the .htm extension as HTML.

  • #​12291 6c6619e Thanks @​dyc3! - Changed the dependency that enables the tailwind domain automatically. The domain is now enabled when package.json declares tailwindcss v4 or later, instead of v3 or later, because we are currently targeting Tailwind v4 support. The domain can always be enabled manually.

  • #​11394 de1ad4c Thanks @​ematipico! - #### Markdown is now supported

    Added support for linting and formatting Markdown files. The first version of Biome Markdown parser has 100% compatibility
    against CommonMark.

    Other variants of Markdown, such as GitHub Flavored Markdown (GFM) aren't currently supported; however, we plan to support them soon.

    Formatter and Linter are automatically enabled by default.

    Markdown parser

    The parser comes with an opt-in option to enable frontmatter parsing. When enabled, the first thematic break --- is considered the opening fence of the frontmatter:

    // biome.json
    {
      "markdown": {
        "parser": {
          "frontmatter": true
        }
      }
    }
    ---
    title: Lorem ipsum
    ---

    The parser also comes with an opt-in option called cjkFriendlyEmphasis. When enabled, the parser follows the CommonMark CJK-friendly amendments and recognizes emphasis markers, such as **, placed directly next to Chinese, Japanese, or Korean text. Enable it only when the tool that renders your Markdown supports the same amendments, because the option changes which text Biome formats and lints as emphasis:

    // biome.json
    {
      "markdown": {
        "parser": {
          "cjkFriendlyEmphasis": true
        }
      }
    }

    With the option enabled, the following text is parsed as bold, instead of as literal **:

    **このアスタリスクは強調記号として認識されず、そのまま表示されます。**この文のせいで。
    Markdown formatter

    The formatter has great compatibility with Prettier formatting, more than 90% detected by our infrastructure. The formatter ships with
    a new option called proseWrap, that allows controlling how the Biome formatter should wrap paragraphs.

    For example, when proseWrap is set to always, the formatter will wrap the paragraph to match the configured lineWidth:

    // biome.json
    {
      "markdown": {
        "formatter": {
          "lineWidth": 20,
          "proseWrap": "always"
        }
      }
    }
    Very tiny line width, so
    the paragraph is more
    compact.
    Markdown linter

    The linter ships with a few rules inspired by markdownlint. We plan to ship more rules in the upcoming releases.

    Some rules you can start using already:

    Markdown snippets

    Biome recognizes the code inside fenced code blocks, frontmatter, and HTML blocks as embedded languages, and formats it with
    the formatter of its language and your configuration:

     ```js
    -const   value   =   {a:1,b:2}
    +const value = { a: 1, b: 2 };
     ```

    HTML blocks are formatted only when the HTML formatter is enabled. A block with a syntax error stays as written, and Biome
    still formats the rest of the file.

    The option markdown.formatter.formatEmbeds controls this behavior, and it's enabled by default. Set it to false to keep
    the code of these blocks as written:

    // biome.json
    {
      "markdown": {
        "formatter": {
          "formatEmbeds": false
        }
      }
    }

    The command biome migrate prettier migrates the Prettier option embeddedLanguageFormatting
    to markdown.formatter.formatEmbeds.

    The option markdown.analyzeEmbeds runs the linter and assist actions on the same blocks, with the rules and actions of
    their language, and reports their syntax errors. It's disabled by default, because fenced code blocks usually contain
    examples or partial code:

    // biome.json
    {
      "markdown": {
        "analyzeEmbeds": true
      }
    }
  • #​11634 04c3f5d Thanks @​ematipico! - Added biome inspect plugins to list resolved rules by plugin and importing preset without loading or executing plugin code. Include globs show which files each import targets, and --path selects a target file. Fixed Markdown linter overrides and their configuration inspection.

  • #​12282 a3fa0d6 Thanks @​ff1451! - Added the new assist action useGraphqlSortedArguments, which sorts the arguments of GraphQL fields and directives, and the arguments declared by field and directive definitions.

    Invalid:

    query {
      users(orderBy: NAME, first: 10, after: "cursor") {
        name
      }
    }
  • #​10631 1077238 Thanks @​thibaut-pro! - Added the sortFirst option to the useSortedAttributes action (JSX and HTML). It takes a list of attribute names that are sorted before all other attributes, in the order given, while the remaining attributes keep their usual sort. This is useful to keep attributes such as key first.

    With the following configuration:

    {
      "assist": {
        "actions": {
          "source": {
            "useSortedAttributes": {
              "level": "on",
              "options": { "sortFirst": ["key"] }
            }
          }
        }
      }
    }

    The attributes are reordered so that key comes first:

    // Before
    <div className={styles.investment} key={investment.id} />;
    
    // After
    <div key={investment.id} className={styles.investment} />;
  • #​10424 189b7ba Thanks @​LinusU! - Added the partitionByNewLine option to the useSortedInterfaceMembers assist. When enabled, members separated by a blank line are kept in their own section and sorted only within that section, preserving the logical groupings the author intentionally introduced with empty lines.

Patch Changes
  • #​11953 354f74c Thanks @​Th3S4mur41! - Enhanced the nursery rule useLogicalProperties to check physical CSS values in addition to physical property names.

    The rule recognizes physical values in frame-sizing, anchor-size(), and anchor(), with direction-aware replacements controlled by the existing direction option.

    For justify-content: left and justify-content: right, the rule reports a diagnostic without an automatic replacement because the correct logical alignment depends on the layout axis.

    This is a second part of the rule covering parts of #​9034

  • #​12175 3730b32 Thanks @​dyc3! - Added the nursery rule noDoubleComparison, which reports two comparisons of the same values that can be combined into one. For example, x === y || x < y can be written as x <= y.

  • #​12166 25eb10c Thanks @​dyc3! - Added the new nursery rule noNestedSwitch, which disallows switch statements inside other switch statements.

    switch (n) {
      case 0:
        switch (m) {} // reported
    }
  • #​12170 872ac9f Thanks @​dyc3! - Added the new nursery rule noNestedTemplateLiterals, which disallows template literals written inside other template literals.

    const message = `I have ${color ? `${count} ${color}` : count} apples`;
  • #​12111 f72375f Thanks @​dyc3! - Added the nursery rule noObjectConstructor, which disallows calling the Object constructor without arguments, such as new Object() or Object(). Biome can replace these calls with the object literal {}.

  • #​12254 cb88f07 Thanks @​dyc3! - Added the nursery rule noSvelteClassDirective, which reports Svelte's class: directive. Since Svelte 5.16, the class attribute accepts objects and arrays, and Svelte recommends them over the directive.

    <div class:active={isActive}></div>
  • #​12186 30aa7d2 Thanks [@​dyc3](https://re

[!IMPORTANT]
✂ PR body was truncated to here.


Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

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

👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


  • 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 requested a review from skulidropek February 19, 2026 08:15
@renovate
renovate Bot force-pushed the renovate/all branch 12 times, most recently from 6cba843 to 0f055c2 Compare February 26, 2026 20:40
@renovate
renovate Bot force-pushed the renovate/all branch 9 times, most recently from 92bada8 to 71cb2e1 Compare March 7, 2026 01:14
@renovate
renovate Bot force-pushed the renovate/all branch 7 times, most recently from 54d829d to 590142f Compare March 13, 2026 18:50
@renovate
renovate Bot force-pushed the renovate/all branch 7 times, most recently from 5daa077 to 79555ae Compare March 31, 2026 20:40
@renovate
renovate Bot force-pushed the renovate/all branch 14 times, most recently from 055e1ef to d1673ca Compare April 10, 2026 12:43
@renovate
renovate Bot force-pushed the renovate/all branch 6 times, most recently from c20c888 to c23139a Compare April 16, 2026 12:07
@coderabbitai

coderabbitai Bot commented May 14, 2026 •

Copy link
Copy Markdown

Review Change Stack

Important

Review skipped

Bot user detected.

To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 19b04fdc-fefe-413b-b34c-151e12dd6a78

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review
📝 Walkthrough

Bumps pnpm to 11.1.3 at root and app, upgrades Changesets and many app deps/devDeps, and updates GitHub Actions versions: pnpm/action-setup → v6, Node runtime → 24.15.0, and actions/upload-artifact → v7.

Changes

Dependency and Action Upgrades

Layer / File(s) Summary
Root package manager and Changesets tooling
package.json
Root package.json updated to packageManager: "pnpm@11.1.3" and Changesets devDependencies (@changesets/changelog-github, @changesets/cli) bumped.
App package manager and dependency upgrades
packages/app/package.json
packages/app packageManager set to pnpm@11.1.3; multiple runtime dependencies and devDependencies (including @effect/*, effect, ts-morph, tooling, TypeScript, Vite/Vitest, linters) have version bumps.
GitHub Actions and workflow configuration
.github/actions/setup/action.yml, .github/workflows/checking-dependencies.yml, .github/workflows/snapshot.yml
Composite action/workflows updated: pnpm/action-setup bumped to v6, actions/setup-node node-version changed to 24.15.0, and actions/upload-artifact bumped to v7.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related issues

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Title check ✅ Passed The title clearly identifies the pull request as a dependency update, which matches the primary changes across packages, tooling, and CI actions.
Description check ✅ Passed The description directly documents the Renovate-generated dependency, package manager, CI action, and runtime version updates.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch renovate/all

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

🐰 A patch of pins and versions new,
I nibbled bumps and pushed them through.
Workflows hum and artifacts sing,
PNPM hops to a brighter spring.
— Rabbit with a CI carrot 🥕

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 4

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In @.github/actions/setup/action.yml:
- Line 13: The action uses pnpm/action-setup@v6 but the custom action default
still sets node-version: 20.16.0 which is incompatible; update the default
node-version in action.yml to Node 24 (>=24.0.0, e.g., 24.15.0 to match
checking-dependencies.yml) so the action runs on the required runtime, and after
changing the default verify pnpm selection behavior (packageManager in
package.json / pnpm@11.1.2) because v6 has a bug that may ignore
packageManager—if necessary pin the pnpm version explicitly or add configuration
to enforce packageManager to ensure the expected pnpm version is used.

In @.github/workflows/checking-dependencies.yml:
- Line 15: The workflow uses pnpm/action-setup@v6 but package.json declares
packageManager: pnpm@11.1.2, causing a mismatch; either align the workflow or
package.json: update package.json's packageManager to "pnpm@11.1.1" to match the
action's default, or explicitly configure the action in
.github/workflows/checking-dependencies.yml (pnpm/action-setup) with a
compatible with.version value (e.g., 11.1.1) until 11.1.2 is released, or remove
the explicit version so the action auto-detects from package.json and surfaces
the proper error if the version is unavailable.

In `@package.json`:
- Line 6: Update package.json to remove deprecated pnpm v10 fields and adopt
pnpm v11 format: replace any ignoredBuiltDependencies and onlyBuiltDependencies
entries with the new allowBuilds configuration (mapping allowed package patterns
or booleans accordingly) and set the engines.node field to ">=22" (or "22.x" per
project policy) so Node.js requirement is explicit for pnpm 11; also keep
packageManager set to "pnpm@11.1.2" and run the pnpm v10→v11 codemod (pnpx
codemod run pnpm-v10-to-v11) to ensure any other migration changes are applied.

In `@packages/app/package.json`:
- Line 71: Add an "engines" entry to packages/app/package.json to require
Node.js >=20.19.0 so ESLint 10.3.0 runs correctly; locate the existing "eslint":
"^10.3.0" dependency in package.json and add an "engines" object with "node":
">=20.19.0" to enforce the minimum Node version for contributors and CI.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 99f915a6-56ca-42ec-8fc8-02ccf3d20151

📥 Commits

Reviewing files that changed from the base of the PR and between 2b21043 and f9810e9.

⛔ Files ignored due to path filters (1)
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (5)
  • .github/actions/setup/action.yml
  • .github/workflows/checking-dependencies.yml
  • .github/workflows/snapshot.yml
  • package.json
  • packages/app/package.json

Comment thread .github/actions/setup/action.yml
steps:
- uses: actions/checkout@v6
- uses: pnpm/action-setup@v4
- uses: pnpm/action-setup@v6

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major | ⚡ Quick win

🧩 Analysis chain

🌐 Web query:

pnpm/action-setup v6 release notes

💡 Result:

pnpm/action-setup v6 release notes (from the repo’s official GitHub Releases pages) are available as a series of versioned release entries under the v6 tags. The most recent v6 entry visible in the official releases feed is v6.0.8 (published 2026-05-12), with the following changes: 1) v6.0.8 (2026-05-12) - docs(README): fix cache_dependency_path type (PR #257) [1] - fix: drop patchPnpmEnv so standalone+self-update works on Windows (PR #258) [1] - fix: update pnpm to 11.1.1 (PR #248) [1] 2) v6.0.4 (2026-04-30) - fix: use npm co-located with the action node binary (PR #239) [2] Additional v6 changes are also reflected in the v4...v6 comparison page (including updates to README/examples and caching-related input typing/behavior), which indicates that v6 introduces/updates inputs like cache_dependency_path handling. In that compare view, cache_dependency_path is described as accepting multiple paths delimited by newlines, and the example workflows are updated to use pnpm/action-setup@v6 instead of v4. [3] Notes / where to read the full set of v6 release notes: - Start at the official Releases index for pnpm/action-setup and select the v6.x.y tags. The Releases index is the source of truth for the complete v6 changelog history. [4] If you want, tell me the exact v6 range you care about (e.g., “v6.0.0 through v6.0.8” or “just v6.0.8”), and I’ll summarize only those entries.

Citations:


🌐 Web query:

Node.js 24.15.0 release notes

💡 Result:

Node.js 24.15.0 (Krypton, LTS) release notes (published 2026-04-15) list these notable changes: - cli: add --max-heap-size option [1] - cli: add --require-module / --no-require-module [2] - crypto: add raw key formats support to the KeyObject APIs [1] - fs: add throwIfNoEntry option for fs.stat and fs.promises.stat [2] - http2: add http1Options for HTTP/1 fallback configuration [2] - module: mark require(esm) as stable [2] - module: mark module compile cache as stable [2] - net: add setTOS and getTOS to Socket [2] - sqlite: add limits property to DatabaseSync [2] - sqlite: mark as release candidate [2] - src: add C++ support for diagnostics channels [2] - stream: rename Duplex.toWeb type option to readableType [2] - test_runner: add exports option for module mocks [2] - test_runner: expose worker ID for concurrent test execution [2] - test_runner: show interrupted test on SIGINT [2] Primary sources for the above are the official Node.js blog release page and the Node.js v24 changelog section for 24.15.0 [1][2].

Citations:


🏁 Script executed:

#!/bin/bash
# Check all workflow files for consistency in action versions
rg -n "pnpm/action-setup@" --type yaml
rg -n "node-version:" --type yaml

Repository: ProverCoderAI/effect-template

Length of output: 55


🏁 Script executed:

#!/bin/bash
# Check if the workflow file exists
ls -la .github/workflows/ 2>/dev/null || echo "Directory not found"

# If it exists, read the file
if [ -f ".github/workflows/checking-dependencies.yml" ]; then
  echo "=== File found, reading contents ==="
  cat -n ".github/workflows/checking-dependencies.yml"
else
  echo "File not found"
fi

# Also check with fd for any workflow files
echo "=== Searching for workflow files ==="
fd -e yml -e yaml ".github/workflows/" 2>/dev/null || fd -e yml -e yaml

Repository: ProverCoderAI/effect-template

Length of output: 1412


🏁 Script executed:

#!/bin/bash
# Check pnpm version in lock file
head -20 pnpm-lock.yaml | grep -i "version\|lockfileVersion"

# Also check package.json for pnpm version requirement if any
if [ -f "package.json" ]; then
  grep -i "pnpm" package.json
fi

# Check if there's a .npmrc or similar config
if [ -f ".npmrc" ]; then
  cat .npmrc
fi

Repository: ProverCoderAI/effect-template

Length of output: 745


🌐 Web query:

pnpm 11.1.2 release date and availability

💡 Result:

No evidence found of a pnpm 11.1.2 release as of 2026-05-14. The latest releases are v11.1.1 (published around 2026-05-12 [1]) and v11.1.0 (published 2026-05-11 [2][3][4]). Official GitHub releases page lists recent tags up to May 12 but no 11.1.2 [3]. npm registry tracks these releases [4], and no sources mention 11.1.2. It is not yet released or available.[2][3][1]

Citations:


🌐 Web query:

pnpm/action-setup configure pnpm version 11.1.2

💡 Result:

To configure pnpm/action-setup to install pnpm 11.1.2, use the action’s with.version input: steps: - uses: pnpm/action-setup@v6 with: version: 11.1.2 The version input is “Version of pnpm to install” and supports exact versions like 11.1.2 (or version ranges/tags). If you omit version, the action can use the packageManager field from your package.json instead.[1] You may optionally specify run_install if you also want the action to run pnpm install for you; otherwise run pnpm install in a later step.[1]

Citations:


Configure pnpm version in pnpm/action-setup to match project requirement.

The workflow uses pnpm/action-setup@v6 which installs pnpm 11.1.1 by default, but the project specifies packageManager: pnpm@11.1.2 in package.json. Since pnpm 11.1.2 does not yet exist, the pnpm install --frozen-lockfile step (line 21) will fail due to version mismatch. Either update package.json to use pnpm 11.1.1, or configure the action with with.version: 11.1.2 once that version is released. Alternatively, the action can auto-detect the version from package.json if no version input is specified (allowing proper error messaging when unavailable).

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.github/workflows/checking-dependencies.yml at line 15, The workflow uses
pnpm/action-setup@v6 but package.json declares packageManager: pnpm@11.1.2,
causing a mismatch; either align the workflow or package.json: update
package.json's packageManager to "pnpm@11.1.1" to match the action's default, or
explicitly configure the action in .github/workflows/checking-dependencies.yml
(pnpm/action-setup) with a compatible with.version value (e.g., 11.1.1) until
11.1.2 is released, or remove the explicit version so the action auto-detects
from package.json and surfaces the proper error if the version is unavailable.

Comment thread package.json Outdated
"private": true,
"description": "Monorepo workspace for effect-template",
"packageManager": "pnpm@10.29.3",
"packageManager": "pnpm@11.1.2",

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🔴 Critical | 🏗️ Heavy lift

🧩 Analysis chain

🌐 Web query:

pnpm 11 release notes breaking changes from pnpm 10

💡 Result:

pnpm 11 introduces several breaking changes from v10, primarily documented in the official migration guide [1] and v11.0.0 release notes [2][3]. Key breaking changes include: Node.js requirement: Now requires Node.js 22 or newer; support for v18-21 dropped. pnpm is pure ESM, and standalone exe needs glibc 2.27+ [3][2][4]. Configuration changes [1]: - No longer reads config from package.json#pnpm; move to pnpm-workspace.yaml. -.npmrc limited to auth/registry; other settings (hoist-pattern, node-linker, etc.) to pnpm-workspace.yaml (camelCase keys). - npm_config_* env vars ignored; use pnpm_config_*. - Deprecated build settings (onlyBuiltDependencies, etc.) removed; use allowBuilds [3][2]. - Package manager settings consolidated to pmOnFail: 'download'|'ignore'|'warn'|'error'. - Renames: allowNonAppliedPatches -> allowUnusedPatches; auditConfig.ignoreCves -> auditConfig.ignoreGhsas. Store upgraded to v11: SQLite index.db replaces JSON files; incompatible with v10 stores (clear or migrate) [3][2][5]. Global installs: Isolated in {pnpmHomeDir}/global/v11/{hash}/ with own package.json/node_modules/pnpm-lock.yaml. pnpm install -g (no args) removed; use pnpm add -g [3][2]. pnpm link changes: No global store resolution; only relative/absolute paths. --global removed (use pnpm add -g.); no-arg pnpm link removed [1][6]. Removed commands: pnpm server; npm passthrough (publish, login, etc.) now native, some like access, edit removed [3][2]. Lockfile: patchedDependencies simplified to selector -> hash; auto-migrated [5]. Script shadowing: Scripts named clean/setup/deploy/rebuild run script, not built-in; use pnpm pm [1]. Security defaults: minimumReleaseAge=1440 (1 day), blockExoticSubdeps=true, strictDepBuilds=true [3][2]. A codemod assists migration: pnpx codemod run pnpm-v10-to-v11 [1]. Full details: https://pnpm.io/migration [1], https://github.com/pnpm/pnpm/releases/tag/v11.0.0 [2], https://pnpm.io/blog/releases/11.0 [3].

Citations:


🏁 Script executed:

#!/bin/bash
# Check if pnpm-lock.yaml has been updated alongside this change
git diff HEAD -- pnpm-lock.yaml | head -50

Repository: ProverCoderAI/effect-template

Length of output: 55


🏁 Script executed:

#!/bin/bash
# Check if pnpm-lock.yaml exists and what version it specifies
if [ -f "pnpm-lock.yaml" ]; then
  echo "=== pnpm-lock.yaml lockfileVersion ==="
  head -20 pnpm-lock.yaml | rg "lockfileVersion|name|version"
else
  echo "pnpm-lock.yaml not found"
fi

# Check if package.json has pnpm config that needs migration
echo -e "\n=== package.json pnpm config ==="
jq '.pnpm' package.json 2>/dev/null || echo "No pnpm config in package.json"

# Check Node.js version requirement
echo -e "\n=== Node.js engines requirement ==="
jq '.engines' package.json 2>/dev/null || echo "No engines field"

Repository: ProverCoderAI/effect-template

Length of output: 586


🏁 Script executed:

#!/bin/bash
# Check git log to see if pnpm-lock.yaml was modified in this change
echo "=== Recent git changes to pnpm-lock.yaml ==="
git log --oneline -n 10 -- pnpm-lock.yaml 2>/dev/null || echo "No pnpm-lock.yaml history"

# Check if .npmrc or pnpm-workspace.yaml exists
echo -e "\n=== pnpm configuration files ==="
ls -la .npmrc pnpm-workspace.yaml .pnpmfile.cjs 2>/dev/null || echo "Checking config files..."
fd -e "npmrc|pnpmfile|workspace.yaml" .

Repository: ProverCoderAI/effect-template

Length of output: 287


🏁 Script executed:

#!/bin/bash
# Check CI workflows for Node.js version
echo "=== CI/CD Node.js version requirement ==="
find .github -name "*.yml" -o -name "*.yaml" 2>/dev/null | head -5 | xargs grep -l "node-version\|node_version\|setup-node" 2>/dev/null | head -1 | xargs cat 2>/dev/null | grep -A 2 "node-version\|setup-node" || echo "Checking workflows..."

Repository: ProverCoderAI/effect-template

Length of output: 370


Migrate deprecated pnpm configuration to pnpm 11 format.

The pnpm-lock.yaml has been regenerated to v9.0 (pnpm 11 format), but package.json still contains deprecated configuration that is no longer supported in pnpm 11:

  • ignoredBuiltDependencies and onlyBuiltDependencies must be migrated to the new allowBuilds configuration
  • Node.js requirement must be explicitly set to 22+ in the engines field (pnpm 11 no longer supports Node.js v18-21)

These deprecated options will cause failures when running pnpm commands. Use the pnpm v10→v11 migration codemod (pnpx codemod run pnpm-v10-to-v11) to complete the migration.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@package.json` at line 6, Update package.json to remove deprecated pnpm v10
fields and adopt pnpm v11 format: replace any ignoredBuiltDependencies and
onlyBuiltDependencies entries with the new allowBuilds configuration (mapping
allowed package patterns or booleans accordingly) and set the engines.node field
to ">=22" (or "22.x" per project policy) so Node.js requirement is explicit for
pnpm 11; also keep packageManager set to "pnpm@11.1.2" and run the pnpm v10→v11
codemod (pnpx codemod run pnpm-v10-to-v11) to ensure any other migration changes
are applied.

Comment thread packages/app/package.json Outdated
"@typescript-eslint/parser": "^8.59.3",
"typescript-eslint": "^8.59.3",
"@vitest/coverage-v8": "^4.1.6",
"eslint": "^10.3.0",

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

🧩 Analysis chain

🌐 Web query:

ESLint 10.0 release notes breaking changes migration guide

💡 Result:

ESLint 10.0 release notes / breaking changes and the official migration guide are here: 1) Official migration guide (v9.x → v10.x) https://eslint.org/docs/latest/use/migrate-to-10.0.0 [1] 2) Official release notes for v10.0.0 https://eslint.org/blog/2026/02/eslint-v10.0.0-released/ [2] Key breaking changes called out in the migration guide (high-signal items) A) Node.js version support dropped ESLint v10.0.0 no longer supports Node.js versions < v20.19.0 (and also drops v21.x and v23.x); the migration guide says to upgrade to Node.js v20.19.0 or later [1][3]. B) “Old config format” no longer supported; flat config required The v10 migration guide states the legacy config system is removed (i.e., old eslintrc format is no longer supported) and points you to use flat config (eslint.config.) [1]. The migration guide summary also calls out removing the eslintrc format [1][3]. C) New configuration file lookup algorithm In ESLint v9 there was an alternate behavior guarded by a feature flag; in v10.0.0, the behavior is the default. The migration guide describes that config lookup now starts from the directory of each linted file and searches upward to the filesystem root (instead of starting from the current working directory) and that the v10_config_lookup_from_file flag was removed [1]. D) Removed feature for eslintrc config lookup behavior flag Attempting to use v10_config_lookup_from_file now results in an error (because the flag was removed) [1]. E) Rule/behavior & API breaking changes (examples listed in the migration guide) The migration guide lists multiple other breaking/API changes, including (among others) removal of the nodeType property in LintMessage objects [1], JSX references now being tracked [1], and changes around fixer APIs requiring string text arguments [1]. How to migrate (practical steps to follow) - Upgrade Node.js to a supported version (>= v20.19.0) before running ESLint 10 [1]. - Ensure you are using flat config (eslint.config.) and remove any legacy eslintrc configuration usage [1]. - If you previously relied on the v9 config lookup behavior / feature flag, update to the new lookup algorithm (start from each linted file’s directory) [1]. - Then run the official migration guide’s checklist/sections to address any remaining listed breaking changes in your specific setup [1].

Citations:


🏁 Script executed:

#!/bin/bash
# Check ESLint configuration files for compatibility
fd eslint.config -e js -e mjs -e cjs --exec cat {}

Repository: ProverCoderAI/effect-template

Length of output: 55


🏁 Script executed:

#!/bin/bash
# Check for ESLint configuration files
echo "=== Searching for ESLint config files ==="
fd -e json -e js -e cjs -e mjs '(eslintrc|eslint\.config)' --base-directory .

# Check package.json for Node.js version and ESLint config location
echo -e "\n=== Checking packages/app/package.json ==="
head -80 packages/app/package.json | tail -20

# Check root package.json for Node.js engines
echo -e "\n=== Checking root package.json for engines ==="
rg '"engines"' -A 5 package.json

Repository: ProverCoderAI/effect-template

Length of output: 1013


🏁 Script executed:

#!/bin/bash
# More comprehensive search for all ESLint-related configs
echo "=== Searching for all ESLint configs ==="
find . -type f \( -name ".eslintrc*" -o -name "eslint.config.*" \) 2>/dev/null

# Check for ESLint in workspace packages
echo -e "\n=== Checking eslint references in all package.json files ==="
find . -name "package.json" -type f -exec grep -l "eslint" {} \; 2>/dev/null

Repository: ProverCoderAI/effect-template

Length of output: 252


🏁 Script executed:

#!/bin/bash
# Check the ESLint flat config file
echo "=== Content of eslint.config.mts ==="
cat packages/app/eslint.config.mts

# Search for Node.js version constraints
echo -e "\n=== Searching for Node.js version constraints ==="
find . -type f \( -name ".nvmrc" -o -name ".tool-versions" -o -name "nvmrc" \) 2>/dev/null | head -10

# Check GitHub workflows for Node.js version
echo -e "\n=== Checking for Node.js version in CI/workflows ==="
fd "\.ya?ml$" .github/workflows 2>/dev/null | xargs grep -h "node-version" 2>/dev/null | head -10

Repository: ProverCoderAI/effect-template

Length of output: 10380


🏁 Script executed:

#!/bin/bash
# Check if engines field exists in root and app package.json
echo "=== Checking engines field in package.json files ==="
rg '"engines"' -B 1 -A 3 . --type json

# Check for `@eslint/compat` usage in eslint.config.mts
echo -e "\n=== Checking `@eslint/compat` usage ==="
grep -n "@eslint/compat\|compat" packages/app/eslint.config.mts || echo "No `@eslint/compat` found in config"

Repository: ProverCoderAI/effect-template

Length of output: 219


Add engines field to enforce Node.js >= v20.19.0 for ESLint 10.3.0 compatibility.

The repository has already properly migrated to ESLint's flat config format (eslint.config.mts) and uses @eslint/compat correctly for plugin compatibility. However, ESLint 10.3.0 requires Node.js >= v20.19.0, and this constraint should be explicitly documented in package.json via an engines field. Without it, developers using older Node.js versions may encounter runtime errors. Add to packages/app/package.json:

"engines": {
  "node": ">=20.19.0"
}
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@packages/app/package.json` at line 71, Add an "engines" entry to
packages/app/package.json to require Node.js >=20.19.0 so ESLint 10.3.0 runs
correctly; locate the existing "eslint": "^10.3.0" dependency in package.json
and add an "engines" object with "node": ">=20.19.0" to enforce the minimum Node
version for contributors and CI.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant