@sun-asterisk/sunlint 1.3.39 → 1.3.41
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/config/rules/rules-registry-generated.json +134 -108
- package/core/rule-selection-service.js +11 -0
- package/docs/GENERATED_FILES_QUICK_REFERENCE.md +96 -0
- package/docs/GENERATED_FILE_HANDLING_SUMMARY.md +152 -0
- package/docs/skills/CREATE_NEW_DART_RULE.md +161 -14
- package/origin-rules/dart-en.md +151 -163
- package/package.json +2 -1
- package/rules/dart/D002_dispose_resources/config.json +25 -0
- package/rules/dart/D003_prefer_widgets_over_methods/config.json +14 -0
- package/rules/dart/D004_avoid_shrinkwrap_listview/config.json +13 -0
- package/rules/dart/D005_limit_widget_nesting/config.json +13 -0
- package/rules/dart/D006_prefer_extracting_large_callbacks/config.json +25 -0
- package/rules/dart/D007_prefer_init_first_dispose_last/config.json +10 -0
- package/rules/dart/D008_avoid_long_functions/config.json +12 -0
- package/rules/dart/D009_limit_function_parameters/config.json +13 -0
- package/rules/dart/D010_limit_cyclomatic_complexity/config.json +12 -0
- package/rules/dart/D011_prefer_named_parameters/config.json +12 -0
- package/rules/dart/D012_prefer_named_boolean_parameters/config.json +9 -0
- package/rules/dart/D013_single_public_class/config.json +10 -0
- package/rules/dart/D014_unsafe_collection_access/config.json +10 -0
- package/rules/dart/D015_copywith_all_parameters/config.json +9 -0
- package/rules/dart/D016_project_should_have_tests/config.json +24 -0
- package/rules/dart/D017_pubspec_dependencies_review/config.json +23 -0
- package/rules/dart/D018_remove_commented_code/config.json +13 -0
- package/rules/dart/D019_avoid_single_child_multi_child_widget/config.json +21 -0
- package/rules/dart/D020_limit_if_else_branches/config.json +12 -0
- package/rules/dart/D021_avoid_negated_boolean_checks/config.json +14 -0
- package/rules/dart/D022_use_setstate_correctly/config.json +14 -0
- package/rules/dart/D023_avoid_unnecessary_method_overrides/config.json +13 -0
- package/rules/dart/D024_avoid_unnecessary_stateful_widget/config.json +9 -0
- package/rules/dart/D025_avoid_nested_conditional_expressions/config.json +9 -0
- package/skill-assets/sunlint-code-quality/AGENTS.md +80 -0
- package/skill-assets/sunlint-code-quality/SKILL.md +176 -0
- package/skill-assets/sunlint-code-quality/rules/csharp/C006-verb-noun-functions.md +36 -0
- package/skill-assets/sunlint-code-quality/rules/csharp/C013-no-dead-code.md +38 -0
- package/skill-assets/sunlint-code-quality/rules/csharp/C014-dependency-injection.md +45 -0
- package/skill-assets/sunlint-code-quality/rules/csharp/C017-no-constructor-logic.md +46 -0
- package/skill-assets/sunlint-code-quality/rules/csharp/C018-generic-errors.md +38 -0
- package/skill-assets/sunlint-code-quality/rules/csharp/C019-error-log-level.md +29 -0
- package/skill-assets/sunlint-code-quality/rules/csharp/C020-no-unused-imports.md +30 -0
- package/skill-assets/sunlint-code-quality/rules/csharp/C022-no-unused-variables.md +33 -0
- package/skill-assets/sunlint-code-quality/rules/csharp/C023-no-duplicate-names.md +36 -0
- package/skill-assets/sunlint-code-quality/rules/csharp/C024-centralize-constants.md +33 -0
- package/skill-assets/sunlint-code-quality/rules/csharp/C029-catch-log-root-cause.md +40 -0
- package/skill-assets/sunlint-code-quality/rules/csharp/C030-custom-error-classes.md +38 -0
- package/skill-assets/sunlint-code-quality/rules/csharp/C033-separate-data-access.md +53 -0
- package/skill-assets/sunlint-code-quality/rules/csharp/C035-error-context-logging.md +31 -0
- package/skill-assets/sunlint-code-quality/rules/csharp/C041-no-hardcoded-secrets.md +25 -0
- package/skill-assets/sunlint-code-quality/rules/csharp/C042-boolean-naming.md +27 -0
- package/skill-assets/sunlint-code-quality/rules/csharp/C052-controller-parsing.md +41 -0
- package/skill-assets/sunlint-code-quality/rules/csharp/C060-superclass-logic.md +33 -0
- package/skill-assets/sunlint-code-quality/rules/csharp/C067-no-hardcoded-config.md +24 -0
- package/skill-assets/sunlint-code-quality/rules/csharp/S003-open-redirect.md +47 -0
- package/skill-assets/sunlint-code-quality/rules/csharp/S004-no-log-credentials.md +28 -0
- package/skill-assets/sunlint-code-quality/rules/csharp/S005-server-authorization.md +51 -0
- package/skill-assets/sunlint-code-quality/rules/csharp/S006-default-credentials.md +42 -0
- package/skill-assets/sunlint-code-quality/rules/csharp/S007-output-encoding.md +36 -0
- package/skill-assets/sunlint-code-quality/rules/csharp/S009-approved-crypto.md +37 -0
- package/skill-assets/sunlint-code-quality/rules/csharp/S010-csprng.md +32 -0
- package/skill-assets/sunlint-code-quality/rules/csharp/S011-encrypted-client-hello.md +36 -0
- package/skill-assets/sunlint-code-quality/rules/csharp/S012-secrets-management.md +35 -0
- package/skill-assets/sunlint-code-quality/rules/csharp/S013-tls-connections.md +36 -0
- package/skill-assets/sunlint-code-quality/rules/csharp/S016-no-sensitive-query-string.md +39 -0
- package/skill-assets/sunlint-code-quality/rules/csharp/S017-parameterized-queries.md +47 -0
- package/skill-assets/sunlint-code-quality/rules/csharp/S019-email-input-sanitization.md +35 -0
- package/skill-assets/sunlint-code-quality/rules/csharp/S020-eval-code-execution.md +56 -0
- package/skill-assets/sunlint-code-quality/rules/csharp/S022-context-escaping.md +50 -0
- package/skill-assets/sunlint-code-quality/rules/csharp/S023-dynamic-js-encoding.md +34 -0
- package/skill-assets/sunlint-code-quality/rules/csharp/S025-server-validation.md +56 -0
- package/skill-assets/sunlint-code-quality/rules/csharp/S026-tls-encryption.md +28 -0
- package/skill-assets/sunlint-code-quality/rules/csharp/S027-mtls-validation.md +40 -0
- package/skill-assets/sunlint-code-quality/rules/csharp/S028-upload-limits.md +50 -0
- package/skill-assets/sunlint-code-quality/rules/csharp/S029-csrf-protection.md +42 -0
- package/skill-assets/sunlint-code-quality/rules/csharp/S030-directory-browsing.md +26 -0
- package/skill-assets/sunlint-code-quality/rules/csharp/S031-secure-cookie-flag.md +35 -0
- package/skill-assets/sunlint-code-quality/rules/csharp/S032-httponly-cookie.md +31 -0
- package/skill-assets/sunlint-code-quality/rules/csharp/S033-samesite-cookie.md +36 -0
- package/skill-assets/sunlint-code-quality/rules/csharp/S034-host-prefix-cookie.md +31 -0
- package/skill-assets/sunlint-code-quality/rules/csharp/S035-app-hostnames.md +26 -0
- package/skill-assets/sunlint-code-quality/rules/csharp/S036-internal-file-paths.md +36 -0
- package/skill-assets/sunlint-code-quality/rules/csharp/S037-anti-cache-headers.md +33 -0
- package/skill-assets/sunlint-code-quality/rules/csharp/S039-tls-certificate-validation.md +41 -0
- package/skill-assets/sunlint-code-quality/rules/csharp/S041-logout-invalidation.md +36 -0
- package/skill-assets/sunlint-code-quality/rules/csharp/S042-long-lived-sessions.md +47 -0
- package/skill-assets/sunlint-code-quality/rules/csharp/S044-critical-changes-reauth.md +45 -0
- package/skill-assets/sunlint-code-quality/rules/csharp/S045-brute-force-protection.md +48 -0
- package/skill-assets/sunlint-code-quality/rules/csharp/S047-oauth-csrf-protection.md +53 -0
- package/skill-assets/sunlint-code-quality/rules/csharp/S048-oauth-redirect-validation.md +37 -0
- package/skill-assets/sunlint-code-quality/rules/csharp/S049-auth-code-expiry.md +33 -0
- package/skill-assets/sunlint-code-quality/rules/csharp/S050-token-entropy.md +33 -0
- package/skill-assets/sunlint-code-quality/rules/csharp/S051-password-length.md +35 -0
- package/skill-assets/sunlint-code-quality/rules/csharp/S052-otp-entropy.md +26 -0
- package/skill-assets/sunlint-code-quality/rules/csharp/S053-generic-error-messages.md +32 -0
- package/skill-assets/sunlint-code-quality/rules/csharp/S054-no-default-admin.md +31 -0
- package/skill-assets/sunlint-code-quality/rules/csharp/S055-content-type-validation.md +44 -0
- package/skill-assets/sunlint-code-quality/rules/csharp/S056-log-injection.md +33 -0
- package/skill-assets/sunlint-code-quality/rules/csharp/S057-synchronized-time.md +27 -0
- package/skill-assets/sunlint-code-quality/rules/csharp/S058-ssrf-protection.md +54 -0
- package/skill-assets/sunlint-code-quality/rules/go/C006-verb-noun-functions.md +45 -0
- package/skill-assets/sunlint-code-quality/rules/go/C013-no-dead-code.md +48 -0
- package/skill-assets/sunlint-code-quality/rules/go/C014-dependency-injection.md +85 -0
- package/skill-assets/sunlint-code-quality/rules/go/C017-no-constructor-logic.md +67 -0
- package/skill-assets/sunlint-code-quality/rules/go/C018-generic-errors.md +63 -0
- package/skill-assets/sunlint-code-quality/rules/go/C019-error-log-level.md +50 -0
- package/skill-assets/sunlint-code-quality/rules/go/C020-no-unused-imports.md +45 -0
- package/skill-assets/sunlint-code-quality/rules/go/C022-no-unused-variables.md +34 -0
- package/skill-assets/sunlint-code-quality/rules/go/C023-no-duplicate-names.md +41 -0
- package/skill-assets/sunlint-code-quality/rules/go/C024-centralize-constants.md +55 -0
- package/skill-assets/sunlint-code-quality/rules/go/C029-catch-log-root-cause.md +56 -0
- package/skill-assets/sunlint-code-quality/rules/go/C030-custom-error-classes.md +69 -0
- package/skill-assets/sunlint-code-quality/rules/go/C033-separate-data-access.md +68 -0
- package/skill-assets/sunlint-code-quality/rules/go/C035-error-context-logging.md +48 -0
- package/skill-assets/sunlint-code-quality/rules/go/C041-no-hardcoded-secrets.md +45 -0
- package/skill-assets/sunlint-code-quality/rules/go/C042-boolean-naming.md +42 -0
- package/skill-assets/sunlint-code-quality/rules/go/C052-controller-parsing.md +62 -0
- package/skill-assets/sunlint-code-quality/rules/go/C060-superclass-logic.md +60 -0
- package/skill-assets/sunlint-code-quality/rules/go/C067-no-hardcoded-config.md +51 -0
- package/skill-assets/sunlint-code-quality/rules/go/S003-open-redirect.md +80 -0
- package/skill-assets/sunlint-code-quality/rules/go/S004-no-log-credentials.md +66 -0
- package/skill-assets/sunlint-code-quality/rules/go/S005-server-authorization.md +55 -0
- package/skill-assets/sunlint-code-quality/rules/go/S006-default-credentials.md +47 -0
- package/skill-assets/sunlint-code-quality/rules/go/S007-output-encoding.md +50 -0
- package/skill-assets/sunlint-code-quality/rules/go/S009-approved-crypto.md +63 -0
- package/skill-assets/sunlint-code-quality/rules/go/S010-csprng.md +53 -0
- package/skill-assets/sunlint-code-quality/rules/go/S011-encrypted-client-hello.md +34 -0
- package/skill-assets/sunlint-code-quality/rules/go/S012-secrets-management.md +49 -0
- package/skill-assets/sunlint-code-quality/rules/go/S013-tls-connections.md +61 -0
- package/skill-assets/sunlint-code-quality/rules/go/S016-no-sensitive-query-string.md +42 -0
- package/skill-assets/sunlint-code-quality/rules/go/S017-parameterized-queries.md +36 -0
- package/skill-assets/sunlint-code-quality/rules/go/S019-email-input-sanitization.md +44 -0
- package/skill-assets/sunlint-code-quality/rules/go/S020-eval-code-execution.md +47 -0
- package/skill-assets/sunlint-code-quality/rules/go/S022-context-escaping.md +49 -0
- package/skill-assets/sunlint-code-quality/rules/go/S023-dynamic-js-encoding.md +51 -0
- package/skill-assets/sunlint-code-quality/rules/go/S025-server-validation.md +57 -0
- package/skill-assets/sunlint-code-quality/rules/go/S026-tls-encryption.md +46 -0
- package/skill-assets/sunlint-code-quality/rules/go/S027-mtls-validation.md +52 -0
- package/skill-assets/sunlint-code-quality/rules/go/S028-upload-limits.md +58 -0
- package/skill-assets/sunlint-code-quality/rules/go/S029-csrf-protection.md +53 -0
- package/skill-assets/sunlint-code-quality/rules/go/S030-directory-browsing.md +53 -0
- package/skill-assets/sunlint-code-quality/rules/go/S031-secure-cookie-flag.md +48 -0
- package/skill-assets/sunlint-code-quality/rules/go/S032-httponly-cookie.md +42 -0
- package/skill-assets/sunlint-code-quality/rules/go/S033-samesite-cookie.md +49 -0
- package/skill-assets/sunlint-code-quality/rules/go/S034-host-prefix-cookie.md +44 -0
- package/skill-assets/sunlint-code-quality/rules/go/S035-app-hostnames.md +50 -0
- package/skill-assets/sunlint-code-quality/rules/go/S036-internal-file-paths.md +56 -0
- package/skill-assets/sunlint-code-quality/rules/go/S037-anti-cache-headers.md +43 -0
- package/skill-assets/sunlint-code-quality/rules/go/S039-tls-certificate-validation.md +41 -0
- package/skill-assets/sunlint-code-quality/rules/go/S041-logout-invalidation.md +46 -0
- package/skill-assets/sunlint-code-quality/rules/go/S042-long-lived-sessions.md +58 -0
- package/skill-assets/sunlint-code-quality/rules/go/S044-critical-changes-reauth.md +53 -0
- package/skill-assets/sunlint-code-quality/rules/go/S045-brute-force-protection.md +55 -0
- package/skill-assets/sunlint-code-quality/rules/go/S047-oauth-csrf-protection.md +51 -0
- package/skill-assets/sunlint-code-quality/rules/go/S048-oauth-redirect-validation.md +58 -0
- package/skill-assets/sunlint-code-quality/rules/go/S049-auth-code-expiry.md +52 -0
- package/skill-assets/sunlint-code-quality/rules/go/S050-token-entropy.md +53 -0
- package/skill-assets/sunlint-code-quality/rules/go/S051-password-length.md +49 -0
- package/skill-assets/sunlint-code-quality/rules/go/S052-otp-entropy.md +48 -0
- package/skill-assets/sunlint-code-quality/rules/go/S053-generic-error-messages.md +51 -0
- package/skill-assets/sunlint-code-quality/rules/go/S054-no-default-admin.md +43 -0
- package/skill-assets/sunlint-code-quality/rules/go/S055-content-type-validation.md +52 -0
- package/skill-assets/sunlint-code-quality/rules/go/S056-log-injection.md +40 -0
- package/skill-assets/sunlint-code-quality/rules/go/S057-synchronized-time.md +40 -0
- package/skill-assets/sunlint-code-quality/rules/go/S058-ssrf-protection.md +70 -0
- package/skill-assets/sunlint-code-quality/rules/java/C006-verb-noun-functions.md +36 -0
- package/skill-assets/sunlint-code-quality/rules/java/C013-no-dead-code.md +175 -0
- package/skill-assets/sunlint-code-quality/rules/java/C014-dependency-injection.md +42 -0
- package/skill-assets/sunlint-code-quality/rules/java/C017-no-constructor-logic.md +39 -0
- package/skill-assets/sunlint-code-quality/rules/java/C018-generic-errors.md +28 -0
- package/skill-assets/sunlint-code-quality/rules/java/C019-error-log-level.md +34 -0
- package/skill-assets/sunlint-code-quality/rules/java/C020-no-unused-imports.md +34 -0
- package/skill-assets/sunlint-code-quality/rules/java/C022-no-unused-variables.md +31 -0
- package/skill-assets/sunlint-code-quality/rules/java/C023-no-duplicate-names.md +37 -0
- package/skill-assets/sunlint-code-quality/rules/java/C024-centralize-constants.md +36 -0
- package/skill-assets/sunlint-code-quality/rules/java/C029-catch-log-root-cause.md +42 -0
- package/skill-assets/sunlint-code-quality/rules/java/C030-custom-error-classes.md +50 -0
- package/skill-assets/sunlint-code-quality/rules/java/C033-separate-data-access.md +46 -0
- package/skill-assets/sunlint-code-quality/rules/java/C035-error-context-logging.md +38 -0
- package/skill-assets/sunlint-code-quality/rules/java/C041-no-hardcoded-secrets.md +34 -0
- package/skill-assets/sunlint-code-quality/rules/java/C042-boolean-naming.md +27 -0
- package/skill-assets/sunlint-code-quality/rules/java/C052-controller-parsing.md +39 -0
- package/skill-assets/sunlint-code-quality/rules/java/C060-superclass-logic.md +32 -0
- package/skill-assets/sunlint-code-quality/rules/java/C067-no-hardcoded-config.md +31 -0
- package/skill-assets/sunlint-code-quality/rules/java/S003-open-redirect.md +38 -0
- package/skill-assets/sunlint-code-quality/rules/java/S004-no-log-credentials.md +36 -0
- package/skill-assets/sunlint-code-quality/rules/java/S005-server-authorization.md +53 -0
- package/skill-assets/sunlint-code-quality/rules/java/S006-default-credentials.md +39 -0
- package/skill-assets/sunlint-code-quality/rules/java/S007-output-encoding.md +49 -0
- package/skill-assets/sunlint-code-quality/rules/java/S009-approved-crypto.md +40 -0
- package/skill-assets/sunlint-code-quality/rules/java/S010-csprng.md +36 -0
- package/skill-assets/sunlint-code-quality/rules/java/S011-encrypted-client-hello.md +27 -0
- package/skill-assets/sunlint-code-quality/rules/java/S012-secrets-management.md +34 -0
- package/skill-assets/sunlint-code-quality/rules/java/S013-tls-connections.md +40 -0
- package/skill-assets/sunlint-code-quality/rules/java/S016-no-sensitive-query-string.md +36 -0
- package/skill-assets/sunlint-code-quality/rules/java/S017-parameterized-queries.md +47 -0
- package/skill-assets/sunlint-code-quality/rules/java/S019-email-input-sanitization.md +32 -0
- package/skill-assets/sunlint-code-quality/rules/java/S020-eval-code-execution.md +45 -0
- package/skill-assets/sunlint-code-quality/rules/java/S022-context-escaping.md +28 -0
- package/skill-assets/sunlint-code-quality/rules/java/S023-dynamic-js-encoding.md +28 -0
- package/skill-assets/sunlint-code-quality/rules/java/S025-server-validation.md +58 -0
- package/skill-assets/sunlint-code-quality/rules/java/S026-tls-encryption.md +57 -0
- package/skill-assets/sunlint-code-quality/rules/java/S027-mtls-validation.md +26 -0
- package/skill-assets/sunlint-code-quality/rules/java/S028-upload-limits.md +35 -0
- package/skill-assets/sunlint-code-quality/rules/java/S029-csrf-protection.md +35 -0
- package/skill-assets/sunlint-code-quality/rules/java/S030-directory-browsing.md +38 -0
- package/skill-assets/sunlint-code-quality/rules/java/S031-secure-cookie-flag.md +38 -0
- package/skill-assets/sunlint-code-quality/rules/java/S032-httponly-cookie.md +31 -0
- package/skill-assets/sunlint-code-quality/rules/java/S033-samesite-cookie.md +42 -0
- package/skill-assets/sunlint-code-quality/rules/java/S034-host-prefix-cookie.md +35 -0
- package/skill-assets/sunlint-code-quality/rules/java/S035-app-hostnames.md +23 -0
- package/skill-assets/sunlint-code-quality/rules/java/S036-internal-file-paths.md +39 -0
- package/skill-assets/sunlint-code-quality/rules/java/S037-anti-cache-headers.md +37 -0
- package/skill-assets/sunlint-code-quality/rules/java/S039-tls-certificate-validation.md +43 -0
- package/skill-assets/sunlint-code-quality/rules/java/S041-logout-invalidation.md +53 -0
- package/skill-assets/sunlint-code-quality/rules/java/S042-long-lived-sessions.md +36 -0
- package/skill-assets/sunlint-code-quality/rules/java/S044-critical-changes-reauth.md +28 -0
- package/skill-assets/sunlint-code-quality/rules/java/S045-brute-force-protection.md +38 -0
- package/skill-assets/sunlint-code-quality/rules/java/S047-oauth-csrf-protection.md +33 -0
- package/skill-assets/sunlint-code-quality/rules/java/S048-oauth-redirect-validation.md +25 -0
- package/skill-assets/sunlint-code-quality/rules/java/S049-auth-code-expiry.md +23 -0
- package/skill-assets/sunlint-code-quality/rules/java/S050-token-entropy.md +20 -0
- package/skill-assets/sunlint-code-quality/rules/java/S051-password-length.md +20 -0
- package/skill-assets/sunlint-code-quality/rules/java/S052-otp-entropy.md +23 -0
- package/skill-assets/sunlint-code-quality/rules/java/S053-generic-error-messages.md +21 -0
- package/skill-assets/sunlint-code-quality/rules/java/S054-no-default-admin.md +16 -0
- package/skill-assets/sunlint-code-quality/rules/java/S055-content-type-validation.md +36 -0
- package/skill-assets/sunlint-code-quality/rules/java/S056-log-injection.md +38 -0
- package/skill-assets/sunlint-code-quality/rules/java/S057-synchronized-time.md +35 -0
- package/skill-assets/sunlint-code-quality/rules/java/S058-ssrf-protection.md +56 -0
- package/skill-assets/sunlint-code-quality/rules/kotlin/C006-verb-noun-functions.md +45 -0
- package/skill-assets/sunlint-code-quality/rules/kotlin/C013-no-dead-code.md +49 -0
- package/skill-assets/sunlint-code-quality/rules/kotlin/C014-dependency-injection.md +64 -0
- package/skill-assets/sunlint-code-quality/rules/kotlin/C017-no-constructor-logic.md +68 -0
- package/skill-assets/sunlint-code-quality/rules/kotlin/C018-generic-errors.md +46 -0
- package/skill-assets/sunlint-code-quality/rules/kotlin/C019-error-log-level.md +50 -0
- package/skill-assets/sunlint-code-quality/rules/kotlin/C020-no-unused-imports.md +44 -0
- package/skill-assets/sunlint-code-quality/rules/kotlin/C022-no-unused-variables.md +39 -0
- package/skill-assets/sunlint-code-quality/rules/kotlin/C023-no-duplicate-names.md +47 -0
- package/skill-assets/sunlint-code-quality/rules/kotlin/C024-centralize-constants.md +58 -0
- package/skill-assets/sunlint-code-quality/rules/kotlin/C029-catch-log-root-cause.md +50 -0
- package/skill-assets/sunlint-code-quality/rules/kotlin/C030-custom-error-classes.md +72 -0
- package/skill-assets/sunlint-code-quality/rules/kotlin/C033-separate-data-access.md +69 -0
- package/skill-assets/sunlint-code-quality/rules/kotlin/C035-error-context-logging.md +47 -0
- package/skill-assets/sunlint-code-quality/rules/kotlin/C041-no-hardcoded-secrets.md +47 -0
- package/skill-assets/sunlint-code-quality/rules/kotlin/C042-boolean-naming.md +42 -0
- package/skill-assets/sunlint-code-quality/rules/kotlin/C052-controller-parsing.md +71 -0
- package/skill-assets/sunlint-code-quality/rules/kotlin/C060-superclass-logic.md +60 -0
- package/skill-assets/sunlint-code-quality/rules/kotlin/C067-no-hardcoded-config.md +51 -0
- package/skill-assets/sunlint-code-quality/rules/kotlin/S003-open-redirect.md +66 -0
- package/skill-assets/sunlint-code-quality/rules/kotlin/S004-no-log-credentials.md +59 -0
- package/skill-assets/sunlint-code-quality/rules/kotlin/S005-server-authorization.md +75 -0
- package/skill-assets/sunlint-code-quality/rules/kotlin/S006-default-credentials.md +49 -0
- package/skill-assets/sunlint-code-quality/rules/kotlin/S007-output-encoding.md +62 -0
- package/skill-assets/sunlint-code-quality/rules/kotlin/S009-approved-crypto.md +51 -0
- package/skill-assets/sunlint-code-quality/rules/kotlin/S010-csprng.md +61 -0
- package/skill-assets/sunlint-code-quality/rules/kotlin/S011-encrypted-client-hello.md +48 -0
- package/skill-assets/sunlint-code-quality/rules/kotlin/S012-secrets-management.md +53 -0
- package/skill-assets/sunlint-code-quality/rules/kotlin/S013-tls-connections.md +61 -0
- package/skill-assets/sunlint-code-quality/rules/kotlin/S016-no-sensitive-query-string.md +51 -0
- package/skill-assets/sunlint-code-quality/rules/kotlin/S017-parameterized-queries.md +41 -0
- package/skill-assets/sunlint-code-quality/rules/kotlin/S019-email-input-sanitization.md +50 -0
- package/skill-assets/sunlint-code-quality/rules/kotlin/S020-eval-code-execution.md +57 -0
- package/skill-assets/sunlint-code-quality/rules/kotlin/S022-context-escaping.md +58 -0
- package/skill-assets/sunlint-code-quality/rules/kotlin/S023-dynamic-js-encoding.md +57 -0
- package/skill-assets/sunlint-code-quality/rules/kotlin/S025-server-validation.md +59 -0
- package/skill-assets/sunlint-code-quality/rules/kotlin/S026-tls-encryption.md +50 -0
- package/skill-assets/sunlint-code-quality/rules/kotlin/S027-mtls-validation.md +60 -0
- package/skill-assets/sunlint-code-quality/rules/kotlin/S028-upload-limits.md +67 -0
- package/skill-assets/sunlint-code-quality/rules/kotlin/S029-csrf-protection.md +57 -0
- package/skill-assets/sunlint-code-quality/rules/kotlin/S030-directory-browsing.md +50 -0
- package/skill-assets/sunlint-code-quality/rules/kotlin/S031-secure-cookie-flag.md +51 -0
- package/skill-assets/sunlint-code-quality/rules/kotlin/S032-httponly-cookie.md +49 -0
- package/skill-assets/sunlint-code-quality/rules/kotlin/S033-samesite-cookie.md +54 -0
- package/skill-assets/sunlint-code-quality/rules/kotlin/S034-host-prefix-cookie.md +50 -0
- package/skill-assets/sunlint-code-quality/rules/kotlin/S035-app-hostnames.md +59 -0
- package/skill-assets/sunlint-code-quality/rules/kotlin/S036-internal-file-paths.md +61 -0
- package/skill-assets/sunlint-code-quality/rules/kotlin/S037-anti-cache-headers.md +58 -0
- package/skill-assets/sunlint-code-quality/rules/kotlin/S039-tls-certificate-validation.md +62 -0
- package/skill-assets/sunlint-code-quality/rules/kotlin/S041-logout-invalidation.md +71 -0
- package/skill-assets/sunlint-code-quality/rules/kotlin/S042-long-lived-sessions.md +57 -0
- package/skill-assets/sunlint-code-quality/rules/kotlin/S044-critical-changes-reauth.md +64 -0
- package/skill-assets/sunlint-code-quality/rules/kotlin/S045-brute-force-protection.md +64 -0
- package/skill-assets/sunlint-code-quality/rules/kotlin/S047-oauth-csrf-protection.md +74 -0
- package/skill-assets/sunlint-code-quality/rules/kotlin/S048-oauth-redirect-validation.md +61 -0
- package/skill-assets/sunlint-code-quality/rules/kotlin/S049-auth-code-expiry.md +70 -0
- package/skill-assets/sunlint-code-quality/rules/kotlin/S050-token-entropy.md +65 -0
- package/skill-assets/sunlint-code-quality/rules/kotlin/S051-password-length.md +52 -0
- package/skill-assets/sunlint-code-quality/rules/kotlin/S052-otp-entropy.md +55 -0
- package/skill-assets/sunlint-code-quality/rules/kotlin/S053-generic-error-messages.md +66 -0
- package/skill-assets/sunlint-code-quality/rules/kotlin/S054-no-default-admin.md +57 -0
- package/skill-assets/sunlint-code-quality/rules/kotlin/S055-content-type-validation.md +58 -0
- package/skill-assets/sunlint-code-quality/rules/kotlin/S056-log-injection.md +47 -0
- package/skill-assets/sunlint-code-quality/rules/kotlin/S057-synchronized-time.md +49 -0
- package/skill-assets/sunlint-code-quality/rules/kotlin/S058-ssrf-protection.md +69 -0
- package/skill-assets/sunlint-code-quality/rules/php/C006-verb-noun-functions.md +46 -0
- package/skill-assets/sunlint-code-quality/rules/php/C013-no-dead-code.md +53 -0
- package/skill-assets/sunlint-code-quality/rules/php/C014-dependency-injection.md +71 -0
- package/skill-assets/sunlint-code-quality/rules/php/C017-no-constructor-logic.md +68 -0
- package/skill-assets/sunlint-code-quality/rules/php/C018-generic-errors.md +50 -0
- package/skill-assets/sunlint-code-quality/rules/php/C019-error-log-level.md +54 -0
- package/skill-assets/sunlint-code-quality/rules/php/C020-no-unused-imports.md +55 -0
- package/skill-assets/sunlint-code-quality/rules/php/C022-no-unused-variables.md +51 -0
- package/skill-assets/sunlint-code-quality/rules/php/C023-no-duplicate-names.md +61 -0
- package/skill-assets/sunlint-code-quality/rules/php/C024-centralize-constants.md +60 -0
- package/skill-assets/sunlint-code-quality/rules/php/C029-catch-log-root-cause.md +57 -0
- package/skill-assets/sunlint-code-quality/rules/php/C030-custom-error-classes.md +62 -0
- package/skill-assets/sunlint-code-quality/rules/php/C033-separate-data-access.md +79 -0
- package/skill-assets/sunlint-code-quality/rules/php/C035-error-context-logging.md +54 -0
- package/skill-assets/sunlint-code-quality/rules/php/C041-no-hardcoded-secrets.md +59 -0
- package/skill-assets/sunlint-code-quality/rules/php/C042-boolean-naming.md +52 -0
- package/skill-assets/sunlint-code-quality/rules/php/C052-controller-parsing.md +66 -0
- package/skill-assets/sunlint-code-quality/rules/php/C060-superclass-logic.md +54 -0
- package/skill-assets/sunlint-code-quality/rules/php/C067-no-hardcoded-config.md +55 -0
- package/skill-assets/sunlint-code-quality/rules/php/S003-open-redirect.md +60 -0
- package/skill-assets/sunlint-code-quality/rules/php/S004-no-log-credentials.md +67 -0
- package/skill-assets/sunlint-code-quality/rules/php/S005-server-authorization.md +57 -0
- package/skill-assets/sunlint-code-quality/rules/php/S006-default-credentials.md +61 -0
- package/skill-assets/sunlint-code-quality/rules/php/S007-output-encoding.md +61 -0
- package/skill-assets/sunlint-code-quality/rules/php/S009-approved-crypto.md +53 -0
- package/skill-assets/sunlint-code-quality/rules/php/S010-csprng.md +47 -0
- package/skill-assets/sunlint-code-quality/rules/php/S011-encrypted-client-hello.md +41 -0
- package/skill-assets/sunlint-code-quality/rules/php/S012-secrets-management.md +60 -0
- package/skill-assets/sunlint-code-quality/rules/php/S013-tls-connections.md +67 -0
- package/skill-assets/sunlint-code-quality/rules/php/S016-no-sensitive-query-string.md +61 -0
- package/skill-assets/sunlint-code-quality/rules/php/S017-parameterized-queries.md +44 -0
- package/skill-assets/sunlint-code-quality/rules/php/S019-email-input-sanitization.md +54 -0
- package/skill-assets/sunlint-code-quality/rules/php/S020-eval-code-execution.md +57 -0
- package/skill-assets/sunlint-code-quality/rules/php/S022-context-escaping.md +58 -0
- package/skill-assets/sunlint-code-quality/rules/php/S023-dynamic-js-encoding.md +62 -0
- package/skill-assets/sunlint-code-quality/rules/php/S025-server-validation.md +63 -0
- package/skill-assets/sunlint-code-quality/rules/php/S026-tls-encryption.md +48 -0
- package/skill-assets/sunlint-code-quality/rules/php/S027-mtls-validation.md +62 -0
- package/skill-assets/sunlint-code-quality/rules/php/S028-upload-limits.md +60 -0
- package/skill-assets/sunlint-code-quality/rules/php/S029-csrf-protection.md +65 -0
- package/skill-assets/sunlint-code-quality/rules/php/S030-directory-browsing.md +40 -0
- package/skill-assets/sunlint-code-quality/rules/php/S031-secure-cookie-flag.md +55 -0
- package/skill-assets/sunlint-code-quality/rules/php/S032-httponly-cookie.md +54 -0
- package/skill-assets/sunlint-code-quality/rules/php/S033-samesite-cookie.md +52 -0
- package/skill-assets/sunlint-code-quality/rules/php/S034-host-prefix-cookie.md +49 -0
- package/skill-assets/sunlint-code-quality/rules/php/S035-app-hostnames.md +49 -0
- package/skill-assets/sunlint-code-quality/rules/php/S036-internal-file-paths.md +56 -0
- package/skill-assets/sunlint-code-quality/rules/php/S037-anti-cache-headers.md +56 -0
- package/skill-assets/sunlint-code-quality/rules/php/S039-tls-certificate-validation.md +54 -0
- package/skill-assets/sunlint-code-quality/rules/php/S041-logout-invalidation.md +63 -0
- package/skill-assets/sunlint-code-quality/rules/php/S042-long-lived-sessions.md +57 -0
- package/skill-assets/sunlint-code-quality/rules/php/S044-critical-changes-reauth.md +71 -0
- package/skill-assets/sunlint-code-quality/rules/php/S045-brute-force-protection.md +67 -0
- package/skill-assets/sunlint-code-quality/rules/php/S047-oauth-csrf-protection.md +72 -0
- package/skill-assets/sunlint-code-quality/rules/php/S048-oauth-redirect-validation.md +54 -0
- package/skill-assets/sunlint-code-quality/rules/php/S049-auth-code-expiry.md +71 -0
- package/skill-assets/sunlint-code-quality/rules/php/S050-token-entropy.md +58 -0
- package/skill-assets/sunlint-code-quality/rules/php/S051-password-length.md +59 -0
- package/skill-assets/sunlint-code-quality/rules/php/S052-otp-entropy.md +45 -0
- package/skill-assets/sunlint-code-quality/rules/php/S053-generic-error-messages.md +59 -0
- package/skill-assets/sunlint-code-quality/rules/php/S054-no-default-admin.md +62 -0
- package/skill-assets/sunlint-code-quality/rules/php/S055-content-type-validation.md +58 -0
- package/skill-assets/sunlint-code-quality/rules/php/S056-log-injection.md +48 -0
- package/skill-assets/sunlint-code-quality/rules/php/S057-synchronized-time.md +52 -0
- package/skill-assets/sunlint-code-quality/rules/php/S058-ssrf-protection.md +65 -0
- package/skill-assets/sunlint-code-quality/rules/python/C006-verb-noun-functions.md +30 -0
- package/skill-assets/sunlint-code-quality/rules/python/C013-no-dead-code.md +24 -0
- package/skill-assets/sunlint-code-quality/rules/python/C014-dependency-injection.md +68 -0
- package/skill-assets/sunlint-code-quality/rules/python/C017-no-constructor-logic.md +30 -0
- package/skill-assets/sunlint-code-quality/rules/python/C018-generic-errors.md +25 -0
- package/skill-assets/sunlint-code-quality/rules/python/C019-error-log-level.md +26 -0
- package/skill-assets/sunlint-code-quality/rules/python/C020-no-unused-imports.md +28 -0
- package/skill-assets/sunlint-code-quality/rules/python/C022-no-unused-variables.md +24 -0
- package/skill-assets/sunlint-code-quality/rules/python/C023-no-duplicate-names.md +27 -0
- package/skill-assets/sunlint-code-quality/rules/python/C024-centralize-constants.md +27 -0
- package/skill-assets/sunlint-code-quality/rules/python/C029-catch-log-root-cause.md +61 -0
- package/skill-assets/sunlint-code-quality/rules/python/C030-custom-error-classes.md +28 -0
- package/skill-assets/sunlint-code-quality/rules/python/C033-separate-data-access.md +53 -0
- package/skill-assets/sunlint-code-quality/rules/python/C035-error-context-logging.md +26 -0
- package/skill-assets/sunlint-code-quality/rules/python/C041-no-hardcoded-secrets.md +23 -0
- package/skill-assets/sunlint-code-quality/rules/python/C042-boolean-naming.md +24 -0
- package/skill-assets/sunlint-code-quality/rules/python/C052-controller-parsing.md +34 -0
- package/skill-assets/sunlint-code-quality/rules/python/C060-superclass-logic.md +26 -0
- package/skill-assets/sunlint-code-quality/rules/python/C067-no-hardcoded-config.md +22 -0
- package/skill-assets/sunlint-code-quality/rules/python/S003-open-redirect.md +16 -0
- package/skill-assets/sunlint-code-quality/rules/python/S004-no-log-credentials.md +16 -0
- package/skill-assets/sunlint-code-quality/rules/python/S005-server-authorization.md +16 -0
- package/skill-assets/sunlint-code-quality/rules/python/S006-default-credentials.md +16 -0
- package/skill-assets/sunlint-code-quality/rules/python/S007-output-encoding.md +16 -0
- package/skill-assets/sunlint-code-quality/rules/python/S009-approved-crypto.md +16 -0
- package/skill-assets/sunlint-code-quality/rules/python/S010-csprng.md +16 -0
- package/skill-assets/sunlint-code-quality/rules/python/S011-encrypted-client-hello.md +16 -0
- package/skill-assets/sunlint-code-quality/rules/python/S012-secrets-management.md +16 -0
- package/skill-assets/sunlint-code-quality/rules/python/S013-tls-connections.md +16 -0
- package/skill-assets/sunlint-code-quality/rules/python/S016-no-sensitive-query-string.md +16 -0
- package/skill-assets/sunlint-code-quality/rules/python/S017-parameterized-queries.md +51 -0
- package/skill-assets/sunlint-code-quality/rules/python/S019-email-input-sanitization.md +16 -0
- package/skill-assets/sunlint-code-quality/rules/python/S020-eval-code-execution.md +51 -0
- package/skill-assets/sunlint-code-quality/rules/python/S022-context-escaping.md +16 -0
- package/skill-assets/sunlint-code-quality/rules/python/S023-dynamic-js-encoding.md +16 -0
- package/skill-assets/sunlint-code-quality/rules/python/S025-server-validation.md +16 -0
- package/skill-assets/sunlint-code-quality/rules/python/S026-tls-encryption.md +16 -0
- package/skill-assets/sunlint-code-quality/rules/python/S027-mtls-validation.md +16 -0
- package/skill-assets/sunlint-code-quality/rules/python/S028-upload-limits.md +16 -0
- package/skill-assets/sunlint-code-quality/rules/python/S029-csrf-protection.md +16 -0
- package/skill-assets/sunlint-code-quality/rules/python/S030-directory-browsing.md +16 -0
- package/skill-assets/sunlint-code-quality/rules/python/S031-secure-cookie-flag.md +16 -0
- package/skill-assets/sunlint-code-quality/rules/python/S032-httponly-cookie.md +16 -0
- package/skill-assets/sunlint-code-quality/rules/python/S033-samesite-cookie.md +16 -0
- package/skill-assets/sunlint-code-quality/rules/python/S034-host-prefix-cookie.md +16 -0
- package/skill-assets/sunlint-code-quality/rules/python/S035-app-hostnames.md +16 -0
- package/skill-assets/sunlint-code-quality/rules/python/S036-internal-file-paths.md +50 -0
- package/skill-assets/sunlint-code-quality/rules/python/S037-anti-cache-headers.md +16 -0
- package/skill-assets/sunlint-code-quality/rules/python/S039-tls-certificate-validation.md +16 -0
- package/skill-assets/sunlint-code-quality/rules/python/S041-logout-invalidation.md +16 -0
- package/skill-assets/sunlint-code-quality/rules/python/S042-long-lived-sessions.md +16 -0
- package/skill-assets/sunlint-code-quality/rules/python/S044-critical-changes-reauth.md +16 -0
- package/skill-assets/sunlint-code-quality/rules/python/S045-brute-force-protection.md +16 -0
- package/skill-assets/sunlint-code-quality/rules/python/S047-oauth-csrf-protection.md +16 -0
- package/skill-assets/sunlint-code-quality/rules/python/S048-oauth-redirect-validation.md +16 -0
- package/skill-assets/sunlint-code-quality/rules/python/S049-auth-code-expiry.md +16 -0
- package/skill-assets/sunlint-code-quality/rules/python/S050-token-entropy.md +16 -0
- package/skill-assets/sunlint-code-quality/rules/python/S051-password-length.md +16 -0
- package/skill-assets/sunlint-code-quality/rules/python/S052-otp-entropy.md +16 -0
- package/skill-assets/sunlint-code-quality/rules/python/S053-generic-error-messages.md +16 -0
- package/skill-assets/sunlint-code-quality/rules/python/S054-no-default-admin.md +16 -0
- package/skill-assets/sunlint-code-quality/rules/python/S055-content-type-validation.md +16 -0
- package/skill-assets/sunlint-code-quality/rules/python/S056-log-injection.md +16 -0
- package/skill-assets/sunlint-code-quality/rules/python/S057-synchronized-time.md +16 -0
- package/skill-assets/sunlint-code-quality/rules/python/S058-ssrf-protection.md +57 -0
- package/skill-assets/sunlint-code-quality/rules/typescript/C006-verb-noun-functions.md +45 -0
- package/skill-assets/sunlint-code-quality/rules/typescript/C013-no-dead-code.md +51 -0
- package/skill-assets/sunlint-code-quality/rules/typescript/C014-dependency-injection.md +69 -0
- package/skill-assets/sunlint-code-quality/rules/typescript/C017-no-constructor-logic.md +60 -0
- package/skill-assets/sunlint-code-quality/rules/typescript/C018-generic-errors.md +47 -0
- package/skill-assets/sunlint-code-quality/rules/typescript/C019-error-log-level.md +50 -0
- package/skill-assets/sunlint-code-quality/rules/typescript/C020-no-unused-imports.md +55 -0
- package/skill-assets/sunlint-code-quality/rules/typescript/C022-no-unused-variables.md +59 -0
- package/skill-assets/sunlint-code-quality/rules/typescript/C023-no-duplicate-names.md +58 -0
- package/skill-assets/sunlint-code-quality/rules/typescript/C024-centralize-constants.md +56 -0
- package/skill-assets/sunlint-code-quality/rules/typescript/C029-catch-log-root-cause.md +53 -0
- package/skill-assets/sunlint-code-quality/rules/typescript/C030-custom-error-classes.md +60 -0
- package/skill-assets/sunlint-code-quality/rules/typescript/C033-separate-data-access.md +69 -0
- package/skill-assets/sunlint-code-quality/rules/typescript/C035-error-context-logging.md +50 -0
- package/skill-assets/sunlint-code-quality/rules/typescript/C041-no-hardcoded-secrets.md +47 -0
- package/skill-assets/sunlint-code-quality/rules/typescript/C042-boolean-naming.md +42 -0
- package/skill-assets/sunlint-code-quality/rules/typescript/C052-controller-parsing.md +64 -0
- package/skill-assets/sunlint-code-quality/rules/typescript/C060-superclass-logic.md +67 -0
- package/skill-assets/sunlint-code-quality/rules/typescript/C067-no-hardcoded-config.md +52 -0
- package/skill-assets/sunlint-code-quality/rules/typescript/S003-open-redirect.md +76 -0
- package/skill-assets/sunlint-code-quality/rules/typescript/S004-no-log-credentials.md +71 -0
- package/skill-assets/sunlint-code-quality/rules/typescript/S005-server-authorization.md +68 -0
- package/skill-assets/sunlint-code-quality/rules/typescript/S006-default-credentials.md +69 -0
- package/skill-assets/sunlint-code-quality/rules/typescript/S007-output-encoding.md +60 -0
- package/skill-assets/sunlint-code-quality/rules/typescript/S009-approved-crypto.md +53 -0
- package/skill-assets/sunlint-code-quality/rules/typescript/S010-csprng.md +53 -0
- package/skill-assets/sunlint-code-quality/rules/typescript/S011-encrypted-client-hello.md +45 -0
- package/skill-assets/sunlint-code-quality/rules/typescript/S012-secrets-management.md +47 -0
- package/skill-assets/sunlint-code-quality/rules/typescript/S013-tls-connections.md +70 -0
- package/skill-assets/sunlint-code-quality/rules/typescript/S016-no-sensitive-query-string.md +53 -0
- package/skill-assets/sunlint-code-quality/rules/typescript/S017-parameterized-queries.md +55 -0
- package/skill-assets/sunlint-code-quality/rules/typescript/S019-email-input-sanitization.md +56 -0
- package/skill-assets/sunlint-code-quality/rules/typescript/S020-eval-code-execution.md +58 -0
- package/skill-assets/sunlint-code-quality/rules/typescript/S022-context-escaping.md +48 -0
- package/skill-assets/sunlint-code-quality/rules/typescript/S023-dynamic-js-encoding.md +52 -0
- package/skill-assets/sunlint-code-quality/rules/typescript/S025-server-validation.md +62 -0
- package/skill-assets/sunlint-code-quality/rules/typescript/S026-tls-encryption.md +47 -0
- package/skill-assets/sunlint-code-quality/rules/typescript/S027-mtls-validation.md +50 -0
- package/skill-assets/sunlint-code-quality/rules/typescript/S028-upload-limits.md +65 -0
- package/skill-assets/sunlint-code-quality/rules/typescript/S029-csrf-protection.md +62 -0
- package/skill-assets/sunlint-code-quality/rules/typescript/S030-directory-browsing.md +52 -0
- package/skill-assets/sunlint-code-quality/rules/typescript/S031-secure-cookie-flag.md +48 -0
- package/skill-assets/sunlint-code-quality/rules/typescript/S032-httponly-cookie.md +36 -0
- package/skill-assets/sunlint-code-quality/rules/typescript/S033-samesite-cookie.md +46 -0
- package/skill-assets/sunlint-code-quality/rules/typescript/S034-host-prefix-cookie.md +50 -0
- package/skill-assets/sunlint-code-quality/rules/typescript/S035-app-hostnames.md +49 -0
- package/skill-assets/sunlint-code-quality/rules/typescript/S036-internal-file-paths.md +53 -0
- package/skill-assets/sunlint-code-quality/rules/typescript/S037-anti-cache-headers.md +52 -0
- package/skill-assets/sunlint-code-quality/rules/typescript/S039-tls-certificate-validation.md +51 -0
- package/skill-assets/sunlint-code-quality/rules/typescript/S041-logout-invalidation.md +58 -0
- package/skill-assets/sunlint-code-quality/rules/typescript/S042-long-lived-sessions.md +55 -0
- package/skill-assets/sunlint-code-quality/rules/typescript/S044-critical-changes-reauth.md +69 -0
- package/skill-assets/sunlint-code-quality/rules/typescript/S045-brute-force-protection.md +59 -0
- package/skill-assets/sunlint-code-quality/rules/typescript/S047-oauth-csrf-protection.md +60 -0
- package/skill-assets/sunlint-code-quality/rules/typescript/S048-oauth-redirect-validation.md +59 -0
- package/skill-assets/sunlint-code-quality/rules/typescript/S049-auth-code-expiry.md +73 -0
- package/skill-assets/sunlint-code-quality/rules/typescript/S050-token-entropy.md +48 -0
- package/skill-assets/sunlint-code-quality/rules/typescript/S051-password-length.md +60 -0
- package/skill-assets/sunlint-code-quality/rules/typescript/S052-otp-entropy.md +49 -0
- package/skill-assets/sunlint-code-quality/rules/typescript/S053-generic-error-messages.md +61 -0
- package/skill-assets/sunlint-code-quality/rules/typescript/S054-no-default-admin.md +64 -0
- package/skill-assets/sunlint-code-quality/rules/typescript/S055-content-type-validation.md +64 -0
- package/skill-assets/sunlint-code-quality/rules/typescript/S056-log-injection.md +48 -0
- package/skill-assets/sunlint-code-quality/rules/typescript/S057-synchronized-time.md +57 -0
- package/skill-assets/sunlint-code-quality/rules/typescript/S058-ssrf-protection.md +63 -0
|
@@ -1848,9 +1848,7 @@
|
|
|
1848
1848
|
"code-quality"
|
|
1849
1849
|
],
|
|
1850
1850
|
"tools": [
|
|
1851
|
-
"
|
|
1852
|
-
"very_good_analysis",
|
|
1853
|
-
"lints)"
|
|
1851
|
+
"Custom analyzer (D001)"
|
|
1854
1852
|
],
|
|
1855
1853
|
"framework": "All",
|
|
1856
1854
|
"principles": [
|
|
@@ -1858,8 +1856,8 @@
|
|
|
1858
1856
|
]
|
|
1859
1857
|
},
|
|
1860
1858
|
"D002": {
|
|
1861
|
-
"name": "
|
|
1862
|
-
"description": "
|
|
1859
|
+
"name": "Always Dispose Resources and Remove Listeners",
|
|
1860
|
+
"description": "Prevent memory leaks by ensuring proper resource disposal",
|
|
1863
1861
|
"category": "Common",
|
|
1864
1862
|
"severity": "major",
|
|
1865
1863
|
"languages": [
|
|
@@ -1873,18 +1871,19 @@
|
|
|
1873
1871
|
"code-quality"
|
|
1874
1872
|
],
|
|
1875
1873
|
"tools": [
|
|
1876
|
-
"
|
|
1874
|
+
"Custom analyzer (D002)"
|
|
1877
1875
|
],
|
|
1878
1876
|
"framework": "All",
|
|
1879
1877
|
"principles": [
|
|
1880
|
-
"CODE_QUALITY"
|
|
1878
|
+
"CODE_QUALITY",
|
|
1879
|
+
"PERFORMANCE"
|
|
1881
1880
|
]
|
|
1882
1881
|
},
|
|
1883
1882
|
"D003": {
|
|
1884
|
-
"name": "
|
|
1885
|
-
"description": "
|
|
1883
|
+
"name": "Prefer Widgets Over Methods Returning Widgets",
|
|
1884
|
+
"description": "Improve performance and maintainability by extracting widget-returning methods into widget classes",
|
|
1886
1885
|
"category": "Common",
|
|
1887
|
-
"severity": "
|
|
1886
|
+
"severity": "major",
|
|
1888
1887
|
"languages": [
|
|
1889
1888
|
"dart"
|
|
1890
1889
|
],
|
|
@@ -1896,17 +1895,17 @@
|
|
|
1896
1895
|
"code-quality"
|
|
1897
1896
|
],
|
|
1898
1897
|
"tools": [
|
|
1899
|
-
"
|
|
1898
|
+
"Custom analyzer (D003)"
|
|
1900
1899
|
],
|
|
1901
1900
|
"framework": "All",
|
|
1902
1901
|
"principles": [
|
|
1903
1902
|
"CODE_QUALITY",
|
|
1904
|
-
"
|
|
1903
|
+
"PERFORMANCE"
|
|
1905
1904
|
]
|
|
1906
1905
|
},
|
|
1907
1906
|
"D004": {
|
|
1908
|
-
"name": "
|
|
1909
|
-
"description": "
|
|
1907
|
+
"name": "Avoid shrinkWrap in ListView",
|
|
1908
|
+
"description": "Prevent performance issues caused by shrinkWrap in scrollable widgets",
|
|
1910
1909
|
"category": "Common",
|
|
1911
1910
|
"severity": "major",
|
|
1912
1911
|
"languages": [
|
|
@@ -1920,16 +1919,17 @@
|
|
|
1920
1919
|
"code-quality"
|
|
1921
1920
|
],
|
|
1922
1921
|
"tools": [
|
|
1923
|
-
"
|
|
1922
|
+
"Custom analyzer (D004)"
|
|
1924
1923
|
],
|
|
1925
1924
|
"framework": "All",
|
|
1926
1925
|
"principles": [
|
|
1927
|
-
"CODE_QUALITY"
|
|
1926
|
+
"CODE_QUALITY",
|
|
1927
|
+
"PERFORMANCE"
|
|
1928
1928
|
]
|
|
1929
1929
|
},
|
|
1930
1930
|
"D005": {
|
|
1931
|
-
"name": "
|
|
1932
|
-
"description": "
|
|
1931
|
+
"name": "Limit Widget Nesting Depth to 6",
|
|
1932
|
+
"description": "Maintain code readability and prevent performance issues caused by deeply nested widgets",
|
|
1933
1933
|
"category": "Common",
|
|
1934
1934
|
"severity": "major",
|
|
1935
1935
|
"languages": [
|
|
@@ -1943,18 +1943,20 @@
|
|
|
1943
1943
|
"code-quality"
|
|
1944
1944
|
],
|
|
1945
1945
|
"tools": [
|
|
1946
|
-
"
|
|
1946
|
+
"Custom analyzer (D005)"
|
|
1947
1947
|
],
|
|
1948
1948
|
"framework": "All",
|
|
1949
1949
|
"principles": [
|
|
1950
|
-
"CODE_QUALITY"
|
|
1950
|
+
"CODE_QUALITY",
|
|
1951
|
+
"MAINTAINABILITY",
|
|
1952
|
+
"PERFORMANCE"
|
|
1951
1953
|
]
|
|
1952
1954
|
},
|
|
1953
1955
|
"D006": {
|
|
1954
|
-
"name": "
|
|
1955
|
-
"description": "
|
|
1956
|
+
"name": "Prefer Extracting Large Callbacks from Build",
|
|
1957
|
+
"description": "Improve code readability and testability by extracting large callback functions",
|
|
1956
1958
|
"category": "Common",
|
|
1957
|
-
"severity": "
|
|
1959
|
+
"severity": "major",
|
|
1958
1960
|
"languages": [
|
|
1959
1961
|
"dart"
|
|
1960
1962
|
],
|
|
@@ -1966,16 +1968,18 @@
|
|
|
1966
1968
|
"code-quality"
|
|
1967
1969
|
],
|
|
1968
1970
|
"tools": [
|
|
1969
|
-
"
|
|
1971
|
+
"Custom analyzer (D006)"
|
|
1970
1972
|
],
|
|
1971
1973
|
"framework": "All",
|
|
1972
1974
|
"principles": [
|
|
1973
|
-
"CODE_QUALITY"
|
|
1975
|
+
"CODE_QUALITY",
|
|
1976
|
+
"MAINTAINABILITY",
|
|
1977
|
+
"TESTABILITY"
|
|
1974
1978
|
]
|
|
1975
1979
|
},
|
|
1976
1980
|
"D007": {
|
|
1977
|
-
"name": "
|
|
1978
|
-
"description": "
|
|
1981
|
+
"name": "Prefer Init First, Dispose Last",
|
|
1982
|
+
"description": "Ensure proper lifecycle method ordering in StatefulWidget",
|
|
1979
1983
|
"category": "Common",
|
|
1980
1984
|
"severity": "major",
|
|
1981
1985
|
"languages": [
|
|
@@ -1989,17 +1993,18 @@
|
|
|
1989
1993
|
"code-quality"
|
|
1990
1994
|
],
|
|
1991
1995
|
"tools": [
|
|
1992
|
-
"
|
|
1996
|
+
"Custom analyzer (D007)"
|
|
1993
1997
|
],
|
|
1994
1998
|
"framework": "All",
|
|
1995
1999
|
"principles": [
|
|
1996
2000
|
"CODE_QUALITY",
|
|
1997
|
-
"
|
|
2001
|
+
"MAINTAINABILITY",
|
|
2002
|
+
"LIFECYCLE_MANAGEMENT"
|
|
1998
2003
|
]
|
|
1999
2004
|
},
|
|
2000
2005
|
"D008": {
|
|
2001
|
-
"name": "Avoid
|
|
2002
|
-
"description": "
|
|
2006
|
+
"name": "Avoid Long Functions",
|
|
2007
|
+
"description": "Improve code readability and maintainability by limiting function length",
|
|
2003
2008
|
"category": "Common",
|
|
2004
2009
|
"severity": "major",
|
|
2005
2010
|
"languages": [
|
|
@@ -2013,19 +2018,20 @@
|
|
|
2013
2018
|
"code-quality"
|
|
2014
2019
|
],
|
|
2015
2020
|
"tools": [
|
|
2016
|
-
"
|
|
2021
|
+
"Custom analyzer (D008)"
|
|
2017
2022
|
],
|
|
2018
2023
|
"framework": "All",
|
|
2019
2024
|
"principles": [
|
|
2020
2025
|
"CODE_QUALITY",
|
|
2021
|
-
"
|
|
2026
|
+
"MAINTAINABILITY",
|
|
2027
|
+
"READABILITY"
|
|
2022
2028
|
]
|
|
2023
2029
|
},
|
|
2024
2030
|
"D009": {
|
|
2025
|
-
"name": "
|
|
2026
|
-
"description": "
|
|
2031
|
+
"name": "Limit Function Parameters",
|
|
2032
|
+
"description": "Improve code readability by limiting the number of function parameters",
|
|
2027
2033
|
"category": "Common",
|
|
2028
|
-
"severity": "
|
|
2034
|
+
"severity": "major",
|
|
2029
2035
|
"languages": [
|
|
2030
2036
|
"dart"
|
|
2031
2037
|
],
|
|
@@ -2037,17 +2043,18 @@
|
|
|
2037
2043
|
"code-quality"
|
|
2038
2044
|
],
|
|
2039
2045
|
"tools": [
|
|
2040
|
-
"
|
|
2041
|
-
"`throw_in_finally`)"
|
|
2046
|
+
"Custom analyzer (D009)"
|
|
2042
2047
|
],
|
|
2043
2048
|
"framework": "All",
|
|
2044
2049
|
"principles": [
|
|
2045
|
-
"CODE_QUALITY"
|
|
2050
|
+
"CODE_QUALITY",
|
|
2051
|
+
"MAINTAINABILITY",
|
|
2052
|
+
"READABILITY"
|
|
2046
2053
|
]
|
|
2047
2054
|
},
|
|
2048
2055
|
"D010": {
|
|
2049
|
-
"name": "
|
|
2050
|
-
"description": "
|
|
2056
|
+
"name": "Limit Cyclomatic Complexity",
|
|
2057
|
+
"description": "Improve code readability and maintainability by limiting cyclomatic complexity",
|
|
2051
2058
|
"category": "Common",
|
|
2052
2059
|
"severity": "major",
|
|
2053
2060
|
"languages": [
|
|
@@ -2061,16 +2068,18 @@
|
|
|
2061
2068
|
"code-quality"
|
|
2062
2069
|
],
|
|
2063
2070
|
"tools": [
|
|
2064
|
-
"
|
|
2071
|
+
"Custom analyzer (D010)"
|
|
2065
2072
|
],
|
|
2066
2073
|
"framework": "All",
|
|
2067
2074
|
"principles": [
|
|
2068
|
-
"CODE_QUALITY"
|
|
2075
|
+
"CODE_QUALITY",
|
|
2076
|
+
"MAINTAINABILITY",
|
|
2077
|
+
"READABILITY"
|
|
2069
2078
|
]
|
|
2070
2079
|
},
|
|
2071
2080
|
"D011": {
|
|
2072
|
-
"name": "
|
|
2073
|
-
"description": "
|
|
2081
|
+
"name": "Prefer Named Parameters",
|
|
2082
|
+
"description": "Improve code readability and prevent parameter confusion",
|
|
2074
2083
|
"category": "Common",
|
|
2075
2084
|
"severity": "major",
|
|
2076
2085
|
"languages": [
|
|
@@ -2084,17 +2093,18 @@
|
|
|
2084
2093
|
"code-quality"
|
|
2085
2094
|
],
|
|
2086
2095
|
"tools": [
|
|
2087
|
-
"
|
|
2096
|
+
"Custom analyzer (D011)"
|
|
2088
2097
|
],
|
|
2089
2098
|
"framework": "All",
|
|
2090
2099
|
"principles": [
|
|
2091
2100
|
"CODE_QUALITY",
|
|
2092
|
-
"
|
|
2101
|
+
"READABILITY",
|
|
2102
|
+
"MAINTAINABILITY"
|
|
2093
2103
|
]
|
|
2094
2104
|
},
|
|
2095
2105
|
"D012": {
|
|
2096
|
-
"name": "
|
|
2097
|
-
"description": "
|
|
2106
|
+
"name": "Prefer Named Boolean Parameters",
|
|
2107
|
+
"description": "Improve code readability by avoiding unclear boolean parameters",
|
|
2098
2108
|
"category": "Common",
|
|
2099
2109
|
"severity": "major",
|
|
2100
2110
|
"languages": [
|
|
@@ -2108,17 +2118,18 @@
|
|
|
2108
2118
|
"code-quality"
|
|
2109
2119
|
],
|
|
2110
2120
|
"tools": [
|
|
2111
|
-
"
|
|
2121
|
+
"Custom analyzer (D012)"
|
|
2112
2122
|
],
|
|
2113
2123
|
"framework": "All",
|
|
2114
2124
|
"principles": [
|
|
2115
2125
|
"CODE_QUALITY",
|
|
2116
|
-
"
|
|
2126
|
+
"READABILITY",
|
|
2127
|
+
"MAINTAINABILITY"
|
|
2117
2128
|
]
|
|
2118
2129
|
},
|
|
2119
2130
|
"D013": {
|
|
2120
|
-
"name": "
|
|
2121
|
-
"description": "
|
|
2131
|
+
"name": "Prefer a Single Public Class Per File",
|
|
2132
|
+
"description": "Improve code organization and maintainability",
|
|
2122
2133
|
"category": "Common",
|
|
2123
2134
|
"severity": "major",
|
|
2124
2135
|
"languages": [
|
|
@@ -2132,18 +2143,18 @@
|
|
|
2132
2143
|
"code-quality"
|
|
2133
2144
|
],
|
|
2134
2145
|
"tools": [
|
|
2135
|
-
"
|
|
2136
|
-
"`prefer_interpolation_to_compose_strings`)"
|
|
2146
|
+
"Custom analyzer (D013)"
|
|
2137
2147
|
],
|
|
2138
2148
|
"framework": "All",
|
|
2139
2149
|
"principles": [
|
|
2140
2150
|
"CODE_QUALITY",
|
|
2141
|
-
"
|
|
2151
|
+
"ORGANIZATION",
|
|
2152
|
+
"MAINTAINABILITY"
|
|
2142
2153
|
]
|
|
2143
2154
|
},
|
|
2144
2155
|
"D014": {
|
|
2145
|
-
"name": "
|
|
2146
|
-
"description": "
|
|
2156
|
+
"name": "Avoid Unsafe Collection Access",
|
|
2157
|
+
"description": "Prevent runtime errors from accessing empty collections",
|
|
2147
2158
|
"category": "Common",
|
|
2148
2159
|
"severity": "major",
|
|
2149
2160
|
"languages": [
|
|
@@ -2157,17 +2168,18 @@
|
|
|
2157
2168
|
"code-quality"
|
|
2158
2169
|
],
|
|
2159
2170
|
"tools": [
|
|
2160
|
-
"
|
|
2171
|
+
"Custom analyzer (D014)"
|
|
2161
2172
|
],
|
|
2162
2173
|
"framework": "All",
|
|
2163
2174
|
"principles": [
|
|
2164
2175
|
"CODE_QUALITY",
|
|
2165
|
-
"
|
|
2176
|
+
"SAFETY",
|
|
2177
|
+
"ERROR_PREVENTION"
|
|
2166
2178
|
]
|
|
2167
2179
|
},
|
|
2168
2180
|
"D015": {
|
|
2169
|
-
"name": "
|
|
2170
|
-
"description": "
|
|
2181
|
+
"name": "Ensure copyWith includes all constructor parameters",
|
|
2182
|
+
"description": "Maintain data integrity and completeness in immutable objects",
|
|
2171
2183
|
"category": "Common",
|
|
2172
2184
|
"severity": "major",
|
|
2173
2185
|
"languages": [
|
|
@@ -2181,18 +2193,18 @@
|
|
|
2181
2193
|
"code-quality"
|
|
2182
2194
|
],
|
|
2183
2195
|
"tools": [
|
|
2184
|
-
"
|
|
2185
|
-
"`prefer_const_declarations`",
|
|
2186
|
-
"`prefer_const_constructors`)"
|
|
2196
|
+
"Custom analyzer (D015)"
|
|
2187
2197
|
],
|
|
2188
2198
|
"framework": "All",
|
|
2189
2199
|
"principles": [
|
|
2190
|
-
"CODE_QUALITY"
|
|
2200
|
+
"CODE_QUALITY",
|
|
2201
|
+
"IMMUTABILITY",
|
|
2202
|
+
"DATA_INTEGRITY"
|
|
2191
2203
|
]
|
|
2192
2204
|
},
|
|
2193
2205
|
"D016": {
|
|
2194
|
-
"name": "
|
|
2195
|
-
"description": "
|
|
2206
|
+
"name": "Project should have tests",
|
|
2207
|
+
"description": "Ensure code quality and prevent regressions through automated testing",
|
|
2196
2208
|
"category": "Common",
|
|
2197
2209
|
"severity": "major",
|
|
2198
2210
|
"languages": [
|
|
@@ -2206,16 +2218,18 @@
|
|
|
2206
2218
|
"code-quality"
|
|
2207
2219
|
],
|
|
2208
2220
|
"tools": [
|
|
2209
|
-
"
|
|
2221
|
+
"Custom analyzer (D016)"
|
|
2210
2222
|
],
|
|
2211
2223
|
"framework": "All",
|
|
2212
2224
|
"principles": [
|
|
2213
|
-
"CODE_QUALITY"
|
|
2225
|
+
"CODE_QUALITY",
|
|
2226
|
+
"TESTING",
|
|
2227
|
+
"MAINTAINABILITY"
|
|
2214
2228
|
]
|
|
2215
2229
|
},
|
|
2216
2230
|
"D017": {
|
|
2217
|
-
"name": "
|
|
2218
|
-
"description": "
|
|
2231
|
+
"name": "Pubspec dependencies should be reviewed regularly",
|
|
2232
|
+
"description": "Ensure dependencies are kept up-to-date for security and stability",
|
|
2219
2233
|
"category": "Common",
|
|
2220
2234
|
"severity": "major",
|
|
2221
2235
|
"languages": [
|
|
@@ -2229,16 +2243,18 @@
|
|
|
2229
2243
|
"code-quality"
|
|
2230
2244
|
],
|
|
2231
2245
|
"tools": [
|
|
2232
|
-
"
|
|
2246
|
+
"Custom analyzer (D017)"
|
|
2233
2247
|
],
|
|
2234
2248
|
"framework": "All",
|
|
2235
2249
|
"principles": [
|
|
2250
|
+
"SECURITY",
|
|
2251
|
+
"MAINTAINABILITY",
|
|
2236
2252
|
"CODE_QUALITY"
|
|
2237
2253
|
]
|
|
2238
2254
|
},
|
|
2239
2255
|
"D018": {
|
|
2240
|
-
"name": "
|
|
2241
|
-
"description": "
|
|
2256
|
+
"name": "Remove Commented-Out Code",
|
|
2257
|
+
"description": "Keep codebase clean by removing commented-out code",
|
|
2242
2258
|
"category": "Common",
|
|
2243
2259
|
"severity": "major",
|
|
2244
2260
|
"languages": [
|
|
@@ -2252,16 +2268,18 @@
|
|
|
2252
2268
|
"code-quality"
|
|
2253
2269
|
],
|
|
2254
2270
|
"tools": [
|
|
2255
|
-
"
|
|
2271
|
+
"Custom analyzer (D018)"
|
|
2256
2272
|
],
|
|
2257
2273
|
"framework": "All",
|
|
2258
2274
|
"principles": [
|
|
2259
|
-
"CODE_QUALITY"
|
|
2275
|
+
"CODE_QUALITY",
|
|
2276
|
+
"MAINTAINABILITY",
|
|
2277
|
+
"READABILITY"
|
|
2260
2278
|
]
|
|
2261
2279
|
},
|
|
2262
2280
|
"D019": {
|
|
2263
|
-
"name": "
|
|
2264
|
-
"description": "
|
|
2281
|
+
"name": "Avoid Single Child in Multi-Child Widget",
|
|
2282
|
+
"description": "Use appropriate widget types for the number of children",
|
|
2265
2283
|
"category": "Common",
|
|
2266
2284
|
"severity": "major",
|
|
2267
2285
|
"languages": [
|
|
@@ -2275,17 +2293,18 @@
|
|
|
2275
2293
|
"code-quality"
|
|
2276
2294
|
],
|
|
2277
2295
|
"tools": [
|
|
2278
|
-
"
|
|
2279
|
-
"`prefer_is_not_empty`)"
|
|
2296
|
+
"Custom analyzer (D019)"
|
|
2280
2297
|
],
|
|
2281
2298
|
"framework": "All",
|
|
2282
2299
|
"principles": [
|
|
2283
|
-
"CODE_QUALITY"
|
|
2300
|
+
"CODE_QUALITY",
|
|
2301
|
+
"PERFORMANCE",
|
|
2302
|
+
"MAINTAINABILITY"
|
|
2284
2303
|
]
|
|
2285
2304
|
},
|
|
2286
2305
|
"D020": {
|
|
2287
|
-
"name": "
|
|
2288
|
-
"description": "
|
|
2306
|
+
"name": "Limit If/Else Branches",
|
|
2307
|
+
"description": "Reduce complexity by limiting the number of if/else branches",
|
|
2289
2308
|
"category": "Common",
|
|
2290
2309
|
"severity": "major",
|
|
2291
2310
|
"languages": [
|
|
@@ -2299,18 +2318,20 @@
|
|
|
2299
2318
|
"code-quality"
|
|
2300
2319
|
],
|
|
2301
2320
|
"tools": [
|
|
2302
|
-
"
|
|
2321
|
+
"Custom analyzer (D020)"
|
|
2303
2322
|
],
|
|
2304
2323
|
"framework": "All",
|
|
2305
2324
|
"principles": [
|
|
2306
|
-
"
|
|
2325
|
+
"CODE_QUALITY",
|
|
2326
|
+
"MAINTAINABILITY",
|
|
2327
|
+
"READABILITY"
|
|
2307
2328
|
]
|
|
2308
2329
|
},
|
|
2309
2330
|
"D021": {
|
|
2310
|
-
"name": "
|
|
2311
|
-
"description": "
|
|
2331
|
+
"name": "Avoid Negated Boolean Checks",
|
|
2332
|
+
"description": "Improve code readability by avoiding inverted or negated boolean conditions",
|
|
2312
2333
|
"category": "Common",
|
|
2313
|
-
"severity": "
|
|
2334
|
+
"severity": "major",
|
|
2314
2335
|
"languages": [
|
|
2315
2336
|
"dart"
|
|
2316
2337
|
],
|
|
@@ -2322,16 +2343,17 @@
|
|
|
2322
2343
|
"code-quality"
|
|
2323
2344
|
],
|
|
2324
2345
|
"tools": [
|
|
2325
|
-
"
|
|
2346
|
+
"Custom analyzer (D021)"
|
|
2326
2347
|
],
|
|
2327
2348
|
"framework": "All",
|
|
2328
2349
|
"principles": [
|
|
2329
|
-
"CODE_QUALITY"
|
|
2350
|
+
"CODE_QUALITY",
|
|
2351
|
+
"READABILITY"
|
|
2330
2352
|
]
|
|
2331
2353
|
},
|
|
2332
2354
|
"D022": {
|
|
2333
|
-
"name": "
|
|
2334
|
-
"description": "
|
|
2355
|
+
"name": "Use setState Correctly",
|
|
2356
|
+
"description": "Ensure setState is used correctly in StatefulWidget to avoid performance issues and bugs",
|
|
2335
2357
|
"category": "Common",
|
|
2336
2358
|
"severity": "major",
|
|
2337
2359
|
"languages": [
|
|
@@ -2345,16 +2367,18 @@
|
|
|
2345
2367
|
"code-quality"
|
|
2346
2368
|
],
|
|
2347
2369
|
"tools": [
|
|
2348
|
-
"
|
|
2370
|
+
"Custom analyzer (D022)"
|
|
2349
2371
|
],
|
|
2350
2372
|
"framework": "All",
|
|
2351
2373
|
"principles": [
|
|
2352
|
-
"CODE_QUALITY"
|
|
2374
|
+
"CODE_QUALITY",
|
|
2375
|
+
"PERFORMANCE",
|
|
2376
|
+
"BEST_PRACTICES"
|
|
2353
2377
|
]
|
|
2354
2378
|
},
|
|
2355
2379
|
"D023": {
|
|
2356
|
-
"name": "
|
|
2357
|
-
"description": "
|
|
2380
|
+
"name": "Avoid Unnecessary Method Overrides",
|
|
2381
|
+
"description": "Remove methods that only call super with the same parameters as they add no value",
|
|
2358
2382
|
"category": "Common",
|
|
2359
2383
|
"severity": "major",
|
|
2360
2384
|
"languages": [
|
|
@@ -2368,17 +2392,18 @@
|
|
|
2368
2392
|
"code-quality"
|
|
2369
2393
|
],
|
|
2370
2394
|
"tools": [
|
|
2371
|
-
"
|
|
2395
|
+
"Custom analyzer (D023)"
|
|
2372
2396
|
],
|
|
2373
2397
|
"framework": "All",
|
|
2374
2398
|
"principles": [
|
|
2375
2399
|
"CODE_QUALITY",
|
|
2376
|
-
"
|
|
2400
|
+
"MAINTAINABILITY",
|
|
2401
|
+
"READABILITY"
|
|
2377
2402
|
]
|
|
2378
2403
|
},
|
|
2379
2404
|
"D024": {
|
|
2380
|
-
"name": "
|
|
2381
|
-
"description": "
|
|
2405
|
+
"name": "Avoid Unnecessary StatefulWidget",
|
|
2406
|
+
"description": "Use StatelessWidget when no state management is needed to improve performance",
|
|
2382
2407
|
"category": "Common",
|
|
2383
2408
|
"severity": "major",
|
|
2384
2409
|
"languages": [
|
|
@@ -2392,17 +2417,18 @@
|
|
|
2392
2417
|
"code-quality"
|
|
2393
2418
|
],
|
|
2394
2419
|
"tools": [
|
|
2395
|
-
"
|
|
2420
|
+
"Custom analyzer (D024)"
|
|
2396
2421
|
],
|
|
2397
2422
|
"framework": "All",
|
|
2398
2423
|
"principles": [
|
|
2399
2424
|
"CODE_QUALITY",
|
|
2400
|
-
"
|
|
2425
|
+
"PERFORMANCE",
|
|
2426
|
+
"BEST_PRACTICES"
|
|
2401
2427
|
]
|
|
2402
2428
|
},
|
|
2403
2429
|
"D025": {
|
|
2404
|
-
"name": "
|
|
2405
|
-
"description": "
|
|
2430
|
+
"name": "Avoid Nested Conditional Expressions",
|
|
2431
|
+
"description": "Improve code readability by avoiding nested ternary operators",
|
|
2406
2432
|
"category": "Common",
|
|
2407
2433
|
"severity": "major",
|
|
2408
2434
|
"languages": [
|
|
@@ -2416,13 +2442,13 @@
|
|
|
2416
2442
|
"code-quality"
|
|
2417
2443
|
],
|
|
2418
2444
|
"tools": [
|
|
2419
|
-
"
|
|
2445
|
+
"Custom analyzer (D025)"
|
|
2420
2446
|
],
|
|
2421
2447
|
"framework": "All",
|
|
2422
2448
|
"principles": [
|
|
2423
2449
|
"CODE_QUALITY",
|
|
2424
|
-
"
|
|
2425
|
-
"
|
|
2450
|
+
"READABILITY",
|
|
2451
|
+
"MAINTAINABILITY"
|
|
2426
2452
|
]
|
|
2427
2453
|
},
|
|
2428
2454
|
"J001": {
|
|
@@ -126,6 +126,17 @@ class RuleSelectionService {
|
|
|
126
126
|
}
|
|
127
127
|
}
|
|
128
128
|
|
|
129
|
+
// Filter out disabled rules from config (rules set to 'off', false, or 0)
|
|
130
|
+
const disabledRules = new Set(
|
|
131
|
+
Object.entries(allRules)
|
|
132
|
+
.filter(([, value]) => value === 'off' || value === false || value === 0)
|
|
133
|
+
.map(([ruleId]) => ruleId)
|
|
134
|
+
);
|
|
135
|
+
|
|
136
|
+
if (disabledRules.size > 0) {
|
|
137
|
+
selectedRules = selectedRules.filter(ruleId => !disabledRules.has(ruleId));
|
|
138
|
+
}
|
|
139
|
+
|
|
129
140
|
// Convert to rule objects
|
|
130
141
|
return selectedRules.map(ruleId => {
|
|
131
142
|
const adapterRule = this.ruleAdapter.getRuleById(ruleId);
|