diff --git a/.github/workflows/global.yml b/.github/workflows/global.yml new file mode 100644 index 0000000000..c8834c401f --- /dev/null +++ b/.github/workflows/global.yml @@ -0,0 +1,34 @@ +name: Global Checks +on: + push: + branches: + - main + pull_request: + branches: + - "**" +jobs: + build-and-deploy: + concurrency: ci-round-manager-${{ github.head_ref || github.run_id }} + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + with: + fetch-depth: 1 + + - uses: pnpm/action-setup@v2 + with: + version: 7 + + - uses: actions/setup-node@v3 + with: + node-version: '16' + cache: 'pnpm' + + - name: Install Dependencies + run: | + pnpm install + + - name: Check formatting + run: | + pnpm format:check diff --git a/package.json b/package.json index f447386ccd..35edfe1e17 100644 --- a/package.json +++ b/package.json @@ -12,6 +12,7 @@ "compile": "pnpm --filter contracts run compile ", "test": "pnpm run test", "typecheck": "turbo run typecheck", + "format:check": "pnpm -r --filter=\\!eslint-config-gitcoin exec prettier --check .", "// round manager script": "====== packages/round-manager specific ======", "rm-build": "pnpm --filter round-manager run build", "rm-test": "pnpm --filter round-manager run test", diff --git a/packages/builder/.prettierignore b/packages/builder/.prettierignore new file mode 100644 index 0000000000..58a1f09b32 --- /dev/null +++ b/packages/builder/.prettierignore @@ -0,0 +1,5 @@ +package.json +node_modules +coverage +build +public diff --git a/packages/builder/README.md b/packages/builder/README.md index 5a5c78dc8a..a262d68f23 100644 --- a/packages/builder/README.md +++ b/packages/builder/README.md @@ -3,6 +3,7 @@ This serves as the UI for publishing products to the project registry contracts ## Usage + Usage instructions ### Pre Requisites diff --git a/packages/builder/package.json b/packages/builder/package.json index 91157416ff..9e203cbd1a 100644 --- a/packages/builder/package.json +++ b/packages/builder/package.json @@ -137,6 +137,6 @@ "lokijs": "^1.5.12", "msw": "^0.47.4", "postcss-import": "^14.1.0", - "prettier": "^2.6.2" + "prettier": "^3.0.0" } } diff --git a/packages/builder/src/__tests__/components/application/Form.test.tsx b/packages/builder/src/__tests__/components/application/Form.test.tsx index f1ffeb46aa..a6aa3edb9b 100644 --- a/packages/builder/src/__tests__/components/application/Form.test.tsx +++ b/packages/builder/src/__tests__/components/application/Form.test.tsx @@ -141,11 +141,11 @@ describe("
", () => { onSubmit={jest.fn()} showErrorModal={false} />, - store + store, ); const selectProject = screen.getByLabelText( - "Select a project you would like to apply for funding:" + "Select a project you would like to apply for funding:", ); await act(async () => { fireEvent.change(selectProject, { @@ -155,10 +155,10 @@ describe("", () => { const addressInputWrapper = screen.getByTestId("address-input-wrapper"); const walletTypeWrapper = screen.getByTestId("wallet-type"); const isSafeOption = walletTypeWrapper.querySelector( - 'input[value="Yes"]' + 'input[value="Yes"]', ) as Element; const addressInput = addressInputWrapper.querySelector( - "input" + "input", ) as Element; await act(async () => { @@ -173,8 +173,8 @@ describe("", () => { expect( screen .getByTestId("address-input-wrapper") - .querySelector("input.border") - ).toBeNull() + .querySelector("input.border"), + ).toBeNull(), ); }); @@ -197,11 +197,11 @@ describe("", () => { onSubmit={jest.fn()} showErrorModal={false} />, - store + store, ); const selectProject = screen.getByLabelText( - "Select a project you would like to apply for funding:" + "Select a project you would like to apply for funding:", ); await act(async () => { fireEvent.change(selectProject, { @@ -211,10 +211,10 @@ describe("", () => { const addressInputWrapper = screen.getByTestId("address-input-wrapper"); const walletTypeWrapper = screen.getByTestId("wallet-type"); const isSafeOption = walletTypeWrapper.querySelector( - 'input[value="No"]' + 'input[value="No"]', ) as Element; const addressInput = addressInputWrapper.querySelector( - "input" + "input", ) as Element; await act(async () => { @@ -228,9 +228,9 @@ describe("", () => { expect( screen.getByText( // eslint-disable-next-line max-len - "It looks like the payout wallet address you have provided is a multi-sig. Please update your selection to indicate your payout wallet address will be a multi-sig, or update your payout wallet address." - ) - ).toBeInTheDocument() + "It looks like the payout wallet address you have provided is a multi-sig. Please update your selection to indicate your payout wallet address will be a multi-sig, or update your payout wallet address.", + ), + ).toBeInTheDocument(), ); }); @@ -253,11 +253,11 @@ describe("", () => { onSubmit={jest.fn()} showErrorModal={false} />, - store + store, ); const selectProject = screen.getByLabelText( - "Select a project you would like to apply for funding:" + "Select a project you would like to apply for funding:", ); await act(async () => { fireEvent.change(selectProject, { @@ -267,10 +267,10 @@ describe("", () => { const addressInputWrapper = screen.getByTestId("address-input-wrapper"); const walletTypeWrapper = screen.getByTestId("wallet-type"); const isSafeOption = walletTypeWrapper.querySelector( - 'input[value="Yes"]' + 'input[value="Yes"]', ) as Element; const addressInput = addressInputWrapper.querySelector( - "input" + "input", ) as Element; await act(async () => { @@ -284,9 +284,9 @@ describe("", () => { expect( screen.getByText( // eslint-disable-next-line max-len - "It looks like the payout wallet address you have provided may not be a valid multi-sig on the Goerli network. Please update your payout wallet address before proceeding." - ) - ).toBeInTheDocument() + "It looks like the payout wallet address you have provided may not be a valid multi-sig on the Goerli network. Please update your payout wallet address before proceeding.", + ), + ).toBeInTheDocument(), ); }); @@ -309,11 +309,11 @@ describe("", () => { onSubmit={jest.fn()} showErrorModal={false} />, - store + store, ); const selectProject = screen.getByLabelText( - "Select a project you would like to apply for funding:" + "Select a project you would like to apply for funding:", ); await act(async () => { fireEvent.change(selectProject, { @@ -323,10 +323,10 @@ describe("", () => { const addressInputWrapper = screen.getByTestId("address-input-wrapper"); const walletTypeWrapper = screen.getByTestId("wallet-type"); const isSafeOption = walletTypeWrapper.querySelector( - 'input[value="No"]' + 'input[value="No"]', ) as Element; const addressInput = addressInputWrapper.querySelector( - "input" + "input", ) as Element; await act(async () => { @@ -340,8 +340,8 @@ describe("", () => { expect( screen .getByTestId("address-input-wrapper") - .querySelector("input.border") - ).toBeNull() + .querySelector("input.border"), + ).toBeNull(), ); // await waitFor(() => @@ -362,11 +362,11 @@ describe("", () => { onSubmit={jest.fn()} showErrorModal={false} />, - store + store, ); const selectProject = screen.getByLabelText( - "Select a project you would like to apply for funding:" + "Select a project you would like to apply for funding:", ); await act(async () => { fireEvent.change(selectProject, { @@ -431,11 +431,11 @@ describe("", () => { onSubmit={jest.fn()} showErrorModal={false} />, - store + store, ); const selectProject = screen.getByLabelText( - "Select a project you would like to apply for funding:" + "Select a project you would like to apply for funding:", ); await act(async () => { fireEvent.change(selectProject, { @@ -444,11 +444,11 @@ describe("", () => { }); expect( - screen.getByText("Project Twitter is required.") + screen.getByText("Project Twitter is required."), ).toBeInTheDocument(); expect( - screen.queryByText("Project Github is required.") + screen.queryByText("Project Github is required."), ).not.toBeInTheDocument(); }); }); @@ -512,11 +512,11 @@ describe("Form questions", () => { onChange={onChange} showErrorModal={false} />, - store + store, ); const selectProject = screen.getByLabelText( - "Select a project you would like to apply for funding:" + "Select a project you would like to apply for funding:", ); await act(async () => { fireEvent.change(selectProject, { @@ -575,11 +575,11 @@ describe("Form questions", () => { onChange={onChange} showErrorModal={false} />, - store + store, ); const selectProject = screen.getByLabelText( - "Select a project you would like to apply for funding:" + "Select a project you would like to apply for funding:", ); await act(async () => { fireEvent.change(selectProject, { @@ -638,11 +638,11 @@ describe("Form questions", () => { onChange={onChange} showErrorModal={false} />, - store + store, ); const selectProject = screen.getByLabelText( - "Select a project you would like to apply for funding:" + "Select a project you would like to apply for funding:", ); await act(async () => { fireEvent.change(selectProject, { diff --git a/packages/builder/src/__tests__/components/base/CustomerSupport.test.tsx b/packages/builder/src/__tests__/components/base/CustomerSupport.test.tsx index b33e7f2314..590133fb92 100644 --- a/packages/builder/src/__tests__/components/base/CustomerSupport.test.tsx +++ b/packages/builder/src/__tests__/components/base/CustomerSupport.test.tsx @@ -10,12 +10,12 @@ describe("", () => { render(); const customerSupport = screen.getByTestId("customer-support"); const customerSupportButton = customerSupport.querySelector( - "button" + "button", ) as Element; act(() => { customerSupportButton.dispatchEvent( - new MouseEvent("click", { bubbles: true }) + new MouseEvent("click", { bubbles: true }), ); }); }); diff --git a/packages/builder/src/__tests__/components/base/StatusModal.test.tsx b/packages/builder/src/__tests__/components/base/StatusModal.test.tsx index 75bbaf9aa9..67a56a2292 100644 --- a/packages/builder/src/__tests__/components/base/StatusModal.test.tsx +++ b/packages/builder/src/__tests__/components/base/StatusModal.test.tsx @@ -165,7 +165,7 @@ describe(" with applicationSteps", () => { : undefined } />, - setupStore() + setupStore(), ); }); @@ -175,7 +175,7 @@ describe(" with applicationSteps", () => { const iconElement = stepElement.querySelector(".step-icon")!; const expectedIcon = scenario.icons[index]; expect( - iconElement.classList.contains(`step-icon-${expectedIcon}`) + iconElement.classList.contains(`step-icon-${expectedIcon}`), ).toEqual(true); }); }); @@ -250,7 +250,7 @@ describe(" with grantSteps", () => { : undefined } />, - setupStore() + setupStore(), ); }); @@ -260,7 +260,7 @@ describe(" with grantSteps", () => { const iconElement = stepElement.querySelector(".step-icon")!; const expectedIcon = scenario.icons[index]; expect( - iconElement.classList.contains(`step-icon-${expectedIcon}`) + iconElement.classList.contains(`step-icon-${expectedIcon}`), ).toEqual(true); }); }); diff --git a/packages/builder/src/__tests__/components/grants/Details.test.tsx b/packages/builder/src/__tests__/components/grants/Details.test.tsx index 8a5310398e..1b4015e633 100644 --- a/packages/builder/src/__tests__/components/grants/Details.test.tsx +++ b/packages/builder/src/__tests__/components/grants/Details.test.tsx @@ -55,7 +55,7 @@ _italic text_ showApplications={false} showTabs />, - store + store, ); }); @@ -66,8 +66,8 @@ _italic text_ expect(screen.getByText("italic text").tagName).toBe("EM"); expect( screen.getByText( - `` - ).tagName + ``, + ).tagName, ).toBe("P"); }); }); @@ -107,7 +107,7 @@ _italic text_ showApplications={false} showTabs />, - store + store, ); }); @@ -144,7 +144,7 @@ _italic text_ showApplications={false} showTabs />, - store + store, ); }); @@ -185,7 +185,7 @@ _italic text_ showApplications={false} showTabs />, - store + store, ); }); @@ -222,7 +222,7 @@ _italic text_ showApplications={false} showTabs />, - store + store, ); }); @@ -261,7 +261,7 @@ _italic text_ showApplications={false} showTabs={false} />, - store + store, ); }); diff --git a/packages/builder/src/__tests__/components/grants/List.test.tsx b/packages/builder/src/__tests__/components/grants/List.test.tsx index b983688cd2..6c79879caf 100644 --- a/packages/builder/src/__tests__/components/grants/List.test.tsx +++ b/packages/builder/src/__tests__/components/grants/List.test.tsx @@ -237,8 +237,8 @@ describe("", () => { expect( screen.getByText( - "It looks like you haven't created any projects yet." - ) + "It looks like you haven't created any projects yet.", + ), ).toBeInTheDocument(); }); @@ -296,7 +296,7 @@ describe("", () => { when(useLocalStorage as jest.Mock) .calledWith( "toggleRoundApplicationModal", - ApplicationModalStatus.Undefined + ApplicationModalStatus.Undefined, ) .mockReturnValue([ApplicationModalStatus.Undefined]); }); @@ -319,7 +319,7 @@ describe("", () => { when(useLocalStorage as jest.Mock) .calledWith( "toggleRoundApplicationModal", - ApplicationModalStatus.Undefined + ApplicationModalStatus.Undefined, ) .mockReturnValue([ApplicationModalStatus.Undefined]); }); @@ -410,7 +410,7 @@ describe("", () => { when(useLocalStorage as jest.Mock) .calledWith( "toggleRoundApplicationModal", - ApplicationModalStatus.Undefined + ApplicationModalStatus.Undefined, ) .mockReturnValue([ApplicationModalStatus.NotApplied]); @@ -418,7 +418,7 @@ describe("", () => { expect(screen.getByText("Apply to Grant Round")).toBeInTheDocument(); expect( - screen.getByText("Time to get your project funded!") + screen.getByText("Time to get your project funded!"), ).toBeInTheDocument(); }); @@ -432,7 +432,7 @@ describe("", () => { when(useLocalStorage as jest.Mock) .calledWith( "toggleRoundApplicationModal", - ApplicationModalStatus.Undefined + ApplicationModalStatus.Undefined, ) .mockReturnValue([ApplicationModalStatus.NotApplied]); @@ -440,7 +440,7 @@ describe("", () => { expect(screen.queryByText("Apply to Grant Round")).toBeNull(); expect( - screen.queryByText("Time to get your project funded!") + screen.queryByText("Time to get your project funded!"), ).toBeNull(); }); }); diff --git a/packages/builder/src/__tests__/components/grants/Show.test.tsx b/packages/builder/src/__tests__/components/grants/Show.test.tsx index 3484f70829..ac4b2f9ead 100644 --- a/packages/builder/src/__tests__/components/grants/Show.test.tsx +++ b/packages/builder/src/__tests__/components/grants/Show.test.tsx @@ -45,8 +45,8 @@ describe("", () => { buildProjectMetadata({ id: `1:${addressFrom(1)}:1`, credentials: {}, - }) - ) + }), + ), ); store.dispatch(web3ChainIDLoaded(5)); store.dispatch(web3AccountLoaded("0x123")); diff --git a/packages/builder/src/__tests__/components/grants/Stats.test.tsx b/packages/builder/src/__tests__/components/grants/Stats.test.tsx index 8fe5dbbed5..4d2b9d9e1e 100644 --- a/packages/builder/src/__tests__/components/grants/Stats.test.tsx +++ b/packages/builder/src/__tests__/components/grants/Stats.test.tsx @@ -23,7 +23,7 @@ describe("", () => { }); expect( - screen.getByText("No stats available yet for this project.") + screen.getByText("No stats available yet for this project."), ).toBeInTheDocument(); }); test("should not render the loading spinner", async () => { diff --git a/packages/builder/src/__tests__/components/providers/Github.test.tsx b/packages/builder/src/__tests__/components/providers/Github.test.tsx index 1c9f307dcb..f1ae0e7cdc 100644 --- a/packages/builder/src/__tests__/components/providers/Github.test.tsx +++ b/packages/builder/src/__tests__/components/providers/Github.test.tsx @@ -43,7 +43,7 @@ describe("", () => { store.dispatch( credentialsSaved({ github: vc, - }) + }), ); const verifyCredentialMock = jest.fn(); @@ -53,7 +53,7 @@ describe("", () => { await act(async () => { renderWrapped( {}} canVerify />, - store + store, ); }); @@ -77,7 +77,7 @@ describe("", () => { store.dispatch( credentialsSaved({ github: vc, - }) + }), ); const verifyCredentialMock = jest.fn(); @@ -87,7 +87,7 @@ describe("", () => { await act(async () => { renderWrapped( {}} canVerify />, - store + store, ); }); @@ -111,7 +111,7 @@ describe("", () => { store.dispatch( credentialsSaved({ github: vc, - }) + }), ); const verifyCredentialMock = jest.fn(); @@ -121,7 +121,7 @@ describe("", () => { await act(async () => { renderWrapped( {}} canVerify />, - store + store, ); }); @@ -143,13 +143,13 @@ describe("", () => { store.dispatch( credentialsSaved({ github: vc, - }) + }), ); await act(async () => { renderWrapped( {}} canVerify />, - store + store, ); }); diff --git a/packages/builder/src/__tests__/components/providers/Twitter.test.tsx b/packages/builder/src/__tests__/components/providers/Twitter.test.tsx index de3b6af41a..962b51c2a6 100644 --- a/packages/builder/src/__tests__/components/providers/Twitter.test.tsx +++ b/packages/builder/src/__tests__/components/providers/Twitter.test.tsx @@ -34,7 +34,7 @@ describe("", () => { store.dispatch( credentialsSaved({ twitter: vc, - }) + }), ); const verifyCredentialMock = jest.fn(); @@ -44,7 +44,7 @@ describe("", () => { await act(async () => { renderWrapped( {}} canVerify />, - store + store, ); }); @@ -67,7 +67,7 @@ describe("", () => { store.dispatch( credentialsSaved({ twitter: vc, - }) + }), ); const verifyCredentialMock = jest.fn(); @@ -77,7 +77,7 @@ describe("", () => { await act(async () => { renderWrapped( {}} canVerify />, - store + store, ); }); @@ -101,7 +101,7 @@ describe("", () => { store.dispatch( credentialsSaved({ twitter: vc, - }) + }), ); const verifyCredentialMock = jest.fn(); @@ -111,7 +111,7 @@ describe("", () => { await act(async () => { renderWrapped( {}} canVerify />, - store + store, ); }); @@ -133,13 +133,13 @@ describe("", () => { store.dispatch( credentialsSaved({ twitter: vc, - }) + }), ); await act(async () => { renderWrapped( {}} canVerify />, - store + store, ); }); diff --git a/packages/builder/src/__tests__/components/rounds/Show.test.tsx b/packages/builder/src/__tests__/components/rounds/Show.test.tsx index 2e857dadab..04d7d191a0 100644 --- a/packages/builder/src/__tests__/components/rounds/Show.test.tsx +++ b/packages/builder/src/__tests__/components/rounds/Show.test.tsx @@ -113,7 +113,7 @@ describe("", () => { expect(screen.getByText("Apply")).toBeInTheDocument(); expect(screen.getByTestId("switch-networks-modal")).toBeInTheDocument(); expect( - screen.getByTestId("switch-networks-modal-title") + screen.getByTestId("switch-networks-modal-title"), ).toHaveTextContent("Switch Network"); }); @@ -125,7 +125,7 @@ describe("", () => { renderWrapped(, store); expect( - screen.queryByTestId("switch-network-modal") + screen.queryByTestId("switch-network-modal"), ).not.toBeInTheDocument(); }); }); @@ -265,7 +265,7 @@ describe("", () => { renderWrapped(, store); expect( - screen.getByText("The application period for this round will start on") + screen.getByText("The application period for this round will start on"), ).toBeInTheDocument(); expect(screen.getByText("Apply")).toBeDisabled(); }); diff --git a/packages/builder/src/__tests__/utils/RoundApplicationBuilder.test.ts b/packages/builder/src/__tests__/utils/RoundApplicationBuilder.test.ts index d660cb301d..ea3035af64 100644 --- a/packages/builder/src/__tests__/utils/RoundApplicationBuilder.test.ts +++ b/packages/builder/src/__tests__/utils/RoundApplicationBuilder.test.ts @@ -114,19 +114,19 @@ describe("round application builder", () => { project, roundApplicationMetadata, "0x000000000000000000000000000000000000bEAF", - "testnet" + "testnet", ); const application = await builder.build("0x1234", formInputs); expect(application.project).toEqual(project); expect(application.round).toEqual("0x1234"); expect(application.recipient).toEqual( - "0x000000000000000000000000000000000000bEAF" + "0x000000000000000000000000000000000000bEAF", ); // PROJECT and RECIPIENT are not included in the answers expect(application.answers.length).toEqual( - roundApplicationMetadata.applicationSchema.questions.length - 2 + roundApplicationMetadata.applicationSchema.questions.length - 2, ); const emailAnswer = application.answers[0]!; @@ -134,7 +134,7 @@ describe("round application builder", () => { expect(emailAnswer.encryptedAnswer).not.toBeUndefined(); expect(emailAnswer.encryptedAnswer!.ciphertext).not.toBeUndefined(); expect( - emailAnswer.encryptedAnswer!.encryptedSymmetricKey + emailAnswer.encryptedAnswer!.encryptedSymmetricKey, ).not.toBeUndefined(); }); }); diff --git a/packages/builder/src/actions/grantsMetadata.ts b/packages/builder/src/actions/grantsMetadata.ts index 5832626f86..e2df28346f 100644 --- a/packages/builder/src/actions/grantsMetadata.ts +++ b/packages/builder/src/actions/grantsMetadata.ts @@ -66,7 +66,7 @@ export const grantsMetadataAllUnloaded = (): GrantMetadataActions => ({ export const grantMetadataFetchingError = ( id: string, - error: string + error: string, ): GrantMetadataActions => ({ type: GRANT_METADATA_FETCHING_ERROR, id, @@ -76,12 +76,12 @@ export const grantMetadataFetchingError = ( const getProjectById = async ( projectId: string, addresses: any, - signerOrProvider: any + signerOrProvider: any, ) => { const projectRegistry = new ethers.Contract( addresses.projectRegistry, ProjectRegistryABI, - signerOrProvider + signerOrProvider, ); const { id } = getProjectURIComponents(projectId); @@ -96,7 +96,7 @@ const ensureMetadataTimestamps = async ( metadata: Metadata, appProvider: ethers.providers.BaseProvider, createdAtBlock?: number, - updatedAtBlock?: number + updatedAtBlock?: number, ) => { let ret = metadata; @@ -119,7 +119,7 @@ const getMetadata = async ( cacheKey: string, appProvider: ethers.providers.BaseProvider, createdAtBlock?: number, - updatedAtBlock?: number + updatedAtBlock?: number, ) => { const storage = new LocalStorage(); let metadata: Metadata; @@ -139,7 +139,7 @@ const getMetadata = async ( }, appProvider, createdAtBlock, - updatedAtBlock + updatedAtBlock, ); storage.add(cacheKey, JSON.stringify(ret)); @@ -170,7 +170,7 @@ const getMetadata = async ( JSON.parse(content), appProvider, createdAtBlock, - updatedAtBlock + updatedAtBlock, ); } catch (e) { // FIXME: dispatch JSON error @@ -229,7 +229,7 @@ export const fetchGrantData = cacheKey, appProvider, createdAtBlock, - updatedAtBlock + updatedAtBlock, ); if (item === null) { diff --git a/packages/builder/src/actions/newGrant.ts b/packages/builder/src/actions/newGrant.ts index 0ee84d59ba..2ff797e8b7 100644 --- a/packages/builder/src/actions/newGrant.ts +++ b/packages/builder/src/actions/newGrant.ts @@ -129,7 +129,7 @@ export const publishGrant = const projectRegistry = new ethers.Contract( addresses.projectRegistry!, ProjectRegistryABI, - signer + signer, ); dispatch(grantStatus(Status.WaitingForSignature)); diff --git a/packages/builder/src/actions/projectForm.ts b/packages/builder/src/actions/projectForm.ts index 8eec077e97..bab3032228 100644 --- a/packages/builder/src/actions/projectForm.ts +++ b/packages/builder/src/actions/projectForm.ts @@ -60,7 +60,7 @@ export const metadataSaved = ({ export const metadataImageSaved = ( image: Blob | string | undefined, - fieldName: string + fieldName: string, ) => ({ type: METADATA_IMAGE_SAVED, image, @@ -68,7 +68,7 @@ export const metadataImageSaved = ( }); export const credentialsSaved = ( - vc: ProjectCredentials + vc: ProjectCredentials, ): ProjectFormActions => ({ type: CREDENTIALS_SAVED, credentials: { diff --git a/packages/builder/src/actions/projects.ts b/packages/builder/src/actions/projects.ts index 67bde8faf4..f2e839ed9b 100644 --- a/packages/builder/src/actions/projects.ts +++ b/packages/builder/src/actions/projects.ts @@ -112,7 +112,7 @@ export const projectsLoading = (chainID: ChainId): ProjectsLoadingAction => ({ export const projectsLoaded = ( chainID: ChainId, - events: ProjectEventsMap + events: ProjectEventsMap, ): ProjectsLoadedAction => ({ type: PROJECTS_LOADED, payload: { @@ -127,7 +127,7 @@ const projectsUnload = () => ({ const fetchProjectCreatedUpdatedEvents = async ( chainID: ChainId, - account: string + account: string, ) => { const addresses = addressesByChainID(chainID!); @@ -161,7 +161,7 @@ const fetchProjectCreatedUpdatedEvents = async ( // FIXME: remove when the fantom RPC bug has been fixed createdEvents = createdEvents.filter( - (e) => e.address === addresses.projectRegistry + (e) => e.address === addresses.projectRegistry, ); if (createdEvents.length === 0) { @@ -177,7 +177,7 @@ const fetchProjectCreatedUpdatedEvents = async ( const ids = createdEvents.map((event) => parseInt(event.topics[1], 16)); const fullIds = ids.map( - (id) => `${chainID}:${addresses.projectRegistry}:${id}` + (id) => `${chainID}:${addresses.projectRegistry}:${id}`, ); // FIXME: use this line when the fantom RPC bug has been fixed @@ -192,7 +192,7 @@ const fetchProjectCreatedUpdatedEvents = async ( // FIXME: remove when fantom bug is fixed const updatedEventSig = ethers.utils.id( - "MetadataUpdated(uint256,(uint256,string))" + "MetadataUpdated(uint256,(uint256,string))", ); const updatedFilter = { address: addresses.projectRegistry, @@ -210,7 +210,7 @@ const fetchProjectCreatedUpdatedEvents = async ( // FIXME: remove when the fantom RPC bug has been fixed updatedEvents = updatedEvents.filter( - (e) => e.address === addresses.projectRegistry + (e) => e.address === addresses.projectRegistry, ); return { @@ -223,7 +223,7 @@ const fetchProjectCreatedUpdatedEvents = async ( export const extractProjectEvents = ( createdEvents: ethers.providers.Log[], updatedEvents: ethers.providers.Log[], - chainId: ChainId + chainId: ChainId, ) => { const chainAddresses = addressesByChainID(chainId); const eventList: { [key: string]: ProjectEvents } = {}; @@ -234,7 +234,7 @@ export const extractProjectEvents = ( // const id = createEvent.args!.projectID!; const id = `${chainId}:${chainAddresses.projectRegistry}:${parseInt( createEvent.topics[1], - 16 + 16, )}`; // eslint-disable-next-line no-param-reassign @@ -253,7 +253,7 @@ export const extractProjectEvents = ( // const id = BigNumber.from(updateEvent.args!.projectID!).toNumber(); const id = `${chainId}:${chainAddresses.projectRegistry}:${parseInt( updateEvent.topics[1], - 16 + 16, )}`; if (eventList[id] !== undefined) { // eslint-disable-next-line no-param-reassign @@ -302,7 +302,7 @@ export const loadProjects = const projectEventsMap = extractProjectEvents( project.createdEvents, project.updatedEvents, - chainID + chainID, ); if (withMetaData) { @@ -325,8 +325,8 @@ export const loadProjects = addAlert( "error", `Failed to load projects from ${chainName}`, - "Please try refreshing the page." - ) + "Please try refreshing the page.", + ), ); dispatch(projectsLoaded(chainID, {})); @@ -345,7 +345,7 @@ export const loadAllChainsProjects = export const fetchProjectApplicationInRound = async ( applicationId: string, roundID: string, - roundChainId: ChainId + roundChainId: ChainId, ): Promise => { const splitApplicationId = applicationId.split(":"); const projectChainId = Number(splitApplicationId[0]); @@ -355,7 +355,7 @@ export const fetchProjectApplicationInRound = async ( const projectApplicationID = generateUniqueRoundApplicationID( projectChainId, projectNumber, - projectRegistryAddress + projectRegistryAddress, ).toLowerCase(); const Id = roundID.toLowerCase(); @@ -377,7 +377,7 @@ export const fetchProjectApplicationInRound = async ( { projectApplicationID, Id, - } + }, ); if (response.errors) { @@ -420,7 +420,7 @@ export const fetchProjectApplications = const projectApplicationID = generateUniqueRoundApplicationID( projectChainId, projectID, - addresses.projectRegistry! + addresses.projectRegistry!, ); const response: any = await graphqlFetch( @@ -440,7 +440,7 @@ export const fetchProjectApplications = chain.id, { projectApplicationID, - } + }, ); if (response.errors) { @@ -453,7 +453,7 @@ export const fetchProjectApplications = roundID: application.round.id, chainId: chain.id, metaPtr: application.metaPtr, - }) + }), ); if (applications.length === 0) { @@ -474,13 +474,13 @@ export const fetchProjectApplications = projectID, "in Chain Id", chain.id, - error + error, ); datadogRum.addError(error, { projectID }); return []; } - }) + }), ); dispatch({ @@ -495,13 +495,13 @@ export const loadProjectStats = projectID: string, projectRegistryAddress: string, projectChainId: string, - rounds: Array<{ roundId: string; chainId: ChainId }> + rounds: Array<{ roundId: string; chainId: ChainId }>, ) => async (dispatch: Dispatch) => { const uniqueProjectID = generateUniqueRoundApplicationID( Number(projectChainId), projectID, - projectRegistryAddress + projectRegistryAddress, ); dispatch({ @@ -530,7 +530,7 @@ export const loadProjectStats = totalContributions: -1, success: false, }, - roundId + roundId, ); }; @@ -539,15 +539,15 @@ export const loadProjectStats = const client = new AlloClient( boundFetch, process.env.REACT_APP_ALLO_API_URL ?? "", - round.chainId + round.chainId, ); const applications = await client.getRoundApplications( - utils.getAddress(round.roundId.toLowerCase()) + utils.getAddress(round.roundId.toLowerCase()), ); const project = applications.find( - (app) => app.projectId === uniqueProjectID && app.status === "APPROVED" + (app) => app.projectId === uniqueProjectID && app.status === "APPROVED", ); if (project) { @@ -562,7 +562,7 @@ export const loadProjectStats = totalContributions: project.votes, success: true, }, - round.roundId + round.roundId, ); } else { await loadingErrorUpdate(round.roundId); diff --git a/packages/builder/src/actions/roundApplication.ts b/packages/builder/src/actions/roundApplication.ts index 3e1963789f..ffb9ea63b2 100644 --- a/packages/builder/src/actions/roundApplication.ts +++ b/packages/builder/src/actions/roundApplication.ts @@ -96,7 +96,7 @@ export type RoundApplicationActions = const applicationError = ( roundAddress: string, error: string, - step: Status + step: Status, ): RoundApplicationActions => ({ type: ROUND_APPLICATION_ERROR, roundAddress, @@ -119,7 +119,7 @@ const dispatchAndLogApplicationError = ( dispatch: Dispatch, roundAddress: string, error: string, - step: Status + step: Status, ) => { datadogRum.addError(new Error(error), { roundAddress, @@ -147,7 +147,7 @@ export const submitApplication = dispatch, roundAddress, "cannot load round data", - Status.BuildingApplication + Status.BuildingApplication, ); return; } @@ -158,14 +158,14 @@ export const submitApplication = dispatch, roundAddress, "cannot load round application metadata", - Status.BuildingApplication + Status.BuildingApplication, ); return; } const projectQuestion = roundApplicationMetadata.applicationSchema.questions.find( - (q) => q.type === "project" + (q) => q.type === "project", ); if (!projectQuestion) { @@ -173,7 +173,7 @@ export const submitApplication = dispatch, roundAddress, "cannot find project question id", - Status.BuildingApplication + Status.BuildingApplication, ); return; } @@ -192,7 +192,7 @@ export const submitApplication = dispatch, roundAddress, "cannot find selected project metadata", - Status.BuildingApplication + Status.BuildingApplication, ); return; } @@ -206,7 +206,7 @@ export const submitApplication = dispatch, roundAddress, "cannot find chain id", - Status.BuildingApplication + Status.BuildingApplication, ); return; } @@ -226,7 +226,7 @@ export const submitApplication = project, roundApplicationMetadata, roundAddress, - chainName === "mainnet" ? "ethereum" : chainName // lit wants "ethereum" for mainnet + chainName === "mainnet" ? "ethereum" : chainName, // lit wants "ethereum" for mainnet ); application = await builder.build(roundAddress, formInputs); @@ -237,7 +237,7 @@ export const submitApplication = dispatch, roundAddress, "error building round application", - Status.LitAuthentication + Status.LitAuthentication, ); return; } @@ -246,7 +246,7 @@ export const submitApplication = const hash = ethers.utils.solidityKeccak256( ["string"], - [deterministicApplication] + [deterministicApplication], ); dispatch({ @@ -263,7 +263,7 @@ export const submitApplication = dispatch, roundAddress, "error signing round application", - Status.SigningApplication + Status.SigningApplication, ); return; } @@ -288,7 +288,7 @@ export const submitApplication = dispatch, roundAddress, "error uploading round application metadata", - Status.UploadingMetadata + Status.UploadingMetadata, ); return; } @@ -307,7 +307,7 @@ export const submitApplication = const projectUniqueID = generateUniqueRoundApplicationID( Number(projectChainId), projectNumber, - projectRegistryAddress + projectRegistryAddress, ); try { @@ -320,14 +320,14 @@ export const submitApplication = projectId: projectID, }); dispatch( - fetchProjectApplications(projectID, Number(projectChainId)) + fetchProjectApplications(projectID, Number(projectChainId)), ); } catch (e: any) { dispatchAndLogApplicationError( dispatch, roundAddress, "error calling applyToRound", - Status.SendingTx + Status.SendingTx, ); } }; @@ -348,15 +348,15 @@ export const checkRoundApplications = generateUniqueRoundApplicationID( Number(projectChainId), id, - registryAddress + registryAddress, ), id, ]; - }) + }), ); const applicationFilter = contract.filters.NewProjectApplication( - Object.keys(uniqueIDsToIDs) + Object.keys(uniqueIDsToIDs), ); let applicationEvents = []; diff --git a/packages/builder/src/actions/rounds.ts b/packages/builder/src/actions/rounds.ts index dbd1d7c252..02d2cba60a 100644 --- a/packages/builder/src/actions/rounds.ts +++ b/packages/builder/src/actions/rounds.ts @@ -100,7 +100,7 @@ export const loadRound = } catch (e) { datadogRum.addError(e); datadogLogs.logger.error( - `contract: error loading application start time ${contract.address}` + `contract: error loading application start time ${contract.address}`, ); dispatch(loadingError(address, "error loading application start time")); console.error(e); @@ -120,7 +120,7 @@ export const loadRound = } catch (e) { datadogRum.addError(e); datadogLogs.logger.error( - `contract: error loading application end time ${contract.address}` + `contract: error loading application end time ${contract.address}`, ); dispatch(loadingError(address, "error loading application end time")); console.error(e); @@ -140,7 +140,7 @@ export const loadRound = } catch (e) { datadogRum.addError(e); datadogLogs.logger.error( - `contract: error loading round start time ${contract.address}` + `contract: error loading round start time ${contract.address}`, ); dispatch(loadingError(address, "error loading round start time")); console.error(e); @@ -160,7 +160,7 @@ export const loadRound = } catch (e) { datadogRum.addError(e); datadogLogs.logger.error( - `contract: error loading round end time ${contract.address}` + `contract: error loading round end time ${contract.address}`, ); dispatch(loadingError(address, "error loading round end time")); console.error(e); @@ -179,7 +179,7 @@ export const loadRound = } catch (e) { datadogRum.addError(e); datadogLogs.logger.error( - `contract: error loading round token ${contract.address}` + `contract: error loading round token ${contract.address}`, ); dispatch(loadingError(address, "error loading round token")); console.error(e); @@ -198,7 +198,7 @@ export const loadRound = } catch (e) { datadogRum.addError(e); datadogLogs.logger.error( - `contract: error loading round metaPtr ${contract.address}` + `contract: error loading round metaPtr ${contract.address}`, ); dispatch(loadingError(address, "error loading round metaPtr")); console.error(e); @@ -218,7 +218,7 @@ export const loadRound = } catch (e) { datadogRum.addError(e); datadogLogs.logger.error( - `contract: error loading round metadata ${contract.address}` + `contract: error loading round metadata ${contract.address}`, ); dispatch(loadingError(address, "error loading round metadata")); console.error(e); @@ -237,7 +237,7 @@ export const loadRound = } catch (e) { datadogRum.addError(e); datadogLogs.logger.error( - `contract: error loading application metaPtr ${contract.address}` + `contract: error loading application metaPtr ${contract.address}`, ); dispatch(loadingError(address, "error loading application metaPtr")); console.error(e); @@ -268,7 +268,7 @@ export const loadRound = const programContract = new ethers.Contract( roundMetadata.programContractAddress, ProgramABI, - appProvider + appProvider, ); dispatch({ @@ -283,7 +283,7 @@ export const loadRound = } catch (e) { datadogRum.addError(e); datadogLogs.logger.error( - `contract: error loading program metaPtr ${programContract.address}` + `contract: error loading program metaPtr ${programContract.address}`, ); dispatch(loadingError(address, "error loading program metaPtr")); console.error(e); diff --git a/packages/builder/src/actions/ui.ts b/packages/builder/src/actions/ui.ts index 8431bc99c3..51a214d650 100644 --- a/packages/builder/src/actions/ui.ts +++ b/packages/builder/src/actions/ui.ts @@ -18,7 +18,7 @@ export type UIActions = UIAlertAddedAction | UIAlertRemovedAction; export const addAlert = ( type: AlertTypes, title: string | undefined, - body: string | undefined + body: string | undefined, ): UIActions => ({ type: UI_ALERT_ADDED, payload: newAlert(type, title!, body!), diff --git a/packages/builder/src/components/Layout.tsx b/packages/builder/src/components/Layout.tsx index b30b468458..60bf03317d 100644 --- a/packages/builder/src/components/Layout.tsx +++ b/packages/builder/src/components/Layout.tsx @@ -28,7 +28,7 @@ function Layout(ownProps: Props) { chainID: state.web3.chainID, alerts: state.ui.alerts, }), - shallowEqual + shallowEqual, ); useEffect(() => { diff --git a/packages/builder/src/components/application/AboutProject.tsx b/packages/builder/src/components/application/AboutProject.tsx index c4f9660bbd..a19ab1dc40 100644 --- a/packages/builder/src/components/application/AboutProject.tsx +++ b/packages/builder/src/components/application/AboutProject.tsx @@ -24,12 +24,12 @@ export function AboutProject(props: { const { isValid: validTwitterCredential } = useValidateCredential( credentials?.twitter, - projectTwitter + projectTwitter, ); const { isValid: validGithubCredential } = useValidateCredential( credentials?.github, - projectGithub + projectGithub, ); const recipientQuestion = questions.find((item) => item.type === "recipient"); @@ -67,7 +67,7 @@ export function AboutProject(props: { i.id === props.chainID); @@ -139,7 +139,7 @@ export default function Form({ }); const recipientQuestion = schema.questions.find( - (q) => q.type === "recipient" + (q) => q.type === "recipient", ); if (recipientQuestion) { @@ -232,7 +232,7 @@ export default function Form({ round.address, // assume the chainID is set and we are on the same chain // as the round we are applying for - props.chainID! + props.chainID!, ); setHasExistingApplication(hasProjectAppliedToRound); setIsLoading(false); @@ -301,7 +301,7 @@ export default function Form({ !twitterCredentialValidation.isValid ) { projectRequirementsResult.push( - "Verification of project Twitter is required." + "Verification of project Twitter is required.", ); } @@ -318,7 +318,7 @@ export default function Form({ !githubCredentialValidation.isValid ) { projectRequirementsResult.push( - "Verification of project Github is required." + "Verification of project Github is required.", ); } @@ -395,7 +395,7 @@ export default function Form({ required feedback={ feedback.find( - (fb) => fb.title === input.id.toString() + (fb) => fb.title === input.id.toString(), ) ?? { type: "none", message: "", @@ -443,7 +443,7 @@ export default function Form({ disabled={preview} feedback={ feedback.find( - (fb) => fb.title === "isSafe" + (fb) => fb.title === "isSafe", ) ?? { type: "none", message: "", @@ -481,7 +481,7 @@ export default function Form({ } feedback={ feedback.find( - (fb) => fb.title === input.id.toString() + (fb) => fb.title === input.id.toString(), ) ?? { type: "none", message: "", diff --git a/packages/builder/src/components/application/FullPreview.tsx b/packages/builder/src/components/application/FullPreview.tsx index 5ab2a6b904..576b854f11 100644 --- a/packages/builder/src/components/application/FullPreview.tsx +++ b/packages/builder/src/components/application/FullPreview.tsx @@ -100,7 +100,7 @@ export function FullPreview(props: { // eslint-disable-next-line react/no-danger dangerouslySetInnerHTML={{ __html: renderToHTML( - project.description.replace(/\n/g, "\n\n") + project.description.replace(/\n/g, "\n\n"), ), }} className="text-md prose prose-h1:text-lg prose-h2:text-base prose-h3:text-base prose-a:text-blue-600" @@ -131,7 +131,7 @@ export function FullPreview(props: { // eslint-disable-next-line react/no-danger dangerouslySetInnerHTML={{ __html: renderToHTML( - answerText.toString().replace(/\n/g, "\n\n") + answerText.toString().replace(/\n/g, "\n\n"), ), }} className="text-md prose prose-h1:text-lg prose-h2:text-base prose-h3:text-base prose-a:text-blue-600" diff --git a/packages/builder/src/components/base/CustomerSupport.tsx b/packages/builder/src/components/base/CustomerSupport.tsx index 60f2e50588..f6d6c42a0c 100644 --- a/packages/builder/src/components/base/CustomerSupport.tsx +++ b/packages/builder/src/components/base/CustomerSupport.tsx @@ -69,7 +69,7 @@ function CustomerSupport() { const toggleMenu = () => setOpen(!open); useEffect( - listenForOutsideClicks({ listening, setListening, menuRef, setOpen }) + listenForOutsideClicks({ listening, setListening, menuRef, setOpen }), ); return ( diff --git a/packages/builder/src/components/base/ImageInput.tsx b/packages/builder/src/components/base/ImageInput.tsx index 46aefe3a57..d1722b391e 100644 --- a/packages/builder/src/components/base/ImageInput.tsx +++ b/packages/builder/src/components/base/ImageInput.tsx @@ -58,7 +58,7 @@ export default function ImageInput({ }; const saveImage = ( - e: React.DragEvent | React.ChangeEvent + e: React.DragEvent | React.ChangeEvent, ) => { e.preventDefault(); e.stopPropagation(); diff --git a/packages/builder/src/components/base/NetworkForm.tsx b/packages/builder/src/components/base/NetworkForm.tsx index d2ea8fb585..0bc3608fc6 100644 --- a/packages/builder/src/components/base/NetworkForm.tsx +++ b/packages/builder/src/components/base/NetworkForm.tsx @@ -16,10 +16,10 @@ function NetworkForm({ (state: RootState) => ({ currentChain: state.web3.chainID, }), - shallowEqual + shallowEqual, ); const [switchTo, setSwitchTo] = useState( - props.currentChain + props.currentChain, ); const [showModal, setShowModal] = useState(false); const { chains } = useSwitchNetwork(); diff --git a/packages/builder/src/components/base/NetworkSwitchModal.tsx b/packages/builder/src/components/base/NetworkSwitchModal.tsx index 4bd565d27d..16fa4f46d0 100644 --- a/packages/builder/src/components/base/NetworkSwitchModal.tsx +++ b/packages/builder/src/components/base/NetworkSwitchModal.tsx @@ -21,7 +21,7 @@ export default function NetworkSwitchModal({ const networkName = useMemo( () => chains.find((i) => i.id === networkId)?.name as string, - [networkId, chains] + [networkId, chains], ); const handleNetworkSwitch = async () => { diff --git a/packages/builder/src/components/base/Preview.tsx b/packages/builder/src/components/base/Preview.tsx index 13f842a837..7eda8b47c2 100644 --- a/packages/builder/src/components/base/Preview.tsx +++ b/packages/builder/src/components/base/Preview.tsx @@ -71,8 +71,8 @@ export default function Preview({ addAlert( "success", "Your project has been saved successfully!", - undefined - ) + undefined, + ), ); }, 1500); } diff --git a/packages/builder/src/components/base/ProjectForm.tsx b/packages/builder/src/components/base/ProjectForm.tsx index 2ffc4decbf..6d97a802e2 100644 --- a/packages/builder/src/components/base/ProjectForm.tsx +++ b/packages/builder/src/components/base/ProjectForm.tsx @@ -33,7 +33,7 @@ function ProjectForm({ error: state.newGrant.error, formMetaData: state.projectForm.metadata, }), - shallowEqual + shallowEqual, ); const [formValidation, setFormValidation] = useState(validation); @@ -53,7 +53,7 @@ function ProjectForm({ metadataSaved({ ...props.formMetaData, [e.target.name]: value, - }) + }), ); }; diff --git a/packages/builder/src/components/base/VerificationForm.tsx b/packages/builder/src/components/base/VerificationForm.tsx index 3bd8116078..79e7c91122 100644 --- a/packages/builder/src/components/base/VerificationForm.tsx +++ b/packages/builder/src/components/base/VerificationForm.tsx @@ -24,7 +24,7 @@ export default function VerificationForm({ (state: RootState) => ({ formMetaData: state.projectForm.metadata, }), - shallowEqual + shallowEqual, ); const [failed, setFailed] = useState(); @@ -44,7 +44,7 @@ export default function VerificationForm({ metadataSaved({ ...props.formMetaData, [e.target.name]: value, - }) + }), ); }; @@ -64,7 +64,7 @@ export default function VerificationForm({ title: err.path || "", type: "error", message: err.message, - })) + })), ); }; diff --git a/packages/builder/src/components/base/__tests__/BaseModal.test.tsx b/packages/builder/src/components/base/__tests__/BaseModal.test.tsx index 47cd26db5d..9a2862adc7 100644 --- a/packages/builder/src/components/base/__tests__/BaseModal.test.tsx +++ b/packages/builder/src/components/base/__tests__/BaseModal.test.tsx @@ -11,7 +11,7 @@ describe("Base Modal", () => { render(
Test Modal
-
+ , ); expect(screen.queryByText("Test Modal")).toBeInTheDocument(); }); @@ -20,7 +20,7 @@ describe("Base Modal", () => { render(
Test Modal
-
+ , ); expect(screen.queryByText("Test Modal")).not.toBeInTheDocument(); }); diff --git a/packages/builder/src/components/base/__tests__/NetworkForm.test.tsx b/packages/builder/src/components/base/__tests__/NetworkForm.test.tsx index 8f748d9418..dc7ec67da0 100644 --- a/packages/builder/src/components/base/__tests__/NetworkForm.test.tsx +++ b/packages/builder/src/components/base/__tests__/NetworkForm.test.tsx @@ -47,8 +47,8 @@ describe("NetworkForm", () => { renderWrapped(, store); expect( screen.queryByText( - "Which network would you like to create this project on?" - ) + "Which network would you like to create this project on?", + ), ).toBeInTheDocument(); }); @@ -104,7 +104,7 @@ describe("NetworkForm", () => { }); expect( - screen.queryByText("Switch Networks to Continue") + screen.queryByText("Switch Networks to Continue"), ).toBeInTheDocument(); }); }); diff --git a/packages/builder/src/components/base/__tests__/NetworkSwitchModal.test.tsx b/packages/builder/src/components/base/__tests__/NetworkSwitchModal.test.tsx index 5740359988..114b6d0347 100644 --- a/packages/builder/src/components/base/__tests__/NetworkSwitchModal.test.tsx +++ b/packages/builder/src/components/base/__tests__/NetworkSwitchModal.test.tsx @@ -25,7 +25,7 @@ describe("NetworkSwitchModal", () => { switchNetworkAsync = jest .fn() .mockImplementation((chainId_?: number | undefined) => - chains.find((i) => chainId_ === i.id) + chains.find((i) => chainId_ === i.id), ); onSwitch = jest.fn(); @@ -54,13 +54,13 @@ describe("NetworkSwitchModal", () => { toggleModal={toggleModal} onSwitch={onSwitch} />, - store + store, ); }); it("should show modal", () => { expect( - screen.queryByText("Switch Networks to Continue") + screen.queryByText("Switch Networks to Continue"), ).toBeInTheDocument(); }); diff --git a/packages/builder/src/components/base/__tests__/Toast.test.tsx b/packages/builder/src/components/base/__tests__/Toast.test.tsx index 7c97aaf8d4..5b5bf3e9a8 100644 --- a/packages/builder/src/components/base/__tests__/Toast.test.tsx +++ b/packages/builder/src/components/base/__tests__/Toast.test.tsx @@ -9,7 +9,7 @@ describe("Toast", () => { render(

Toast

-
+ , ); expect(screen.queryByText("Toast")).toBeInTheDocument(); @@ -19,7 +19,7 @@ describe("Toast", () => { render(

Toast

-
+ , ); expect(screen.queryByText("Toast")).not.toBeInTheDocument(); diff --git a/packages/builder/src/components/base/__tests__/VerificationForm.test.tsx b/packages/builder/src/components/base/__tests__/VerificationForm.test.tsx index db3584ccde..87fbd20656 100644 --- a/packages/builder/src/components/base/__tests__/VerificationForm.test.tsx +++ b/packages/builder/src/components/base/__tests__/VerificationForm.test.tsx @@ -40,7 +40,7 @@ describe("", () => { expect(gitHubIcon).toBeInTheDocument(); expect( - screen.getByLabelText("Project Twitter Account") + screen.getByLabelText("Project Twitter Account"), ).toBeInTheDocument(); expect(screen.getByLabelText("Your GitHub Username")).toBeInTheDocument(); expect(screen.getByLabelText("GitHub Organization")).toBeInTheDocument(); @@ -71,16 +71,16 @@ describe("", () => { await waitFor(() => { const errorCountMessage = screen.getByText( - "There were 3 errors with your form submission" + "There were 3 errors with your form submission", ); const twitterUserErrors = screen.getAllByText( - "Project Twitter should not include an @ symbol" + "Project Twitter should not include an @ symbol", ); const githubUserErrors = screen.getAllByText( - "Your GitHub Username should not be a URL" + "Your GitHub Username should not be a URL", ); const githubProjectErrors = screen.getAllByText( - "GitHub Organization should not be a URL" + "GitHub Organization should not be a URL", ); expect(errorCountMessage).toBeInTheDocument(); diff --git a/packages/builder/src/components/base/__tests__/formValidation.test.ts b/packages/builder/src/components/base/__tests__/formValidation.test.ts index 0e36f487c9..63fca53b06 100644 --- a/packages/builder/src/components/base/__tests__/formValidation.test.ts +++ b/packages/builder/src/components/base/__tests__/formValidation.test.ts @@ -37,7 +37,7 @@ describe("Form Validation", () => { const error = e as ValidationError; const innerError = error.inner[1] as ValidationError; expect(innerError.message).toBe( - "Project Website must be a valid url. e.g. https://gitcoin.co/" + "Project Website must be a valid url. e.g. https://gitcoin.co/", ); expect(error.name).toBe("ValidationError"); } @@ -84,7 +84,7 @@ describe("Form Validation", () => { try { await validateApplication(defaultInputs, formInputs); throw new Error( - "expected to catch a validation error but there was no error" + "expected to catch a validation error but there was no error", ); } catch (e) { const error = e as ValidationError; diff --git a/packages/builder/src/components/base/formValidation.ts b/packages/builder/src/components/base/formValidation.ts index c9cf3b464d..06d78b594d 100644 --- a/packages/builder/src/components/base/formValidation.ts +++ b/packages/builder/src/components/base/formValidation.ts @@ -28,10 +28,10 @@ export async function validateProjectForm(inputs: FormInputs) { function createValidationSchema(field: string) { return string() .test("has-no-at", `${field} should not include an @ symbol`, (value) => - value ? !value.includes("@") : true + value ? !value.includes("@") : true, ) .test("is-not-url", `${field} should not be a URL`, (value) => - value ? !urlRegex.test(value) : true + value ? !urlRegex.test(value) : true, ); } @@ -49,7 +49,7 @@ export async function validateVerificationForm(inputs: FormInputs) { export async function validateApplication( questions: RoundApplicationQuestion[], - answers: RoundApplicationAnswers + answers: RoundApplicationAnswers, ) { const schema = questions.reduce((acc, input) => { let validation; @@ -60,7 +60,7 @@ export async function validateApplication( if (input.type === "email") { validation = string().email( - `${input.title} must be a valid email address` + `${input.title} must be a valid email address`, ); if (input.required) { @@ -79,7 +79,7 @@ export async function validateApplication( return { ...acc, isSafe: string().required( - "You must select an answer to whether your payout wallet is a Gnosis Safe or multisig" + "You must select an answer to whether your payout wallet is a Gnosis Safe or multisig", ), [input.id]: string() .matches(/^0x[a-fA-F0-9]{40}$/g, { @@ -94,12 +94,12 @@ export async function validateApplication( if (input.required) { validation = validation.min( 1, - `You must select at least one value for ${input.title}` + `You must select at least one value for ${input.title}`, ); } } else if (input.type === "link") { validation = string().url( - `${input.title} must be a valid url. e.g. https://gitcoin.co/` + `${input.title} must be a valid url. e.g. https://gitcoin.co/`, ); if (input.required) { diff --git a/packages/builder/src/components/base/images/ImageCrop.tsx b/packages/builder/src/components/base/images/ImageCrop.tsx index d2bafaf8f7..923623eab6 100644 --- a/packages/builder/src/components/base/images/ImageCrop.tsx +++ b/packages/builder/src/components/base/images/ImageCrop.tsx @@ -17,7 +17,7 @@ import Button, { ButtonVariants } from "../Button"; function centerAspectCrop( mediaWidth: number, mediaHeight: number, - aspect: number + aspect: number, ) { return centerCrop( makeAspectCrop( @@ -27,10 +27,10 @@ function centerAspectCrop( }, aspect, mediaWidth, - mediaHeight + mediaHeight, ), mediaWidth, - mediaHeight + mediaHeight, ) as PixelCrop; } diff --git a/packages/builder/src/components/base/images/buildCanvas.ts b/packages/builder/src/components/base/images/buildCanvas.ts index 6733ed5aba..0b7a5a16fe 100644 --- a/packages/builder/src/components/base/images/buildCanvas.ts +++ b/packages/builder/src/components/base/images/buildCanvas.ts @@ -3,7 +3,7 @@ import { PixelCrop } from "react-image-crop"; export default function buildCanvas( image: HTMLImageElement, crop: PixelCrop, - dimensions: { width: number; height: number } + dimensions: { width: number; height: number }, ) { const canvas = document.createElement("canvas"); @@ -30,7 +30,7 @@ export default function buildCanvas( 0, 0, canvas.width, - canvas.height + canvas.height, ); return canvas; diff --git a/packages/builder/src/components/grants/About.tsx b/packages/builder/src/components/grants/About.tsx index f76923af2d..558c0ec815 100644 --- a/packages/builder/src/components/grants/About.tsx +++ b/packages/builder/src/components/grants/About.tsx @@ -42,12 +42,12 @@ export default function About({ const { isValid: validTwitterCredential } = useValidateCredential( project?.credentials?.twitter, - project?.projectTwitter + project?.projectTwitter, ); const { isValid: validGithubCredential } = useValidateCredential( project?.credentials?.github, - project?.projectGithub + project?.projectGithub, ); const renderApplications = () => ( @@ -173,7 +173,7 @@ export default function About({ // eslint-disable-next-line react/no-danger dangerouslySetInnerHTML={{ __html: renderToHTML( - project.description.replace(/\n/g, "\n\n") + project.description.replace(/\n/g, "\n\n"), ), }} /> diff --git a/packages/builder/src/components/grants/ApplicationCard.tsx b/packages/builder/src/components/grants/ApplicationCard.tsx index 563ee1b945..7d57e74365 100644 --- a/packages/builder/src/components/grants/ApplicationCard.tsx +++ b/packages/builder/src/components/grants/ApplicationCard.tsx @@ -23,10 +23,10 @@ export default function ApplicationCard({ const support: RoundSupport | undefined = round?.roundMetadata?.support; const applicationChainName = networkPrettyName( - Number(applicationData.chainId) + Number(applicationData.chainId), ); const applicationChainIconUri = getNetworkIcon( - Number(applicationData.chainId) + Number(applicationData.chainId), ); return { @@ -154,7 +154,7 @@ export default function ApplicationCard({ to={roundApplicationViewPath( applicationData.chainId, applicationData.roundID, - applicationData.application.metaPtr.pointer + applicationData.application.metaPtr.pointer, )} >