Repository navigation
fix(deps): update all dependencies - #20
renovate[bot] wants to merge 1 commit into
Conversation
61f06bc to
4c58bf8
Compare
52aba09 to
16d549f
Compare
f240877 to
3c2e51f
Compare
9456c54 to
0ff8d9f
Compare
6ff8486 to
4c77644
Compare
|
Important Review skippedBot user detected. To trigger a single review, invoke the
|
| Layer / File(s) | Summary |
|---|---|
GitHub Actions versions .github/actions/setup/action.yml, .github/workflows/checking-dependencies.yml, .github/workflows/snapshot.yml |
pnpm action bumped to @v6 in composite and workflow; actions/setup-node Node input updated to 24.15.0; artifact upload action bumped to actions/upload-artifact@v7. |
pnpm version pins package.json, packages/app/package.json |
Workspace and app packageManager updated from pnpm@10.30.1 to pnpm@11.1.2. |
Dependency and toolchain upgrades package.json, packages/app/package.json |
Root Changesets packages (@changesets/changelog-github, @changesets/cli) bumped; app package dependencies and devDependencies refreshed (Effect packages, ts-morph, Biome/ESLint, TypeScript tooling, Vitest/Vite, etc.). |
Estimated code review effort
🎯 3 (Moderate) | ⏱️ ~20 minutes
Possibly related issues
- Dependency Dashboard effect-template#10: Overlaps pnpm/action-setup, pnpm pinning, and tooling/version updates.
- Dependency Dashboard eslint-plugin-suggest-members#2: Matches workflow and pnpm/tooling bumps in CI and manifests.
- Dependency Dashboard #1: Mirrors the same workflow and package.json version updates.
- Dependency Dashboard dist-deps-prune#2: Contains similar dependency/version bump changes (pnpm, actions, packages).
- Dependency Dashboard context-doc#5: Renovate-style workflow and package pin bumps align with that issue.
- Dependency Dashboard effect-eslint-template#6: Shares pnpm and ESLint/Biome/tooling dependency updates.
🚥 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. Description check ✅ Passed The description clearly documents the Renovate dependency, package manager, and GitHub Actions updates in the changeset. Title check ✅ Passed The title accurately identifies the pull request as a broad dependency update, including packages, tooling, and GitHub Actions.
-
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
-
- Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts
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.
🐇 I nudged a YAML line, made pnpm climb to eleven,
Actions hum a newer tune, workflows light as heaven.
Packages refreshed, linters wake and play,
Tests tiptoe cleaner paths, building through the day.
✨
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 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 workflow currently uses a mutable tag "pnpm/action-setup@v6";
replace that with an immutable full commit SHA (40-hex) for pnpm/action-setup to
pin the action (e.g., "pnpm/action-setup@<full-commit-sha>"). Locate the "uses:
pnpm/action-setup@v6" entry in the action.yml and update it to the exact commit
SHA from the pnpm/action-setup repository, verify the SHA is full-length (40
characters) and that the workflow still runs correctly after the change.
In @.github/workflows/checking-dependencies.yml:
- Line 15: Replace the mutable tag reference "uses: pnpm/action-setup@v6" with
an immutable pin to the full commit SHA for the pnpm/action-setup action (e.g.,
"uses: pnpm/action-setup@<full-commit-sha>"); locate the occurrences of
"pnpm/action-setup@v6" in the workflow and update them to the corresponding
release commit SHA from the action's repository, then verify the workflow runs
successfully.
🪄 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: 4cd2e52a-a23f-4849-8bc7-20b25e799703
⛔ Files ignored due to path filters (1)
pnpm-lock.yamlis excluded by!**/pnpm-lock.yaml
📒 Files selected for processing (5)
.github/actions/setup/action.yml.github/workflows/checking-dependencies.yml.github/workflows/snapshot.ymlpackage.jsonpackages/app/package.json
| steps: | ||
| - name: Install pnpm | ||
| uses: pnpm/action-setup@v3 | ||
| uses: pnpm/action-setup@v6 |
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
# Verify mutable action refs under .github (tag-based refs like `@v1/`@v6).
# Expected: no matches after SHA pinning.
rg -n --iglob '*.yml' --iglob '*.yaml' 'uses:\s*[^@[:space:]]+@v[0-9]+(\.[0-9]+){0,2}\b' .githubRepository: ProverCoderAI/openapi-effect
Length of output: 1009
Pin pnpm/action-setup to an immutable commit SHA.
Line 13 uses a mutable tag (@v6). Please pin to a full-length commit SHA to reduce supply-chain risk and avoid policy breaks in hardened org settings.
🔒 Suggested change
- uses: pnpm/action-setup@v6
+ uses: pnpm/action-setup@<full-length-commit-sha> # v6.xReference: https://docs.github.com/actions/security-guides/security-hardening-for-github-actions
🤖 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/actions/setup/action.yml at line 13, The workflow currently uses a
mutable tag "pnpm/action-setup@v6"; replace that with an immutable full commit
SHA (40-hex) for pnpm/action-setup to pin the action (e.g.,
"pnpm/action-setup@<full-commit-sha>"). Locate the "uses: pnpm/action-setup@v6"
entry in the action.yml and update it to the exact commit SHA from the
pnpm/action-setup repository, verify the SHA is full-length (40 characters) and
that the workflow still runs correctly after the change.
| steps: | ||
| - uses: actions/checkout@v6 | ||
| - uses: pnpm/action-setup@v4 | ||
| - uses: pnpm/action-setup@v6 |
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
# Verify mutable action refs under .github (tag-based refs like `@v1/`@v6).
# Expected: no matches after SHA pinning.
rg -n --iglob '*.yml' --iglob '*.yaml' 'uses:\s*[^@[:space:]]+@v[0-9]+(\.[0-9]+){0,2}\b' .githubRepository: ProverCoderAI/openapi-effect
Length of output: 1009
Pin pnpm/action-setup to a commit SHA instead of a mutable tag.
Line 15 uses @v6, which is a mutable tag reference. Per GitHub's security hardening guidelines, action references should be pinned to full commit SHAs to ensure immutability and prevent unintended updates from tag rewrites.
🤖 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, Replace the mutable
tag reference "uses: pnpm/action-setup@v6" with an immutable pin to the full
commit SHA for the pnpm/action-setup action (e.g., "uses:
pnpm/action-setup@<full-commit-sha>"); locate the occurrences of
"pnpm/action-setup@v6" in the workflow and update them to the corresponding
release commit SHA from the action's repository, then verify the workflow runs
successfully.
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 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 `@package.json`:
- Line 6: The package.json currently sets "packageManager": "pnpm@11.1.2" but
pnpm v11 requires config and environment changes; run the recommended codemod
(pnpx codemod run pnpm-v10-to-v11) and then: move any settings under the
package.json "pnpm" field into pnpm-workspace.yaml, strip .npmrc to only
auth/registry entries, update .nvmrc and CI to Node.js 22+ to match pnpm v11,
rename any environment variables from npm_config_* to pnpm_config_ and manually
review remaining envs, and rename or invoke scripts named
clean/setup/deploy/rebuild using pnpm pm to avoid shadowing built-ins.
🪄 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: 78ded05a-1811-4eac-8349-84f29cb8618e
⛔ Files ignored due to path filters (1)
pnpm-lock.yamlis excluded by!**/pnpm-lock.yaml
📒 Files selected for processing (5)
.github/actions/setup/action.yml.github/workflows/checking-dependencies.yml.github/workflows/snapshot.ymlpackage.jsonpackages/app/package.json
🚧 Files skipped from review as they are similar to previous changes (4)
- .github/actions/setup/action.yml
- .github/workflows/checking-dependencies.yml
- .github/workflows/snapshot.yml
- packages/app/package.json
| "private": true, | ||
| "description": "Monorepo workspace for effect-template", | ||
| "packageManager": "pnpm@10.30.1", | ||
| "packageManager": "pnpm@11.1.2", |
There was a problem hiding this comment.
🧩 Analysis chain
🌐 Web query:
pnpm 11 breaking changes and migration guide
💡 Result:
pnpm 11 is a major release that introduces significant breaking changes, security-first defaults, and architectural improvements [1]. The official migration guide is available at https://pnpm.io/11.x/migration [2]. Key Breaking Changes and Migration Steps Configuration Changes pnpm 11 significantly changes how configuration is handled [3][1]: - Configuration is no longer read from the pnpm field in package.json; move these settings to pnpm-workspace.yaml [3][2]. -.npmrc files are now restricted to auth and registry settings only [3][1]. All other settings (e.g., hoist-pattern, node-linker) must be moved to pnpm-workspace.yaml using camelCase keys [3][2]. - npm_config_* environment variables are no longer supported; rename them to pnpm_config_* [3][1]. - pnpm no longer reads npm's global config at $PREFIX/etc/npmrc [1]. Dependency and Script Management - Build-dependency settings (onlyBuiltDependencies, neverBuiltDependencies, etc.) are consolidated into a single allowBuilds map in pnpm-workspace.yaml [3][1]. - Package manager strictness settings are collapsed into a single pmOnFail setting [3][2]. - Script names now shadow built-in commands [3]. If you have scripts named clean, setup, deploy, or rebuild, pnpm will execute your script instead of the built-in command; use pnpm pm to access the built-in version [3]. - pnpm install -g (with no arguments) is no longer supported; use pnpm add -g instead [3][1]. Environment and Infrastructure - Node.js 18, 19, 20, and 21 are no longer supported; Node.js 22+ is required [1]. - pnpm is now distributed as pure ESM [1]. - Global installs are now isolated using a global-virtual-store, preventing interference between global packages [1]. Security and New Features - Minimum Release Age: By default, pnpm 11 blocks the installation of package versions published within the last 24 hours to mitigate supply chain attacks [4][5][6]. - Exotic Subdependencies: pnpm 11 blocks dependencies resolved from non-standard sources (e.g., Git repositories or direct tarball URLs) by default [4][6]. - Native Publish: The npm CLI fallback for publishing has been removed in favor of a native implementation [1]. - Store Index: The store index has been migrated from a JSON-per-package format to a single SQLite database for improved performance [1][5]. Migration Tooling The pnpm team provides a codemod to automate many of these changes [2]. You can run it in your project directory: pnpx codemod run pnpm-v10-to-v11 [2] For changes that cannot be automated, such as environment variable updates, manual review is required [3][2].
Citations:
- 1: https://pnpm.io/blog/releases/11.0
- 2: https://pnpm.io/11.x/migration
- 3: https://pnpm.io/migration
- 4: https://gbhackers.com/pnpm-11-enables-default-release-age-guard/
- 5: https://cyberpress.org/pnpm-blocks-supply-attacks/
- 6: https://undercodenews.com/pnpm-11-reinvents-javascript-security-a-new-era-for-dependency-protection/
🌐 Web query:
pnpm 11.1.2 release notes and security advisories
💡 Result:
As of May 17, 2026, pnpm version 11.1.2 is the latest release [1]. Release Notes for pnpm 11.1.2 Specific release notes for version 11.1.2 were not explicitly detailed in the provided search results, as it is a very recent patch release [1]. However, it follows the major 11.1.0 and 11.1.1 releases, which introduced several significant features and fixes [2][3][4]: - New Commands: Added pnpm audit signatures (to verify ECDSA registry signatures), pnpm bugs (to open package bug trackers), and pnpm owner (to manage package owners) [3][4]. - Named Registries: Added support for installing packages from arbitrary named registries, including a built-in gh: prefix for the GitHub Packages npm registry [3][4]. - CI Improvements: Introduced the --no-runtime flag (config: runtime=false) to skip installing runtime entries (e.g., Node.js) in CI environments [3][4]. - Fixes: Version 11.1.1 included fixes for installability validation in workspace projects, resolved issues with pnpm add for named registries, and updated @zkochan/cmd-shim to improve compatibility with Git Bash on Windows [2]. Security Advisories There are no specific security advisories listed for version 11.1.2. Users should monitor the official pnpm GitHub Security Advisories page for any future disclosures [5]. Recent security-related updates in the pnpm 11 series include: - Minimum Release Age: pnpm 11 introduced a default Minimum Release Age of 24 hours (1440 minutes), which prevents the installation of newly published package versions to mitigate supply chain attacks [6][7][8]. - Enhanced Auditing: pnpm audit now queries the registry's bulk security advisories endpoint and filters by GitHub Advisory ID (GHSA) rather than CVE identifiers [9]. - Security Hardening: pnpm 11 requires Node.js 22+ and is distributed as pure ESM [10][11]. It also includes improved control over lifecycle scripts via the allowBuilds model [7][8]. For the most up-to-date information, always check the official pnpm releases page on GitHub and the security advisories section [12][5].
Citations:
- 1: https://www.npmjs.com/package/pnpm?activeTab=versions
- 2: https://github.com/pnpm/pnpm/releases/tag/v11.1.1
- 3: https://pnpm.io/blog/releases/11.1
- 4: https://newreleases.io/project/npm/pnpm/release/11.1.0
- 5: https://github.com/pnpm/pnpm/security/advisories
- 6: https://gbhackers.com/pnpm-11-enables-default-release-age-guard/
- 7: https://undercodenews.com/pnpm-11-reinvents-javascript-security-a-new-era-for-dependency-protection/
- 8: https://pnpm.io/supply-chain-security
- 9: https://pnpm.io/cli/audit
- 10: https://github.com/pnpm/pnpm/releases/tag/v11.0.0
- 11: https://pnpm.io/blog/releases/11.0
- 12: https://github.com/pnpm/pnpm/releases
Review pnpm 11 migration requirements before merging.
This major version upgrade introduces breaking changes that require configuration updates and environment adjustments:
- Configuration files: Settings in
package.json'spnpmfield must move topnpm-workspace.yaml. Update.npmrcto contain only auth and registry settings. - Node.js requirement: pnpm 11 requires Node.js 22+. Verify your project's
.nvmrcand CI configuration specify a compatible version. - Environment variables: Any
npm_config_*variables must be renamed topnpm_config_*. - Script behavior: Scripts named
clean,setup,deploy, orrebuildnow shadow built-in commands; usepnpm pmto access built-in versions.
Run the migration codemod to automate configuration changes:
pnpx codemod run pnpm-v10-to-v11
Refer to https://pnpm.io/11.x/migration for the complete migration guide. Manual review is needed for environment variable updates that the codemod cannot automate.
🤖 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, The package.json currently sets "packageManager":
"pnpm@11.1.2" but pnpm v11 requires config and environment changes; run the
recommended codemod (pnpx codemod run pnpm-v10-to-v11) and then: move any
settings under the package.json "pnpm" field into pnpm-workspace.yaml, strip
.npmrc to only auth/registry entries, update .nvmrc and CI to Node.js 22+ to
match pnpm v11, rename any environment variables from npm_config_* to
pnpm_config_ and manually review remaining envs, and rename or invoke scripts
named clean/setup/deploy/rebuild using pnpm pm to avoid shadowing built-ins.
|
Надо смержить сюда main ветку и исправить все ошибки в CI/CD что бы код был с актуальными библиотеками |
|
🤖 AI Work Session Started Starting automated work session at 2026-06-19T19:17:51.406Z The PR has been converted to draft mode while work is in progress. This comment marks the beginning of an AI work session. Please wait for the session to finish, and provide your feedback. |
|
Update: the CI/CD fix is implemented and verified, but I cannot push it directly to this PR head branch. Blocker:
Prepared fix:
What the fix covers:
Verification:
Needed human action: either grant/push access to |
🤖 Solution Draft LogThis log file contains the complete execution trace of the AI solution draft process. 💰 Cost estimation:
📊 Context and tokens usage:
Total: (508.9K + 13.1M cached) input tokens, 68.4K output tokens, $21.304392 cost 🤖 Models used:
📎 Log file uploaded as Repository (75696KB)Now working session is ended, feel free to review and add any feedback on the solution draft. |
🔄 Auto-restart triggered (iteration 1)Reason: CI failures detected Starting new session to address the issues. Auto-restart-until-mergeable mode is active. This run will stop after 5 restart iterations. |
|
Rechecked the failing CI/CD status in this restart session. Findings:
Verification repeated locally with Node
Fork CI also has successful runs for Remaining blocker is repository permissions, not code: |
🔄 Auto-restart-until-mergeable Log (iteration 1)This log file contains the complete execution trace of the AI solution draft process. 💰 Cost estimation:
🤖 Models used:
📎 Log file uploaded as Repository (96784KB)Now working session is ended, feel free to review and add any feedback on the solution draft. |
🔄 Auto-restart triggered (iteration 2)Reason: CI failures detected Starting new session to address the issues. Auto-restart-until-mergeable mode is active. This run will stop after 5 restart iterations. |
|
Rechecked and updated the prepared fix in this restart session. Current prepared commit:
Root causes confirmed from upstream CI logs for old SHA
Verification on current SHA
Remaining blocker is repository permission, not code. Needed maintainer action: push/cherry-pick |
🔄 Auto-restart-until-mergeable Log (iteration 2)This log file contains the complete execution trace of the AI solution draft process. 💰 Cost estimation:
🤖 Models used:
📎 Log file uploaded as Repository (2 chunks) (116514KB)Now working session is ended, feel free to review and add any feedback on the solution draft. |
🔄 Auto-restart triggered (iteration 3)Reason: CI failures detected Starting new session to address the issues. Auto-restart-until-mergeable mode is active. This run will stop after 5 restart iterations. |
|
Restart iteration 3 rechecked the prepared CI fix. Current verified head:
Fresh upstream CI logs downloaded in this session confirm old-head root causes:
Verification repeated on
Push blocker remains external: Needed maintainer action: push or cherry-pick |
🔄 Auto-restart-until-mergeable Log (iteration 3)This log file contains the complete execution trace of the AI solution draft process. 💰 Cost estimation:
🤖 Models used:
📎 Log file uploaded as Repository (2 chunks) (139990KB)Now working session is ended, feel free to review and add any feedback on the solution draft. |
🔄 Auto-restart triggered (iteration 4)Reason: CI failures detected Starting new session to address the issues. Auto-restart-until-mergeable mode is active. This run will stop after 5 restart iterations. |
|
Restart iteration 4 rechecked the CI/CD fix. Current verified head:
Fresh upstream logs downloaded in this session confirm the old-head failures:
Verification repeated locally on
Push status:
Needed maintainer action: push or cherry-pick |
🔄 Auto-restart-until-mergeable Log (iteration 4)This log file contains the complete execution trace of the AI solution draft process. 💰 Cost estimation:
🤖 Models used:
📎 Log file uploaded as Repository (2 chunks) (154923KB)Now working session is ended, feel free to review and add any feedback on the solution draft. |
🔄 Auto-restart triggered (iteration 5)Reason: CI failures detected Starting new session to address the issues. Auto-restart-until-mergeable mode is active. This run will stop after 5 restart iterations. |
|
Restart iteration 5 rechecked the CI/CD failures and the prepared fix. Current verified fix:
Fresh upstream CI status:
Root causes confirmed from downloaded upstream logs:
Verification repeated locally on
Fork CI on
Push status:
Needed maintainer action: push or cherry-pick |
🔄 Auto-restart-until-mergeable Log (iteration 5)This log file contains the complete execution trace of the AI solution draft process. 💰 Cost estimation:
🤖 Models used:
📎 Log file uploaded as Repository (2 chunks) (177139KB)Now working session is ended, feel free to review and add any feedback on the solution draft. |
|
|
🤖 AI Work Session Completed Work session ended at 2026-06-19T20:58:19.771Z The PR will be converted back to ready for review. This comment marks the end of an AI work session. New comments after this time will be considered as feedback. |
Note
This PR body was truncated due to platform limits.
This PR contains the following updates:
^2.4.4→^2.6.6^0.5.2→^1.0.1^2.29.8→^3.0.3^4.6.0→^4.8.12.0.2→2.1.13.3.3→3.3.7^24.10.13→^26.6.6^8.56.0→^8.72.2^8.56.0→^8.72.2^4.0.18→^5.1.0^1.6.9→^1.6.28v6→v7v6→v7v6→v7^3.19.18→^4.1.3^10.0.1→^10.14.0^4.4.4→^4.4.5^12.1.1→^14.0.0^4.0.0→^4.2.2^63.0.0→^79.0.0^17.3.0→^17.14.0^4.0.8→^5.4.324.13.1→26.13.010.30.1→12.18.0v4→v6v3→v6^5.9.3→^7.0.2^8.56.0→^8.72.2^7.3.1→^8.3.7^4.0.18→^5.1.0cc @skulidropek
Release Notes
biomejs/biome (@biomejs/biome)
v2.6.6Compare Source
Patch Changes
#12887
da0422eThanks @dyc3! - Added the new nursery rulenoArrayMethodsOnArguments. It reports calls to array methods on theargumentsobject, which isn't an array, so these calls throw aTypeErrorwhen the code runs.#12877
cd9e10fThanks @dyc3! - Added the nursery rulenoConstantComparisons, which reports&&and||conditions that can never be true, are always true, or contain a check with no effect.#12876
a7c9586Thanks @dyc3! - Added the nursery rulenoErasingOperation, which disallows operations with0that always result in zero: multiplying by0, a bitwise AND with0, and dividing0by a number. The other value in these operations has no effect on the result, which usually means the code has a mistake.#12841
e954f55Thanks @dyc3! - Added the nursery rulenoNegatedArrayPredicate, which reports negated calls toArray#some()andArray#every()and suggests moving the negation into the callback function.#12888
15039f7Thanks @dyc3! - Added the new nursery rulenoNumberArgumentOutOfRange, which reports number literal arguments oftoString(),toFixed(),toExponential()andtoPrecision()that are outside the range the method accepts. These calls throw aRangeErrorat runtime.#12889
1cd7520Thanks @dyc3! - Added the nursery rulenoSharedBranchCode, which reports code that is repeated at the start or end of every branch of anifstatement. That code runs no matter which branch is taken, so it can be moved before or after theifstatement.#12842
d47fcfdThanks @dyc3! - Added the new nursery rulenoSubtractionComparison, which reports subtracting two values only to compare the difference with0, and suggests comparing the values directly.#12866
7c1cd5fThanks @dyc3! - Added the nursery rulenoSvelteIgnoredUnsubscribe, which reports calls to a store'ssubscribe()method when the returned function is ignored. Without that function, the subscription can never be stopped, which causes a memory leak.#12890
6b73fcfThanks @dyc3! - Added the new nursery rulenoUninvokedArrayCallback, which reports array methods such asmap()andforEach()called with a callback on an array that only has empty slots. The callback never runs in this case.#12886
3bb18d8Thanks @dyc3! - Added the nursery ruleuseNextScriptForGoogleAnalytics, which reports<script>elements that load Google Analytics or Google Tag Manager. Use theGoogleAnalyticsandGoogleTagManagercomponents from@next/third-parties/googleinstead, which load these scripts after the page becomes interactive.The rule belongs to the
nextdomain.#12309
0538e30Thanks @dyc3! - Added the new nursery ruleusePackageJsonCpu, which reportspackage.jsonfiles that have nocpufield. Thecpufield lists the processor types that the package supports.The following
package.jsonfile satisfies the rule:{ "name": "my-package", "version": "1.0.0", "cpu": ["x64", "arm64"] }#12310
191111dThanks @dyc3! - Added the nursery ruleusePackageJsonEngines, which reportspackage.jsonfiles that have noenginesfield.A
package.jsonpasses the rule once it declares the field:{ "name": "my-package", "engines": { "node": ">=20" } }#12986
cc929afThanks @dyc3! - Fixed #12954, where configuring rules in groups with more than 256 rules could enable or disable the wrong rule.#12931
fe9248eThanks @dyc3! - Improved the performance of linting. Each lint pass now spends less time stepping over syntax nodes that no enabled rule looks at.#12969
22d27e8Thanks @vibbix! - Improved the performance of CSS linting. Rules that compare selectors, such asnoDescendingSpecificityandnoDuplicateSelectors, now make fewer memory allocations.#12973
5a06df5Thanks @vibbix! - FixeduseGenericFontNamesreportingfont-familyinside@font-palette-values. There,font-familynames the font families the palette applies to, so it doesn't take a generic family.#12930
ce71284Thanks @dyc3! - Fixed #12073:useExhaustiveSwitchCasesnow reports non-exhaustive switches over values read fromfor...ofloops overArray.prototype.entries(),Map, andSet, and over properties of array elements indexed by anumbervariable.noMisusedPromisesnow also reports Promise-returning callbacks passed to array methods such asfindandevery.#12983
2987b54Thanks @ashokram-si! - Fixed #12957: Biome now correctly parses SCSS negative interpolation list items as separate values instead of an invalid subtraction operator.v2.6.5Compare Source
Patch Changes
#12755
bbc4887Thanks @dyc3! - Added the new nursery rulenoArrayForEach, which reportsforEach()calls that can be written asfor...ofloops. Values known not to be arrays, such as aMapor aSet, are ignored.#12777
ba692e4Thanks @dyc3! - Added the new nursery rulenoAwaitInPromiseMethods, which reportsawaitinside the array passed toPromise.all(),Promise.allSettled(),Promise.any(), orPromise.race(). Theawaitpauses the code before the method is called, so the promises no longer run at the same time.#12765
af84fb4Thanks @dyc3! - Added the new nursery rulenoChainedComparison, which reports comparisons chained likea < b < cora === b === c. JavaScript comparesawithbfirst, and then compares the resultingtrueorfalsewithc, so3 > 2 > 1isfalse.#12547
0a2073dThanks @dyc3! - Added the nursery rulenoDynamicDelete, which disallows usingdeletewith a property name that is computed at runtime. Fixed property names written as string or number literals are allowed.#12481
ed7adc2Thanks @dyc3! - Added the nursery rulenoLateEventControl, which reports calls topreventDefault(),stopPropagation(), andstopImmediatePropagation()that run after the browser has finished handling the event, where they have no effect.#12795
179666dThanks @dyc3! - Added the nursery rulenoMapSpread, which disallows spreading objects or arrays in the values returned bymap()andflatMap()callbacks. Each spread copies a whole object or array for every item, which is slow for large arrays. Its unsafe fix replaces an object that starts with a spread withObject.assign().#12793
d9a99fdThanks @dyc3! - Added the nursery rulenoMismatchedMapKey, which reportsget()andset()calls that use a different key than thehas()check before them. Checking one key and then using another is usually a copy-paste mistake.#12342
1db7c0dThanks @vibbix! - Added the nursery rulenoMissingScssInterpolation, which disallows Sass variables and function calls in custom property values without#{}interpolation. Sass copies these values into the CSS unchanged, so the browser receives$gapormath.div(8px, 2)instead of their results. Its unsafe fix wraps variables in#{}.#12792
de86b37Thanks @dyc3! - Added the nursery rulenoMissingThrow, which reports errors that are created withnewbut never thrown. Its unsafe fix adds the missingthrowkeyword.#12790
c23e4c3Thanks @dyc3! - Added the new nursery rulenoObjectLiteralComparison, which reports comparisons with an empty object{}or an empty array[]. These comparisons never check whether a value is empty, because objects and arrays are compared by reference.#12450
793f07dThanks @dyc3! - Added the new nursery rulenoPlaywrightUnsafeReferences, which reports functions passed topage.evaluate()orpage.addInitScript()that use variables declared outside of them. Playwright runs these functions in the browser page, where those variables don't exist.#12388
a0160a4Thanks @vibbix! - Added the nursery rulenoPseudoElementInFunctionalPseudoClass, which disallows pseudo-elements inside:is(),:where(),:not()and:has(). Browsers drop these selectors, so the styles never apply to the pseudo-element.#12779
bc1befbThanks @dyc3! - Added the new nursery rulenoSinglePromiseInPromiseMethods, which reports an array with a single element passed toPromise.all(),Promise.any(), orPromise.race(). The rule offers a fix that awaits the value directly or usesPromise.resolve().#12241
d96de1dThanks @dyc3! - Added the nursery rulenoSvelteBindValueOnCheckableInputs, which reportsbind:valueon checkbox and radio inputs in Svelte files. Users change whether these inputs are checked, not theirvalue, sobind:valuedoes not track their choice.#12764
e166d08Thanks @dyc3! - Added the new nursery rulenoSyncMethods, which reports calls to functions whose names end withSync, such asfs.readFileSync(). These calls block the program until they finish. TheallowAtRootLeveloption allows them outside of functions, and theignoreoption allows specific function names.#12515
c0a4174Thanks @dyc3! - Added the nursery rulenoTanstackQueryVoidQueryFn, which disallows TanStack Query functions that don't return any data. TanStack Query doesn't acceptundefinedas the data of a query, so the query fails with an error.The rule belongs to the
tanstackQueryandtypesdomains.#12482
1e6e407Thanks @dyc3! - Added the nursery rulenoUnnecessaryStringTrim, which reportstrim()calls beforestartsWith()orendsWith()when only one side of the string matters. UsetrimStart()ortrimEnd()instead.#12772
a108773Thanks @dyc3! - Added the nursery rulenoUselessAwait, which reportsawaiton values that are never promises, such as literals, arrays, and the results of comparisons.#12783
d0931b0Thanks @dyc3! - Added the new nursery rulenoUselessLengthCheck, which reports array length checks that don't change the result: a check that the array is empty next toevery(), a check that it isn't empty next tosome(), or a check that it isn't empty around afor...ofloop over the same array.#12488
93e0e73Thanks @dyc3! - Added the new nursery rulenoUselessTypeAssertion, which reports type assertions that don't change the type of an expression, such as a non-null assertion on a value that can't benullorundefined.#12632
0e197b4Thanks @dyc3! - Added the nursery rulenoVueChildContent, which disallows content inside elements that usev-htmlorv-text. These directives replace the content of their element, so Vue discards anything written there.#12616
cb7b888Thanks @dyc3! - Added the new nursery rulenoVueDeprecatedConfigKeyCodes, which reports uses ofVue.config.keyCodes. Vue 3 removed this option, so custom key names defined with it no longer work.#12568
59f3a42Thanks @dyc3! - Added the nursery rulenoVueDeprecatedDestroyedLifecycle, which reports thebeforeDestroyanddestroyedlifecycle hooks in Vue components. Vue 3 renamed them tobeforeUnmountandunmounted, and no longer calls hooks with the old names.#12654
bcb1e0fThanks @dyc3! - Added the nursery rulenoVueDeprecatedEventsApi, which reports calls to the$on,$off, and$onceinstance methods in Vue components. Vue 3 removed these methods, so calling them throws an error.#12590
b9872efThanks @dyc3! - Added the nursery rulenoVueDeprecatedFunctionalTemplate, which reports thefunctionalattribute on the<template>of a Vue component. Vue 3 no longer supports this attribute.#12552
b71b705Thanks @dyc3! - Added the nursery rulenoVueDeprecatedHtmlElementIs, which disallows theisattribute on HTML elements in Vue templates. Vue 3 no longer renders a component in place of these elements, unless the value starts withvue:.#12553
4a613e1Thanks @dyc3! - Added the nursery rulenoVueDeprecatedInlineTemplate, which disallows theinline-templateattribute on Vue components. Vue 3 removed this feature, so the content between the component's tags is no longer used as its template.#12617
0e9ca5bThanks @dyc3! - Added the nursery rulenoVueDeprecatedModelDefinition, which reports themodeloption in Vue components. Vue 3 ignores this option, sov-modelon the component always uses themodelValueprop and theupdate:modelValueevent.#12604
e998921Thanks @dyc3! - Added the nursery rulenoVueDeprecatedPropsDefaultThis, which reportsthisinside the function that computes the default value of a Vue prop. Vue doesn't give this function access to the component, sothisdoesn't point to it. Read other props from the function's first argument instead.#12633
f65fe1eThanks @dyc3! - Added the nursery rulenoVueDeprecatedSlotAttribute, which reports theslotattribute in Vue templates. Vue 3 no longer uses this attribute to fill named slots, so usev-slot(or#) on a<template>element instead.#12589
8ccb19aThanks @dyc3! - Added the new nursery rulenoVueDeprecatedVBindSync, which reports the.syncmodifier on Vuev-binddirectives. Vue 3 removed this modifier, so the rule suggestsv-modelwith the same argument instead.#12609
e1e102bThanks @dyc3! - Added the new nursery rulenoVueDeprecatedVOnNativeModifier, which disallows the.nativemodifier on Vue'sv-ondirective. Vue 3 removed this modifier.#12667
de354e7Thanks @dyc3! - Added the new nursery rulenoVueExcessiveProps, which reports Vue components that declare more props than themaxPropsoption allows. The default limit is10.#12666
c3dc557Thanks @dyc3! - Added the nursery rulenoVueLoneTemplate, which reports<template>elements inside a Vue template that don't usev-if,v-else-if,v-else,v-for, orv-slot. Vue renders these as regular HTML<template>elements, so their content isn't shown.#12533
4b1089dThanks @dyc3! - Added the new nursery rulenoVueMixin, which reports themixinsoption in Vue components. In Vue 3, composables are the recommended way to share logic between components. The rule is recommended and part of thevuedomain.#12658
807e358Thanks @dyc3! - Added the new nursery rulenoVueMultipleObjectsInClass, which reports:classarrays in Vue templates that contain more than one object. Merge the conditional classes into a single object instead.#12564
78c1dd5Thanks @dyc3! - Added the nursery rulenoVueRefObjectReactivityLoss, which reports reads of a Vue ref's value that run only once, in the same function that creates the ref. Such a read copies the current value, and the copy doesn't update when the ref changes.#12517
5044c56Thanks @dyc3! - Added the nursery rulenoVueRestrictedCallAfterAwait, which reports calls to configured functions that come after anawaitin a Vue component'ssetup()function.For example, with
{ "functions": [{ "module": "vue-i18n", "path": "useI18n" }] }, the following call is reported:#12558
e898da4Thanks @dyc3! - Added the nursery rulenoVueRestrictedVOn, which reportsv-onevent listeners that are disallowed through thelistenersoption. An entry can match an event name, a set of modifiers, and an element. For example, with{ "listeners": [{ "event": "click", "element": "MyButton" }] },<MyButton @click="onClick" />is now reported.#12573
65c6b0bThanks [@dyc3](https:Configuration
📅 Schedule: (UTC)
🚦 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.
This PR was generated by Mend Renovate. View the repository job log.