Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
4466b22
Add react plugins, but turn off all the new rules so lint passes
charleyf Dec 4, 2023
0b30798
Show exhaustive-deps error for one file
charleyf Dec 4, 2023
eb7e4e2
Fix hook linting error
charleyf Dec 4, 2023
67367c4
Merge branch 'main' into charley/lg-11654-enable-lint-rule-for-hooks
charleyf Dec 5, 2023
e7a45fa
Hoist state for more functions
charleyf Dec 5, 2023
6354621
Merge branch 'main' into charley/lg-11654-enable-lint-rule-for-hooks
charleyf Dec 7, 2023
d9cb139
Resolve lint problems
charleyf Dec 7, 2023
9a33ad6
Lint acuant-camera.tsx for react rules
charleyf Dec 7, 2023
b8c7cf5
Don't pass translation function down
charleyf Dec 7, 2023
148bbe6
Turn lint off for all files on a per package level
charleyf Dec 8, 2023
bd84376
Enable new lint rules for only acuant-camera.tsx
charleyf Dec 8, 2023
f1e0cdc
Merge branch 'main' into charley/lg-11654-enable-lint-rule-for-hooks
charleyf Dec 13, 2023
881c4d8
Fail on informative test problem
charleyf Dec 13, 2023
4634240
Cause infinite update loop, but move closer to a good state
charleyf Dec 14, 2023
12a2ac4
Revert hooks changes in favor of easier start to linting changes
charleyf Dec 14, 2023
9c6491f
Lint some easier files first (rather than document-capture)
charleyf Dec 14, 2023
a29b150
changelog: Internal, In-Person Proofing, Change React linting to allo…
charleyf Dec 14, 2023
8508117
Move override into top level rules
charleyf Dec 14, 2023
8625bff
Remove commented out files
charleyf Dec 14, 2023
ef7098b
Void disabling rthe JSX rule by using the new plugin
charleyf Dec 14, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
79 changes: 76 additions & 3 deletions .eslintrc
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
{
"extends": "plugin:@18f/eslint-plugin-identity/recommended",
"extends": [
"plugin:@18f/eslint-plugin-identity/recommended",
// These two react lint plugins are mostly off, see overrides below
"plugin:react/recommended",
"plugin:react-hooks/recommended",
"plugin:react/jsx-runtime"
],
"plugins": ["@18f/eslint-plugin-identity"],
"env": {
"browser": true,
Expand Down Expand Up @@ -40,6 +46,73 @@
}
]
}
}
},
{
Comment thread
charleyf marked this conversation as resolved.
// Turn off react linting rules for most packages/files
"files": [
"spec/**",
"app/javascript/packs/**",
"app/javascript/packages/address-search/**",
"app/javascript/packages/components/**",
"app/javascript/packages/compose-components/**",
"app/javascript/packages/form-steps/**",
"app/javascript/packages/react-hooks/**",
"app/javascript/packages/react-i18n/**",
"app/javascript/packages/spinner-button/**",
"app/javascript/packages/step-indicator/**",
"app/javascript/packages/validated-field/**",
"app/javascript/packages/verify-flow/**",
// In progress: enabling these rules for all files in packages/document-capture
"app/javascript/packages/document-capture/context/**",
"app/javascript/packages/document-capture/higher-order/**",
"app/javascript/packages/document-capture/hooks/**",
Comment thread
aduth marked this conversation as resolved.
// Comment out a file to enable react lint rules for that file only
"app/javascript/packages/document-capture/components/acuant-camera.tsx",
"app/javascript/packages/document-capture/components/acuant-capture-canvas.jsx",
"app/javascript/packages/document-capture/components/acuant-capture.tsx",
"app/javascript/packages/document-capture/components/acuant-selfie-camera.tsx",
"app/javascript/packages/document-capture/components/acuant-selfie-capture-canvas.jsx",
"app/javascript/packages/document-capture/components/barcode-attention-warning.tsx",
"app/javascript/packages/document-capture/components/callback-on-mount.jsx",
"app/javascript/packages/document-capture/components/document-capture-troubleshooting-options.tsx",
"app/javascript/packages/document-capture/components/document-capture-warning.tsx",
"app/javascript/packages/document-capture/components/document-capture.tsx",
"app/javascript/packages/document-capture/components/document-side-acuant-capture.jsx",
"app/javascript/packages/document-capture/components/documents-step.jsx",
"app/javascript/packages/document-capture/components/file-image.jsx",
"app/javascript/packages/document-capture/components/file-input.tsx",
"app/javascript/packages/document-capture/components/hybrid-doc-capture-warning.spec.tsx",
"app/javascript/packages/document-capture/components/hybrid-doc-capture-warning.tsx",
"app/javascript/packages/document-capture/components/in-person-call-to-action.spec.tsx",
"app/javascript/packages/document-capture/components/in-person-call-to-action.tsx",
"app/javascript/packages/document-capture/components/in-person-location-full-address-entry-post-office-search-step.spec.tsx",
"app/javascript/packages/document-capture/components/in-person-location-full-address-entry-post-office-search-step.tsx",
"app/javascript/packages/document-capture/components/in-person-location-post-office-search-step.spec.tsx",
"app/javascript/packages/document-capture/components/in-person-location-post-office-search-step.tsx",
"app/javascript/packages/document-capture/components/in-person-outage-alert.spec.tsx",
"app/javascript/packages/document-capture/components/in-person-outage-alert.tsx",
"app/javascript/packages/document-capture/components/in-person-prepare-step.spec.tsx",
"app/javascript/packages/document-capture/components/in-person-prepare-step.tsx",
"app/javascript/packages/document-capture/components/in-person-switch-back-step.tsx",
"app/javascript/packages/document-capture/components/in-person-troubleshooting-options.tsx",
"app/javascript/packages/document-capture/components/review-issues-step.tsx",
"app/javascript/packages/document-capture/components/status-message.jsx",
"app/javascript/packages/document-capture/components/submission-complete.tsx",
"app/javascript/packages/document-capture/components/submission-interstitial.jsx",
"app/javascript/packages/document-capture/components/submission-status.jsx",
"app/javascript/packages/document-capture/components/submission.jsx",
"app/javascript/packages/document-capture/components/suspense-error-boundary.jsx",
"app/javascript/packages/document-capture/components/tip-list.tsx",
"app/javascript/packages/document-capture/components/unknown-error.tsx",
"app/javascript/packages/document-capture/components/warning.tsx"
],
"rules": {
"react/prop-types": "off",
"react/display-name": "off",
"react/jsx-key": "off",
"react-hooks/exhaustive-deps": "off",
"react-hooks/rules-of-hooks": "off"
}
Comment thread
aduth marked this conversation as resolved.
},
]
}
}
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { render } from '@testing-library/react';
import type { ComponentType } from 'react';
import type { ComponentType, ReactNode } from 'react';
import {
MarketingSiteContextProvider,
ServiceProviderContextProvider,
Expand All @@ -17,7 +17,7 @@ describe('DocumentCaptureTroubleshootingOptions', () => {
getFailureToProofURL: () => '',
};
const wrappers: Record<string, ComponentType> = {
MarketingSiteContext: ({ children }) => (
MarketingSiteContext: ({ children }: { children?: ReactNode }) => (
<MarketingSiteContextProvider helpCenterRedirectURL={helpCenterRedirectURL}>
{children}
</MarketingSiteContextProvider>
Expand Down