Skip to content

Conversation

@namrata111f
Copy link
Contributor

@namrata111f namrata111f commented Dec 24, 2025

Testing/demo for the changes:
https://drive.google.com/file/d/1XTGB39gBn7-sVDY6Di1SCwVTALqRq04O/view?usp=sharing
Tested changes on existing test folder of the core:

sf code-analyzer run --workspace .
 ›   Warning: @salesforce/plugin-code-analyzer is a linked ESM module and cannot be auto-transpiled. Existing compiled source will be used instead.
 ›   Warning: @salesforce/cli update available from 2.113.6 to 2.116.6.

Streaming logs in real time to:
    /var/folders/n2/fjmw400n4tsclsys23vzkhmr0000gn/T/sfca-2026_01_02_12_16_06_049.log

Selecting rules... done.
 ›   Error: Engine 'cpd' [12:16:6.758]:
 ›       CPD issued a processing error for file '/Users/namrata.gupta/workspace/code-analyser/code-analyzer-core/packages/code-analyzer-eslint-engine/test/test-data/workspaceWithUnparsableCode/unparsableFile.js':
 ›           LexException: Lexical error in file '/Users/namrata.gupta/workspace/code-analyser/code-analyzer-core/packages/code-analyzer-eslint-engine/test/test-data/workspaceWithUnparsableCode/unparsableFile.js' at line 2, column 10: <EOF> 
 ›   after : "\'oops" (in lexical state DEFAULT)

Warning: React version was set to "detect" in eslint-plugin-react settings, but the "react" package is not installed. Assuming latest React version for linting.
 ›   Error: Engine 'eslint' [12:16:8.414]:
 ›       When scanning file '/Users/namrata.gupta/workspace/code-analyser/code-analyzer-core/packages/code-analyzer-eslint-engine/test/test-data/workspaceWithUnparsableCode/unparsableFile.js' with the eslint engine, ESLint gave the following 
 ›   error:
 ›           Parsing error: Unterminated string constant. (2:4)

Executing rules... done. Executed rules from retire-js, regex, eslint, cpd.

