department-of-veterans-affairs/vets-website

View on GitHub

Showing 12,848 of 12,848 total issues

Similar blocks of code found in 2 locations. Consider refactoring.
Open

const mapStateToProps = state => ({
  selectedVeteran: state.form?.data[formFields.selectedVeteran],
  formData: state.form?.data || {},
  veterans: state.form?.data?.veterans,
});
Severity: Major
Found in src/applications/fry-dea/components/VeteransRadioGroup.jsx and 1 other location - About 1 hr to fix
src/applications/fry-dea/components/FryDeaEligibilityCards.jsx on lines 131..135

Duplicated Code

Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

Tuning

This issue has a mass of 68.

We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

Refactorings

Further Reading

Similar blocks of code found in 2 locations. Consider refactoring.
Open

        witnessPersInfoPageA: {
          // for Flow 2: 3rd-party claim, vet claimant
          path: 'witness-personal-information-a',
          title: 'Name and relationship',
          depends: {
Severity: Major
Found in src/applications/simple-forms/21-10210/config/form.js and 1 other location - About 1 hr to fix
src/applications/simple-forms/21-10210/config/form.js on lines 162..173

Duplicated Code

Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

Tuning

This issue has a mass of 68.

We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

Refactorings

Further Reading

Function PersonalizationDropdown has 41 lines of code (exceeds 25 allowed). Consider refactoring.
Open

export function PersonalizationDropdown(props) {
  const { isSSOe, csp } = props;

  const createSignout = useCallback(
    () => (

    Function render has 41 lines of code (exceeds 25 allowed). Consider refactoring.
    Open

      render() {
        const { makeForm } = this;
        const { cssClass, clickHandler, isOpen } = this.props;
    
        const buttonClasses = classNames(
    Severity: Minor
    Found in src/platform/site-wide/user-nav/components/SearchMenu.jsx - About 1 hr to fix

      Function YesNoField has 41 lines of code (exceeds 25 allowed). Consider refactoring.
      Open

      export default function YesNoField(props) {
        const mappedProps = vaRadioFieldMapping(props);
      
        const labels = props.uiOptions?.labels || {};
      
      

        Function useVaDateCommon has 41 lines of code (exceeds 25 allowed). Consider refactoring.
        Open

        export function useVaDateCommon(props) {
          const mappedProps = vaDateCommonFieldMapping(props);
          const [values, setValues] = useState(parseISODate(mappedProps.value));
          const monthYearOnly = props?.uiOptions?.monthYearOnly;
        
        

          Function mapStateToProps has 41 lines of code (exceeds 25 allowed). Consider refactoring.
          Open

          export function mapStateToProps(state, ownProps) {
            // from ownprops
            const { formConfig, formContext, pageList } = ownProps;
          
            // from redux state
          Severity: Minor
          Found in src/platform/forms-system/src/js/review/ReviewChapters.jsx - About 1 hr to fix

            Function VAProfileInitError has 41 lines of code (exceeds 25 allowed). Consider refactoring.
            Open

            export function VAProfileInitError(props) {
              return (
                <VaAlert {...props} uswds>
                  <h3 slot="headline">We can’t load some of your information</h3>
                  <div>

              Function LoginGovSVG has 41 lines of code (exceeds 25 allowed). Consider refactoring.
              Open

              export default function LoginGovSVG() {
                return (
                  <svg
                    role="img"
                    viewBox="0 0 114 15"
              Severity: Minor
              Found in src/platform/user/authentication/components/LoginGovSVG.jsx - About 1 hr to fix

                Function data has 41 lines of code (exceeds 25 allowed). Consider refactoring.
                Open

                  data: (state = initialState, action) => {
                    switch (action.type) {
                      case FETCH_VETERANS_SUCCESS:
                        return {
                          ...state,
                Severity: Minor
                Found in src/applications/fry-dea/reducers.js - About 1 hr to fix

                  Function renderSpecialtyTimes has 41 lines of code (exceeds 25 allowed). Consider refactoring.
                  Open

                      const renderSpecialtyTimes = (existing = false) => {
                        if (Array.isArray(healthAccessAttrs)) {
                          // V1
                          const healthAccessSpecialty = healthAccessAttrs.filter(
                            acc => acc.service !== 'PrimaryCare',
                  Severity: Minor
                  Found in src/applications/facility-locator/components/AppointmentInfo.jsx - About 1 hr to fix

                    Function BurialInformation has 41 lines of code (exceeds 25 allowed). Consider refactoring.
                    Open

                    export default function BurialInformation(props) {
                      const { values, setFieldValue } = useFormikContext();
                    
                      useEffect(
                        () => {
                    Severity: Minor
                    Found in src/applications/burial-poc-v6/pages/BurialInformation.jsx - About 1 hr to fix

                      Function NeedHelp has 41 lines of code (exceeds 25 allowed). Consider refactoring.
                      Open

                      export default function NeedHelp() {
                        const isIntro = window.location.pathname.endsWith('/introduction');
                        return isIntro ? (
                          <>
                            <p>
                      Severity: Minor
                      Found in src/applications/appeals/shared/content/NeedHelp.jsx - About 1 hr to fix

                        Function answerReview has 41 lines of code (exceeds 25 allowed). Consider refactoring.
                        Open

                        export const answerReview = (key, formValues) => {
                          const ans = formValues[key];
                          const dischargeYearLabel = prevApplicationYearCutoff[formValues['4_reason']];
                          const monthObj = options.months.find(
                            m => String(m.value) === formValues['3_dischargeMonth'],
                        Severity: Minor
                        Found in src/applications/discharge-wizard/helpers/index.jsx - About 1 hr to fix

                          Function fetchFormsThunk has 41 lines of code (exceeds 25 allowed). Consider refactoring.
                          Open

                          export const fetchFormsThunk = (query, options = {}) => async dispatch => {
                            // Derive options properties.
                            const location = options?.location || window.location;
                            const history = options?.history || window.history;
                            const mockRequest = options?.mockRequest || false;
                          Severity: Minor
                          Found in src/applications/find-forms/actions/index.js - About 1 hr to fix

                            Function HandlePrefilledSSN has 41 lines of code (exceeds 25 allowed). Consider refactoring.
                            Open

                            export default function HandlePrefilledSSN(fieldProps) {
                              const props = vaTextInputFieldMapping(fieldProps);
                              const [val, setVal] = useState(props.value);
                              const [displayVal, setDisplayVal] = useState(props.value);
                              const [cleared, setCleared] = useState(false);
                            Severity: Minor
                            Found in src/applications/ivc-champva/shared/components/maskSSN.jsx - About 1 hr to fix

                              Function UploadDocuments has 41 lines of code (exceeds 25 allowed). Consider refactoring.
                              Open

                              export const UploadDocuments = () => {
                                return (
                                  <>
                                    <div>
                                      <p>

                                Function addressDescription has 41 lines of code (exceeds 25 allowed). Consider refactoring.
                                Open

                                  const addressDescription = () => {
                                    return (
                                      <>
                                        {loading ? (
                                          <va-loading-indicator

                                  Function applicantInsuranceThroughEmployerSchema has 41 lines of code (exceeds 25 allowed). Consider refactoring.
                                  Open

                                  export function applicantInsuranceThroughEmployerSchema(isPrimary) {
                                    const keyname = isPrimary
                                      ? 'applicantPrimaryThroughEmployer'
                                      : 'applicantSecondaryThroughEmployer';
                                    const provider = isPrimary

                                    Function PersonalInformationPage has 41 lines of code (exceeds 25 allowed). Consider refactoring.
                                    Open

                                    const PersonalInformationPage = props => {
                                      const { location, route, router } = props;
                                      const { pathname } = location;
                                      const { pageList } = route;
                                      const { data: formData } = useSelector(state => state.form);
                                    Severity: Minor
                                    Found in src/applications/hca/containers/PersonalInformationPage.jsx - About 1 hr to fix
                                      Severity
                                      Category
                                      Status
                                      Source
                                      Language