[PR #31205] chore: drop slow lint rules #33133

Closed
opened 2026-02-21 20:52:43 -05:00 by yindo · 0 comments
Owner

Original Pull Request: https://github.com/langgenius/dify/pull/31205

State: closed
Merged: Yes


Important

  1. Make sure you have read our contribution guidelines
  2. Ensure there is an associated issue and you have been assigned to it
  3. Use the correct syntax to link this PR: Fixes #<issue number>.

Summary

close #31200

before 2m37s
disable react compiler rules 2m0s
disable sonarjs 1m13s

after

Perhaps some rules can optimize performance.

Rule Time (ms) Relative
style/indent 4623.165 14.5%
unused-imports/no-unused-imports 2745.831 8.6%
react-hooks/rules-of-hooks 1300.012 4.1%
perfectionist/sort-imports 960.617 3.0%
style/comma-style 792.658 2.5%
style/space-in-parens 752.510 2.4%
unicorn/prefer-dom-node-text-content 690.261 2.2%
style/no-extra-parens 658.213 2.1%
jsonc/indent 651.100 2.0%
regexp/control-character-escape 533.676 1.7%
ts/no-redeclare 530.908 1.7%
style/comma-spacing 480.865 1.5%
style/object-curly-spacing 453.868 1.4%
style/keyword-spacing 432.397 1.4%
next/no-html-link-for-pages 359.281 1.1%
style/comma-dangle 353.082 1.1%
node/no-deprecated-api 334.067 1.0%
unused-imports/no-unused-vars 316.862 1.0%
unicorn/prefer-string-starts-ends-with 276.766 0.9%
test/consistent-test-it 271.496 0.9%
perfectionist/sort-named-imports 266.457 0.8%
unicorn/error-message 261.199 0.8%
no-unmodified-loop-condition 259.941 0.8%
antfu/consistent-list-newline 257.620 0.8%
style/max-statements-per-line 255.336 0.8%
unicorn/escape-case 251.786 0.8%
jsonc/no-dupe-keys 240.646 0.8%
react-hooks-extra/no-direct-set-state-in-use-effect 232.523 0.7%
perfectionist/sort-exports 220.731 0.7%
style/jsx-curly-brace-presence 217.139 0.7%
unicorn/prefer-node-protocol 211.496 0.7%
react/no-missing-key 186.709 0.6%
jsonc/no-unicode-codepoint-escapes 180.893 0.6%
dify-i18n/valid-i18n-keys 180.378 0.6%
ts/no-use-before-define 177.811 0.6%
no-alert 172.833 0.5%
object-shorthand 168.974 0.5%
react/no-nested-component-definitions 167.465 0.5%
unicorn/prefer-includes 165.823 0.5%
no-useless-return 165.773 0.5%
unicorn/new-for-builtins 157.382 0.5%
style/no-trailing-spaces 153.555 0.5%
style/semi 145.431 0.5%
ts/consistent-type-imports 141.836 0.4%
jsonc/no-useless-escape 141.291 0.4%
unicorn/throw-new-error 141.267 0.4%
style/space-infix-ops 140.880 0.4%
style/no-multi-spaces 135.837 0.4%
no-restricted-globals 128.327 0.4%
style/no-whitespace-before-property 121.552 0.4%
test/prefer-hooks-in-order 120.254 0.4%
style/operator-linebreak 120.178 0.4%
style/type-annotation-spacing 119.440 0.4%
style/key-spacing 117.923 0.4%
style/arrow-spacing 116.001 0.4%
unicorn/prefer-number-properties 113.892 0.4%
style/spaced-comment 111.800 0.4%
style/jsx-closing-bracket-location 111.140 0.3%
array-callback-return 107.440 0.3%
one-var 106.076 0.3%
style/quote-props 103.876 0.3%
style/jsx-wrap-multilines 103.032 0.3%
no-unused-vars 98.641 0.3%
no-redeclare 97.349 0.3%
unicorn/number-literal-case 96.723 0.3%
jsonc/comma-style 96.195 0.3%
@tanstack/query/no-unstable-deps 96.102 0.3%
import/newline-after-import 94.521 0.3%
no-global-assign 92.597 0.3%
no-misleading-character-class 92.072 0.3%
style/jsx-tag-spacing 91.008 0.3%
no-extend-native 90.768 0.3%
jsonc/no-octal-escape 89.636 0.3%
style/block-spacing 89.628 0.3%
no-unexpected-multiline 88.539 0.3%
dify-i18n/no-extra-keys 87.591 0.3%
test/no-identical-title 83.712 0.3%
style/semi-spacing 83.078 0.3%
ts/no-unused-expressions 82.017 0.3%
style/jsx-indent-props 81.410 0.3%
no-regex-spaces 81.297 0.3%
style/dot-location 81.127 0.3%
style/member-delimiter-style 80.356 0.3%
no-unreachable-loop 79.319 0.2%
antfu/consistent-chaining 77.086 0.2%
jsonc/no-parenthesized 76.522 0.2%
@tanstack/query/exhaustive-deps 76.252 0.2%
style/jsx-one-expression-per-line 75.252 0.2%
react/no-create-ref 75.033 0.2%
style/brace-style 70.404 0.2%
style/padded-blocks 69.596 0.2%
regexp/no-legacy-features 68.217 0.2%
style/no-multiple-empty-lines 65.117 0.2%
node/handle-callback-err 64.281 0.2%
regexp/no-useless-dollar-replacements 63.938 0.2%
react-dom/no-void-elements-with-children 62.012 0.2%
style/indent-binary-ops 61.863 0.2%
no-fallthrough 61.008 0.2%
no-control-regex 60.730 0.2%
no-undef-init 59.615 0.2%
jsonc/no-multi-str 57.488 0.2%
no-irregular-whitespace 56.300 0.2%
ts/ban-ts-comment 56.072 0.2%
style/quotes 56.013 0.2%
react-dom/no-render-return-value 55.542 0.2%
no-loss-of-precision 54.384 0.2%
react/no-nested-lazy-component-declarations 54.380 0.2%
unicorn/consistent-empty-array-spread 53.753 0.2%
no-eval 53.514 0.2%
style/jsx-curly-newline 53.239 0.2%
no-restricted-properties 51.870 0.2%
jsonc/no-octal 51.630 0.2%
command/command 51.417 0.2%
style/no-tabs 50.375 0.2%
style/jsx-function-call-newline 50.075 0.2%
accessor-pairs 50.023 0.2%
no-shadow-restricted-names 49.944 0.2%
style/no-mixed-spaces-and-tabs 49.099 0.2%
style/jsx-curly-spacing 49.008 0.2%
jsonc/no-floating-decimal 48.622 0.2%
ts/no-explicit-any 47.615 0.1%
perfectionist/sort-named-exports 46.832 0.1%
@tanstack/query/infinite-query-property-order 46.681 0.1%
use-isnan 46.681 0.1%
style/space-before-blocks 45.639 0.1%
style/array-bracket-spacing 44.671 0.1%
no-implied-eval 42.454 0.1%
no-multi-str 41.646 0.1%
react-dom/no-render 41.419 0.1%
no-octal-escape 41.035 0.1%
node/no-path-concat 40.657 0.1%
style/computed-property-spacing 40.548 0.1%
jsonc/key-spacing 38.798 0.1%
import/no-duplicates 36.989 0.1%
style/jsx-equals-spacing 36.760 0.1%
eslint-comments/no-aggregating-enable 35.416 0.1%
@tanstack/query/mutation-property-order 35.086 0.1%
style/wrap-iife 34.821 0.1%
no-lone-blocks 33.257 0.1%
react/prefer-namespace-import 32.762 0.1%
prefer-template 32.756 0.1%
react/no-access-state-in-setstate 32.750 0.1%
import/consistent-type-specifier-style 32.707 0.1%
jsonc/sort-keys 31.837 0.1%
no-prototype-builtins 31.268 0.1%
new-cap 30.760 0.1%
jsonc/object-property-newline 30.242 0.1%
prefer-promise-reject-errors 30.033 0.1%
test/no-only-tests 29.394 0.1%
style/space-before-function-paren 29.372 0.1%
ts/no-array-constructor 29.245 0.1%
no-template-curly-in-string 28.680 0.1%
ts/no-unnecessary-type-constraint 28.354 0.1%
no-useless-call 26.372 0.1%
no-extra-boolean-cast 26.239 0.1%
@tanstack/query/no-void-query-fn 25.959 0.1%
style/arrow-parens 25.745 0.1%
style/space-unary-ops 25.529 0.1%
no-caller 24.903 0.1%
jsonc/quotes 24.673 0.1%
block-scoped-var 24.658 0.1%
style/no-mixed-operators 24.422 0.1%
import/first 24.259 0.1%
prefer-spread 24.048 0.1%
unicorn/no-instanceof-builtins 23.994 0.1%
style/multiline-ternary 23.832 0.1%
no-restricted-syntax 23.495 0.1%
no-iterator 23.346 0.1%
style/jsx-max-props-per-line 23.218 0.1%
style/lines-between-class-members 23.073 0.1%
ts/no-empty-object-type 22.822 0.1%
jsonc/no-numeric-separators 21.827 0.1%
prefer-const 21.421 0.1%
jsonc/no-bigint-literals 21.178 0.1%
unicorn/no-new-array 21.066 0.1%
dot-notation 20.969 0.1%
prefer-regex-literals 20.506 0.1%
node/prefer-global/buffer 20.089 0.1%
no-console 19.905 0.1%
no-octal 19.759 0.1%
style/no-floating-decimal 19.723 0.1%
next/no-duplicate-head 19.715 0.1%
react-dom/no-namespace 19.624 0.1%
jsonc/valid-json-number 19.467 0.1%
style/type-generic-spacing 19.247 0.1%
jsonc/object-curly-newline 19.204 0.1%
antfu/curly 19.054 0.1%
no-unsafe-finally 18.752 0.1%
no-useless-computed-key 18.497 0.1%
jsonc/no-binary-numeric-literals 18.324 0.1%
import/no-mutable-exports 18.315 0.1%
next/no-assign-module-variable 17.528 0.1%
style/jsx-quotes 17.371 0.1%
jsonc/no-regexp-literals 16.999 0.1%
eslint-comments/no-unlimited-disable 16.973 0.1%
jsonc/no-hexadecimal-numeric-literals 16.812 0.1%
next/inline-script-id 16.771 0.1%
no-extra-bind 16.698 0.1%
jsonc/no-octal-numeric-literals 16.672 0.1%
@tanstack/query/stable-query-client 16.605 0.1%
style/template-curly-spacing 16.514 0.1%
unicorn/no-new-buffer 16.313 0.1%
prefer-exponentiation-operator 16.269 0.1%
style/jsx-closing-tag-location 16.158 0.1%
style/generator-star-spacing 15.958 0.1%
no-proto 15.938 0.0%
jsonc/quote-props 15.741 0.0%
no-useless-rename 14.825 0.0%
react/no-prop-types 14.736 0.0%
ts/prefer-as-const 14.726 0.0%
ts/no-namespace 14.018 0.0%
antfu/no-import-dist 13.629 0.0%
no-cond-assign 13.429 0.0%
ts/no-wrapper-object-types 13.245 0.0%
ts/no-require-imports 13.242 0.0%
unicorn/prefer-type-error 13.202 0.0%
style/jsx-first-prop-new-line 13.153 0.0%
ts/prefer-literal-enum-member 13.072 0.0%
style/eol-last 13.042 0.0%
ts/no-unsafe-function-type 13.021 0.0%
no-self-compare 12.929 0.0%
react/no-component-will-mount 12.826 0.0%
react-dom/no-hydrate 12.823 0.0%
react/no-duplicate-key 12.735 0.0%
import/no-named-default 12.641 0.0%
antfu/import-dedupe 12.572 0.0%
jsonc/comma-dangle 11.962 0.0%
react/no-string-refs 11.950 0.0%
no-empty 11.788 0.0%
react/no-default-props 11.722 0.0%
jsonc/no-number-props 11.612 0.0%
yoda 11.350 0.0%
ts/no-this-alias 11.325 0.0%
react-dom/no-use-form-state 11.170 0.0%
react-dom/no-dangerously-set-innerhtml-with-children 11.055 0.0%
react/no-redundant-should-component-update 10.677 0.0%
ts/no-import-type-side-effects 10.667 0.0%
antfu/no-import-node-modules-by-path 10.541 0.0%
valid-typeof 10.453 0.0%
ts/consistent-type-definitions 10.440 0.0%
no-self-assign 9.813 0.0%
jsonc/object-curly-spacing 9.744 0.0%
react-dom/no-flush-sync 9.675 0.0%
regexp/no-dupe-disjunctions 9.385 0.0%
no-var 9.284 0.0%
react-dom/no-find-dom-node 9.103 0.0%
next/no-script-component-in-head 9.090 0.0%
react/no-direct-mutation-state 9.061 0.0%
eqeqeq 9.056 0.0%
ts/no-dupe-class-members 8.969 0.0%
no-sparse-arrays 8.875 0.0%
style/rest-spread-spacing 8.863 0.0%
prefer-arrow-callback 8.819 0.0%
constructor-super 8.671 0.0%
antfu/no-top-level-await 8.452 0.0%
react/no-component-will-update 8.409 0.0%
react/no-component-will-receive-props 8.250 0.0%
no-unreachable 8.143 0.0%
no-empty-pattern 8.084 0.0%
no-compare-neg-zero 7.694 0.0%
next/no-sync-scripts 7.569 0.0%
ts/method-signature-style 7.542 0.0%
ts/no-duplicate-enum-values 7.169 0.0%
no-this-before-super 7.125 0.0%
no-obj-calls 6.938 0.0%
no-new-func 6.744 0.0%
jsonc/no-sparse-arrays 6.688 0.0%
jsonc/array-bracket-spacing 6.586 0.0%
node/no-exports-assign 6.551 0.0%
no-use-before-define 6.418 0.0%
symbol-description 6.337 0.0%
ts/no-unsafe-declaration-merging 6.280 0.0%
next/no-document-import-in-page 6.060 0.0%
regexp/no-missing-g-flag 6.047 0.0%
regexp/match-any 5.942 0.0%
no-unneeded-ternary 5.854 0.0%
unicode-bom 5.592 0.0%
next/no-head-import-in-document 5.224 0.0%
ts/no-misused-new 5.037 0.0%
regexp/prefer-d 4.888 0.0%
style/yield-star-spacing 4.628 0.0%
no-labels 4.621 0.0%
regexp/negation 4.613 0.0%
style/new-parens 4.569 0.0%
no-sequences 4.279 0.0%
regexp/no-useless-escape 4.277 0.0%
style/template-tag-spacing 4.215 0.0%
regexp/no-useless-non-capturing-group 4.162 0.0%
no-duplicate-case 4.077 0.0%
ts/prefer-namespace-keyword 4.011 0.0%
ts/no-extra-non-null-assertion 3.985 0.0%
antfu/if-newline 3.922 0.0%
ts/no-non-null-asserted-nullish-coalescing 3.857 0.0%
no-unused-expressions 3.826 0.0%
regexp/prefer-range 3.803 0.0%
ts/no-non-null-asserted-optional-chain 3.747 0.0%
no-delete-var 3.552 0.0%
regexp/no-misleading-unicode-character 3.493 0.0%
regexp/no-unused-capturing-group 3.407 0.0%
regexp/no-empty-capturing-group 3.403 0.0%
regexp/sort-flags 3.400 0.0%
regexp/no-useless-assertions 3.351 0.0%
no-ex-assign 3.292 0.0%
eslint-comments/no-unused-enable 3.292 0.0%
storybook/story-exports 3.245 0.0%
regexp/no-super-linear-backtracking 3.238 0.0%
regexp/no-useless-backreference 3.218 0.0%
regexp/no-obscure-range 3.193 0.0%
regexp/no-contradiction-with-assertion 3.162 0.0%
regexp/no-empty-string-literal 3.161 0.0%
regexp/no-empty-group 3.116 0.0%
eslint-comments/no-duplicate-disable 3.114 0.0%
storybook/await-interactions 3.110 0.0%
regexp/prefer-set-operation 3.107 0.0%
regexp/no-optional-assertion 3.044 0.0%
regexp/no-misleading-capturing-group 2.977 0.0%
no-new-native-nonconstructor 2.975 0.0%
regexp/no-invalid-regexp 2.921 0.0%
regexp/no-invisible-character 2.894 0.0%
regexp/no-useless-range 2.818 0.0%
regexp/no-empty-lookarounds-assertion 2.814 0.0%
regexp/no-extra-lookaround-assertions 2.814 0.0%
regexp/no-useless-quantifier 2.805 0.0%
regexp/no-useless-string-literal 2.759 0.0%
regexp/no-useless-character-class 2.727 0.0%
regexp/no-dupe-characters-character-class 2.717 0.0%
node/no-new-require 2.675 0.0%
style/type-named-tuple-spacing 2.653 0.0%
regexp/no-trivially-nested-quantifier 2.640 0.0%
regexp/prefer-plus-quantifier 2.638 0.0%
regexp/no-non-standard-flag 2.634 0.0%
regexp/no-escape-backspace 2.606 0.0%
regexp/optimal-quantifier-concatenation 2.587 0.0%
regexp/prefer-character-class 2.575 0.0%
regexp/prefer-star-quantifier 2.574 0.0%
regexp/use-ignore-case 2.524 0.0%
regexp/simplify-set-operations 2.514 0.0%
default-case-last 2.512 0.0%
regexp/no-trivially-nested-assertion 2.509 0.0%
prefer-rest-params 2.473 0.0%
no-new-wrappers 2.470 0.0%
regexp/prefer-unicode-codepoint-escapes 2.426 0.0%
no-case-declarations 2.376 0.0%
no-throw-literal 2.343 0.0%
regexp/prefer-question-quantifier 2.328 0.0%
regexp/prefer-predefined-assertion 2.324 0.0%
regexp/no-empty-character-class 2.298 0.0%
vars-on-top 2.263 0.0%
regexp/no-zero-quantifier 2.246 0.0%
no-dupe-keys 2.188 0.0%
no-undef 2.178 0.0%
regexp/no-useless-lazy 2.164 0.0%
regexp/strict 2.152 0.0%
regexp/prefer-w 2.097 0.0%
no-new 2.080 0.0%
regexp/no-useless-set-operand 1.915 0.0%
no-useless-catch 1.914 0.0%
no-const-assign 1.853 0.0%
regexp/no-useless-two-nums-quantifier 1.843 0.0%
no-debugger 1.832 0.0%
node/process-exit-as-throw 1.830 0.0%
no-unsafe-negation 1.742 0.0%
no-async-promise-executor 1.623 0.0%
no-array-constructor 1.609 0.0%
no-dupe-args 1.535 0.0%
no-dupe-class-members 1.530 0.0%
jsonc/vue-custom-block/no-parsing-error 1.503 0.0%
storybook/default-exports 1.452 0.0%
no-import-assign 1.448 0.0%
jsonc/space-unary-ops 1.373 0.0%
no-func-assign 1.315 0.0%
jsonc/no-plus-sign 1.198 0.0%
no-useless-constructor 1.156 0.0%
jsonc/no-binary-expression 1.153 0.0%
test/no-import-node-test 1.112 0.0%
jsonc/no-escape-sequence-in-identifier 1.105 0.0%
no-with 1.013 0.0%
storybook/use-storybook-expect 0.983 0.0%
storybook/context-in-play-function 0.913 0.0%
jsonc/no-template-literals 0.913 0.0%
no-class-assign 0.870 0.0%
jsonc/no-infinity 0.824 0.0%
jsonc/no-nan 0.805 0.0%
storybook/no-uninstalled-addons 0.784 0.0%
jsonc/no-undefined-value 0.662 0.0%
storybook/no-renderer-packages 0.557 0.0%
storybook/use-storybook-testing-library 0.522 0.0%
jsonc/sort-array-values 0.285 0.0%

Screenshots

Before After
... ...

Checklist

  • This change requires a documentation update, included: Dify Document
  • I understand that this PR may be closed in case there was no previous discussion or issues. (This doesn't apply to typos!)
  • I've added a test for each change that was introduced, and I tried as much as possible to make a single atomic change.
  • I've updated the documentation accordingly.
  • I ran make lint and make type-check (backend) and cd web && npx lint-staged (frontend) to appease the lint gods
**Original Pull Request:** https://github.com/langgenius/dify/pull/31205 **State:** closed **Merged:** Yes --- > [!IMPORTANT] > > 1. Make sure you have read our [contribution guidelines](https://github.com/langgenius/dify/blob/main/CONTRIBUTING.md) > 1. Ensure there is an associated issue and you have been assigned to it > 1. Use the correct syntax to link this PR: `Fixes #<issue number>`. ## Summary <!-- Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change. --> close #31200 before 2m37s disable react compiler rules 2m0s disable sonarjs 1m13s after Perhaps some rules can optimize performance. Rule | Time (ms) | Relative :----------------------------------------------------|----------:|--------: style/indent | 4623.165 | 14.5% unused-imports/no-unused-imports | 2745.831 | 8.6% react-hooks/rules-of-hooks | 1300.012 | 4.1% perfectionist/sort-imports | 960.617 | 3.0% style/comma-style | 792.658 | 2.5% style/space-in-parens | 752.510 | 2.4% unicorn/prefer-dom-node-text-content | 690.261 | 2.2% style/no-extra-parens | 658.213 | 2.1% jsonc/indent | 651.100 | 2.0% regexp/control-character-escape | 533.676 | 1.7% ts/no-redeclare | 530.908 | 1.7% style/comma-spacing | 480.865 | 1.5% style/object-curly-spacing | 453.868 | 1.4% style/keyword-spacing | 432.397 | 1.4% next/no-html-link-for-pages | 359.281 | 1.1% style/comma-dangle | 353.082 | 1.1% node/no-deprecated-api | 334.067 | 1.0% unused-imports/no-unused-vars | 316.862 | 1.0% unicorn/prefer-string-starts-ends-with | 276.766 | 0.9% test/consistent-test-it | 271.496 | 0.9% perfectionist/sort-named-imports | 266.457 | 0.8% unicorn/error-message | 261.199 | 0.8% no-unmodified-loop-condition | 259.941 | 0.8% antfu/consistent-list-newline | 257.620 | 0.8% style/max-statements-per-line | 255.336 | 0.8% unicorn/escape-case | 251.786 | 0.8% jsonc/no-dupe-keys | 240.646 | 0.8% react-hooks-extra/no-direct-set-state-in-use-effect | 232.523 | 0.7% perfectionist/sort-exports | 220.731 | 0.7% style/jsx-curly-brace-presence | 217.139 | 0.7% unicorn/prefer-node-protocol | 211.496 | 0.7% react/no-missing-key | 186.709 | 0.6% jsonc/no-unicode-codepoint-escapes | 180.893 | 0.6% dify-i18n/valid-i18n-keys | 180.378 | 0.6% ts/no-use-before-define | 177.811 | 0.6% no-alert | 172.833 | 0.5% object-shorthand | 168.974 | 0.5% react/no-nested-component-definitions | 167.465 | 0.5% unicorn/prefer-includes | 165.823 | 0.5% no-useless-return | 165.773 | 0.5% unicorn/new-for-builtins | 157.382 | 0.5% style/no-trailing-spaces | 153.555 | 0.5% style/semi | 145.431 | 0.5% ts/consistent-type-imports | 141.836 | 0.4% jsonc/no-useless-escape | 141.291 | 0.4% unicorn/throw-new-error | 141.267 | 0.4% style/space-infix-ops | 140.880 | 0.4% style/no-multi-spaces | 135.837 | 0.4% no-restricted-globals | 128.327 | 0.4% style/no-whitespace-before-property | 121.552 | 0.4% test/prefer-hooks-in-order | 120.254 | 0.4% style/operator-linebreak | 120.178 | 0.4% style/type-annotation-spacing | 119.440 | 0.4% style/key-spacing | 117.923 | 0.4% style/arrow-spacing | 116.001 | 0.4% unicorn/prefer-number-properties | 113.892 | 0.4% style/spaced-comment | 111.800 | 0.4% style/jsx-closing-bracket-location | 111.140 | 0.3% array-callback-return | 107.440 | 0.3% one-var | 106.076 | 0.3% style/quote-props | 103.876 | 0.3% style/jsx-wrap-multilines | 103.032 | 0.3% no-unused-vars | 98.641 | 0.3% no-redeclare | 97.349 | 0.3% unicorn/number-literal-case | 96.723 | 0.3% jsonc/comma-style | 96.195 | 0.3% @tanstack/query/no-unstable-deps | 96.102 | 0.3% import/newline-after-import | 94.521 | 0.3% no-global-assign | 92.597 | 0.3% no-misleading-character-class | 92.072 | 0.3% style/jsx-tag-spacing | 91.008 | 0.3% no-extend-native | 90.768 | 0.3% jsonc/no-octal-escape | 89.636 | 0.3% style/block-spacing | 89.628 | 0.3% no-unexpected-multiline | 88.539 | 0.3% dify-i18n/no-extra-keys | 87.591 | 0.3% test/no-identical-title | 83.712 | 0.3% style/semi-spacing | 83.078 | 0.3% ts/no-unused-expressions | 82.017 | 0.3% style/jsx-indent-props | 81.410 | 0.3% no-regex-spaces | 81.297 | 0.3% style/dot-location | 81.127 | 0.3% style/member-delimiter-style | 80.356 | 0.3% no-unreachable-loop | 79.319 | 0.2% antfu/consistent-chaining | 77.086 | 0.2% jsonc/no-parenthesized | 76.522 | 0.2% @tanstack/query/exhaustive-deps | 76.252 | 0.2% style/jsx-one-expression-per-line | 75.252 | 0.2% react/no-create-ref | 75.033 | 0.2% style/brace-style | 70.404 | 0.2% style/padded-blocks | 69.596 | 0.2% regexp/no-legacy-features | 68.217 | 0.2% style/no-multiple-empty-lines | 65.117 | 0.2% node/handle-callback-err | 64.281 | 0.2% regexp/no-useless-dollar-replacements | 63.938 | 0.2% react-dom/no-void-elements-with-children | 62.012 | 0.2% style/indent-binary-ops | 61.863 | 0.2% no-fallthrough | 61.008 | 0.2% no-control-regex | 60.730 | 0.2% no-undef-init | 59.615 | 0.2% jsonc/no-multi-str | 57.488 | 0.2% no-irregular-whitespace | 56.300 | 0.2% ts/ban-ts-comment | 56.072 | 0.2% style/quotes | 56.013 | 0.2% react-dom/no-render-return-value | 55.542 | 0.2% no-loss-of-precision | 54.384 | 0.2% react/no-nested-lazy-component-declarations | 54.380 | 0.2% unicorn/consistent-empty-array-spread | 53.753 | 0.2% no-eval | 53.514 | 0.2% style/jsx-curly-newline | 53.239 | 0.2% no-restricted-properties | 51.870 | 0.2% jsonc/no-octal | 51.630 | 0.2% command/command | 51.417 | 0.2% style/no-tabs | 50.375 | 0.2% style/jsx-function-call-newline | 50.075 | 0.2% accessor-pairs | 50.023 | 0.2% no-shadow-restricted-names | 49.944 | 0.2% style/no-mixed-spaces-and-tabs | 49.099 | 0.2% style/jsx-curly-spacing | 49.008 | 0.2% jsonc/no-floating-decimal | 48.622 | 0.2% ts/no-explicit-any | 47.615 | 0.1% perfectionist/sort-named-exports | 46.832 | 0.1% @tanstack/query/infinite-query-property-order | 46.681 | 0.1% use-isnan | 46.681 | 0.1% style/space-before-blocks | 45.639 | 0.1% style/array-bracket-spacing | 44.671 | 0.1% no-implied-eval | 42.454 | 0.1% no-multi-str | 41.646 | 0.1% react-dom/no-render | 41.419 | 0.1% no-octal-escape | 41.035 | 0.1% node/no-path-concat | 40.657 | 0.1% style/computed-property-spacing | 40.548 | 0.1% jsonc/key-spacing | 38.798 | 0.1% import/no-duplicates | 36.989 | 0.1% style/jsx-equals-spacing | 36.760 | 0.1% eslint-comments/no-aggregating-enable | 35.416 | 0.1% @tanstack/query/mutation-property-order | 35.086 | 0.1% style/wrap-iife | 34.821 | 0.1% no-lone-blocks | 33.257 | 0.1% react/prefer-namespace-import | 32.762 | 0.1% prefer-template | 32.756 | 0.1% react/no-access-state-in-setstate | 32.750 | 0.1% import/consistent-type-specifier-style | 32.707 | 0.1% jsonc/sort-keys | 31.837 | 0.1% no-prototype-builtins | 31.268 | 0.1% new-cap | 30.760 | 0.1% jsonc/object-property-newline | 30.242 | 0.1% prefer-promise-reject-errors | 30.033 | 0.1% test/no-only-tests | 29.394 | 0.1% style/space-before-function-paren | 29.372 | 0.1% ts/no-array-constructor | 29.245 | 0.1% no-template-curly-in-string | 28.680 | 0.1% ts/no-unnecessary-type-constraint | 28.354 | 0.1% no-useless-call | 26.372 | 0.1% no-extra-boolean-cast | 26.239 | 0.1% @tanstack/query/no-void-query-fn | 25.959 | 0.1% style/arrow-parens | 25.745 | 0.1% style/space-unary-ops | 25.529 | 0.1% no-caller | 24.903 | 0.1% jsonc/quotes | 24.673 | 0.1% block-scoped-var | 24.658 | 0.1% style/no-mixed-operators | 24.422 | 0.1% import/first | 24.259 | 0.1% prefer-spread | 24.048 | 0.1% unicorn/no-instanceof-builtins | 23.994 | 0.1% style/multiline-ternary | 23.832 | 0.1% no-restricted-syntax | 23.495 | 0.1% no-iterator | 23.346 | 0.1% style/jsx-max-props-per-line | 23.218 | 0.1% style/lines-between-class-members | 23.073 | 0.1% ts/no-empty-object-type | 22.822 | 0.1% jsonc/no-numeric-separators | 21.827 | 0.1% prefer-const | 21.421 | 0.1% jsonc/no-bigint-literals | 21.178 | 0.1% unicorn/no-new-array | 21.066 | 0.1% dot-notation | 20.969 | 0.1% prefer-regex-literals | 20.506 | 0.1% node/prefer-global/buffer | 20.089 | 0.1% no-console | 19.905 | 0.1% no-octal | 19.759 | 0.1% style/no-floating-decimal | 19.723 | 0.1% next/no-duplicate-head | 19.715 | 0.1% react-dom/no-namespace | 19.624 | 0.1% jsonc/valid-json-number | 19.467 | 0.1% style/type-generic-spacing | 19.247 | 0.1% jsonc/object-curly-newline | 19.204 | 0.1% antfu/curly | 19.054 | 0.1% no-unsafe-finally | 18.752 | 0.1% no-useless-computed-key | 18.497 | 0.1% jsonc/no-binary-numeric-literals | 18.324 | 0.1% import/no-mutable-exports | 18.315 | 0.1% next/no-assign-module-variable | 17.528 | 0.1% style/jsx-quotes | 17.371 | 0.1% jsonc/no-regexp-literals | 16.999 | 0.1% eslint-comments/no-unlimited-disable | 16.973 | 0.1% jsonc/no-hexadecimal-numeric-literals | 16.812 | 0.1% next/inline-script-id | 16.771 | 0.1% no-extra-bind | 16.698 | 0.1% jsonc/no-octal-numeric-literals | 16.672 | 0.1% @tanstack/query/stable-query-client | 16.605 | 0.1% style/template-curly-spacing | 16.514 | 0.1% unicorn/no-new-buffer | 16.313 | 0.1% prefer-exponentiation-operator | 16.269 | 0.1% style/jsx-closing-tag-location | 16.158 | 0.1% style/generator-star-spacing | 15.958 | 0.1% no-proto | 15.938 | 0.0% jsonc/quote-props | 15.741 | 0.0% no-useless-rename | 14.825 | 0.0% react/no-prop-types | 14.736 | 0.0% ts/prefer-as-const | 14.726 | 0.0% ts/no-namespace | 14.018 | 0.0% antfu/no-import-dist | 13.629 | 0.0% no-cond-assign | 13.429 | 0.0% ts/no-wrapper-object-types | 13.245 | 0.0% ts/no-require-imports | 13.242 | 0.0% unicorn/prefer-type-error | 13.202 | 0.0% style/jsx-first-prop-new-line | 13.153 | 0.0% ts/prefer-literal-enum-member | 13.072 | 0.0% style/eol-last | 13.042 | 0.0% ts/no-unsafe-function-type | 13.021 | 0.0% no-self-compare | 12.929 | 0.0% react/no-component-will-mount | 12.826 | 0.0% react-dom/no-hydrate | 12.823 | 0.0% react/no-duplicate-key | 12.735 | 0.0% import/no-named-default | 12.641 | 0.0% antfu/import-dedupe | 12.572 | 0.0% jsonc/comma-dangle | 11.962 | 0.0% react/no-string-refs | 11.950 | 0.0% no-empty | 11.788 | 0.0% react/no-default-props | 11.722 | 0.0% jsonc/no-number-props | 11.612 | 0.0% yoda | 11.350 | 0.0% ts/no-this-alias | 11.325 | 0.0% react-dom/no-use-form-state | 11.170 | 0.0% react-dom/no-dangerously-set-innerhtml-with-children | 11.055 | 0.0% react/no-redundant-should-component-update | 10.677 | 0.0% ts/no-import-type-side-effects | 10.667 | 0.0% antfu/no-import-node-modules-by-path | 10.541 | 0.0% valid-typeof | 10.453 | 0.0% ts/consistent-type-definitions | 10.440 | 0.0% no-self-assign | 9.813 | 0.0% jsonc/object-curly-spacing | 9.744 | 0.0% react-dom/no-flush-sync | 9.675 | 0.0% regexp/no-dupe-disjunctions | 9.385 | 0.0% no-var | 9.284 | 0.0% react-dom/no-find-dom-node | 9.103 | 0.0% next/no-script-component-in-head | 9.090 | 0.0% react/no-direct-mutation-state | 9.061 | 0.0% eqeqeq | 9.056 | 0.0% ts/no-dupe-class-members | 8.969 | 0.0% no-sparse-arrays | 8.875 | 0.0% style/rest-spread-spacing | 8.863 | 0.0% prefer-arrow-callback | 8.819 | 0.0% constructor-super | 8.671 | 0.0% antfu/no-top-level-await | 8.452 | 0.0% react/no-component-will-update | 8.409 | 0.0% react/no-component-will-receive-props | 8.250 | 0.0% no-unreachable | 8.143 | 0.0% no-empty-pattern | 8.084 | 0.0% no-compare-neg-zero | 7.694 | 0.0% next/no-sync-scripts | 7.569 | 0.0% ts/method-signature-style | 7.542 | 0.0% ts/no-duplicate-enum-values | 7.169 | 0.0% no-this-before-super | 7.125 | 0.0% no-obj-calls | 6.938 | 0.0% no-new-func | 6.744 | 0.0% jsonc/no-sparse-arrays | 6.688 | 0.0% jsonc/array-bracket-spacing | 6.586 | 0.0% node/no-exports-assign | 6.551 | 0.0% no-use-before-define | 6.418 | 0.0% symbol-description | 6.337 | 0.0% ts/no-unsafe-declaration-merging | 6.280 | 0.0% next/no-document-import-in-page | 6.060 | 0.0% regexp/no-missing-g-flag | 6.047 | 0.0% regexp/match-any | 5.942 | 0.0% no-unneeded-ternary | 5.854 | 0.0% unicode-bom | 5.592 | 0.0% next/no-head-import-in-document | 5.224 | 0.0% ts/no-misused-new | 5.037 | 0.0% regexp/prefer-d | 4.888 | 0.0% style/yield-star-spacing | 4.628 | 0.0% no-labels | 4.621 | 0.0% regexp/negation | 4.613 | 0.0% style/new-parens | 4.569 | 0.0% no-sequences | 4.279 | 0.0% regexp/no-useless-escape | 4.277 | 0.0% style/template-tag-spacing | 4.215 | 0.0% regexp/no-useless-non-capturing-group | 4.162 | 0.0% no-duplicate-case | 4.077 | 0.0% ts/prefer-namespace-keyword | 4.011 | 0.0% ts/no-extra-non-null-assertion | 3.985 | 0.0% antfu/if-newline | 3.922 | 0.0% ts/no-non-null-asserted-nullish-coalescing | 3.857 | 0.0% no-unused-expressions | 3.826 | 0.0% regexp/prefer-range | 3.803 | 0.0% ts/no-non-null-asserted-optional-chain | 3.747 | 0.0% no-delete-var | 3.552 | 0.0% regexp/no-misleading-unicode-character | 3.493 | 0.0% regexp/no-unused-capturing-group | 3.407 | 0.0% regexp/no-empty-capturing-group | 3.403 | 0.0% regexp/sort-flags | 3.400 | 0.0% regexp/no-useless-assertions | 3.351 | 0.0% no-ex-assign | 3.292 | 0.0% eslint-comments/no-unused-enable | 3.292 | 0.0% storybook/story-exports | 3.245 | 0.0% regexp/no-super-linear-backtracking | 3.238 | 0.0% regexp/no-useless-backreference | 3.218 | 0.0% regexp/no-obscure-range | 3.193 | 0.0% regexp/no-contradiction-with-assertion | 3.162 | 0.0% regexp/no-empty-string-literal | 3.161 | 0.0% regexp/no-empty-group | 3.116 | 0.0% eslint-comments/no-duplicate-disable | 3.114 | 0.0% storybook/await-interactions | 3.110 | 0.0% regexp/prefer-set-operation | 3.107 | 0.0% regexp/no-optional-assertion | 3.044 | 0.0% regexp/no-misleading-capturing-group | 2.977 | 0.0% no-new-native-nonconstructor | 2.975 | 0.0% regexp/no-invalid-regexp | 2.921 | 0.0% regexp/no-invisible-character | 2.894 | 0.0% regexp/no-useless-range | 2.818 | 0.0% regexp/no-empty-lookarounds-assertion | 2.814 | 0.0% regexp/no-extra-lookaround-assertions | 2.814 | 0.0% regexp/no-useless-quantifier | 2.805 | 0.0% regexp/no-useless-string-literal | 2.759 | 0.0% regexp/no-useless-character-class | 2.727 | 0.0% regexp/no-dupe-characters-character-class | 2.717 | 0.0% node/no-new-require | 2.675 | 0.0% style/type-named-tuple-spacing | 2.653 | 0.0% regexp/no-trivially-nested-quantifier | 2.640 | 0.0% regexp/prefer-plus-quantifier | 2.638 | 0.0% regexp/no-non-standard-flag | 2.634 | 0.0% regexp/no-escape-backspace | 2.606 | 0.0% regexp/optimal-quantifier-concatenation | 2.587 | 0.0% regexp/prefer-character-class | 2.575 | 0.0% regexp/prefer-star-quantifier | 2.574 | 0.0% regexp/use-ignore-case | 2.524 | 0.0% regexp/simplify-set-operations | 2.514 | 0.0% default-case-last | 2.512 | 0.0% regexp/no-trivially-nested-assertion | 2.509 | 0.0% prefer-rest-params | 2.473 | 0.0% no-new-wrappers | 2.470 | 0.0% regexp/prefer-unicode-codepoint-escapes | 2.426 | 0.0% no-case-declarations | 2.376 | 0.0% no-throw-literal | 2.343 | 0.0% regexp/prefer-question-quantifier | 2.328 | 0.0% regexp/prefer-predefined-assertion | 2.324 | 0.0% regexp/no-empty-character-class | 2.298 | 0.0% vars-on-top | 2.263 | 0.0% regexp/no-zero-quantifier | 2.246 | 0.0% no-dupe-keys | 2.188 | 0.0% no-undef | 2.178 | 0.0% regexp/no-useless-lazy | 2.164 | 0.0% regexp/strict | 2.152 | 0.0% regexp/prefer-w | 2.097 | 0.0% no-new | 2.080 | 0.0% regexp/no-useless-set-operand | 1.915 | 0.0% no-useless-catch | 1.914 | 0.0% no-const-assign | 1.853 | 0.0% regexp/no-useless-two-nums-quantifier | 1.843 | 0.0% no-debugger | 1.832 | 0.0% node/process-exit-as-throw | 1.830 | 0.0% no-unsafe-negation | 1.742 | 0.0% no-async-promise-executor | 1.623 | 0.0% no-array-constructor | 1.609 | 0.0% no-dupe-args | 1.535 | 0.0% no-dupe-class-members | 1.530 | 0.0% jsonc/vue-custom-block/no-parsing-error | 1.503 | 0.0% storybook/default-exports | 1.452 | 0.0% no-import-assign | 1.448 | 0.0% jsonc/space-unary-ops | 1.373 | 0.0% no-func-assign | 1.315 | 0.0% jsonc/no-plus-sign | 1.198 | 0.0% no-useless-constructor | 1.156 | 0.0% jsonc/no-binary-expression | 1.153 | 0.0% test/no-import-node-test | 1.112 | 0.0% jsonc/no-escape-sequence-in-identifier | 1.105 | 0.0% no-with | 1.013 | 0.0% storybook/use-storybook-expect | 0.983 | 0.0% storybook/context-in-play-function | 0.913 | 0.0% jsonc/no-template-literals | 0.913 | 0.0% no-class-assign | 0.870 | 0.0% jsonc/no-infinity | 0.824 | 0.0% jsonc/no-nan | 0.805 | 0.0% storybook/no-uninstalled-addons | 0.784 | 0.0% jsonc/no-undefined-value | 0.662 | 0.0% storybook/no-renderer-packages | 0.557 | 0.0% storybook/use-storybook-testing-library | 0.522 | 0.0% jsonc/sort-array-values | 0.285 | 0.0% ## Screenshots | Before | After | |--------|-------| | ... | ... | ## Checklist - [ ] This change requires a documentation update, included: [Dify Document](https://github.com/langgenius/dify-docs) - [x] I understand that this PR may be closed in case there was no previous discussion or issues. (This doesn't apply to typos!) - [x] I've added a test for each change that was introduced, and I tried as much as possible to make a single atomic change. - [x] I've updated the documentation accordingly. - [x] I ran `make lint` and `make type-check` (backend) and `cd web && npx lint-staged` (frontend) to appease the lint gods
yindo added the pull-request label 2026-02-21 20:52:43 -05:00
yindo closed this issue 2026-02-21 20:52:43 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: langgenius/dify#33133