Violation file paths relative to '/Users/namrata.gupta/workspace/code-analyser/code-analyzer-core/packages/code-analyzer-eslint-engine/test/test-data'.
  #    Severity       Rule                                                            Location                                                                         Message                                                                                                                                                                                                                   
 ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
  1    2 (High)       eslint:no-unused-vars                                           workspace_NoCustomConfig/dummy1.js:1:10                                          'containsBadRegExp' is defined but never used.
  2    2 (High)       eslint:no-unused-vars                                           workspace_NoCustomConfig/dummy1.js:2:11                                          'r' is assigned a value but never used.
  3    2 (High)       eslint:no-invalid-regexp                                        workspace_NoCustomConfig/dummy1.js:2:15                                          Invalid regular expression: /[/: Unterminated character class.
  4    2 (High)       eslint:@typescript-eslint/no-unused-vars                        workspace_NoCustomConfig/dummy2.ts:1:10                                          'containsBadType' is defined but never used.
  5    2 (High)       eslint:@typescript-eslint/no-unused-vars                        workspace_NoCustomConfig/dummy2.ts:2:11                                          's' is assigned a value but never used.
  6    2 (High)       eslint:@typescript-eslint/no-wrapper-object-types               workspace_NoCustomConfig/dummy2.ts:2:14                                          Prefer using the primitive `string` as a type name, rather than the upper-cased `String`.
  7    2 (High)       eslint:@typescript-eslint/no-unused-vars                        workspace_NoCustomConfig/dummy2.ts:5:10                                          'containsBadRegExp' is defined but never used.
  8    2 (High)       eslint:@typescript-eslint/no-unused-vars                        workspace_NoCustomConfig/dummy2.ts:6:11                                          'r' is assigned a value but never used.
  9    2 (High)       eslint:no-invalid-regexp                                        workspace_NoCustomConfig/dummy2.ts:6:23                                          Invalid regular expression: /[/: Unterminated character class.
  10   2 (High)       eslint:no-unused-vars                                           workspaceWithDirectiveAboutUnknownRule/containsDirectiveForUnknownRule.js:5:10   'helloWorld' is defined but never used.
  11   2 (High)       eslint:no-unused-vars                                           workspaceWithFlatConfigCjs/dummy1.js:1:10                                        'containsBadRegExp' is defined but never used.
  12   2 (High)       eslint:no-unused-vars                                           workspaceWithFlatConfigCjs/dummy1.js:2:11                                        'r' is assigned a value but never used.
  13   2 (High)       eslint:no-invalid-regexp                                        workspaceWithFlatConfigCjs/dummy1.js:2:15                                        Invalid regular expression: /[/: Unterminated character class.
  14   2 (High)       eslint:@typescript-eslint/no-unused-vars                        workspaceWithFlatConfigCjs/dummy2.ts:1:10                                        'containsBadType' is defined but never used.
  15   2 (High)       eslint:@typescript-eslint/no-unused-vars                        workspaceWithFlatConfigCjs/dummy2.ts:2:11                                        's' is assigned a value but never used.
  16   2 (High)       eslint:@typescript-eslint/no-wrapper-object-types               workspaceWithFlatConfigCjs/dummy2.ts:2:14                                        Prefer using the primitive `string` as a type name, rather than the upper-cased `String`.
  17   2 (High)       eslint:@typescript-eslint/no-unused-vars                        workspaceWithFlatConfigCjs/dummy2.ts:5:10                                        'containsBadRegExp' is defined but never used.
  18   2 (High)       eslint:@typescript-eslint/no-unused-vars                        workspaceWithFlatConfigCjs/dummy2.ts:6:11                                        'r' is assigned a value but never used.
  19   2 (High)       eslint:no-invalid-regexp                                        workspaceWithFlatConfigCjs/dummy2.ts:6:23                                        Invalid regular expression: /[/: Unterminated character class.
  20   2 (High)       eslint:no-unused-vars                                           workspaceWithFlatConfigJs/dummy1.js:1:10                                         'containsBadRegExp' is defined but never used.
  21   2 (High)       eslint:no-unused-vars                                           workspaceWithFlatConfigJs/dummy1.js:2:11                                         'r' is assigned a value but never used.
  22   2 (High)       eslint:no-invalid-regexp                                        workspaceWithFlatConfigJs/dummy1.js:2:15                                         Invalid regular expression: /[/: Unterminated character class.
  23   2 (High)       eslint:@typescript-eslint/no-unused-vars                        workspaceWithFlatConfigJs/dummy2.ts:1:10                                         'containsBadType' is defined but never used.
  24   2 (High)       eslint:@typescript-eslint/no-unused-vars                        workspaceWithFlatConfigJs/dummy2.ts:2:11                                         's' is assigned a value but never used.
  25   2 (High)       eslint:@typescript-eslint/no-wrapper-object-types               workspaceWithFlatConfigJs/dummy2.ts:2:14                                         Prefer using the primitive `string` as a type name, rather than the upper-cased `String`.
  26   2 (High)       eslint:@typescript-eslint/no-unused-vars                        workspaceWithFlatConfigJs/dummy2.ts:5:10                                         'containsBadRegExp' is defined but never used.
  27   2 (High)       eslint:@typescript-eslint/no-unused-vars                        workspaceWithFlatConfigJs/dummy2.ts:6:11                                         'r' is assigned a value but never used.
  28   2 (High)       eslint:no-invalid-regexp                                        workspaceWithFlatConfigJs/dummy2.ts:6:23                                         Invalid regular expression: /[/: Unterminated character class.
  29   2 (High)       eslint:no-unused-vars                                           workspaceWithFlatConfigMjs/dummy1.js:1:10                                        'containsBadRegExp' is defined but never used.
  30   2 (High)       eslint:no-unused-vars                                           workspaceWithFlatConfigMjs/dummy1.js:2:11                                        'r' is assigned a value but never used.
  31   2 (High)       eslint:no-invalid-regexp                                        workspaceWithFlatConfigMjs/dummy1.js:2:15                                        Invalid regular expression: /[/: Unterminated character class.
  32   2 (High)       eslint:@typescript-eslint/no-unused-vars                        workspaceWithFlatConfigMjs/dummy2.ts:1:10                                        'containsBadType' is defined but never used.
  33   2 (High)       eslint:@typescript-eslint/no-unused-vars                        workspaceWithFlatConfigMjs/dummy2.ts:2:11                                        's' is assigned a value but never used.
  34   2 (High)       eslint:@typescript-eslint/no-wrapper-object-types               workspaceWithFlatConfigMjs/dummy2.ts:2:14                                        Prefer using the primitive `string` as a type name, rather than the upper-cased `String`.
  35   2 (High)       eslint:@typescript-eslint/no-unused-vars                        workspaceWithFlatConfigMjs/dummy2.ts:5:10                                        'containsBadRegExp' is defined but never used.
  36   2 (High)       eslint:@typescript-eslint/no-unused-vars                        workspaceWithFlatConfigMjs/dummy2.ts:6:11                                        'r' is assigned a value but never used.
  37   2 (High)       eslint:no-invalid-regexp                                        workspaceWithFlatConfigMjs/dummy2.ts:6:23                                        Invalid regular expression: /[/: Unterminated character class.
  38   2 (High)       eslint:no-unused-vars                                           workspaceWithFlatConfigWithNewRules/dummy1.js:1:5                                'forbidden' is assigned a value but never used.
  39   2 (High)       eslint:no-unused-vars                                           workspaceWithFlatConfigWithNewRules/dummy1.js:2:5                                'thisIsOk' is assigned a value but never used.
  40   2 (High)       eslint:no-unused-vars                                           workspaceWithFlatConfigWithNewRules/dummy1.js:3:5                                'oops' is assigned a value but never used.
  41   2 (High)       eslint:no-unused-vars                                           workspaceWithFlatConfigWithNewRules/dummy1.js:4:5                                'thisIsAlsoOk' is assigned a value but never used.
  42   2 (High)       eslint:no-unused-vars                                           workspaceWithLegacyConfigCjs/dummy1.js:1:10                                      'containsBadRegExp' is defined but never used.
  43   2 (High)       eslint:no-unused-vars                                           workspaceWithLegacyConfigCjs/dummy1.js:2:11                                      'r' is assigned a value but never used.
  44   2 (High)       eslint:no-invalid-regexp                                        workspaceWithLegacyConfigCjs/dummy1.js:2:15                                      Invalid regular expression: /[/: Unterminated character class.
  45   2 (High)       eslint:@typescript-eslint/no-unused-vars                        workspaceWithLegacyConfigCjs/dummy2.ts:1:10                                      'containsBadType' is defined but never used.
  46   2 (High)       eslint:@typescript-eslint/no-unused-vars                        workspaceWithLegacyConfigCjs/dummy2.ts:2:11                                      's' is assigned a value but never used.
  47   2 (High)       eslint:@typescript-eslint/no-wrapper-object-types               workspaceWithLegacyConfigCjs/dummy2.ts:2:14                                      Prefer using the primitive `string` as a type name, rather than the upper-cased `String`.
  48   2 (High)       eslint:@typescript-eslint/no-unused-vars                        workspaceWithLegacyConfigCjs/dummy2.ts:5:10                                      'containsBadRegExp' is defined but never used.
  49   2 (High)       eslint:@typescript-eslint/no-unused-vars                        workspaceWithLegacyConfigCjs/dummy2.ts:6:11                                      'r' is assigned a value but never used.
  50   2 (High)       eslint:no-invalid-regexp                                        workspaceWithLegacyConfigCjs/dummy2.ts:6:23                                      Invalid regular expression: /[/: Unterminated character class.
  51   2 (High)       eslint:no-unused-vars                                           workspaceWithLegacyConfigJson/dummy1.js:1:10                                     'containsBadRegExp' is defined but never used.
  52   2 (High)       eslint:no-unused-vars                                           workspaceWithLegacyConfigJson/dummy1.js:2:11                                     'r' is assigned a value but never used.
  53   2 (High)       eslint:no-invalid-regexp                                        workspaceWithLegacyConfigJson/dummy1.js:2:15                                     Invalid regular expression: /[/: Unterminated character class.
  54   2 (High)       eslint:@typescript-eslint/no-unused-vars                        workspaceWithLegacyConfigJson/dummy2.ts:1:10                                     'containsBadType' is defined but never used.
  55   2 (High)       eslint:@typescript-eslint/no-unused-vars                        workspaceWithLegacyConfigJson/dummy2.ts:2:11                                     's' is assigned a value but never used.
  56   2 (High)       eslint:@typescript-eslint/no-wrapper-object-types               workspaceWithLegacyConfigJson/dummy2.ts:2:14                                     Prefer using the primitive `string` as a type name, rather than the upper-cased `String`.
  57   2 (High)       eslint:@typescript-eslint/no-unused-vars                        workspaceWithLegacyConfigJson/dummy2.ts:5:10                                     'containsBadRegExp' is defined but never used.
  58   2 (High)       eslint:@typescript-eslint/no-unused-vars                        workspaceWithLegacyConfigJson/dummy2.ts:6:11                                     'r' is assigned a value but never used.
  59   2 (High)       eslint:no-invalid-regexp                                        workspaceWithLegacyConfigJson/dummy2.ts:6:23                                     Invalid regular expression: /[/: Unterminated character class.
  60   2 (High)       eslint:no-unused-vars                                           workspaceWithLegacyConfigYml/dummy1.js:1:10                                      'containsBadRegExp' is defined but never used.
  61   2 (High)       eslint:no-unused-vars                                           workspaceWithLegacyConfigYml/dummy1.js:2:11                                      'r' is assigned a value but never used.
  62   2 (High)       eslint:no-invalid-regexp                                        workspaceWithLegacyConfigYml/dummy1.js:2:15                                      Invalid regular expression: /[/: Unterminated character class.
  63   2 (High)       eslint:@typescript-eslint/no-unused-vars                        workspaceWithLegacyConfigYml/dummy2.ts:1:10                                      'containsBadType' is defined but never used.
  64   2 (High)       eslint:@typescript-eslint/no-unused-vars                        workspaceWithLegacyConfigYml/dummy2.ts:2:11                                      's' is assigned a value but never used.
  65   2 (High)       eslint:@typescript-eslint/no-wrapper-object-types               workspaceWithLegacyConfigYml/dummy2.ts:2:14                                      Prefer using the primitive `string` as a type name, rather than the upper-cased `String`.
  66   2 (High)       eslint:@typescript-eslint/no-unused-vars                        workspaceWithLegacyConfigYml/dummy2.ts:5:10                                      'containsBadRegExp' is defined but never used.
  67   2 (High)       eslint:@typescript-eslint/no-unused-vars                        workspaceWithLegacyConfigYml/dummy2.ts:6:11                                      'r' is assigned a value but never used.
  68   2 (High)       eslint:no-invalid-regexp                                        workspaceWithLegacyConfigYml/dummy2.ts:6:23                                      Invalid regular expression: /[/: Unterminated character class.
  69   2 (High)       eslint:no-unused-vars                                           workspaceWithLegacyIgnoreFile/dummy1.js:1:10                                     'containsBadRegExp' is defined but never used.
  70   2 (High)       eslint:no-unused-vars                                           workspaceWithLegacyIgnoreFile/dummy1.js:2:11                                     'r' is assigned a value but never used.
  71   2 (High)       eslint:no-invalid-regexp                                        workspaceWithLegacyIgnoreFile/dummy1.js:2:15                                     Invalid regular expression: /[/: Unterminated character class.
  72   2 (High)       eslint:@typescript-eslint/no-unused-vars                        workspaceWithLegacyIgnoreFile/dummy2.ts:1:10                                     'containsBadType' is defined but never used.
  73   2 (High)       eslint:@typescript-eslint/no-unused-vars                        workspaceWithLegacyIgnoreFile/dummy2.ts:2:11                                     's' is assigned a value but never used.
  74   2 (High)       eslint:@typescript-eslint/no-wrapper-object-types               workspaceWithLegacyIgnoreFile/dummy2.ts:2:14                                     Prefer using the primitive `string` as a type name, rather than the upper-cased `String`.
  75   2 (High)       eslint:@typescript-eslint/no-unused-vars                        workspaceWithLegacyIgnoreFile/dummy2.ts:5:10                                     'containsBadRegExp' is defined but never used.
  76   2 (High)       eslint:@typescript-eslint/no-unused-vars                        workspaceWithLegacyIgnoreFile/dummy2.ts:6:11                                     'r' is assigned a value but never used.
  77   2 (High)       eslint:no-invalid-regexp                                        workspaceWithLegacyIgnoreFile/dummy2.ts:6:23                                     Invalid regular expression: /[/: Unterminated character class.
  78   2 (High)       eslint:no-unused-vars                                           workspaceWithUnparsableCode/parsableFileWithViolation.js:1:7                     'a' is assigned a value but never used.
  79   3 (Moderate)   eslint:@salesforce-ux/slds/no-slds-private-var                  workspace_NoCustomConfig/dummy1.css:6:3                                          This styling hook is reserved for internal Salesforce use. Remove the --_slds- or –slds-s private variable within selector --_slds-c-private-var. For more information, look up private CSS in lightningdesignsystem.com.
  80   3 (Moderate)   eslint:prefer-const                                             workspaceWithFlatConfigWithNewRules/dummy1.js:1:5                                'forbidden' is never reassigned. Use 'const' instead.
  81   3 (Moderate)   eslint:prefer-const                                             workspaceWithFlatConfigWithNewRules/dummy1.js:2:5                                'thisIsOk' is never reassigned. Use 'const' instead.
  82   3 (Moderate)   eslint:prefer-const                                             workspaceWithFlatConfigWithNewRules/dummy1.js:3:5                                'oops' is never reassigned. Use 'const' instead.
  83   3 (Moderate)   eslint:prefer-const                                             workspaceWithFlatConfigWithNewRules/dummy1.js:4:5                                'thisIsAlsoOk' is never reassigned. Use 'const' instead.
  84   3 (Moderate)   eslint:react/prop-types                                         workspaceWithReactFiles/Button.jsx:3:19                                          'label' is missing in props validation
  85   3 (Moderate)   eslint:react/prop-types                                         workspaceWithReactFiles/Button.jsx:3:26                                          'onClick' is missing in props validation
  86   4 (Low)        eslint:@salesforce-ux/slds/no-slds-namespace-for-custom-hooks   workspace_NoCustomConfig/dummy1.css:3:3                                          Using the --slds namespace for --slds-c-color-background isn't supported. Create the custom styling hook in your namespace. Example: --myapp-c-color-background
  87   4 (Low)        eslint:@salesforce-ux/slds/no-slds-namespace-for-custom-hooks   workspace_NoCustomConfig/dummy1.css:5:3                                          Using the --slds namespace for --slds-c-spacing-small isn't supported. Create the custom styling hook in your namespace. Example: --myapp-c-spacing-small
  88   4 (Low)        eslint:@salesforce-ux/slds/no-slds-class-overrides              workspace_NoCustomConfig/dummy1.css:9:1                                          Overriding .slds-button isn't supported. To differentiate SLDS and custom classes, create a CSS class in your namespace. Examples: myapp-input, myapp-button.
  89   4 (Low)        eslint:@salesforce-ux/slds/no-hardcoded-values-slds2            workspace_NoCustomConfig/dummy1.css:10:21                                        Consider replacing the #0070d2 static value with an SLDS 2 styling hook that has a similar value:
                                                                                                                                                                       1. --slds-g-color-palette-blue-50
                                                                                                                                                                       2. --slds-g-color-info-base-50
                                                                                                                                                                       3. --slds-g-color-palette-blue-40
                                                                                                                                                                       4. --slds-g-color-info-base-40
                                                                                                                                                                       5. --slds-g-color-info-1.
  90   4 (Low)        eslint:@salesforce-ux/slds/no-hardcoded-values-slds2            workspace_NoCustomConfig/dummy1.css:11:10                                        Consider replacing the white static value with an SLDS 2 styling hook that has a similar value:
                                                                                                                                                                       1. --slds-g-color-palette-neutral-100
                                                                                                                                                                       2. --slds-g-color-neutral-base-100
                                                                                                                                                                       3. --slds-g-color-surface-1
                                                                                                                                                                       4. --slds-g-color-surface-container-1
                                                                                                                                                                       5. --slds-g-color-on-accent-1.
  91   4 (Low)        eslint:@salesforce-ux/slds/enforce-bem-usage                    workspace_NoCustomConfig/dummy1.html:1:11                                        slds-m-top--none has been retired. Update it to the new name slds-m-top_none.
  92   4 (Low)        eslint:@salesforce-ux/slds/no-hardcoded-values-slds2            workspaceWithFlatConfigCjs/dummy1.css:2:23                                       Consider replacing the #21A0DF static value with an SLDS 2 styling hook that has a similar value:
                                                                                                                                                                       1. --slds-g-color-palette-cloud-blue-60
                                                                                                                                                                       2. --slds-g-color-palette-cloud-blue-65
                                                                                                                                                                       3. --slds-g-color-palette-cloud-blue-70
                                                                                                                                                                       4. --slds-g-color-palette-cloud-blue-50
                                                                                                                                                                       5. --slds-g-color-palette-blue-70.
  93   4 (Low)        eslint:@salesforce-ux/slds/no-hardcoded-values-slds2            workspaceWithFlatConfigJs/dummy1.css:2:23                                        Consider replacing the #21A0DF static value with an SLDS 2 styling hook that has a similar value:
                                                                                                                                                                       1. --slds-g-color-palette-cloud-blue-60
                                                                                                                                                                       2. --slds-g-color-palette-cloud-blue-65
                                                                                                                                                                       3. --slds-g-color-palette-cloud-blue-70
                                                                                                                                                                       4. --slds-g-color-palette-cloud-blue-50
                                                                                                                                                                       5. --slds-g-color-palette-blue-70.
  94   4 (Low)        eslint:@salesforce-ux/slds/no-hardcoded-values-slds2            workspaceWithFlatConfigMjs/dummy1.css:2:23                                       Consider replacing the #21A0DF static value with an SLDS 2 styling hook that has a similar value:
                                                                                                                                                                       1. --slds-g-color-palette-cloud-blue-60
                                                                                                                                                                       2. --slds-g-color-palette-cloud-blue-65
                                                                                                                                                                       3. --slds-g-color-palette-cloud-blue-70
                                                                                                                                                                       4. --slds-g-color-palette-cloud-blue-50
                                                                                                                                                                       5. --slds-g-color-palette-blue-70.
  95   4 (Low)        eslint:@salesforce-ux/slds/no-hardcoded-values-slds2            workspaceWithFlatConfigWithNewRules/dummy1.scss:2:23                             Consider replacing the #21A0DF static value with an SLDS 2 styling hook that has a similar value:
                                                                                                                                                                       1. --slds-g-color-palette-cloud-blue-60
                                                                                                                                                                       2. --slds-g-color-palette-cloud-blue-65
                                                                                                                                                                       3. --slds-g-color-palette-cloud-blue-70
                                                                                                                                                                       4. --slds-g-color-palette-cloud-blue-50
                                                                                                                                                                       5. --slds-g-color-palette-blue-70.
  96   4 (Low)        eslint:@salesforce-ux/slds/no-hardcoded-values-slds2            workspaceWithLegacyIgnoreFile/dummy1.css:2:23                                    Consider replacing the #21A0DF static value with an SLDS 2 styling hook that has a similar value:
                                                                                                                                                                       1. --slds-g-color-palette-cloud-blue-60
                                                                                                                                                                       2. --slds-g-color-palette-cloud-blue-65
                                                                                                                                                                       3. --slds-g-color-palette-cloud-blue-70
                                                                                                                                                                       4. --slds-g-color-palette-cloud-blue-50
                                                                                                                                                                       5. --slds-g-color-palette-blue-70.



=== Summary

Found 96 violation(s) across 27 file(s):
    78 High severity violation(s) found.
    7 Moderate severity violation(s) found.
    11 Low severity violation(s) found.

Tested changes for external JavaScript files and React sample files:

1087   3 (Moderate)   eslint:sort-imports                                    react-components/App.jsx:1:27                                                 Member 'useEffect' of the import declaration should be sorted alphabetically.
 1088   3 (Moderate)   eslint:sort-imports                                    react-components/App.jsx:4:1                                                  Imports should be sorted alphabetically.
 1089   3 (Moderate)   eslint:func-style                                      react-components/App.jsx:9:1                                                  Expected a function expression.
 1090   3 (Moderate)   eslint:max-lines-per-function                          react-components/App.jsx:9:1                                                  Function 'App' has too many lines (92). Maximum allowed is 50.
 1091   3 (Moderate)   eslint:one-var                                         react-components/App.jsx:11:5                                                 Combine this with the previous 'const' statement.
 1092   3 (Moderate)   eslint:one-var                                         react-components/App.jsx:12:5                                                 Combine this with the previous 'const' statement.
 1093   3 (Moderate)   eslint:one-var                                         react-components/App.jsx:15:5                                                 Combine this with the previous 'const' statement.
 1094   3 (Moderate)   eslint:require-await                                   react-components/App.jsx:21:41                                                Async arrow function has no 'await' expression.
 1095   3 (Moderate)   eslint:sort-keys                                       react-components/App.jsx:29:25                                                Expected object keys to be in ascending order. 'address' should be before 'name'.
 1096   3 (Moderate)   eslint:sort-keys                                       react-components/App.jsx:31:25                                                Expected object keys to be in ascending order. 'bedrooms' should be before 'price'.
 1097   3 (Moderate)   eslint:sort-keys                                       react-components/App.jsx:32:25                                                Expected object keys to be in ascending order. 'bathrooms' should be before 'bedrooms'.
 1098   3 (Moderate)   eslint:sort-keys                                       react-components/App.jsx:34:25                                                Expected object keys to be in ascending order. 'imageUrl' should be before 'sqft'.
 1099   3 (Moderate)   eslint:sort-keys                                       react-components/App.jsx:39:25                                                Expected object keys to be in ascending order. 'address' should be before 'name'.
 1100   3 (Moderate)   eslint:sort-keys                                       react-components/App.jsx:41:25                                                Expected object keys to be in ascending order. 'bedrooms' should be before 'price'.
 1101   3 (Moderate)   eslint:sort-keys                                       react-components/App.jsx:42:25                                                Expected object keys to be in ascending order. 'bathrooms' should be before 'bedrooms'.
 1102   3 (Moderate)   eslint:sort-keys                                       react-components/App.jsx:44:25                                                Expected object keys to be in ascending order. 'imageUrl' should be before 'sqft'.
 1103   3 (Moderate)   eslint:no-console                                      react-components/App.jsx:49:17                                                Unexpected console statement.
 1104   3 (Moderate)   eslint:one-var                                         react-components/App.jsx:58:5                                                 Combine this with the previous 'const' statement.
 1105   3 (Moderate)   eslint:no-console                                      react-components/App.jsx:59:9                                                 Unexpected console statement.
 1106   3 (Moderate)   eslint:one-var                                         react-components/App.jsx:63:5                                                 Combine this with the previous 'const' statement.
 1107   3 (Moderate)   eslint:no-console                                      react-components/App.jsx:64:9                                                 Unexpected console statement.
 1108   3 (Moderate)   eslint:react/jsx-no-bind                               react-components/App.jsx:80:25                                                JSX props should not use arrow functions
 1109   3 (Moderate)   eslint:react/jsx-no-leaked-render                      react-components/App.jsx:83:22                                                Potential leaked value that might cause unintentionally rendered values or rendering crashes
 1110   3 (Moderate)   eslint:react/jsx-no-bind                               react-components/App.jsx:90:25                                                JSX props should not use arrow functions
 1111   3 (Moderate)   eslint:react/jsx-no-bind                               react-components/App.jsx:91:25                                                JSX props should not use arrow functions
 1112   3 (Moderate)   eslint:func-style                                      react-components/BrokerProfile.jsx:6:1                                        Expected a function expression.
 1113   3 (Moderate)   eslint:react/prop-types                                react-components/BrokerProfile.jsx:6:26                                       'broker' is missing in props validation
 1114   3 (Moderate)   eslint:react/prop-types                                react-components/BrokerProfile.jsx:7:13                                       'broker.name' is missing in props validation
 1115   3 (Moderate)   eslint:react/prop-types                                react-components/BrokerProfile.jsx:7:19                                       'broker.title' is missing in props validation
 1116   3 (Moderate)   eslint:react/prop-types                                react-components/BrokerProfile.jsx:7:26                                       'broker.email' is missing in props validation
 1117   3 (Moderate)   eslint:react/prop-types                                react-components/BrokerProfile.jsx:7:33                                       'broker.phone' is missing in props validation
 1118   3 (Moderate)   eslint:react/prop-types                                react-components/BrokerProfile.jsx:7:40                                       'broker.picture' is missing in props validation
 1119   3 (Moderate)   eslint:react/prop-types                                react-components/BrokerProfile.jsx:7:49                                       'broker.rating' is missing in props validation
 1120   3 (Moderate)   eslint:one-var                                         react-components/BrokerProfile.jsx:9:5                                        Combine this with the previous 'const' statement.
 1121   3 (Moderate)   eslint:no-shadow                                       react-components/BrokerProfile.jsx:9:26                                       'rating' is already declared in the upper scope on line 7 column 49.
 1122   3 (Moderate)   eslint:id-length                                       react-components/BrokerProfile.jsx:11:18                                      Identifier name 'i' is too short (< 2).
 1123   3 (Moderate)   eslint:no-magic-numbers                                react-components/BrokerProfile.jsx:11:30                                      No magic number: 5.
 1124   3 (Moderate)   eslint:no-plusplus                                     react-components/BrokerProfile.jsx:11:33                                      Unary operator '++' used.
 1125   3 (Moderate)   eslint:no-ternary                                      react-components/BrokerProfile.jsx:13:42                                      Ternary operator used.
 1126   3 (Moderate)   eslint:func-style                                      react-components/PropertyCard.jsx:6:1                                         Expected a function expression.
 1127   3 (Moderate)   eslint:react/prop-types                                react-components/PropertyCard.jsx:6:25                                        'property' is missing in props validation
 1128   3 (Moderate)   eslint:react/prop-types                                react-components/PropertyCard.jsx:6:35                                        'onFavorite' is missing in props validation
 1129   3 (Moderate)   eslint:react/prop-types                                react-components/PropertyCard.jsx:9:33                                        'property.id' is missing in props validation
 1130   3 (Moderate)   eslint:react/prop-types                                react-components/PropertyCard.jsx:16:31                                       'property.imageUrl' is missing in props validation
 1131   3 (Moderate)   eslint:react/prop-types                                react-components/PropertyCard.jsx:17:31                                       'property.name' is missing in props validation
 1132   3 (Moderate)   eslint:react/prop-types                                react-components/PropertyCard.jsx:21:31                                       'property.name' is missing in props validation
 1133   3 (Moderate)   eslint:react/prop-types                                react-components/PropertyCard.jsx:22:59                                       'property.address' is missing in props validation
 1134   3 (Moderate)   eslint:react/prop-types                                react-components/PropertyCard.jsx:23:58                                       'property.price' is missing in props validation
 1135   3 (Moderate)   eslint:react/prop-types                                react-components/PropertyCard.jsx:25:37                                       'property.bedrooms' is missing in props validation
 1136   3 (Moderate)   eslint:react/prop-types                                react-components/PropertyCard.jsx:26:37                                       'property.bathrooms' is missing in props validation
 1137   3 (Moderate)   eslint:react/prop-types                                react-components/PropertyCard.jsx:27:37                                       'property.sqft' is missing in props validation
 1138   3 (Moderate)   eslint:react/button-has-type                           react-components/PropertyCard.jsx:30:13                                       Missing an explicit type attribute for button
 1139   3 (Moderate)   eslint:react/jsx-no-bind                               react-components/PropertyCard.jsx:31:17                                       JSX props should not use arrow functions
 1140   3 (Moderate)   eslint:sort-imports                                    react-components/PropertyList.jsx:1:27                                        Member 'useEffect' of the import declaration should be sorted alphabetically.
 1141   3 (Moderate)   eslint:func-style                                      react-components/PropertyList.jsx:7:1                                         Expected a function expression.
 1142   3 (Moderate)   eslint:max-lines-per-function                          react-components/PropertyList.jsx:7:1                                         Function 'PropertyList' has too many lines (59). Maximum allowed is 50.
 1143   3 (Moderate)   eslint:react/prop-types                                react-components/PropertyList.jsx:7:25                                        'properties' is missing in props validation
 1144   3 (Moderate)   eslint:react/prop-types                                react-components/PropertyList.jsx:7:37                                        'onPropertySelect' is missing in props validation
 1145   3 (Moderate)   eslint:react/prop-types                                react-components/PropertyList.jsx:7:55                                        'onBrokerSelect' is missing in props validation
 1146   3 (Moderate)   eslint:one-var                                         react-components/PropertyList.jsx:9:5                                         Combine this with the previous 'const' statement.
 1147   3 (Moderate)   eslint:no-console                                      react-components/PropertyList.jsx:12:9                                        Unexpected console statement.
 1148   3 (Moderate)   eslint:react/prop-types                                react-components/PropertyList.jsx:12:61                                       'properties.length' is missing in props validation
 1149   3 (Moderate)   eslint:one-var                                         react-components/PropertyList.jsx:15:5                                        Combine this with the previous 'const' statement.
 1150   3 (Moderate)   eslint:one-var                                         react-components/PropertyList.jsx:23:5                                        Combine this with the previous 'const' statement.
 1151   3 (Moderate)   eslint:one-var                                         react-components/PropertyList.jsx:32:5                                        Combine this with the previous 'const' statement.
 1152   3 (Moderate)   eslint:react/prop-types                                react-components/PropertyList.jsx:32:43                                       'properties.filter' is missing in props validation
 1153   3 (Moderate)   eslint:react/jsx-no-bind                               react-components/PropertyList.jsx:44:21                                       JSX props should not use arrow functions
 1154   3 (Moderate)   eslint:id-length                                       react-components/PropertyList.jsx:44:32                                       Identifier name 'e' is too short (< 2).
 1155   3 (Moderate)   eslint:react/jsx-no-bind                               react-components/PropertyList.jsx:55:25                                       JSX props should not use arrow functions
 1156   3 (Moderate)   eslint:react/jsx-no-bind                               react-components/PropertyList.jsx:56:25                                       JSX props should not use arrow functions
 1157   3 (Moderate)   eslint:no-magic-numbers                                react-components/PropertyList.jsx:60:44                                       No magic number: 0.
 1158   3 (Moderate)   eslint:max-classes-per-file                            react-components/ReactViolationsDemo.jsx:1:1                                  File has too many classes (2). Maximum allowed is 1.
 1159   3 (Moderate)   eslint:sort-imports                                    react-components/ReactViolationsDemo.jsx:1:27                                 Member 'Component' of the import declaration should be sorted alphabetically.
 1160   3 (Moderate)   eslint:func-style                                      react-components/ReactViolationsDemo.jsx:8:1                                  Expected a function expression.
 1161   3 (Moderate)   eslint:react/prop-types                                react-components/ReactViolationsDemo.jsx:8:26                                 'label' is missing in props validation
 1162   3 (Moderate)   eslint:react/prop-types                                react-components/ReactViolationsDemo.jsx:8:33                                 'color' is missing in props validation
 1163   3 (Moderate)   eslint:react/prop-types                                react-components/ReactViolationsDemo.jsx:8:40                                 'count' is missing in props validation
 1164   3 (Moderate)   eslint:func-style                                      react-components/ReactViolationsDemo.jsx:17:1                                 Expected a function expression.
 1165   3 (Moderate)   eslint:react/prop-types                                react-components/ReactViolationsDemo.jsx:17:24                                'features' is missing in props validation
 1166   3 (Moderate)   eslint:react/prop-types                                react-components/ReactViolationsDemo.jsx:20:23                                'features.map' is missing in props validation
 1167   3 (Moderate)   eslint:react/no-array-index-key                        react-components/ReactViolationsDemo.jsx:21:26                                Do not use Array index in keys
 1168   3 (Moderate)   eslint:func-style                                      react-components/ReactViolationsDemo.jsx:28:1                                 Expected a function expression.
 1169   3 (Moderate)   eslint:react/prop-types                                react-components/ReactViolationsDemo.jsx:28:25                                'url' is missing in props validation
 1170   3 (Moderate)   eslint:react/prop-types                                react-components/ReactViolationsDemo.jsx:28:30                                'text' is missing in props validation
 1171   3 (Moderate)   eslint:func-style                                      react-components/ReactViolationsDemo.jsx:37:1                                 Expected a function expression.
 1172   3 (Moderate)   eslint:react/no-unescaped-entities                     react-components/ReactViolationsDemo.jsx:40:29                                `"` can be escaped with `&quot;`, `&ldquo;`, `&#34;`, `&rdquo;`.
 1173   3 (Moderate)   eslint:react/no-unescaped-entities                     react-components/ReactViolationsDemo.jsx:40:48                                `"` can be escaped with `&quot;`, `&ldquo;`, `&#34;`, `&rdquo;`.
 1174   3 (Moderate)   eslint:react/no-unescaped-entities                     react-components/ReactViolationsDemo.jsx:40:66                                `"` can be escaped with `&quot;`, `&ldquo;`, `&#34;`, `&rdquo;`.
 1175   3 (Moderate)   eslint:react/no-unescaped-entities                     react-components/ReactViolationsDemo.jsx:40:74                                `"` can be escaped with `&quot;`, `&ldquo;`, `&#34;`, `&rdquo;`.
 1176   3 (Moderate)   eslint:react/no-unescaped-entities                     react-components/ReactViolationsDemo.jsx:41:16                                `'` can be escaped with `&apos;`, `&lsquo;`, `&#39;`, `&rsquo;`.
 1177   3 (Moderate)   eslint:func-style                                      react-components/ReactViolationsDemo.jsx:47:1                                 Expected a function expression.
 1178   3 (Moderate)   eslint:react/prop-types                                react-components/ReactViolationsDemo.jsx:47:26                                'onSave' is missing in props validation
 1179   3 (Moderate)   eslint:react/prop-types                                react-components/ReactViolationsDemo.jsx:47:34                                'onCancel' is missing in props validation
 1180   3 (Moderate)   eslint:react/button-has-type                           react-components/ReactViolationsDemo.jsx:50:13                                Missing an explicit type attribute for button
 1181   3 (Moderate)   eslint:react/button-has-type                           react-components/ReactViolationsDemo.jsx:51:13                                Missing an explicit type attribute for button
 1182   3 (Moderate)   eslint:func-style                                      react-components/ReactViolationsDemo.jsx:57:1                                 Expected a function expression.
 1183   3 (Moderate)   eslint:react/prop-types                                react-components/ReactViolationsDemo.jsx:57:24                                'htmlString' is missing in props validation
 1184   3 (Moderate)   eslint:func-style                                      react-components/ReactViolationsDemo.jsx:64:1                                 Expected a function expression.
 1185   3 (Moderate)   eslint:react/prop-types                                react-components/ReactViolationsDemo.jsx:64:20                                'tags' is missing in props validation
 1186   3 (Moderate)   eslint:react/prop-types                                react-components/ReactViolationsDemo.jsx:67:19                                'tags.map' is missing in props validation
 1187   3 (Moderate)   eslint:react/jsx-key                                   react-components/ReactViolationsDemo.jsx:67:30                                Missing "key" prop for element in iterator
 1188   3 (Moderate)   eslint:react/require-optimization                      react-components/ReactViolationsDemo.jsx:73:1                                 Component is not optimized. Please add a shouldComponentUpdate method.
 1189   3 (Moderate)   eslint:operator-assignment                             react-components/ReactViolationsDemo.jsx:81:9                                 Assignment (=) can be replaced with operator assignment (+=).
 1190   3 (Moderate)   eslint:no-magic-numbers                                react-components/ReactViolationsDemo.jsx:81:47                                No magic number: 1.
 1191   3 (Moderate)   eslint:react/jsx-no-bind                               react-components/ReactViolationsDemo.jsx:89:39                                JSX props should not use arrow functions
 1192   3 (Moderate)   eslint:react/require-optimization                      react-components/ReactViolationsDemo.jsx:98:1                                 Component is not optimized. Please add a shouldComponentUpdate method.
 1193   3 (Moderate)   eslint:sort-keys                                       react-components/ReactViolationsDemo.jsx:103:13                               Expected object keys to be in ascending order. 'unusedValue' should be before 'usedValue'.
 1194   3 (Moderate)   eslint:func-style                                      react-components/ReactViolationsDemo.jsx:113:1                                Expected a function expression.
 1195   3 (Moderate)   eslint:func-style                                      react-components/ReactViolationsDemo.jsx:123:1                                Expected a function expression.
 1196   3 (Moderate)   eslint:react/prop-types                                react-components/ReactViolationsDemo.jsx:123:28                               'text' is missing in props validation
 1197   3 (Moderate)   eslint:func-style                                      react-components/ReactViolationsDemo.jsx:132:1                                Expected a function expression.
 1198   3 (Moderate)   eslint:react/no-unknown-property                       react-components/ReactViolationsDemo.jsx:134:14                               Unknown property 'class' found, use 'className' instead
 1199   3 (Moderate)   eslint:react/no-unknown-property                       react-components/ReactViolationsDemo.jsx:135:16                               Unknown property 'class' found, use 'className' instead
 1200   3 (Moderate)   eslint:func-style                                      react-components/ReactViolationsDemo.jsx:141:1                                Expected a function expression.
 1201   3 (Moderate)   eslint:react/void-dom-elements-no-children             react-components/ReactViolationsDemo.jsx:144:13                               Void DOM element <br /> cannot receive children.
 1202   3 (Moderate)   eslint:react/void-dom-elements-no-children             react-components/ReactViolationsDemo.jsx:145:13                               Void DOM element <hr /> cannot receive children.
 1203   3 (Moderate)   eslint:func-style                                      react-components/SearchBar.jsx:6:1                                            Expected a function expression.
 1204   3 (Moderate)   eslint:max-lines-per-function                          react-components/SearchBar.jsx:6:1                                            Function 'SearchBar' has too many lines (67). Maximum allowed is 50.
 1205   3 (Moderate)   eslint:react/prop-types                                react-components/SearchBar.jsx:6:22                                           'onSearch' is missing in props validation
 1206   3 (Moderate)   eslint:react/prop-types                                react-components/SearchBar.jsx:6:32                                           'placeholder' is missing in props validation
 1207   3 (Moderate)   eslint:one-var                                         react-components/SearchBar.jsx:8:5                                            Combine this with the previous 'const' statement.
 1208   3 (Moderate)   eslint:sort-keys                                       react-components/SearchBar.jsx:8:60                                           Expected object keys to be in ascending order. 'max' should be before 'min'.
 1209   3 (Moderate)   eslint:one-var                                         react-components/SearchBar.jsx:10:5                                           Combine this with the previous 'const' statement.
 1210   3 (Moderate)   eslint:id-length                                       react-components/SearchBar.jsx:10:27                                          Identifier name 'e' is too short (< 2).
 1211   3 (Moderate)   eslint:sort-keys                                       react-components/SearchBar.jsx:14:13                                          Expected object keys to be in ascending order. 'priceMin' should be before 'term'.
 1212   3 (Moderate)   eslint:sort-keys                                       react-components/SearchBar.jsx:15:13                                          Expected object keys to be in ascending order. 'priceMax' should be before 'priceMin'.
 1213   3 (Moderate)   eslint:one-var                                         react-components/SearchBar.jsx:19:5                                           Combine this with the previous 'const' statement.
 1214   3 (Moderate)   eslint:sort-keys                                       react-components/SearchBar.jsx:21:33                                          Expected object keys to be in ascending order. 'max' should be before 'min'.
 1215   3 (Moderate)   eslint:react/jsx-no-bind                               react-components/SearchBar.jsx:26:38                                          JSX props should not use arrow functions
 1216   3 (Moderate)   eslint:react/jsx-no-bind                               react-components/SearchBar.jsx:31:21                                          JSX props should not use arrow functions
 1217   3 (Moderate)   eslint:id-length                                       react-components/SearchBar.jsx:31:32                                          Identifier name 'e' is too short (< 2).
 1218   3 (Moderate)   eslint:react/jsx-no-bind                               react-components/SearchBar.jsx:42:25                                          JSX props should not use arrow functions
 1219   3 (Moderate)   eslint:id-length                                       react-components/SearchBar.jsx:42:36                                          Identifier name 'e' is too short (< 2).
 1220   3 (Moderate)   eslint:radix                                           react-components/SearchBar.jsx:44:34                                          Missing radix parameter.
 1221   3 (Moderate)   eslint:no-magic-numbers                                react-components/SearchBar.jsx:44:62                                          No magic number: 0.
 1222   3 (Moderate)   eslint:react/jsx-no-bind                               react-components/SearchBar.jsx:54:25                                          JSX props should not use arrow functions
 1223   3 (Moderate)   eslint:id-length                                       react-components/SearchBar.jsx:54:36                                          Identifier name 'e' is too short (< 2).
 1224   3 (Moderate)   eslint:radix                                           react-components/SearchBar.jsx:56:34                                          Missing radix parameter.
 1225   3 (Moderate)   eslint:no-magic-numbers                                react-components/SearchBar.jsx:56:62                                          No magic number: 0.
 1226   3 (Moderate)   eslint:react/jsx-no-bind                               react-components/SearchBar.jsx:66:39                                          JSX props should not use arrow functions
 1504   4 (Low)        eslint:react/jsx-one-expression-per-line               react-components/App.jsx:68:41                                                `Loading properties...` must be placed on a new line
 1505   4 (Low)        eslint:react/jsx-no-literals                           react-components/App.jsx:68:41                                                Missing JSX expression container around literal string: "Loading properties..."
 1506   4 (Low)        eslint:react/jsx-one-expression-per-line               react-components/App.jsx:74:21                                                `DreamHouse` must be placed on a new line
 1507   4 (Low)        eslint:react/jsx-no-literals                           react-components/App.jsx:74:21                                                Missing JSX expression container around literal string: "DreamHouse"
 1508   4 (Low)        eslint:react/jsx-newline                               react-components/App.jsx:75:17                                                JSX element should start in a new line
 1509   4 (Low)        eslint:react/jsx-one-expression-per-line               react-components/App.jsx:75:20                                                `Find Your Dream Home` must be placed on a new line
 1510   4 (Low)        eslint:react/jsx-no-literals                           react-components/App.jsx:75:20                                                Missing JSX expression container around literal string: "Find Your Dream Home"
 1511   4 (Low)        eslint:react/jsx-newline                               react-components/App.jsx:77:13                                                JSX element should start in a new line
 1512   4 (Low)        eslint:react/jsx-newline                               react-components/App.jsx:83:21                                                JSX element should start in a new line
 1513   4 (Low)        eslint:react/jsx-newline                               react-components/App.jsx:87:17                                                JSX element should start in a new line
 1514   4 (Low)        eslint:react/jsx-sort-props                            react-components/App.jsx:90:25                                                Props should be sorted alphabetically
 1515   4 (Low)        eslint:react/jsx-sort-props                            react-components/App.jsx:91:25                                                Props should be sorted alphabetically
 1516   4 (Low)        eslint:react/jsx-newline                               react-components/App.jsx:95:13                                                JSX element should start in a new line
 1517   4 (Low)        eslint:react/jsx-one-expression-per-line               react-components/App.jsx:96:20                                                `© 2026 DreamHouse Real Estate` must be placed on a new line
 1518   4 (Low)        eslint:react/jsx-no-literals                           react-components/App.jsx:96:20                                                Missing JSX expression container around literal string: "© 2026 DreamHouse Real Estate"
 1519   4 (Low)        eslint:react/jsx-max-props-per-line                    react-components/BrokerProfile.jsx:13:31                                      Prop `className` must be placed on a new line
 1520   4 (Low)        eslint:react/jsx-sort-props                            react-components/BrokerProfile.jsx:13:31                                      Props should be sorted alphabetically
 1521   4 (Low)        eslint:react/jsx-no-literals                           react-components/BrokerProfile.jsx:13:80                                      Missing JSX expression container around literal string: "★"
 1522   4 (Low)        eslint:react/jsx-sort-props                            react-components/BrokerProfile.jsx:26:21                                      Props should be sorted alphabetically
 1523   4 (Low)        eslint:react/jsx-sort-props                            react-components/BrokerProfile.jsx:27:21                                      Props should be sorted alphabetically
 1524   4 (Low)        eslint:react/jsx-newline                               react-components/BrokerProfile.jsx:29:17                                      JSX element should start in a new line
 1525   4 (Low)        eslint:react/jsx-one-expression-per-line               react-components/BrokerProfile.jsx:30:25                                      `{name}` must be placed on a new line
 1526   4 (Low)        eslint:react/jsx-newline                               react-components/BrokerProfile.jsx:31:21                                      JSX element should start in a new line
 1527   4 (Low)        eslint:react/jsx-one-expression-per-line               react-components/BrokerProfile.jsx:31:49                                      `{title}` must be placed on a new line
 1528   4 (Low)        eslint:react/jsx-newline                               react-components/BrokerProfile.jsx:32:21                                      JSX element should start in a new line
 1529   4 (Low)        eslint:react/jsx-newline                               react-components/BrokerProfile.jsx:37:13                                      JSX element should start in a new line
 1530   4 (Low)        eslint:react/jsx-max-props-per-line                    react-components/BrokerProfile.jsx:38:45                                      Prop `className` must be placed on a new line
 1531   4 (Low)        eslint:react/jsx-sort-props                            react-components/BrokerProfile.jsx:38:45                                      Props should be sorted alphabetically
 1532   4 (Low)        eslint:react/jsx-newline                               react-components/BrokerProfile.jsx:41:17                                      JSX element should start in a new line
 1533   4 (Low)        eslint:react/jsx-max-props-per-line                    react-components/BrokerProfile.jsx:41:42                                      Prop `className` must be placed on a new line
 1534   4 (Low)        eslint:react/jsx-sort-props                            react-components/BrokerProfile.jsx:41:42                                      Props should be sorted alphabetically
 1535   4 (Low)        eslint:react/jsx-sort-props                            react-components/PropertyCard.jsx:17:17                                       Props should be sorted alphabetically
 1536   4 (Low)        eslint:react/jsx-sort-props                            react-components/PropertyCard.jsx:18:17                                       Props should be sorted alphabetically
 1537   4 (Low)        eslint:react/jsx-newline                               react-components/PropertyCard.jsx:20:13                                       JSX element should start in a new line
 1538   4 (Low)        eslint:react/jsx-one-expression-per-line               react-components/PropertyCard.jsx:21:21                                       `{property.name}` must be placed on a new line
 1539   4 (Low)        eslint:react/jsx-newline                               react-components/PropertyCard.jsx:22:17                                       JSX element should start in a new line
 1540   4 (Low)        eslint:react/jsx-one-expression-per-line               react-components/PropertyCard.jsx:22:49                                       `{property.address}` must be placed on a new line
 1541   4 (Low)        eslint:react/jsx-newline                               react-components/PropertyCard.jsx:23:17                                       JSX element should start in a new line
 1542   4 (Low)        eslint:react/jsx-one-expression-per-line               react-components/PropertyCard.jsx:23:47                                       `$` must be placed on a new line
 1543   4 (Low)        eslint:react/jsx-no-literals                           react-components/PropertyCard.jsx:23:47                                       Missing JSX expression container around literal string: "$"
 1544   4 (Low)        eslint:react/jsx-one-expression-per-line               react-components/PropertyCard.jsx:23:48                                       `{property.price.toLocaleString()}` must be placed on a new line
 1545   4 (Low)        eslint:react/jsx-newline                               react-components/PropertyCard.jsx:24:17                                       JSX element should start in a new line
 1546   4 (Low)        eslint:react/jsx-one-expression-per-line               react-components/PropertyCard.jsx:25:27                                       `{property.bedrooms}` must be placed on a new line
 1547   4 (Low)        eslint:react/jsx-one-expression-per-line               react-components/PropertyCard.jsx:25:46                                       ` beds` must be placed on a new line
 1548   4 (Low)        eslint:react/jsx-no-literals                           react-components/PropertyCard.jsx:25:46                                       Missing JSX expression container around literal string: "beds"
 1549   4 (Low)        eslint:react/jsx-newline                               react-components/PropertyCard.jsx:26:21                                       JSX element should start in a new line
 1550   4 (Low)        eslint:react/jsx-one-expression-per-line               react-components/PropertyCard.jsx:26:27                                       `{property.bathrooms}` must be placed on a new line
 1551   4 (Low)        eslint:react/jsx-one-expression-per-line               react-components/PropertyCard.jsx:26:47                                       ` baths` must be placed on a new line
 1552   4 (Low)        eslint:react/jsx-no-literals                           react-components/PropertyCard.jsx:26:47                                       Missing JSX expression container around literal string: "baths"
 1553   4 (Low)        eslint:react/jsx-newline                               react-components/PropertyCard.jsx:27:21                                       JSX element should start in a new line
 1554   4 (Low)        eslint:react/jsx-one-expression-per-line               react-components/PropertyCard.jsx:27:27                                       `{property.sqft}` must be placed on a new line
 1555   4 (Low)        eslint:react/jsx-one-expression-per-line               react-components/PropertyCard.jsx:27:42                                       ` sqft` must be placed on a new line
 1556   4 (Low)        eslint:react/jsx-no-literals                           react-components/PropertyCard.jsx:27:42                                       Missing JSX expression container around literal string: "sqft"
 1557   4 (Low)        eslint:react/jsx-newline                               react-components/PropertyCard.jsx:30:13                                       JSX element should start in a new line
 1558   4 (Low)        eslint:react/jsx-sort-props                            react-components/PropertyCard.jsx:32:17                                       Props should be sorted alphabetically
 1559   4 (Low)        eslint:react/jsx-no-literals                           react-components/PropertyCard.jsx:33:14                                       Missing JSX expression container around literal string: "Add to Favorites"
 1560   4 (Low)        eslint:react/jsx-sort-props                            react-components/PropertyList.jsx:44:21                                       Props should be sorted alphabetically
 1561   4 (Low)        eslint:react/jsx-one-expression-per-line               react-components/PropertyList.jsx:46:41                                       `All Properties` must be placed on a new line
 1562   4 (Low)        eslint:react/jsx-no-literals                           react-components/PropertyList.jsx:46:41                                       Missing JSX expression container around literal string: "All Properties"
 1563   4 (Low)        eslint:react/jsx-newline                               react-components/PropertyList.jsx:47:21                                       JSX element should start in a new line
 1564   4 (Low)        eslint:react/jsx-one-expression-per-line               react-components/PropertyList.jsx:47:47                                       `Favorites Only` must be placed on a new line
 1565   4 (Low)        eslint:react/jsx-no-literals                           react-components/PropertyList.jsx:47:47                                       Missing JSX expression container around literal string: "Favorites Only"
 1566   4 (Low)        eslint:react/jsx-newline                               react-components/PropertyList.jsx:50:13                                       JSX element should start in a new line
 1567   4 (Low)        eslint:react/jsx-sort-props                            react-components/PropertyList.jsx:55:25                                       Props should be sorted alphabetically
 1568   4 (Low)        eslint:react/jsx-sort-props                            react-components/PropertyList.jsx:56:25                                       Props should be sorted alphabetically
 1569   4 (Low)        eslint:react/jsx-newline                               react-components/PropertyList.jsx:60:13                                       JSX element should start in a new line
 1570   4 (Low)        eslint:react/jsx-one-expression-per-line               react-components/PropertyList.jsx:61:46                                       `No properties found.` must be placed on a new line
 1571   4 (Low)        eslint:react/jsx-no-literals                           react-components/PropertyList.jsx:61:46                                       Missing JSX expression container around literal string: "No properties found."
 1572   4 (Low)        eslint:react/jsx-one-expression-per-line               react-components/ReactViolationsDemo.jsx:11:20                                `: ` must be placed on a new line
 1573   4 (Low)        eslint:react/jsx-no-literals                           react-components/ReactViolationsDemo.jsx:11:20                                Missing JSX expression container around literal string: ":"
 1574   4 (Low)        eslint:react/jsx-one-expression-per-line               react-components/ReactViolationsDemo.jsx:11:22                                `{count}` must be placed on a new line
 1575   4 (Low)        eslint:react/jsx-newline                               react-components/ReactViolationsDemo.jsx:11:22                                JSX element should start in a new line
 1576   4 (Low)        eslint:react/no-multi-comp                             react-components/ReactViolationsDemo.jsx:17:1                                 Declare only one React component per file
 1577   4 (Low)        eslint:react/jsx-one-expression-per-line               react-components/ReactViolationsDemo.jsx:21:33                                `{feature}` must be placed on a new line
 1578   4 (Low)        eslint:react/no-multi-comp                             react-components/ReactViolationsDemo.jsx:28:1                                 Declare only one React component per file
 1579   4 (Low)        eslint:react/jsx-max-props-per-line                    react-components/ReactViolationsDemo.jsx:30:23                                Prop `target` must be placed on a new line
 1580   4 (Low)        eslint:react/no-multi-comp                             react-components/ReactViolationsDemo.jsx:37:1                                 Declare only one React component per file
 1581   4 (Low)        eslint:react/jsx-no-literals                           react-components/ReactViolationsDemo.jsx:39:12                                Missing JSX expression container around literal string: "Please read the "Terms & Conditions" before clicking "I Agree".
                                                                                                                                                            Don't forget to check the box!"
 1582   4 (Low)        eslint:react/no-multi-comp                             react-components/ReactViolationsDemo.jsx:47:1                                 Declare only one React component per file
 1583   4 (Low)        eslint:react/jsx-one-expression-per-line               react-components/ReactViolationsDemo.jsx:50:38                                `Save` must be placed on a new line
 1584   4 (Low)        eslint:react/jsx-no-literals                           react-components/ReactViolationsDemo.jsx:50:38                                Missing JSX expression container around literal string: "Save"
 1585   4 (Low)        eslint:react/jsx-newline                               react-components/ReactViolationsDemo.jsx:51:13                                JSX element should start in a new line
 1586   4 (Low)        eslint:react/jsx-one-expression-per-line               react-components/ReactViolationsDemo.jsx:51:40                                `Cancel` must be placed on a new line
 1587   4 (Low)        eslint:react/jsx-no-literals                           react-components/ReactViolationsDemo.jsx:51:40                                Missing JSX expression container around literal string: "Cancel"
 1588   4 (Low)        eslint:react/no-multi-comp                             react-components/ReactViolationsDemo.jsx:57:1                                 Declare only one React component per file
 1589   4 (Low)        eslint:react/no-multi-comp                             react-components/ReactViolationsDemo.jsx:64:1                                 Declare only one React component per file
 1590   4 (Low)        eslint:react/jsx-one-expression-per-line               react-components/ReactViolationsDemo.jsx:67:52                                `{tag}` must be placed on a new line
 1591   4 (Low)        eslint:react/no-multi-comp                             react-components/ReactViolationsDemo.jsx:73:1                                 Declare only one React component per file
 1592   4 (Low)        eslint:react/destructuring-assignment                  react-components/ReactViolationsDemo.jsx:81:28                                Must use destructuring state assignment
 1593   4 (Low)        eslint:react/jsx-one-expression-per-line               react-components/ReactViolationsDemo.jsx:88:20                                `Count: ` must be placed on a new line
 1594   4 (Low)        eslint:react/jsx-no-literals                           react-components/ReactViolationsDemo.jsx:88:20                                Missing JSX expression container around literal string: "Count:"
 1595   4 (Low)        eslint:react/jsx-one-expression-per-line               react-components/ReactViolationsDemo.jsx:88:27                                `{this.state.count}` must be placed on a new line
 1596   4 (Low)        eslint:react/destructuring-assignment                  react-components/ReactViolationsDemo.jsx:88:28                                Must use destructuring state assignment
 1597   4 (Low)        eslint:react/jsx-newline                               react-components/ReactViolationsDemo.jsx:89:17                                JSX element should start in a new line
 1598   4 (Low)        eslint:react/jsx-max-props-per-line                    react-components/ReactViolationsDemo.jsx:89:39                                Prop `onClick` must be placed on a new line
 1599   4 (Low)        eslint:react/jsx-sort-props                            react-components/ReactViolationsDemo.jsx:89:39                                Props should be sorted alphabetically
 1600   4 (Low)        eslint:react/jsx-no-literals                           react-components/ReactViolationsDemo.jsx:89:72                                Missing JSX expression container around literal string: "Increment"
 1601   4 (Low)        eslint:react/no-multi-comp                             react-components/ReactViolationsDemo.jsx:98:1                                 Declare only one React component per file
 1602   4 (Low)        eslint:react/no-unused-state                           react-components/ReactViolationsDemo.jsx:103:13                               Unused state field: 'unusedValue'
 1603   4 (Low)        eslint:react/jsx-one-expression-per-line               react-components/ReactViolationsDemo.jsx:108:21                               `{this.state.usedValue}` must be placed on a new line
 1604   4 (Low)        eslint:react/destructuring-assignment                  react-components/ReactViolationsDemo.jsx:108:22                               Must use destructuring state assignment
 1605   4 (Low)        eslint:react/no-multi-comp                             react-components/ReactViolationsDemo.jsx:113:1                                Declare only one React component per file
 1606   4 (Low)        eslint:react/self-closing-comp                         react-components/ReactViolationsDemo.jsx:116:13                               Empty components are self-closing
 1607   4 (Low)        eslint:react/self-closing-comp                         react-components/ReactViolationsDemo.jsx:117:13                               Empty components are self-closing
 1608   4 (Low)        eslint:react/jsx-newline                               react-components/ReactViolationsDemo.jsx:117:13                               JSX element should start in a new line
 1609   4 (Low)        eslint:react/no-multi-comp                             react-components/ReactViolationsDemo.jsx:123:1                                Declare only one React component per file
 1610   4 (Low)        eslint:react/jsx-no-useless-fragment                   react-components/ReactViolationsDemo.jsx:125:9                                Fragments should contain more than one child - otherwise, there’s no need for a Fragment at all.
 1611   4 (Low)        eslint:react/no-multi-comp                             react-components/ReactViolationsDemo.jsx:132:1                                Declare only one React component per file
 1612   4 (Low)        eslint:react/jsx-one-expression-per-line               react-components/ReactViolationsDemo.jsx:135:29                               `Using wrong property name` must be placed on a new line
 1613   4 (Low)        eslint:react/jsx-no-literals                           react-components/ReactViolationsDemo.jsx:135:29                               Missing JSX expression container around literal string: "Using wrong property name"
 1614   4 (Low)        eslint:react/no-multi-comp                             react-components/ReactViolationsDemo.jsx:141:1                                Declare only one React component per file
 1615   4 (Low)        eslint:react/jsx-one-expression-per-line               react-components/ReactViolationsDemo.jsx:144:17                               `This should not have children` must be placed on a new line
 1616   4 (Low)        eslint:react/jsx-no-literals                           react-components/ReactViolationsDemo.jsx:144:17                               Missing JSX expression container around literal string: "This should not have children"
 1617   4 (Low)        eslint:react/jsx-newline                               react-components/ReactViolationsDemo.jsx:145:13                               JSX element should start in a new line
 1618   4 (Low)        eslint:react/jsx-one-expression-per-line               react-components/ReactViolationsDemo.jsx:145:17                               `Also no children here` must be placed on a new line
 1619   4 (Low)        eslint:react/jsx-no-literals                           react-components/ReactViolationsDemo.jsx:145:17                               Missing JSX expression container around literal string: "Also no children here"
 1620   4 (Low)        eslint:react/jsx-max-props-per-line                    react-components/SearchBar.jsx:26:38                                          Prop `onSubmit` must be placed on a new line
 1621   4 (Low)        eslint:react/jsx-sort-props                            react-components/SearchBar.jsx:31:21                                          Props should be sorted alphabetically
 1622   4 (Low)        eslint:react/jsx-sort-props                            react-components/SearchBar.jsx:32:21                                          Props should be sorted alphabetically
 1623   4 (Low)        eslint:react/jsx-sort-props                            react-components/SearchBar.jsx:33:21                                          Props should be sorted alphabetically
 1624   4 (Low)        eslint:react/jsx-newline                               react-components/SearchBar.jsx:36:13                                          JSX element should start in a new line
 1625   4 (Low)        eslint:react/jsx-no-literals                           react-components/SearchBar.jsx:37:24                                          Missing JSX expression container around literal string: "Min Price:"
 1626   4 (Low)        eslint:react/jsx-child-element-spacing                 react-components/SearchBar.jsx:39:21                                          Ambiguous spacing before next element input
 1627   4 (Low)        eslint:react/jsx-sort-props                            react-components/SearchBar.jsx:42:25                                          Props should be sorted alphabetically
 1628   4 (Low)        eslint:react/jsx-sort-props                            react-components/SearchBar.jsx:46:25                                          Props should be sorted alphabetically
 1629   4 (Low)        eslint:react/jsx-newline                               react-components/SearchBar.jsx:49:17                                          JSX element should start in a new line
 1630   4 (Low)        eslint:react/jsx-no-literals                           react-components/SearchBar.jsx:49:24                                          Missing JSX expression container around literal string: "Max Price:"
 1631   4 (Low)        eslint:react/jsx-child-element-spacing                 react-components/SearchBar.jsx:51:21                                          Ambiguous spacing before next element input
 1632   4 (Low)        eslint:react/jsx-sort-props                            react-components/SearchBar.jsx:54:25                                          Props should be sorted alphabetically
 1633   4 (Low)        eslint:react/jsx-sort-props                            react-components/SearchBar.jsx:58:25                                          Props should be sorted alphabetically
 1634   4 (Low)        eslint:react/jsx-newline                               react-components/SearchBar.jsx:62:13                                          JSX element should start in a new line
 1635   4 (Low)        eslint:react/jsx-max-props-per-line                    react-components/SearchBar.jsx:63:39                                          Prop `className` must be placed on a new line
 1636   4 (Low)        eslint:react/jsx-sort-props                            react-components/SearchBar.jsx:63:39                                          Props should be sorted alphabetically
 1637   4 (Low)        eslint:react/jsx-no-literals                           react-components/SearchBar.jsx:63:65                                          Missing JSX expression container around literal string: "Search"
 1638   4 (Low)        eslint:react/jsx-newline                               react-components/SearchBar.jsx:66:17                                          JSX element should start in a new line
 1639   4 (Low)        eslint:react/jsx-max-props-per-line                    react-components/SearchBar.jsx:66:39                                          Prop `onClick` must be placed on a new line
 1640   4 (Low)        eslint:react/jsx-sort-props                            react-components/SearchBar.jsx:66:39                                          Props should be sorted alphabetically
 1641   4 (Low)        eslint:react/jsx-sort-props                            react-components/SearchBar.jsx:66:61                                          Props should be sorted alphabetically
 1642   4 (Low)        eslint:react/jsx-no-literals                           react-components/SearchBar.jsx:66:86                                          Missing JSX expression container around literal string: "Reset"

@namrata111f namrata111f changed the title NEW @W-20502236@ Adding changes to support react in .jsx files for single react plugin [Inital PR to review the LLD] NEW @W-20597715@ Adding changes to support react in .jsx files for single react plugin [Inital PR to review the LLD] Dec 29, 2025
Comment on lines 146 to 147
// Note: disable_react_base_config is intentionally excluded - React support is gated
// TODO: Add 'disable_react_base_config' when React support is released
Copy link
Contributor

Choose a reason for hiding this comment

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

How can you actually test this then?

Shouldn't you then use the
addKeysThatBypassValidation
method then so that this key (when attempting to use it internally) doesn't throw an error by this check? See https://github.com/forcedotcom/code-analyzer-core/blob/dev/packages/code-analyzer-core/src/config.ts#L145C25-L145C52 for example.

Copy link
Contributor Author

@namrata111f namrata111f Dec 30, 2025

Choose a reason for hiding this comment

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

Thanks for pointing this out I was adding the code to read it from config extractor when testing it. This simplifies the changes needed for testing.

Comment on lines 68 to 77
// Deep clone the languageOptions to avoid mutating the original shared config from the LWC package
const originalParserOptions = configs[0].languageOptions!.parserOptions as Linter.ParserOptions;
const clonedBabelOptions = JSON.parse(JSON.stringify(originalParserOptions.babelOptions));
configs[0].languageOptions = {
...configs[0].languageOptions,
parserOptions: {
...originalParserOptions,
babelOptions: clonedBabelOptions
}
};
Copy link
Contributor

Choose a reason for hiding this comment

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

You shouldn't be needing to do any cloning. Simply reconstruct and override using the {...someObj, someField: { ...someObj.someField, someSubField: xyz }} trick!

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Ack, using spread operator makes the code more concise have added it instead of deep cloning.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants