From f6ccd015ae2930aba0465c7e42a3b5ef45731f5c Mon Sep 17 00:00:00 2001 From: Laurin Quast Date: Fri, 8 Jul 2022 11:18:33 +0200 Subject: [PATCH] hive/app: strict null checks (#220) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix src/lib/urql-cache.ts * fix src/lib/mixpanel.ts * fix: src/lib/hooks/use-route-selector.ts * fix: src/lib/access/common.ts * fix: src/components/v2/time-ago.tsx * fix: src/components/v2/skeleton.tsx * fix: src/components/v2/modals/delete-organization.tsx (verified functionality) * fix: src/components/v2/modals/create-target.tsx * fix: src/components/v2/modals/create-project.tsx * fix: src/components/v2/modals/create-organization.tsx * fix: src/components/v2/modals/create-channel.tsx * fix: src/components/v2/modals/create-alert.tsx * fix: packages/web/app/src/components/v2/dropdown.tsx * fix: src/components/v2/data-wrapper.tsx * fix: src/components/target/operations/Filters.tsx * fix: pages/[orgId]/[projectId]/[targetId]/history.tsx * fix: src/components/project/Switcher.tsx * fix: src/components/organization/Switcher.tsx * fix: src/components/organization/Permissions.tsx * fix: pages/settings.tsx * fix: packages/web/app/src/components/v2/tabs.tsx * fix: packages/web/app/src/components/v2/avatar.tsx * fix: packages/web/app/pages/join/[inviteCode].tsx * fix: packages/web/app/pages/[orgId]/index.tsx * fix: pages/[orgId]/members.tsx * fix: pages/[orgId]/settings.tsx * fix: pages/[orgId]/subscription/index.tsx * fix: pages/api/github/callback.ts * fix: pages/api/github/connect/[orgId].ts * fix: src/components/common/Navigation.tsx * fix: src/components/common/UserSettings.tsx * fix: src/components/common/LoadingAPI.tsx * fix: packages/web/app/src/components/common/Feedback.tsx * fix: packages/web/app/src/components/common/DataWrapper.tsx * fix: src/components/admin/AdminStats.tsx * fix: pages/index.tsx * fix: pages/api/proxy.ts * fix: src/components/auth/AuthProvider.tsx * fix: pages/[orgId]/[projectId]/index.tsx * fix: pages/[orgId]/[projectId]/settings.tsx * fix: src/components/organization/billing/Billing.tsx * fix: src/components/organization/billing/BillingPaymentMethod.tsx * fix: src/components/organization/billing/BillingPlanPicker.tsx * fix: src/components/organization/billing/InvoicesList.tsx * fix: pages/[orgId]/_new.tsx * fix: pages/[orgId]/subscription/manage.tsx * fix: pages/[orgId]/[projectId]/[targetId]/settings.tsx * fix: src/components/target/operations/List.tsx * fix: src/components/target/operations/Stats.tsx * fix: src/components/target/Switcher.tsx * fix: pages/[orgId]/[projectId]/[targetId]/index.tsx * fix: src/components/organization/billing/PlanSummary.tsx * fix: src/components/v2/modals/create-access-token.tsx * fix: src/components/v2/header.tsx * fix: src/components/layouts/project.tsx * fix: src/components/layouts/target.tsx * fix: src/components/layouts/organization.tsx * fix: src/components/v2/activities.tsx * fix: enable rule * strict mode * NOTE: This file should not be edited 😁 * run prettier --- packages/web/app/modules.d.ts | 9 +- .../[projectId]/[targetId]/history.tsx | 16 ++-- .../[orgId]/[projectId]/[targetId]/index.tsx | 92 ++++++++++--------- .../[projectId]/[targetId]/operations.tsx | 2 +- .../[projectId]/[targetId]/settings.tsx | 6 +- .../app/pages/[orgId]/[projectId]/index.tsx | 2 +- .../pages/[orgId]/[projectId]/settings.tsx | 12 +-- packages/web/app/pages/[orgId]/_new.tsx | 2 +- packages/web/app/pages/[orgId]/index.tsx | 20 ++-- packages/web/app/pages/[orgId]/members.tsx | 12 +-- packages/web/app/pages/[orgId]/settings.tsx | 8 +- .../app/pages/[orgId]/subscription/index.tsx | 4 +- .../app/pages/[orgId]/subscription/manage.tsx | 47 +++++++--- packages/web/app/pages/api/proxy.ts | 2 +- packages/web/app/pages/index.tsx | 24 +++-- packages/web/app/pages/join/[inviteCode].tsx | 32 ++++--- packages/web/app/pages/settings.tsx | 19 +--- .../app/src/components/admin/AdminStats.tsx | 24 ++--- .../app/src/components/auth/AuthProvider.tsx | 8 +- .../app/src/components/common/DataWrapper.tsx | 4 + .../app/src/components/common/Feedback.tsx | 8 +- .../app/src/components/common/LoadingAPI.tsx | 32 +++---- .../app/src/components/common/Navigation.tsx | 12 ++- .../src/components/common/UserSettings.tsx | 14 ++- .../src/components/layouts/organization.tsx | 16 +++- .../app/src/components/layouts/project.tsx | 19 ++-- .../web/app/src/components/layouts/target.tsx | 8 +- .../components/organization/Permissions.tsx | 16 +++- .../src/components/organization/Switcher.tsx | 56 +++++------ .../organization/billing/Billing.tsx | 4 + .../billing/BillingPaymentMethod.tsx | 2 +- .../billing/BillingPlanPicker.tsx | 3 +- .../organization/billing/InvoicesList.tsx | 2 +- .../organization/billing/PlanSummary.tsx | 18 ++-- .../app/src/components/project/Switcher.tsx | 29 +++--- .../app/src/components/target/Switcher.tsx | 22 ++--- .../components/target/operations/Filters.tsx | 31 +++++-- .../src/components/target/operations/List.tsx | 50 ++++++---- .../components/target/operations/Stats.tsx | 37 ++++---- .../web/app/src/components/v2/activities.tsx | 7 +- packages/web/app/src/components/v2/avatar.tsx | 8 +- .../app/src/components/v2/data-wrapper.tsx | 6 +- .../web/app/src/components/v2/dropdown.tsx | 54 +++++------ packages/web/app/src/components/v2/header.tsx | 2 +- .../v2/modals/create-access-token.tsx | 44 ++++++--- .../src/components/v2/modals/create-alert.tsx | 6 +- .../components/v2/modals/create-channel.tsx | 2 +- .../v2/modals/create-organization.tsx | 2 +- .../components/v2/modals/create-project.tsx | 2 +- .../components/v2/modals/create-target.tsx | 2 +- .../v2/modals/delete-organization.tsx | 12 +-- .../web/app/src/components/v2/skeleton.tsx | 2 +- packages/web/app/src/components/v2/tabs.tsx | 37 ++++---- .../web/app/src/components/v2/time-ago.tsx | 4 +- .../mutation.delete-alert-channels.graphql | 1 + .../graphql/mutation.delete-alerts.graphql | 1 + .../mutation.delete-organization.graphql | 1 + ...utation.delete-persisted-operation.graphql | 1 + .../graphql/mutation.delete-project.graphql | 1 + .../graphql/mutation.delete-target.graphql | 1 + .../mutation.join-organization.graphql | 1 + ...ery.get-github-integration-details.graphql | 1 - .../query.organization-invitation.graphql | 1 + packages/web/app/src/lib/access/common.ts | 6 +- .../web/app/src/lib/access/organization.ts | 4 +- packages/web/app/src/lib/access/project.ts | 7 +- packages/web/app/src/lib/access/target.ts | 7 +- .../app/src/lib/hooks/use-route-selector.ts | 2 +- packages/web/app/src/lib/mixpanel.ts | 2 +- packages/web/app/src/lib/urql-cache.ts | 40 +++++--- packages/web/app/tsconfig.json | 8 +- 71 files changed, 564 insertions(+), 435 deletions(-) diff --git a/packages/web/app/modules.d.ts b/packages/web/app/modules.d.ts index eb8a12a35e..d96c502c2d 100644 --- a/packages/web/app/modules.d.ts +++ b/packages/web/app/modules.d.ts @@ -1,4 +1,3 @@ -/* eslint-disable import/no-unused-modules */ declare module 'node-crisp-api'; declare module 'tailwindcss/colors'; @@ -8,3 +7,11 @@ declare module '@n1ru4l/react-time-ago' { children: (args: { value: string }) => React.ReactElement; }): React.ReactElement; } + +declare namespace NodeJS { + export interface ProcessEnv { + APP_BASE_URL: string; + GITHUB_APP_NAME: string; + GRAPHQL_ENDPOINT: string; + } +} diff --git a/packages/web/app/pages/[orgId]/[projectId]/[targetId]/history.tsx b/packages/web/app/pages/[orgId]/[projectId]/[targetId]/history.tsx index 404b9d1ebf..50cc05eef9 100644 --- a/packages/web/app/pages/[orgId]/[projectId]/[targetId]/history.tsx +++ b/packages/web/app/pages/[orgId]/[projectId]/[targetId]/history.tsx @@ -50,7 +50,7 @@ const ChangesBlock = ({ }: { changes: SchemaChangeFieldsFragment[]; criticality: CriticalityLevel; -}): ReactElement => { +}): ReactElement | null => { const filteredChanges = changes.filter(c => c.criticality === criticality); if (!filteredChanges.length) { @@ -71,7 +71,7 @@ const ChangesBlock = ({ ); }; -const DiffView = ({ view, versionId }: { view: 'sdl' | 'list'; versionId: string }): ReactElement => { +const DiffView = ({ view, versionId }: { view: 'sdl' | 'list'; versionId: string }): ReactElement | null => { const router = useRouteSelector(); const [compareQuery] = useQuery({ query: CompareDocument, @@ -183,7 +183,10 @@ const ListPage = ({