department-of-veterans-affairs/vets-website

View on GitHub

Showing 12,759 of 12,759 total issues

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

      <VaDate
        label="Please tell us a date"
        data-testid="events-start-date-specific"
        id="startDate"
        name="startDate"
src/applications/static-pages/events/components/Search/CustomDateFields.jsx on lines 29..37

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 60.

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

        triageTeams: action.response.data.map(triageTeam => {
          return {
            id: triageTeam.attributes.triageTeamId,
            name: triageTeam.attributes.name,
            relationType: triageTeam.attributes.relationType,
src/applications/ask-va/components/search/SearchControls.jsx on lines 149..156

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 60.

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

        vaRegOnlyConfirmation: {
          path: 'va-benefits/service-connected-care',
          title: 'Care for service-connected conditions',
          initialData: {},
          depends: showRegOnlyGuestConfirmation,
Severity: Major
Found in src/applications/hca/config/form.js and 1 other location - About 1 hr to fix
src/applications/hca/config/form.js on lines 309..318

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 60.

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

    preferredTimesForPhoneCall: Object.entries(data.bestTimeToCall || {})
      .filter(item => item[1])
      .map(item => titleCase(item[0])),
src/applications/vaos/new-appointment/redux/helpers/formSubmitTransformers.v2.js on lines 137..139

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 60.

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 userNavReducer has 31 lines of code (exceeds 25 allowed). Consider refactoring.
Open

export default function userNavReducer(state = initialState, action) {
  switch (action.type) {
    case TOGGLE_FORM_SIGN_IN_MODAL:
      return set('showFormSignInModal', action.isOpen, state);

Severity: Minor
Found in src/platform/site-wide/user-nav/reducers/index.js - About 1 hr to fix

    Function formatMenuItems has 31 lines of code (exceeds 25 allowed). Consider refactoring.
    Open

    export const formatMenuItems = menuItems => {
      const formattedMenuItems = [];
    
      if (menuItems && isArray(menuItems)) {
        return menuItems;
    Severity: Minor
    Found in src/platform/site-wide/header/helpers/index.js - About 1 hr to fix

      Function textareaUI has 31 lines of code (exceeds 25 allowed). Consider refactoring.
      Open

      export const textareaUI = stringOrOptions => {
        if (typeof stringOrOptions === 'string') {
          return {
            'ui:title': stringOrOptions,
            'ui:webComponentField': VaTextareaField,

        Function formsPatternFieldMapping has 31 lines of code (exceeds 25 allowed). Consider refactoring.
        Open

        export default function formsPatternFieldMapping(props) {
          const { uiOptions = {} } = props;
          const {
            useFormsPattern,
            formHeading,

          Function textUI has 31 lines of code (exceeds 25 allowed). Consider refactoring.
          Open

          export const textUI = stringOrOptions => {
            if (typeof stringOrOptions === 'string') {
              return {
                'ui:title': stringOrOptions,
                'ui:webComponentField': VaTextInputField,

            Function querySelectorWithShadowRoot has 31 lines of code (exceeds 25 allowed). Consider refactoring.
            Open

            export async function querySelectorWithShadowRoot(selector, root) {
              try {
                let selectorElement;
                const rootElement =
                  typeof root === 'string'
            Severity: Minor
            Found in src/platform/utilities/ui/webComponents.js - About 1 hr to fix

              Function ArnField has 31 lines of code (exceeds 25 allowed). Consider refactoring.
              Open

              export default function ArnField(fieldProps) {
                const props = vaTextInputFieldMapping(fieldProps);
              
                const [val, setVal] = useState(props.value);
                const [displayVal, setDisplayVal] = useState(props.value);
              Severity: Minor
              Found in src/platform/forms-system/src/js/web-component-fields/ArnField.jsx - About 1 hr to fix

                Function profileInformation has 31 lines of code (exceeds 25 allowed). Consider refactoring.
                Open

                function profileInformation(state = initialState, action) {
                  switch (action.type) {
                    case UPDATE_PROFILE_FIELDS: {
                      const newState = mapRawUserDataToState(action.payload);
                      return { ...state, ...newState };
                Severity: Minor
                Found in src/platform/user/profile/reducers/index.js - About 1 hr to fix

                  Function mainTransform has 31 lines of code (exceeds 25 allowed). Consider refactoring.
                  Open

                    const mainTransform = formData => {
                      const informalConference = formData.informalConference !== 'no';
                      const attributes = {
                        // This value may empty if the user restarts the form; see
                        // va.gov-team/issues/13814
                  Severity: Minor
                  Found in src/applications/appeals/testing/hlr/config/submit-transformer.js - About 1 hr to fix

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

                      render() {
                        captureEvents.ineligibilityAlert(this.props);
                        return (
                          <div>
                            {this.renderHeader()}

                      Function FinancialStatusConfirmation has 31 lines of code (exceeds 25 allowed). Consider refactoring.
                      Open

                      const FinancialStatusConfirmation = props => {
                        const {
                          goBack,
                          goForward,
                          contentBeforeButtons,

                        Function fetchTotalDisabilityRating has 31 lines of code (exceeds 25 allowed). Consider refactoring.
                        Open

                        export function fetchTotalDisabilityRating() {
                          return dispatch => {
                            const {
                              FETCH_DISABILITY_RATING_STARTED,
                              FETCH_DISABILITY_RATING_FAILED,
                        Severity: Minor
                        Found in src/applications/ezr/utils/actions/disability-rating.js - About 1 hr to fix

                          Function updateAddress has 31 lines of code (exceeds 25 allowed). Consider refactoring.
                          Open

                          const updateAddress = (state = initialState, action) => {
                            switch (action.type) {
                              case UPDATE_ADDRESS:
                                return {
                                  ...state,
                          Severity: Minor
                          Found in src/applications/verify-your-enrollment/reducers/updateAddress.js - About 1 hr to fix

                            Function compareAddressObjects has 31 lines of code (exceeds 25 allowed). Consider refactoring.
                            Open

                            export function compareAddressObjects(obj1, obj2) {
                              const { hasOwnProperty } = Object.prototype;
                            
                              const keys1 = Object.keys(obj1);
                              const keys2 = Object.keys(obj2);
                            Severity: Minor
                            Found in src/applications/verify-your-enrollment/helpers.jsx - About 1 hr to fix

                              Function MailOrFaxFilesContent has 31 lines of code (exceeds 25 allowed). Consider refactoring.
                              Open

                              const MailOrFaxFilesContent = () => {
                                return (
                                  <>
                                    <p>
                                      We can process your request more quickly if you upload your files here.

                                Function errorAddressAlert has 31 lines of code (exceeds 25 allowed). Consider refactoring.
                                Open

                                export const errorAddressAlert = deliveryPointValidation => {
                                  if (deliveryPointValidation === BAD_UNIT_NUMBER) {
                                    return (
                                      <Alert
                                        status="warning"
                                Severity: Minor
                                Found in src/applications/verify-your-enrollment/constants/index.js - About 1 hr to fix
                                  Severity
                                  Category
                                  Status
                                  Source
                                  Language