diff --git a/.eslintrc.json b/.eslintrc.json
index f6529e790..7bbf84b48 100644
--- a/.eslintrc.json
+++ b/.eslintrc.json
@@ -6,6 +6,9 @@
"es2021": true
},
"parser": "@typescript-eslint/parser",
+ "parserOptions": {
+ "project": ["./tsconfig.json"]
+ },
"plugins": ["react-prefer-function-component"],
"extends": [
"eslint:all",
diff --git a/.github/actions/setvars/action.yml b/.github/actions/setvars/action.yml
new file mode 100644
index 000000000..4e1c17e1c
--- /dev/null
+++ b/.github/actions/setvars/action.yml
@@ -0,0 +1,13 @@
+name: 'Set environment variables'
+description: 'Configures environment variables for a workflow'
+inputs:
+ varFilePath:
+ description: 'File path to variable file or directory. Defaults to ./.github/variables/* if none specified and runs against each file in that directory.'
+ required: false
+ default: ./.github/variables/.env
+runs:
+ using: "composite"
+ steps:
+ - run: |
+ sed "" ${{ inputs.varFilePath }} >> $GITHUB_ENV
+ shell: bash
\ No newline at end of file
diff --git a/.github/variables/.env b/.github/variables/.env
new file mode 100644
index 000000000..cbb553cf2
--- /dev/null
+++ b/.github/variables/.env
@@ -0,0 +1,23 @@
+SBL_DEV_PORT="8899"
+SBL_OIDC_AUTHORITY="http://localhost:8880/realms/regtech"
+SBL_OIDC_CLIENT_ID="regtech-client"
+SBL_OIDC_REDIRECT_URI="http://localhost:${SBL_DEV_PORT}/filing"
+SBL_REGTECH_BASE_URL="http://localhost:8881"
+SBL_MAIL_BASE_URL="http://localhost:8765"
+SBL_FILING_BASE_URL="http://localhost:8882"
+SBL_LOGOUT_REDIRECT_URL=""
+SBL_VALIDATION_TIMEOUT_SECONDS="1200"
+SBL_LONGPOLLING_DELAY_SECONDS="backoff"
+SBL_UPLOAD_FILE_SIZE_LIMIT_BYTES="50000000"
+SBL_ENABLE_PLAYWRIGHT_TEST_SETTINGS="false"
+SBL_PLAYWRIGHT_TEST_TARGET="http://localhost:8899"
+SBL_PLAYWRIGHT_TEST_KC_TARGET="http://localhost:8880/"
+SBL_PLAYWRIGHT_TEST_KC_REALM="regtech"
+SBL_PLAYWRIGHT_TEST_KC_CLI_USERNAME="admin"
+SBL_PLAYWRIGHT_TEST_KC_CLI_CLIENT_ID="admin-cli"
+SBL_PLAYWRIGHT_TEST_KC_CLI_CLIENT_SECRET="local_test_only"
+SBL_PLAYWRIGHT_TEST_KC_CLI_GRANT_TYPE="client_credentials"
+SBL_PLAYWRIGHT_TEST_KC_ADMIN_USERNAME="admin1"
+SBL_PLAYWRIGHT_TEST_KC_ADMIN_PASSWORD="admin"
+SBL_PLAYWRIGHT_TEST_KC_ADMIN_CLIENT_ID="regtech-client"
+SBL_PLAYWRIGHT_TEST_KC_ADMIN_GRANT_TYPE="password"
\ No newline at end of file
diff --git a/.github/workflows/.pre.yml b/.github/workflows/.pre.yml
new file mode 100644
index 000000000..a91c9cdd4
--- /dev/null
+++ b/.github/workflows/.pre.yml
@@ -0,0 +1,45 @@
+name: .Pre
+
+on:
+ workflow_call:
+
+jobs:
+ check:
+ name: Check Cache
+ runs-on: ubuntu-latest
+ outputs:
+ should-pull: ${{ steps.check.outputs.should-pull }}
+ env:
+ GH_TOKEN: ${{ github.token }}
+ steps:
+ - uses: actions/checkout@v4
+ - name: check cache
+ id: check
+ run: |
+ CACHE_LIST=$(gh cache list)
+ if [[ ! -z "$CACHE_LIST" ]]; then
+ # echo "$CACHE_LIST" | awk 'NR==1{print $1}'
+ echo "Cache already exists. Skipping dependencies"
+ echo "should-pull=false" >> $GITHUB_OUTPUT
+ else
+ echo "should-pull=true" >> $GITHUB_OUTPUT
+ fi
+ shell: bash
+
+ dependencies:
+ name: Pull Dependencies
+ runs-on: ubuntu-latest
+ needs: check
+ if: needs.check.outputs.should-pull == 'true'
+ steps:
+ - uses: actions/checkout@v4
+ - uses: actions/setup-node@v4
+ with:
+ node-version: '20'
+ cache: 'yarn'
+ cache-dependency-path: ./yarn.lock
+ - name: Clean Yarn cache
+ run: yarn cache clean
+ - name: Install dependencies
+ run: yarn
+
\ No newline at end of file
diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml
index 833e718dd..8f1e53cc1 100644
--- a/.github/workflows/codeql.yml
+++ b/.github/workflows/codeql.yml
@@ -12,10 +12,13 @@
name: "CodeQL"
on:
+ workflow_call:
push:
- branches: [ "main", "preview" ]
+ # branches: [ "main", "preview" ]
+ branches: [ "preview" ]
pull_request:
- branches: [ "main", "preview" ]
+ # branches: [ "main", "preview" ]
+ branches: [ "preview" ]
schedule:
- cron: '45 9 * * 4'
diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml
new file mode 100644
index 000000000..ce1a0258c
--- /dev/null
+++ b/.github/workflows/lint.yml
@@ -0,0 +1,89 @@
+name: Lint
+
+on:
+ workflow_call:
+ # push:
+ # branches: [main]
+ # pull_request:
+ # branches: [main]
+
+jobs:
+ prettier:
+ name: Prettier
+ runs-on: ubuntu-latest
+ steps:
+ # - uses: ./.github/actions/setvars
+
+ - uses: actions/checkout@v4
+
+ - uses: actions/setup-node@v4
+ with:
+ node-version: '20'
+ cache: 'yarn'
+ cache-dependency-path: ./yarn.lock
+
+ - name: Install dependencies
+ run: yarn
+
+ - name: Run Prettier
+ run: yarn run-prettier
+
+ tsc:
+ name: TSC
+ runs-on: ubuntu-latest
+ steps:
+ # - uses: ./.github/actions/setvars
+
+ - uses: actions/checkout@v4
+
+ - uses: actions/setup-node@v4
+ with:
+ node-version: '20'
+ cache: 'yarn'
+ cache-dependency-path: ./yarn.lock
+
+ - name: Install dependencies
+ run: yarn
+
+ - name: Run Linter
+ run: yarn run-tsc
+
+ eslint:
+ name: ESLint
+ runs-on: ubuntu-latest
+ steps:
+ # - uses: ./.github/actions/setvars
+
+ - uses: actions/checkout@v4
+
+ - uses: actions/setup-node@v4
+ with:
+ node-version: '20'
+ cache: 'yarn'
+ cache-dependency-path: ./yarn.lock
+
+ - name: Install dependencies
+ run: yarn
+
+ - name: Run Linter
+ run: yarn run-eslint
+
+ stylelint:
+ name: StyleLint
+ runs-on: ubuntu-latest
+ steps:
+ # - uses: ./.github/actions/setvars
+
+ - uses: actions/checkout@v4
+
+ - uses: actions/setup-node@v4
+ with:
+ node-version: '20'
+ cache: 'yarn'
+ cache-dependency-path: ./yarn.lock
+
+ - name: Install dependencies
+ run: yarn
+
+ - name: Run Linter
+ run: yarn run-stylelint
diff --git a/.github/workflows/pull_request.yml b/.github/workflows/pull_request.yml
new file mode 100644
index 000000000..e8acf6035
--- /dev/null
+++ b/.github/workflows/pull_request.yml
@@ -0,0 +1,28 @@
+name: Pull Request
+
+on:
+ pull_request:
+ branches: [main]
+
+jobs:
+ call-pre:
+ name: .Pre
+ uses: ./.github/workflows/.pre.yml
+
+ call-lint:
+ name: Lint
+ uses: ./.github/workflows/lint.yml
+ needs: call-pre
+
+ call-test:
+ name: Test
+ if: ${{ always() }}
+ uses: ./.github/workflows/test.yml
+ needs: call-lint
+
+ call-codeql:
+ name: CodeQL
+ if: ${{ always() }}
+ uses: ./.github/workflows/codeql.yml
+ needs: call-lint
+
\ No newline at end of file
diff --git a/.github/workflows/push.yml b/.github/workflows/push.yml
new file mode 100644
index 000000000..eeda797a5
--- /dev/null
+++ b/.github/workflows/push.yml
@@ -0,0 +1,28 @@
+name: Push
+
+on:
+ push:
+ branches: [main]
+
+jobs:
+ call-pre:
+ name: .Pre
+ uses: ./.github/workflows/.pre.yml
+
+ call-lint:
+ name: Lint
+ uses: ./.github/workflows/lint.yml
+ needs: call-pre
+
+ call-test:
+ name: Test
+ if: ${{ always() }}
+ uses: ./.github/workflows/test.yml
+ needs: call-lint
+
+ call-codeql:
+ name: CodeQL
+ if: ${{ always() }}
+ uses: ./.github/workflows/codeql.yml
+ needs: call-lint
+
\ No newline at end of file
diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
index cb915dd15..a12214a28 100644
--- a/.github/workflows/test.yml
+++ b/.github/workflows/test.yml
@@ -1,64 +1,38 @@
name: Test
on:
- push:
- branches: [main]
- pull_request:
- branches: [main]
-
-env:
- SBL_DEV_PORT: "8899"
- SBL_OIDC_AUTHORITY: "http://localhost:8880/realms/regtech"
- SBL_OIDC_CLIENT_ID: "regtech-client"
- SBL_OIDC_REDIRECT_URI: "http://localhost:${SBL_DEV_PORT}/filing"
- SBL_REGTECH_BASE_URL: "http://localhost:8881"
- SBL_MAIL_BASE_URL: "http://localhost:8765"
- SBL_FILING_BASE_URL: "http://localhost:8882"
- SBL_LOGOUT_REDIRECT_URL: ""
- SBL_VALIDATION_TIMEOUT_SECONDS: "1200"
- SBL_LONGPOLLING_DELAY_SECONDS: "backoff"
- SBL_UPLOAD_FILE_SIZE_LIMIT_BYTES: "50000000"
- SBL_ENABLE_PLAYWRIGHT_TEST_SETTINGS: "false"
- SBL_PLAYWRIGHT_TEST_TARGET: "http://localhost:8899"
- SBL_PLAYWRIGHT_TEST_KC_TARGET: "http://localhost:8880/"
- SBL_PLAYWRIGHT_TEST_KC_REALM: "regtech"
- SBL_PLAYWRIGHT_TEST_KC_CLI_USERNAME: "admin"
- SBL_PLAYWRIGHT_TEST_KC_CLI_CLIENT_ID: "admin-cli"
- SBL_PLAYWRIGHT_TEST_KC_CLI_CLIENT_SECRET: "local_test_only"
- SBL_PLAYWRIGHT_TEST_KC_CLI_GRANT_TYPE: "client_credentials"
- SBL_PLAYWRIGHT_TEST_KC_ADMIN_USERNAME: "admin1"
- SBL_PLAYWRIGHT_TEST_KC_ADMIN_PASSWORD: "admin"
- SBL_PLAYWRIGHT_TEST_KC_ADMIN_CLIENT_ID: "regtech-client"
- SBL_PLAYWRIGHT_TEST_KC_ADMIN_GRANT_TYPE: "password"
+ workflow_call:
jobs:
- React:
+ react:
+ name: React
runs-on: ubuntu-latest
-
steps:
- uses: actions/checkout@v4
-
+ - uses: ./.github/actions/setvars
- uses: actions/setup-node@v4
with:
- node-version: '18'
+ node-version: '20'
+ cache: 'yarn'
+ cache-dependency-path: ./yarn.lock
- - name: Clean Yarn cache
- run: yarn cache clean
-
- name: Install dependencies
run: yarn
- name: Run React tests
run: yarn test:ci
- Cypress:
- runs-on: ubuntu-latest
+ cypress:
+ name: Cypress
+ runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
-
+ - uses: ./.github/actions/setvars
- uses: actions/setup-node@v4
with:
- node-version: '18'
+ node-version: '20'
+ cache: 'yarn'
+ cache-dependency-path: ./yarn.lock
- name: Install dependencies
run: yarn
diff --git a/buildspec.yml b/buildspec.yml
index 0c68ca9a0..99d3ec160 100644
--- a/buildspec.yml
+++ b/buildspec.yml
@@ -7,14 +7,14 @@ env:
IMAGE_SCANNER_SECRET: cfpb/team/regtech/image-scanner-creds
SMTP_CREDS_SECRET: cfpb/team/regtech/smtp-ses-creds
secrets-manager:
- EMAIL_TO: "${CONTACTS_SECRET}:developers_all"
- IMAGE_SCANNER_URL: "${IMAGE_SCANNER_SECRET}:url"
- IMAGE_SCANNER_USERNAME: "${IMAGE_SCANNER_SECRET}:username"
- IMAGE_SCANNER_PASSWORD: "${IMAGE_SCANNER_SECRET}:password"
- SMTP_HOST: "${SMTP_CREDS_SECRET}:mail_server"
- SMTP_PORT: "${SMTP_CREDS_SECRET}:smtp_port"
- SMTP_USERNAME: "${SMTP_CREDS_SECRET}:username"
- SMTP_PASSWORD: "${SMTP_CREDS_SECRET}:password"
+ EMAIL_TO: '${CONTACTS_SECRET}:developers_all'
+ IMAGE_SCANNER_URL: '${IMAGE_SCANNER_SECRET}:url'
+ IMAGE_SCANNER_USERNAME: '${IMAGE_SCANNER_SECRET}:username'
+ IMAGE_SCANNER_PASSWORD: '${IMAGE_SCANNER_SECRET}:password'
+ SMTP_HOST: '${SMTP_CREDS_SECRET}:mail_server'
+ SMTP_PORT: '${SMTP_CREDS_SECRET}:smtp_port'
+ SMTP_USERNAME: '${SMTP_CREDS_SECRET}:username'
+ SMTP_PASSWORD: '${SMTP_CREDS_SECRET}:password'
phases:
install:
diff --git a/e2e/test-data/point-of-contact/point-of-contact-data-1.json b/e2e/test-data/point-of-contact/point-of-contact-data-1.json
index 86fce828e..00adf549a 100644
--- a/e2e/test-data/point-of-contact/point-of-contact-data-1.json
+++ b/e2e/test-data/point-of-contact/point-of-contact-data-1.json
@@ -11,4 +11,4 @@
"phone_number": "555-555-5555",
"phone_ext": "8942",
"email": "point_of_contact_email@email.test"
-}
\ No newline at end of file
+}
diff --git a/e2e/utils/createDomainAssociation.ts b/e2e/utils/createDomainAssociation.ts
index 106c5cfad..7f6164367 100644
--- a/e2e/utils/createDomainAssociation.ts
+++ b/e2e/utils/createDomainAssociation.ts
@@ -21,7 +21,12 @@ export default async function createDomainAssociation({
try {
await axios.request(optionsForDomainAssociation);
} catch (error) {
- console.error('error when creating a domain/institution association :>> ', error);
+ // Part of evaluation for linter issues see: https://github.com/cfpb/sbl-frontend/issues/1039
+ // eslint-disable-next-line no-console
+ console.error(
+ 'error when creating a domain/institution association :>>',
+ error,
+ );
throw error;
}
}
diff --git a/e2e/utils/createInstitution.ts b/e2e/utils/createInstitution.ts
index 6c45e1b99..5608fc54a 100644
--- a/e2e/utils/createInstitution.ts
+++ b/e2e/utils/createInstitution.ts
@@ -40,7 +40,7 @@ export default async function createInstitution({
parent_rssd_id: 12_745,
top_holder_lei: '01274TOPHOLDERLEI123',
top_holder_legal_name: 'TOP HOLDER LEI 123',
- top_holder_rssd_id: 123456,
+ top_holder_rssd_id: 123_456,
},
// eslint-enable @typescript-eslint/no-magic-numbers unicorn/numeric-separators-style
};
diff --git a/e2e/utils/createKeycloakUser.ts b/e2e/utils/createKeycloakUser.ts
index 334ef02e8..1a2c4d240 100644
--- a/e2e/utils/createKeycloakUser.ts
+++ b/e2e/utils/createKeycloakUser.ts
@@ -4,6 +4,8 @@ import { config } from './authConstants';
export class KeycloakService {
private readonly kcAdminClient: KeycloakAdminClient;
+ // Part of evaluation for linter issues see: https://github.com/cfpb/sbl-frontend/issues/1039
+ // eslint-disable-next-line @typescript-eslint/explicit-member-accessibility
constructor() {
this.kcAdminClient = new KeycloakAdminClient({
baseUrl: config.target,
diff --git a/e2e/utils/getKeycloakToken.ts b/e2e/utils/getKeycloakToken.ts
index f01a5d185..9956f4224 100644
--- a/e2e/utils/getKeycloakToken.ts
+++ b/e2e/utils/getKeycloakToken.ts
@@ -14,12 +14,17 @@ export default async function getAdminKeycloakToken(): Promise {
data: encodedParameters,
};
try {
+ // Part of evaluation for linter issues see: https://github.com/cfpb/sbl-frontend/issues/1039
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
const { data } = await axios.request(optionsForGetAdminKeycloakToken);
+ // Part of evaluation for linter issues see: https://github.com/cfpb/sbl-frontend/issues/1039
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
return data.access_token as string;
} catch (error) {
+ // Part of evaluation for linter issues see: https://github.com/cfpb/sbl-frontend/issues/1039
// eslint-disable-next-line no-console
console.log(
- 'error when trying to fetch an admin token from keycloak :>> ',
+ 'error when trying to fetch an admin token from keycloak :>>',
error,
);
throw error;
diff --git a/package.json b/package.json
index 20b213906..dad21a382 100644
--- a/package.json
+++ b/package.json
@@ -26,14 +26,16 @@
"test:e2e:ci": "vite build && yarn preview:test 'cypress run --record'",
"format": "prettier -uw --cache .",
"run-tsc": "tsc",
- "run-eslint": "eslint --cache --fix --ignore-path .gitignore --ext .ts,.tsx .",
+ "run-eslint": "eslint --cache --fix --ignore-path .gitignore --ignore-path .eslintignore --ext .ts,.tsx .",
"run-stylelint": "stylelint --cache --fix --ignore-path .gitignore **/*.css",
+ "run-prettier": "prettier -uc --cache .",
"lint": "run-p run-tsc run-eslint run-stylelint",
"validate": "run-p lint test:ci test:e2e:headless"
},
"dependencies": {
"@hookform/resolvers": "^3.2.0",
"@playwright/test": "^1.45.0",
+ "@s3pweb/keycloak-admin-client-cjs": "^22.0.1",
"@tanstack/react-query": "^4.29.7",
"@tanstack/react-table": "^8.9.1",
"axios": "^1.7.4",
@@ -64,7 +66,6 @@
"@import-meta-env/typescript": "^0.3.3",
"@import-meta-env/unplugin": "^0.5.1",
"@nabla/vite-plugin-eslint": "1.5.0",
- "@s3pweb/keycloak-admin-client-cjs": "^22.0.1",
"@tailwindcss/forms": "0.5.3",
"@testing-library/dom": "8.20.0",
"@testing-library/jest-dom": "5.16.5",
diff --git a/src/App.tsx b/src/App.tsx
index 8fc9992e1..4a80055fe 100644
--- a/src/App.tsx
+++ b/src/App.tsx
@@ -236,7 +236,13 @@ export default function App(): ReactElement {
}>
- }>
+
+ }
+ >
} />
{import.meta.env.DEV ? (
-
- {`# H1\n## H2\n### H3`}
-
+ {`# H1\n## H2\n### H3`}
{`**bold text**\n\n*italicized text*\n\n> blockquote\n`}
{`~~strikethrough~~`}
{`1. First item\n2. Second item\n4. Third item`}
{`- First item\n- Second item\n- Third item`}
{/* // eslint-disable-next-line react/jsx-curly-brace-presence */}
- {"`code`"}
- {"---"}
- {"[Markdown Guide](https://www.markdownguide.org)"}
- {"![alt text](https://www.markdownguide.org/assets/images/tux.png)"}
+ {'`code`'}
+ {'---'}
+
+ {'[Markdown Guide](https://www.markdownguide.org)'}
+
+
+ {'![alt text](https://www.markdownguide.org/assets/images/tux.png)'}
+
{`## Table\n\n| Syntax | Description |\n| ----------- | ----------- |\n| Header | Title |\n| Paragraph | Text |\n\n`}
- {"## Codeblock\n\n```\n{\n'firstName': 'John',\n 'lastName': 'Smith',\n 'age': 25\n}\n```"}
+
+ {
+ "## Codeblock\n\n```\n{\n'firstName': 'John',\n 'lastName': 'Smith',\n 'age': 25\n}\n```"
+ }
+
diff --git a/src/components/BetaAndLegalNotice.tsx b/src/components/BetaAndLegalNotice.tsx
index 0f2e55762..bf6e8a8dc 100644
--- a/src/components/BetaAndLegalNotice.tsx
+++ b/src/components/BetaAndLegalNotice.tsx
@@ -9,7 +9,7 @@ export default function BetaAndLegalNotice(): ReactElement {
message='This is a beta for the Small Business Lending Data Filing Platform'
status='warning'
// TODO: allow setting to strip heading formatting in Alerts post-mvp
- // @ts-expect-error - See issue: https://github.com/cfpb/design-system-react/issues/351
+ // @@ts-expect-error - See issue: https://github.com/cfpb/design-system-react/issues/351
// headingLevel={null}
>
diff --git a/src/components/Link.utils.tsx b/src/components/Link.utils.tsx
index 176d5f469..092e07685 100644
--- a/src/components/Link.utils.tsx
+++ b/src/components/Link.utils.tsx
@@ -40,6 +40,7 @@ export function IconExternalLink(): ReactElement {
return (
<>
{' '}
+ {/* @ts-expect-error Part of evaluation for linter issues see: https://github.com/cfpb/sbl-frontend/issues/1039 */}
>
);
diff --git a/src/pages/AuthenticatedLanding/MailingListSignup.tsx b/src/pages/AuthenticatedLanding/MailingListSignup.tsx
index 3ba682330..56658504c 100644
--- a/src/pages/AuthenticatedLanding/MailingListSignup.tsx
+++ b/src/pages/AuthenticatedLanding/MailingListSignup.tsx
@@ -11,7 +11,6 @@ export function MailingListSignup(): JSX.Element {
specific to small business lending.
Email address
- {/* @ts-expect-error Part of code cleanup for post-mvp see: https://github.com/cfpb/sbl-frontend/issues/717 */}
Visit homepage
diff --git a/src/pages/Filing/FilingApp/FileSubmission.data.tsx b/src/pages/Filing/FilingApp/FileSubmission.data.tsx
index 2159ae6b5..ee5ac2be4 100644
--- a/src/pages/Filing/FilingApp/FileSubmission.data.tsx
+++ b/src/pages/Filing/FilingApp/FileSubmission.data.tsx
@@ -124,6 +124,7 @@ export function MustUploadFirstAlert(): JSX.Element {
status='error'
aria-live='polite'
aria-atomic='true'
+ // @ts-expect-error Part of evaluation for linter issues see: https://github.com/cfpb/sbl-frontend/issues/1039
headingLevel=''
message='Your file must be successfully uploaded and validation checks performed to continue to the next step.'
/>
diff --git a/src/pages/Filing/FilingApp/FilingErrors/index.tsx b/src/pages/Filing/FilingApp/FilingErrors/index.tsx
index 0e0f39349..0ab60261f 100644
--- a/src/pages/Filing/FilingApp/FilingErrors/index.tsx
+++ b/src/pages/Filing/FilingApp/FilingErrors/index.tsx
@@ -234,7 +234,9 @@ function FilingErrors(): JSX.Element {
id='single-field-errors'
heading={`Single-field errors: ${singleFieldRowErrorsCount.toLocaleString()} found`}
fieldArray={singleFieldErrorsUsed}
+ // @ts-expect-error Part of evaluation for linter issues see: https://github.com/cfpb/sbl-frontend/issues/1039
lei={lei}
+ // @ts-expect-error Part of evaluation for linter issues see: https://github.com/cfpb/sbl-frontend/issues/1039
filingPeriod={year}
submissionId={actualDataGetSubmissionLatest.id}
bottomMargin={Boolean(isStep2)}
@@ -251,7 +253,9 @@ function FilingErrors(): JSX.Element {
id='multi-field-errors'
heading={`Multi-field errors: ${multiFieldRowErrorsCount.toLocaleString()} found`}
fieldArray={logicErrorsMulti}
+ // @ts-expect-error Part of evaluation for linter issues see: https://github.com/cfpb/sbl-frontend/issues/1039
lei={lei}
+ // @ts-expect-error Part of evaluation for linter issues see: https://github.com/cfpb/sbl-frontend/issues/1039
filingPeriod={year}
submissionId={actualDataGetSubmissionLatest.id}
bottomMargin
@@ -265,7 +269,9 @@ function FilingErrors(): JSX.Element {
id='register-level-errors'
heading={`Register-level errors: ${registerLevelRowErrorsCount.toLocaleString()} found`}
fieldArray={registerErrors}
+ // @ts-expect-error Part of evaluation for linter issues see: https://github.com/cfpb/sbl-frontend/issues/1039
lei={lei}
+ // @ts-expect-error Part of evaluation for linter issues see: https://github.com/cfpb/sbl-frontend/issues/1039
filingPeriod={year}
submissionId={actualDataGetSubmissionLatest.id}
>
diff --git a/src/pages/Filing/FilingApp/FilingProtectedRoute.tsx b/src/pages/Filing/FilingApp/FilingProtectedRoute.tsx
index 109b49eb4..b8d03d3b5 100644
--- a/src/pages/Filing/FilingApp/FilingProtectedRoute.tsx
+++ b/src/pages/Filing/FilingApp/FilingProtectedRoute.tsx
@@ -31,9 +31,11 @@ export function FilingProtectedRoute({
if (isLoading) return ;
if (error)
+ // @ts-expect-error Part of evaluation for linter issues see: https://github.com/cfpb/sbl-frontend/issues/1039
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
return ;
+ // @ts-expect-error Part of evaluation for linter issues see: https://github.com/cfpb/sbl-frontend/issues/1039
const { nextStepIndex } = getFilingSteps(submission, filing);
const targetPage = location.pathname.split('/').slice(NegativeOne)[Zero];
diff --git a/src/pages/Filing/FilingApp/FilingWarnings/index.tsx b/src/pages/Filing/FilingApp/FilingWarnings/index.tsx
index 1e585d2fa..75e219f07 100644
--- a/src/pages/Filing/FilingApp/FilingWarnings/index.tsx
+++ b/src/pages/Filing/FilingApp/FilingWarnings/index.tsx
@@ -189,7 +189,9 @@ function FilingWarnings(): JSX.Element {
id='single-field-warnings'
heading={`Single-field warnings: ${singleFieldRowWarningsCount.toLocaleString()} found`}
fieldArray={logicWarningsSingle}
+ // @ts-expect-error Part of evaluation for linter issues see: https://github.com/cfpb/sbl-frontend/issues/1039
lei={lei}
+ // @ts-expect-error Part of evaluation for linter issues see: https://github.com/cfpb/sbl-frontend/issues/1039
filingPeriod={year}
submissionId={submission.id}
isWarning
@@ -205,7 +207,9 @@ function FilingWarnings(): JSX.Element {
id='multi-field-warnings'
heading={`Multi-field warnings: ${multiFieldRowWarningsCount.toLocaleString()} found`}
fieldArray={logicWarningsMulti}
+ // @ts-expect-error Part of evaluation for linter issues see: https://github.com/cfpb/sbl-frontend/issues/1039
lei={lei}
+ // @ts-expect-error Part of evaluation for linter issues see: https://github.com/cfpb/sbl-frontend/issues/1039
filingPeriod={year}
submissionId={submission.id}
isWarning
diff --git a/src/pages/Filing/FilingApp/InstitutionProtectedRoute.tsx b/src/pages/Filing/FilingApp/InstitutionProtectedRoute.tsx
index 1b939f1ec..a2b65367c 100644
--- a/src/pages/Filing/FilingApp/InstitutionProtectedRoute.tsx
+++ b/src/pages/Filing/FilingApp/InstitutionProtectedRoute.tsx
@@ -27,6 +27,7 @@ export function InstitutionProtectedRoute({
return (
diff --git a/src/pages/Filing/UpdateFinancialProfile/updateFinancialProfile.less b/src/pages/Filing/UpdateFinancialProfile/updateFinancialProfile.less
index 3ab27c6b9..5ec7822de 100644
--- a/src/pages/Filing/UpdateFinancialProfile/updateFinancialProfile.less
+++ b/src/pages/Filing/UpdateFinancialProfile/updateFinancialProfile.less
@@ -1,4 +1,4 @@
// TODO: Fix this in DSR: https://github.com/cfpb/design-system-react/issues/315
#additional_details {
resize: vertical;
-}
\ No newline at end of file
+}
diff --git a/src/pages/FilingDetails/states.json b/src/pages/FilingDetails/states.json
index ea527150b..055addb58 100644
--- a/src/pages/FilingDetails/states.json
+++ b/src/pages/FilingDetails/states.json
@@ -1,61 +1,61 @@
{
"states": [
- { "label": "Alabama (AL)", "value": "AL" },
- { "label": "Alaska (AK)", "value": "AK" },
- { "label": "Arizona (AZ)", "value": "AZ" },
- { "label": "Arkansas (AR)", "value": "AR" },
- { "label": "American Samoa (AS)", "value": "AS" },
- { "label": "California (CA)", "value": "CA" },
- { "label": "Colorado (CO)", "value": "CO" },
- { "label": "Connecticut (CT)", "value": "CT" },
- { "label": "Delaware (DE)", "value": "DE" },
- { "label": "Florida (FL)", "value": "FL" },
- { "label": "Georgia (GA)", "value": "GA" },
- { "label": "Guam (GU)", "value": "GU" },
- { "label": "Hawaii (HI)", "value": "HI" },
- { "label": "Idaho (ID)", "value": "ID" },
- { "label": "Illinois (IL)", "value": "IL" },
- { "label": "Indiana (IN)", "value": "IN" },
- { "label": "Iowa (IA)", "value": "IA" },
- { "label": "Kansas (KS)", "value": "KS" },
- { "label": "Kentucky (KY)", "value": "KY" },
- { "label": "Louisiana (LA)", "value": "LA" },
- { "label": "Maine (ME)", "value": "ME" },
- { "label": "Maryland (MD)", "value": "MD" },
- { "label": "Massachusetts (MA)", "value": "MA" },
- { "label": "Michigan (MI)", "value": "MI" },
- { "label": "Minnesota (MN)", "value": "MN" },
- { "label": "Mississippi (MS)", "value": "MS" },
- { "label": "Missouri (MO)", "value": "MO" },
- { "label": "Montana (MT)", "value": "MT" },
- { "label": "Nebraska (NE)", "value": "NE" },
- { "label": "Nevada (NV)", "value": "NV" },
- { "label": "New Hampshire (NH)", "value": "NH" },
- { "label": "New Jersey (NJ)", "value": "NJ" },
- { "label": "New Mexico (NM)", "value": "NM" },
- { "label": "New York (NY)", "value": "NY" },
- { "label": "North Carolina (NC)", "value": "NC" },
- { "label": "North Dakota (ND)", "value": "ND" },
- { "label": "Northern Mariana Islands (MP)", "value": "MP" },
- { "label": "Ohio (OH)", "value": "OH" },
- { "label": "Oklahoma (OK)", "value": "OK" },
- { "label": "Oregon (OR)", "value": "OR" },
- { "label": "Pennsylvania (PA)", "value": "PA" },
- { "label": "Puerto Rico (PR)", "value": "PR" },
- { "label": "Rhode Island (RI)", "value": "RI" },
- { "label": "South Carolina (SC)", "value": "SC" },
- { "label": "South Dakota (SD)", "value": "SD" },
- { "label": "Tennessee (TN)", "value": "TN" },
- { "label": "Texas (TX)", "value": "TX" },
- { "label": "United States Minor Outlying Islands (UM)", "value": "UM" },
- { "label": "Utah (UT)", "value": "UT" },
- { "label": "Vermont (VT)", "value": "VT" },
- { "label": "Virgin Islands, U.S. (VI)", "value": "VI" },
- { "label": "Virginia (VA)", "value": "VA" },
- { "label": "Washington (WA)", "value": "WA" },
- { "label": "Washington D.C. (DC)", "value": "DC" },
- { "label": "West Virginia (WV)", "value": "WV" },
- { "label": "Wisconsin (WI)", "value": "WI" },
- { "label": "Wyoming (WY)", "value": "WY" }
-]
-}
\ No newline at end of file
+ { "label": "Alabama (AL)", "value": "AL" },
+ { "label": "Alaska (AK)", "value": "AK" },
+ { "label": "Arizona (AZ)", "value": "AZ" },
+ { "label": "Arkansas (AR)", "value": "AR" },
+ { "label": "American Samoa (AS)", "value": "AS" },
+ { "label": "California (CA)", "value": "CA" },
+ { "label": "Colorado (CO)", "value": "CO" },
+ { "label": "Connecticut (CT)", "value": "CT" },
+ { "label": "Delaware (DE)", "value": "DE" },
+ { "label": "Florida (FL)", "value": "FL" },
+ { "label": "Georgia (GA)", "value": "GA" },
+ { "label": "Guam (GU)", "value": "GU" },
+ { "label": "Hawaii (HI)", "value": "HI" },
+ { "label": "Idaho (ID)", "value": "ID" },
+ { "label": "Illinois (IL)", "value": "IL" },
+ { "label": "Indiana (IN)", "value": "IN" },
+ { "label": "Iowa (IA)", "value": "IA" },
+ { "label": "Kansas (KS)", "value": "KS" },
+ { "label": "Kentucky (KY)", "value": "KY" },
+ { "label": "Louisiana (LA)", "value": "LA" },
+ { "label": "Maine (ME)", "value": "ME" },
+ { "label": "Maryland (MD)", "value": "MD" },
+ { "label": "Massachusetts (MA)", "value": "MA" },
+ { "label": "Michigan (MI)", "value": "MI" },
+ { "label": "Minnesota (MN)", "value": "MN" },
+ { "label": "Mississippi (MS)", "value": "MS" },
+ { "label": "Missouri (MO)", "value": "MO" },
+ { "label": "Montana (MT)", "value": "MT" },
+ { "label": "Nebraska (NE)", "value": "NE" },
+ { "label": "Nevada (NV)", "value": "NV" },
+ { "label": "New Hampshire (NH)", "value": "NH" },
+ { "label": "New Jersey (NJ)", "value": "NJ" },
+ { "label": "New Mexico (NM)", "value": "NM" },
+ { "label": "New York (NY)", "value": "NY" },
+ { "label": "North Carolina (NC)", "value": "NC" },
+ { "label": "North Dakota (ND)", "value": "ND" },
+ { "label": "Northern Mariana Islands (MP)", "value": "MP" },
+ { "label": "Ohio (OH)", "value": "OH" },
+ { "label": "Oklahoma (OK)", "value": "OK" },
+ { "label": "Oregon (OR)", "value": "OR" },
+ { "label": "Pennsylvania (PA)", "value": "PA" },
+ { "label": "Puerto Rico (PR)", "value": "PR" },
+ { "label": "Rhode Island (RI)", "value": "RI" },
+ { "label": "South Carolina (SC)", "value": "SC" },
+ { "label": "South Dakota (SD)", "value": "SD" },
+ { "label": "Tennessee (TN)", "value": "TN" },
+ { "label": "Texas (TX)", "value": "TX" },
+ { "label": "United States Minor Outlying Islands (UM)", "value": "UM" },
+ { "label": "Utah (UT)", "value": "UT" },
+ { "label": "Vermont (VT)", "value": "VT" },
+ { "label": "Virgin Islands, U.S. (VI)", "value": "VI" },
+ { "label": "Virginia (VA)", "value": "VA" },
+ { "label": "Washington (WA)", "value": "WA" },
+ { "label": "Washington D.C. (DC)", "value": "DC" },
+ { "label": "West Virginia (WV)", "value": "WV" },
+ { "label": "Wisconsin (WI)", "value": "WI" },
+ { "label": "Wyoming (WY)", "value": "WY" }
+ ]
+}
diff --git a/src/pages/ProfileForm/CreateProfileForm/index.tsx b/src/pages/ProfileForm/CreateProfileForm/index.tsx
index 5a8ce2746..0194ee0d4 100644
--- a/src/pages/ProfileForm/CreateProfileForm/index.tsx
+++ b/src/pages/ProfileForm/CreateProfileForm/index.tsx
@@ -95,7 +95,9 @@ function CreateProfileForm(): JSX.Element {
});
// 2.) Sending the financial institutions list to the mail api
await mutateSubmitUserProfileFi({ formFieldsObject: preFormattedData });
- navigate('/profile/complete/summary/submitted', { state: { scenario: scenarios.Warning4 } });
+ navigate('/profile/complete/summary/submitted', {
+ state: { scenario: scenarios.Warning4 },
+ });
} catch (error) {
// eslint-disable-next-line no-console
console.log(error);
diff --git a/src/pages/ProfileForm/ProfileFormUtils.ts b/src/pages/ProfileForm/ProfileFormUtils.ts
index 7739a9bc8..9919174ec 100644
--- a/src/pages/ProfileForm/ProfileFormUtils.ts
+++ b/src/pages/ProfileForm/ProfileFormUtils.ts
@@ -2,11 +2,9 @@
import { scroller } from 'react-scroll';
import type {
- FormattedPointOfContactSchema,
FormattedUserProfileObjectType,
InstitutionDetailsApiCheckedType,
InstitutionDetailsApiType,
- PointOfContactSchema,
ValidationSchema,
} from 'types/formTypes';
diff --git a/src/pages/ProfileForm/Step1Form/Step1FormDropdownContainer.tsx b/src/pages/ProfileForm/Step1Form/Step1FormDropdownContainer.tsx
index c8beb0f6b..06bb9a23b 100644
--- a/src/pages/ProfileForm/Step1Form/Step1FormDropdownContainer.tsx
+++ b/src/pages/ProfileForm/Step1Form/Step1FormDropdownContainer.tsx
@@ -1,46 +1,46 @@
// Part of code cleanup for post-mvp see: https://github.com/cfpb/sbl-frontend/issues/717
/* eslint-disable prettier/prettier */
-import InputErrorMessage from "components/InputErrorMessage";
-import FormParagraph from "components/FormParagraph";
+import InputErrorMessage from 'components/InputErrorMessage';
+import FormParagraph from 'components/FormParagraph';
import { Dropdown } from 'design-system-react';
-import type { GroupBase, Props } from "react-select";
-
-
+import type { GroupBase, Props } from 'react-select';
interface Step1FormDropdownContainerProperties {
error: string;
}
-
function Step1FormDropdownContainer<
OptionType,
IsMulti extends boolean = false,
- GroupType extends GroupBase = GroupBase
+ GroupType extends GroupBase = GroupBase,
>({
error,
onChange,
...properties
-}: Props & Step1FormDropdownContainerProperties): JSX.Element {
-
+}: Props &
+ Step1FormDropdownContainerProperties): JSX.Element {
return (
<>
- If the financial institution you are authorized to file for is not included above or if you are authorized to file for additional institutions, search by LEI and select your institution.
+ If the financial institution you are authorized to file for is not
+ included above or if you are authorized to file for additional
+ institutions, search by LEI and select your institution.
-
- {error ?
- {error}
-
: null}
+ {error ? (
+
+ {error}
+
+ ) : null}
>
);
}
-
-export default Step1FormDropdownContainer;
\ No newline at end of file
+export default Step1FormDropdownContainer;
diff --git a/src/pages/Summary/SummaryRoutes.tsx b/src/pages/Summary/SummaryRoutes.tsx
index aafb83c22..5bfde5322 100644
--- a/src/pages/Summary/SummaryRoutes.tsx
+++ b/src/pages/Summary/SummaryRoutes.tsx
@@ -1,8 +1,11 @@
+// Part of evaluation for linter issues see: https://github.com/cfpb/sbl-frontend/issues/1039
+/* eslint-disable import/prefer-default-export */
+
// List the routes which lead to the summary component
// Implemented for Google Analytic purposes
export const SummaryRoutesList = [
'/institution/:lei/update/summary/updated',
-'/profile/complete/summary/submitted',
-'/profile/complete/summary/deniedDomain'
-];
\ No newline at end of file
+ '/profile/complete/summary/submitted',
+ '/profile/complete/summary/deniedDomain',
+];
diff --git a/src/utils/useInstitutionVerifyAssociation.tsx b/src/utils/useInstitutionVerifyAssociation.tsx
index 0ccbdbc59..785a797e0 100644
--- a/src/utils/useInstitutionVerifyAssociation.tsx
+++ b/src/utils/useInstitutionVerifyAssociation.tsx
@@ -30,6 +30,7 @@ export const useInstitutionVerifyAssociation = (): {
return {
isLoading,
+ // @ts-expect-error Part of evaluation for linter issues see: https://github.com/cfpb/sbl-frontend/issues/1039
error,
isAssociated,
};
diff --git a/src/utils/useWidthMatch.ts b/src/utils/useWidthMatch.ts
index 36e8019dc..8c6edf536 100644
--- a/src/utils/useWidthMatch.ts
+++ b/src/utils/useWidthMatch.ts
@@ -7,7 +7,7 @@ function useWidthMatch(query: string): boolean {
const mediaQuery = window.matchMedia(query);
setMatches(mediaQuery.matches); // Initial check
- const handleChange = (event: MediaQueryListEvent) => {
+ const handleChange = (event: MediaQueryListEvent): void => {
setMatches(event.matches);
};
diff --git a/tailwind.config.js b/tailwind.config.js
index 2499ea55d..e67b1bc98 100644
--- a/tailwind.config.js
+++ b/tailwind.config.js
@@ -31,9 +31,8 @@ const config = {
bpSM: '601px',
bpMED: '901px',
bpLG: '1021px',
- bpXL: '1201px'
-
- }
+ bpXL: '1201px',
+ },
},
},
experimental: { optimizeUniversalDefaults: true },
diff --git a/vite.config.ts b/vite.config.ts
index fd8c794a6..941b556cf 100644
--- a/vite.config.ts
+++ b/vite.config.ts
@@ -1,7 +1,7 @@
/* eslint-disable unicorn/no-abusive-eslint-disable */
/* eslint-disable */
///
-import importMetaEnv from "@import-meta-env/unplugin";
+import importMetaEnv from '@import-meta-env/unplugin';
import eslintPlugin from '@nabla/vite-plugin-eslint';
import react from '@vitejs/plugin-react';
import { defineConfig, loadEnv } from 'vite';
@@ -58,7 +58,7 @@ export default async ({ mode }) => {
svgr(),
tsconfigPaths(),
react(),
- importMetaEnv.vite({ example: ".env.example"}),
+ importMetaEnv.vite({ example: '.env.example' }),
...(mode === 'test'
? []
: [