Update `eslint` npm packages
This PR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| eslint (source) | devDependencies | minor | 9.20.1 -> 9.29.0 |
| eslint (source) | dependencies | minor | 9.20.1 -> 9.29.0 |
| eslint-config-prettier | dependencies | minor | 10.0.1 -> 10.1.5 |
| eslint-import-resolver-typescript | dependencies | minor | 3.8.1 -> 3.10.1 |
| eslint-plugin-react-hooks (source) | dependencies | minor | 5.1.0 -> 5.2.0 |
| eslint-plugin-storybook (source) | dependencies | minor | 0.11.3 -> 0.12.0 |
| eslint-plugin-storybook (source) | devDependencies | minor | 0.11.3 -> 0.12.0 |
[!WARNING] Some dependencies could not be looked up. Check the Dependency Dashboard for more information.
Release Notes
eslint/eslint (eslint)
v9.29.0
Features
-
f686fcbfeat: addecmaVersion: 2026, parsingusingandawait using(#​19832) (Milos Djermanovic) -
19cdd22feat: prune suppressions for non-existent files (#​19825) (TKDev7) -
b3d720ffeat: add ES2025 globals (#​19835) (fisker Cheung) -
677a283feat: add auto-accessor fields support to class-methods-use-this (#​19789) (sethamus) -
dbba058feat: allow global type declaration inno-var(#​19714) (Remco Haszing) -
342bd29feat: ignore type annotations in no-restricted-globals (#​19781) (sethamus) -
786bcd1feat: add allowProperties option to no-restricted-properties (#​19772) (sethamus) -
05b66d0feat: addsourceCode.isGlobalReference(node)method (#​19695) (Nitin Kumar)
Bug Fixes
-
85c082cfix: explicit matching behavior with negated patterns and arrays (#​19845) (Milos Djermanovic) -
9bda4a9fix: fixLintOptions.filterCodeBlocktypes (#​19837) (ntnyq) -
7ab77a2fix: correct breaking deprecation of FlatConfig type (#​19826) (Logicer) -
1ba3318fix: addlanguageanddialectstono-use-before-define(#​19808) (Francesco Trotta)
Documentation
-
00e3e6adocs: add support for custom name parameter toincludeIgnoreFile(#​19795) (루밀LuMir) -
3aed075docs: Update README (GitHub Actions Bot) -
a2f888ddocs: enhance documentation with links and fix typos (#​19761) (루밀LuMir) -
53c3235docs: update to clarify prompt usage (#​19748) (Jennifer Davis)
Chores
-
5c114c9chore: upgrade @​eslint/js@​9.29.0 (#​19851) (Milos Djermanovic) -
acf2201chore: package.json update for @​eslint/js release (Jenkins) -
a806994refactor: Remove eslintrc from flat config functionality (#​19833) (Nicholas C. Zakas) -
152ed51test: switch to flat config mode in code path analysis tests (#​19824) (Milos Djermanovic) -
b647239chore: Update first-party dependencies faster with Renovate (#​19822) (Nicholas C. Zakas) -
7abe42erefactor: SafeEmitter -> SourceCodeVisitor (#​19708) (Nicholas C. Zakas) -
e392895perf: improve time complexity ofgetLocFromIndex(#​19782) (루밀LuMir) -
0ed289cchore: remove accidentally committed file (#​19807) (Francesco Trotta)
v9.28.0
Features
-
b0674befeat: Customization of serialization for languageOptions (#​19760) (Nicholas C. Zakas) -
a95721ffeat: Add--pass-on-unpruned-suppressionsCLI option (#​19773) (Milos Djermanovic) -
bfd0e7afeat: support TypeScript syntax inno-use-before-define(#​19566) (Tanuj Kanti) -
68c61c0feat: support TS syntax inno-shadow(#​19565) (Nitin Kumar) -
0f773effeat: support TS syntax inno-magic-numbers(#​19561) (Nitin Kumar) -
c4a6b60feat: add allowTypeAnnotation to func-style (#​19754) (sethamus) -
b03ad17feat: add TypeScript support toprefer-arrow-callback(#​19678) (Tanuj Kanti) -
bc3c331feat: ignore overloaded function declarations in func-style rule (#​19755) (sethamus)
Bug Fixes
-
eea3e7efix: Remove configured global variables fromGlobalScope#implicit(#​19779) (Milos Djermanovic) -
a467de3fix: update context.report types (#​19751) (Nitin Kumar) -
fd467bbfix: remove interopDefault to use jiti's default (#​19697) (sethamus) -
72d16e3fix: avoid false positive inno-unassigned-varsfor declare module (#​19746) (Azat S.) -
81c3c93fix: curly types (#​19750) (Eli)
Documentation
-
3ec2082docs: Nested arrays in files config entry (#​19799) (Nicholas C. Zakas) -
89a65b0docs: clarify how config arrays can apply to subsets of files (#​19788) (Shais Ch) -
2ba8a0ddocs: Add description of meta.namespace to plugin docs (#​19798) (Nicholas C. Zakas) -
59dd7e6docs: updatefunc-stylewith examples (#​19793) (Tanuj Kanti) -
e9129e0docs: add global scope'simplicitfield to Scope Manager docs (#​19770) (Milos Djermanovic) -
52f5b7adocs: fix minor typos and add links (#​19743) (루밀LuMir) -
00716a3docs: upfront recommend against using the no-return-await rule (#​19727) (Mike DiDomizio)
Chores
-
175b7b8chore: upgrade to@eslint/[email protected](#​19802) (Francesco Trotta) -
844f5a6chore: package.json update for @​eslint/js release (Jenkins) -
62b1c1bchore: update globals to v16 (#​19791) (Nitin Kumar) -
e8a1cb8chore: ignore jiti-v2.0 & jiti-v2.1 for renovate (#​19786) (Nitin Kumar) -
43d3975chore: Add Copilot Instructions file (#​19753) (Nicholas C. Zakas) -
2dfb5ebtest: updateSourceCodeTraversertests (#​19763) (Milos Djermanovic) -
5bc21f9chore: add*.code-workspaceto.gitignore(#​19771) (루밀LuMir) -
f4fa40erefactor: NodeEventGenerator -> SourceCodeTraverser (#​19679) (Nicholas C. Zakas) -
0f49329refactor: use a service to emit warnings (#​19725) (Francesco Trotta) -
20a9e59chore: update dependency shelljs to ^0.10.0 (#​19740) (renovate[bot])
v9.27.0
Features
-
d71e37ffeat: Allow flags to be set in ESLINT_FLAGS env variable (#​19717) (Nicholas C. Zakas) -
ba456e0feat: Externalize MCP server (#​19699) (Nicholas C. Zakas) -
07c1a7efeat: addallowRegexCharacterstono-useless-escape(#​19705) (sethamus) -
7bc6c71feat: add no-unassigned-vars rule (#​19618) (Jacob Bandes-Storch) -
ee40364feat: convert no-array-constructor suggestions to autofixes (#​19621) (sethamus) -
32957cdfeat: support TS syntax inmax-params(#​19557) (Nitin Kumar)
Bug Fixes
-
5687ce7fix: correct mismatched removed rules (#​19734) (루밀LuMir) -
dc5ed33fix: correct types and tighten type definitions inSourceCodeclass (#​19731) (루밀LuMir) -
de1b5defix: correctserviceproperty name inLinter.ESLintParseResulttype (#​19713) (Francesco Trotta) -
60c3e2cfix: sort keys in eslint-suppressions.json to avoid git churn (#​19711) (Ron Waldon-Howe) -
9da90cafix: addallowReservedtoLinter.ParserOptionstype (#​19710) (Francesco Trotta) -
fbb8be9fix: addinfotoESLint.DeprecatedRuleUsetype (#​19701) (Francesco Trotta)
Documentation
-
25de550docs: Update description of frozen rules to mention TypeScript (#​19736) (Nicholas C. Zakas) -
bd5def6docs: Clean up configuration files docs (#​19735) (Nicholas C. Zakas) -
4d0c60ddocs: Add Neovim to editor integrations (#​19729) (Maria José Solano) -
71317ebdocs: Update README (GitHub Actions Bot) -
4c289e6docs: Update README (GitHub Actions Bot) -
f0f0d46docs: clarify that unused suppressions cause non-zero exit code (#​19698) (Milos Djermanovic) -
8ed3273docs: fix internal usages ofConfigDatatype (#​19688) (Francesco Trotta) -
eb316a8docs: addfmtandchecksections toPackage.json Conventions(#​19686) (루밀LuMir) -
a3a2559docs: fix wording in Combine Configs (#​19685) (Milos Djermanovic) -
c8d17e1docs: Update README (GitHub Actions Bot)
Chores
-
f8f1560chore: upgrade @​eslint/js@​9.27.0 (#​19739) (Milos Djermanovic) -
ecaef73chore: package.json update for @​eslint/js release (Jenkins) -
596fdc6chore: update dependency @​arethetypeswrong/cli to ^0.18.0 (#​19732) (renovate[bot]) -
f791da0chore: remove unbalanced curly brace from.editorconfig(#​19730) (Maria José Solano) -
e86edeerefactor: Consolidate Config helpers (#​19675) (Nicholas C. Zakas) -
cf36352chore: remove shared types (#​19718) (Francesco Trotta) -
f60f276refactor: Easier RuleContext creation (#​19709) (Nicholas C. Zakas) -
58a171echore: update dependency @​eslint/plugin-kit to ^0.3.1 (#​19712) (renovate[bot]) -
3a075a2chore: update dependency @​eslint/core to ^0.14.0 (#​19715) (renovate[bot]) -
44bac9dci: run tests in Node.js 24 (#​19702) (Francesco Trotta) -
35304ddchore: add missingfundingfield to packages (#​19684) (루밀LuMir) -
f305bebtest: mockprocess.emitWarningto prevent output disruption (#​19687) (Francesco Trotta)
v9.26.0
Features
-
e9754e7feat: add reportGlobalThis to no-shadow-restricted-names (#​19670) (sethamus) -
0fa2b7afeat: add suggestions foreqeqeqrule (#​19640) (Nitin Kumar) -
dcbdcc9feat: Add MCP server (#​19592) (Nicholas C. Zakas) -
2dfd83efeat: addignoreDirectivesoption inno-unused-expressions(#​19645) (sethamus)
Bug Fixes
-
96e84defix: check cache file existence before deletion (#​19648) (sethamus) -
d683aebfix: don't crash on tests with circular references inRuleTester(#​19664) (Milos Djermanovic) -
9736d5dfix: addnamespacetoPlugin.metatype (#​19661) (Milos Djermanovic) -
17bae69fix: updateRuleTester.run()type (#​19634) (Nitin Kumar)
Documentation
-
dd98d63docs: Update README (GitHub Actions Bot) -
c25e858docs: Update README (GitHub Actions Bot) -
b2397e9docs: Update README (GitHub Actions Bot) -
addd0a6docs: fix formatting of unordered lists in Markdown (#​19660) (Milos Djermanovic) -
a21b38ddocs: Update README (GitHub Actions Bot) -
c0721a7docs: fix double space in command (#​19657) (CamWass)
Chores
-
5b247c8chore: upgrade to@eslint/[email protected](#​19681) (Francesco Trotta) -
d6fa4acchore: package.json update for @​eslint/js release (Jenkins) -
0958690chore: disambiguate internal typesLanguageOptionsandRule(#​19669) (Francesco Trotta) -
f1c858echore: fix internal type references toPluginandRule(#​19665) (Francesco Trotta) -
40dd299refactor: One-shot ESQuery selector analysis (#​19652) (Nicholas C. Zakas) -
1cfd702chore: update dependency @​eslint/json to ^0.12.0 (#​19656) (renovate[bot])
v9.25.1
Bug Fixes
Chores
-
1f2b057chore: upgrade @​eslint/js@​9.25.1 (#​19642) (Milos Djermanovic) -
771317fchore: package.json update for @​eslint/js release (Jenkins)
v9.25.0
Features
-
dcd95aafeat: support TypeScript syntax in no-empty-function rule (#​19551) (sethamus) -
77d6d5bfeat: support TS syntax inno-unused-expressions(#​19564) (Sweta Tanwar) -
90228e5feat: supportJSRuleDefinitiontype (#​19604) (루밀LuMir) -
59ba6b7feat: add allowObjects option to no-restricted-properties (#​19607) (sethamus) -
db650a0feat: support TypeScript syntax inno-invalid-thisrule (#​19532) (Tanuj Kanti) -
9535cfffeat: support TS syntax inno-loop-func(#​19559) (Nitin Kumar)
Bug Fixes
Documentation
-
ca7a735docs: updateno-undef-initwhen not to use section (#​19624) (Tanuj Kanti) -
1b870c9docs: useeslint-config-xoin the getting started guide (#​19629) (Nitin Kumar) -
5d4af16docs: add types for multiple rule options (#​19616) (Tanuj Kanti) -
e8f8d57docs: Update README (GitHub Actions Bot) -
a40348fdocs: no-use-before-define tweaks (#​19622) (Kirk Waiblinger) -
0ba3ae3docs: Update README (GitHub Actions Bot) -
865dbfedocs: ensure "learn more" deprecation links point to useful resource (#​19590) (Kirk Waiblinger) -
f80b746docs: add known limitations for no-self-compare (#​19612) (Nitin Kumar) -
865aed6docs: Update README (GitHub Actions Bot)
Chores
-
88dc196chore: upgrade @​eslint/js@​9.25.0 (#​19636) (Milos Djermanovic) -
345288dchore: package.json update for @​eslint/js release (Jenkins) -
affe6bechore: upgrade trunk (#​19628) (sethamus) -
dd20cf2test: fixno-loop-functest with duplicate variable reports (#​19610) (Milos Djermanovic) -
bd05397chore: upgrade@eslint/*dependencies (#​19606) (Milos Djermanovic) -
22ea18bchore: replace invalidinttype withnumberinside JSDocs. (#​19597) (Arya Emami)
v9.24.0
Features
-
556c25bfeat: support loading TS config files using--experimental-strip-types(#​19401) (Arya Emami) -
72650acfeat: support TS syntax ininit-declarations(#​19540) (Nitin Kumar) -
03fb0bcfeat: normalize patterns to handle "./" prefix in files and ignores (#​19568) (Pixel998) -
071dcd3feat: support TS syntax inno-dupe-class-members(#​19558) (Nitin Kumar) -
cd72bccfeat: Introduce a way to suppress violations (#​19159) (Iacovos Constantinou) -
2a81578feat: support TS syntax inno-loss-of-precision(#​19560) (Nitin Kumar) -
30ae4edfeat: add new options to class-methods-use-this (#​19527) (sethamus) -
b79ade6feat: support TypeScript syntax inno-array-constructor(#​19493) (Tanuj Kanti)
Bug Fixes
-
b23d1c5fix: deduplicate variable names in no-loop-func error messages (#​19595) (Nitin Kumar) -
fb8cdb8fix: useany[]type forcontext.options(#​19584) (Francesco Trotta)
Documentation
-
f857820docs: update documentation for--experimental-strip-types(#​19594) (Nikolas Schröter) -
803e4afdocs: simplify gitignore path handling in includeIgnoreFile section (#​19596) (Thomas Broyer) -
6d979ccdocs: Update README (GitHub Actions Bot) -
82177e4docs: Update README (GitHub Actions Bot) -
e849dc0docs: replace existing var with const (#​19578) (Sweta Tanwar) -
0c65c62docs: don't pass filename when linting rule examples (#​19571) (Milos Djermanovic) -
6be36c9docs: Update custom-rules.md code example of fixer (#​19555) (Yifan Pan)
Build Related
Chores
-
ef67420chore: upgrade @​eslint/js@​9.24.0 (#​19602) (Milos Djermanovic) -
4946847chore: package.json update for @​eslint/js release (Jenkins) -
a995acbchore: correct 'flter'/'filter' typo in package script (#​19587) (Josh Goldberg ✨) -
b9a5efatest: skip symlink test on Windows (#​19503) (fisker Cheung) -
46eea6dchore: removeRule&FormatterFunctionfromshared/types.js(#​19556) (Nitin Kumar) -
bdcc91dchore: modify .editorconfig to keep parity with prettier config (#​19577) (Sweta Tanwar) -
7790d83chore: fix some typos in comment (#​19576) (todaymoon) -
76064a6test: ignorepackage-lock.jsonforeslint-webpack-plugin(#​19572) (Francesco Trotta)
v9.23.0
Features
-
557a0d2feat: support TypeScript syntax in no-useless-constructor (#​19535) (Josh Goldberg ✨) -
8320241feat: support TypeScript syntax indefault-param-last(#​19431) (Josh Goldberg ✨) -
833c4a3feat: defineConfig() supports "flat/" config prefix (#​19533) (Nicholas C. Zakas) -
4a0df16feat: circular autofix/conflicting rules detection (#​19514) (Milos Djermanovic) -
be56a68feat: support TypeScript syntax inclass-methods-use-this(#​19498) (Josh Goldberg ✨)
Bug Fixes
-
0e20aa7fix: move deprecatedRuleContextmethods to subtype (#​19531) (Francesco Trotta) -
cc3bd00fix: reporting variable used in catch block inno-useless-assignment(#​19423) (Tanuj Kanti) -
d46ff83fix:no-dupe-keysfalse positive with proto setter (#​19508) (Milos Djermanovic) -
e732773fix: navigation of search results on pressing Enter (#​19502) (Tanuj Kanti) -
f4e9c5ffix: allowRuleTesterto test files insidenode_modules/(#​19499) (fisker Cheung)
Documentation
-
5405939docs: show red underlines in TypeScript examples in rules docs (#​19547) (Milos Djermanovic) -
48b53d6docs: replace var with const in examples (#​19539) (Nitin Kumar) -
c39d7dbdocs: Update README (GitHub Actions Bot) -
a4f8760docs: revert accidental changes (#​19542) (Francesco Trotta) -
280128fdocs: add copy button (#​19512) (xbinaryx) -
cd83eaadocs: replacevarwithconstin examples (#​19530) (Nitin Kumar) -
7ff0cdedocs: Update README (GitHub Actions Bot) -
996cfb9docs: migrate sass to module system (#​19518) (xbinaryx) -
17cb958docs: replacevarwithletandconstin rule examples (#​19515) (Tanuj Kanti) -
83e24f5docs: Replace var with let or const (#​19511) (Jenna Toff) -
a59d0c0docs: Update docs for defineConfig (#​19505) (Nicholas C. Zakas) -
fe92927docs:require-unicode-regexpadd note foriflag and\w(#​19510) (Chaemin-Lim)
Build Related
Chores
-
0ac8ea4chore: update dependencies for v9.23.0 release (#​19554) (Francesco Trotta) -
20591c4chore: package.json update for @​eslint/js release (Jenkins) -
901344fchore: update dependency @​eslint/json to ^0.11.0 (#​19552) (renovate[bot]) -
5228383chore: fix update-readme formatting (#​19544) (Milos Djermanovic) -
5439525chore: format JSON files in Trunk (#​19541) (Francesco Trotta) -
75adc99chore: enabled Prettier in Trunk (#​19354) (Josh Goldberg ✨) -
2395168chore: added .git-blame-ignore-revs for Prettier via trunk fmt (#​19538) (Josh Goldberg ✨) -
129882dchore: formatted files with Prettier via trunk fmt (#​19355) (Josh Goldberg ✨) -
1738dbcchore: temporarily disable prettier in trunk (#​19537) (Josh Goldberg ✨) -
dc854fdchore: update dependency shelljs to ^0.9.0 (#​19524) (renovate[bot]) -
5d57496chore: fix some comments (#​19525) (jimmycathy) -
9c5c6eetest: fix an assertion failure (#​19500) (fisker Cheung) -
7a699a6chore: remove formatting-related lint rules internally (#​19473) (Josh Goldberg ✨) -
c99db89test: replace WebdriverIO with Cypress (#​19465) (Pixel998)
v9.22.0
Features
Bug Fixes
-
19c0127fix: improve message forno-consolesuggestions (#​19483) (Francesco Trotta) -
49e624ffix: improve error message for falsy parsed JS AST (#​19458) (Josh Goldberg ✨)
Documentation
-
86c5f37docs: Update README (GitHub Actions Bot) -
fbdeff0docs: Update README (GitHub Actions Bot) -
c9e8510docs: generate deprecation notice in TSDoc comments from rule metadata (#​19461) (Francesco Trotta) -
2f386addocs: replacevarwithconstin rule examples (#​19469) (Tanuj Kanti) -
0e688e3docs: Update README (GitHub Actions Bot) -
06b596ddocs: Restore the carrot to the position where the search input was lost (#​19459) (Amaresh S M)
Chores
-
97f788bchore: upgrade @​eslint/js@​9.22.0 (#​19489) (Milos Djermanovic) -
eed409achore: package.json update for @​eslint/js release (Jenkins) -
f9a56d3chore: upgrade [email protected] (#​19488) (Milos Djermanovic)
v9.21.0
Features
-
418717ffeat: introduce new deprecated types for rules (#​19238) (fnx) -
5c5b802feat: Add--extCLI option (#​19405) (Milos Djermanovic)
Bug Fixes
-
db5340dfix: update missing plugin message template (#​19445) (Milos Djermanovic) -
d8ffdd4fix: do not exit process on rule crash (#​19436) (Francesco Trotta)
Documentation
-
c5561eadocs: Update README (GitHub Actions Bot) -
80b0485docs: replacevarwithletandconstin rule example (#​19434) (Tanuj Kanti) -
f67d5e8docs: Update README (GitHub Actions Bot) -
75afc61docs: Update README (GitHub Actions Bot) -
0636cabdocs: Update Eleventy from v2 to v3 (#​19415) (Amaresh S M) -
dd7d930docs: Update README (GitHub Actions Bot)
Chores
-
a8c9a9fchore: update@eslint/eslintrcand@eslint/js(#​19453) (Francesco Trotta) -
265e0cfchore: package.json update for @​eslint/js release (Jenkins) -
3401b85test: add test forRule.ReportDescriptortype (#​19449) (Francesco Trotta) -
e497aa7chore: update rewrite dependencies (#​19448) (Francesco Trotta) -
dab5478chore: better error message for missing plugin in config (#​19402) (Tanuj Kanti) -
ebfe2ebchore: set js language for bug report issue config block (#​19439) (Josh Goldberg ✨) -
5fd211dtest: processors can return subpaths (#​19425) (Milos Djermanovic)
prettier/eslint-config-prettier (eslint-config-prettier)
v10.1.5
Patch Changes
-
#​332
60fef02Thanks @​JounQin! - chore: addfundingfield intopackage.json
v10.1.4
Patch Changes
-
#​328
94b4799Thanks @​silvenon! - fix(cli): do not crash on no rules configured
v10.1.3
Patch Changes
- [#​325]
Configuration
📅 Schedule: Branch creation - "before 4am every weekday,every weekend" (UTC), 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 has been generated by Renovate Bot.
Codecov Report
:white_check_mark: All modified and coverable lines are covered by tests.
:white_check_mark: Project coverage is 55.20%. Comparing base (0e7c6a3) to head (291136d).
:warning: Report is 2 commits behind head on main.
Additional details and impacted files
@@ Coverage Diff @@
## main #6493 +/- ##
==========================================
- Coverage 55.22% 55.20% -0.02%
==========================================
Files 1103 1103
Lines 98465 98470 +5
Branches 4584 4584
==========================================
- Hits 54373 54365 -8
- Misses 43472 43485 +13
Partials 620 620
| Flag | Coverage Δ | |
|---|---|---|
| blockprotocol.type-system | 35.85% <ø> (ø) |
|
| local.harpc-client | 50.93% <ø> (ø) |
|
| rust.antsi | 0.00% <ø> (ø) |
|
| rust.error-stack | 88.77% <ø> (ø) |
|
| rust.harpc-net | 96.08% <ø> (ø) |
|
| rust.harpc-types | 0.00% <ø> (ø) |
|
| rust.hashql-compiletest | 53.03% <ø> (ø) |
|
| rust.hashql-core | 81.91% <ø> (-0.08%) |
:arrow_down: |
Flags with carried forward coverage won't be shown. Click here to find out more.
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
:rocket: New features to boost your workflow:
- :snowflake: Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
- :package: JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.
Benchmark results
@rust/hash-graph-benches – Integrations
policy_resolution_extra_large
| Function | Value | Mean | Flame graphs |
|---|---|---|---|
| resolve_policies_for_actor | user: empty, selectivity: high, policies: 10002 | $$97.8 \mathrm{ms} \pm 537 \mathrm{μs}\left({\color{lightgreen}-18.310 \mathrm{\%}}\right) $$ | Flame Graph |
| resolve_policies_for_actor | user: empty, selectivity: low, policies: 1 | $$5.57 \mathrm{ms} \pm 36.9 \mathrm{μs}\left({\color{gray}1.43 \mathrm{\%}}\right) $$ | Flame Graph |
| resolve_policies_for_actor | user: empty, selectivity: medium, policies: 5001 | $$77.8 \mathrm{ms} \pm 552 \mathrm{μs}\left({\color{gray}1.45 \mathrm{\%}}\right) $$ | Flame Graph |
| resolve_policies_for_actor | user: seeded, selectivity: high, policies: 27604 | $$290 \mathrm{ms} \pm 1.26 \mathrm{ms}\left({\color{gray}1.59 \mathrm{\%}}\right) $$ | Flame Graph |
| resolve_policies_for_actor | user: seeded, selectivity: low, policies: 1 | $$20.6 \mathrm{ms} \pm 181 \mathrm{μs}\left({\color{gray}-4.315 \mathrm{\%}}\right) $$ | Flame Graph |
| resolve_policies_for_actor | user: seeded, selectivity: medium, policies: 13450 | $$229 \mathrm{ms} \pm 898 \mathrm{μs}\left({\color{gray}0.808 \mathrm{\%}}\right) $$ | Flame Graph |
| resolve_policies_for_actor | user: system, selectivity: high, policies: 11308 | $$469 \mathrm{ms} \pm 2.15 \mathrm{ms}\left({\color{red}280 \mathrm{\%}}\right) $$ | Flame Graph |
| resolve_policies_for_actor | user: system, selectivity: low, policies: 1 | $$6.55 \mathrm{ms} \pm 35.3 \mathrm{μs}\left({\color{lightgreen}-85.272 \mathrm{\%}}\right) $$ | Flame Graph |
| resolve_policies_for_actor | user: system, selectivity: medium, policies: 5628 | $$71.1 \mathrm{ms} \pm 3.87 \mathrm{ms}\left({\color{lightgreen}-12.177 \mathrm{\%}}\right) $$ | Flame Graph |
policy_resolution_large
| Function | Value | Mean | Flame graphs |
|---|---|---|---|
| resolve_policies_for_actor | user: empty, selectivity: high, policies: 2002 | $$28.6 \mathrm{ms} \pm 164 \mathrm{μs}\left({\color{gray}-1.120 \mathrm{\%}}\right) $$ | Flame Graph |
| resolve_policies_for_actor | user: empty, selectivity: low, policies: 1 | $$3.50 \mathrm{ms} \pm 16.6 \mathrm{μs}\left({\color{gray}1.03 \mathrm{\%}}\right) $$ | Flame Graph |
| resolve_policies_for_actor | user: empty, selectivity: medium, policies: 1001 | $$12.9 \mathrm{ms} \pm 97.8 \mathrm{μs}\left({\color{lightgreen}-5.020 \mathrm{\%}}\right) $$ | Flame Graph |
| resolve_policies_for_actor | user: seeded, selectivity: high, policies: 3314 | $$38.8 \mathrm{ms} \pm 327 \mathrm{μs}\left({\color{gray}0.797 \mathrm{\%}}\right) $$ | Flame Graph |
| resolve_policies_for_actor | user: seeded, selectivity: low, policies: 1 | $$13.6 \mathrm{ms} \pm 80.2 \mathrm{μs}\left({\color{gray}-0.436 \mathrm{\%}}\right) $$ | Flame Graph |
| resolve_policies_for_actor | user: seeded, selectivity: medium, policies: 1526 | $$23.9 \mathrm{ms} \pm 129 \mathrm{μs}\left({\color{gray}-4.294 \mathrm{\%}}\right) $$ | Flame Graph |
| resolve_policies_for_actor | user: system, selectivity: high, policies: 2078 | $$29.2 \mathrm{ms} \pm 178 \mathrm{μs}\left({\color{lightgreen}-39.240 \mathrm{\%}}\right) $$ | Flame Graph |
| resolve_policies_for_actor | user: system, selectivity: low, policies: 1 | $$3.72 \mathrm{ms} \pm 13.8 \mathrm{μs}\left({\color{lightgreen}-5.629 \mathrm{\%}}\right) $$ | Flame Graph |
| resolve_policies_for_actor | user: system, selectivity: medium, policies: 1033 | $$12.0 \mathrm{ms} \pm 97.2 \mathrm{μs}\left({\color{lightgreen}-33.289 \mathrm{\%}}\right) $$ | Flame Graph |
policy_resolution_medium
| Function | Value | Mean | Flame graphs |
|---|---|---|---|
| resolve_policies_for_actor | user: empty, selectivity: high, policies: 102 | $$3.95 \mathrm{ms} \pm 27.8 \mathrm{μs}\left({\color{gray}0.351 \mathrm{\%}}\right) $$ | Flame Graph |
| resolve_policies_for_actor | user: empty, selectivity: low, policies: 1 | $$3.01 \mathrm{ms} \pm 11.9 \mathrm{μs}\left({\color{gray}-0.036 \mathrm{\%}}\right) $$ | Flame Graph |
| resolve_policies_for_actor | user: empty, selectivity: medium, policies: 51 | $$3.42 \mathrm{ms} \pm 21.0 \mathrm{μs}\left({\color{gray}-0.052 \mathrm{\%}}\right) $$ | Flame Graph |
| resolve_policies_for_actor | user: seeded, selectivity: high, policies: 269 | $$5.36 \mathrm{ms} \pm 30.6 \mathrm{μs}\left({\color{gray}1.07 \mathrm{\%}}\right) $$ | Flame Graph |
| resolve_policies_for_actor | user: seeded, selectivity: low, policies: 1 | $$3.66 \mathrm{ms} \pm 26.7 \mathrm{μs}\left({\color{gray}0.929 \mathrm{\%}}\right) $$ | Flame Graph |
| resolve_policies_for_actor | user: seeded, selectivity: medium, policies: 107 | $$4.27 \mathrm{ms} \pm 23.2 \mathrm{μs}\left({\color{gray}1.63 \mathrm{\%}}\right) $$ | Flame Graph |
| resolve_policies_for_actor | user: system, selectivity: high, policies: 133 | $$4.60 \mathrm{ms} \pm 24.8 \mathrm{μs}\left({\color{gray}-0.889 \mathrm{\%}}\right) $$ | Flame Graph |
| resolve_policies_for_actor | user: system, selectivity: low, policies: 1 | $$3.52 \mathrm{ms} \pm 18.5 \mathrm{μs}\left({\color{gray}0.716 \mathrm{\%}}\right) $$ | Flame Graph |
| resolve_policies_for_actor | user: system, selectivity: medium, policies: 63 | $$4.15 \mathrm{ms} \pm 24.5 \mathrm{μs}\left({\color{gray}0.430 \mathrm{\%}}\right) $$ | Flame Graph |
policy_resolution_none
| Function | Value | Mean | Flame graphs |
|---|---|---|---|
| resolve_policies_for_actor | user: empty, selectivity: high, policies: 2 | $$2.56 \mathrm{ms} \pm 11.5 \mathrm{μs}\left({\color{red}7.90 \mathrm{\%}}\right) $$ | Flame Graph |
| resolve_policies_for_actor | user: empty, selectivity: low, policies: 1 | $$2.53 \mathrm{ms} \pm 9.91 \mathrm{μs}\left({\color{red}9.18 \mathrm{\%}}\right) $$ | Flame Graph |
| resolve_policies_for_actor | user: empty, selectivity: medium, policies: 1 | $$2.62 \mathrm{ms} \pm 12.0 \mathrm{μs}\left({\color{red}8.29 \mathrm{\%}}\right) $$ | Flame Graph |
| resolve_policies_for_actor | user: system, selectivity: high, policies: 8 | $$2.84 \mathrm{ms} \pm 9.99 \mathrm{μs}\left({\color{red}6.79 \mathrm{\%}}\right) $$ | Flame Graph |
| resolve_policies_for_actor | user: system, selectivity: low, policies: 1 | $$2.70 \mathrm{ms} \pm 10.6 \mathrm{μs}\left({\color{red}7.75 \mathrm{\%}}\right) $$ | Flame Graph |
| resolve_policies_for_actor | user: system, selectivity: medium, policies: 3 | $$2.87 \mathrm{ms} \pm 9.88 \mathrm{μs}\left({\color{red}5.92 \mathrm{\%}}\right) $$ | Flame Graph |
policy_resolution_small
| Function | Value | Mean | Flame graphs |
|---|---|---|---|
| resolve_policies_for_actor | user: empty, selectivity: high, policies: 52 | $$3.00 \mathrm{ms} \pm 9.86 \mathrm{μs}\left({\color{red}7.43 \mathrm{\%}}\right) $$ | Flame Graph |
| resolve_policies_for_actor | user: empty, selectivity: low, policies: 1 | $$2.66 \mathrm{ms} \pm 9.19 \mathrm{μs}\left({\color{red}8.34 \mathrm{\%}}\right) $$ | Flame Graph |
| resolve_policies_for_actor | user: empty, selectivity: medium, policies: 25 | $$2.87 \mathrm{ms} \pm 15.3 \mathrm{μs}\left({\color{red}10.3 \mathrm{\%}}\right) $$ | Flame Graph |
| resolve_policies_for_actor | user: seeded, selectivity: high, policies: 94 | $$3.40 \mathrm{ms} \pm 23.6 \mathrm{μs}\left({\color{red}7.93 \mathrm{\%}}\right) $$ | Flame Graph |
| resolve_policies_for_actor | user: seeded, selectivity: low, policies: 1 | $$2.91 \mathrm{ms} \pm 14.9 \mathrm{μs}\left({\color{red}8.52 \mathrm{\%}}\right) $$ | Flame Graph |
| resolve_policies_for_actor | user: seeded, selectivity: medium, policies: 26 | $$3.17 \mathrm{ms} \pm 12.4 \mathrm{μs}\left({\color{red}8.81 \mathrm{\%}}\right) $$ | Flame Graph |
| resolve_policies_for_actor | user: system, selectivity: high, policies: 66 | $$3.26 \mathrm{ms} \pm 15.9 \mathrm{μs}\left({\color{red}7.64 \mathrm{\%}}\right) $$ | Flame Graph |
| resolve_policies_for_actor | user: system, selectivity: low, policies: 1 | $$2.86 \mathrm{ms} \pm 9.99 \mathrm{μs}\left({\color{red}7.49 \mathrm{\%}}\right) $$ | Flame Graph |
| resolve_policies_for_actor | user: system, selectivity: medium, policies: 29 | $$3.14 \mathrm{ms} \pm 15.5 \mathrm{μs}\left({\color{red}9.30 \mathrm{\%}}\right) $$ | Flame Graph |
representative_read_entity
| Function | Value | Mean | Flame graphs |
|---|---|---|---|
| entity_by_id | entity type ID: https://blockprotocol.org/@alice/types/entity-type/block/v/1 |
$$30.3 \mathrm{ms} \pm 286 \mathrm{μs}\left({\color{gray}-0.546 \mathrm{\%}}\right) $$ | Flame Graph |
| entity_by_id | entity type ID: https://blockprotocol.org/@alice/types/entity-type/book/v/1 |
$$30.7 \mathrm{ms} \pm 278 \mathrm{μs}\left({\color{gray}0.948 \mathrm{\%}}\right) $$ | Flame Graph |
| entity_by_id | entity type ID: https://blockprotocol.org/@alice/types/entity-type/building/v/1 |
$$30.7 \mathrm{ms} \pm 333 \mathrm{μs}\left({\color{gray}-1.816 \mathrm{\%}}\right) $$ | Flame Graph |
| entity_by_id | entity type ID: https://blockprotocol.org/@alice/types/entity-type/organization/v/1 |
$$30.2 \mathrm{ms} \pm 304 \mathrm{μs}\left({\color{gray}1.24 \mathrm{\%}}\right) $$ | Flame Graph |
| entity_by_id | entity type ID: https://blockprotocol.org/@alice/types/entity-type/page/v/2 |
$$30.1 \mathrm{ms} \pm 266 \mathrm{μs}\left({\color{gray}-1.474 \mathrm{\%}}\right) $$ | Flame Graph |
| entity_by_id | entity type ID: https://blockprotocol.org/@alice/types/entity-type/person/v/1 |
$$31.1 \mathrm{ms} \pm 286 \mathrm{μs}\left({\color{gray}-0.727 \mathrm{\%}}\right) $$ | Flame Graph |
| entity_by_id | entity type ID: https://blockprotocol.org/@alice/types/entity-type/playlist/v/1 |
$$30.2 \mathrm{ms} \pm 286 \mathrm{μs}\left({\color{gray}-1.932 \mathrm{\%}}\right) $$ | Flame Graph |
| entity_by_id | entity type ID: https://blockprotocol.org/@alice/types/entity-type/song/v/1 |
$$29.8 \mathrm{ms} \pm 256 \mathrm{μs}\left({\color{gray}-2.327 \mathrm{\%}}\right) $$ | Flame Graph |
| entity_by_id | entity type ID: https://blockprotocol.org/@alice/types/entity-type/uk-address/v/1 |
$$30.8 \mathrm{ms} \pm 272 \mathrm{μs}\left({\color{gray}1.57 \mathrm{\%}}\right) $$ | Flame Graph |
representative_read_entity_type
| Function | Value | Mean | Flame graphs |
|---|---|---|---|
| get_entity_type_by_id | Account ID: bf5a9ef5-dc3b-43cf-a291-6210c0321eba |
$$9.23 \mathrm{ms} \pm 40.3 \mathrm{μs}\left({\color{gray}-1.778 \mathrm{\%}}\right) $$ | Flame Graph |
representative_read_multiple_entities
| Function | Value | Mean | Flame graphs |
|---|---|---|---|
| entity_by_property | traversal_paths=0 | 0 | $$57.9 \mathrm{ms} \pm 271 \mathrm{μs}\left({\color{gray}-0.043 \mathrm{\%}}\right) $$ |
| entity_by_property | traversal_paths=255 | 1,resolve_depths=inherit:1;values:255;properties:255;links:127;link_dests:126;type:true | $$110 \mathrm{ms} \pm 313 \mathrm{μs}\left({\color{gray}-3.455 \mathrm{\%}}\right) $$ |
| entity_by_property | traversal_paths=2 | 1,resolve_depths=inherit:0;values:0;properties:0;links:0;link_dests:0;type:false | $$61.9 \mathrm{ms} \pm 333 \mathrm{μs}\left({\color{gray}0.276 \mathrm{\%}}\right) $$ |
| entity_by_property | traversal_paths=2 | 1,resolve_depths=inherit:0;values:0;properties:0;links:1;link_dests:0;type:true | $$70.9 \mathrm{ms} \pm 361 \mathrm{μs}\left({\color{gray}0.518 \mathrm{\%}}\right) $$ |
| entity_by_property | traversal_paths=2 | 1,resolve_depths=inherit:0;values:0;properties:2;links:1;link_dests:0;type:true | $$80.0 \mathrm{ms} \pm 385 \mathrm{μs}\left({\color{lightgreen}-5.444 \mathrm{\%}}\right) $$ |
| entity_by_property | traversal_paths=2 | 1,resolve_depths=inherit:0;values:2;properties:2;links:1;link_dests:0;type:true | $$87.2 \mathrm{ms} \pm 309 \mathrm{μs}\left({\color{gray}-3.324 \mathrm{\%}}\right) $$ |
| link_by_source_by_property | traversal_paths=0 | 0 | $$50.2 \mathrm{ms} \pm 264 \mathrm{μs}\left({\color{lightgreen}-5.673 \mathrm{\%}}\right) $$ |
| link_by_source_by_property | traversal_paths=255 | 1,resolve_depths=inherit:1;values:255;properties:255;links:127;link_dests:126;type:true | $$78.3 \mathrm{ms} \pm 391 \mathrm{μs}\left({\color{gray}-1.236 \mathrm{\%}}\right) $$ |
| link_by_source_by_property | traversal_paths=2 | 1,resolve_depths=inherit:0;values:0;properties:0;links:0;link_dests:0;type:false | $$54.9 \mathrm{ms} \pm 345 \mathrm{μs}\left({\color{gray}-1.733 \mathrm{\%}}\right) $$ |
| link_by_source_by_property | traversal_paths=2 | 1,resolve_depths=inherit:0;values:0;properties:0;links:1;link_dests:0;type:true | $$64.0 \mathrm{ms} \pm 356 \mathrm{μs}\left({\color{gray}-2.213 \mathrm{\%}}\right) $$ |
| link_by_source_by_property | traversal_paths=2 | 1,resolve_depths=inherit:0;values:0;properties:2;links:1;link_dests:0;type:true | $$67.2 \mathrm{ms} \pm 397 \mathrm{μs}\left({\color{lightgreen}-5.293 \mathrm{\%}}\right) $$ |
| link_by_source_by_property | traversal_paths=2 | 1,resolve_depths=inherit:0;values:2;properties:2;links:1;link_dests:0;type:true | $$65.9 \mathrm{ms} \pm 249 \mathrm{μs}\left({\color{gray}-3.925 \mathrm{\%}}\right) $$ |
scaling_read_entity_complete_one_depth
| Function | Value | Mean | Flame graphs |
|---|---|---|---|
| entity_by_id | 1 entities | $$43.0 \mathrm{ms} \pm 221 \mathrm{μs}\left({\color{gray}1.35 \mathrm{\%}}\right) $$ | Flame Graph |
| entity_by_id | 10 entities | $$54.5 \mathrm{ms} \pm 288 \mathrm{μs}\left({\color{red}6.61 \mathrm{\%}}\right) $$ | Flame Graph |
| entity_by_id | 25 entities | $$50.7 \mathrm{ms} \pm 290 \mathrm{μs}\left({\color{gray}-0.282 \mathrm{\%}}\right) $$ | Flame Graph |
| entity_by_id | 5 entities | $$46.0 \mathrm{ms} \pm 357 \mathrm{μs}\left({\color{gray}-3.672 \mathrm{\%}}\right) $$ | Flame Graph |
| entity_by_id | 50 entities | $$70.7 \mathrm{ms} \pm 318 \mathrm{μs}\left({\color{gray}1.22 \mathrm{\%}}\right) $$ | Flame Graph |
scaling_read_entity_complete_zero_depth
| Function | Value | Mean | Flame graphs |
|---|---|---|---|
| entity_by_id | 1 entities | $$42.9 \mathrm{ms} \pm 281 \mathrm{μs}\left({\color{gray}0.264 \mathrm{\%}}\right) $$ | Flame Graph |
| entity_by_id | 10 entities | $$51.5 \mathrm{ms} \pm 283 \mathrm{μs}\left({\color{gray}-1.293 \mathrm{\%}}\right) $$ | Flame Graph |
| entity_by_id | 25 entities | $$50.8 \mathrm{ms} \pm 360 \mathrm{μs}\left({\color{gray}-0.725 \mathrm{\%}}\right) $$ | Flame Graph |
| entity_by_id | 5 entities | $$46.0 \mathrm{ms} \pm 178 \mathrm{μs}\left({\color{gray}0.194 \mathrm{\%}}\right) $$ | Flame Graph |
| entity_by_id | 50 entities | $$70.7 \mathrm{ms} \pm 482 \mathrm{μs}\left({\color{gray}2.53 \mathrm{\%}}\right) $$ | Flame Graph |
scaling_read_entity_linkless
| Function | Value | Mean | Flame graphs |
|---|---|---|---|
| entity_by_id | 1 entities | $$15.5 \mathrm{ms} \pm 74.7 \mathrm{μs}\left({\color{red}5.33 \mathrm{\%}}\right) $$ | Flame Graph |
| entity_by_id | 10 entities | $$14.5 \mathrm{ms} \pm 76.2 \mathrm{μs}\left({\color{gray}-2.301 \mathrm{\%}}\right) $$ | Flame Graph |
| entity_by_id | 100 entities | $$14.6 \mathrm{ms} \pm 68.2 \mathrm{μs}\left({\color{gray}-1.303 \mathrm{\%}}\right) $$ | Flame Graph |
| entity_by_id | 1000 entities | $$15.0 \mathrm{ms} \pm 79.4 \mathrm{μs}\left({\color{gray}-2.175 \mathrm{\%}}\right) $$ | Flame Graph |
| entity_by_id | 10000 entities | $$22.9 \mathrm{ms} \pm 154 \mathrm{μs}\left({\color{gray}-1.259 \mathrm{\%}}\right) $$ | Flame Graph |
scenarios
| Function | Value | Mean | Flame graphs |
|---|---|---|---|
| full_test | query-limited | $$134 \mathrm{ms} \pm 662 \mathrm{μs}\left({\color{lightgreen}-6.546 \mathrm{\%}}\right) $$ | Flame Graph |
| full_test | query-unlimited | $$129 \mathrm{ms} \pm 525 \mathrm{μs}\left({\color{lightgreen}-6.866 \mathrm{\%}}\right) $$ | Flame Graph |
| linked_queries | query-limited | $$42.5 \mathrm{ms} \pm 217 \mathrm{μs}\left({\color{lightgreen}-7.442 \mathrm{\%}}\right) $$ | Flame Graph |
| linked_queries | query-unlimited | $$565 \mathrm{ms} \pm 1.13 \mathrm{ms}\left({\color{gray}-0.234 \mathrm{\%}}\right) $$ | Flame Graph |
Closed in favor of https://github.com/hashintel/hash/pull/6473