;
+
+type PolymorphicComponent = <
+ T extends ElementType = D,
+>(
+ props: PolymorphicProps
,
+) => ReactElement | null;
+
+export const TypeFormModal: PolymorphicComponent = forwardRef(
+ (
+ props: TypeFormModalProps,
+ ref: Ref,
+ ) => {
+ const { as = "div", popupState, ...restProps } = props;
+
+ const inner = createElement(as, {
+ ...restProps,
+ ref,
+ popupState,
+ });
+
+ return (
+ ({
+ p: "0px !important",
+ border: 1,
+ borderColor: theme.palette.gray[20],
+ })}
+ >
+ {inner}
+
+ );
+ },
+);
+
+export type TypeFormDefaults = { name: string; description: string };
+
+export type TypeFormProps = {
+ onClose?: () => void;
+ modalTitle: ReactNode;
+ popupState: PopupState;
+ onSubmit: (data: T) => Promise | void;
+ submitButtonProps: TypeFormSubmitProps;
+ disabledFields?: (keyof DeepPartial)[];
+ getDefaultValues: () => DeepPartial;
+};
+
+export const TypeForm = ({
+ children,
+ nameExists,
+ disabledFields = [],
+ getDefaultValues,
+ onClose,
+ modalTitle,
+ popupState,
+ onSubmit,
+ submitButtonProps,
+}: {
+ children?: ReactNode;
+ nameExists: (name: string) => Promise;
+} & TypeFormProps) => {
+ const defaultValues = getDefaultValues();
+
+ const formMethods = useForm({
+ defaultValues,
+ shouldFocusError: true,
+ mode: "onBlur",
+ reValidateMode: "onChange",
+ });
+
+ const {
+ handleSubmit: wrapHandleSubmit,
+ formState: { isSubmitting, isValid },
+ setFocus,
+ trigger,
+ } = formMethods;
+
+ useTriggerValidation(defaultValues, disabledFields, trigger);
+
+ const defaultField = defaultValues.name ? "description" : "name";
+
+ useEffect(() => {
+ setFocus(
+ // @ts-expect-error trigger expects Path, but key is already equivalent
+ defaultField,
+ );
+ }, [setFocus, defaultField]);
+
+ const handleSubmit = wrapHandleSubmit(onSubmit);
+
+ return (
+
+ ({
+ px: 2.5,
+ pr: 1.5,
+ pb: 1.5,
+ pt: 2,
+ borderBottom: 1,
+ borderColor: theme.palette.gray[20],
+ alignItems: "center",
+ display: "flex",
+ })}
+ >
+
+ {modalTitle}
+
+ ({
+ ml: "auto",
+ svg: {
+ color: theme.palette.gray[50],
+ fontSize: 20,
+ },
+ })}
+ disabled={isSubmitting}
+ >
+
+
+
+ {
+ event.stopPropagation(); // stop the parent submit being triggered
+
+ void handleSubmit(event);
+ }}
+ >
+
+
+
+ {children}
+
+
+
+
+
+
+
+
+ );
+};
diff --git a/packages/hash/frontend/src/pages/[shortname]/types/entity-type/[entity-type-id].page/shared/entity-types-context.ts b/packages/hash/frontend/src/pages/[shortname]/types/entity-type/[entity-type-id].page/shared/entity-types-context.ts
index 455ceabec79..b095b422682 100644
--- a/packages/hash/frontend/src/pages/[shortname]/types/entity-type/[entity-type-id].page/shared/entity-types-context.ts
+++ b/packages/hash/frontend/src/pages/[shortname]/types/entity-type/[entity-type-id].page/shared/entity-types-context.ts
@@ -6,6 +6,7 @@ export type EntityTypesSet = Record;
export type EntityTypesContextValue = {
entityTypes: EntityTypesSet;
linkTypes: EntityTypesSet;
+ refetch: () => Promise;
};
export const EntityTypesContext = createContext(
null,
@@ -25,3 +26,4 @@ const useEntityTypesContext = () => {
export const useLinkEntityTypes = () => useEntityTypesContext().linkTypes;
export const useEntityTypes = () => useEntityTypesContext().entityTypes;
+export const useFetchEntityTypes = () => useEntityTypesContext().refetch;
diff --git a/packages/hash/frontend/src/pages/[shortname]/types/entity-type/[entity-type-id].page/use-entity-types-context-value.tsx b/packages/hash/frontend/src/pages/[shortname]/types/entity-type/[entity-type-id].page/use-entity-types-context-value.tsx
index b668c0fdd04..851be45069b 100644
--- a/packages/hash/frontend/src/pages/[shortname]/types/entity-type/[entity-type-id].page/use-entity-types-context-value.tsx
+++ b/packages/hash/frontend/src/pages/[shortname]/types/entity-type/[entity-type-id].page/use-entity-types-context-value.tsx
@@ -1,69 +1,50 @@
+import { linkEntityTypeUri } from "@hashintel/hash-subgraph";
import { getEntityTypes } from "@hashintel/hash-subgraph/src/stdlib/element/entity-type";
-import { useRouter } from "next/router";
-import { useEffect, useRef, useState } from "react";
+import { useCallback, useEffect, useMemo, useState } from "react";
import { useBlockProtocolAggregateEntityTypes } from "../../../../../components/hooks/blockProtocolFunctions/ontology/useBlockProtocolAggregateEntityTypes";
import {
EntityTypesContextValue,
EntityTypesSet,
} from "./shared/entity-types-context";
-export const useEntityTypesContextValue = ():
- | { loading: true; data: EntityTypesContextValue | null }
- | { loading: false; data: EntityTypesContextValue } => {
- const [loading, setLoading] = useState(true);
- const [types, setTypes] = useState(null);
+export const useEntityTypesContextValue =
+ (): EntityTypesContextValue | null => {
+ const [types, setTypes] = useState | null>(null);
- const { aggregateEntityTypes } = useBlockProtocolAggregateEntityTypes();
+ const { aggregateEntityTypes } = useBlockProtocolAggregateEntityTypes();
- const router = useRouter();
- const lastFetched = useRef(null);
+ const fetch = useCallback(async () => {
+ const res = await aggregateEntityTypes({ data: {} });
+ const subgraph = res.data;
+ const entityTypes = subgraph ? getEntityTypes(subgraph) : [];
- useEffect(() => {
- let cancelled = false;
+ const linkEntityTypesRecord: EntityTypesSet = {};
+ const nonLinkEntityTypesRecord: EntityTypesSet = {};
- setLoading(true);
- setTypes(null);
- lastFetched.current = router.asPath;
+ for (const entityType of entityTypes) {
+ const target =
+ entityType.schema.allOf?.length === 1 &&
+ entityType.schema.allOf[0]?.$ref === linkEntityTypeUri
+ ? linkEntityTypesRecord
+ : nonLinkEntityTypesRecord;
- void aggregateEntityTypes({ data: {} }).then((res) => {
- if (!cancelled) {
- const subgraph = res.data;
- const entityTypes = subgraph ? getEntityTypes(subgraph) : [];
-
- const linkEntityTypesRecord: EntityTypesSet = {};
- const nonLinkEntityTypesRecord: EntityTypesSet = {};
-
- for (const entityType of entityTypes) {
- const target =
- entityType.schema.allOf?.length === 1 &&
- // Don't hardcode
- entityType.schema.allOf[0]?.$ref ===
- "https://blockprotocol.org/@blockprotocol/types/entity-type/link/v/1"
- ? linkEntityTypesRecord
- : nonLinkEntityTypesRecord;
-
- target[entityType.schema.$id] = entityType;
- }
- setTypes({
- entityTypes: nonLinkEntityTypesRecord,
- linkTypes: linkEntityTypesRecord,
- });
- setLoading(false);
+ target[entityType.schema.$id] = entityType;
}
- });
-
- return () => {
- cancelled = true;
- setLoading(false);
- };
- }, [
- aggregateEntityTypes,
- // Hack to force a refetch when changing page
- // @todo decide on refetch strategy for blocks
- router.asPath,
- ]);
-
- return loading || !types
- ? { loading: true, data: types }
- : { loading: false, data: types };
-};
+ setTypes({
+ entityTypes: nonLinkEntityTypesRecord,
+ linkTypes: linkEntityTypesRecord,
+ });
+ }, [aggregateEntityTypes]);
+
+ useEffect(() => {
+ void fetch();
+ }, [fetch]);
+
+ return useMemo(
+ () => (types ? { ...types, refetch: fetch } : null),
+ [fetch, types],
+ );
+ };
diff --git a/packages/hash/integration/src/tests/graph/knowledge/primitive/entity.test.ts b/packages/hash/integration/src/tests/graph/knowledge/primitive/entity.test.ts
index 547e5753851..5cffedcbe6f 100644
--- a/packages/hash/integration/src/tests/graph/knowledge/primitive/entity.test.ts
+++ b/packages/hash/integration/src/tests/graph/knowledge/primitive/entity.test.ts
@@ -8,10 +8,7 @@ import {
import { Logger } from "@hashintel/hash-backend-utils/logger";
import { createDataType } from "@hashintel/hash-api/src/graph/ontology/primitive/data-type";
-import {
- generateSystemEntityTypeSchema,
- linkEntityTypeUri,
-} from "@hashintel/hash-api/src/graph/util";
+import { generateSystemEntityTypeSchema } from "@hashintel/hash-api/src/graph/util";
import { generateTypeId } from "@hashintel/hash-shared/ontology-types";
import { TypeSystemInitializer } from "@blockprotocol/type-system";
import {
@@ -22,6 +19,7 @@ import {
Subgraph,
SubgraphRootTypes,
extractOwnedByIdFromEntityId,
+ linkEntityTypeUri,
} from "@hashintel/hash-subgraph";
import { createPropertyType } from "@hashintel/hash-api/src/graph/ontology/primitive/property-type";
import { createEntityType } from "@hashintel/hash-api/src/graph/ontology/primitive/entity-type";
diff --git a/packages/hash/integration/src/tests/graph/knowledge/primitive/link-entity.test.ts b/packages/hash/integration/src/tests/graph/knowledge/primitive/link-entity.test.ts
index e83e1c4f8c2..048c8b9a3a6 100644
--- a/packages/hash/integration/src/tests/graph/knowledge/primitive/link-entity.test.ts
+++ b/packages/hash/integration/src/tests/graph/knowledge/primitive/link-entity.test.ts
@@ -9,12 +9,15 @@ import { Logger } from "@hashintel/hash-backend-utils/logger";
import {
EntityTypeCreatorParams,
generateSystemEntityTypeSchema,
- linkEntityTypeUri,
} from "@hashintel/hash-api/src/graph/util";
import { generateTypeId } from "@hashintel/hash-shared/ontology-types";
import { TypeSystemInitializer } from "@blockprotocol/type-system";
-import { Entity, EntityTypeWithMetadata } from "@hashintel/hash-subgraph";
+import {
+ Entity,
+ EntityTypeWithMetadata,
+ linkEntityTypeUri,
+} from "@hashintel/hash-subgraph";
import { createEntityType } from "@hashintel/hash-api/src/graph/ontology/primitive/entity-type";
import { User } from "@hashintel/hash-api/src/graph/knowledge/system-types/user";
import {
diff --git a/packages/hash/integration/src/tests/graph/ontology/primitive/entity-type.test.ts b/packages/hash/integration/src/tests/graph/ontology/primitive/entity-type.test.ts
index a24152f786c..ee5dd1e1616 100644
--- a/packages/hash/integration/src/tests/graph/ontology/primitive/entity-type.test.ts
+++ b/packages/hash/integration/src/tests/graph/ontology/primitive/entity-type.test.ts
@@ -7,11 +7,11 @@ import {
import { Logger } from "@hashintel/hash-backend-utils/logger";
import { EntityType, TypeSystemInitializer } from "@blockprotocol/type-system";
-import { linkEntityTypeUri } from "@hashintel/hash-api/src/graph/util";
import {
DataTypeWithMetadata,
EntityTypeWithMetadata,
PropertyTypeWithMetadata,
+ linkEntityTypeUri,
} from "@hashintel/hash-subgraph";
import { createDataType } from "@hashintel/hash-api/src/graph/ontology/primitive/data-type";
import {
diff --git a/packages/hash/shared/src/ontology-types.ts b/packages/hash/shared/src/ontology-types.ts
index 0860fa69495..bc3000bf900 100644
--- a/packages/hash/shared/src/ontology-types.ts
+++ b/packages/hash/shared/src/ontology-types.ts
@@ -3,7 +3,7 @@ import slugify from "slugify";
import { systemUserShortname } from "@hashintel/hash-shared/environment";
import { frontendUrl } from "./environment";
-type SchemaKind = "data-type" | "property-type" | "entity-type";
+export type SchemaKind = "data-type" | "property-type" | "entity-type";
/** Slugify the title of a type */
export const slugifyTypeTitle = (title: string): string =>
diff --git a/packages/hash/subgraph/src/types/identifier.ts b/packages/hash/subgraph/src/types/identifier.ts
index 5cdd1ea57ee..5dc2584cc34 100644
--- a/packages/hash/subgraph/src/types/identifier.ts
+++ b/packages/hash/subgraph/src/types/identifier.ts
@@ -1,10 +1,9 @@
-import { OntologyTypeEditionId } from "@hashintel/hash-graph-client";
-import { validate as validateUuid } from "uuid";
-
// For strange behavior we haven't found the cause of, we are unable to export
// directly here, and have to import as alias before re-exporting the type
// if we don't, the `api` package is unable to use this library.
import { VersionedUri as TVersionedUri } from "@blockprotocol/type-system";
+import { OntologyTypeEditionId } from "@hashintel/hash-graph-client";
+import { validate as validateUuid } from "uuid";
export type VersionedUri = TVersionedUri;
@@ -126,3 +125,6 @@ export const isEntityAndTimestamp = (
!Number.isNaN(Date.parse(editionId.timestamp))
);
};
+
+export const linkEntityTypeUri: VersionedUri =
+ "https://blockprotocol.org/@blockprotocol/types/entity-type/link/v/1";
From 9c2f9c380dd4908b48671088db5bf94461526b0a Mon Sep 17 00:00:00 2001
From: Alexander Kachkaev
Date: Thu, 22 Dec 2022 11:06:57 +0000
Subject: [PATCH 03/13] Stop using deprecated config in Sentry Replay (#1719)
---
packages/hash/frontend/sentry.client.config.ts | 16 ++++++----------
packages/hash/frontend/src/lib/public-env.ts | 4 ++--
2 files changed, 8 insertions(+), 12 deletions(-)
diff --git a/packages/hash/frontend/sentry.client.config.ts b/packages/hash/frontend/sentry.client.config.ts
index e923e46fd6f..27d6959a377 100644
--- a/packages/hash/frontend/sentry.client.config.ts
+++ b/packages/hash/frontend/sentry.client.config.ts
@@ -4,7 +4,7 @@
import * as Sentry from "@sentry/nextjs";
import {
SENTRY_DSN,
- SENTRY_REPLAY_SESSION_SAMPLE_RATE,
+ SENTRY_REPLAYS_SESSION_SAMPLE_RATE,
VERCEL_ENV,
} from "./src/lib/public-env";
@@ -12,15 +12,11 @@ Sentry.init({
dsn: SENTRY_DSN,
enabled: !!SENTRY_DSN,
environment: VERCEL_ENV,
- integrations: SENTRY_REPLAY_SESSION_SAMPLE_RATE
- ? [
- new Sentry.Replay({
- errorSampleRate: 1,
- sessionSampleRate: parseFloat(SENTRY_REPLAY_SESSION_SAMPLE_RATE),
- stickySession: true,
- }),
- ]
- : [],
+ integrations: [new Sentry.Replay({ stickySession: true })],
+ replaysOnErrorSampleRate: 1,
+ replaysSessionSampleRate: parseFloat(
+ SENTRY_REPLAYS_SESSION_SAMPLE_RATE ?? "0",
+ ),
// release is set in next.config.js in the Sentry webpack plugin
/** @todo reduce perf sample rate from 100% when we have more traffic */
tracesSampleRate: 1.0,
diff --git a/packages/hash/frontend/src/lib/public-env.ts b/packages/hash/frontend/src/lib/public-env.ts
index d7adb29e7e9..6df7214b75e 100644
--- a/packages/hash/frontend/src/lib/public-env.ts
+++ b/packages/hash/frontend/src/lib/public-env.ts
@@ -3,7 +3,7 @@ export const HASH_OPENSEARCH_ENABLED =
export const SENTRY_DSN = process.env.NEXT_PUBLIC_SENTRY_DSN;
-export const SENTRY_REPLAY_SESSION_SAMPLE_RATE =
- process.env.NEXT_PUBLIC_SENTRY_REPLAY_SESSION_SAMPLE_RATE;
+export const SENTRY_REPLAYS_SESSION_SAMPLE_RATE =
+ process.env.NEXT_PUBLIC_SENTRY_REPLAYS_SESSION_SAMPLE_RATE;
export const VERCEL_ENV = process.env.NEXT_PUBLIC_VERCEL_ENV ?? "unset";
From f7650aa8b793cc7de6950fb1337274c51ca8fbb2 Mon Sep 17 00:00:00 2001
From: Alexander Kachkaev
Date: Thu, 22 Dec 2022 11:19:26 +0000
Subject: [PATCH 04/13] Enable `unicorn/filename-case` and
`simple-import-sort/*` in apps (#1714)
---
apps/hashdotai/.eslintrc.cjs | 5 ++++
apps/hashdotai/scripts/sync-algolia-index.ts | 3 +-
apps/hashdotdev/.eslintrc.cjs | 4 ++-
.../{BlogPost.tsx => blog-post.tsx} | 13 +++++----
.../src/components/{Button.tsx => button.tsx} | 7 +++--
...ulationBlock.tsx => calculation-block.tsx} | 0
.../src/components/{Footer.tsx => footer.tsx} | 13 +++++----
...ntContainer.tsx => gradient-container.tsx} | 0
.../{HiringBanner.tsx => hiring-banner.tsx} | 4 +--
.../{DiscordIcon.tsx => discord-icon.tsx} | 2 +-
.../icons/{FaIcon.tsx => fa-icon.tsx} | 0
...tAwesomeIcon.tsx => font-awesome-icon.tsx} | 2 +-
.../icons/{GithubIcon.tsx => github-icon.tsx} | 2 +-
.../{TwitterIcon.tsx => twitter-icon.tsx} | 2 +-
...{ImageWithText.tsx => image-with-text.tsx} | 3 +-
.../src/components/{Link.tsx => link.tsx} | 6 ++--
...LoadingSpinner.tsx => loading-spinner.tsx} | 0
.../src/components/{Logo.tsx => logo.tsx} | 3 +-
.../{MdxImage.tsx => mdx-image.tsx} | 5 ++--
...dxPageContent.tsx => mdx-page-content.tsx} | 3 +-
.../components/{MdxPre.tsx => mdx-pre.tsx} | 2 +-
.../{MdxTalkSlide.tsx => mdx-talk-slide.tsx} | 0
.../{MdxVideo.tsx => mdx-video.tsx} | 0
.../src/components/{Navbar.tsx => navbar.tsx} | 11 ++++----
.../{PageLayout.tsx => page-layout.tsx} | 7 +++--
.../{PreFooter.tsx => pre-footer.tsx} | 11 ++++----
.../components/{Snippet.tsx => snippet.tsx} | 0
.../src/components/{Spacer.tsx => spacer.tsx} | 0
.../{TextField.tsx => text-field.tsx} | 7 +++--
apps/hashdotdev/src/pages/_app.page.tsx | 11 ++++----
apps/hashdotdev/src/pages/_document.page.tsx | 9 +++---
...Slug].page.tsx => [...blog-slug].page.tsx} | 13 +++++----
apps/hashdotdev/src/pages/blog/index.page.tsx | 27 +++++++++---------
.../src/pages/blog/shared/get-photo.ts | 4 ++-
apps/hashdotdev/src/pages/index.page.tsx | 9 +++---
.../mui-avatar-theme-options.ts} | 0
.../mui-icon-button-theme-options.ts} | 0
.../mui-icon-theme-options.ts} | 0
.../mui-typography-theme-options.ts} | 0
apps/hashdotdev/src/theme/components/index.ts | 28 ++++++++-----------
...Options.ts => mui-button-theme-options.ts} | 0
...s.ts => mui-form-control-theme-options.ts} | 0
...ons.ts => mui-input-base-theme-options.ts} | 0
...ts => mui-outlined-input-theme-options.ts} | 0
...ons.ts => mui-text-field-theme-options.ts} | 0
...ions.ts => mui-container-theme-options.ts} | 0
...meOptions.ts => mui-link-theme-options.ts} | 0
...s.ts => mui-css-baseline-theme-options.ts} | 0
apps/hashdotdev/src/theme/index.ts | 2 +-
.../{MuiProvider.tsx => mui-provider.tsx} | 3 +-
apps/hashdotdev/src/theme/typography.ts | 1 +
.../{clientMdxUtil.ts => client-mdx-util.ts} | 0
...motionCache.ts => create-emotion-cache.ts} | 0
.../{mdxComponents.tsx => mdx-components.tsx} | 16 +++++------
.../src/util/{mdxUtil.ts => mdx-util.ts} | 6 ++--
.../src/util/{nextTypes.ts => next-types.ts} | 0
.../legacy-base-eslintrc-to-refactor.cjs | 3 +-
.../legacy-block-eslintrc-to-refactor.cjs | 8 +-----
58 files changed, 139 insertions(+), 116 deletions(-)
rename apps/hashdotdev/src/components/{BlogPost.tsx => blog-post.tsx} (97%)
rename apps/hashdotdev/src/components/{Button.tsx => button.tsx} (94%)
rename apps/hashdotdev/src/components/{CalculationBlock.tsx => calculation-block.tsx} (100%)
rename apps/hashdotdev/src/components/{Footer.tsx => footer.tsx} (94%)
rename apps/hashdotdev/src/components/{GradientContainer.tsx => gradient-container.tsx} (100%)
rename apps/hashdotdev/src/components/{HiringBanner.tsx => hiring-banner.tsx} (97%)
rename apps/hashdotdev/src/components/icons/{DiscordIcon.tsx => discord-icon.tsx} (100%)
rename apps/hashdotdev/src/components/icons/{FaIcon.tsx => fa-icon.tsx} (100%)
rename apps/hashdotdev/src/components/icons/{FontAwesomeIcon.tsx => font-awesome-icon.tsx} (100%)
rename apps/hashdotdev/src/components/icons/{GithubIcon.tsx => github-icon.tsx} (100%)
rename apps/hashdotdev/src/components/icons/{TwitterIcon.tsx => twitter-icon.tsx} (100%)
rename apps/hashdotdev/src/components/{ImageWithText.tsx => image-with-text.tsx} (87%)
rename apps/hashdotdev/src/components/{Link.tsx => link.tsx} (99%)
rename apps/hashdotdev/src/components/{LoadingSpinner.tsx => loading-spinner.tsx} (100%)
rename apps/hashdotdev/src/components/{Logo.tsx => logo.tsx} (93%)
rename apps/hashdotdev/src/components/{MdxImage.tsx => mdx-image.tsx} (93%)
rename apps/hashdotdev/src/components/{MdxPageContent.tsx => mdx-page-content.tsx} (89%)
rename apps/hashdotdev/src/components/{MdxPre.tsx => mdx-pre.tsx} (95%)
rename apps/hashdotdev/src/components/{MdxTalkSlide.tsx => mdx-talk-slide.tsx} (100%)
rename apps/hashdotdev/src/components/{MdxVideo.tsx => mdx-video.tsx} (100%)
rename apps/hashdotdev/src/components/{Navbar.tsx => navbar.tsx} (97%)
rename apps/hashdotdev/src/components/{PageLayout.tsx => page-layout.tsx} (92%)
rename apps/hashdotdev/src/components/{PreFooter.tsx => pre-footer.tsx} (98%)
rename apps/hashdotdev/src/components/{Snippet.tsx => snippet.tsx} (100%)
rename apps/hashdotdev/src/components/{Spacer.tsx => spacer.tsx} (100%)
rename apps/hashdotdev/src/components/{TextField.tsx => text-field.tsx} (94%)
rename apps/hashdotdev/src/pages/blog/{[...blogSlug].page.tsx => [...blog-slug].page.tsx} (94%)
rename apps/hashdotdev/src/theme/components/{dataDisplay/MuiAvatarThemeOptions.ts => data-display/mui-avatar-theme-options.ts} (100%)
rename apps/hashdotdev/src/theme/components/{dataDisplay/MuiIconButtonThemeOptions.ts => data-display/mui-icon-button-theme-options.ts} (100%)
rename apps/hashdotdev/src/theme/components/{dataDisplay/MuiIconThemeOptions.ts => data-display/mui-icon-theme-options.ts} (100%)
rename apps/hashdotdev/src/theme/components/{dataDisplay/MuiTypographyThemeOptions.ts => data-display/mui-typography-theme-options.ts} (100%)
rename apps/hashdotdev/src/theme/components/inputs/{MuiButtonThemeOptions.ts => mui-button-theme-options.ts} (100%)
rename apps/hashdotdev/src/theme/components/inputs/{MuiFormControlThemeOptions.ts => mui-form-control-theme-options.ts} (100%)
rename apps/hashdotdev/src/theme/components/inputs/{MuiInputBaseThemeOptions.ts => mui-input-base-theme-options.ts} (100%)
rename apps/hashdotdev/src/theme/components/inputs/{MuiOutlinedInputThemeOptions.ts => mui-outlined-input-theme-options.ts} (100%)
rename apps/hashdotdev/src/theme/components/inputs/{MuiTextFieldThemeOptions.ts => mui-text-field-theme-options.ts} (100%)
rename apps/hashdotdev/src/theme/components/layout/{MuiContainerThemeOptions.ts => mui-container-theme-options.ts} (100%)
rename apps/hashdotdev/src/theme/components/navigation/{MuiLinkThemeOptions.ts => mui-link-theme-options.ts} (100%)
rename apps/hashdotdev/src/theme/components/utils/{MuiCssBaselineThemeOptions.ts => mui-css-baseline-theme-options.ts} (100%)
rename apps/hashdotdev/src/theme/{MuiProvider.tsx => mui-provider.tsx} (94%)
rename apps/hashdotdev/src/util/{clientMdxUtil.ts => client-mdx-util.ts} (100%)
rename apps/hashdotdev/src/util/{createEmotionCache.ts => create-emotion-cache.ts} (100%)
rename apps/hashdotdev/src/util/{mdxComponents.tsx => mdx-components.tsx} (77%)
rename apps/hashdotdev/src/util/{mdxUtil.ts => mdx-util.ts} (98%)
rename apps/hashdotdev/src/util/{nextTypes.ts => next-types.ts} (100%)
diff --git a/apps/hashdotai/.eslintrc.cjs b/apps/hashdotai/.eslintrc.cjs
index 568c500804e..504b82f453e 100644
--- a/apps/hashdotai/.eslintrc.cjs
+++ b/apps/hashdotai/.eslintrc.cjs
@@ -1,4 +1,9 @@
/** @type {import("eslint").Linter.Config} */
module.exports = {
...require("@local/eslint-config/generate-workspace-config.cjs")(__dirname),
+ rules: {
+ "simple-import-sort/exports": "error",
+ "simple-import-sort/imports": "error",
+ "unicorn/filename-case": "error",
+ },
};
diff --git a/apps/hashdotai/scripts/sync-algolia-index.ts b/apps/hashdotai/scripts/sync-algolia-index.ts
index f97cf9a62ff..7c222a36ec0 100644
--- a/apps/hashdotai/scripts/sync-algolia-index.ts
+++ b/apps/hashdotai/scripts/sync-algolia-index.ts
@@ -1,8 +1,9 @@
import fs from "node:fs";
import path from "node:path";
-import matter from "gray-matter";
+
import algoliasearch from "algoliasearch";
import * as envalid from "envalid";
+import matter from "gray-matter";
const monorepoDirPath = path.resolve(__dirname, "../../..");
diff --git a/apps/hashdotdev/.eslintrc.cjs b/apps/hashdotdev/.eslintrc.cjs
index 776191fb2c7..51f9feb1ab9 100644
--- a/apps/hashdotdev/.eslintrc.cjs
+++ b/apps/hashdotdev/.eslintrc.cjs
@@ -6,10 +6,12 @@ module.exports = {
/* 2022-11-29: 13 */ "@typescript-eslint/no-unsafe-assignment",
/* 2022-11-29: 13 */ "@typescript-eslint/no-unsafe-member-access",
/* 2022-11-29: 11 */ "@typescript-eslint/restrict-template-expressions",
- "unicorn/filename-case",
]),
"jsx-a11y/label-has-associated-control": "off",
"import/no-default-export": "error",
+ "simple-import-sort/exports": "error",
+ "simple-import-sort/imports": "error",
+ "unicorn/filename-case": "error",
},
overrides: [
{
diff --git a/apps/hashdotdev/src/components/BlogPost.tsx b/apps/hashdotdev/src/components/blog-post.tsx
similarity index 97%
rename from apps/hashdotdev/src/components/BlogPost.tsx
rename to apps/hashdotdev/src/components/blog-post.tsx
index 1848673302c..6974c044b7d 100644
--- a/apps/hashdotdev/src/components/BlogPost.tsx
+++ b/apps/hashdotdev/src/components/blog-post.tsx
@@ -1,14 +1,15 @@
import { Container, Stack, Typography } from "@mui/material";
import { Box, TypographyProps } from "@mui/system";
+import { format } from "date-fns";
import Image from "next/legacy/image";
import { NextSeo } from "next-seo";
-import { createContext, ReactNode, useContext, FunctionComponent } from "react";
-import { format } from "date-fns";
+import { createContext, FunctionComponent, ReactNode, useContext } from "react";
+
import { FRONTEND_URL } from "../config";
-import { Link } from "./Link";
-import { mdxImageClasses } from "./MdxImage";
-import { FaIcon } from "./icons/FaIcon";
-import { BlogPostAuthor as BlogPostAuthorType } from "../pages/blog/[...blogSlug].page";
+import { BlogPostAuthor as BlogPostAuthorType } from "../pages/blog/[...blog-slug].page";
+import { FaIcon } from "./icons/fa-icon";
+import { Link } from "./link";
+import { mdxImageClasses } from "./mdx-image";
export type BlogPostPagePhoto = {
src: string;
diff --git a/apps/hashdotdev/src/components/Button.tsx b/apps/hashdotdev/src/components/button.tsx
similarity index 94%
rename from apps/hashdotdev/src/components/Button.tsx
rename to apps/hashdotdev/src/components/button.tsx
index 548e90a62d3..02c0d17d449 100644
--- a/apps/hashdotdev/src/components/Button.tsx
+++ b/apps/hashdotdev/src/components/button.tsx
@@ -7,9 +7,10 @@ import {
} from "@mui/material";
// eslint-disable-next-line no-restricted-imports
import Link from "next/link";
-import { FunctionComponent, forwardRef, useMemo } from "react";
-import { isHrefExternal } from "./Link";
-import { LoadingSpinner } from "./LoadingSpinner";
+import { forwardRef, FunctionComponent, useMemo } from "react";
+
+import { isHrefExternal } from "./link";
+import { LoadingSpinner } from "./loading-spinner";
export type ButtonProps = {
loading?: boolean;
diff --git a/apps/hashdotdev/src/components/CalculationBlock.tsx b/apps/hashdotdev/src/components/calculation-block.tsx
similarity index 100%
rename from apps/hashdotdev/src/components/CalculationBlock.tsx
rename to apps/hashdotdev/src/components/calculation-block.tsx
diff --git a/apps/hashdotdev/src/components/Footer.tsx b/apps/hashdotdev/src/components/footer.tsx
similarity index 94%
rename from apps/hashdotdev/src/components/Footer.tsx
rename to apps/hashdotdev/src/components/footer.tsx
index c137e5e694a..69fee0e3783 100644
--- a/apps/hashdotdev/src/components/Footer.tsx
+++ b/apps/hashdotdev/src/components/footer.tsx
@@ -1,12 +1,13 @@
import { Box, Container, Divider, Stack, Typography } from "@mui/material";
import { ComponentProps, FunctionComponent, ReactNode } from "react";
+
import { SITE_DESCRIPTION } from "../config";
-import { DiscordIcon } from "./icons/DiscordIcon";
-import { GithubIcon } from "./icons/GithubIcon";
-import { TwitterIcon } from "./icons/TwitterIcon";
-import { Link } from "./Link";
-import { Logo } from "./Logo";
-import { Spacer } from "./Spacer";
+import { DiscordIcon } from "./icons/discord-icon";
+import { GithubIcon } from "./icons/github-icon";
+import { TwitterIcon } from "./icons/twitter-icon";
+import { Link } from "./link";
+import { Logo } from "./logo";
+import { Spacer } from "./spacer";
const FooterLink: FunctionComponent<
{ href: string } & Omit, "variant">
diff --git a/apps/hashdotdev/src/components/GradientContainer.tsx b/apps/hashdotdev/src/components/gradient-container.tsx
similarity index 100%
rename from apps/hashdotdev/src/components/GradientContainer.tsx
rename to apps/hashdotdev/src/components/gradient-container.tsx
diff --git a/apps/hashdotdev/src/components/HiringBanner.tsx b/apps/hashdotdev/src/components/hiring-banner.tsx
similarity index 97%
rename from apps/hashdotdev/src/components/HiringBanner.tsx
rename to apps/hashdotdev/src/components/hiring-banner.tsx
index 229f55fcff1..f231950b2ac 100644
--- a/apps/hashdotdev/src/components/HiringBanner.tsx
+++ b/apps/hashdotdev/src/components/hiring-banner.tsx
@@ -1,8 +1,8 @@
import { faArrowRight, faBullhorn } from "@fortawesome/free-solid-svg-icons";
import { Box, Container, Typography } from "@mui/material";
-import { FontAwesomeIcon } from "./icons/FontAwesomeIcon";
-import { Link } from "./Link";
+import { FontAwesomeIcon } from "./icons/font-awesome-icon";
+import { Link } from "./link";
const CAREERS_SITE = "https://hash.ai/careers";
diff --git a/apps/hashdotdev/src/components/icons/DiscordIcon.tsx b/apps/hashdotdev/src/components/icons/discord-icon.tsx
similarity index 100%
rename from apps/hashdotdev/src/components/icons/DiscordIcon.tsx
rename to apps/hashdotdev/src/components/icons/discord-icon.tsx
index df722a4d6f4..ead703dbf48 100644
--- a/apps/hashdotdev/src/components/icons/DiscordIcon.tsx
+++ b/apps/hashdotdev/src/components/icons/discord-icon.tsx
@@ -1,5 +1,5 @@
-import { FunctionComponent } from "react";
import { SvgIcon, SvgIconProps } from "@mui/material";
+import { FunctionComponent } from "react";
export const DiscordIcon: FunctionComponent = ({
sx = [],
diff --git a/apps/hashdotdev/src/components/icons/FaIcon.tsx b/apps/hashdotdev/src/components/icons/fa-icon.tsx
similarity index 100%
rename from apps/hashdotdev/src/components/icons/FaIcon.tsx
rename to apps/hashdotdev/src/components/icons/fa-icon.tsx
diff --git a/apps/hashdotdev/src/components/icons/FontAwesomeIcon.tsx b/apps/hashdotdev/src/components/icons/font-awesome-icon.tsx
similarity index 100%
rename from apps/hashdotdev/src/components/icons/FontAwesomeIcon.tsx
rename to apps/hashdotdev/src/components/icons/font-awesome-icon.tsx
index 2f2741cd4b4..f3ae0f13f69 100644
--- a/apps/hashdotdev/src/components/icons/FontAwesomeIcon.tsx
+++ b/apps/hashdotdev/src/components/icons/font-awesome-icon.tsx
@@ -1,5 +1,5 @@
-import { SvgIcon, SvgIconProps } from "@mui/material";
import { IconDefinition } from "@fortawesome/free-solid-svg-icons";
+import { SvgIcon, SvgIconProps } from "@mui/material";
import { forwardRef } from "react";
type FontAwesomeIconProps = {
diff --git a/apps/hashdotdev/src/components/icons/GithubIcon.tsx b/apps/hashdotdev/src/components/icons/github-icon.tsx
similarity index 100%
rename from apps/hashdotdev/src/components/icons/GithubIcon.tsx
rename to apps/hashdotdev/src/components/icons/github-icon.tsx
index 2b08aaf0a09..d4eb9fe9234 100644
--- a/apps/hashdotdev/src/components/icons/GithubIcon.tsx
+++ b/apps/hashdotdev/src/components/icons/github-icon.tsx
@@ -1,5 +1,5 @@
-import { FunctionComponent } from "react";
import { SvgIcon, SvgIconProps } from "@mui/material";
+import { FunctionComponent } from "react";
export const GithubIcon: FunctionComponent = ({
sx = [],
diff --git a/apps/hashdotdev/src/components/icons/TwitterIcon.tsx b/apps/hashdotdev/src/components/icons/twitter-icon.tsx
similarity index 100%
rename from apps/hashdotdev/src/components/icons/TwitterIcon.tsx
rename to apps/hashdotdev/src/components/icons/twitter-icon.tsx
index e7bb0e355e3..aaa397dda18 100644
--- a/apps/hashdotdev/src/components/icons/TwitterIcon.tsx
+++ b/apps/hashdotdev/src/components/icons/twitter-icon.tsx
@@ -1,5 +1,5 @@
-import { FunctionComponent } from "react";
import { SvgIcon, SvgIconProps } from "@mui/material";
+import { FunctionComponent } from "react";
export const TwitterIcon: FunctionComponent = ({
sx = [],
diff --git a/apps/hashdotdev/src/components/ImageWithText.tsx b/apps/hashdotdev/src/components/image-with-text.tsx
similarity index 87%
rename from apps/hashdotdev/src/components/ImageWithText.tsx
rename to apps/hashdotdev/src/components/image-with-text.tsx
index 5461bda7f65..a6b90239a8e 100644
--- a/apps/hashdotdev/src/components/ImageWithText.tsx
+++ b/apps/hashdotdev/src/components/image-with-text.tsx
@@ -1,6 +1,7 @@
import { Box } from "@mui/material";
import { FunctionComponent, ReactNode } from "react";
-import { mdxImageClasses } from "./MdxImage";
+
+import { mdxImageClasses } from "./mdx-image";
export const ImageWithText: FunctionComponent<{ children?: ReactNode }> = ({
children,
diff --git a/apps/hashdotdev/src/components/Link.tsx b/apps/hashdotdev/src/components/link.tsx
similarity index 99%
rename from apps/hashdotdev/src/components/Link.tsx
rename to apps/hashdotdev/src/components/link.tsx
index bd39e03330a..1a0194370b2 100644
--- a/apps/hashdotdev/src/components/Link.tsx
+++ b/apps/hashdotdev/src/components/link.tsx
@@ -1,3 +1,5 @@
+import { UrlObject } from "node:url";
+
import {
Link as MuiLink,
LinkProps as MuiLinkProps,
@@ -8,9 +10,9 @@ import clsx from "clsx";
import NextLink, { LinkProps as NextLinkProps } from "next/link";
import { useRouter } from "next/router";
import { forwardRef, isValidElement } from "react";
-import { UrlObject } from "node:url";
+
import { FRONTEND_URL } from "../config";
-import { Button } from "./Button";
+import { Button } from "./button";
// List of domains that are considered internal (i.e. should not be opened in a new tab)
const internalDomains = ["hash.dev", "hash.ai", "blockprotocol.org"];
diff --git a/apps/hashdotdev/src/components/LoadingSpinner.tsx b/apps/hashdotdev/src/components/loading-spinner.tsx
similarity index 100%
rename from apps/hashdotdev/src/components/LoadingSpinner.tsx
rename to apps/hashdotdev/src/components/loading-spinner.tsx
diff --git a/apps/hashdotdev/src/components/Logo.tsx b/apps/hashdotdev/src/components/logo.tsx
similarity index 93%
rename from apps/hashdotdev/src/components/Logo.tsx
rename to apps/hashdotdev/src/components/logo.tsx
index 8054e6973b9..7b4533a7f1e 100644
--- a/apps/hashdotdev/src/components/Logo.tsx
+++ b/apps/hashdotdev/src/components/logo.tsx
@@ -1,6 +1,7 @@
import Image from "next/legacy/image";
import { ComponentProps, FunctionComponent } from "react";
-import { Link } from "./Link";
+
+import { Link } from "./link";
export const Logo: FunctionComponent<
Omit, "href">
diff --git a/apps/hashdotdev/src/components/MdxImage.tsx b/apps/hashdotdev/src/components/mdx-image.tsx
similarity index 93%
rename from apps/hashdotdev/src/components/MdxImage.tsx
rename to apps/hashdotdev/src/components/mdx-image.tsx
index 8cfeb48735a..faf562205d9 100644
--- a/apps/hashdotdev/src/components/MdxImage.tsx
+++ b/apps/hashdotdev/src/components/mdx-image.tsx
@@ -1,8 +1,9 @@
import { Box } from "@mui/system";
import { ImageProps } from "next/dist/client/legacy/image";
import Image from "next/legacy/image";
-import { HTMLProps, FunctionComponent } from "react";
-import { useBlogPostPhotos } from "./BlogPost";
+import { FunctionComponent, HTMLProps } from "react";
+
+import { useBlogPostPhotos } from "./blog-post";
export const mdxImageClasses = { root: "MdxImage" };
diff --git a/apps/hashdotdev/src/components/MdxPageContent.tsx b/apps/hashdotdev/src/components/mdx-page-content.tsx
similarity index 89%
rename from apps/hashdotdev/src/components/MdxPageContent.tsx
rename to apps/hashdotdev/src/components/mdx-page-content.tsx
index 0546f906e04..657dd7a2193 100644
--- a/apps/hashdotdev/src/components/MdxPageContent.tsx
+++ b/apps/hashdotdev/src/components/mdx-page-content.tsx
@@ -1,7 +1,8 @@
// @todo update from blockprotocol
import { MDXRemote, MDXRemoteSerializeResult } from "next-mdx-remote";
import { FunctionComponent } from "react";
-import { mdxComponents } from "../util/mdxComponents";
+
+import { mdxComponents } from "../util/mdx-components";
type MdxPageContentProps = {
serializedPage: MDXRemoteSerializeResult>;
diff --git a/apps/hashdotdev/src/components/MdxPre.tsx b/apps/hashdotdev/src/components/mdx-pre.tsx
similarity index 95%
rename from apps/hashdotdev/src/components/MdxPre.tsx
rename to apps/hashdotdev/src/components/mdx-pre.tsx
index 98d787d1637..a883c9ec32d 100644
--- a/apps/hashdotdev/src/components/MdxPre.tsx
+++ b/apps/hashdotdev/src/components/mdx-pre.tsx
@@ -1,7 +1,7 @@
import { Box } from "@mui/material";
import { ReactElement } from "react";
-import { Snippet } from "./Snippet";
+import { Snippet } from "./snippet";
/**
* @todo copy button
diff --git a/apps/hashdotdev/src/components/MdxTalkSlide.tsx b/apps/hashdotdev/src/components/mdx-talk-slide.tsx
similarity index 100%
rename from apps/hashdotdev/src/components/MdxTalkSlide.tsx
rename to apps/hashdotdev/src/components/mdx-talk-slide.tsx
diff --git a/apps/hashdotdev/src/components/MdxVideo.tsx b/apps/hashdotdev/src/components/mdx-video.tsx
similarity index 100%
rename from apps/hashdotdev/src/components/MdxVideo.tsx
rename to apps/hashdotdev/src/components/mdx-video.tsx
diff --git a/apps/hashdotdev/src/components/Navbar.tsx b/apps/hashdotdev/src/components/navbar.tsx
similarity index 97%
rename from apps/hashdotdev/src/components/Navbar.tsx
rename to apps/hashdotdev/src/components/navbar.tsx
index 415eaa8c072..a0db5571fa0 100644
--- a/apps/hashdotdev/src/components/Navbar.tsx
+++ b/apps/hashdotdev/src/components/navbar.tsx
@@ -14,11 +14,12 @@ import {
import { SxProps, Theme } from "@mui/system";
import clsx from "clsx";
import { useRouter } from "next/router";
-import { useState, FunctionComponent } from "react";
-import { Button } from "./Button";
-import { FaIcon } from "./icons/FaIcon";
-import { FontAwesomeIcon } from "./icons/FontAwesomeIcon";
-import { Logo } from "./Logo";
+import { FunctionComponent, useState } from "react";
+
+import { Button } from "./button";
+import { FaIcon } from "./icons/fa-icon";
+import { FontAwesomeIcon } from "./icons/font-awesome-icon";
+import { Logo } from "./logo";
export const NAV_HEIGHT = 58;
diff --git a/apps/hashdotdev/src/components/PageLayout.tsx b/apps/hashdotdev/src/components/page-layout.tsx
similarity index 92%
rename from apps/hashdotdev/src/components/PageLayout.tsx
rename to apps/hashdotdev/src/components/page-layout.tsx
index b94142b53d4..2da9e9f9392 100644
--- a/apps/hashdotdev/src/components/PageLayout.tsx
+++ b/apps/hashdotdev/src/components/page-layout.tsx
@@ -1,9 +1,10 @@
import { Box } from "@mui/material";
import { useTheme } from "@mui/system";
import { FunctionComponent, ReactNode } from "react";
-import { Footer } from "./Footer";
-import { Navbar } from "./Navbar";
-import { PreFooter } from "./PreFooter";
+
+import { Footer } from "./footer";
+import { Navbar } from "./navbar";
+import { PreFooter } from "./pre-footer";
// @todo extract NavLink component
diff --git a/apps/hashdotdev/src/components/PreFooter.tsx b/apps/hashdotdev/src/components/pre-footer.tsx
similarity index 98%
rename from apps/hashdotdev/src/components/PreFooter.tsx
rename to apps/hashdotdev/src/components/pre-footer.tsx
index 308a3fc7e40..49bfa88f22a 100644
--- a/apps/hashdotdev/src/components/PreFooter.tsx
+++ b/apps/hashdotdev/src/components/pre-footer.tsx
@@ -3,19 +3,20 @@ import { BoxProps } from "@mui/system";
import axios from "axios";
import { useRouter } from "next/router";
import {
+ FunctionComponent,
useCallback,
useEffect,
useRef,
useState,
- FunctionComponent,
} from "react";
import { unstable_batchedUpdates } from "react-dom";
+
import { FRONTEND_URL } from "../config";
import { SubscribeResponseBody } from "../pages/api/subscribe.page";
-import { Button } from "./Button";
-import { FaIcon } from "./icons/FaIcon";
-import { NAV_HEIGHT } from "./Navbar";
-import { TextField } from "./TextField";
+import { Button } from "./button";
+import { FaIcon } from "./icons/fa-icon";
+import { NAV_HEIGHT } from "./navbar";
+import { TextField } from "./text-field";
// Taken from http://emailregex.com/
const EMAIL_REGEX =
diff --git a/apps/hashdotdev/src/components/Snippet.tsx b/apps/hashdotdev/src/components/snippet.tsx
similarity index 100%
rename from apps/hashdotdev/src/components/Snippet.tsx
rename to apps/hashdotdev/src/components/snippet.tsx
diff --git a/apps/hashdotdev/src/components/Spacer.tsx b/apps/hashdotdev/src/components/spacer.tsx
similarity index 100%
rename from apps/hashdotdev/src/components/Spacer.tsx
rename to apps/hashdotdev/src/components/spacer.tsx
diff --git a/apps/hashdotdev/src/components/TextField.tsx b/apps/hashdotdev/src/components/text-field.tsx
similarity index 94%
rename from apps/hashdotdev/src/components/TextField.tsx
rename to apps/hashdotdev/src/components/text-field.tsx
index b577125d9fe..fdc5938dc47 100644
--- a/apps/hashdotdev/src/components/TextField.tsx
+++ b/apps/hashdotdev/src/components/text-field.tsx
@@ -1,4 +1,4 @@
-import { ReactNode, useEffect, useState, FunctionComponent } from "react";
+import { faCircleExclamation } from "@fortawesome/free-solid-svg-icons";
import {
Box,
Collapse,
@@ -6,8 +6,9 @@ import {
TextField as MuiTextField,
TextFieldProps as MuiTextFieldProps,
} from "@mui/material";
-import { faCircleExclamation } from "@fortawesome/free-solid-svg-icons";
-import { FontAwesomeIcon } from "./icons/FontAwesomeIcon";
+import { FunctionComponent, ReactNode, useEffect, useState } from "react";
+
+import { FontAwesomeIcon } from "./icons/font-awesome-icon";
type TextFieldProps = {
displayErrorOnTouched?: boolean;
diff --git a/apps/hashdotdev/src/pages/_app.page.tsx b/apps/hashdotdev/src/pages/_app.page.tsx
index 94e76ecf9eb..07987a6dd10 100644
--- a/apps/hashdotdev/src/pages/_app.page.tsx
+++ b/apps/hashdotdev/src/pages/_app.page.tsx
@@ -6,13 +6,14 @@ import { EmotionCache } from "@emotion/react";
import type { AppProps } from "next/app";
import { useRouter } from "next/router";
import { DefaultSeo, DefaultSeoProps } from "next-seo";
-import { useEffect, FunctionComponent } from "react";
import NextNProgress from "nextjs-progressbar";
-import { PageLayout } from "../components/PageLayout";
-import { theme } from "../theme";
-import { MuiProvider } from "../theme/MuiProvider";
-import { NextPageWithLayout } from "../util/nextTypes";
+import { FunctionComponent, useEffect } from "react";
+
+import { PageLayout } from "../components/page-layout";
import { FRONTEND_URL, SITE_DESCRIPTION } from "../config";
+import { theme } from "../theme";
+import { MuiProvider } from "../theme/mui-provider";
+import { NextPageWithLayout } from "../util/next-types";
const defaultSeoProps: DefaultSeoProps = {
title: "HASH.dev – HASH for Developers",
diff --git a/apps/hashdotdev/src/pages/_document.page.tsx b/apps/hashdotdev/src/pages/_document.page.tsx
index 6bafe977882..bd0bbc8d87c 100644
--- a/apps/hashdotdev/src/pages/_document.page.tsx
+++ b/apps/hashdotdev/src/pages/_document.page.tsx
@@ -1,13 +1,14 @@
+import createEmotionServer from "@emotion/server/create-instance";
import Document, {
- Html,
+ DocumentContext,
Head,
+ Html,
Main,
NextScript,
- DocumentContext,
} from "next/document";
-import createEmotionServer from "@emotion/server/create-instance";
import { Children } from "react";
-import { createEmotionCache } from "../util/createEmotionCache";
+
+import { createEmotionCache } from "../util/create-emotion-cache";
const gtmId = "G-2JDBVXSZV8";
diff --git a/apps/hashdotdev/src/pages/blog/[...blogSlug].page.tsx b/apps/hashdotdev/src/pages/blog/[...blog-slug].page.tsx
similarity index 94%
rename from apps/hashdotdev/src/pages/blog/[...blogSlug].page.tsx
rename to apps/hashdotdev/src/pages/blog/[...blog-slug].page.tsx
index e4d7693c25b..a7f87c7aa18 100644
--- a/apps/hashdotdev/src/pages/blog/[...blogSlug].page.tsx
+++ b/apps/hashdotdev/src/pages/blog/[...blog-slug].page.tsx
@@ -1,14 +1,15 @@
import { GetStaticPaths, GetStaticProps, NextPage } from "next";
import { MDXRemoteSerializeResult } from "next-mdx-remote";
+
import {
BlogPagePhotos,
BlogPostContent,
BlogPostHead,
BlogPostPagePhoto,
BlogPostPhotosContext,
-} from "../../components/BlogPost";
-import { MdxPageContent } from "../../components/MdxPageContent";
-import { getAllPageHrefs, getSerializedPage } from "../../util/mdxUtil";
+} from "../../components/blog-post";
+import { MdxPageContent } from "../../components/mdx-page-content";
+import { getAllPageHrefs, getSerializedPage } from "../../util/mdx-util";
import { getPhoto } from "./shared/get-photo";
type BlogPostAuthorWithPhotoSrc = {
@@ -39,13 +40,13 @@ type BlogPostPageProps = {
};
type BlogPostPageQueryParams = {
- blogSlug?: string[];
+ "blog-slug"?: string[];
};
export const getStaticPaths: GetStaticPaths = () => {
const paths = getAllPageHrefs({ folderName: "blog" }).map((href) => ({
params: {
- blogSlug: href
+ "blog-slug": href
.replace("/blog", "")
.split("/")
.filter((item) => !!item),
@@ -62,7 +63,7 @@ export const getStaticProps: GetStaticProps<
BlogPostPageProps,
BlogPostPageQueryParams
> = async ({ params }) => {
- const { blogSlug } = params ?? {};
+ const blogSlug = params?.["blog-slug"];
const fileNameWithoutIndex =
blogSlug && blogSlug.length > 0 ? blogSlug[0]! : "index";
diff --git a/apps/hashdotdev/src/pages/blog/index.page.tsx b/apps/hashdotdev/src/pages/blog/index.page.tsx
index 348c73a6728..207104654ca 100644
--- a/apps/hashdotdev/src/pages/blog/index.page.tsx
+++ b/apps/hashdotdev/src/pages/blog/index.page.tsx
@@ -9,18 +9,19 @@ import { Box } from "@mui/system";
import { GetStaticProps } from "next";
import Image from "next/legacy/image";
import { NextSeo } from "next-seo";
-import { ComponentProps, FunctionComponent, Fragment } from "react";
-import { BlogPostAuthor, BlogPostPagePhoto } from "../../components/BlogPost";
-import { GradientContainer } from "../../components/GradientContainer";
-import { Link } from "../../components/Link";
-import { PageLayout } from "../../components/PageLayout";
-import { Subscribe } from "../../components/PreFooter";
-import { parseNameFromFileName } from "../../util/clientMdxUtil";
-import { getAllPages, Page } from "../../util/mdxUtil";
-import { NextPageWithLayout } from "../../util/nextTypes";
+import { ComponentProps, Fragment, FunctionComponent } from "react";
+
+import { BlogPostAuthor, BlogPostPagePhoto } from "../../components/blog-post";
+import { GradientContainer } from "../../components/gradient-container";
+import { FaIcon } from "../../components/icons/fa-icon";
+import { Link } from "../../components/link";
+import { PageLayout } from "../../components/page-layout";
+import { Subscribe } from "../../components/pre-footer";
+import { parseNameFromFileName } from "../../util/client-mdx-util";
+import { getAllPages, Page } from "../../util/mdx-util";
+import { NextPageWithLayout } from "../../util/next-types";
+import { BlogPostProps } from "./[...blog-slug].page";
import { getPhoto } from "./shared/get-photo";
-import { BlogPostProps } from "./[...blogSlug].page";
-import { FaIcon } from "../../components/icons/FaIcon";
type BlogIndividualPage = Page & {
photos: {
@@ -86,8 +87,8 @@ const BlogPostLink: FunctionComponent<
{children}
diff --git a/apps/hashdotdev/src/pages/blog/shared/get-photo.ts b/apps/hashdotdev/src/pages/blog/shared/get-photo.ts
index ee1aa33b296..04b998bd613 100644
--- a/apps/hashdotdev/src/pages/blog/shared/get-photo.ts
+++ b/apps/hashdotdev/src/pages/blog/shared/get-photo.ts
@@ -1,6 +1,8 @@
import { promisify } from "node:util";
+
import { imageSize as legacyImageSize } from "image-size";
-import { BlogPostPagePhoto } from "../../../components/BlogPost";
+
+import { BlogPostPagePhoto } from "../../../components/blog-post";
const imageSize = promisify(legacyImageSize);
diff --git a/apps/hashdotdev/src/pages/index.page.tsx b/apps/hashdotdev/src/pages/index.page.tsx
index eb55bfb5480..989820475d9 100644
--- a/apps/hashdotdev/src/pages/index.page.tsx
+++ b/apps/hashdotdev/src/pages/index.page.tsx
@@ -10,10 +10,11 @@ import { useTheme } from "@mui/system";
import type { NextPage } from "next";
import Image from "next/legacy/image";
import { ComponentProps, FunctionComponent, ReactNode } from "react";
-import { Button } from "../components/Button";
-import { GradientContainer } from "../components/GradientContainer";
-import { FaIcon } from "../components/icons/FaIcon";
-import { Link } from "../components/Link";
+
+import { Button } from "../components/button";
+import { GradientContainer } from "../components/gradient-container";
+import { FaIcon } from "../components/icons/fa-icon";
+import { Link } from "../components/link";
const StylishDivider: FunctionComponent<
ComponentProps & { wide?: boolean }
diff --git a/apps/hashdotdev/src/theme/components/dataDisplay/MuiAvatarThemeOptions.ts b/apps/hashdotdev/src/theme/components/data-display/mui-avatar-theme-options.ts
similarity index 100%
rename from apps/hashdotdev/src/theme/components/dataDisplay/MuiAvatarThemeOptions.ts
rename to apps/hashdotdev/src/theme/components/data-display/mui-avatar-theme-options.ts
diff --git a/apps/hashdotdev/src/theme/components/dataDisplay/MuiIconButtonThemeOptions.ts b/apps/hashdotdev/src/theme/components/data-display/mui-icon-button-theme-options.ts
similarity index 100%
rename from apps/hashdotdev/src/theme/components/dataDisplay/MuiIconButtonThemeOptions.ts
rename to apps/hashdotdev/src/theme/components/data-display/mui-icon-button-theme-options.ts
diff --git a/apps/hashdotdev/src/theme/components/dataDisplay/MuiIconThemeOptions.ts b/apps/hashdotdev/src/theme/components/data-display/mui-icon-theme-options.ts
similarity index 100%
rename from apps/hashdotdev/src/theme/components/dataDisplay/MuiIconThemeOptions.ts
rename to apps/hashdotdev/src/theme/components/data-display/mui-icon-theme-options.ts
diff --git a/apps/hashdotdev/src/theme/components/dataDisplay/MuiTypographyThemeOptions.ts b/apps/hashdotdev/src/theme/components/data-display/mui-typography-theme-options.ts
similarity index 100%
rename from apps/hashdotdev/src/theme/components/dataDisplay/MuiTypographyThemeOptions.ts
rename to apps/hashdotdev/src/theme/components/data-display/mui-typography-theme-options.ts
diff --git a/apps/hashdotdev/src/theme/components/index.ts b/apps/hashdotdev/src/theme/components/index.ts
index 96b8ffd15ea..c7f0ba5f7fb 100644
--- a/apps/hashdotdev/src/theme/components/index.ts
+++ b/apps/hashdotdev/src/theme/components/index.ts
@@ -1,23 +1,19 @@
/* eslint-disable canonical/filename-no-index -- @todo rename file */
import { ThemeOptions } from "@mui/material";
-import { MuiAvatarThemeOptions } from "./dataDisplay/MuiAvatarThemeOptions";
-import { MuiFormControlThemeOptions } from "./inputs/MuiFormControlThemeOptions";
-import { MuiInputBaseThemeOptions } from "./inputs/MuiInputBaseThemeOptions";
-import { MuiOutlinedInputThemeOptions } from "./inputs/MuiOutlinedInputThemeOptions";
-import { MuiTextFieldThemeOptions } from "./inputs/MuiTextFieldThemeOptions";
-import { MuiButtonThemeOptions } from "./inputs/MuiButtonThemeOptions";
-
-import { MuiTypographyThemeOptions } from "./dataDisplay/MuiTypographyThemeOptions";
-import { MuiIconButtonThemeOptions } from "./dataDisplay/MuiIconButtonThemeOptions";
-import { MuiIconThemeOptions } from "./dataDisplay/MuiIconThemeOptions";
-
-import { MuiContainerThemeOptions } from "./layout/MuiContainerThemeOptions";
-
-import { MuiLinkThemeOptions } from "./navigation/MuiLinkThemeOptions";
-
-import { MuiCssBaselineThemeOptions } from "./utils/MuiCssBaselineThemeOptions";
+import { MuiAvatarThemeOptions } from "./data-display/mui-avatar-theme-options";
+import { MuiIconButtonThemeOptions } from "./data-display/mui-icon-button-theme-options";
+import { MuiIconThemeOptions } from "./data-display/mui-icon-theme-options";
+import { MuiTypographyThemeOptions } from "./data-display/mui-typography-theme-options";
+import { MuiButtonThemeOptions } from "./inputs/mui-button-theme-options";
+import { MuiFormControlThemeOptions } from "./inputs/mui-form-control-theme-options";
+import { MuiInputBaseThemeOptions } from "./inputs/mui-input-base-theme-options";
+import { MuiOutlinedInputThemeOptions } from "./inputs/mui-outlined-input-theme-options";
+import { MuiTextFieldThemeOptions } from "./inputs/mui-text-field-theme-options";
+import { MuiContainerThemeOptions } from "./layout/mui-container-theme-options";
+import { MuiLinkThemeOptions } from "./navigation/mui-link-theme-options";
+import { MuiCssBaselineThemeOptions } from "./utils/mui-css-baseline-theme-options";
export const components: ThemeOptions["components"] = {
MuiAvatar: MuiAvatarThemeOptions,
diff --git a/apps/hashdotdev/src/theme/components/inputs/MuiButtonThemeOptions.ts b/apps/hashdotdev/src/theme/components/inputs/mui-button-theme-options.ts
similarity index 100%
rename from apps/hashdotdev/src/theme/components/inputs/MuiButtonThemeOptions.ts
rename to apps/hashdotdev/src/theme/components/inputs/mui-button-theme-options.ts
diff --git a/apps/hashdotdev/src/theme/components/inputs/MuiFormControlThemeOptions.ts b/apps/hashdotdev/src/theme/components/inputs/mui-form-control-theme-options.ts
similarity index 100%
rename from apps/hashdotdev/src/theme/components/inputs/MuiFormControlThemeOptions.ts
rename to apps/hashdotdev/src/theme/components/inputs/mui-form-control-theme-options.ts
diff --git a/apps/hashdotdev/src/theme/components/inputs/MuiInputBaseThemeOptions.ts b/apps/hashdotdev/src/theme/components/inputs/mui-input-base-theme-options.ts
similarity index 100%
rename from apps/hashdotdev/src/theme/components/inputs/MuiInputBaseThemeOptions.ts
rename to apps/hashdotdev/src/theme/components/inputs/mui-input-base-theme-options.ts
diff --git a/apps/hashdotdev/src/theme/components/inputs/MuiOutlinedInputThemeOptions.ts b/apps/hashdotdev/src/theme/components/inputs/mui-outlined-input-theme-options.ts
similarity index 100%
rename from apps/hashdotdev/src/theme/components/inputs/MuiOutlinedInputThemeOptions.ts
rename to apps/hashdotdev/src/theme/components/inputs/mui-outlined-input-theme-options.ts
diff --git a/apps/hashdotdev/src/theme/components/inputs/MuiTextFieldThemeOptions.ts b/apps/hashdotdev/src/theme/components/inputs/mui-text-field-theme-options.ts
similarity index 100%
rename from apps/hashdotdev/src/theme/components/inputs/MuiTextFieldThemeOptions.ts
rename to apps/hashdotdev/src/theme/components/inputs/mui-text-field-theme-options.ts
diff --git a/apps/hashdotdev/src/theme/components/layout/MuiContainerThemeOptions.ts b/apps/hashdotdev/src/theme/components/layout/mui-container-theme-options.ts
similarity index 100%
rename from apps/hashdotdev/src/theme/components/layout/MuiContainerThemeOptions.ts
rename to apps/hashdotdev/src/theme/components/layout/mui-container-theme-options.ts
diff --git a/apps/hashdotdev/src/theme/components/navigation/MuiLinkThemeOptions.ts b/apps/hashdotdev/src/theme/components/navigation/mui-link-theme-options.ts
similarity index 100%
rename from apps/hashdotdev/src/theme/components/navigation/MuiLinkThemeOptions.ts
rename to apps/hashdotdev/src/theme/components/navigation/mui-link-theme-options.ts
diff --git a/apps/hashdotdev/src/theme/components/utils/MuiCssBaselineThemeOptions.ts b/apps/hashdotdev/src/theme/components/utils/mui-css-baseline-theme-options.ts
similarity index 100%
rename from apps/hashdotdev/src/theme/components/utils/MuiCssBaselineThemeOptions.ts
rename to apps/hashdotdev/src/theme/components/utils/mui-css-baseline-theme-options.ts
diff --git a/apps/hashdotdev/src/theme/index.ts b/apps/hashdotdev/src/theme/index.ts
index 8e4016a43d9..9ab4081ea98 100644
--- a/apps/hashdotdev/src/theme/index.ts
+++ b/apps/hashdotdev/src/theme/index.ts
@@ -2,9 +2,9 @@
import { createTheme } from "@mui/material";
+import { components } from "./components";
import { palette } from "./palette";
import { typography } from "./typography";
-import { components } from "./components";
export const theme = createTheme({
palette,
diff --git a/apps/hashdotdev/src/theme/MuiProvider.tsx b/apps/hashdotdev/src/theme/mui-provider.tsx
similarity index 94%
rename from apps/hashdotdev/src/theme/MuiProvider.tsx
rename to apps/hashdotdev/src/theme/mui-provider.tsx
index f1902c711fa..c196b403f81 100644
--- a/apps/hashdotdev/src/theme/MuiProvider.tsx
+++ b/apps/hashdotdev/src/theme/mui-provider.tsx
@@ -2,7 +2,8 @@ import { CacheProvider, EmotionCache } from "@emotion/react";
import { CssBaseline, ThemeProvider } from "@mui/material";
import { ThemeProviderProps } from "@mui/material/styles/ThemeProvider";
import { FunctionComponent, ReactNode, useEffect } from "react";
-import { createEmotionCache } from "../util/createEmotionCache";
+
+import { createEmotionCache } from "../util/create-emotion-cache";
const clientSideEmotionCache = createEmotionCache();
diff --git a/apps/hashdotdev/src/theme/typography.ts b/apps/hashdotdev/src/theme/typography.ts
index 604ad5c666d..33b1085ad36 100644
--- a/apps/hashdotdev/src/theme/typography.ts
+++ b/apps/hashdotdev/src/theme/typography.ts
@@ -1,4 +1,5 @@
import { ThemeOptions } from "@mui/material";
+
import { customColors } from "./palette";
const fallbackFonts = [`"Helvetica"`, `"Arial"`, "sans-serif"];
diff --git a/apps/hashdotdev/src/util/clientMdxUtil.ts b/apps/hashdotdev/src/util/client-mdx-util.ts
similarity index 100%
rename from apps/hashdotdev/src/util/clientMdxUtil.ts
rename to apps/hashdotdev/src/util/client-mdx-util.ts
diff --git a/apps/hashdotdev/src/util/createEmotionCache.ts b/apps/hashdotdev/src/util/create-emotion-cache.ts
similarity index 100%
rename from apps/hashdotdev/src/util/createEmotionCache.ts
rename to apps/hashdotdev/src/util/create-emotion-cache.ts
diff --git a/apps/hashdotdev/src/util/mdxComponents.tsx b/apps/hashdotdev/src/util/mdx-components.tsx
similarity index 77%
rename from apps/hashdotdev/src/util/mdxComponents.tsx
rename to apps/hashdotdev/src/util/mdx-components.tsx
index a8a5b9e661a..46271ffbb04 100644
--- a/apps/hashdotdev/src/util/mdxComponents.tsx
+++ b/apps/hashdotdev/src/util/mdx-components.tsx
@@ -1,17 +1,17 @@
import { Box, Typography, TypographyProps } from "@mui/material";
-import { ComponentType } from "react";
import dynamic from "next/dynamic";
+import { ComponentType } from "react";
-import { ImageWithText } from "../components/ImageWithText";
-import { Link, LinkProps } from "../components/Link";
-import { MdxImage } from "../components/MdxImage";
-import { MdxPre } from "../components/MdxPre";
-import { MdxTalkSlide } from "../components/MdxTalkSlide";
-import { MdxVideo } from "../components/MdxVideo";
+import { ImageWithText } from "../components/image-with-text";
+import { Link, LinkProps } from "../components/link";
+import { MdxImage } from "../components/mdx-image";
+import { MdxPre } from "../components/mdx-pre";
+import { MdxTalkSlide } from "../components/mdx-talk-slide";
+import { MdxVideo } from "../components/mdx-video";
const CalculationBlock = dynamic<{}>(
() =>
- import("../components/CalculationBlock").then(
+ import("../components/calculation-block").then(
(module) => module.CalculationBlock,
),
{ ssr: false },
diff --git a/apps/hashdotdev/src/util/mdxUtil.ts b/apps/hashdotdev/src/util/mdx-util.ts
similarity index 98%
rename from apps/hashdotdev/src/util/mdxUtil.ts
rename to apps/hashdotdev/src/util/mdx-util.ts
index 1461f9e3441..07b83fc9826 100644
--- a/apps/hashdotdev/src/util/mdxUtil.ts
+++ b/apps/hashdotdev/src/util/mdx-util.ts
@@ -1,14 +1,16 @@
import { readFileSync } from "node:fs";
+import path from "node:path";
+
import { readdir, readdirSync, readFile } from "fs-extra";
import matter from "gray-matter";
import { MDXRemoteSerializeResult } from "next-mdx-remote";
import { serialize } from "next-mdx-remote/serialize";
-import path from "node:path";
import remarkMdx from "remark-mdx";
import remarkMdxDisableExplicitJsx from "remark-mdx-disable-explicit-jsx";
import remarkParse from "remark-parse";
import { unified } from "unified";
-import { parseNameFromFileName } from "./clientMdxUtil";
+
+import { parseNameFromFileName } from "./client-mdx-util";
type Node = {
type: string;
diff --git a/apps/hashdotdev/src/util/nextTypes.ts b/apps/hashdotdev/src/util/next-types.ts
similarity index 100%
rename from apps/hashdotdev/src/util/nextTypes.ts
rename to apps/hashdotdev/src/util/next-types.ts
diff --git a/libs/javascript/@local/eslint-config/legacy-base-eslintrc-to-refactor.cjs b/libs/javascript/@local/eslint-config/legacy-base-eslintrc-to-refactor.cjs
index 69a4ca7ad56..5e3ba14a915 100644
--- a/libs/javascript/@local/eslint-config/legacy-base-eslintrc-to-refactor.cjs
+++ b/libs/javascript/@local/eslint-config/legacy-base-eslintrc-to-refactor.cjs
@@ -6,8 +6,9 @@ module.exports = {
plugins: [
"@typescript-eslint",
"canonical",
- "react-hooks",
"jest",
+ "react-hooks",
+ "simple-import-sort",
"unicorn",
],
extends: [
diff --git a/libs/javascript/@local/eslint-config/legacy-block-eslintrc-to-refactor.cjs b/libs/javascript/@local/eslint-config/legacy-block-eslintrc-to-refactor.cjs
index f789be53d57..af300d3d8d4 100644
--- a/libs/javascript/@local/eslint-config/legacy-block-eslintrc-to-refactor.cjs
+++ b/libs/javascript/@local/eslint-config/legacy-block-eslintrc-to-refactor.cjs
@@ -1,12 +1,6 @@
/** @type {import("eslint").Linter.Config} */
module.exports = {
- plugins: [
- "@typescript-eslint",
- "react-hooks",
- "react",
- "simple-import-sort",
- "unicorn",
- ],
+ plugins: ["@typescript-eslint", "react-hooks", "react", "unicorn"],
rules: {
curly: ["error", "multi-line"],
"import/no-extraneous-dependencies": ["error", { devDependencies: true }],
From 28d7aae7b896b6aa8cb32d1010bdbcb352ee40b8 Mon Sep 17 00:00:00 2001
From: Ben Werner <42802102+benwerner01@users.noreply.github.com>
Date: Thu, 22 Dec 2022 12:53:13 +0100
Subject: [PATCH 05/13] Introduce `GraphAPIError` class in HASH App backend
(#1702)
* ft: custom `GraphApi` error class
* refactor: replace usage of `AxiosError` with `GraphApiError`
* refactor: remove superfluous apollo errors
* refactor: remove other superfluous errors
* refactor: type Graph API Error as JSON
Co-authored-by: Ciaran Morinan <37743469+CiaranMn@users.noreply.github.com>
---
packages/hash/api/src/graph/index.ts | 54 ++++++++++-
.../src/graph/ontology/primitive/data-type.ts | 19 ++--
.../graph/ontology/primitive/entity-type.ts | 21 ++---
.../graph/ontology/primitive/property-type.ts | 19 ++--
packages/hash/api/src/graph/util.ts | 5 +-
.../resolvers/knowledge/entity/entity.ts | 73 ++++++---------
.../graphql/resolvers/ontology/data-type.ts | 79 +++++++---------
.../graphql/resolvers/ontology/entity-type.ts | 89 +++++++------------
.../resolvers/ontology/property-type.ts | 42 +++------
9 files changed, 170 insertions(+), 231 deletions(-)
diff --git a/packages/hash/api/src/graph/index.ts b/packages/hash/api/src/graph/index.ts
index 1d8067d2e57..53c506841b2 100644
--- a/packages/hash/api/src/graph/index.ts
+++ b/packages/hash/api/src/graph/index.ts
@@ -5,7 +5,7 @@ import {
GraphResolveDepths,
} from "@hashintel/hash-graph-client";
import HttpAgent, { HttpsAgent } from "agentkeepalive";
-import axios from "axios";
+import axios, { AxiosError } from "axios";
import { Logger } from "@hashintel/hash-backend-utils/logger";
import {
ensureSystemUserExists,
@@ -51,6 +51,41 @@ const httpsAgent = new HttpsAgent(agentConfig);
export type GraphApi = GraphApiClient & DataSource;
+const isErrorAxiosError = (error: Error): error is AxiosError =>
+ (error as AxiosError).isAxiosError;
+
+type JSONValue =
+ | string
+ | number
+ | boolean
+ | { [x: string]: JSONValue }
+ | Array;
+
+export class GraphApiError extends Error {
+ // `status` is the HTTP status code from the server response
+ status?: number;
+ // `payload` is the contents of the HTTP body from the server response
+ payload: JSONValue;
+
+ constructor(axiosError: AxiosError) {
+ const responseData = axiosError.response?.data;
+
+ const message = `GraphApi error: ${
+ typeof responseData === "string" ? responseData : axiosError.message
+ }`;
+
+ super(message);
+
+ this.status = axiosError.response?.status;
+
+ if (!responseData) {
+ throw new Error("No response data found in Graph API error.");
+ }
+
+ this.payload = responseData as JSONValue;
+ }
+}
+
export const createGraphClient = (
_logger: Logger,
{ host, port }: { host: string; port: number },
@@ -60,11 +95,26 @@ export const createGraphClient = (
httpsAgent,
});
+ axiosInstance.interceptors.response.use(
+ (response) => response,
+ (error: Error) => {
+ if (!isErrorAxiosError(error)) {
+ throw new Error("Graph error is not axios error");
+ }
+
+ const graphApiError = new GraphApiError(error);
+
+ return Promise.reject(graphApiError);
+ },
+ );
+
const basePath = `http://${host}:${port}`;
const config = new Configuration({ basePath });
- return new GraphApiClient(config, basePath, axiosInstance);
+ const graphApi = new GraphApiClient(config, basePath, axiosInstance);
+
+ return graphApi;
};
export const ensureSystemGraphIsInitialized = async (params: {
diff --git a/packages/hash/api/src/graph/ontology/primitive/data-type.ts b/packages/hash/api/src/graph/ontology/primitive/data-type.ts
index fcad9a1a281..48f5fb4b779 100644
--- a/packages/hash/api/src/graph/ontology/primitive/data-type.ts
+++ b/packages/hash/api/src/graph/ontology/primitive/data-type.ts
@@ -1,4 +1,3 @@
-import { AxiosError } from "axios";
import { generateTypeId } from "@hashintel/hash-shared/ontology-types";
import { DataType } from "@blockprotocol/type-system";
import {
@@ -53,19 +52,11 @@ export const createDataType: ImpureGraphFunction<
});
const schema = { $id: dataTypeUri, ...params.schema };
- const { data: metadata } = await graphApi
- .createDataType({
- schema,
- ownedById,
- actorId,
- })
- .catch((err: AxiosError) => {
- throw new Error(
- err.response?.status === 409
- ? `data type with the same URI already exists. [URI=${schema.$id}]`
- : `[${err.code}] couldn't create data type: ${err.response?.data}.`,
- );
- });
+ const { data: metadata } = await graphApi.createDataType({
+ schema,
+ ownedById,
+ actorId,
+ });
return { schema, metadata };
};
diff --git a/packages/hash/api/src/graph/ontology/primitive/entity-type.ts b/packages/hash/api/src/graph/ontology/primitive/entity-type.ts
index 1f130c18be9..999bb15d441 100644
--- a/packages/hash/api/src/graph/ontology/primitive/entity-type.ts
+++ b/packages/hash/api/src/graph/ontology/primitive/entity-type.ts
@@ -1,5 +1,3 @@
-import { AxiosError } from "axios";
-
import { EntityType, VersionedUri } from "@blockprotocol/type-system";
import { UpdateEntityTypeRequest } from "@hashintel/hash-graph-client";
import {
@@ -46,23 +44,16 @@ export const createEntityType: ImpureGraphFunction<
kind: "entity-type",
title: params.schema.title,
});
+
const schema = { $id: entityTypeId, ...params.schema };
const { graphApi } = ctx;
- const { data: metadata } = await graphApi
- .createEntityType({
- actorId,
- ownedById,
- schema,
- })
- .catch((err: AxiosError) => {
- throw new Error(
- err.response?.status === 409
- ? `entity type with the same URI already exists. [URI=${schema.$id}]`
- : `[${err.code}] couldn't create entity type: ${err.response?.data}.`,
- );
- });
+ const { data: metadata } = await graphApi.createEntityType({
+ actorId,
+ ownedById,
+ schema,
+ });
return { schema, metadata };
};
diff --git a/packages/hash/api/src/graph/ontology/primitive/property-type.ts b/packages/hash/api/src/graph/ontology/primitive/property-type.ts
index 341fb8d73ce..8e36bac9b76 100644
--- a/packages/hash/api/src/graph/ontology/primitive/property-type.ts
+++ b/packages/hash/api/src/graph/ontology/primitive/property-type.ts
@@ -1,4 +1,3 @@
-import { AxiosError } from "axios";
import { UpdatePropertyTypeRequest } from "@hashintel/hash-graph-client";
import {
PropertyTypeWithMetadata,
@@ -46,19 +45,11 @@ export const createPropertyType: ImpureGraphFunction<
const { graphApi } = ctx;
- const { data: metadata } = await graphApi
- .createPropertyType({
- ownedById,
- schema,
- actorId,
- })
- .catch((err: AxiosError) => {
- throw new Error(
- err.response?.status === 409
- ? `property type with the same URI already exists. [URI=${schema.$id}]`
- : `[${err.code}] couldn't create property type: ${err.response?.data}.`,
- );
- });
+ const { data: metadata } = await graphApi.createPropertyType({
+ ownedById,
+ schema,
+ actorId,
+ });
return { schema, metadata };
};
diff --git a/packages/hash/api/src/graph/util.ts b/packages/hash/api/src/graph/util.ts
index debae332b86..e119f2cfe38 100644
--- a/packages/hash/api/src/graph/util.ts
+++ b/packages/hash/api/src/graph/util.ts
@@ -19,7 +19,6 @@ import {
PropertyTypeWithMetadata,
linkEntityTypeUri,
} from "@hashintel/hash-subgraph";
-import { AxiosError } from "axios";
import { OwnedById } from "@hashintel/hash-shared/types";
import { GraphApi } from ".";
@@ -191,7 +190,7 @@ export const propertyTypeInitializer = (
schema: propertyTypeSchema,
actorId: systemUserAccountId,
},
- ).catch((createError: AxiosError) => {
+ ).catch((createError) => {
logger.warn(`Failed to create property type: ${params.title}`);
throw createError;
});
@@ -367,7 +366,7 @@ export const entityTypeInitializer = (
schema: entityTypeSchema,
actorId: systemUserAccountId,
},
- ).catch((createError: AxiosError) => {
+ ).catch((createError) => {
logger.warn(`Failed to create entity type: ${params.title}`);
throw createError;
});
diff --git a/packages/hash/api/src/graphql/resolvers/knowledge/entity/entity.ts b/packages/hash/api/src/graphql/resolvers/knowledge/entity/entity.ts
index 2793af7e410..9f5588f294e 100644
--- a/packages/hash/api/src/graphql/resolvers/knowledge/entity/entity.ts
+++ b/packages/hash/api/src/graphql/resolvers/knowledge/entity/entity.ts
@@ -1,10 +1,5 @@
import { Filter } from "@hashintel/hash-graph-client";
-import { AxiosError } from "axios";
-import {
- ApolloError,
- ForbiddenError,
- UserInputError,
-} from "apollo-server-express";
+import { ForbiddenError, UserInputError } from "apollo-server-express";
import {
Entity,
isEntityId,
@@ -170,26 +165,19 @@ export const getAllLatestEntitiesResolver: ResolverFn<
});
}
- const { data: entitySubgraph } = await graphApi
- .getEntitiesByQuery({
- filter,
- graphResolveDepths: {
- inheritsFrom: { outgoing: 0 },
- constrainsValuesOn,
- constrainsPropertiesOn,
- constrainsLinksOn,
- constrainsLinkDestinationsOn,
- isOfType,
- hasLeftEntity,
- hasRightEntity,
- },
- })
- .catch((err: AxiosError) => {
- throw new ApolloError(
- `Unable to retrieve all latest entities. ${err.response?.data}`,
- "GET_ALL_ERROR",
- );
- });
+ const { data: entitySubgraph } = await graphApi.getEntitiesByQuery({
+ filter,
+ graphResolveDepths: {
+ inheritsFrom: { outgoing: 0 },
+ constrainsValuesOn,
+ constrainsPropertiesOn,
+ constrainsLinksOn,
+ constrainsLinkDestinationsOn,
+ isOfType,
+ hasLeftEntity,
+ hasRightEntity,
+ },
+ });
removeNonLatestEntities(entitySubgraph as Subgraph);
return entitySubgraph as Subgraph;
@@ -236,26 +224,19 @@ export const getEntityResolver: ResolverFn<
],
};
- const { data: entitySubgraph } = await graphApi
- .getEntitiesByQuery({
- filter,
- graphResolveDepths: {
- inheritsFrom: { outgoing: 0 },
- constrainsValuesOn,
- constrainsPropertiesOn,
- constrainsLinksOn,
- constrainsLinkDestinationsOn,
- isOfType,
- hasLeftEntity,
- hasRightEntity,
- },
- })
- .catch((err: AxiosError) => {
- throw new ApolloError(
- `Unable to retrieve entity. ${err.response?.data}`,
- "GET_ERROR",
- );
- });
+ const { data: entitySubgraph } = await graphApi.getEntitiesByQuery({
+ filter,
+ graphResolveDepths: {
+ inheritsFrom: { outgoing: 0 },
+ constrainsValuesOn,
+ constrainsPropertiesOn,
+ constrainsLinksOn,
+ constrainsLinkDestinationsOn,
+ isOfType,
+ hasLeftEntity,
+ hasRightEntity,
+ },
+ });
removeNonLatestEntities(entitySubgraph as Subgraph);
return entitySubgraph as Subgraph;
diff --git a/packages/hash/api/src/graphql/resolvers/ontology/data-type.ts b/packages/hash/api/src/graphql/resolvers/ontology/data-type.ts
index d570e82d481..c556a15c85f 100644
--- a/packages/hash/api/src/graphql/resolvers/ontology/data-type.ts
+++ b/packages/hash/api/src/graphql/resolvers/ontology/data-type.ts
@@ -1,6 +1,3 @@
-import { ApolloError } from "apollo-server-express";
-import { AxiosError } from "axios";
-
import { Subgraph } from "@hashintel/hash-subgraph";
import {
QueryGetDataTypeArgs,
@@ -17,28 +14,21 @@ export const getAllLatestDataTypes: ResolverFn<
> = async (_, { constrainsValuesOn }, { dataSources }) => {
const { graphApi } = dataSources;
- const { data: dataTypeSubgraph } = await graphApi
- .getDataTypesByQuery({
- filter: {
- equal: [{ path: ["version"] }, { parameter: "latest" }],
- },
- graphResolveDepths: {
- inheritsFrom: { outgoing: 0 },
- constrainsValuesOn,
- constrainsPropertiesOn: { outgoing: 0 },
- constrainsLinksOn: { outgoing: 0 },
- constrainsLinkDestinationsOn: { outgoing: 0 },
- isOfType: { outgoing: 0 },
- hasLeftEntity: { incoming: 0, outgoing: 0 },
- hasRightEntity: { incoming: 0, outgoing: 0 },
- },
- })
- .catch((err: AxiosError) => {
- throw new ApolloError(
- `Unable to retrieve all latest data types: ${err.response?.data}`,
- "GET_ALL_ERROR",
- );
- });
+ const { data: dataTypeSubgraph } = await graphApi.getDataTypesByQuery({
+ filter: {
+ equal: [{ path: ["version"] }, { parameter: "latest" }],
+ },
+ graphResolveDepths: {
+ inheritsFrom: { outgoing: 0 },
+ constrainsValuesOn,
+ constrainsPropertiesOn: { outgoing: 0 },
+ constrainsLinksOn: { outgoing: 0 },
+ constrainsLinkDestinationsOn: { outgoing: 0 },
+ isOfType: { outgoing: 0 },
+ hasLeftEntity: { incoming: 0, outgoing: 0 },
+ hasRightEntity: { incoming: 0, outgoing: 0 },
+ },
+ });
return dataTypeSubgraph as Subgraph;
};
@@ -51,29 +41,22 @@ export const getDataType: ResolverFn<
> = async (_, { dataTypeId, constrainsValuesOn }, { dataSources }) => {
const { graphApi } = dataSources;
- const { data: dataTypeSubgraph } = await graphApi
- .getDataTypesByQuery({
- filter: {
- equal: [{ path: ["versionedUri"] }, { parameter: dataTypeId }],
- },
- /** @todo - make these configurable once non-primitive data types are a thing https://app.asana.com/0/1200211978612931/1202464168422955/f */
- graphResolveDepths: {
- inheritsFrom: { outgoing: 0 },
- constrainsValuesOn,
- constrainsPropertiesOn: { outgoing: 0 },
- constrainsLinksOn: { outgoing: 0 },
- constrainsLinkDestinationsOn: { outgoing: 0 },
- isOfType: { outgoing: 0 },
- hasLeftEntity: { incoming: 0, outgoing: 0 },
- hasRightEntity: { incoming: 0, outgoing: 0 },
- },
- })
- .catch((err: AxiosError) => {
- throw new ApolloError(
- `Unable to retrieve data type [${dataTypeId}]: ${err.response?.data}`,
- "GET_ERROR",
- );
- });
+ const { data: dataTypeSubgraph } = await graphApi.getDataTypesByQuery({
+ filter: {
+ equal: [{ path: ["versionedUri"] }, { parameter: dataTypeId }],
+ },
+ /** @todo - make these configurable once non-primitive data types are a thing https://app.asana.com/0/1200211978612931/1202464168422955/f */
+ graphResolveDepths: {
+ inheritsFrom: { outgoing: 0 },
+ constrainsValuesOn,
+ constrainsPropertiesOn: { outgoing: 0 },
+ constrainsLinksOn: { outgoing: 0 },
+ constrainsLinkDestinationsOn: { outgoing: 0 },
+ isOfType: { outgoing: 0 },
+ hasLeftEntity: { incoming: 0, outgoing: 0 },
+ hasRightEntity: { incoming: 0, outgoing: 0 },
+ },
+ });
return dataTypeSubgraph as Subgraph;
};
diff --git a/packages/hash/api/src/graphql/resolvers/ontology/entity-type.ts b/packages/hash/api/src/graphql/resolvers/ontology/entity-type.ts
index 3e7b2e68c55..82ef7279e36 100644
--- a/packages/hash/api/src/graphql/resolvers/ontology/entity-type.ts
+++ b/packages/hash/api/src/graphql/resolvers/ontology/entity-type.ts
@@ -1,5 +1,3 @@
-import { ApolloError } from "apollo-server-express";
-import { AxiosError } from "axios";
import { EntityTypeWithMetadata, Subgraph } from "@hashintel/hash-subgraph";
import { OwnedById } from "@hashintel/hash-shared/types";
@@ -33,9 +31,7 @@ export const createEntityTypeResolver: ResolverFn<
schema: entityType,
actorId: user.accountId,
},
- ).catch((err) => {
- throw new ApolloError(err, "CREATION_ERROR");
- });
+ );
return createdEntityType;
};
@@ -58,28 +54,21 @@ export const getAllLatestEntityTypesResolver: ResolverFn<
) => {
const { graphApi } = dataSources;
- const { data: entityTypeSubgraph } = await graphApi
- .getEntityTypesByQuery({
- filter: {
- equal: [{ path: ["version"] }, { parameter: "latest" }],
- },
- graphResolveDepths: {
- inheritsFrom: { outgoing: 0 },
- constrainsValuesOn,
- constrainsPropertiesOn,
- constrainsLinksOn,
- constrainsLinkDestinationsOn,
- isOfType: { outgoing: 0 },
- hasLeftEntity: { incoming: 0, outgoing: 0 },
- hasRightEntity: { incoming: 0, outgoing: 0 },
- },
- })
- .catch((err: AxiosError) => {
- throw new ApolloError(
- `Unable to retrieve all latest entity types. ${err.response?.data}`,
- "GET_ALL_ERROR",
- );
- });
+ const { data: entityTypeSubgraph } = await graphApi.getEntityTypesByQuery({
+ filter: {
+ equal: [{ path: ["version"] }, { parameter: "latest" }],
+ },
+ graphResolveDepths: {
+ inheritsFrom: { outgoing: 0 },
+ constrainsValuesOn,
+ constrainsPropertiesOn,
+ constrainsLinksOn,
+ constrainsLinkDestinationsOn,
+ isOfType: { outgoing: 0 },
+ hasLeftEntity: { incoming: 0, outgoing: 0 },
+ hasRightEntity: { incoming: 0, outgoing: 0 },
+ },
+ });
return entityTypeSubgraph as Subgraph;
};
@@ -103,28 +92,21 @@ export const getEntityTypeResolver: ResolverFn<
) => {
const { graphApi } = dataSources;
- const { data: entityTypeSubgraph } = await graphApi
- .getEntityTypesByQuery({
- filter: {
- equal: [{ path: ["versionedUri"] }, { parameter: entityTypeId }],
- },
- graphResolveDepths: {
- inheritsFrom: { outgoing: 0 },
- constrainsValuesOn,
- constrainsPropertiesOn,
- constrainsLinksOn,
- constrainsLinkDestinationsOn,
- isOfType: { outgoing: 0 },
- hasLeftEntity: { incoming: 0, outgoing: 0 },
- hasRightEntity: { incoming: 0, outgoing: 0 },
- },
- })
- .catch((err: AxiosError) => {
- throw new ApolloError(
- `Unable to retrieve entity type. ${err.response?.data}`,
- "GET_ERROR",
- );
- });
+ const { data: entityTypeSubgraph } = await graphApi.getEntityTypesByQuery({
+ filter: {
+ equal: [{ path: ["versionedUri"] }, { parameter: entityTypeId }],
+ },
+ graphResolveDepths: {
+ inheritsFrom: { outgoing: 0 },
+ constrainsValuesOn,
+ constrainsPropertiesOn,
+ constrainsLinksOn,
+ constrainsLinkDestinationsOn,
+ isOfType: { outgoing: 0 },
+ hasLeftEntity: { incoming: 0, outgoing: 0 },
+ hasRightEntity: { incoming: 0, outgoing: 0 },
+ },
+ });
return entityTypeSubgraph as Subgraph;
};
@@ -145,14 +127,7 @@ export const updateEntityTypeResolver: ResolverFn<
schema: updatedEntityTypeSchema,
actorId: user.accountId,
},
- ).catch((err: AxiosError) => {
- const msg =
- err.response?.status === 409
- ? `Entity type URI doesn't exist, unable to update. [URI=${entityTypeId}]`
- : `Couldn't update entity type.`;
-
- throw new ApolloError(msg, "CREATION_ERROR");
- });
+ );
return updatedEntityType;
};
diff --git a/packages/hash/api/src/graphql/resolvers/ontology/property-type.ts b/packages/hash/api/src/graphql/resolvers/ontology/property-type.ts
index 9aebdd8227e..65c7cd3f3fe 100644
--- a/packages/hash/api/src/graphql/resolvers/ontology/property-type.ts
+++ b/packages/hash/api/src/graphql/resolvers/ontology/property-type.ts
@@ -1,5 +1,3 @@
-import { ApolloError } from "apollo-server-express";
-import { AxiosError } from "axios";
import { PropertyTypeWithMetadata, Subgraph } from "@hashintel/hash-subgraph";
import { OwnedById } from "@hashintel/hash-shared/types";
@@ -33,9 +31,7 @@ export const createPropertyTypeResolver: ResolverFn<
schema: propertyType,
actorId: user.accountId,
},
- ).catch((err) => {
- throw new ApolloError(err, "CREATION_ERROR");
- });
+ );
return createdPropertyType;
};
@@ -59,8 +55,8 @@ export const getAllLatestPropertyTypesResolver: ResolverFn<
* authorized to see.
* https://app.asana.com/0/1202805690238892/1202890446280569/f
*/
- const { data: propertyTypeSubgraph } = await graphApi
- .getPropertyTypesByQuery({
+ const { data: propertyTypeSubgraph } = await graphApi.getPropertyTypesByQuery(
+ {
filter: {
equal: [{ path: ["version"] }, { parameter: "latest" }],
},
@@ -74,14 +70,8 @@ export const getAllLatestPropertyTypesResolver: ResolverFn<
hasLeftEntity: { incoming: 0, outgoing: 0 },
hasRightEntity: { incoming: 0, outgoing: 0 },
},
- })
- .catch((err: AxiosError) => {
- throw new ApolloError(
- `Unable to retrieve all latest property types. ${err.response?.data}`,
- "GET_ALL_ERROR",
- );
- });
-
+ },
+ );
return propertyTypeSubgraph as Subgraph;
};
@@ -98,8 +88,8 @@ export const getPropertyTypeResolver: ResolverFn<
) => {
const { graphApi } = dataSources;
- const { data: propertyTypeSubgraph } = await graphApi
- .getPropertyTypesByQuery({
+ const { data: propertyTypeSubgraph } = await graphApi.getPropertyTypesByQuery(
+ {
filter: {
equal: [{ path: ["versionedUri"] }, { parameter: propertyTypeId }],
},
@@ -113,13 +103,8 @@ export const getPropertyTypeResolver: ResolverFn<
hasLeftEntity: { incoming: 0, outgoing: 0 },
hasRightEntity: { incoming: 0, outgoing: 0 },
},
- })
- .catch((err: AxiosError) => {
- throw new ApolloError(
- `Unable to retrieve property type [${propertyTypeId}]: ${err.response?.data}`,
- "GET_ERROR",
- );
- });
+ },
+ );
return propertyTypeSubgraph as Subgraph;
};
@@ -141,14 +126,7 @@ export const updatePropertyTypeResolver: ResolverFn<
schema: updatedPropertyTypeSchema,
actorId: user.accountId,
},
- ).catch((err: AxiosError) => {
- const msg =
- err.response?.status === 409
- ? `Property type URI doesn't exist, unable to update. [URI=${propertyTypeId}]`
- : `Couldn't update property type.`;
-
- throw new ApolloError(msg, "CREATION_ERROR");
- });
+ );
return updatedPropertyType;
};
From 0ced683889a85f56bc7c44ce4895224131aae695 Mon Sep 17 00:00:00 2001
From: David Wilkinson <6226576+nonparibus@users.noreply.github.com>
Date: Thu, 22 Dec 2022 13:23:29 +0000
Subject: [PATCH 06/13] Add CODE_OF_CONDUCT file (#1730)
Per GitHub's [community standards recommendations](https://github.com/hashintel/hash/community) for this repo, we are adding an explicit COC file to supplement our existing platform-wide [community guidelines](https://hash.ai/legal/community).
---
CODE_OF_CONDUCT.md | 136 +++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 136 insertions(+)
create mode 100644 CODE_OF_CONDUCT.md
diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md
new file mode 100644
index 00000000000..f802f546eda
--- /dev/null
+++ b/CODE_OF_CONDUCT.md
@@ -0,0 +1,136 @@
+# Code of Conduct
+
+This code of conduct is an extension of the [community guidelines](https://hash.ai/legal/community) that can be found on the [hash.ai](https://hash.ai/) website. By participating in this repository, you agree to adhere to both the below _code of conduct_ and the linked _community guidelines_.
+
+## Contributor Covenant Code of Conduct
+
+### Our Pledge
+
+We as members, contributors, and leaders pledge to make participation in our
+community a harassment-free experience for everyone, regardless of age, body
+size, visible or invisible disability, ethnicity, sex characteristics, gender
+identity and expression, level of experience, education, socio-economic status,
+nationality, personal appearance, race, caste, color, religion, or sexual
+identity and orientation.
+
+We pledge to act and interact in ways that contribute to an open, welcoming,
+diverse, inclusive, and healthy community.
+
+### Our Standards
+
+Examples of behavior that contributes to a positive environment for our
+community include:
+
+- Demonstrating empathy and kindness toward other people
+- Being respectful of differing opinions, viewpoints, and experiences
+- Giving and gracefully accepting constructive feedback
+- Accepting responsibility and apologizing to those affected by our mistakes,
+ and learning from the experience
+- Focusing on what is best not just for us as individuals, but for the overall
+ community
+
+Examples of unacceptable behavior include:
+
+- The use of sexualized language or imagery, and sexual attention or advances of
+ any kind
+- Trolling, insulting or derogatory comments, and personal or political attacks
+- Public or private harassment
+- Publishing others' private information, such as a physical or email address,
+ without their explicit permission
+- Other conduct which could reasonably be considered inappropriate in a
+ professional setting
+
+### Enforcement Responsibilities
+
+Community leaders are responsible for clarifying and enforcing our standards of
+acceptable behavior and will take appropriate and fair corrective action in
+response to any behavior that they deem inappropriate, threatening, offensive,
+or harmful.
+
+Community leaders have the right and responsibility to remove, edit, or reject
+comments, commits, code, wiki edits, issues, and other contributions that are
+not aligned to this Code of Conduct, and will communicate reasons for moderation
+decisions when appropriate.
+
+### Scope
+
+This Code of Conduct applies within all community spaces, and also applies when
+an individual is officially representing the community in public spaces.
+Examples of representing our community include using an official e-mail address,
+posting via an official social media account, or acting as an appointed
+representative at an online or offline event.
+
+### Enforcement
+
+Instances of abusive, harassing, or otherwise unacceptable behavior may be
+reported to the community leaders responsible for enforcement at
+[hash.ai/contact](https://hash.ai/contact).
+All complaints will be reviewed and investigated promptly and fairly.
+
+All community leaders are obligated to respect the privacy and security of the
+reporter of any incident.
+
+### Enforcement Guidelines
+
+Community leaders will follow these Community Impact Guidelines in determining
+the consequences for any action they deem in violation of this Code of Conduct:
+
+#### 1. Correction
+
+**Community Impact**: Use of inappropriate language or other behavior deemed
+unprofessional or unwelcome in the community.
+
+**Consequence**: A private, written warning from community leaders, providing
+clarity around the nature of the violation and an explanation of why the
+behavior was inappropriate. A public apology may be requested.
+
+#### 2. Warning
+
+**Community Impact**: A violation through a single incident or series of
+actions.
+
+**Consequence**: A warning with consequences for continued behavior. No
+interaction with the people involved, including unsolicited interaction with
+those enforcing the Code of Conduct, for a specified period of time. This
+includes avoiding interactions in community spaces as well as external channels
+like social media. Violating these terms may lead to a temporary or permanent
+ban.
+
+#### 3. Temporary Ban
+
+**Community Impact**: A serious violation of community standards, including
+sustained inappropriate behavior.
+
+**Consequence**: A temporary ban from any sort of interaction or public
+communication with the community for a specified period of time. No public or
+private interaction with the people involved, including unsolicited interaction
+with those enforcing the Code of Conduct, is allowed during this period.
+Violating these terms may lead to a permanent ban.
+
+#### 4. Permanent Ban
+
+**Community Impact**: Demonstrating a pattern of violation of community
+standards, including sustained inappropriate behavior, harassment of an
+individual, or aggression toward or disparagement of classes of individuals.
+
+**Consequence**: A permanent ban from any sort of public interaction within the
+community.
+
+### Attribution
+
+This Code of Conduct is adapted from the [Contributor Covenant][homepage],
+version 2.1, available at
+[https://www.contributor-covenant.org/version/2/1/code_of_conduct.html][v2.1].
+
+Community Impact Guidelines were inspired by
+[Mozilla's code of conduct enforcement ladder][mozilla coc].
+
+For answers to common questions about this code of conduct, see the FAQ at
+[https://www.contributor-covenant.org/faq][faq]. Translations are available at
+[https://www.contributor-covenant.org/translations][translations].
+
+[homepage]: https://www.contributor-covenant.org
+[v2.1]: https://www.contributor-covenant.org/version/2/1/code_of_conduct.html
+[mozilla coc]: https://github.com/mozilla/diversity
+[faq]: https://www.contributor-covenant.org/faq
+[translations]: https://www.contributor-covenant.org/translations
From c542194913d97a91f5fd09db107bad59bdc3c67c Mon Sep 17 00:00:00 2001
From: Alexander Kachkaev
Date: Thu, 22 Dec 2022 14:49:38 +0000
Subject: [PATCH 07/13] Use `kebab-case` in GraphQL codegen (#1732)
---
packages/hash/api/codegen.config.ts | 6 +++---
packages/hash/api/src/graph/knowledge/primitive/entity.ts | 2 +-
packages/hash/api/src/graphql/context.ts | 2 +-
packages/hash/api/src/graphql/createApolloServer.ts | 4 ++--
.../api/src/graphql/resolvers/blockprotocol/getBlock.ts | 2 +-
packages/hash/api/src/graphql/resolvers/embed/index.ts | 2 +-
.../api/src/graphql/resolvers/file/createFileFromLink.ts | 2 +-
.../hash/api/src/graphql/resolvers/file/fileUrlResolver.ts | 2 +-
.../api/src/graphql/resolvers/file/requestFileUpload.ts | 2 +-
.../hash/api/src/graphql/resolvers/knowledge/block/block.ts | 2 +-
.../src/graphql/resolvers/knowledge/block/data-entity.ts | 2 +-
.../api/src/graphql/resolvers/knowledge/comment/author.ts | 2 +-
.../api/src/graphql/resolvers/knowledge/comment/comment.ts | 2 +-
.../api/src/graphql/resolvers/knowledge/comment/delete.ts | 2 +-
.../api/src/graphql/resolvers/knowledge/comment/has-text.ts | 2 +-
.../api/src/graphql/resolvers/knowledge/comment/parent.ts | 2 +-
.../api/src/graphql/resolvers/knowledge/comment/replies.ts | 2 +-
.../api/src/graphql/resolvers/knowledge/comment/resolve.ts | 2 +-
.../graphql/resolvers/knowledge/comment/text-updated-at.ts | 2 +-
.../src/graphql/resolvers/knowledge/comment/update-text.ts | 2 +-
.../api/src/graphql/resolvers/knowledge/entity/entity.ts | 2 +-
.../api/src/graphql/resolvers/knowledge/graphql-mapping.ts | 2 +-
.../resolvers/knowledge/hashInstance/hashInstance.ts | 2 +-
.../api/src/graphql/resolvers/knowledge/org/create-org.ts | 2 +-
.../src/graphql/resolvers/knowledge/page/page-contents.ts | 2 +-
.../hash/api/src/graphql/resolvers/knowledge/page/page.ts | 2 +-
.../src/graphql/resolvers/knowledge/page/set-parent-page.ts | 2 +-
.../graphql/resolvers/knowledge/page/update-page-actions.ts | 2 +-
.../resolvers/knowledge/page/update-page-contents.ts | 2 +-
.../api/src/graphql/resolvers/knowledge/page/update-page.ts | 2 +-
.../api/src/graphql/resolvers/knowledge/user/create-user.ts | 2 +-
.../graphql/resolvers/knowledge/user/is-shortname-taken.ts | 2 +-
.../hash/api/src/graphql/resolvers/knowledge/user/me.ts | 2 +-
.../resolvers/linkedAggregation/createLinkedAggregation.ts | 2 +-
.../resolvers/linkedAggregation/deleteLinkedAggregation.ts | 2 +-
.../resolvers/linkedAggregation/getLinkedAggregation.ts | 2 +-
.../resolvers/linkedAggregation/linkedAggregationResults.ts | 2 +-
.../linkedAggregation/updateLinkedAggregationOperation.ts | 2 +-
.../src/graphql/resolvers/middlewares/canAccessAccount.ts | 2 +-
.../src/graphql/resolvers/middlewares/middlewareTypes.ts | 2 +-
.../hash/api/src/graphql/resolvers/ontology/data-type.ts | 2 +-
.../hash/api/src/graphql/resolvers/ontology/entity-type.ts | 2 +-
.../api/src/graphql/resolvers/ontology/property-type.ts | 2 +-
.../hash/api/src/graphql/resolvers/taskExecutor/index.ts | 2 +-
packages/hash/api/src/graphql/resolvers/util.ts | 2 +-
.../{typeDefs => type-defs}/blockprotocol.typedef.ts | 0
.../graphql/{typeDefs => type-defs}/deprecated.typedef.ts | 0
.../src/graphql/{typeDefs => type-defs}/embed.typedef.ts | 0
.../hash/api/src/graphql/{typeDefs => type-defs}/index.ts | 0
.../{typeDefs => type-defs}/knowledge/block.typedef.ts | 0
.../{typeDefs => type-defs}/knowledge/comment.typedef.ts | 0
.../{typeDefs => type-defs}/knowledge/entity.typedef.ts | 0
.../knowledge/hashInstance.typedef.ts | 0
.../{typeDefs => type-defs}/knowledge/org.typedef.ts | 0
.../{typeDefs => type-defs}/knowledge/page.typedef.ts | 0
.../{typeDefs => type-defs}/knowledge/user.typedef.ts | 0
.../{typeDefs => type-defs}/ontology/data-type.typedef.ts | 0
.../{typeDefs => type-defs}/ontology/entity-type.typedef.ts | 0
.../ontology/property-type.typedef.ts | 0
.../src/graphql/{typeDefs => type-defs}/subgraph.typedef.ts | 0
.../{typeDefs => type-defs}/taskExecution.typedef.ts | 0
packages/hash/api/src/lib/config.ts | 2 +-
packages/hash/api/src/model/aggregation.model.ts | 2 +-
packages/hash/api/src/model/file.model.ts | 2 +-
packages/hash/api/src/storage/aws-s3-storage-provider.ts | 2 +-
packages/hash/api/src/storage/external-storage-provider.ts | 2 +-
packages/hash/api/src/storage/local-file-storage.ts | 2 +-
packages/hash/api/src/storage/storage-provider-lookup.ts | 2 +-
packages/hash/api/src/storage/storage-provider.ts | 2 +-
packages/hash/docker/api/prod/Dockerfile | 2 +-
packages/hash/docker/frontend/prod/Dockerfile | 2 +-
packages/hash/docker/search-loader/prod/Dockerfile | 2 +-
packages/hash/frontend/codegen.config.ts | 4 ++--
packages/hash/frontend/src/components/PageIcon.tsx | 2 +-
.../knowledge/useBlockProtocolAggregateEntities.ts | 2 +-
.../knowledge/useBlockProtocolArchiveEntity.ts | 2 +-
.../knowledge/useBlockProtocolCreateEntity.ts | 2 +-
.../knowledge/useBlockProtocolGetEntity.ts | 2 +-
.../knowledge/useBlockProtocolUpdateEntity.ts | 2 +-
.../ontology/useBlockProtocolAggregateDataTypes.ts | 2 +-
.../ontology/useBlockProtocolAggregateEntityTypes.ts | 2 +-
.../ontology/useBlockProtocolAggregatePropertyTypes.ts | 2 +-
.../ontology/useBlockProtocolCreateEntityType.ts | 2 +-
.../ontology/useBlockProtocolCreatePropertyType.ts | 2 +-
.../ontology/useBlockProtocolGetDataType.ts | 2 +-
.../ontology/useBlockProtocolGetEntityType.ts | 2 +-
.../ontology/useBlockProtocolGetPropertyType.ts | 2 +-
.../ontology/useBlockProtocolUpdateEntityType.ts | 2 +-
.../ontology/useBlockProtocolUpdatePropertyType.ts | 2 +-
.../hash/frontend/src/components/hooks/useAccountPages.ts | 2 +-
.../hash/frontend/src/components/hooks/useArchivePage.ts | 2 +-
.../hash/frontend/src/components/hooks/useCreateComment.ts | 2 +-
.../hash/frontend/src/components/hooks/useCreatePage.ts | 2 +-
.../hash/frontend/src/components/hooks/useCreateSubPage.ts | 2 +-
.../hash/frontend/src/components/hooks/useDeleteComment.ts | 2 +-
.../src/components/hooks/useGetBlockProtocolBlocks.ts | 2 +-
.../hash/frontend/src/components/hooks/useHashInstance.ts | 2 +-
packages/hash/frontend/src/components/hooks/useOrgs.ts | 2 +-
.../hash/frontend/src/components/hooks/usePageComments.ts | 2 +-
.../hash/frontend/src/components/hooks/useReorderPage.ts | 2 +-
.../hash/frontend/src/components/hooks/useResolveComment.ts | 2 +-
.../hash/frontend/src/components/hooks/useShortnameInput.ts | 2 +-
.../src/components/hooks/useUpdateAuthenticatedUser.ts | 2 +-
.../frontend/src/components/hooks/useUpdateCommentText.ts | 2 +-
.../hash/frontend/src/components/hooks/useUpdatePageIcon.ts | 2 +-
.../frontend/src/components/hooks/useUpdatePageTitle.ts | 2 +-
packages/hash/frontend/src/components/hooks/useUsers.ts | 2 +-
packages/hash/frontend/src/lib/entities.ts | 2 +-
.../hash/frontend/src/middleware/return-types-as-json.ts | 2 +-
.../middleware/return-types-as-json/generate-query-args.ts | 2 +-
.../frontend/src/pages/[shortname]/[page-slug].page.tsx | 4 ++--
packages/hash/frontend/src/pages/_app.page.tsx | 2 +-
.../hash/frontend/src/pages/shared/auth-info-context.tsx | 2 +-
.../src/shared/layout/layout-with-header/search-bar.tsx | 2 +-
packages/hash/integration/codegen.config.ts | 4 ++--
packages/hash/integration/src/tests/integration.test.ts | 2 +-
packages/hash/integration/src/tests/util.ts | 2 +-
packages/hash/shared/codegen.config.ts | 4 ++--
packages/hash/shared/src/entity.ts | 2 +-
packages/hash/shared/src/save.ts | 2 +-
120 files changed, 111 insertions(+), 111 deletions(-)
rename packages/hash/api/src/graphql/{typeDefs => type-defs}/blockprotocol.typedef.ts (100%)
rename packages/hash/api/src/graphql/{typeDefs => type-defs}/deprecated.typedef.ts (100%)
rename packages/hash/api/src/graphql/{typeDefs => type-defs}/embed.typedef.ts (100%)
rename packages/hash/api/src/graphql/{typeDefs => type-defs}/index.ts (100%)
rename packages/hash/api/src/graphql/{typeDefs => type-defs}/knowledge/block.typedef.ts (100%)
rename packages/hash/api/src/graphql/{typeDefs => type-defs}/knowledge/comment.typedef.ts (100%)
rename packages/hash/api/src/graphql/{typeDefs => type-defs}/knowledge/entity.typedef.ts (100%)
rename packages/hash/api/src/graphql/{typeDefs => type-defs}/knowledge/hashInstance.typedef.ts (100%)
rename packages/hash/api/src/graphql/{typeDefs => type-defs}/knowledge/org.typedef.ts (100%)
rename packages/hash/api/src/graphql/{typeDefs => type-defs}/knowledge/page.typedef.ts (100%)
rename packages/hash/api/src/graphql/{typeDefs => type-defs}/knowledge/user.typedef.ts (100%)
rename packages/hash/api/src/graphql/{typeDefs => type-defs}/ontology/data-type.typedef.ts (100%)
rename packages/hash/api/src/graphql/{typeDefs => type-defs}/ontology/entity-type.typedef.ts (100%)
rename packages/hash/api/src/graphql/{typeDefs => type-defs}/ontology/property-type.typedef.ts (100%)
rename packages/hash/api/src/graphql/{typeDefs => type-defs}/subgraph.typedef.ts (100%)
rename packages/hash/api/src/graphql/{typeDefs => type-defs}/taskExecution.typedef.ts (100%)
diff --git a/packages/hash/api/codegen.config.ts b/packages/hash/api/codegen.config.ts
index aaf0e48f034..6665e5b3344 100644
--- a/packages/hash/api/codegen.config.ts
+++ b/packages/hash/api/codegen.config.ts
@@ -3,16 +3,16 @@ import { scalars } from "@hashintel/hash-shared/graphql/scalar-mapping";
const config: CodegenConfig = {
overwrite: true,
- schema: "./src/graphql/typeDefs/**/*.ts",
+ schema: "./src/graphql/type-defs/**/*.ts",
require: ["ts-node/register"],
generates: {
- "./src/graphql/graphqlSchema.gen.json": {
+ "./src/graphql/graphql-schema.gen.json": {
plugins: ["introspection"],
config: {
noSchemaStitching: true,
},
},
- "./src/graphql/apiTypes.gen.ts": {
+ "./src/graphql/api-types.gen.ts": {
plugins: ["typescript", "typescript-resolvers", "typescript-operations"],
documents: ["../shared/src/queries/**/*.ts"],
hooks: {
diff --git a/packages/hash/api/src/graph/knowledge/primitive/entity.ts b/packages/hash/api/src/graph/knowledge/primitive/entity.ts
index fc547e3f67c..b5d098e85d8 100644
--- a/packages/hash/api/src/graph/knowledge/primitive/entity.ts
+++ b/packages/hash/api/src/graph/knowledge/primitive/entity.ts
@@ -23,7 +23,7 @@ import { ImpureGraphFunction, zeroedGraphResolveDepths } from "../..";
import {
EntityDefinition,
LinkedEntityDefinition,
-} from "../../../graphql/apiTypes.gen";
+} from "../../../graphql/api-types.gen";
import { linkedTreeFlatten } from "../../../util";
import { getEntityTypeById } from "../../ontology/primitive/entity-type";
import {
diff --git a/packages/hash/api/src/graphql/context.ts b/packages/hash/api/src/graphql/context.ts
index 1e88ce0e97b..803c3968c06 100644
--- a/packages/hash/api/src/graphql/context.ts
+++ b/packages/hash/api/src/graphql/context.ts
@@ -3,7 +3,7 @@ import { SearchAdapter } from "@hashintel/hash-backend-utils/search/adapter";
import { CacheAdapter } from "../cache";
import { EmailTransporter } from "../email/transporters";
-import { StorageType } from "./apiTypes.gen";
+import { StorageType } from "./api-types.gen";
import { TaskExecutor } from "../task-execution";
import { GraphApi } from "../graph";
import { User } from "../graph/knowledge/system-types/user";
diff --git a/packages/hash/api/src/graphql/createApolloServer.ts b/packages/hash/api/src/graphql/createApolloServer.ts
index c2efc1f7fc1..9f00e6dd7d7 100644
--- a/packages/hash/api/src/graphql/createApolloServer.ts
+++ b/packages/hash/api/src/graphql/createApolloServer.ts
@@ -8,12 +8,12 @@ import { StatsD } from "hot-shots";
import { Logger } from "@hashintel/hash-backend-utils/logger";
import { SearchAdapter } from "@hashintel/hash-backend-utils/search/adapter";
-import { schema } from "./typeDefs";
+import { schema } from "./type-defs";
import { resolvers } from "./resolvers";
import { CacheAdapter } from "../cache";
import { GraphQLContext } from "./context";
import { EmailTransporter } from "../email/transporters";
-import { StorageType } from "./apiTypes.gen";
+import { StorageType } from "./api-types.gen";
import { TaskExecutor } from "../task-execution";
import { GraphApi } from "../graph";
diff --git a/packages/hash/api/src/graphql/resolvers/blockprotocol/getBlock.ts b/packages/hash/api/src/graphql/resolvers/blockprotocol/getBlock.ts
index 84567fa2048..f3533c4083e 100644
--- a/packages/hash/api/src/graphql/resolvers/blockprotocol/getBlock.ts
+++ b/packages/hash/api/src/graphql/resolvers/blockprotocol/getBlock.ts
@@ -1,5 +1,5 @@
import fetch from "node-fetch";
-import { ResolverFn, BlockProtocolBlock } from "../../apiTypes.gen";
+import { ResolverFn, BlockProtocolBlock } from "../../api-types.gen";
import { GraphQLContext } from "../../context";
export const getBlockProtocolBlocksResolver: ResolverFn<
diff --git a/packages/hash/api/src/graphql/resolvers/embed/index.ts b/packages/hash/api/src/graphql/resolvers/embed/index.ts
index 855a09dcdbb..e77a522d3ef 100644
--- a/packages/hash/api/src/graphql/resolvers/embed/index.ts
+++ b/packages/hash/api/src/graphql/resolvers/embed/index.ts
@@ -7,7 +7,7 @@ import {
Maybe,
QueryEmbedCodeArgs,
ResolverFn,
-} from "../../apiTypes.gen";
+} from "../../api-types.gen";
import { GraphQLContext } from "../../context";
diff --git a/packages/hash/api/src/graphql/resolvers/file/createFileFromLink.ts b/packages/hash/api/src/graphql/resolvers/file/createFileFromLink.ts
index 8687bc41e31..a8f4ce1800f 100644
--- a/packages/hash/api/src/graphql/resolvers/file/createFileFromLink.ts
+++ b/packages/hash/api/src/graphql/resolvers/file/createFileFromLink.ts
@@ -6,7 +6,7 @@ import {
Entity,
MutationCreateFileFromLinkArgs,
ResolverFn,
-} from "../../apiTypes.gen";
+} from "../../api-types.gen";
import { LoggedInGraphQLContext } from "../../context";
import { File } from "../../../model";
diff --git a/packages/hash/api/src/graphql/resolvers/file/fileUrlResolver.ts b/packages/hash/api/src/graphql/resolvers/file/fileUrlResolver.ts
index 3cfda5e59b4..4fa645573fe 100644
--- a/packages/hash/api/src/graphql/resolvers/file/fileUrlResolver.ts
+++ b/packages/hash/api/src/graphql/resolvers/file/fileUrlResolver.ts
@@ -1,7 +1,7 @@
/** @todo - Fix Files - https://app.asana.com/0/1202805690238892/1203418451117503/f */
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-nocheck
-import { FileProperties, ResolverFn } from "../../apiTypes.gen";
+import { FileProperties, ResolverFn } from "../../api-types.gen";
import { GraphQLContext } from "../../context";
import { File } from "../../../model";
diff --git a/packages/hash/api/src/graphql/resolvers/file/requestFileUpload.ts b/packages/hash/api/src/graphql/resolvers/file/requestFileUpload.ts
index f687a3a827f..c5ca5eb2da3 100644
--- a/packages/hash/api/src/graphql/resolvers/file/requestFileUpload.ts
+++ b/packages/hash/api/src/graphql/resolvers/file/requestFileUpload.ts
@@ -6,7 +6,7 @@ import {
ResolverFn,
RequestFileUploadResponse,
File as GQLFile,
-} from "../../apiTypes.gen";
+} from "../../api-types.gen";
import { LoggedInGraphQLContext } from "../../context";
import { File } from "../../../model";
diff --git a/packages/hash/api/src/graphql/resolvers/knowledge/block/block.ts b/packages/hash/api/src/graphql/resolvers/knowledge/block/block.ts
index 334e77a2697..42e66b202f8 100644
--- a/packages/hash/api/src/graphql/resolvers/knowledge/block/block.ts
+++ b/packages/hash/api/src/graphql/resolvers/knowledge/block/block.ts
@@ -1,5 +1,5 @@
import { getBlockById } from "../../../../graph/knowledge/system-types/block";
-import { QueryBlocksArgs, ResolverFn } from "../../../apiTypes.gen";
+import { QueryBlocksArgs, ResolverFn } from "../../../api-types.gen";
import { GraphQLContext } from "../../../context";
import { UnresolvedBlockGQL } from "../graphql-mapping";
diff --git a/packages/hash/api/src/graphql/resolvers/knowledge/block/data-entity.ts b/packages/hash/api/src/graphql/resolvers/knowledge/block/data-entity.ts
index a6708220dbb..44f993fd18e 100644
--- a/packages/hash/api/src/graphql/resolvers/knowledge/block/data-entity.ts
+++ b/packages/hash/api/src/graphql/resolvers/knowledge/block/data-entity.ts
@@ -4,7 +4,7 @@ import {
getBlockData,
} from "../../../../graph/knowledge/system-types/block";
-import { QueryBlocksArgs, ResolverFn } from "../../../apiTypes.gen";
+import { QueryBlocksArgs, ResolverFn } from "../../../api-types.gen";
import { GraphQLContext } from "../../../context";
import { UnresolvedBlockGQL, mapEntityToGQL } from "../graphql-mapping";
diff --git a/packages/hash/api/src/graphql/resolvers/knowledge/comment/author.ts b/packages/hash/api/src/graphql/resolvers/knowledge/comment/author.ts
index c9cc5330d39..3bd431baa87 100644
--- a/packages/hash/api/src/graphql/resolvers/knowledge/comment/author.ts
+++ b/packages/hash/api/src/graphql/resolvers/knowledge/comment/author.ts
@@ -3,7 +3,7 @@ import {
getCommentAuthor,
getCommentById,
} from "../../../../graph/knowledge/system-types/comment";
-import { ResolverFn } from "../../../apiTypes.gen";
+import { ResolverFn } from "../../../api-types.gen";
import { LoggedInGraphQLContext } from "../../../context";
import { UnresolvedCommentGQL, mapEntityToGQL } from "../graphql-mapping";
diff --git a/packages/hash/api/src/graphql/resolvers/knowledge/comment/comment.ts b/packages/hash/api/src/graphql/resolvers/knowledge/comment/comment.ts
index 08388be4f8c..c4091750fc1 100644
--- a/packages/hash/api/src/graphql/resolvers/knowledge/comment/comment.ts
+++ b/packages/hash/api/src/graphql/resolvers/knowledge/comment/comment.ts
@@ -1,7 +1,7 @@
import { extractOwnedByIdFromEntityId } from "@hashintel/hash-shared/types";
import { getLatestEntityById } from "../../../../graph/knowledge/primitive/entity";
import { createComment } from "../../../../graph/knowledge/system-types/comment";
-import { MutationCreateCommentArgs, ResolverFn } from "../../../apiTypes.gen";
+import { MutationCreateCommentArgs, ResolverFn } from "../../../api-types.gen";
import { LoggedInGraphQLContext } from "../../../context";
import { UnresolvedCommentGQL, mapCommentToGQL } from "../graphql-mapping";
diff --git a/packages/hash/api/src/graphql/resolvers/knowledge/comment/delete.ts b/packages/hash/api/src/graphql/resolvers/knowledge/comment/delete.ts
index 93f090c2b1c..a4c4163db88 100644
--- a/packages/hash/api/src/graphql/resolvers/knowledge/comment/delete.ts
+++ b/packages/hash/api/src/graphql/resolvers/knowledge/comment/delete.ts
@@ -2,7 +2,7 @@ import {
deleteComment,
getCommentById,
} from "../../../../graph/knowledge/system-types/comment";
-import { MutationDeleteCommentArgs, ResolverFn } from "../../../apiTypes.gen";
+import { MutationDeleteCommentArgs, ResolverFn } from "../../../api-types.gen";
import { LoggedInGraphQLContext } from "../../../context";
import { UnresolvedCommentGQL, mapCommentToGQL } from "../graphql-mapping";
diff --git a/packages/hash/api/src/graphql/resolvers/knowledge/comment/has-text.ts b/packages/hash/api/src/graphql/resolvers/knowledge/comment/has-text.ts
index c876e807ba6..e37a54fb150 100644
--- a/packages/hash/api/src/graphql/resolvers/knowledge/comment/has-text.ts
+++ b/packages/hash/api/src/graphql/resolvers/knowledge/comment/has-text.ts
@@ -1,5 +1,5 @@
import { TextToken } from "@hashintel/hash-shared/graphql/types";
-import { ResolverFn } from "../../../apiTypes.gen";
+import { ResolverFn } from "../../../api-types.gen";
import { LoggedInGraphQLContext } from "../../../context";
import { UnresolvedCommentGQL } from "../graphql-mapping";
import { SYSTEM_TYPES } from "../../../../graph/system-types";
diff --git a/packages/hash/api/src/graphql/resolvers/knowledge/comment/parent.ts b/packages/hash/api/src/graphql/resolvers/knowledge/comment/parent.ts
index dfdd330cca8..39bcbef6105 100644
--- a/packages/hash/api/src/graphql/resolvers/knowledge/comment/parent.ts
+++ b/packages/hash/api/src/graphql/resolvers/knowledge/comment/parent.ts
@@ -3,7 +3,7 @@ import {
getCommentById,
getCommentParent,
} from "../../../../graph/knowledge/system-types/comment";
-import { ResolverFn } from "../../../apiTypes.gen";
+import { ResolverFn } from "../../../api-types.gen";
import { LoggedInGraphQLContext } from "../../../context";
import { UnresolvedCommentGQL, mapEntityToGQL } from "../graphql-mapping";
diff --git a/packages/hash/api/src/graphql/resolvers/knowledge/comment/replies.ts b/packages/hash/api/src/graphql/resolvers/knowledge/comment/replies.ts
index 7e33b299fae..416badad92d 100644
--- a/packages/hash/api/src/graphql/resolvers/knowledge/comment/replies.ts
+++ b/packages/hash/api/src/graphql/resolvers/knowledge/comment/replies.ts
@@ -2,7 +2,7 @@ import {
getCommentById,
getCommentReplies,
} from "../../../../graph/knowledge/system-types/comment";
-import { ResolverFn } from "../../../apiTypes.gen";
+import { ResolverFn } from "../../../api-types.gen";
import { LoggedInGraphQLContext } from "../../../context";
import { UnresolvedCommentGQL, mapCommentToGQL } from "../graphql-mapping";
diff --git a/packages/hash/api/src/graphql/resolvers/knowledge/comment/resolve.ts b/packages/hash/api/src/graphql/resolvers/knowledge/comment/resolve.ts
index a50154a910e..313e4e889ad 100644
--- a/packages/hash/api/src/graphql/resolvers/knowledge/comment/resolve.ts
+++ b/packages/hash/api/src/graphql/resolvers/knowledge/comment/resolve.ts
@@ -2,7 +2,7 @@ import {
getCommentById,
resolveComment,
} from "../../../../graph/knowledge/system-types/comment";
-import { MutationResolveCommentArgs, ResolverFn } from "../../../apiTypes.gen";
+import { MutationResolveCommentArgs, ResolverFn } from "../../../api-types.gen";
import { LoggedInGraphQLContext } from "../../../context";
import { UnresolvedCommentGQL, mapCommentToGQL } from "../graphql-mapping";
diff --git a/packages/hash/api/src/graphql/resolvers/knowledge/comment/text-updated-at.ts b/packages/hash/api/src/graphql/resolvers/knowledge/comment/text-updated-at.ts
index 80320024311..88a5a014935 100644
--- a/packages/hash/api/src/graphql/resolvers/knowledge/comment/text-updated-at.ts
+++ b/packages/hash/api/src/graphql/resolvers/knowledge/comment/text-updated-at.ts
@@ -3,7 +3,7 @@ import {
getCommentById,
getCommentText,
} from "../../../../graph/knowledge/system-types/comment";
-import { ResolverFn } from "../../../apiTypes.gen";
+import { ResolverFn } from "../../../api-types.gen";
import { LoggedInGraphQLContext } from "../../../context";
import { UnresolvedCommentGQL } from "../graphql-mapping";
diff --git a/packages/hash/api/src/graphql/resolvers/knowledge/comment/update-text.ts b/packages/hash/api/src/graphql/resolvers/knowledge/comment/update-text.ts
index 964a9bf1abf..7587de6fc19 100644
--- a/packages/hash/api/src/graphql/resolvers/knowledge/comment/update-text.ts
+++ b/packages/hash/api/src/graphql/resolvers/knowledge/comment/update-text.ts
@@ -5,7 +5,7 @@ import {
import {
MutationUpdateCommentTextArgs,
ResolverFn,
-} from "../../../apiTypes.gen";
+} from "../../../api-types.gen";
import { LoggedInGraphQLContext } from "../../../context";
import { UnresolvedCommentGQL, mapCommentToGQL } from "../graphql-mapping";
diff --git a/packages/hash/api/src/graphql/resolvers/knowledge/entity/entity.ts b/packages/hash/api/src/graphql/resolvers/knowledge/entity/entity.ts
index 9f5588f294e..1d8ee316022 100644
--- a/packages/hash/api/src/graphql/resolvers/knowledge/entity/entity.ts
+++ b/packages/hash/api/src/graphql/resolvers/knowledge/entity/entity.ts
@@ -14,7 +14,7 @@ import {
ResolverFn,
QueryGetAllLatestEntitiesArgs,
MutationArchiveEntityArgs,
-} from "../../../apiTypes.gen";
+} from "../../../api-types.gen";
import { mapEntityToGQL } from "../graphql-mapping";
import { LoggedInGraphQLContext } from "../../../context";
import { beforeUpdateEntityHooks } from "./before-update-entity-hooks";
diff --git a/packages/hash/api/src/graphql/resolvers/knowledge/graphql-mapping.ts b/packages/hash/api/src/graphql/resolvers/knowledge/graphql-mapping.ts
index 3d6baac013d..8565aff14b5 100644
--- a/packages/hash/api/src/graphql/resolvers/knowledge/graphql-mapping.ts
+++ b/packages/hash/api/src/graphql/resolvers/knowledge/graphql-mapping.ts
@@ -6,7 +6,7 @@ import {
Block as GQLBlock,
Page as GQLPage,
Comment as GQLComment,
-} from "../../apiTypes.gen";
+} from "../../api-types.gen";
export const mapEntityToGQL = (entity: Entity): Entity => entity;
diff --git a/packages/hash/api/src/graphql/resolvers/knowledge/hashInstance/hashInstance.ts b/packages/hash/api/src/graphql/resolvers/knowledge/hashInstance/hashInstance.ts
index 9415401c36f..0a8bad13c3f 100644
--- a/packages/hash/api/src/graphql/resolvers/knowledge/hashInstance/hashInstance.ts
+++ b/packages/hash/api/src/graphql/resolvers/knowledge/hashInstance/hashInstance.ts
@@ -1,6 +1,6 @@
import { Entity } from "@hashintel/hash-subgraph";
import { getHashInstance } from "../../../../graph/knowledge/system-types/hash-instance";
-import { ResolverFn } from "../../../apiTypes.gen";
+import { ResolverFn } from "../../../api-types.gen";
import { LoggedInGraphQLContext } from "../../../context";
export const hashInstanceEntityResolver: ResolverFn<
diff --git a/packages/hash/api/src/graphql/resolvers/knowledge/org/create-org.ts b/packages/hash/api/src/graphql/resolvers/knowledge/org/create-org.ts
index 128269f6dfe..4f4deb304e1 100644
--- a/packages/hash/api/src/graphql/resolvers/knowledge/org/create-org.ts
+++ b/packages/hash/api/src/graphql/resolvers/knowledge/org/create-org.ts
@@ -1,7 +1,7 @@
import { Subgraph } from "@hashintel/hash-subgraph";
import { getLatestEntityRootedSubgraph } from "../../../../graph/knowledge/primitive/entity";
import { createOrg } from "../../../../graph/knowledge/system-types/org";
-import { MutationCreateOrgArgs, ResolverFn } from "../../../apiTypes.gen";
+import { MutationCreateOrgArgs, ResolverFn } from "../../../api-types.gen";
import { LoggedInGraphQLContext } from "../../../context";
export const createOrgResolver: ResolverFn<
diff --git a/packages/hash/api/src/graphql/resolvers/knowledge/page/page-contents.ts b/packages/hash/api/src/graphql/resolvers/knowledge/page/page-contents.ts
index c09098b4528..946fda767e4 100644
--- a/packages/hash/api/src/graphql/resolvers/knowledge/page/page-contents.ts
+++ b/packages/hash/api/src/graphql/resolvers/knowledge/page/page-contents.ts
@@ -1,6 +1,6 @@
import { ApolloError } from "apollo-server-errors";
import { Entity } from "@hashintel/hash-subgraph";
-import { ResolverFn } from "../../../apiTypes.gen";
+import { ResolverFn } from "../../../api-types.gen";
import { LoggedInGraphQLContext } from "../../../context";
import { mapBlockToGQL, UnresolvedPageGQL } from "../graphql-mapping";
import {
diff --git a/packages/hash/api/src/graphql/resolvers/knowledge/page/page.ts b/packages/hash/api/src/graphql/resolvers/knowledge/page/page.ts
index 21ca6346f82..25a6a0e80ab 100644
--- a/packages/hash/api/src/graphql/resolvers/knowledge/page/page.ts
+++ b/packages/hash/api/src/graphql/resolvers/knowledge/page/page.ts
@@ -23,7 +23,7 @@ import {
QueryPageCommentsArgs,
QueryPagesArgs,
ResolverFn,
-} from "../../../apiTypes.gen";
+} from "../../../api-types.gen";
import { GraphQLContext, LoggedInGraphQLContext } from "../../../context";
import {
UnresolvedPageGQL,
diff --git a/packages/hash/api/src/graphql/resolvers/knowledge/page/set-parent-page.ts b/packages/hash/api/src/graphql/resolvers/knowledge/page/set-parent-page.ts
index dc77532ce30..ae9089826ce 100644
--- a/packages/hash/api/src/graphql/resolvers/knowledge/page/set-parent-page.ts
+++ b/packages/hash/api/src/graphql/resolvers/knowledge/page/set-parent-page.ts
@@ -1,7 +1,7 @@
import { ApolloError } from "apollo-server-express";
import { LoggedInGraphQLContext } from "../../../context";
-import { MutationSetParentPageArgs, ResolverFn } from "../../../apiTypes.gen";
+import { MutationSetParentPageArgs, ResolverFn } from "../../../api-types.gen";
import { mapPageToGQL, UnresolvedPageGQL } from "../graphql-mapping";
import {
getPageById,
diff --git a/packages/hash/api/src/graphql/resolvers/knowledge/page/update-page-actions.ts b/packages/hash/api/src/graphql/resolvers/knowledge/page/update-page-actions.ts
index 4fc24cc3584..de05be73dfb 100644
--- a/packages/hash/api/src/graphql/resolvers/knowledge/page/update-page-actions.ts
+++ b/packages/hash/api/src/graphql/resolvers/knowledge/page/update-page-actions.ts
@@ -13,7 +13,7 @@ import {
SwapBlockDataAction,
UpdateEntityAction,
UpdatePageAction,
-} from "../../../apiTypes.gen";
+} from "../../../api-types.gen";
import {
createEntityWithLinks,
getLatestEntityById,
diff --git a/packages/hash/api/src/graphql/resolvers/knowledge/page/update-page-contents.ts b/packages/hash/api/src/graphql/resolvers/knowledge/page/update-page-contents.ts
index 8aa65d53acf..d43ec0def68 100644
--- a/packages/hash/api/src/graphql/resolvers/knowledge/page/update-page-contents.ts
+++ b/packages/hash/api/src/graphql/resolvers/knowledge/page/update-page-contents.ts
@@ -12,7 +12,7 @@ import {
UpdatePageContentsResult,
MutationUpdatePageContentsArgs,
ResolverFn,
-} from "../../../apiTypes.gen";
+} from "../../../api-types.gen";
import { LoggedInGraphQLContext } from "../../../context";
import { mapPageToGQL, UnresolvedPageGQL } from "../graphql-mapping";
import {
diff --git a/packages/hash/api/src/graphql/resolvers/knowledge/page/update-page.ts b/packages/hash/api/src/graphql/resolvers/knowledge/page/update-page.ts
index 4c65a61e1ca..4a17ee734eb 100644
--- a/packages/hash/api/src/graphql/resolvers/knowledge/page/update-page.ts
+++ b/packages/hash/api/src/graphql/resolvers/knowledge/page/update-page.ts
@@ -3,7 +3,7 @@ import {
getPageFromEntity,
} from "../../../../graph/knowledge/system-types/page";
import { SYSTEM_TYPES } from "../../../../graph/system-types";
-import { MutationUpdatePageArgs, ResolverFn } from "../../../apiTypes.gen";
+import { MutationUpdatePageArgs, ResolverFn } from "../../../api-types.gen";
import { LoggedInGraphQLContext } from "../../../context";
import { mapPageToGQL, UnresolvedPageGQL } from "../graphql-mapping";
import { updateEntityProperties } from "../../../../graph/knowledge/primitive/entity";
diff --git a/packages/hash/api/src/graphql/resolvers/knowledge/user/create-user.ts b/packages/hash/api/src/graphql/resolvers/knowledge/user/create-user.ts
index 2f061eba2a4..4c1f7d360d1 100644
--- a/packages/hash/api/src/graphql/resolvers/knowledge/user/create-user.ts
+++ b/packages/hash/api/src/graphql/resolvers/knowledge/user/create-user.ts
@@ -2,7 +2,7 @@ import { Subgraph } from "@hashintel/hash-subgraph";
import { createKratosIdentity } from "../../../../auth/ory-kratos";
import { getLatestEntityRootedSubgraph } from "../../../../graph/knowledge/primitive/entity";
import { createUser } from "../../../../graph/knowledge/system-types/user";
-import { MutationCreateUserArgs, ResolverFn } from "../../../apiTypes.gen";
+import { MutationCreateUserArgs, ResolverFn } from "../../../api-types.gen";
import { LoggedInGraphQLContext } from "../../../context";
export const createUserResolver: ResolverFn<
diff --git a/packages/hash/api/src/graphql/resolvers/knowledge/user/is-shortname-taken.ts b/packages/hash/api/src/graphql/resolvers/knowledge/user/is-shortname-taken.ts
index 7ce7d74c3c6..624c0f2f55e 100644
--- a/packages/hash/api/src/graphql/resolvers/knowledge/user/is-shortname-taken.ts
+++ b/packages/hash/api/src/graphql/resolvers/knowledge/user/is-shortname-taken.ts
@@ -2,7 +2,7 @@ import {
shortnameIsRestricted,
shortnameIsTaken,
} from "../../../../graph/knowledge/system-types/account.fields";
-import { QueryIsShortnameTakenArgs, ResolverFn } from "../../../apiTypes.gen";
+import { QueryIsShortnameTakenArgs, ResolverFn } from "../../../api-types.gen";
import { GraphQLContext } from "../../../context";
export const isShortnameTakenResolver: ResolverFn<
diff --git a/packages/hash/api/src/graphql/resolvers/knowledge/user/me.ts b/packages/hash/api/src/graphql/resolvers/knowledge/user/me.ts
index 34f18c3ab72..843f7daae51 100644
--- a/packages/hash/api/src/graphql/resolvers/knowledge/user/me.ts
+++ b/packages/hash/api/src/graphql/resolvers/knowledge/user/me.ts
@@ -1,6 +1,6 @@
import { Subgraph } from "@hashintel/hash-subgraph";
import { getLatestEntityRootedSubgraph } from "../../../../graph/knowledge/primitive/entity";
-import { ResolverFn, QueryMeArgs } from "../../../apiTypes.gen";
+import { ResolverFn, QueryMeArgs } from "../../../api-types.gen";
import { LoggedInGraphQLContext } from "../../../context";
export const meResolver: ResolverFn<
diff --git a/packages/hash/api/src/graphql/resolvers/linkedAggregation/createLinkedAggregation.ts b/packages/hash/api/src/graphql/resolvers/linkedAggregation/createLinkedAggregation.ts
index 82d13403390..27f72e6f8b1 100644
--- a/packages/hash/api/src/graphql/resolvers/linkedAggregation/createLinkedAggregation.ts
+++ b/packages/hash/api/src/graphql/resolvers/linkedAggregation/createLinkedAggregation.ts
@@ -5,7 +5,7 @@ import { ApolloError } from "apollo-server-errors";
import {
MutationCreateLinkedAggregationArgs,
ResolverFn,
-} from "../../apiTypes.gen";
+} from "../../api-types.gen";
import { Entity, UnresolvedGQLLinkedAggregation } from "../../../model";
import { LoggedInGraphQLContext } from "../../context";
diff --git a/packages/hash/api/src/graphql/resolvers/linkedAggregation/deleteLinkedAggregation.ts b/packages/hash/api/src/graphql/resolvers/linkedAggregation/deleteLinkedAggregation.ts
index 19a4dd11646..561485e865b 100644
--- a/packages/hash/api/src/graphql/resolvers/linkedAggregation/deleteLinkedAggregation.ts
+++ b/packages/hash/api/src/graphql/resolvers/linkedAggregation/deleteLinkedAggregation.ts
@@ -5,7 +5,7 @@ import { ApolloError } from "apollo-server-errors";
import {
MutationDeleteLinkedAggregationArgs,
ResolverFn,
-} from "../../apiTypes.gen";
+} from "../../api-types.gen";
import { Aggregation } from "../../../model";
import { LoggedInGraphQLContext } from "../../context";
diff --git a/packages/hash/api/src/graphql/resolvers/linkedAggregation/getLinkedAggregation.ts b/packages/hash/api/src/graphql/resolvers/linkedAggregation/getLinkedAggregation.ts
index f5da70d63c2..eaaea2b205c 100644
--- a/packages/hash/api/src/graphql/resolvers/linkedAggregation/getLinkedAggregation.ts
+++ b/packages/hash/api/src/graphql/resolvers/linkedAggregation/getLinkedAggregation.ts
@@ -3,7 +3,7 @@
// @ts-nocheck
import { ApolloError } from "apollo-server-express";
-import { QueryGetLinkedAggregationArgs, ResolverFn } from "../../apiTypes.gen";
+import { QueryGetLinkedAggregationArgs, ResolverFn } from "../../api-types.gen";
import { GraphQLContext } from "../../context";
import { UnresolvedGQLLinkedAggregation, Aggregation } from "../../../model";
diff --git a/packages/hash/api/src/graphql/resolvers/linkedAggregation/linkedAggregationResults.ts b/packages/hash/api/src/graphql/resolvers/linkedAggregation/linkedAggregationResults.ts
index 1def96dbe1d..81433077c25 100644
--- a/packages/hash/api/src/graphql/resolvers/linkedAggregation/linkedAggregationResults.ts
+++ b/packages/hash/api/src/graphql/resolvers/linkedAggregation/linkedAggregationResults.ts
@@ -9,7 +9,7 @@ import {
UnresolvedGQLLinkedAggregation,
UnresolvedGQLUnknownEntity,
} from "../../../model";
-import { ResolverFn } from "../../apiTypes.gen";
+import { ResolverFn } from "../../api-types.gen";
export const linkedAggregationResults: ResolverFn<
UnresolvedGQLUnknownEntity[],
diff --git a/packages/hash/api/src/graphql/resolvers/linkedAggregation/updateLinkedAggregationOperation.ts b/packages/hash/api/src/graphql/resolvers/linkedAggregation/updateLinkedAggregationOperation.ts
index 33722f09082..c297a5260c5 100644
--- a/packages/hash/api/src/graphql/resolvers/linkedAggregation/updateLinkedAggregationOperation.ts
+++ b/packages/hash/api/src/graphql/resolvers/linkedAggregation/updateLinkedAggregationOperation.ts
@@ -5,7 +5,7 @@ import { ApolloError } from "apollo-server-errors";
import {
MutationUpdateLinkedAggregationOperationArgs,
ResolverFn,
-} from "../../apiTypes.gen";
+} from "../../api-types.gen";
import { Aggregation, UnresolvedGQLLinkedAggregation } from "../../../model";
import { LoggedInGraphQLContext } from "../../context";
diff --git a/packages/hash/api/src/graphql/resolvers/middlewares/canAccessAccount.ts b/packages/hash/api/src/graphql/resolvers/middlewares/canAccessAccount.ts
index 0f4ecb24b6a..d38baea6736 100644
--- a/packages/hash/api/src/graphql/resolvers/middlewares/canAccessAccount.ts
+++ b/packages/hash/api/src/graphql/resolvers/middlewares/canAccessAccount.ts
@@ -1,6 +1,6 @@
import { ForbiddenError } from "apollo-server-express";
import { isUserMemberOfOrg } from "../../../graph/knowledge/system-types/user";
-import { Scalars } from "../../apiTypes.gen";
+import { Scalars } from "../../api-types.gen";
import { GraphQLContext, LoggedInGraphQLContext } from "../../context";
import { loggedInAndSignedUpMiddleware } from "./loggedInAndSignedUp";
import { ResolverMiddleware } from "./middlewareTypes";
diff --git a/packages/hash/api/src/graphql/resolvers/middlewares/middlewareTypes.ts b/packages/hash/api/src/graphql/resolvers/middlewares/middlewareTypes.ts
index 7da952bb646..01368ea9203 100644
--- a/packages/hash/api/src/graphql/resolvers/middlewares/middlewareTypes.ts
+++ b/packages/hash/api/src/graphql/resolvers/middlewares/middlewareTypes.ts
@@ -1,4 +1,4 @@
-import { ResolverFn } from "../../apiTypes.gen";
+import { ResolverFn } from "../../api-types.gen";
export type ResolverMiddleware<
TStartContext,
diff --git a/packages/hash/api/src/graphql/resolvers/ontology/data-type.ts b/packages/hash/api/src/graphql/resolvers/ontology/data-type.ts
index c556a15c85f..0eb3260172a 100644
--- a/packages/hash/api/src/graphql/resolvers/ontology/data-type.ts
+++ b/packages/hash/api/src/graphql/resolvers/ontology/data-type.ts
@@ -3,7 +3,7 @@ import {
QueryGetDataTypeArgs,
ResolverFn,
QueryGetAllLatestDataTypesArgs,
-} from "../../apiTypes.gen";
+} from "../../api-types.gen";
import { GraphQLContext, LoggedInGraphQLContext } from "../../context";
export const getAllLatestDataTypes: ResolverFn<
diff --git a/packages/hash/api/src/graphql/resolvers/ontology/entity-type.ts b/packages/hash/api/src/graphql/resolvers/ontology/entity-type.ts
index 82ef7279e36..21ac6647235 100644
--- a/packages/hash/api/src/graphql/resolvers/ontology/entity-type.ts
+++ b/packages/hash/api/src/graphql/resolvers/ontology/entity-type.ts
@@ -7,7 +7,7 @@ import {
QueryGetEntityTypeArgs,
QueryGetAllLatestEntityTypesArgs,
ResolverFn,
-} from "../../apiTypes.gen";
+} from "../../api-types.gen";
import { LoggedInGraphQLContext } from "../../context";
import {
createEntityType,
diff --git a/packages/hash/api/src/graphql/resolvers/ontology/property-type.ts b/packages/hash/api/src/graphql/resolvers/ontology/property-type.ts
index 65c7cd3f3fe..999b5ea5092 100644
--- a/packages/hash/api/src/graphql/resolvers/ontology/property-type.ts
+++ b/packages/hash/api/src/graphql/resolvers/ontology/property-type.ts
@@ -7,7 +7,7 @@ import {
QueryGetPropertyTypeArgs,
QueryGetAllLatestPropertyTypesArgs,
ResolverFn,
-} from "../../apiTypes.gen";
+} from "../../api-types.gen";
import { LoggedInGraphQLContext } from "../../context";
import {
createPropertyType,
diff --git a/packages/hash/api/src/graphql/resolvers/taskExecutor/index.ts b/packages/hash/api/src/graphql/resolvers/taskExecutor/index.ts
index 31091ee8015..dd14e1e155e 100644
--- a/packages/hash/api/src/graphql/resolvers/taskExecutor/index.ts
+++ b/packages/hash/api/src/graphql/resolvers/taskExecutor/index.ts
@@ -11,7 +11,7 @@ import {
MutationExecuteGithubDiscoverTaskArgs,
MutationExecuteGithubReadTaskArgs,
ResolverFn,
-} from "../../apiTypes.gen";
+} from "../../api-types.gen";
import { GraphQLContext, LoggedInGraphQLContext } from "../../context";
import { createEntity } from "../../../graph/knowledge/primitive/entity";
diff --git a/packages/hash/api/src/graphql/resolvers/util.ts b/packages/hash/api/src/graphql/resolvers/util.ts
index e9bb710ee60..85bb723f0c1 100644
--- a/packages/hash/api/src/graphql/resolvers/util.ts
+++ b/packages/hash/api/src/graphql/resolvers/util.ts
@@ -1,4 +1,4 @@
-import { AggregateOperationInput } from "../apiTypes.gen";
+import { AggregateOperationInput } from "../api-types.gen";
// Where a property needs to resolve to another object or objects of a type,
// that property should be expressed as this object under a __linkedData key
diff --git a/packages/hash/api/src/graphql/typeDefs/blockprotocol.typedef.ts b/packages/hash/api/src/graphql/type-defs/blockprotocol.typedef.ts
similarity index 100%
rename from packages/hash/api/src/graphql/typeDefs/blockprotocol.typedef.ts
rename to packages/hash/api/src/graphql/type-defs/blockprotocol.typedef.ts
diff --git a/packages/hash/api/src/graphql/typeDefs/deprecated.typedef.ts b/packages/hash/api/src/graphql/type-defs/deprecated.typedef.ts
similarity index 100%
rename from packages/hash/api/src/graphql/typeDefs/deprecated.typedef.ts
rename to packages/hash/api/src/graphql/type-defs/deprecated.typedef.ts
diff --git a/packages/hash/api/src/graphql/typeDefs/embed.typedef.ts b/packages/hash/api/src/graphql/type-defs/embed.typedef.ts
similarity index 100%
rename from packages/hash/api/src/graphql/typeDefs/embed.typedef.ts
rename to packages/hash/api/src/graphql/type-defs/embed.typedef.ts
diff --git a/packages/hash/api/src/graphql/typeDefs/index.ts b/packages/hash/api/src/graphql/type-defs/index.ts
similarity index 100%
rename from packages/hash/api/src/graphql/typeDefs/index.ts
rename to packages/hash/api/src/graphql/type-defs/index.ts
diff --git a/packages/hash/api/src/graphql/typeDefs/knowledge/block.typedef.ts b/packages/hash/api/src/graphql/type-defs/knowledge/block.typedef.ts
similarity index 100%
rename from packages/hash/api/src/graphql/typeDefs/knowledge/block.typedef.ts
rename to packages/hash/api/src/graphql/type-defs/knowledge/block.typedef.ts
diff --git a/packages/hash/api/src/graphql/typeDefs/knowledge/comment.typedef.ts b/packages/hash/api/src/graphql/type-defs/knowledge/comment.typedef.ts
similarity index 100%
rename from packages/hash/api/src/graphql/typeDefs/knowledge/comment.typedef.ts
rename to packages/hash/api/src/graphql/type-defs/knowledge/comment.typedef.ts
diff --git a/packages/hash/api/src/graphql/typeDefs/knowledge/entity.typedef.ts b/packages/hash/api/src/graphql/type-defs/knowledge/entity.typedef.ts
similarity index 100%
rename from packages/hash/api/src/graphql/typeDefs/knowledge/entity.typedef.ts
rename to packages/hash/api/src/graphql/type-defs/knowledge/entity.typedef.ts
diff --git a/packages/hash/api/src/graphql/typeDefs/knowledge/hashInstance.typedef.ts b/packages/hash/api/src/graphql/type-defs/knowledge/hashInstance.typedef.ts
similarity index 100%
rename from packages/hash/api/src/graphql/typeDefs/knowledge/hashInstance.typedef.ts
rename to packages/hash/api/src/graphql/type-defs/knowledge/hashInstance.typedef.ts
diff --git a/packages/hash/api/src/graphql/typeDefs/knowledge/org.typedef.ts b/packages/hash/api/src/graphql/type-defs/knowledge/org.typedef.ts
similarity index 100%
rename from packages/hash/api/src/graphql/typeDefs/knowledge/org.typedef.ts
rename to packages/hash/api/src/graphql/type-defs/knowledge/org.typedef.ts
diff --git a/packages/hash/api/src/graphql/typeDefs/knowledge/page.typedef.ts b/packages/hash/api/src/graphql/type-defs/knowledge/page.typedef.ts
similarity index 100%
rename from packages/hash/api/src/graphql/typeDefs/knowledge/page.typedef.ts
rename to packages/hash/api/src/graphql/type-defs/knowledge/page.typedef.ts
diff --git a/packages/hash/api/src/graphql/typeDefs/knowledge/user.typedef.ts b/packages/hash/api/src/graphql/type-defs/knowledge/user.typedef.ts
similarity index 100%
rename from packages/hash/api/src/graphql/typeDefs/knowledge/user.typedef.ts
rename to packages/hash/api/src/graphql/type-defs/knowledge/user.typedef.ts
diff --git a/packages/hash/api/src/graphql/typeDefs/ontology/data-type.typedef.ts b/packages/hash/api/src/graphql/type-defs/ontology/data-type.typedef.ts
similarity index 100%
rename from packages/hash/api/src/graphql/typeDefs/ontology/data-type.typedef.ts
rename to packages/hash/api/src/graphql/type-defs/ontology/data-type.typedef.ts
diff --git a/packages/hash/api/src/graphql/typeDefs/ontology/entity-type.typedef.ts b/packages/hash/api/src/graphql/type-defs/ontology/entity-type.typedef.ts
similarity index 100%
rename from packages/hash/api/src/graphql/typeDefs/ontology/entity-type.typedef.ts
rename to packages/hash/api/src/graphql/type-defs/ontology/entity-type.typedef.ts
diff --git a/packages/hash/api/src/graphql/typeDefs/ontology/property-type.typedef.ts b/packages/hash/api/src/graphql/type-defs/ontology/property-type.typedef.ts
similarity index 100%
rename from packages/hash/api/src/graphql/typeDefs/ontology/property-type.typedef.ts
rename to packages/hash/api/src/graphql/type-defs/ontology/property-type.typedef.ts
diff --git a/packages/hash/api/src/graphql/typeDefs/subgraph.typedef.ts b/packages/hash/api/src/graphql/type-defs/subgraph.typedef.ts
similarity index 100%
rename from packages/hash/api/src/graphql/typeDefs/subgraph.typedef.ts
rename to packages/hash/api/src/graphql/type-defs/subgraph.typedef.ts
diff --git a/packages/hash/api/src/graphql/typeDefs/taskExecution.typedef.ts b/packages/hash/api/src/graphql/type-defs/taskExecution.typedef.ts
similarity index 100%
rename from packages/hash/api/src/graphql/typeDefs/taskExecution.typedef.ts
rename to packages/hash/api/src/graphql/type-defs/taskExecution.typedef.ts
diff --git a/packages/hash/api/src/lib/config.ts b/packages/hash/api/src/lib/config.ts
index a8c20143d7b..05e67eaae4a 100644
--- a/packages/hash/api/src/lib/config.ts
+++ b/packages/hash/api/src/lib/config.ts
@@ -1,6 +1,6 @@
import { frontendUrl } from "@hashintel/hash-shared/environment";
import corsMiddleware from "cors";
-import { StorageType } from "../graphql/apiTypes.gen";
+import { StorageType } from "../graphql/api-types.gen";
function getEnvStorageType(): StorageType {
const envUploadProvider = process.env.FILE_UPLOAD_PROVIDER as string;
diff --git a/packages/hash/api/src/model/aggregation.model.ts b/packages/hash/api/src/model/aggregation.model.ts
index 8fe6eed1a0b..c191296c7f8 100644
--- a/packages/hash/api/src/model/aggregation.model.ts
+++ b/packages/hash/api/src/model/aggregation.model.ts
@@ -16,7 +16,7 @@ import {
LinkedAggregation as GQLLinkedAggregation,
AggregateOperation,
AggregateOperationInput,
-} from "../graphql/apiTypes.gen";
+} from "../graphql/api-types.gen";
export type GQLLinkedAggregationExternalResolvers = "__typename" | "results";
diff --git a/packages/hash/api/src/model/file.model.ts b/packages/hash/api/src/model/file.model.ts
index f7debe914d8..732e8c49168 100644
--- a/packages/hash/api/src/model/file.model.ts
+++ b/packages/hash/api/src/model/file.model.ts
@@ -6,7 +6,7 @@ import { PresignedPost } from "@aws-sdk/s3-presigned-post";
import { CreateEntityArgs, Entity, EntityConstructorArgs, File } from ".";
import { createEntityArgsBuilder, genId } from "../util";
-import { StorageType } from "../graphql/apiTypes.gen";
+import { StorageType } from "../graphql/api-types.gen";
import {
getStorageProvider,
getUploadStorageProvider,
diff --git a/packages/hash/api/src/storage/aws-s3-storage-provider.ts b/packages/hash/api/src/storage/aws-s3-storage-provider.ts
index e4f11e01d58..d8b8611a441 100644
--- a/packages/hash/api/src/storage/aws-s3-storage-provider.ts
+++ b/packages/hash/api/src/storage/aws-s3-storage-provider.ts
@@ -1,7 +1,7 @@
import { GetObjectCommand, S3Client } from "@aws-sdk/client-s3";
import { createPresignedPost } from "@aws-sdk/s3-presigned-post";
import { getSignedUrl } from "@aws-sdk/s3-request-presigner";
-import { StorageType } from "../graphql/apiTypes.gen";
+import { StorageType } from "../graphql/api-types.gen";
import {
GetFileEntityStorageKeyParams,
PresignedDownloadRequest,
diff --git a/packages/hash/api/src/storage/external-storage-provider.ts b/packages/hash/api/src/storage/external-storage-provider.ts
index 65439a98f4a..a9bc40ea78a 100644
--- a/packages/hash/api/src/storage/external-storage-provider.ts
+++ b/packages/hash/api/src/storage/external-storage-provider.ts
@@ -1,4 +1,4 @@
-import { StorageType } from "../graphql/apiTypes.gen";
+import { StorageType } from "../graphql/api-types.gen";
import { PresignedDownloadRequest, StorageProvider } from "./storage-provider";
/** Implementation of the storage provider for external links (doesn't actually store anything)
diff --git a/packages/hash/api/src/storage/local-file-storage.ts b/packages/hash/api/src/storage/local-file-storage.ts
index 39a473e628f..57ec131c616 100644
--- a/packages/hash/api/src/storage/local-file-storage.ts
+++ b/packages/hash/api/src/storage/local-file-storage.ts
@@ -4,7 +4,7 @@ import fs from "node:fs";
import { URL } from "node:url";
import express, { Express } from "express";
import appRoot from "app-root-path";
-import { StorageType } from "../graphql/apiTypes.gen";
+import { StorageType } from "../graphql/api-types.gen";
import {
GetFileEntityStorageKeyParams,
diff --git a/packages/hash/api/src/storage/storage-provider-lookup.ts b/packages/hash/api/src/storage/storage-provider-lookup.ts
index 7744bb958e5..b2c8426a1fb 100644
--- a/packages/hash/api/src/storage/storage-provider-lookup.ts
+++ b/packages/hash/api/src/storage/storage-provider-lookup.ts
@@ -6,7 +6,7 @@ import {
UploadableStorageProvider,
} from "./storage-provider";
import { AwsS3StorageProvider } from "./aws-s3-storage-provider";
-import { StorageType } from "../graphql/apiTypes.gen";
+import { StorageType } from "../graphql/api-types.gen";
import { LocalFileSystemStorageProvider } from "./local-file-storage";
import { LOCAL_FILE_UPLOAD_PATH } from "../lib/config";
import { getAwsS3Config } from "../lib/aws-config";
diff --git a/packages/hash/api/src/storage/storage-provider.ts b/packages/hash/api/src/storage/storage-provider.ts
index 61fba325200..739b34953ac 100644
--- a/packages/hash/api/src/storage/storage-provider.ts
+++ b/packages/hash/api/src/storage/storage-provider.ts
@@ -1,4 +1,4 @@
-import { StorageType } from "../graphql/apiTypes.gen";
+import { StorageType } from "../graphql/api-types.gen";
/** Interface describing a generic storage provider
* used for allowing the download and upload files via presigned request.
diff --git a/packages/hash/docker/api/prod/Dockerfile b/packages/hash/docker/api/prod/Dockerfile
index 5ef52d1e628..2f52d7f193e 100644
--- a/packages/hash/docker/api/prod/Dockerfile
+++ b/packages/hash/docker/api/prod/Dockerfile
@@ -18,7 +18,7 @@ COPY packages/graph/clients/typescript/package.json packages/graph/clients/types
RUN yarn workspace @hashintel/hash-api install --frozen-lockfile --ignore-scripts --prefer-offline
COPY packages/hash/api/codegen.config.ts packages/hash/api/codegen.config.ts
-COPY packages/hash/api/src/graphql/typeDefs packages/hash/api/src/graphql/typeDefs
+COPY packages/hash/api/src/graphql/type-defs packages/hash/api/src/graphql/type-defs
COPY packages/hash/shared/src/queries packages/hash/shared/src/queries
COPY packages/hash/shared/src/graphql packages/hash/shared/src/graphql
diff --git a/packages/hash/docker/frontend/prod/Dockerfile b/packages/hash/docker/frontend/prod/Dockerfile
index c5127e08362..406e2fe2439 100644
--- a/packages/hash/docker/frontend/prod/Dockerfile
+++ b/packages/hash/docker/frontend/prod/Dockerfile
@@ -23,7 +23,7 @@ COPY packages/graph/clients/typescript/package.json packages/graph/clients/types
RUN yarn workspace @hashintel/hash-frontend install --frozen-lockfile --prefer-offline
COPY packages/hash/api/codegen.config.ts packages/hash/api/codegen.config.ts
-COPY packages/hash/api/src/graphql/typeDefs packages/hash/api/src/graphql/typeDefs
+COPY packages/hash/api/src/graphql/type-defs packages/hash/api/src/graphql/type-defs
COPY packages/hash/frontend/codegen.config.ts packages/hash/frontend/codegen.config.ts
COPY packages/hash/frontend/src/graphql/queries packages/hash/frontend/src/graphql/queries
COPY packages/hash/shared/src/queries packages/hash/shared/src/queries
diff --git a/packages/hash/docker/search-loader/prod/Dockerfile b/packages/hash/docker/search-loader/prod/Dockerfile
index efd1d629107..adaddae4b13 100644
--- a/packages/hash/docker/search-loader/prod/Dockerfile
+++ b/packages/hash/docker/search-loader/prod/Dockerfile
@@ -16,7 +16,7 @@ COPY packages/hash/search-loader/package.json packages/hash/search-loader/
RUN yarn workspace @hashintel/hash-search-loader install --frozen-lockfile --ignore-scripts --prefer-offline
COPY packages/hash/api/codegen.config.ts packages/hash/api/codegen.config.ts
-COPY packages/hash/api/src/graphql/typeDefs packages/hash/api/src/graphql/typeDefs
+COPY packages/hash/api/src/graphql/type-defs packages/hash/api/src/graphql/type-defs
COPY packages/hash/api/src/collab/graphql/queries packages/hash/api/src/collab/graphql/queries
COPY packages/hash/shared/src/queries packages/hash/shared/src/queries
COPY packages/hash/shared/src/graphql packages/hash/shared/src/graphql
diff --git a/packages/hash/frontend/codegen.config.ts b/packages/hash/frontend/codegen.config.ts
index 9a50c37a6d3..67569e91c6c 100644
--- a/packages/hash/frontend/codegen.config.ts
+++ b/packages/hash/frontend/codegen.config.ts
@@ -3,12 +3,12 @@ import { scalars } from "@hashintel/hash-shared/graphql/scalar-mapping";
const config: CodegenConfig = {
overwrite: true,
- schema: "../api/src/graphql/typeDefs/**/*.ts",
+ schema: "../api/src/graphql/type-defs/**/*.ts",
generates: {
"./src/graphql/fragmentTypes.gen.json": {
plugins: ["fragment-matcher"],
},
- "./src/graphql/apiTypes.gen.ts": {
+ "./src/graphql/api-types.gen.ts": {
plugins: ["typescript", "typescript-operations"],
documents: [
"./src/graphql/queries/**/*.ts",
diff --git a/packages/hash/frontend/src/components/PageIcon.tsx b/packages/hash/frontend/src/components/PageIcon.tsx
index 5f4c02cf241..a87110df4c4 100644
--- a/packages/hash/frontend/src/components/PageIcon.tsx
+++ b/packages/hash/frontend/src/components/PageIcon.tsx
@@ -7,7 +7,7 @@ import { EntityId } from "@hashintel/hash-shared/types";
import {
GetPageInfoQuery,
GetPageInfoQueryVariables,
-} from "../graphql/apiTypes.gen";
+} from "../graphql/api-types.gen";
export type SizeVariant = "small" | "medium";
diff --git a/packages/hash/frontend/src/components/hooks/blockProtocolFunctions/knowledge/useBlockProtocolAggregateEntities.ts b/packages/hash/frontend/src/components/hooks/blockProtocolFunctions/knowledge/useBlockProtocolAggregateEntities.ts
index 11c1d2b6bbe..a1122bd1675 100644
--- a/packages/hash/frontend/src/components/hooks/blockProtocolFunctions/knowledge/useBlockProtocolAggregateEntities.ts
+++ b/packages/hash/frontend/src/components/hooks/blockProtocolFunctions/knowledge/useBlockProtocolAggregateEntities.ts
@@ -5,7 +5,7 @@ import { Subgraph, SubgraphRootTypes } from "@hashintel/hash-subgraph";
import {
GetAllLatestEntitiesQuery,
GetAllLatestEntitiesQueryVariables,
-} from "../../../../graphql/apiTypes.gen";
+} from "../../../../graphql/api-types.gen";
import { getAllLatestEntitiesQuery } from "../../../../graphql/queries/knowledge/entity.queries";
import { AggregateEntitiesMessageCallback } from "./knowledge-shim";
diff --git a/packages/hash/frontend/src/components/hooks/blockProtocolFunctions/knowledge/useBlockProtocolArchiveEntity.ts b/packages/hash/frontend/src/components/hooks/blockProtocolFunctions/knowledge/useBlockProtocolArchiveEntity.ts
index b1f846765e3..47363f9d44d 100644
--- a/packages/hash/frontend/src/components/hooks/blockProtocolFunctions/knowledge/useBlockProtocolArchiveEntity.ts
+++ b/packages/hash/frontend/src/components/hooks/blockProtocolFunctions/knowledge/useBlockProtocolArchiveEntity.ts
@@ -4,7 +4,7 @@ import { useCallback } from "react";
import {
ArchiveEntityMutation,
ArchiveEntityMutationVariables,
-} from "../../../../graphql/apiTypes.gen";
+} from "../../../../graphql/api-types.gen";
import { archiveEntityMutation } from "../../../../graphql/queries/knowledge/entity.queries";
import { ArchiveEntityMessageCallback } from "./knowledge-shim";
diff --git a/packages/hash/frontend/src/components/hooks/blockProtocolFunctions/knowledge/useBlockProtocolCreateEntity.ts b/packages/hash/frontend/src/components/hooks/blockProtocolFunctions/knowledge/useBlockProtocolCreateEntity.ts
index 58ce5ebdb98..bb44b04a05d 100644
--- a/packages/hash/frontend/src/components/hooks/blockProtocolFunctions/knowledge/useBlockProtocolCreateEntity.ts
+++ b/packages/hash/frontend/src/components/hooks/blockProtocolFunctions/knowledge/useBlockProtocolCreateEntity.ts
@@ -5,7 +5,7 @@ import { OwnedById } from "@hashintel/hash-shared/types";
import {
CreateEntityMutation,
CreateEntityMutationVariables,
-} from "../../../../graphql/apiTypes.gen";
+} from "../../../../graphql/api-types.gen";
import { createEntityMutation } from "../../../../graphql/queries/knowledge/entity.queries";
import { CreateEntityMessageCallback } from "./knowledge-shim";
diff --git a/packages/hash/frontend/src/components/hooks/blockProtocolFunctions/knowledge/useBlockProtocolGetEntity.ts b/packages/hash/frontend/src/components/hooks/blockProtocolFunctions/knowledge/useBlockProtocolGetEntity.ts
index 59c47d29b1a..d3e478e161e 100644
--- a/packages/hash/frontend/src/components/hooks/blockProtocolFunctions/knowledge/useBlockProtocolGetEntity.ts
+++ b/packages/hash/frontend/src/components/hooks/blockProtocolFunctions/knowledge/useBlockProtocolGetEntity.ts
@@ -5,7 +5,7 @@ import { Subgraph, SubgraphRootTypes } from "@hashintel/hash-subgraph";
import {
GetEntityQuery,
GetEntityQueryVariables,
-} from "../../../../graphql/apiTypes.gen";
+} from "../../../../graphql/api-types.gen";
import { getEntityQuery } from "../../../../graphql/queries/knowledge/entity.queries";
import { GetEntityMessageCallback } from "./knowledge-shim";
diff --git a/packages/hash/frontend/src/components/hooks/blockProtocolFunctions/knowledge/useBlockProtocolUpdateEntity.ts b/packages/hash/frontend/src/components/hooks/blockProtocolFunctions/knowledge/useBlockProtocolUpdateEntity.ts
index f47ecbaf107..fe5980a4620 100644
--- a/packages/hash/frontend/src/components/hooks/blockProtocolFunctions/knowledge/useBlockProtocolUpdateEntity.ts
+++ b/packages/hash/frontend/src/components/hooks/blockProtocolFunctions/knowledge/useBlockProtocolUpdateEntity.ts
@@ -4,7 +4,7 @@ import { useCallback } from "react";
import {
UpdateEntityMutation,
UpdateEntityMutationVariables,
-} from "../../../../graphql/apiTypes.gen";
+} from "../../../../graphql/api-types.gen";
import { updateEntityMutation } from "../../../../graphql/queries/knowledge/entity.queries";
import { UpdateEntityMessageCallback } from "./knowledge-shim";
diff --git a/packages/hash/frontend/src/components/hooks/blockProtocolFunctions/ontology/useBlockProtocolAggregateDataTypes.ts b/packages/hash/frontend/src/components/hooks/blockProtocolFunctions/ontology/useBlockProtocolAggregateDataTypes.ts
index ed2d9f993e6..3c41f9e641c 100644
--- a/packages/hash/frontend/src/components/hooks/blockProtocolFunctions/ontology/useBlockProtocolAggregateDataTypes.ts
+++ b/packages/hash/frontend/src/components/hooks/blockProtocolFunctions/ontology/useBlockProtocolAggregateDataTypes.ts
@@ -5,7 +5,7 @@ import { Subgraph, SubgraphRootTypes } from "@hashintel/hash-subgraph";
import {
GetAllLatestDataTypesQuery,
GetAllLatestDataTypesQueryVariables,
-} from "../../../../graphql/apiTypes.gen";
+} from "../../../../graphql/api-types.gen";
import { getAllLatestDataTypesQuery } from "../../../../graphql/queries/ontology/data-type.queries";
import { AggregateDataTypesMessageCallback } from "./ontology-types-shim";
diff --git a/packages/hash/frontend/src/components/hooks/blockProtocolFunctions/ontology/useBlockProtocolAggregateEntityTypes.ts b/packages/hash/frontend/src/components/hooks/blockProtocolFunctions/ontology/useBlockProtocolAggregateEntityTypes.ts
index a86946cebfe..b15f041b49b 100644
--- a/packages/hash/frontend/src/components/hooks/blockProtocolFunctions/ontology/useBlockProtocolAggregateEntityTypes.ts
+++ b/packages/hash/frontend/src/components/hooks/blockProtocolFunctions/ontology/useBlockProtocolAggregateEntityTypes.ts
@@ -5,7 +5,7 @@ import { Subgraph, SubgraphRootTypes } from "@hashintel/hash-subgraph";
import {
GetAllLatestEntityTypesQuery,
GetAllLatestEntityTypesQueryVariables,
-} from "../../../../graphql/apiTypes.gen";
+} from "../../../../graphql/api-types.gen";
import { getAllLatestEntityTypesQuery } from "../../../../graphql/queries/ontology/entity-type.queries";
import { AggregateEntityTypesMessageCallback } from "./ontology-types-shim";
diff --git a/packages/hash/frontend/src/components/hooks/blockProtocolFunctions/ontology/useBlockProtocolAggregatePropertyTypes.ts b/packages/hash/frontend/src/components/hooks/blockProtocolFunctions/ontology/useBlockProtocolAggregatePropertyTypes.ts
index a87d9f46123..8c5334bcb05 100644
--- a/packages/hash/frontend/src/components/hooks/blockProtocolFunctions/ontology/useBlockProtocolAggregatePropertyTypes.ts
+++ b/packages/hash/frontend/src/components/hooks/blockProtocolFunctions/ontology/useBlockProtocolAggregatePropertyTypes.ts
@@ -5,7 +5,7 @@ import { Subgraph, SubgraphRootTypes } from "@hashintel/hash-subgraph";
import {
GetAllLatestPropertyTypesQuery,
GetAllLatestPropertyTypesQueryVariables,
-} from "../../../../graphql/apiTypes.gen";
+} from "../../../../graphql/api-types.gen";
import { getAllLatestPropertyTypesQuery } from "../../../../graphql/queries/ontology/property-type.queries";
import { AggregatePropertyTypesMessageCallback } from "./ontology-types-shim";
diff --git a/packages/hash/frontend/src/components/hooks/blockProtocolFunctions/ontology/useBlockProtocolCreateEntityType.ts b/packages/hash/frontend/src/components/hooks/blockProtocolFunctions/ontology/useBlockProtocolCreateEntityType.ts
index 2c5431378af..3285672c0c0 100644
--- a/packages/hash/frontend/src/components/hooks/blockProtocolFunctions/ontology/useBlockProtocolCreateEntityType.ts
+++ b/packages/hash/frontend/src/components/hooks/blockProtocolFunctions/ontology/useBlockProtocolCreateEntityType.ts
@@ -5,7 +5,7 @@ import { useCallback } from "react";
import {
CreateEntityTypeMutation,
CreateEntityTypeMutationVariables,
-} from "../../../../graphql/apiTypes.gen";
+} from "../../../../graphql/api-types.gen";
import { createEntityTypeMutation } from "../../../../graphql/queries/ontology/entity-type.queries";
import { CreateEntityTypeMessageCallback } from "./ontology-types-shim";
diff --git a/packages/hash/frontend/src/components/hooks/blockProtocolFunctions/ontology/useBlockProtocolCreatePropertyType.ts b/packages/hash/frontend/src/components/hooks/blockProtocolFunctions/ontology/useBlockProtocolCreatePropertyType.ts
index 984e9cc7ff2..d7d6eafee16 100644
--- a/packages/hash/frontend/src/components/hooks/blockProtocolFunctions/ontology/useBlockProtocolCreatePropertyType.ts
+++ b/packages/hash/frontend/src/components/hooks/blockProtocolFunctions/ontology/useBlockProtocolCreatePropertyType.ts
@@ -5,7 +5,7 @@ import { OwnedById } from "@hashintel/hash-shared/types";
import {
CreatePropertyTypeMutation,
CreatePropertyTypeMutationVariables,
-} from "../../../../graphql/apiTypes.gen";
+} from "../../../../graphql/api-types.gen";
import { createPropertyTypeMutation } from "../../../../graphql/queries/ontology/property-type.queries";
import { CreatePropertyTypeMessageCallback } from "./ontology-types-shim";
diff --git a/packages/hash/frontend/src/components/hooks/blockProtocolFunctions/ontology/useBlockProtocolGetDataType.ts b/packages/hash/frontend/src/components/hooks/blockProtocolFunctions/ontology/useBlockProtocolGetDataType.ts
index 7f833ce0016..b30d1589eea 100644
--- a/packages/hash/frontend/src/components/hooks/blockProtocolFunctions/ontology/useBlockProtocolGetDataType.ts
+++ b/packages/hash/frontend/src/components/hooks/blockProtocolFunctions/ontology/useBlockProtocolGetDataType.ts
@@ -5,7 +5,7 @@ import { Subgraph, SubgraphRootTypes } from "@hashintel/hash-subgraph";
import {
GetDataTypeQuery,
GetDataTypeQueryVariables,
-} from "../../../../graphql/apiTypes.gen";
+} from "../../../../graphql/api-types.gen";
import { getDataTypeQuery } from "../../../../graphql/queries/ontology/data-type.queries";
import { GetDataTypeMessageCallback } from "./ontology-types-shim";
diff --git a/packages/hash/frontend/src/components/hooks/blockProtocolFunctions/ontology/useBlockProtocolGetEntityType.ts b/packages/hash/frontend/src/components/hooks/blockProtocolFunctions/ontology/useBlockProtocolGetEntityType.ts
index e2379ce6627..7c9537fc8aa 100644
--- a/packages/hash/frontend/src/components/hooks/blockProtocolFunctions/ontology/useBlockProtocolGetEntityType.ts
+++ b/packages/hash/frontend/src/components/hooks/blockProtocolFunctions/ontology/useBlockProtocolGetEntityType.ts
@@ -5,7 +5,7 @@ import { Subgraph, SubgraphRootTypes } from "@hashintel/hash-subgraph";
import {
GetEntityTypeQuery,
GetEntityTypeQueryVariables,
-} from "../../../../graphql/apiTypes.gen";
+} from "../../../../graphql/api-types.gen";
import { getEntityTypeQuery } from "../../../../graphql/queries/ontology/entity-type.queries";
import { GetEntityTypeMessageCallback } from "./ontology-types-shim";
diff --git a/packages/hash/frontend/src/components/hooks/blockProtocolFunctions/ontology/useBlockProtocolGetPropertyType.ts b/packages/hash/frontend/src/components/hooks/blockProtocolFunctions/ontology/useBlockProtocolGetPropertyType.ts
index 18abce49e38..e83416387ed 100644
--- a/packages/hash/frontend/src/components/hooks/blockProtocolFunctions/ontology/useBlockProtocolGetPropertyType.ts
+++ b/packages/hash/frontend/src/components/hooks/blockProtocolFunctions/ontology/useBlockProtocolGetPropertyType.ts
@@ -5,7 +5,7 @@ import { Subgraph, SubgraphRootTypes } from "@hashintel/hash-subgraph";
import {
GetPropertyTypeQuery,
GetPropertyTypeQueryVariables,
-} from "../../../../graphql/apiTypes.gen";
+} from "../../../../graphql/api-types.gen";
import { getPropertyTypeQuery } from "../../../../graphql/queries/ontology/property-type.queries";
import { GetPropertyTypeMessageCallback } from "./ontology-types-shim";
diff --git a/packages/hash/frontend/src/components/hooks/blockProtocolFunctions/ontology/useBlockProtocolUpdateEntityType.ts b/packages/hash/frontend/src/components/hooks/blockProtocolFunctions/ontology/useBlockProtocolUpdateEntityType.ts
index aada13044fd..ec545e20c55 100644
--- a/packages/hash/frontend/src/components/hooks/blockProtocolFunctions/ontology/useBlockProtocolUpdateEntityType.ts
+++ b/packages/hash/frontend/src/components/hooks/blockProtocolFunctions/ontology/useBlockProtocolUpdateEntityType.ts
@@ -4,7 +4,7 @@ import { useCallback } from "react";
import {
UpdateEntityTypeMutation,
UpdateEntityTypeMutationVariables,
-} from "../../../../graphql/apiTypes.gen";
+} from "../../../../graphql/api-types.gen";
import { updateEntityTypeMutation } from "../../../../graphql/queries/ontology/entity-type.queries";
import { UpdateEntityTypeMessageCallback } from "./ontology-types-shim";
diff --git a/packages/hash/frontend/src/components/hooks/blockProtocolFunctions/ontology/useBlockProtocolUpdatePropertyType.ts b/packages/hash/frontend/src/components/hooks/blockProtocolFunctions/ontology/useBlockProtocolUpdatePropertyType.ts
index 7c747533b48..39a6e981fb1 100644
--- a/packages/hash/frontend/src/components/hooks/blockProtocolFunctions/ontology/useBlockProtocolUpdatePropertyType.ts
+++ b/packages/hash/frontend/src/components/hooks/blockProtocolFunctions/ontology/useBlockProtocolUpdatePropertyType.ts
@@ -4,7 +4,7 @@ import { useCallback } from "react";
import {
UpdatePropertyTypeMutation,
UpdatePropertyTypeMutationVariables,
-} from "../../../../graphql/apiTypes.gen";
+} from "../../../../graphql/api-types.gen";
import { updatePropertyTypeMutation } from "../../../../graphql/queries/ontology/property-type.queries";
import { UpdatePropertyTypeMessageCallback } from "./ontology-types-shim";
diff --git a/packages/hash/frontend/src/components/hooks/useAccountPages.ts b/packages/hash/frontend/src/components/hooks/useAccountPages.ts
index 8100f9099b8..4c636b313b9 100644
--- a/packages/hash/frontend/src/components/hooks/useAccountPages.ts
+++ b/packages/hash/frontend/src/components/hooks/useAccountPages.ts
@@ -5,7 +5,7 @@ import { OwnedById, EntityId } from "@hashintel/hash-shared/types";
import {
GetAccountPagesTreeQuery,
GetAccountPagesTreeQueryVariables,
-} from "../../graphql/apiTypes.gen";
+} from "../../graphql/api-types.gen";
import { getAccountPagesTree } from "../../graphql/queries/account.queries";
import { useWorkspaceShortnameByAccountId } from "./use-workspace-shortname-by-account-id";
diff --git a/packages/hash/frontend/src/components/hooks/useArchivePage.ts b/packages/hash/frontend/src/components/hooks/useArchivePage.ts
index 0f3af43eea5..9133be484b4 100644
--- a/packages/hash/frontend/src/components/hooks/useArchivePage.ts
+++ b/packages/hash/frontend/src/components/hooks/useArchivePage.ts
@@ -10,7 +10,7 @@ import {
GetPageInfoQueryVariables,
UpdatePageMutation,
UpdatePageMutationVariables,
-} from "../../graphql/apiTypes.gen";
+} from "../../graphql/api-types.gen";
import { getAccountPagesTree } from "../../graphql/queries/account.queries";
import { updatePage } from "../../graphql/queries/page.queries";
diff --git a/packages/hash/frontend/src/components/hooks/useCreateComment.ts b/packages/hash/frontend/src/components/hooks/useCreateComment.ts
index d2132c06349..e1d651b1819 100644
--- a/packages/hash/frontend/src/components/hooks/useCreateComment.ts
+++ b/packages/hash/frontend/src/components/hooks/useCreateComment.ts
@@ -5,7 +5,7 @@ import { EntityId } from "@hashintel/hash-shared/types";
import {
CreateCommentMutation,
CreateCommentMutationVariables,
-} from "../../graphql/apiTypes.gen";
+} from "../../graphql/api-types.gen";
import { createComment } from "../../graphql/queries/comment.queries";
import { getPageComments } from "../../graphql/queries/page.queries";
diff --git a/packages/hash/frontend/src/components/hooks/useCreatePage.ts b/packages/hash/frontend/src/components/hooks/useCreatePage.ts
index 213fd4da92f..1499f1160fd 100644
--- a/packages/hash/frontend/src/components/hooks/useCreatePage.ts
+++ b/packages/hash/frontend/src/components/hooks/useCreatePage.ts
@@ -10,7 +10,7 @@ import { EntityUuid, OwnedById, Uuid } from "@hashintel/hash-shared/types";
import {
CreatePageMutation,
CreatePageMutationVariables,
-} from "../../graphql/apiTypes.gen";
+} from "../../graphql/api-types.gen";
import { getAccountPagesTree } from "../../graphql/queries/account.queries";
import { createPage } from "../../graphql/queries/page.queries";
import { useWorkspaceShortnameByEntityUuid } from "./use-workspace-shortname-by-entity-uuid";
diff --git a/packages/hash/frontend/src/components/hooks/useCreateSubPage.ts b/packages/hash/frontend/src/components/hooks/useCreateSubPage.ts
index caa2f54acd2..80944b6a006 100644
--- a/packages/hash/frontend/src/components/hooks/useCreateSubPage.ts
+++ b/packages/hash/frontend/src/components/hooks/useCreateSubPage.ts
@@ -14,7 +14,7 @@ import {
CreatePageMutationVariables,
SetParentPageMutation,
SetParentPageMutationVariables,
-} from "../../graphql/apiTypes.gen";
+} from "../../graphql/api-types.gen";
import { getAccountPagesTree } from "../../graphql/queries/account.queries";
import { createPage, setParentPage } from "../../graphql/queries/page.queries";
import { useWorkspaceShortnameByEntityUuid } from "./use-workspace-shortname-by-entity-uuid";
diff --git a/packages/hash/frontend/src/components/hooks/useDeleteComment.ts b/packages/hash/frontend/src/components/hooks/useDeleteComment.ts
index a333bff6fae..c94e030ebc7 100644
--- a/packages/hash/frontend/src/components/hooks/useDeleteComment.ts
+++ b/packages/hash/frontend/src/components/hooks/useDeleteComment.ts
@@ -4,7 +4,7 @@ import { EntityId } from "@hashintel/hash-shared/types";
import {
DeleteCommentMutation,
DeleteCommentMutationVariables,
-} from "../../graphql/apiTypes.gen";
+} from "../../graphql/api-types.gen";
import { deleteComment } from "../../graphql/queries/comment.queries";
import { getPageComments } from "../../graphql/queries/page.queries";
diff --git a/packages/hash/frontend/src/components/hooks/useGetBlockProtocolBlocks.ts b/packages/hash/frontend/src/components/hooks/useGetBlockProtocolBlocks.ts
index ceb9fbd195c..f30070ff67a 100644
--- a/packages/hash/frontend/src/components/hooks/useGetBlockProtocolBlocks.ts
+++ b/packages/hash/frontend/src/components/hooks/useGetBlockProtocolBlocks.ts
@@ -1,5 +1,5 @@
import { useQuery } from "@apollo/client";
-import { GetBlockProtocolBlocksQuery } from "../../graphql/apiTypes.gen";
+import { GetBlockProtocolBlocksQuery } from "../../graphql/api-types.gen";
import { getBlockProtocolBlocksQuery } from "../../graphql/queries/block.queries";
export const useGetBlockProtocolBlocks = () => {
diff --git a/packages/hash/frontend/src/components/hooks/useHashInstance.ts b/packages/hash/frontend/src/components/hooks/useHashInstance.ts
index 38bb2ee592c..8ec28afd888 100644
--- a/packages/hash/frontend/src/components/hooks/useHashInstance.ts
+++ b/packages/hash/frontend/src/components/hooks/useHashInstance.ts
@@ -5,7 +5,7 @@ import { extractBaseUri } from "@blockprotocol/type-system";
import {
GetHashInstanceEntityQueryQuery,
GetHashInstanceEntityQueryQueryVariables,
-} from "../../graphql/apiTypes.gen";
+} from "../../graphql/api-types.gen";
import { useInitTypeSystem } from "../../lib/use-init-type-system";
import { getHashInstanceEntityQuery } from "../../graphql/queries/knowledge/hashInstance.queries";
diff --git a/packages/hash/frontend/src/components/hooks/useOrgs.ts b/packages/hash/frontend/src/components/hooks/useOrgs.ts
index 46eb5c33055..e958001805d 100644
--- a/packages/hash/frontend/src/components/hooks/useOrgs.ts
+++ b/packages/hash/frontend/src/components/hooks/useOrgs.ts
@@ -6,7 +6,7 @@ import { Subgraph, SubgraphRootTypes } from "@hashintel/hash-subgraph";
import {
GetAllLatestEntitiesQuery,
GetAllLatestEntitiesQueryVariables,
-} from "../../graphql/apiTypes.gen";
+} from "../../graphql/api-types.gen";
import { getAllLatestEntitiesQuery } from "../../graphql/queries/knowledge/entity.queries";
import { constructOrg, Org } from "../../lib/user-and-org";
/**
diff --git a/packages/hash/frontend/src/components/hooks/usePageComments.ts b/packages/hash/frontend/src/components/hooks/usePageComments.ts
index dfa12abaed9..c7dd12d2fd3 100644
--- a/packages/hash/frontend/src/components/hooks/usePageComments.ts
+++ b/packages/hash/frontend/src/components/hooks/usePageComments.ts
@@ -5,7 +5,7 @@ import { EntityId } from "@hashintel/hash-shared/types";
import {
GetPageCommentsQuery,
GetPageCommentsQueryVariables,
-} from "../../graphql/apiTypes.gen";
+} from "../../graphql/api-types.gen";
import { getPageComments } from "../../graphql/queries/page.queries";
export type PageThread = PageComment & {
diff --git a/packages/hash/frontend/src/components/hooks/useReorderPage.ts b/packages/hash/frontend/src/components/hooks/useReorderPage.ts
index b50fd9ddc66..5c2a89d7fa9 100644
--- a/packages/hash/frontend/src/components/hooks/useReorderPage.ts
+++ b/packages/hash/frontend/src/components/hooks/useReorderPage.ts
@@ -7,7 +7,7 @@ import {
import {
SetParentPageMutation,
SetParentPageMutationVariables,
-} from "../../graphql/apiTypes.gen";
+} from "../../graphql/api-types.gen";
import { getAccountPagesTree } from "../../graphql/queries/account.queries";
import { setParentPage } from "../../graphql/queries/page.queries";
diff --git a/packages/hash/frontend/src/components/hooks/useResolveComment.ts b/packages/hash/frontend/src/components/hooks/useResolveComment.ts
index 086365e768c..dbd499e5fdd 100644
--- a/packages/hash/frontend/src/components/hooks/useResolveComment.ts
+++ b/packages/hash/frontend/src/components/hooks/useResolveComment.ts
@@ -4,7 +4,7 @@ import { EntityId } from "@hashintel/hash-shared/types";
import {
ResolveCommentMutation,
ResolveCommentMutationVariables,
-} from "../../graphql/apiTypes.gen";
+} from "../../graphql/api-types.gen";
import { resolveComment } from "../../graphql/queries/comment.queries";
import { getPageComments } from "../../graphql/queries/page.queries";
diff --git a/packages/hash/frontend/src/components/hooks/useShortnameInput.ts b/packages/hash/frontend/src/components/hooks/useShortnameInput.ts
index e43c1cacf65..efca9c1b8b2 100644
--- a/packages/hash/frontend/src/components/hooks/useShortnameInput.ts
+++ b/packages/hash/frontend/src/components/hooks/useShortnameInput.ts
@@ -3,7 +3,7 @@ import { useCallback, useState } from "react";
import {
IsShortnameTakenQuery,
QueryIsShortnameTakenArgs,
-} from "../../graphql/apiTypes.gen";
+} from "../../graphql/api-types.gen";
import { isShortnameTaken as isShortnameTakenQuery } from "../../graphql/queries/user.queries";
type ShortnameErrorCode =
diff --git a/packages/hash/frontend/src/components/hooks/useUpdateAuthenticatedUser.ts b/packages/hash/frontend/src/components/hooks/useUpdateAuthenticatedUser.ts
index 26124e34ba1..dfb6b58768b 100644
--- a/packages/hash/frontend/src/components/hooks/useUpdateAuthenticatedUser.ts
+++ b/packages/hash/frontend/src/components/hooks/useUpdateAuthenticatedUser.ts
@@ -10,7 +10,7 @@ import {
MeQuery,
UpdateEntityMutation,
UpdateEntityMutationVariables,
-} from "../../graphql/apiTypes.gen";
+} from "../../graphql/api-types.gen";
import { AuthenticatedUser } from "../../lib/user-and-org";
import { updateEntityMutation } from "../../graphql/queries/knowledge/entity.queries";
import { useAuthInfo } from "../../pages/shared/auth-info-context";
diff --git a/packages/hash/frontend/src/components/hooks/useUpdateCommentText.ts b/packages/hash/frontend/src/components/hooks/useUpdateCommentText.ts
index 21acb361682..2dda34a12ae 100644
--- a/packages/hash/frontend/src/components/hooks/useUpdateCommentText.ts
+++ b/packages/hash/frontend/src/components/hooks/useUpdateCommentText.ts
@@ -5,7 +5,7 @@ import { EntityId } from "@hashintel/hash-shared/types";
import {
UpdateCommentTextMutation,
UpdateCommentTextMutationVariables,
-} from "../../graphql/apiTypes.gen";
+} from "../../graphql/api-types.gen";
import { updateCommentText } from "../../graphql/queries/comment.queries";
import { getPageComments } from "../../graphql/queries/page.queries";
diff --git a/packages/hash/frontend/src/components/hooks/useUpdatePageIcon.ts b/packages/hash/frontend/src/components/hooks/useUpdatePageIcon.ts
index f1d8a97f1dd..bd00b457583 100644
--- a/packages/hash/frontend/src/components/hooks/useUpdatePageIcon.ts
+++ b/packages/hash/frontend/src/components/hooks/useUpdatePageIcon.ts
@@ -10,7 +10,7 @@ import {
GetPageInfoQueryVariables,
UpdatePageMutation,
UpdatePageMutationVariables,
-} from "../../graphql/apiTypes.gen";
+} from "../../graphql/api-types.gen";
import { getAccountPagesTree } from "../../graphql/queries/account.queries";
import { updatePage } from "../../graphql/queries/page.queries";
diff --git a/packages/hash/frontend/src/components/hooks/useUpdatePageTitle.ts b/packages/hash/frontend/src/components/hooks/useUpdatePageTitle.ts
index 7d1bf9b7187..fa6188d3c52 100644
--- a/packages/hash/frontend/src/components/hooks/useUpdatePageTitle.ts
+++ b/packages/hash/frontend/src/components/hooks/useUpdatePageTitle.ts
@@ -10,7 +10,7 @@ import {
GetPageInfoQueryVariables,
UpdatePageMutation,
UpdatePageMutationVariables,
-} from "../../graphql/apiTypes.gen";
+} from "../../graphql/api-types.gen";
import { getAccountPagesTree } from "../../graphql/queries/account.queries";
import { updatePage } from "../../graphql/queries/page.queries";
diff --git a/packages/hash/frontend/src/components/hooks/useUsers.ts b/packages/hash/frontend/src/components/hooks/useUsers.ts
index c4692ea9d54..b5ba04d80f5 100644
--- a/packages/hash/frontend/src/components/hooks/useUsers.ts
+++ b/packages/hash/frontend/src/components/hooks/useUsers.ts
@@ -7,7 +7,7 @@ import { constructUser, User } from "../../lib/user-and-org";
import {
GetAllLatestEntitiesQuery,
GetAllLatestEntitiesQueryVariables,
-} from "../../graphql/apiTypes.gen";
+} from "../../graphql/api-types.gen";
import { getAllLatestEntitiesQuery } from "../../graphql/queries/knowledge/entity.queries";
export const useUsers = (
diff --git a/packages/hash/frontend/src/lib/entities.ts b/packages/hash/frontend/src/lib/entities.ts
index ea234a9436a..9cbe18db591 100644
--- a/packages/hash/frontend/src/lib/entities.ts
+++ b/packages/hash/frontend/src/lib/entities.ts
@@ -12,7 +12,7 @@ import { getEntityTypeById } from "@hashintel/hash-subgraph/src/stdlib/element/e
import {
UnknownEntity as ApiEntity,
Link as ApiLink,
-} from "../graphql/apiTypes.gen";
+} from "../graphql/api-types.gen";
const isObject = (thing: unknown): thing is {} =>
typeof thing === "object" && thing !== null;
diff --git a/packages/hash/frontend/src/middleware/return-types-as-json.ts b/packages/hash/frontend/src/middleware/return-types-as-json.ts
index 26c7e6c5a46..8b128098b83 100644
--- a/packages/hash/frontend/src/middleware/return-types-as-json.ts
+++ b/packages/hash/frontend/src/middleware/return-types-as-json.ts
@@ -17,7 +17,7 @@ import type {
GetEntityTypeQueryVariables,
GetPropertyTypeQuery,
GetPropertyTypeQueryVariables,
-} from "../graphql/apiTypes.gen";
+} from "../graphql/api-types.gen";
import { generateQueryArgs } from "./return-types-as-json/generate-query-args";
const generateErrorResponse = (
diff --git a/packages/hash/frontend/src/middleware/return-types-as-json/generate-query-args.ts b/packages/hash/frontend/src/middleware/return-types-as-json/generate-query-args.ts
index fae26e5357b..4e22958c66a 100644
--- a/packages/hash/frontend/src/middleware/return-types-as-json/generate-query-args.ts
+++ b/packages/hash/frontend/src/middleware/return-types-as-json/generate-query-args.ts
@@ -4,7 +4,7 @@ import {
GetDataTypeQueryVariables,
GetEntityTypeQueryVariables,
GetPropertyTypeQueryVariables,
-} from "../../graphql/apiTypes.gen";
+} from "../../graphql/api-types.gen";
import { getDataTypeQuery } from "../../graphql/queries/ontology/data-type.queries";
import { getEntityTypeQuery } from "../../graphql/queries/ontology/entity-type.queries";
import { getPropertyTypeQuery } from "../../graphql/queries/ontology/property-type.queries";
diff --git a/packages/hash/frontend/src/pages/[shortname]/[page-slug].page.tsx b/packages/hash/frontend/src/pages/[shortname]/[page-slug].page.tsx
index 3399c483fea..31ba3c3ad41 100644
--- a/packages/hash/frontend/src/pages/[shortname]/[page-slug].page.tsx
+++ b/packages/hash/frontend/src/pages/[shortname]/[page-slug].page.tsx
@@ -7,7 +7,7 @@ import {
import {
GetPageQuery,
GetPageQueryVariables,
-} from "@hashintel/hash-shared/graphql/apiTypes.gen";
+} from "@hashintel/hash-shared/graphql/api-types.gen";
import {
getPageInfoQuery,
getPageQuery,
@@ -55,7 +55,7 @@ import {
GetAllLatestEntitiesQuery,
GetPageInfoQuery,
GetPageInfoQueryVariables,
-} from "../../graphql/apiTypes.gen";
+} from "../../graphql/api-types.gen";
import { getAllLatestEntitiesQuery } from "../../graphql/queries/knowledge/entity.queries";
import { apolloClient } from "../../lib/apollo-client";
import {
diff --git a/packages/hash/frontend/src/pages/_app.page.tsx b/packages/hash/frontend/src/pages/_app.page.tsx
index b5a5c0cd36f..e59c6b0f85b 100644
--- a/packages/hash/frontend/src/pages/_app.page.tsx
+++ b/packages/hash/frontend/src/pages/_app.page.tsx
@@ -24,7 +24,7 @@ import {
} from "../shared/routing";
import { WorkspaceContextProvider } from "./shared/workspace-context";
import { apolloClient } from "../lib/apollo-client";
-import { MeQuery } from "../graphql/apiTypes.gen";
+import { MeQuery } from "../graphql/api-types.gen";
import { meQuery } from "../graphql/queries/user.queries";
import {
AuthenticatedUser,
diff --git a/packages/hash/frontend/src/pages/shared/auth-info-context.tsx b/packages/hash/frontend/src/pages/shared/auth-info-context.tsx
index c0fbc1da88e..33d0166c848 100644
--- a/packages/hash/frontend/src/pages/shared/auth-info-context.tsx
+++ b/packages/hash/frontend/src/pages/shared/auth-info-context.tsx
@@ -10,7 +10,7 @@ import {
useMemo,
useState,
} from "react";
-import { MeQuery } from "../../graphql/apiTypes.gen";
+import { MeQuery } from "../../graphql/api-types.gen";
import { meQuery } from "../../graphql/queries/user.queries";
import {
AuthenticatedUser,
diff --git a/packages/hash/frontend/src/shared/layout/layout-with-header/search-bar.tsx b/packages/hash/frontend/src/shared/layout/layout-with-header/search-bar.tsx
index f511fae0722..d676f2b29a8 100644
--- a/packages/hash/frontend/src/shared/layout/layout-with-header/search-bar.tsx
+++ b/packages/hash/frontend/src/shared/layout/layout-with-header/search-bar.tsx
@@ -1,5 +1,5 @@
// import { useQuery } from "@apollo/client";
-// import { PageSearchResult } from "../../../../../graphql/apiTypes.gen";
+// import { PageSearchResult } from "../../../../../graphql/api-types.gen";
import { escapeRegExp } from "lodash";
import {
ReactNode,
diff --git a/packages/hash/integration/codegen.config.ts b/packages/hash/integration/codegen.config.ts
index 27aeffb9194..b3fbb8ddd39 100644
--- a/packages/hash/integration/codegen.config.ts
+++ b/packages/hash/integration/codegen.config.ts
@@ -3,12 +3,12 @@ import { scalars } from "@hashintel/hash-shared/graphql/scalar-mapping";
const config: CodegenConfig = {
overwrite: true,
- schema: "../api/src/graphql/typeDefs/**/*.ts",
+ schema: "../api/src/graphql/type-defs/**/*.ts",
generates: {
"./src/graphql/fragmentTypes.gen.json": {
plugins: ["fragment-matcher"],
},
- "./src/graphql/apiTypes.gen.ts": {
+ "./src/graphql/api-types.gen.ts": {
plugins: ["typescript", "typescript-operations"],
config: {
skipTypename: true,
diff --git a/packages/hash/integration/src/tests/integration.test.ts b/packages/hash/integration/src/tests/integration.test.ts
index d55ab7a7fd0..712cd1b1fdb 100644
--- a/packages/hash/integration/src/tests/integration.test.ts
+++ b/packages/hash/integration/src/tests/integration.test.ts
@@ -31,7 +31,7 @@ import {
SystemTypeName,
WayToUseHash,
DeprecatedEntityType,
-} from "../graphql/apiTypes.gen";
+} from "../graphql/api-types.gen";
const logger = new Logger({
mode: "dev",
diff --git a/packages/hash/integration/src/tests/util.ts b/packages/hash/integration/src/tests/util.ts
index 98c663a3746..31f944ef400 100644
--- a/packages/hash/integration/src/tests/util.ts
+++ b/packages/hash/integration/src/tests/util.ts
@@ -12,7 +12,7 @@ import {
updateUserShortname,
} from "@hashintel/hash-api/src/graph/knowledge/system-types/user";
import { createOrg } from "@hashintel/hash-api/src/graph/knowledge/system-types/org";
-import { OrgSize } from "../graphql/apiTypes.gen";
+import { OrgSize } from "../graphql/api-types.gen";
const randomStringSuffix = () => {
const alphabet = "abcdefghijklmnopqrstuvwxyz";
diff --git a/packages/hash/shared/codegen.config.ts b/packages/hash/shared/codegen.config.ts
index 58ddbe4cd1d..6c48538d4ce 100644
--- a/packages/hash/shared/codegen.config.ts
+++ b/packages/hash/shared/codegen.config.ts
@@ -3,12 +3,12 @@ import { scalars } from "@hashintel/hash-shared/graphql/scalar-mapping";
const config: CodegenConfig = {
overwrite: true,
- schema: "../api/src/graphql/typeDefs/**/*.ts",
+ schema: "../api/src/graphql/type-defs/**/*.ts",
generates: {
"./src/graphql/fragmentTypes.gen.json": {
plugins: ["fragment-matcher"],
},
- "./src/graphql/apiTypes.gen.ts": {
+ "./src/graphql/api-types.gen.ts": {
plugins: ["typescript", "typescript-operations"],
documents: ["./src/queries/*.ts"],
config: {
diff --git a/packages/hash/shared/src/entity.ts b/packages/hash/shared/src/entity.ts
index c139f6e3f09..3464788cb24 100644
--- a/packages/hash/shared/src/entity.ts
+++ b/packages/hash/shared/src/entity.ts
@@ -7,7 +7,7 @@ import {
isEntity,
TEXT_TOKEN_PROPERTY_TYPE_BASE_URI,
} from "./entityStore";
-import { Block } from "./graphql/apiTypes.gen";
+import { Block } from "./graphql/api-types.gen";
import { TextToken } from "./graphql/types";
import { flatMapTree } from "./util";
diff --git a/packages/hash/shared/src/save.ts b/packages/hash/shared/src/save.ts
index 71f5a9ed460..ba15bbf2693 100644
--- a/packages/hash/shared/src/save.ts
+++ b/packages/hash/shared/src/save.ts
@@ -20,7 +20,7 @@ import {
UpdatePageContentsMutationVariables,
UpdatePageAction,
UpdatePageContentsResultPlaceholder,
-} from "./graphql/apiTypes.gen";
+} from "./graphql/api-types.gen";
import { isEntityNode } from "./prosemirror";
import { getPageQuery, updatePageContents } from "./queries/page.queries";
From 780bcdcd43a3878a3a2ebc2cf24e0662f4fd621d Mon Sep 17 00:00:00 2001
From: Ciaran Morinan <37743469+CiaranMn@users.noreply.github.com>
Date: Thu, 22 Dec 2022 15:44:25 +0000
Subject: [PATCH 08/13] replace requiredLinks with minItems 1 (#1733)
---
packages/hash/api/src/graph/system-types.ts | 11 +++++------
packages/hash/api/src/graph/util.ts | 6 ------
2 files changed, 5 insertions(+), 12 deletions(-)
diff --git a/packages/hash/api/src/graph/system-types.ts b/packages/hash/api/src/graph/system-types.ts
index c630e4e7619..ce7d7a3678f 100644
--- a/packages/hash/api/src/graph/system-types.ts
+++ b/packages/hash/api/src/graph/system-types.ts
@@ -316,7 +316,6 @@ const userEntityTypeInitializer = async (graphApi: GraphApi) => {
{
linkEntityType: orgMembershipLinkEntityType,
destinationEntityTypes: [orgEntityType],
- maxItems: 1,
},
],
})(graphApi);
@@ -362,7 +361,7 @@ const blockEntityTypeInitializer = async (graphApi: GraphApi) => {
* @see https://app.asana.com/0/1202805690238892/1203015527055368/f
*/
destinationEntityTypes: [dummyEntityType],
- required: true,
+ minItems: 1,
maxItems: 1,
},
],
@@ -499,7 +498,7 @@ const pageEntityTypeInitializer = async (graphApi: GraphApi) => {
{
linkEntityType: containsLinkEntityType,
destinationEntityTypes: [blockEntityType],
- required: true,
+ minItems: 1,
ordered: true,
},
{
@@ -575,19 +574,19 @@ const commentEntityTypeInitializer = async (graphApi: GraphApi) => {
{
linkEntityType: hasTextLinkEntityType,
destinationEntityTypes: [textEntityType],
- required: true,
+ minItems: 1,
maxItems: 1,
},
{
linkEntityType: parentLinkTypeType,
destinationEntityTypes: ["SELF_REFERENCE", blockEntityType],
- required: true,
+ minItems: 1,
maxItems: 1,
},
{
linkEntityType: authorLinkTypeType,
destinationEntityTypes: [userEntityType],
- required: true,
+ minItems: 1,
maxItems: 1,
},
],
diff --git a/packages/hash/api/src/graph/util.ts b/packages/hash/api/src/graph/util.ts
index e119f2cfe38..1df49f02474 100644
--- a/packages/hash/api/src/graph/util.ts
+++ b/packages/hash/api/src/graph/util.ts
@@ -223,7 +223,6 @@ export type EntityTypeCreatorParams = {
// Some models may reference themselves. This marker is used to stop infinite loops during initialization by telling the initializer to use a self reference
| "SELF_REFERENCE"
)[];
- required?: boolean;
minItems?: number;
maxItems?: number;
ordered?: boolean;
@@ -287,10 +286,6 @@ export const generateSystemEntityTypeSchema = (
{},
) ?? undefined;
- const requiredLinks = params.outgoingLinks
- ?.filter(({ required }) => !!required)
- .map(({ linkEntityType }) => linkEntityType.schema.$id);
-
return {
$id: params.entityTypeId,
title: params.title,
@@ -300,7 +295,6 @@ export const generateSystemEntityTypeSchema = (
properties,
required: requiredProperties,
links,
- requiredLinks,
};
};
From 5db7dcd112588fa21889a3ff3d9422c8cf6b080a Mon Sep 17 00:00:00 2001
From: Ciaran Morinan <37743469+CiaranMn@users.noreply.github.com>
Date: Thu, 22 Dec 2022 19:12:26 +0000
Subject: [PATCH 09/13] fix expected query param account-slug -> shortname
(#1736)
---
.../[entity-type-id].page/definition-tab/shared/type-form.tsx | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/packages/hash/frontend/src/pages/[shortname]/types/entity-type/[entity-type-id].page/definition-tab/shared/type-form.tsx b/packages/hash/frontend/src/pages/[shortname]/types/entity-type/[entity-type-id].page/definition-tab/shared/type-form.tsx
index 2401e05c036..76bf1cbafc1 100644
--- a/packages/hash/frontend/src/pages/[shortname]/types/entity-type/[entity-type-id].page/definition-tab/shared/type-form.tsx
+++ b/packages/hash/frontend/src/pages/[shortname]/types/entity-type/[entity-type-id].page/definition-tab/shared/type-form.tsx
@@ -236,7 +236,7 @@ export const generateInitialTypeUri = (baseUri: string) =>
export const useGenerateTypeBaseUri = (kind: SchemaKind) => {
const router = useRouter();
- const shortname = router.query["account-slug"]?.toString().slice(1) ?? "";
+ const shortname = router.query.shortname?.toString().slice(1) ?? "";
return (value: string) => {
if (!shortname) {
From 2cc5b5bf3d4a4b43e7c735f82a32f481b7571c85 Mon Sep 17 00:00:00 2001
From: David Wilkinson <6226576+nonparibus@users.noreply.github.com>
Date: Thu, 22 Dec 2022 21:58:34 +0000
Subject: [PATCH 10/13] Update docs around blocks (#1737)
* Update README.md
* Update README.md
---
blocks/README.md | 20 +++++++++++++++++++-
packages/hash/README.md | 21 +++++++--------------
2 files changed, 26 insertions(+), 15 deletions(-)
diff --git a/blocks/README.md b/blocks/README.md
index 1adcdfd3ca7..fcb93e5a671 100644
--- a/blocks/README.md
+++ b/blocks/README.md
@@ -8,4 +8,22 @@
# HASH Blocks
-This directory contains the source code for all of the public blocks published by HASH. You can view rich previews of each of these on the [`@hash` page](https://blockprotocol.org/@hash) in the [Block Protocol Hub](https://blockprotocol.org/hub).
+This directory contains the source code for all of the public [Block Protocol](https://blockprotocol.org/) blocks published by HASH.
+
+You can view rich previews of each of these on the [`@hash` page](https://blockprotocol.org/@hash) in the [Þ Hub](https://blockprotocol.org/hub).
+
+## Running these blocks
+
+If you want to work on, build or serve a single block, run:
+
+```sh
+yarn workspace @blocks/block-name dev
+## or
+yarn workspace @blocks/block-name build
+## or
+yarn workspace @blocks/block-name serve
+```
+
+## Using these blocks
+
+As a user, you can access the published versions of these blocks via any embedding application that integrates with the Þ Hub.
diff --git a/packages/hash/README.md b/packages/hash/README.md
index 1c8234fcaf8..29ba69b7e3c 100644
--- a/packages/hash/README.md
+++ b/packages/hash/README.md
@@ -118,26 +118,19 @@ Note that you will need valid AWS credentials for this email transporter to work
HASH is built around the open [Block Protocol](https://blockprotocol.org) ([@blockprotocol/blockprotocol](https://github.com/blockprotocol/blockprotocol) on GitHub).
-You can test blocks in HASH by going to any page, clicking on the menu next to an empty block, and pasting in the URL to your block's distribution folder (i.e. the one containing `block-metadata.json`, `block-schema.json`, and the block's code). If you need a way of serving your folder, try [`serve`](https://github.com/vercel/serve).
+### Using blocks
-To get started building a block, visit the [docs](https://blockprotocol.org/docs).
+Blocks published to the [Þ Hub](https://blockprotocol.org/hub) can be run within HASH via the 'insert block' (aka. 'slash') menu.
-## HASH blocks
+While running the app in development mode, you can also test local blocks out in HASH by going to any page, clicking on the menu next to an empty block, and pasting in the URL to your block's distribution folder (i.e. the one containing `block-metadata.json`, `block-schema.json`, and the block's code). If you need a way of serving your folder, try [`serve`](https://github.com/vercel/serve).
-This repository contains a number of https://blockprotocol.org blocks.
-If you want to develop, build or serve a single block, run:
+### HASH blocks
-```sh
-yarn workspace @hashintel/block-name dev
-## or
-yarn workspace @hashintel/block-name build
-## or
-yarn workspace @hashintel/block-name serve
-```
+The code pertaining to HASH-developed blocks can be found in the [`/blocks` directory](https://github.com/hashintel/hash/tree/main/blocks) in the root of this monorepo.
-## Creating new blocks
+### Creating new blocks
-See https://blockprotocol.org/docs/developing-blocks
+See the [Developing Blocks](https://blockprotocol.org/docs/developing-blocks) page in the [Þ Docs](https://blockprotocol.org/docs) for instructions on developing and publishing your own blocks.
## Development
From a37498ee269e1554cd9b16be40ae8658d52e1c11 Mon Sep 17 00:00:00 2001
From: Alexander Kachkaev
Date: Fri, 23 Dec 2022 10:23:02 +0000
Subject: [PATCH 11/13] Enable `eslint-plugin-simple-import-sort` in several
packages (#1731)
---
packages/graph/migrations/.eslintrc.cjs | 4 ++
.../postgres/scripts/environment.ts | 6 +--
.../postgres/scripts/recreate-graph-db.ts | 2 +-
.../hash/backend-utils/src/environment.ts | 4 +-
.../hash/backend-utils/src/queue/redis.ts | 2 +-
packages/hash/backend-utils/src/redis.ts | 2 +-
.../src/search/opensearch-pagination.test.ts | 2 +
.../backend-utils/src/search/opensearch.ts | 8 ++--
packages/hash/design-system/src/avatar.tsx | 2 +-
packages/hash/design-system/src/button.tsx | 1 +
.../hash/design-system/src/chip-group.tsx | 2 +-
packages/hash/design-system/src/chip.tsx | 3 +-
.../design-system/src/fontawesome-icon.tsx | 4 +-
.../hash/design-system/src/form-inline.tsx | 2 +-
.../design-system/src/menu-checkbox-item.tsx | 1 +
packages/hash/design-system/src/select.tsx | 3 +-
.../src/stories/header.stories.ts | 1 +
.../hash/design-system/src/stories/header.tsx | 3 +-
.../design-system/src/stories/page.stories.ts | 2 +-
.../hash/design-system/src/stories/page.tsx | 4 +-
.../src/submit-button-wrapper.tsx | 7 ++--
.../hash/design-system/src/text-field.tsx | 1 +
packages/hash/design-system/src/theme.ts | 8 ++--
.../design-system/src/theme/components.ts | 25 ++++++------
.../src/theme/components/data-display.ts | 2 +-
.../data-display/mui-chip-theme-options.tsx | 1 +
.../mui-typography-theme-options.ts | 1 +
.../src/theme/components/inputs.ts | 4 +-
.../inputs/mui-button-theme-options.ts | 2 +-
.../inputs/mui-checkbox-theme-options.tsx | 3 +-
.../checkbox-blank-icon.tsx | 2 +-
.../checkbox-icon.tsx | 2 +-
.../mui-outlined-input-theme-options.ts | 4 +-
.../inputs/mui-radio-theme-options.tsx | 1 +
.../radio-checked-icon.tsx | 2 +-
.../radio-unchecked-icon.tsx | 2 +-
.../inputs/mui-select-theme-options.tsx | 1 +
.../inputs/mui-switch-theme-options.ts | 2 +-
.../navigation/mui-menu-item-theme-options.ts | 8 ++--
packages/hash/design-system/src/ui.ts | 15 ++++----
packages/hash/integration/jest.config.cjs | 1 +
.../hash/integration/src/tests/email.test.ts | 1 +
.../graph/knowledge/primitive/entity.test.ts | 38 +++++++++----------
.../knowledge/primitive/link-entity.test.ts | 33 ++++++++--------
.../knowledge/system-types/block.test.ts | 19 +++++-----
.../knowledge/system-types/comment.test.ts | 13 ++++---
.../system-types/hash-instance.test.ts | 15 ++++----
.../graph/knowledge/system-types/org.test.ts | 9 +++--
.../graph/knowledge/system-types/page.test.ts | 27 ++++++-------
.../graph/knowledge/system-types/user.test.ts | 20 +++++-----
.../ontology/primitive/data-type.test.ts | 12 +++---
.../ontology/primitive/entity-type.test.ts | 22 +++++------
.../ontology/primitive/org-membership.test.ts | 9 +++--
.../ontology/primitive/property-type.test.ts | 20 +++++-----
.../src/tests/model/aggregation.model.test.ts | 1 +
packages/hash/integration/src/tests/setup.ts | 2 +-
packages/hash/integration/src/tests/util.ts | 9 +++--
packages/hash/playwright/playwright.config.ts | 2 +-
.../hash/playwright/tests/guest-user.spec.ts | 2 +-
.../playwright/tests/page-creation.spec.ts | 5 ++-
.../tests/page-readonly-mode.spec.ts | 3 +-
...-derived-payload-from-most-recent-email.ts | 7 ++--
.../tests/shared/login-using-temp-form.ts | 2 +-
.../playwright/tests/shared/login-using-ui.ts | 3 +-
.../hash/playwright/tests/shared/reset-db.ts | 2 +-
.../hash/playwright/tests/shared/runtime.ts | 2 +-
packages/hash/realtime/src/config.ts | 6 +--
packages/hash/realtime/src/index.ts | 18 ++++-----
.../hash/realtime/src/scripts/clear-redis.ts | 4 +-
packages/hash/search-loader/src/config.ts | 3 +-
packages/hash/search-loader/src/index.ts | 12 +++---
.../src/scripts/clear-opensearch.ts | 1 -
.../hash/search-loader/src/search-loader.ts | 13 +++----
.../hash/task-executor/src/airbyte/temp-io.ts | 2 +-
packages/hash/task-executor/src/index.ts | 8 ++--
75 files changed, 266 insertions(+), 231 deletions(-)
diff --git a/packages/graph/migrations/.eslintrc.cjs b/packages/graph/migrations/.eslintrc.cjs
index f3fd7439b13..cd8926f10f0 100644
--- a/packages/graph/migrations/.eslintrc.cjs
+++ b/packages/graph/migrations/.eslintrc.cjs
@@ -6,9 +6,13 @@ module.exports = {
},
overrides: [
{
+ // Autogenerated files
files: ["**/migration/*.ts"],
rules: {
+ "simple-import-sort/exports": "off",
+ "simple-import-sort/imports": "off",
"unicorn/filename-case": "off",
+ "unicorn/prefer-node-protocol": "off",
},
},
],
diff --git a/packages/graph/migrations/postgres/scripts/environment.ts b/packages/graph/migrations/postgres/scripts/environment.ts
index fd162102991..91c3a841fcf 100644
--- a/packages/graph/migrations/postgres/scripts/environment.ts
+++ b/packages/graph/migrations/postgres/scripts/environment.ts
@@ -1,8 +1,8 @@
-import { config } from "dotenv-flow";
-import dotenvExpand from "dotenv-expand";
-
import path from "node:path";
+import dotenvExpand from "dotenv-expand";
+import { config } from "dotenv-flow";
+
export const graphRootDir = path.resolve(__dirname, "../../../");
dotenvExpand.expand(config({ silent: true, path: graphRootDir }));
diff --git a/packages/graph/migrations/postgres/scripts/recreate-graph-db.ts b/packages/graph/migrations/postgres/scripts/recreate-graph-db.ts
index 1558633e55b..4e41c0d8f2a 100644
--- a/packages/graph/migrations/postgres/scripts/recreate-graph-db.ts
+++ b/packages/graph/migrations/postgres/scripts/recreate-graph-db.ts
@@ -1,6 +1,6 @@
import { waitOnResource } from "@hashintel/hash-backend-utils/environment";
-
import pg from "pg";
+
import { getRequiredEnv } from "./environment";
const main = async () => {
diff --git a/packages/hash/backend-utils/src/environment.ts b/packages/hash/backend-utils/src/environment.ts
index a27d89a0d41..6b041451d72 100644
--- a/packages/hash/backend-utils/src/environment.ts
+++ b/packages/hash/backend-utils/src/environment.ts
@@ -1,6 +1,6 @@
-import { config } from "dotenv-flow";
-
import path from "node:path";
+
+import { config } from "dotenv-flow";
import waitOn from "wait-on";
export const monorepoRootDir = path.resolve(__dirname, "../../../..");
diff --git a/packages/hash/backend-utils/src/queue/redis.ts b/packages/hash/backend-utils/src/queue/redis.ts
index c382d55775a..0f69167b104 100644
--- a/packages/hash/backend-utils/src/queue/redis.ts
+++ b/packages/hash/backend-utils/src/queue/redis.ts
@@ -1,8 +1,8 @@
import { randomUUID } from "node:crypto";
-import { QueueProducer, QueueExclusiveConsumer } from "./adapter";
import { AsyncRedisClient } from "../redis";
import { sleep } from "../utils";
+import { QueueExclusiveConsumer, QueueProducer } from "./adapter";
// The interval on which a consumer which owns the queue will re-affirm their ownership.
const QUEUE_CONSUMER_OWNERSHIP_HEARTBEAT_MS = 3_000;
diff --git a/packages/hash/backend-utils/src/redis.ts b/packages/hash/backend-utils/src/redis.ts
index 4095a9b4dcd..71575752c79 100644
--- a/packages/hash/backend-utils/src/redis.ts
+++ b/packages/hash/backend-utils/src/redis.ts
@@ -1,7 +1,7 @@
import { promisify } from "node:util";
-import { createClient } from "redis";
import { DataSource } from "apollo-datasource";
+import { createClient } from "redis";
import { Logger } from "./logger";
diff --git a/packages/hash/backend-utils/src/search/opensearch-pagination.test.ts b/packages/hash/backend-utils/src/search/opensearch-pagination.test.ts
index f9e2a74b8ee..6628533fff6 100644
--- a/packages/hash/backend-utils/src/search/opensearch-pagination.test.ts
+++ b/packages/hash/backend-utils/src/search/opensearch-pagination.test.ts
@@ -1,5 +1,7 @@
import { randomUUID } from "node:crypto";
+
import { Client } from "@opensearch-project/opensearch";
+
import { Logger } from "../logger";
import { OpenSearch } from "./opensearch";
diff --git a/packages/hash/backend-utils/src/search/opensearch.ts b/packages/hash/backend-utils/src/search/opensearch.ts
index 63e3a0f1281..83b06177689 100644
--- a/packages/hash/backend-utils/src/search/opensearch.ts
+++ b/packages/hash/backend-utils/src/search/opensearch.ts
@@ -2,16 +2,16 @@ import { JsonObject } from "@blockprotocol/core";
import { Client, ClientOptions, errors } from "@opensearch-project/opensearch";
import { DataSource } from "apollo-datasource";
-import { sleep } from "../utils";
import { Logger } from "../logger";
+import { sleep } from "../utils";
import {
SearchAdapter,
- SearchResult,
+ SearchField,
+ SearchFieldPresence,
SearchHit,
SearchParameters,
+ SearchResult,
SearchResultPaginated,
- SearchField,
- SearchFieldPresence,
} from "./adapter";
const KEEP_ALIVE_CURSOR_DURATION = "10m";
diff --git a/packages/hash/design-system/src/avatar.tsx b/packages/hash/design-system/src/avatar.tsx
index e2e6e481d04..adc3b4e883e 100644
--- a/packages/hash/design-system/src/avatar.tsx
+++ b/packages/hash/design-system/src/avatar.tsx
@@ -1,5 +1,5 @@
-import { FunctionComponent } from "react";
import { Box, BoxProps } from "@mui/material";
+import { FunctionComponent } from "react";
interface AvatarProps extends BoxProps {
title?: string;
diff --git a/packages/hash/design-system/src/button.tsx b/packages/hash/design-system/src/button.tsx
index 44d06221ad5..45aae9f8015 100644
--- a/packages/hash/design-system/src/button.tsx
+++ b/packages/hash/design-system/src/button.tsx
@@ -11,6 +11,7 @@ import {
ReactNode,
useMemo,
} from "react";
+
import { LoadingSpinner } from "./loading-spinner";
export type ButtonProps = {
diff --git a/packages/hash/design-system/src/chip-group.tsx b/packages/hash/design-system/src/chip-group.tsx
index accb08a55e4..3f8c0e5ff51 100644
--- a/packages/hash/design-system/src/chip-group.tsx
+++ b/packages/hash/design-system/src/chip-group.tsx
@@ -1,5 +1,5 @@
+import { Box, BoxProps, chipClasses } from "@mui/material";
import { Children, forwardRef, FunctionComponent, ReactNode } from "react";
-import { Box, chipClasses, BoxProps } from "@mui/material";
type ChipGroupProps = {
children: ReactNode;
diff --git a/packages/hash/design-system/src/chip.tsx b/packages/hash/design-system/src/chip.tsx
index cc5d7aa531a..3b9f858321c 100644
--- a/packages/hash/design-system/src/chip.tsx
+++ b/packages/hash/design-system/src/chip.tsx
@@ -1,10 +1,11 @@
+import { faCircle } from "@fortawesome/free-solid-svg-icons";
import {
Chip as MuiChip,
chipClasses,
ChipProps as MuiChipProps,
} from "@mui/material";
-import { faCircle } from "@fortawesome/free-solid-svg-icons";
import { forwardRef, FunctionComponent } from "react";
+
import { FontAwesomeIcon } from "./fontawesome-icon";
export type ChipProps = {
diff --git a/packages/hash/design-system/src/fontawesome-icon.tsx b/packages/hash/design-system/src/fontawesome-icon.tsx
index 2a1c0fabb98..028cbb2c30b 100644
--- a/packages/hash/design-system/src/fontawesome-icon.tsx
+++ b/packages/hash/design-system/src/fontawesome-icon.tsx
@@ -1,7 +1,7 @@
+import { IconDefinition } from "@fortawesome/free-solid-svg-icons";
+import { SvgIcon, SvgIconProps } from "@mui/material";
import clsx from "clsx";
import { forwardRef } from "react";
-import { SvgIcon, SvgIconProps } from "@mui/material";
-import { IconDefinition } from "@fortawesome/free-solid-svg-icons";
type FontAwesomeIconProps = {
icon: Pick;
diff --git a/packages/hash/design-system/src/form-inline.tsx b/packages/hash/design-system/src/form-inline.tsx
index 54648d377e7..6040e8c964a 100644
--- a/packages/hash/design-system/src/form-inline.tsx
+++ b/packages/hash/design-system/src/form-inline.tsx
@@ -1,5 +1,5 @@
-import { FunctionComponent, ReactNode } from "react";
import { Box, buttonClasses, outlinedInputClasses } from "@mui/material";
+import { FunctionComponent, ReactNode } from "react";
type FormInlineProps = {
children?: ReactNode;
diff --git a/packages/hash/design-system/src/menu-checkbox-item.tsx b/packages/hash/design-system/src/menu-checkbox-item.tsx
index 9366b0040ed..307902e7908 100644
--- a/packages/hash/design-system/src/menu-checkbox-item.tsx
+++ b/packages/hash/design-system/src/menu-checkbox-item.tsx
@@ -1,5 +1,6 @@
import { Checkbox, ListItemIcon } from "@mui/material";
import { forwardRef, ForwardRefRenderFunction, ReactNode } from "react";
+
import { MenuItem, MenuItemProps } from "./menu-item";
export type MenuCheckboxItemProps = {
diff --git a/packages/hash/design-system/src/select.tsx b/packages/hash/design-system/src/select.tsx
index 2d8523b1296..96875db457a 100644
--- a/packages/hash/design-system/src/select.tsx
+++ b/packages/hash/design-system/src/select.tsx
@@ -10,7 +10,8 @@ import {
SelectProps as MuiSelectProps,
Typography,
} from "@mui/material";
-import { forwardRef, ReactNode, Ref, ReactElement } from "react";
+import { forwardRef, ReactElement, ReactNode, Ref } from "react";
+
import { FontAwesomeIcon } from "./fontawesome-icon";
export type SelectProps = {
diff --git a/packages/hash/design-system/src/stories/header.stories.ts b/packages/hash/design-system/src/stories/header.stories.ts
index 528c05c47d6..33436b37e95 100644
--- a/packages/hash/design-system/src/stories/header.stories.ts
+++ b/packages/hash/design-system/src/stories/header.stories.ts
@@ -1,4 +1,5 @@
import type { Meta, StoryObj } from "@storybook/react";
+
import { Header } from "./header";
const meta = {
diff --git a/packages/hash/design-system/src/stories/header.tsx b/packages/hash/design-system/src/stories/header.tsx
index cf7c3d16533..b102eca2e1b 100644
--- a/packages/hash/design-system/src/stories/header.tsx
+++ b/packages/hash/design-system/src/stories/header.tsx
@@ -1,6 +1,7 @@
-import { Button } from "./button";
import "./header.css";
+import { Button } from "./button";
+
type User = {
name: string;
};
diff --git a/packages/hash/design-system/src/stories/page.stories.ts b/packages/hash/design-system/src/stories/page.stories.ts
index 08a6381d0ad..2308b737a0b 100644
--- a/packages/hash/design-system/src/stories/page.stories.ts
+++ b/packages/hash/design-system/src/stories/page.stories.ts
@@ -1,5 +1,5 @@
import type { Meta, StoryObj } from "@storybook/react";
-import { within, userEvent } from "@storybook/testing-library";
+import { userEvent, within } from "@storybook/testing-library";
import { Page } from "./page";
diff --git a/packages/hash/design-system/src/stories/page.tsx b/packages/hash/design-system/src/stories/page.tsx
index c9fefb4e8aa..f09b5e65960 100644
--- a/packages/hash/design-system/src/stories/page.tsx
+++ b/packages/hash/design-system/src/stories/page.tsx
@@ -1,6 +1,8 @@
+import "./page.css";
+
import { FunctionComponent, useState } from "react";
+
import { Header } from "./header";
-import "./page.css";
type User = {
name: string;
diff --git a/packages/hash/design-system/src/submit-button-wrapper.tsx b/packages/hash/design-system/src/submit-button-wrapper.tsx
index 73d5899da81..b3aee4be88b 100644
--- a/packages/hash/design-system/src/submit-button-wrapper.tsx
+++ b/packages/hash/design-system/src/submit-button-wrapper.tsx
@@ -5,14 +5,15 @@ import {
import {
Box,
BoxProps,
- Typography,
+ Collapse,
+ styled,
Tooltip,
tooltipClasses,
TooltipProps,
- styled,
- Collapse,
+ Typography,
} from "@mui/material";
import { forwardRef, FunctionComponent } from "react";
+
import { FontAwesomeIcon } from "./fontawesome-icon";
const DisabledTooltip = styled(({ className, ...props }: TooltipProps) => (
diff --git a/packages/hash/design-system/src/text-field.tsx b/packages/hash/design-system/src/text-field.tsx
index 43d1a6c7539..d5e79a3a87f 100644
--- a/packages/hash/design-system/src/text-field.tsx
+++ b/packages/hash/design-system/src/text-field.tsx
@@ -14,6 +14,7 @@ import {
Typography,
} from "@mui/material";
import { forwardRef, FunctionComponent, useState } from "react";
+
import { FontAwesomeIcon } from "./fontawesome-icon";
type TextFieldProps = {
diff --git a/packages/hash/design-system/src/theme.ts b/packages/hash/design-system/src/theme.ts
index edf93b120f4..2e6085c76b1 100644
--- a/packages/hash/design-system/src/theme.ts
+++ b/packages/hash/design-system/src/theme.ts
@@ -1,11 +1,11 @@
-import { createTheme, ThemeOptions } from "@mui/material";
import createCache from "@emotion/cache";
+import { createTheme, ThemeOptions } from "@mui/material";
-import { palette } from "./theme/palette";
-import { typography } from "./theme/typography";
-import { shadows, boxShadows, dropShadows } from "./theme/shadows";
import { borderRadii } from "./theme/border-radii";
import { components } from "./theme/components";
+import { palette } from "./theme/palette";
+import { boxShadows, dropShadows, shadows } from "./theme/shadows";
+import { typography } from "./theme/typography";
export const theme = createTheme({
palette,
diff --git a/packages/hash/design-system/src/theme/components.ts b/packages/hash/design-system/src/theme/components.ts
index 216ac027a27..581d3b0d2ed 100644
--- a/packages/hash/design-system/src/theme/components.ts
+++ b/packages/hash/design-system/src/theme/components.ts
@@ -1,29 +1,30 @@
import { Components, Theme } from "@mui/material";
-import { MuiChipThemeOptions } from "./components/data-display/mui-chip-theme-options";
+
import {
MuiIconButtonThemeOptions,
MuiListItemButtonThemeOptions,
+ MuiListItemSecondaryActionThemeOptions,
MuiListItemTextThemeOptions,
MuiTooltipThemeOptions,
- MuiListItemSecondaryActionThemeOptions,
} from "./components/data-display";
-import {
- MuiDrawerThemeOptions,
- MuiMenuThemeOptions,
- MuiMenuItemThemeOptions,
-} from "./components/navigation";
+import { MuiChipThemeOptions } from "./components/data-display/mui-chip-theme-options";
+import { MuiSkeletonThemeOptions } from "./components/feedback/mui-skeleton-theme-options";
import {
MuiButtonThemeOptions,
- MuiOutlinedInputThemeOptions,
- MuiRadioThemeOptions,
MuiCheckboxThemeOptions,
+ MuiFormHelperTextThemeOptions,
MuiInputLabelThemeOptions,
+ MuiOutlinedInputThemeOptions,
+ MuiRadioThemeOptions,
MuiSwitchThemeOptions,
- MuiFormHelperTextThemeOptions,
} from "./components/inputs";
-import { MuiCssBaselineThemeOptions } from "./components/utils";
import { MuiSelectThemeOptions } from "./components/inputs/mui-select-theme-options";
-import { MuiSkeletonThemeOptions } from "./components/feedback/mui-skeleton-theme-options";
+import {
+ MuiDrawerThemeOptions,
+ MuiMenuItemThemeOptions,
+ MuiMenuThemeOptions,
+} from "./components/navigation";
+import { MuiCssBaselineThemeOptions } from "./components/utils";
export const components: Components = {
/** ===== INPUTS ===== */
diff --git a/packages/hash/design-system/src/theme/components/data-display.ts b/packages/hash/design-system/src/theme/components/data-display.ts
index 25cd7b017cb..510a6dedd5c 100644
--- a/packages/hash/design-system/src/theme/components/data-display.ts
+++ b/packages/hash/design-system/src/theme/components/data-display.ts
@@ -1,6 +1,6 @@
export * from "./data-display/mui-icon-button-theme-options";
export * from "./data-display/mui-list-item-button-theme-options";
-export * from "./data-display/mui-list-item-text-theme-options";
export * from "./data-display/mui-list-item-secondary-action-theme-options";
+export * from "./data-display/mui-list-item-text-theme-options";
export * from "./data-display/mui-tooltip-theme-options";
export * from "./data-display/mui-typography-theme-options";
diff --git a/packages/hash/design-system/src/theme/components/data-display/mui-chip-theme-options.tsx b/packages/hash/design-system/src/theme/components/data-display/mui-chip-theme-options.tsx
index ad6a4a4123d..e6507a30825 100644
--- a/packages/hash/design-system/src/theme/components/data-display/mui-chip-theme-options.tsx
+++ b/packages/hash/design-system/src/theme/components/data-display/mui-chip-theme-options.tsx
@@ -1,5 +1,6 @@
import { faClose } from "@fortawesome/free-solid-svg-icons";
import { Box, ChipProps, Components, PaletteValue, Theme } from "@mui/material";
+
import { FontAwesomeIcon } from "../../../fontawesome-icon";
const getColors = (
diff --git a/packages/hash/design-system/src/theme/components/data-display/mui-typography-theme-options.ts b/packages/hash/design-system/src/theme/components/data-display/mui-typography-theme-options.ts
index 728a8aee479..e95b2b41209 100644
--- a/packages/hash/design-system/src/theme/components/data-display/mui-typography-theme-options.ts
+++ b/packages/hash/design-system/src/theme/components/data-display/mui-typography-theme-options.ts
@@ -1,4 +1,5 @@
import { Components, Theme } from "@mui/material";
+
import { customColors } from "../../palette";
export const MuiTypographyThemeOptions: Components["MuiTypography"] = {
diff --git a/packages/hash/design-system/src/theme/components/inputs.ts b/packages/hash/design-system/src/theme/components/inputs.ts
index b0f6bcaca02..015e2173cd4 100644
--- a/packages/hash/design-system/src/theme/components/inputs.ts
+++ b/packages/hash/design-system/src/theme/components/inputs.ts
@@ -1,7 +1,7 @@
export * from "./inputs/mui-button-theme-options";
-export * from "./inputs/mui-outlined-input-theme-options";
export * from "./inputs/mui-checkbox-theme-options";
+export * from "./inputs/mui-form-helper-text-theme-options";
export * from "./inputs/mui-input-label-theme-options";
+export * from "./inputs/mui-outlined-input-theme-options";
export * from "./inputs/mui-radio-theme-options";
export * from "./inputs/mui-switch-theme-options";
-export * from "./inputs/mui-form-helper-text-theme-options";
diff --git a/packages/hash/design-system/src/theme/components/inputs/mui-button-theme-options.ts b/packages/hash/design-system/src/theme/components/inputs/mui-button-theme-options.ts
index 0a632afcc33..dd0bb5e1d83 100644
--- a/packages/hash/design-system/src/theme/components/inputs/mui-button-theme-options.ts
+++ b/packages/hash/design-system/src/theme/components/inputs/mui-button-theme-options.ts
@@ -1,4 +1,4 @@
-import { Components, CSSObject, Theme, buttonClasses } from "@mui/material";
+import { buttonClasses, Components, CSSObject, Theme } from "@mui/material";
const buttonFocusBorderOffset = { md: 4, lg: 6 };
const buttonFocusBorderWidth = { md: 2, lg: 3 };
diff --git a/packages/hash/design-system/src/theme/components/inputs/mui-checkbox-theme-options.tsx b/packages/hash/design-system/src/theme/components/inputs/mui-checkbox-theme-options.tsx
index 55be6ff82e3..92dc2d9b60b 100644
--- a/packages/hash/design-system/src/theme/components/inputs/mui-checkbox-theme-options.tsx
+++ b/packages/hash/design-system/src/theme/components/inputs/mui-checkbox-theme-options.tsx
@@ -1,4 +1,5 @@
-import { Components, Theme, svgIconClasses } from "@mui/material";
+import { Components, svgIconClasses, Theme } from "@mui/material";
+
import { CheckboxBlankIcon } from "./mui-checkbox-theme-options/checkbox-blank-icon";
import { CheckboxIcon } from "./mui-checkbox-theme-options/checkbox-icon";
diff --git a/packages/hash/design-system/src/theme/components/inputs/mui-checkbox-theme-options/checkbox-blank-icon.tsx b/packages/hash/design-system/src/theme/components/inputs/mui-checkbox-theme-options/checkbox-blank-icon.tsx
index 2cb7dbc7e7e..3cc27579ecb 100644
--- a/packages/hash/design-system/src/theme/components/inputs/mui-checkbox-theme-options/checkbox-blank-icon.tsx
+++ b/packages/hash/design-system/src/theme/components/inputs/mui-checkbox-theme-options/checkbox-blank-icon.tsx
@@ -1,5 +1,5 @@
-import { FunctionComponent } from "react";
import { SvgIcon, SvgIconProps } from "@mui/material";
+import { FunctionComponent } from "react";
export const CheckboxBlankIcon: FunctionComponent = ({
sx = [],
diff --git a/packages/hash/design-system/src/theme/components/inputs/mui-checkbox-theme-options/checkbox-icon.tsx b/packages/hash/design-system/src/theme/components/inputs/mui-checkbox-theme-options/checkbox-icon.tsx
index 68f6cb2720d..22a884c69a6 100644
--- a/packages/hash/design-system/src/theme/components/inputs/mui-checkbox-theme-options/checkbox-icon.tsx
+++ b/packages/hash/design-system/src/theme/components/inputs/mui-checkbox-theme-options/checkbox-icon.tsx
@@ -1,5 +1,5 @@
-import { FunctionComponent } from "react";
import { SvgIcon, SvgIconProps } from "@mui/material";
+import { FunctionComponent } from "react";
export const CheckboxIcon: FunctionComponent = ({
sx = [],
diff --git a/packages/hash/design-system/src/theme/components/inputs/mui-outlined-input-theme-options.ts b/packages/hash/design-system/src/theme/components/inputs/mui-outlined-input-theme-options.ts
index fd611f774fa..c60a5ed8672 100644
--- a/packages/hash/design-system/src/theme/components/inputs/mui-outlined-input-theme-options.ts
+++ b/packages/hash/design-system/src/theme/components/inputs/mui-outlined-input-theme-options.ts
@@ -1,8 +1,8 @@
import {
Components,
- Theme,
- outlinedInputClasses,
inputAdornmentClasses,
+ outlinedInputClasses,
+ Theme,
} from "@mui/material";
export const textFieldBorderRadius = 6;
diff --git a/packages/hash/design-system/src/theme/components/inputs/mui-radio-theme-options.tsx b/packages/hash/design-system/src/theme/components/inputs/mui-radio-theme-options.tsx
index ecb7ab8ff65..ff9c8010e74 100644
--- a/packages/hash/design-system/src/theme/components/inputs/mui-radio-theme-options.tsx
+++ b/packages/hash/design-system/src/theme/components/inputs/mui-radio-theme-options.tsx
@@ -1,4 +1,5 @@
import { Components, Theme } from "@mui/material";
+
import { RadioCheckedIcon } from "./mui-radio-theme-options/radio-checked-icon";
import { RadioUncheckedIcon } from "./mui-radio-theme-options/radio-unchecked-icon";
diff --git a/packages/hash/design-system/src/theme/components/inputs/mui-radio-theme-options/radio-checked-icon.tsx b/packages/hash/design-system/src/theme/components/inputs/mui-radio-theme-options/radio-checked-icon.tsx
index dcaf86e3ab6..279e10da624 100644
--- a/packages/hash/design-system/src/theme/components/inputs/mui-radio-theme-options/radio-checked-icon.tsx
+++ b/packages/hash/design-system/src/theme/components/inputs/mui-radio-theme-options/radio-checked-icon.tsx
@@ -1,5 +1,5 @@
-import { FunctionComponent } from "react";
import { SvgIcon, SvgIconProps } from "@mui/material";
+import { FunctionComponent } from "react";
export const RadioCheckedIcon: FunctionComponent = ({
sx = [],
diff --git a/packages/hash/design-system/src/theme/components/inputs/mui-radio-theme-options/radio-unchecked-icon.tsx b/packages/hash/design-system/src/theme/components/inputs/mui-radio-theme-options/radio-unchecked-icon.tsx
index 1c59623d178..b7b4244bbb4 100644
--- a/packages/hash/design-system/src/theme/components/inputs/mui-radio-theme-options/radio-unchecked-icon.tsx
+++ b/packages/hash/design-system/src/theme/components/inputs/mui-radio-theme-options/radio-unchecked-icon.tsx
@@ -1,5 +1,5 @@
-import { FunctionComponent } from "react";
import { SvgIcon, SvgIconProps } from "@mui/material";
+import { FunctionComponent } from "react";
export const RadioUncheckedIcon: FunctionComponent = ({
sx = [],
diff --git a/packages/hash/design-system/src/theme/components/inputs/mui-select-theme-options.tsx b/packages/hash/design-system/src/theme/components/inputs/mui-select-theme-options.tsx
index e4b874b7b93..55254865d8b 100644
--- a/packages/hash/design-system/src/theme/components/inputs/mui-select-theme-options.tsx
+++ b/packages/hash/design-system/src/theme/components/inputs/mui-select-theme-options.tsx
@@ -8,6 +8,7 @@ import {
outlinedInputClasses,
Theme,
} from "@mui/material";
+
import { FontAwesomeIcon } from "../../../fontawesome-icon";
export const MuiSelectThemeOptions: Components["MuiSelect"] = {
diff --git a/packages/hash/design-system/src/theme/components/inputs/mui-switch-theme-options.ts b/packages/hash/design-system/src/theme/components/inputs/mui-switch-theme-options.ts
index 0fa3d0fa65c..fcb73180f56 100644
--- a/packages/hash/design-system/src/theme/components/inputs/mui-switch-theme-options.ts
+++ b/packages/hash/design-system/src/theme/components/inputs/mui-switch-theme-options.ts
@@ -1,4 +1,4 @@
-import { Components, Theme, switchClasses } from "@mui/material";
+import { Components, switchClasses, Theme } from "@mui/material";
const focusBorderOffset = 4;
const focusBorderWidth = 2;
diff --git a/packages/hash/design-system/src/theme/components/navigation/mui-menu-item-theme-options.ts b/packages/hash/design-system/src/theme/components/navigation/mui-menu-item-theme-options.ts
index 2b33b350894..9a684906bbb 100644
--- a/packages/hash/design-system/src/theme/components/navigation/mui-menu-item-theme-options.ts
+++ b/packages/hash/design-system/src/theme/components/navigation/mui-menu-item-theme-options.ts
@@ -1,11 +1,11 @@
import {
Components,
- Theme,
- menuItemClasses,
- listItemTextClasses,
- listItemIconClasses,
listItemAvatarClasses,
+ listItemIconClasses,
listItemSecondaryActionClasses,
+ listItemTextClasses,
+ menuItemClasses,
+ Theme,
} from "@mui/material";
export const MuiMenuItemThemeOptions: Components["MuiMenuItem"] = {
diff --git a/packages/hash/design-system/src/ui.ts b/packages/hash/design-system/src/ui.ts
index df8df61d15b..277eb7cc09e 100644
--- a/packages/hash/design-system/src/ui.ts
+++ b/packages/hash/design-system/src/ui.ts
@@ -2,17 +2,16 @@ import "./theme-override.d";
export * from "./avatar";
export * from "./button";
-export * from "./icon-button";
-export * from "./loading-spinner";
-export * from "./submit-button-wrapper";
-export * from "./text-field";
-export * from "./form-inline";
export * from "./chip";
export * from "./chip-group";
-export * from "./menu-item";
+export * from "./fontawesome-icon";
+export * from "./form-inline";
+export * from "./icon-button";
+export * from "./loading-spinner";
export * from "./menu-checkbox-item";
+export * from "./menu-item";
export * from "./select";
-export * from "./fontawesome-icon";
-
+export * from "./submit-button-wrapper";
+export * from "./text-field";
export * from "./theme";
export * from "./use-scroll-lock";
diff --git a/packages/hash/integration/jest.config.cjs b/packages/hash/integration/jest.config.cjs
index 950927b691a..400f5e08a3d 100644
--- a/packages/hash/integration/jest.config.cjs
+++ b/packages/hash/integration/jest.config.cjs
@@ -14,6 +14,7 @@ module.exports = {
"@hashintel/hash-subgraph(.*)": "/../subgraph$1",
"@hashintel/hash-graph-client": "/../../graph/clients/typescript",
},
+ setupFiles: ["@hashintel/hash-backend-utils/environment"],
testMatch: [
"/src/tests/model/knowledge/**",
"/src/tests/graph/**",
diff --git a/packages/hash/integration/src/tests/email.test.ts b/packages/hash/integration/src/tests/email.test.ts
index f1560a0864e..5f8722b95ed 100644
--- a/packages/hash/integration/src/tests/email.test.ts
+++ b/packages/hash/integration/src/tests/email.test.ts
@@ -1,4 +1,5 @@
import "./load-test-env";
+
import { AwsSesEmailTransporter } from "@hashintel/hash-api/src/email/transporters";
import { getAwsRegion } from "@hashintel/hash-api/src/lib/aws-config";
import { getRequiredEnv } from "@hashintel/hash-backend-utils/environment";
diff --git a/packages/hash/integration/src/tests/graph/knowledge/primitive/entity.test.ts b/packages/hash/integration/src/tests/graph/knowledge/primitive/entity.test.ts
index 5cffedcbe6f..2bd967dcf3b 100644
--- a/packages/hash/integration/src/tests/graph/knowledge/primitive/entity.test.ts
+++ b/packages/hash/integration/src/tests/graph/knowledge/primitive/entity.test.ts
@@ -1,39 +1,39 @@
-import { getRequiredEnv } from "@hashintel/hash-backend-utils/environment";
+import { TypeSystemInitializer } from "@blockprotocol/type-system";
import {
createGraphClient,
ensureSystemGraphIsInitialized,
ImpureGraphContext,
zeroedGraphResolveDepths,
} from "@hashintel/hash-api/src/graph";
-import { Logger } from "@hashintel/hash-backend-utils/logger";
-
+import {
+ createEntity,
+ createEntityWithLinks,
+ getEntityOutgoingLinks,
+ getLatestEntityById,
+ updateEntity,
+} from "@hashintel/hash-api/src/graph/knowledge/primitive/entity";
+import { getLinkEntityRightEntity } from "@hashintel/hash-api/src/graph/knowledge/primitive/link-entity";
+import { User } from "@hashintel/hash-api/src/graph/knowledge/system-types/user";
import { createDataType } from "@hashintel/hash-api/src/graph/ontology/primitive/data-type";
+import { createEntityType } from "@hashintel/hash-api/src/graph/ontology/primitive/entity-type";
+import { createPropertyType } from "@hashintel/hash-api/src/graph/ontology/primitive/property-type";
import { generateSystemEntityTypeSchema } from "@hashintel/hash-api/src/graph/util";
+import { getRequiredEnv } from "@hashintel/hash-backend-utils/environment";
+import { Logger } from "@hashintel/hash-backend-utils/logger";
import { generateTypeId } from "@hashintel/hash-shared/ontology-types";
-import { TypeSystemInitializer } from "@blockprotocol/type-system";
+import { EntityId, OwnedById } from "@hashintel/hash-shared/types";
import {
- Entity,
DataTypeWithMetadata,
+ Entity,
EntityTypeWithMetadata,
+ extractOwnedByIdFromEntityId,
+ linkEntityTypeUri,
PropertyTypeWithMetadata,
Subgraph,
SubgraphRootTypes,
- extractOwnedByIdFromEntityId,
- linkEntityTypeUri,
} from "@hashintel/hash-subgraph";
-import { createPropertyType } from "@hashintel/hash-api/src/graph/ontology/primitive/property-type";
-import { createEntityType } from "@hashintel/hash-api/src/graph/ontology/primitive/entity-type";
import { getRootsAsEntities } from "@hashintel/hash-subgraph/src/stdlib/element/entity";
-import {
- createEntity,
- createEntityWithLinks,
- getEntityOutgoingLinks,
- getLatestEntityById,
- updateEntity,
-} from "@hashintel/hash-api/src/graph/knowledge/primitive/entity";
-import { User } from "@hashintel/hash-api/src/graph/knowledge/system-types/user";
-import { getLinkEntityRightEntity } from "@hashintel/hash-api/src/graph/knowledge/primitive/link-entity";
-import { EntityId, OwnedById } from "@hashintel/hash-shared/types";
+
import { createTestUser } from "../../../util";
jest.setTimeout(60000);
diff --git a/packages/hash/integration/src/tests/graph/knowledge/primitive/link-entity.test.ts b/packages/hash/integration/src/tests/graph/knowledge/primitive/link-entity.test.ts
index 048c8b9a3a6..8af0932f3ef 100644
--- a/packages/hash/integration/src/tests/graph/knowledge/primitive/link-entity.test.ts
+++ b/packages/hash/integration/src/tests/graph/knowledge/primitive/link-entity.test.ts
@@ -1,25 +1,9 @@
-import { getRequiredEnv } from "@hashintel/hash-backend-utils/environment";
+import { TypeSystemInitializer } from "@blockprotocol/type-system";
import {
createGraphClient,
ensureSystemGraphIsInitialized,
ImpureGraphContext,
} from "@hashintel/hash-api/src/graph";
-import { Logger } from "@hashintel/hash-backend-utils/logger";
-
-import {
- EntityTypeCreatorParams,
- generateSystemEntityTypeSchema,
-} from "@hashintel/hash-api/src/graph/util";
-
-import { generateTypeId } from "@hashintel/hash-shared/ontology-types";
-import { TypeSystemInitializer } from "@blockprotocol/type-system";
-import {
- Entity,
- EntityTypeWithMetadata,
- linkEntityTypeUri,
-} from "@hashintel/hash-subgraph";
-import { createEntityType } from "@hashintel/hash-api/src/graph/ontology/primitive/entity-type";
-import { User } from "@hashintel/hash-api/src/graph/knowledge/system-types/user";
import {
archiveEntity,
createEntity,
@@ -31,7 +15,22 @@ import {
getLinkEntityRightEntity,
LinkEntity,
} from "@hashintel/hash-api/src/graph/knowledge/primitive/link-entity";
+import { User } from "@hashintel/hash-api/src/graph/knowledge/system-types/user";
+import { createEntityType } from "@hashintel/hash-api/src/graph/ontology/primitive/entity-type";
+import {
+ EntityTypeCreatorParams,
+ generateSystemEntityTypeSchema,
+} from "@hashintel/hash-api/src/graph/util";
+import { getRequiredEnv } from "@hashintel/hash-backend-utils/environment";
+import { Logger } from "@hashintel/hash-backend-utils/logger";
+import { generateTypeId } from "@hashintel/hash-shared/ontology-types";
import { OwnedById } from "@hashintel/hash-shared/types";
+import {
+ Entity,
+ EntityTypeWithMetadata,
+ linkEntityTypeUri,
+} from "@hashintel/hash-subgraph";
+
import { createTestUser } from "../../../util";
jest.setTimeout(60000);
diff --git a/packages/hash/integration/src/tests/graph/knowledge/system-types/block.test.ts b/packages/hash/integration/src/tests/graph/knowledge/system-types/block.test.ts
index cbc2e2feadf..ec7c3b8858e 100644
--- a/packages/hash/integration/src/tests/graph/knowledge/system-types/block.test.ts
+++ b/packages/hash/integration/src/tests/graph/knowledge/system-types/block.test.ts
@@ -1,16 +1,10 @@
-import { getRequiredEnv } from "@hashintel/hash-backend-utils/environment";
+import { TypeSystemInitializer } from "@blockprotocol/type-system";
import {
createGraphClient,
ensureSystemGraphIsInitialized,
ImpureGraphContext,
} from "@hashintel/hash-api/src/graph";
-import { generateSystemEntityTypeSchema } from "@hashintel/hash-api/src/graph/util";
-import { Logger } from "@hashintel/hash-backend-utils/logger";
-import { generateTypeId } from "@hashintel/hash-shared/ontology-types";
-import { TypeSystemInitializer } from "@blockprotocol/type-system";
-import { Entity, EntityTypeWithMetadata } from "@hashintel/hash-subgraph";
-import { createEntityType } from "@hashintel/hash-api/src/graph/ontology/primitive/entity-type";
-import { User } from "@hashintel/hash-api/src/graph/knowledge/system-types/user";
+import { createEntity } from "@hashintel/hash-api/src/graph/knowledge/primitive/entity";
import {
Block,
createBlock,
@@ -18,8 +12,15 @@ import {
getBlockData,
updateBlockDataEntity,
} from "@hashintel/hash-api/src/graph/knowledge/system-types/block";
-import { createEntity } from "@hashintel/hash-api/src/graph/knowledge/primitive/entity";
+import { User } from "@hashintel/hash-api/src/graph/knowledge/system-types/user";
+import { createEntityType } from "@hashintel/hash-api/src/graph/ontology/primitive/entity-type";
+import { generateSystemEntityTypeSchema } from "@hashintel/hash-api/src/graph/util";
+import { getRequiredEnv } from "@hashintel/hash-backend-utils/environment";
+import { Logger } from "@hashintel/hash-backend-utils/logger";
+import { generateTypeId } from "@hashintel/hash-shared/ontology-types";
import { OwnedById } from "@hashintel/hash-shared/types";
+import { Entity, EntityTypeWithMetadata } from "@hashintel/hash-subgraph";
+
import { createTestUser } from "../../../util";
jest.setTimeout(60000);
diff --git a/packages/hash/integration/src/tests/graph/knowledge/system-types/comment.test.ts b/packages/hash/integration/src/tests/graph/knowledge/system-types/comment.test.ts
index 7497a7253b9..9ddd895bad7 100644
--- a/packages/hash/integration/src/tests/graph/knowledge/system-types/comment.test.ts
+++ b/packages/hash/integration/src/tests/graph/knowledge/system-types/comment.test.ts
@@ -1,17 +1,13 @@
-import { getRequiredEnv } from "@hashintel/hash-backend-utils/environment";
+import { TypeSystemInitializer } from "@blockprotocol/type-system";
import {
createGraphClient,
ensureSystemGraphIsInitialized,
ImpureGraphContext,
} from "@hashintel/hash-api/src/graph";
-import { SYSTEM_TYPES } from "@hashintel/hash-api/src/graph/system-types";
-import { Logger } from "@hashintel/hash-backend-utils/logger";
-import { TypeSystemInitializer } from "@blockprotocol/type-system";
-import { User } from "@hashintel/hash-api/src/graph/knowledge/system-types/user";
import { createEntity } from "@hashintel/hash-api/src/graph/knowledge/primitive/entity";
import {
- createBlock,
Block,
+ createBlock,
} from "@hashintel/hash-api/src/graph/knowledge/system-types/block";
import {
createComment,
@@ -19,7 +15,12 @@ import {
getCommentParent,
getCommentText,
} from "@hashintel/hash-api/src/graph/knowledge/system-types/comment";
+import { User } from "@hashintel/hash-api/src/graph/knowledge/system-types/user";
+import { SYSTEM_TYPES } from "@hashintel/hash-api/src/graph/system-types";
+import { getRequiredEnv } from "@hashintel/hash-backend-utils/environment";
+import { Logger } from "@hashintel/hash-backend-utils/logger";
import { OwnedById } from "@hashintel/hash-shared/types";
+
import { createTestUser } from "../../../util";
jest.setTimeout(60000);
diff --git a/packages/hash/integration/src/tests/graph/knowledge/system-types/hash-instance.test.ts b/packages/hash/integration/src/tests/graph/knowledge/system-types/hash-instance.test.ts
index 8551a7f8bd9..70ef0d98102 100644
--- a/packages/hash/integration/src/tests/graph/knowledge/system-types/hash-instance.test.ts
+++ b/packages/hash/integration/src/tests/graph/knowledge/system-types/hash-instance.test.ts
@@ -1,13 +1,11 @@
-import { getRequiredEnv } from "@hashintel/hash-backend-utils/environment";
+import { TypeSystemInitializer } from "@blockprotocol/type-system";
import {
createGraphClient,
ensureSystemGraphIsInitialized,
ImpureGraphContext,
} from "@hashintel/hash-api/src/graph";
-import { SYSTEM_TYPES } from "@hashintel/hash-api/src/graph/system-types";
-import { Logger } from "@hashintel/hash-backend-utils/logger";
-import { systemUserAccountId } from "@hashintel/hash-api/src/graph/system-user";
-import { TypeSystemInitializer } from "@blockprotocol/type-system";
+import { getEntityOutgoingLinks } from "@hashintel/hash-api/src/graph/knowledge/primitive/entity";
+import { getLinkEntityRightEntity } from "@hashintel/hash-api/src/graph/knowledge/primitive/link-entity";
import {
addHashInstanceAdmin,
getHashInstance,
@@ -18,8 +16,11 @@ import {
isUserHashInstanceAdmin,
User,
} from "@hashintel/hash-api/src/graph/knowledge/system-types/user";
-import { getEntityOutgoingLinks } from "@hashintel/hash-api/src/graph/knowledge/primitive/entity";
-import { getLinkEntityRightEntity } from "@hashintel/hash-api/src/graph/knowledge/primitive/link-entity";
+import { SYSTEM_TYPES } from "@hashintel/hash-api/src/graph/system-types";
+import { systemUserAccountId } from "@hashintel/hash-api/src/graph/system-user";
+import { getRequiredEnv } from "@hashintel/hash-backend-utils/environment";
+import { Logger } from "@hashintel/hash-backend-utils/logger";
+
import { createTestUser } from "../../../util";
jest.setTimeout(60000);
diff --git a/packages/hash/integration/src/tests/graph/knowledge/system-types/org.test.ts b/packages/hash/integration/src/tests/graph/knowledge/system-types/org.test.ts
index 07dea99252d..fff43ca36df 100644
--- a/packages/hash/integration/src/tests/graph/knowledge/system-types/org.test.ts
+++ b/packages/hash/integration/src/tests/graph/knowledge/system-types/org.test.ts
@@ -1,18 +1,19 @@
-import { getRequiredEnv } from "@hashintel/hash-backend-utils/environment";
+import { TypeSystemInitializer } from "@blockprotocol/type-system";
import {
createGraphClient,
ensureSystemGraphIsInitialized,
ImpureGraphContext,
} from "@hashintel/hash-api/src/graph";
-import { Logger } from "@hashintel/hash-backend-utils/logger";
-import { TypeSystemInitializer } from "@blockprotocol/type-system";
-import { systemUserAccountId } from "@hashintel/hash-api/src/graph/system-user";
import {
getOrgByShortname,
Org,
updateOrgName,
updateOrgShortname,
} from "@hashintel/hash-api/src/graph/knowledge/system-types/org";
+import { systemUserAccountId } from "@hashintel/hash-api/src/graph/system-user";
+import { getRequiredEnv } from "@hashintel/hash-backend-utils/environment";
+import { Logger } from "@hashintel/hash-backend-utils/logger";
+
import { createTestOrg, generateRandomShortname } from "../../../util";
jest.setTimeout(60000);
diff --git a/packages/hash/integration/src/tests/graph/knowledge/system-types/page.test.ts b/packages/hash/integration/src/tests/graph/knowledge/system-types/page.test.ts
index ea98f579415..5c6dcc0027e 100644
--- a/packages/hash/integration/src/tests/graph/knowledge/system-types/page.test.ts
+++ b/packages/hash/integration/src/tests/graph/knowledge/system-types/page.test.ts
@@ -1,31 +1,32 @@
-import { getRequiredEnv } from "@hashintel/hash-backend-utils/environment";
+import { TypeSystemInitializer } from "@blockprotocol/type-system";
import {
createGraphClient,
ensureSystemGraphIsInitialized,
ImpureGraphContext,
} from "@hashintel/hash-api/src/graph";
-import { SYSTEM_TYPES } from "@hashintel/hash-api/src/graph/system-types";
-import { Logger } from "@hashintel/hash-backend-utils/logger";
-import { TypeSystemInitializer } from "@blockprotocol/type-system";
-import { User } from "@hashintel/hash-api/src/graph/knowledge/system-types/user";
import { createEntity } from "@hashintel/hash-api/src/graph/knowledge/primitive/entity";
import {
- Page,
+ Block,
+ createBlock,
+} from "@hashintel/hash-api/src/graph/knowledge/system-types/block";
+import {
+ addBlockToPage,
createPage,
+ getAllPagesInWorkspace,
getPageBlocks,
getPageById,
- getAllPagesInWorkspace,
getPageParentPage,
- setPageParentPage,
- addBlockToPage,
moveBlockInPage,
+ Page,
removeBlockFromPage,
+ setPageParentPage,
} from "@hashintel/hash-api/src/graph/knowledge/system-types/page";
-import {
- Block,
- createBlock,
-} from "@hashintel/hash-api/src/graph/knowledge/system-types/block";
+import { User } from "@hashintel/hash-api/src/graph/knowledge/system-types/user";
+import { SYSTEM_TYPES } from "@hashintel/hash-api/src/graph/system-types";
+import { getRequiredEnv } from "@hashintel/hash-backend-utils/environment";
+import { Logger } from "@hashintel/hash-backend-utils/logger";
import { OwnedById } from "@hashintel/hash-shared/types";
+
import { createTestUser } from "../../../util";
jest.setTimeout(60000);
diff --git a/packages/hash/integration/src/tests/graph/knowledge/system-types/user.test.ts b/packages/hash/integration/src/tests/graph/knowledge/system-types/user.test.ts
index 42f22fffed0..0028bc1d652 100644
--- a/packages/hash/integration/src/tests/graph/knowledge/system-types/user.test.ts
+++ b/packages/hash/integration/src/tests/graph/knowledge/system-types/user.test.ts
@@ -1,16 +1,13 @@
-import { getRequiredEnv } from "@hashintel/hash-backend-utils/environment";
+import { TypeSystemInitializer } from "@blockprotocol/type-system";
+import {
+ createKratosIdentity,
+ kratosIdentityApi,
+} from "@hashintel/hash-api/src/auth/ory-kratos";
import {
createGraphClient,
ensureSystemGraphIsInitialized,
ImpureGraphContext,
} from "@hashintel/hash-api/src/graph";
-import { Logger } from "@hashintel/hash-backend-utils/logger";
-
-import {
- kratosIdentityApi,
- createKratosIdentity,
-} from "@hashintel/hash-api/src/auth/ory-kratos";
-import { systemUserAccountId } from "@hashintel/hash-api/src/graph/system-user";
import {
createUser,
getUserByKratosIdentityId,
@@ -21,9 +18,12 @@ import {
updateUserShortname,
User,
} from "@hashintel/hash-api/src/graph/knowledge/system-types/user";
-import { TypeSystemInitializer } from "@blockprotocol/type-system";
-import { extractEntityUuidFromEntityId } from "@hashintel/hash-subgraph";
+import { systemUserAccountId } from "@hashintel/hash-api/src/graph/system-user";
+import { getRequiredEnv } from "@hashintel/hash-backend-utils/environment";
+import { Logger } from "@hashintel/hash-backend-utils/logger";
import { EntityUuid } from "@hashintel/hash-shared/types";
+import { extractEntityUuidFromEntityId } from "@hashintel/hash-subgraph";
+
import { createTestOrg, generateRandomShortname } from "../../../util";
jest.setTimeout(60000);
diff --git a/packages/hash/integration/src/tests/graph/ontology/primitive/data-type.test.ts b/packages/hash/integration/src/tests/graph/ontology/primitive/data-type.test.ts
index 5bd51e72f72..43dff38bd02 100644
--- a/packages/hash/integration/src/tests/graph/ontology/primitive/data-type.test.ts
+++ b/packages/hash/integration/src/tests/graph/ontology/primitive/data-type.test.ts
@@ -1,20 +1,20 @@
-import { getRequiredEnv } from "@hashintel/hash-backend-utils/environment";
+import { DataType, TypeSystemInitializer } from "@blockprotocol/type-system";
import {
createGraphClient,
ensureSystemGraphIsInitialized,
ImpureGraphContext,
} from "@hashintel/hash-api/src/graph";
-import { Logger } from "@hashintel/hash-backend-utils/logger";
-
-import { DataType, TypeSystemInitializer } from "@blockprotocol/type-system";
+import { User } from "@hashintel/hash-api/src/graph/knowledge/system-types/user";
import {
createDataType,
getDataTypeById,
updateDataType,
} from "@hashintel/hash-api/src/graph/ontology/primitive/data-type";
-import { DataTypeWithMetadata } from "@hashintel/hash-subgraph";
-import { User } from "@hashintel/hash-api/src/graph/knowledge/system-types/user";
+import { getRequiredEnv } from "@hashintel/hash-backend-utils/environment";
+import { Logger } from "@hashintel/hash-backend-utils/logger";
import { OwnedById } from "@hashintel/hash-shared/types";
+import { DataTypeWithMetadata } from "@hashintel/hash-subgraph";
+
import { createTestUser } from "../../../util";
jest.setTimeout(60000);
diff --git a/packages/hash/integration/src/tests/graph/ontology/primitive/entity-type.test.ts b/packages/hash/integration/src/tests/graph/ontology/primitive/entity-type.test.ts
index ee5dd1e1616..e225846b606 100644
--- a/packages/hash/integration/src/tests/graph/ontology/primitive/entity-type.test.ts
+++ b/packages/hash/integration/src/tests/graph/ontology/primitive/entity-type.test.ts
@@ -1,18 +1,10 @@
-import { getRequiredEnv } from "@hashintel/hash-backend-utils/environment";
+import { EntityType, TypeSystemInitializer } from "@blockprotocol/type-system";
import {
createGraphClient,
ensureSystemGraphIsInitialized,
ImpureGraphContext,
} from "@hashintel/hash-api/src/graph";
-import { Logger } from "@hashintel/hash-backend-utils/logger";
-
-import { EntityType, TypeSystemInitializer } from "@blockprotocol/type-system";
-import {
- DataTypeWithMetadata,
- EntityTypeWithMetadata,
- PropertyTypeWithMetadata,
- linkEntityTypeUri,
-} from "@hashintel/hash-subgraph";
+import { User } from "@hashintel/hash-api/src/graph/knowledge/system-types/user";
import { createDataType } from "@hashintel/hash-api/src/graph/ontology/primitive/data-type";
import {
createEntityType,
@@ -20,8 +12,16 @@ import {
updateEntityType,
} from "@hashintel/hash-api/src/graph/ontology/primitive/entity-type";
import { createPropertyType } from "@hashintel/hash-api/src/graph/ontology/primitive/property-type";
-import { User } from "@hashintel/hash-api/src/graph/knowledge/system-types/user";
+import { getRequiredEnv } from "@hashintel/hash-backend-utils/environment";
+import { Logger } from "@hashintel/hash-backend-utils/logger";
import { OwnedById } from "@hashintel/hash-shared/types";
+import {
+ DataTypeWithMetadata,
+ EntityTypeWithMetadata,
+ linkEntityTypeUri,
+ PropertyTypeWithMetadata,
+} from "@hashintel/hash-subgraph";
+
import { createTestUser } from "../../../util";
jest.setTimeout(60000);
diff --git a/packages/hash/integration/src/tests/graph/ontology/primitive/org-membership.test.ts b/packages/hash/integration/src/tests/graph/ontology/primitive/org-membership.test.ts
index 29f2ea9fd4c..2dd1aec7e80 100644
--- a/packages/hash/integration/src/tests/graph/ontology/primitive/org-membership.test.ts
+++ b/packages/hash/integration/src/tests/graph/ontology/primitive/org-membership.test.ts
@@ -1,19 +1,20 @@
-import { getRequiredEnv } from "@hashintel/hash-backend-utils/environment";
+import { TypeSystemInitializer } from "@blockprotocol/type-system";
import {
createGraphClient,
ensureSystemGraphIsInitialized,
ImpureGraphContext,
} from "@hashintel/hash-api/src/graph";
+import { Org } from "@hashintel/hash-api/src/graph/knowledge/system-types/org";
import {
createOrgMembership,
getOrgMembershipOrg,
getOrgMembershipUser,
OrgMembership,
} from "@hashintel/hash-api/src/graph/knowledge/system-types/org-membership";
-import { Logger } from "@hashintel/hash-backend-utils/logger";
-import { TypeSystemInitializer } from "@blockprotocol/type-system";
import { User } from "@hashintel/hash-api/src/graph/knowledge/system-types/user";
-import { Org } from "@hashintel/hash-api/src/graph/knowledge/system-types/org";
+import { getRequiredEnv } from "@hashintel/hash-backend-utils/environment";
+import { Logger } from "@hashintel/hash-backend-utils/logger";
+
import { createTestOrg, createTestUser } from "../../../util";
jest.setTimeout(60000);
diff --git a/packages/hash/integration/src/tests/graph/ontology/primitive/property-type.test.ts b/packages/hash/integration/src/tests/graph/ontology/primitive/property-type.test.ts
index 2dded8c3658..695334abe1c 100644
--- a/packages/hash/integration/src/tests/graph/ontology/primitive/property-type.test.ts
+++ b/packages/hash/integration/src/tests/graph/ontology/primitive/property-type.test.ts
@@ -1,27 +1,27 @@
-import { getRequiredEnv } from "@hashintel/hash-backend-utils/environment";
+import {
+ PropertyType,
+ TypeSystemInitializer,
+} from "@blockprotocol/type-system";
import {
createGraphClient,
ensureSystemGraphIsInitialized,
ImpureGraphContext,
} from "@hashintel/hash-api/src/graph";
-import { Logger } from "@hashintel/hash-backend-utils/logger";
-
-import {
- PropertyType,
- TypeSystemInitializer,
-} from "@blockprotocol/type-system";
+import { User } from "@hashintel/hash-api/src/graph/knowledge/system-types/user";
+import { createDataType } from "@hashintel/hash-api/src/graph/ontology/primitive/data-type";
import {
createPropertyType,
getPropertyTypeById,
updatePropertyType,
} from "@hashintel/hash-api/src/graph/ontology/primitive/property-type";
+import { getRequiredEnv } from "@hashintel/hash-backend-utils/environment";
+import { Logger } from "@hashintel/hash-backend-utils/logger";
+import { OwnedById } from "@hashintel/hash-shared/types";
import {
DataTypeWithMetadata,
PropertyTypeWithMetadata,
} from "@hashintel/hash-subgraph";
-import { createDataType } from "@hashintel/hash-api/src/graph/ontology/primitive/data-type";
-import { User } from "@hashintel/hash-api/src/graph/knowledge/system-types/user";
-import { OwnedById } from "@hashintel/hash-shared/types";
+
import { createTestUser } from "../../../util";
jest.setTimeout(60000);
diff --git a/packages/hash/integration/src/tests/model/aggregation.model.test.ts b/packages/hash/integration/src/tests/model/aggregation.model.test.ts
index 040768ef9f6..4df56067726 100644
--- a/packages/hash/integration/src/tests/model/aggregation.model.test.ts
+++ b/packages/hash/integration/src/tests/model/aggregation.model.test.ts
@@ -2,6 +2,7 @@
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-nocheck
import "../load-test-env";
+
import { PostgresAdapter } from "@hashintel/hash-api/src/db";
import {
Aggregation,
diff --git a/packages/hash/integration/src/tests/setup.ts b/packages/hash/integration/src/tests/setup.ts
index 355dea81d13..0cb4947fb93 100644
--- a/packages/hash/integration/src/tests/setup.ts
+++ b/packages/hash/integration/src/tests/setup.ts
@@ -1,5 +1,5 @@
-import execa from "execa";
import { monorepoRootDir } from "@hashintel/hash-backend-utils/environment";
+import execa from "execa";
export const recreateDbAndRunSchemaMigrations = async () => {
await execa(
diff --git a/packages/hash/integration/src/tests/util.ts b/packages/hash/integration/src/tests/util.ts
index 31f944ef400..c62ccc0343c 100644
--- a/packages/hash/integration/src/tests/util.ts
+++ b/packages/hash/integration/src/tests/util.ts
@@ -4,14 +4,15 @@ import {
GraphApi,
ImpureGraphContext,
} from "@hashintel/hash-api/src/graph";
-import { ensureSystemTypesExist } from "@hashintel/hash-api/src/graph/system-types";
-import { Logger } from "@hashintel/hash-backend-utils/logger";
-import { systemUserAccountId } from "@hashintel/hash-api/src/graph/system-user";
+import { createOrg } from "@hashintel/hash-api/src/graph/knowledge/system-types/org";
import {
createUser,
updateUserShortname,
} from "@hashintel/hash-api/src/graph/knowledge/system-types/user";
-import { createOrg } from "@hashintel/hash-api/src/graph/knowledge/system-types/org";
+import { ensureSystemTypesExist } from "@hashintel/hash-api/src/graph/system-types";
+import { systemUserAccountId } from "@hashintel/hash-api/src/graph/system-user";
+import { Logger } from "@hashintel/hash-backend-utils/logger";
+
import { OrgSize } from "../graphql/api-types.gen";
const randomStringSuffix = () => {
diff --git a/packages/hash/playwright/playwright.config.ts b/packages/hash/playwright/playwright.config.ts
index 1d3439e7233..887cafc2b61 100644
--- a/packages/hash/playwright/playwright.config.ts
+++ b/packages/hash/playwright/playwright.config.ts
@@ -1,4 +1,4 @@
-import { PlaywrightTestConfig, devices } from "@playwright/test";
+import { devices, PlaywrightTestConfig } from "@playwright/test";
const ci = process.env.CI === "true";
diff --git a/packages/hash/playwright/tests/guest-user.spec.ts b/packages/hash/playwright/tests/guest-user.spec.ts
index 8e6b291fe4e..e64fd44cb14 100644
--- a/packages/hash/playwright/tests/guest-user.spec.ts
+++ b/packages/hash/playwright/tests/guest-user.spec.ts
@@ -1,5 +1,5 @@
-import { test, expect } from "./shared/runtime";
import { resetDb } from "./shared/reset-db";
+import { expect, test } from "./shared/runtime";
test.beforeEach(async () => {
await resetDb();
diff --git a/packages/hash/playwright/tests/page-creation.spec.ts b/packages/hash/playwright/tests/page-creation.spec.ts
index 3a7591e4c8a..ef029f58ab5 100644
--- a/packages/hash/playwright/tests/page-creation.spec.ts
+++ b/packages/hash/playwright/tests/page-creation.spec.ts
@@ -1,7 +1,8 @@
import { sleep } from "@hashintel/hash-shared/sleep";
-import { test, expect } from "./shared/runtime";
-import { resetDb } from "./shared/reset-db";
+
import { loginUsingTempForm } from "./shared/login-using-temp-form";
+import { resetDb } from "./shared/reset-db";
+import { expect, test } from "./shared/runtime";
const pageNameSuffix = Date.now();
const pageNameFallback = "Untitled";
diff --git a/packages/hash/playwright/tests/page-readonly-mode.spec.ts b/packages/hash/playwright/tests/page-readonly-mode.spec.ts
index 881e3a0838b..9bd94a05fcb 100644
--- a/packages/hash/playwright/tests/page-readonly-mode.spec.ts
+++ b/packages/hash/playwright/tests/page-readonly-mode.spec.ts
@@ -1,7 +1,8 @@
import { sleep } from "@hashintel/hash-shared/sleep";
-import { test, expect } from "./shared/runtime";
+
import { loginUsingUi } from "./shared/login-using-ui";
import { resetDb } from "./shared/reset-db";
+import { expect, test } from "./shared/runtime";
const placeholderSelector =
"text=Type / to browse blocks, or @ to browse entities";
diff --git a/packages/hash/playwright/tests/shared/get-derived-payload-from-most-recent-email.ts b/packages/hash/playwright/tests/shared/get-derived-payload-from-most-recent-email.ts
index 7be899341e9..518300ef4a0 100644
--- a/packages/hash/playwright/tests/shared/get-derived-payload-from-most-recent-email.ts
+++ b/packages/hash/playwright/tests/shared/get-derived-payload-from-most-recent-email.ts
@@ -1,8 +1,9 @@
-import path from "node:path";
-import { loadAll } from "js-yaml";
import fs from "node:fs/promises";
-import { sleep } from "@hashintel/hash-shared/sleep";
+import path from "node:path";
+
import { monorepoRootDir } from "@hashintel/hash-backend-utils/environment";
+import { sleep } from "@hashintel/hash-shared/sleep";
+import { loadAll } from "js-yaml";
const emailDumpsFilePath = path.resolve(
monorepoRootDir,
diff --git a/packages/hash/playwright/tests/shared/login-using-temp-form.ts b/packages/hash/playwright/tests/shared/login-using-temp-form.ts
index 72302a916da..db55732b7ba 100644
--- a/packages/hash/playwright/tests/shared/login-using-temp-form.ts
+++ b/packages/hash/playwright/tests/shared/login-using-temp-form.ts
@@ -1,5 +1,5 @@
-import { Page } from "playwright";
import { expect } from "@playwright/test";
+import { Page } from "playwright";
/**
* @todo Remove this function in favor of `loginUsingUi`once we have a proper login flow
diff --git a/packages/hash/playwright/tests/shared/login-using-ui.ts b/packages/hash/playwright/tests/shared/login-using-ui.ts
index a8d08a22f9e..025d8321886 100644
--- a/packages/hash/playwright/tests/shared/login-using-ui.ts
+++ b/packages/hash/playwright/tests/shared/login-using-ui.ts
@@ -1,5 +1,6 @@
-import { Page } from "playwright";
import { expect } from "@playwright/test";
+import { Page } from "playwright";
+
import { getDerivedPayloadFromMostRecentEmail } from "./get-derived-payload-from-most-recent-email";
export const loginUsingUi = async ({
diff --git a/packages/hash/playwright/tests/shared/reset-db.ts b/packages/hash/playwright/tests/shared/reset-db.ts
index 41c19015795..bcb519cb560 100644
--- a/packages/hash/playwright/tests/shared/reset-db.ts
+++ b/packages/hash/playwright/tests/shared/reset-db.ts
@@ -1,5 +1,5 @@
-import execa from "execa";
import { monorepoRootDir } from "@hashintel/hash-backend-utils/environment";
+import execa from "execa";
export const resetDb = async () => {
await execa("yarn", ["seed-data"], {
diff --git a/packages/hash/playwright/tests/shared/runtime.ts b/packages/hash/playwright/tests/shared/runtime.ts
index e9ec9f48277..bf3bcd490cd 100644
--- a/packages/hash/playwright/tests/shared/runtime.ts
+++ b/packages/hash/playwright/tests/shared/runtime.ts
@@ -1,4 +1,4 @@
-import { test as base, expect } from "@playwright/test";
+import { expect, test as base } from "@playwright/test";
const tolerableConsoleMessageMatches: RegExp[] = [
/Download the Apollo DevTools for a better development experience/,
diff --git a/packages/hash/realtime/src/config.ts b/packages/hash/realtime/src/config.ts
index 5864405a7e4..7ce727c2fec 100644
--- a/packages/hash/realtime/src/config.ts
+++ b/packages/hash/realtime/src/config.ts
@@ -1,9 +1,9 @@
import { getRequiredEnv } from "@hashintel/hash-backend-utils/environment";
-import { RedisQueueProducer } from "@hashintel/hash-backend-utils/queue/redis";
-import { QueueProducer } from "@hashintel/hash-backend-utils/queue/adapter";
-import { AsyncRedisClient } from "@hashintel/hash-backend-utils/redis";
import { Logger } from "@hashintel/hash-backend-utils/logger";
+import { QueueProducer } from "@hashintel/hash-backend-utils/queue/adapter";
+import { RedisQueueProducer } from "@hashintel/hash-backend-utils/queue/redis";
import { supportedRealtimeTables } from "@hashintel/hash-backend-utils/realtime";
+import { AsyncRedisClient } from "@hashintel/hash-backend-utils/redis";
// The tables to monitor for changes
export const MONITOR_TABLES = supportedRealtimeTables.map(
diff --git a/packages/hash/realtime/src/index.ts b/packages/hash/realtime/src/index.ts
index a8765238cf0..8246c6ed125 100644
--- a/packages/hash/realtime/src/index.ts
+++ b/packages/hash/realtime/src/index.ts
@@ -3,23 +3,23 @@
import * as crypto from "node:crypto";
import * as http from "node:http";
-import { sql } from "slonik";
import {
- clearIntervalAsync,
- setIntervalAsync,
-} from "set-interval-async/dynamic";
-import { GracefulShutdown } from "@hashintel/hash-backend-utils/shutdown";
+ getRequiredEnv,
+ waitOnResource,
+} from "@hashintel/hash-backend-utils/environment";
import { Logger } from "@hashintel/hash-backend-utils/logger";
import {
createPostgresConnPool,
PgPool,
} from "@hashintel/hash-backend-utils/postgres";
+import { GracefulShutdown } from "@hashintel/hash-backend-utils/shutdown";
import {
- getRequiredEnv,
- waitOnResource,
-} from "@hashintel/hash-backend-utils/environment";
+ clearIntervalAsync,
+ setIntervalAsync,
+} from "set-interval-async/dynamic";
+import { sql } from "slonik";
-import { MONITOR_TABLES, generateQueues } from "./config";
+import { generateQueues, MONITOR_TABLES } from "./config";
// The number of milliseconds between queries to the replication slot
const POLL_INTERVAL_MILLIS = 250;
diff --git a/packages/hash/realtime/src/scripts/clear-redis.ts b/packages/hash/realtime/src/scripts/clear-redis.ts
index c8609a7a6c8..c0712449e97 100644
--- a/packages/hash/realtime/src/scripts/clear-redis.ts
+++ b/packages/hash/realtime/src/scripts/clear-redis.ts
@@ -1,9 +1,9 @@
-import { AsyncRedisClient } from "@hashintel/hash-backend-utils/redis";
-import { Logger } from "@hashintel/hash-backend-utils/logger";
import {
getRequiredEnv,
waitOnResource,
} from "@hashintel/hash-backend-utils/environment";
+import { Logger } from "@hashintel/hash-backend-utils/logger";
+import { AsyncRedisClient } from "@hashintel/hash-backend-utils/redis";
const logger = new Logger({
serviceName: "clear-redis-queues",
diff --git a/packages/hash/search-loader/src/config.ts b/packages/hash/search-loader/src/config.ts
index 57d558b12c4..74bfe40faaf 100644
--- a/packages/hash/search-loader/src/config.ts
+++ b/packages/hash/search-loader/src/config.ts
@@ -1,8 +1,9 @@
import { randomUUID } from "node:crypto";
+
import {
+ LOG_LEVELS,
Logger,
LogLevel,
- LOG_LEVELS,
} from "@hashintel/hash-backend-utils/logger";
export const INSTANCE_ID = randomUUID();
diff --git a/packages/hash/search-loader/src/index.ts b/packages/hash/search-loader/src/index.ts
index a788f9bac73..8a3ec5e0fb7 100644
--- a/packages/hash/search-loader/src/index.ts
+++ b/packages/hash/search-loader/src/index.ts
@@ -3,17 +3,17 @@
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-nocheck
import * as http from "node:http";
-import { StatsD } from "hot-shots";
import { promisify } from "node:util";
-import { AsyncRedisClient } from "@hashintel/hash-backend-utils/redis";
-import { RedisQueueExclusiveConsumer } from "@hashintel/hash-backend-utils/queue/redis";
import { getRequiredEnv } from "@hashintel/hash-backend-utils/environment";
-import { GracefulShutdown } from "@hashintel/hash-backend-utils/shutdown";
-import { OpenSearch } from "@hashintel/hash-backend-utils/search/opensearch";
+import { RedisQueueExclusiveConsumer } from "@hashintel/hash-backend-utils/queue/redis";
+import { AsyncRedisClient } from "@hashintel/hash-backend-utils/redis";
import { ENTITIES_SEARCH_INDEX } from "@hashintel/hash-backend-utils/search/doc-types";
+import { OpenSearch } from "@hashintel/hash-backend-utils/search/opensearch";
+import { GracefulShutdown } from "@hashintel/hash-backend-utils/shutdown";
+import { StatsD } from "hot-shots";
-import { logger, INSTANCE_ID } from "./config";
+import { INSTANCE_ID, logger } from "./config";
import { SearchLoader } from "./search-loader";
const OPENSEARCH_ENABLED = process.env.HASH_OPENSEARCH_ENABLED === "true";
diff --git a/packages/hash/search-loader/src/scripts/clear-opensearch.ts b/packages/hash/search-loader/src/scripts/clear-opensearch.ts
index 2b8e28fa860..317fdc6f6a5 100644
--- a/packages/hash/search-loader/src/scripts/clear-opensearch.ts
+++ b/packages/hash/search-loader/src/scripts/clear-opensearch.ts
@@ -2,7 +2,6 @@ import {
getRequiredEnv,
waitOnResource,
} from "@hashintel/hash-backend-utils/environment";
-
/**
* This script clears all indices created by the search-loader service. It is intended
* for use during development.
diff --git a/packages/hash/search-loader/src/search-loader.ts b/packages/hash/search-loader/src/search-loader.ts
index 39723716fd9..bdc20a52124 100644
--- a/packages/hash/search-loader/src/search-loader.ts
+++ b/packages/hash/search-loader/src/search-loader.ts
@@ -4,21 +4,20 @@
* @todo remove above ts-nocheck as we start re-enabling OpenSearch indexing
* https://app.asana.com/0/1200211978612931/1202938382575963/f
*/
-import { StatsD } from "hot-shots";
-
+import { DbAdapter } from "@hashintel/hash-api/src/db";
+import { EntityType as DbEntityType } from "@hashintel/hash-api/src/db/adapter";
+import { Entity, EntityType, Page } from "@hashintel/hash-api/src/model";
+import { EntityVersion } from "@hashintel/hash-backend-utils/pgTables";
import { QueueExclusiveConsumer } from "@hashintel/hash-backend-utils/queue/adapter";
import { SearchAdapter } from "@hashintel/hash-backend-utils/search/adapter";
import {
- EntitiesDocument,
ENTITIES_SEARCH_FIELD,
+ EntitiesDocument,
} from "@hashintel/hash-backend-utils/search/doc-types";
-import { EntityVersion } from "@hashintel/hash-backend-utils/pgTables";
import { Wal2JsonMsg } from "@hashintel/hash-backend-utils/wal2json";
import { TextToken } from "@hashintel/hash-shared/graphql/types";
-import { DbAdapter } from "@hashintel/hash-api/src/db";
-import { Entity, EntityType, Page } from "@hashintel/hash-api/src/model";
-import { EntityType as DbEntityType } from "@hashintel/hash-api/src/db/adapter";
import { sleep } from "@hashintel/hash-shared/sleep";
+import { StatsD } from "hot-shots";
import { logger } from "./config";
diff --git a/packages/hash/task-executor/src/airbyte/temp-io.ts b/packages/hash/task-executor/src/airbyte/temp-io.ts
index 6d398daef1e..bc53903e322 100644
--- a/packages/hash/task-executor/src/airbyte/temp-io.ts
+++ b/packages/hash/task-executor/src/airbyte/temp-io.ts
@@ -1,6 +1,6 @@
import { promises as fs } from "node:fs";
-import path from "node:path";
import * as os from "node:os";
+import path from "node:path";
export const writeToTempFile = async (
fileName: string,
diff --git a/packages/hash/task-executor/src/index.ts b/packages/hash/task-executor/src/index.ts
index 5648c158305..ca748528fdd 100644
--- a/packages/hash/task-executor/src/index.ts
+++ b/packages/hash/task-executor/src/index.ts
@@ -1,11 +1,13 @@
/* eslint-disable canonical/filename-no-index -- @todo rename file */
-import express from "express";
-import { json } from "body-parser";
import { readFileSync, writeFileSync } from "node:fs";
+
+import { json } from "body-parser";
+import express from "express";
+
+import { ConfiguredAirbyteCatalog } from "./airbyte/protocol";
import { executeTask } from "./execution";
import { GithubIngestor } from "./tasks/source-github";
-import { ConfiguredAirbyteCatalog } from "./airbyte/protocol";
/** @todo - Could be from env-var */
const port = 5010;
From 18ffba30ea4a2aa13cdc072bbd4b4d928d924e00 Mon Sep 17 00:00:00 2001
From: "David @ HASH" <6226576+nonparibus@users.noreply.github.com>
Date: Fri, 23 Dec 2022 11:05:14 +0000
Subject: [PATCH 12/13] Update Kratos email copy (#1720)
* Mention HASH by name in OTP SMS
* Fix typos and cleanup unrecognized email recovery message
* Update email.body.plaintext.gotmpl
* Cleanup recognized email recovery message
* Update email.body.plaintext.gotmpl
* Update email.body.gotmpl
* Update email.body.plaintext.gotmpl
* Update email.body.gotmpl
* Update email.body.plaintext.gotmpl
* Update email.body.gotmpl
* Update email.body.plaintext.gotmpl
* Update email.body.gotmpl
* Update email.body.plaintext.gotmpl
* Update README.md
* Path consistency drive-by
---
README.md | 12 ++++++------
packages/hash/README.md | 6 +++---
.../kratos/templates/otp/sms.body.gotmpl | 2 +-
.../templates/recovery/invalid/email.body.gotmpl | 8 +++++---
.../recovery/invalid/email.body.plaintext.gotmpl | 8 +++++---
.../templates/recovery/valid/email.body.gotmpl | 8 +++++++-
.../recovery/valid/email.body.plaintext.gotmpl | 10 +++++++++-
.../recovery_code/invalid/email.body.gotmpl | 8 +++++---
.../invalid/email.body.plaintext.gotmpl | 8 +++++---
.../templates/recovery_code/valid/email.body.gotmpl | 8 +++++++-
.../recovery_code/valid/email.body.plaintext.gotmpl | 8 +++++++-
.../verification_code/invalid/email.body.gotmpl | 8 ++++++--
.../invalid/email.body.plaintext.gotmpl | 8 ++++++--
.../verification_code/valid/email.body.gotmpl | 9 ++++++---
.../valid/email.body.plaintext.gotmpl | 8 ++++++--
15 files changed, 84 insertions(+), 35 deletions(-)
diff --git a/README.md b/README.md
index 81dc6becab2..836baf7b6bd 100644
--- a/README.md
+++ b/README.md
@@ -14,15 +14,15 @@ This is HASH's _public monorepo_ which contains our open-source, fair-source and
### Packages
-- [`blocks`](blocks): The source code for all of HASH's open-source [Block Protocol](https://github.com/blockprotocol/blockprotocol) blocks
-- [`packages/hash`](packages/hash): The codebase for [HASH](https://hash.ai/platform/hash) - a data-driven, entity-centric, all-in-one workspace based on the Block Protocol
-- [`packages/engine`](packages/engine): The codebase for our next-gen version of [HASH Engine](https://hash.ai/platform/engine) - a versatile agent-based simulation engine written in Rust
-- [`packages/libs`](packages/libs): The source code for our open-source developer libraries
+- [`/blocks`](blocks): The source code for all of HASH's open-source [Block Protocol](https://github.com/blockprotocol/blockprotocol) blocks
+- [`/packages/hash`](packages/hash): The codebase for [HASH](https://hash.ai/platform/hash) - a data-driven, entity-centric, all-in-one workspace based on the Block Protocol
+- [`/packages/engine`](packages/engine): The codebase for our next-gen version of [HASH Engine](https://hash.ai/platform/engine) - a versatile agent-based simulation engine written in Rust
+- [`/packages/libs`](packages/libs): The source code for our open-source developer libraries
### Site code and content
-- [`apps/hashdotai`](apps/hashdotai): contains the [HASH user guide](https://hash.ai/docs) and [glossary of terms](https://hash.ai/glossary) content
-- [`apps/hashdotdev`](apps/hashdotdev): contains the [hash.dev](https://hash.dev/) developer-education website content and code
+- [`/apps/hashdotai`](apps/hashdotai): contains the [HASH user guide](https://hash.ai/docs) and [glossary of terms](https://hash.ai/glossary) content
+- [`/apps/hashdotdev`](apps/hashdotdev): contains the [hash.dev](https://hash.dev/) developer-education website content and code
### Infrastructure
diff --git a/packages/hash/README.md b/packages/hash/README.md
index 29ba69b7e3c..c5154dd166c 100644
--- a/packages/hash/README.md
+++ b/packages/hash/README.md
@@ -104,11 +104,11 @@ You'll be able to sign in to these users with the password `password`.
## Sending emails
-Mails in the HASH application is managed through either Kratos (for everything related to authentication) or through the HASH API Email Transport (for everything else).
+Email-sending in HASH is handled by either Kratos (in the case of authentication-related emails) or through the HASH API Email Transport (for everything else).
-These emails templates are located in the following locations:
+Transactional emails templates are located in the following locations:
-- Kratos emails in [`./external-services/kratos/templates/`](./external-services/kratos//templates/)
+- Kratos emails in [`./external-services/kratos/templates/`](./external-services/kratos/templates/)
- HASH emails in [`./api/src/email/index.ts`](./api/src/email/index.ts)
To use `AwsSesEmailTransporter` instead, set `export HASH_EMAIL_TRANSPORTER=aws_ses` in your terminal before running the app.
diff --git a/packages/hash/external-services/kratos/templates/otp/sms.body.gotmpl b/packages/hash/external-services/kratos/templates/otp/sms.body.gotmpl
index ff95187e9e7..19e5237c803 100644
--- a/packages/hash/external-services/kratos/templates/otp/sms.body.gotmpl
+++ b/packages/hash/external-services/kratos/templates/otp/sms.body.gotmpl
@@ -1 +1 @@
-Your verification code is: {{ .Code }}
+Your HASH verification code is: {{ .Code }}
diff --git a/packages/hash/external-services/kratos/templates/recovery/invalid/email.body.gotmpl b/packages/hash/external-services/kratos/templates/recovery/invalid/email.body.gotmpl
index b79f7fba638..0d3c65685a4 100644
--- a/packages/hash/external-services/kratos/templates/recovery/invalid/email.body.gotmpl
+++ b/packages/hash/external-services/kratos/templates/recovery/invalid/email.body.gotmpl
@@ -1,9 +1,11 @@
Hi,
-you (or someone else) entered this email address when trying to recover access a HASH account.
+You (or someone else) entered this email address while trying to recover access to a HASH account.
-However, this email address is not on our database of registered users and therefore the attempt has failed.
+However, this email address is not currently associated with any registered HASH user and the attempt has therefore failed.
-If this was you, check if you signed up using a different address.
+If this was you, and you remain unable to access your account, please check to see if you signed up using another email address.
If this was not you, please ignore this email.
+
+HASH
diff --git a/packages/hash/external-services/kratos/templates/recovery/invalid/email.body.plaintext.gotmpl b/packages/hash/external-services/kratos/templates/recovery/invalid/email.body.plaintext.gotmpl
index b79f7fba638..0d3c65685a4 100644
--- a/packages/hash/external-services/kratos/templates/recovery/invalid/email.body.plaintext.gotmpl
+++ b/packages/hash/external-services/kratos/templates/recovery/invalid/email.body.plaintext.gotmpl
@@ -1,9 +1,11 @@
Hi,
-you (or someone else) entered this email address when trying to recover access a HASH account.
+You (or someone else) entered this email address while trying to recover access to a HASH account.
-However, this email address is not on our database of registered users and therefore the attempt has failed.
+However, this email address is not currently associated with any registered HASH user and the attempt has therefore failed.
-If this was you, check if you signed up using a different address.
+If this was you, and you remain unable to access your account, please check to see if you signed up using another email address.
If this was not you, please ignore this email.
+
+HASH
diff --git a/packages/hash/external-services/kratos/templates/recovery/valid/email.body.gotmpl b/packages/hash/external-services/kratos/templates/recovery/valid/email.body.gotmpl
index c27d8aca562..7a697ac8e75 100644
--- a/packages/hash/external-services/kratos/templates/recovery/valid/email.body.gotmpl
+++ b/packages/hash/external-services/kratos/templates/recovery/valid/email.body.gotmpl
@@ -1,5 +1,11 @@
Hi,
-please recover access to your HASH account by clicking the following link:
+You (or someone else) entered this email address while trying to recover access to a HASH account.
+
+Please click the link below to recover access to your HASH account:
{{ .RecoveryURL }}
+
+If you did not request this link, please contact support@hash.ai
+
+HASH
diff --git a/packages/hash/external-services/kratos/templates/recovery/valid/email.body.plaintext.gotmpl b/packages/hash/external-services/kratos/templates/recovery/valid/email.body.plaintext.gotmpl
index 569b5033fa5..8f78a7e03a5 100644
--- a/packages/hash/external-services/kratos/templates/recovery/valid/email.body.plaintext.gotmpl
+++ b/packages/hash/external-services/kratos/templates/recovery/valid/email.body.plaintext.gotmpl
@@ -1,5 +1,13 @@
Hi,
-please recover access to your HASH account by clicking the following link:
+You (or someone else) entered this email address while trying to recover access to a HASH account.
+
+To continue, please copy and paste the link below into your web browser:
{{ .RecoveryURL }}
+
+Alternatively, if your device supports it, you may also click the link above directly.
+
+If you were not expecting this email, please contact support@hash.ai
+
+HASH
diff --git a/packages/hash/external-services/kratos/templates/recovery_code/invalid/email.body.gotmpl b/packages/hash/external-services/kratos/templates/recovery_code/invalid/email.body.gotmpl
index b79f7fba638..0d3c65685a4 100644
--- a/packages/hash/external-services/kratos/templates/recovery_code/invalid/email.body.gotmpl
+++ b/packages/hash/external-services/kratos/templates/recovery_code/invalid/email.body.gotmpl
@@ -1,9 +1,11 @@
Hi,
-you (or someone else) entered this email address when trying to recover access a HASH account.
+You (or someone else) entered this email address while trying to recover access to a HASH account.
-However, this email address is not on our database of registered users and therefore the attempt has failed.
+However, this email address is not currently associated with any registered HASH user and the attempt has therefore failed.
-If this was you, check if you signed up using a different address.
+If this was you, and you remain unable to access your account, please check to see if you signed up using another email address.
If this was not you, please ignore this email.
+
+HASH
diff --git a/packages/hash/external-services/kratos/templates/recovery_code/invalid/email.body.plaintext.gotmpl b/packages/hash/external-services/kratos/templates/recovery_code/invalid/email.body.plaintext.gotmpl
index 54afc3af9e1..0d3c65685a4 100644
--- a/packages/hash/external-services/kratos/templates/recovery_code/invalid/email.body.plaintext.gotmpl
+++ b/packages/hash/external-services/kratos/templates/recovery_code/invalid/email.body.plaintext.gotmpl
@@ -1,9 +1,11 @@
Hi,
-you (or someone else) entered this email address when trying to recover access to a HASH account.
+You (or someone else) entered this email address while trying to recover access to a HASH account.
-However, this email address is not on our database of registered users and therefore the attempt has failed.
+However, this email address is not currently associated with any registered HASH user and the attempt has therefore failed.
-If this was you, check if you signed up using a different address.
+If this was you, and you remain unable to access your account, please check to see if you signed up using another email address.
If this was not you, please ignore this email.
+
+HASH
diff --git a/packages/hash/external-services/kratos/templates/recovery_code/valid/email.body.gotmpl b/packages/hash/external-services/kratos/templates/recovery_code/valid/email.body.gotmpl
index 4162af78827..a3d708e08cf 100644
--- a/packages/hash/external-services/kratos/templates/recovery_code/valid/email.body.gotmpl
+++ b/packages/hash/external-services/kratos/templates/recovery_code/valid/email.body.gotmpl
@@ -1,5 +1,11 @@
Hi,
-please recover access to your HASH account by entering the following code:
+Please continue with the recovery of your HASH account by entering the following code:
{{ .RecoveryCode }}
+
+You should enter this code in HASH directly. Do not share this code with anybody else.
+
+If you did not request this code, please contact support@hash.ai
+
+HASH
diff --git a/packages/hash/external-services/kratos/templates/recovery_code/valid/email.body.plaintext.gotmpl b/packages/hash/external-services/kratos/templates/recovery_code/valid/email.body.plaintext.gotmpl
index 4162af78827..a3d708e08cf 100644
--- a/packages/hash/external-services/kratos/templates/recovery_code/valid/email.body.plaintext.gotmpl
+++ b/packages/hash/external-services/kratos/templates/recovery_code/valid/email.body.plaintext.gotmpl
@@ -1,5 +1,11 @@
Hi,
-please recover access to your HASH account by entering the following code:
+Please continue with the recovery of your HASH account by entering the following code:
{{ .RecoveryCode }}
+
+You should enter this code in HASH directly. Do not share this code with anybody else.
+
+If you did not request this code, please contact support@hash.ai
+
+HASH
diff --git a/packages/hash/external-services/kratos/templates/verification_code/invalid/email.body.gotmpl b/packages/hash/external-services/kratos/templates/verification_code/invalid/email.body.gotmpl
index ee715caf9a6..0d3c65685a4 100644
--- a/packages/hash/external-services/kratos/templates/verification_code/invalid/email.body.gotmpl
+++ b/packages/hash/external-services/kratos/templates/verification_code/invalid/email.body.gotmpl
@@ -1,7 +1,11 @@
Hi,
-someone asked to verify this email address, but we were unable to find a HASH account for this address.
+You (or someone else) entered this email address while trying to recover access to a HASH account.
-If this was you, check if you signed up using a different address.
+However, this email address is not currently associated with any registered HASH user and the attempt has therefore failed.
+
+If this was you, and you remain unable to access your account, please check to see if you signed up using another email address.
If this was not you, please ignore this email.
+
+HASH
diff --git a/packages/hash/external-services/kratos/templates/verification_code/invalid/email.body.plaintext.gotmpl b/packages/hash/external-services/kratos/templates/verification_code/invalid/email.body.plaintext.gotmpl
index ee715caf9a6..0d3c65685a4 100644
--- a/packages/hash/external-services/kratos/templates/verification_code/invalid/email.body.plaintext.gotmpl
+++ b/packages/hash/external-services/kratos/templates/verification_code/invalid/email.body.plaintext.gotmpl
@@ -1,7 +1,11 @@
Hi,
-someone asked to verify this email address, but we were unable to find a HASH account for this address.
+You (or someone else) entered this email address while trying to recover access to a HASH account.
-If this was you, check if you signed up using a different address.
+However, this email address is not currently associated with any registered HASH user and the attempt has therefore failed.
+
+If this was you, and you remain unable to access your account, please check to see if you signed up using another email address.
If this was not you, please ignore this email.
+
+HASH
diff --git a/packages/hash/external-services/kratos/templates/verification_code/valid/email.body.gotmpl b/packages/hash/external-services/kratos/templates/verification_code/valid/email.body.gotmpl
index e543d17c326..b47d68120ba 100644
--- a/packages/hash/external-services/kratos/templates/verification_code/valid/email.body.gotmpl
+++ b/packages/hash/external-services/kratos/templates/verification_code/valid/email.body.gotmpl
@@ -1,8 +1,11 @@
Hi,
-please verify your HASH account by entering the following code:
+Please verify your HASH account access by entering the following code:
{{ .VerificationCode }}
-or clicking the following link:
+
+or by clicking the link below:
{{ .VerificationURL }}
-The link is valid for 48 hours.
+The link is valid for 48 hours. If you were not expecting this email, please ignore it.
+
+HASH
diff --git a/packages/hash/external-services/kratos/templates/verification_code/valid/email.body.plaintext.gotmpl b/packages/hash/external-services/kratos/templates/verification_code/valid/email.body.plaintext.gotmpl
index 13a56a37f35..39f600a1928 100644
--- a/packages/hash/external-services/kratos/templates/verification_code/valid/email.body.plaintext.gotmpl
+++ b/packages/hash/external-services/kratos/templates/verification_code/valid/email.body.plaintext.gotmpl
@@ -1,9 +1,13 @@
Hi,
-please verify your HASH account by entering the following code:
+Please verify your HASH account access by entering the following code:
{{ .VerificationCode }}
-or clicking the following link:
+Alternatively, you can click the link below, or copy and paste it into your web browser:
{{ .VerificationURL }}
+
+This link is valid for 48 hours. If you were not expecting this email, please ignore it.
+
+HASH
From d8de9493b8b0c62150030020ee07a50878831f8d Mon Sep 17 00:00:00 2001
From: Alexander Kachkaev
Date: Fri, 23 Dec 2022 11:19:01 +0000
Subject: [PATCH 13/13] Apply `simple-import-sort/*` and
`unicorn/filename-case` in two packages (#1741)
---
.../LoadEntityMenuContent.tsx | 2 +-
.../frontend/src/blocks/page/BlockHandle.tsx | 5 +++-
.../frontend/src/blocks/page/BlockView.tsx | 6 ++---
.../src/blocks/page/ComponentView.tsx | 6 ++---
.../frontend/src/blocks/page/PageBlock.tsx | 2 +-
.../blocks/page/collab/EditorConnection.ts | 11 +++++----
.../src/blocks/page/createEditorView.ts | 6 ++---
.../page/createSuggester/createSuggester.tsx | 2 +-
.../hash/frontend/src/lib/apollo-client.ts | 2 +-
packages/hash/shared/.eslintrc.cjs | 1 -
packages/hash/shared/src/blocks.ts | 1 +
...rState.ts => create-prose-mirror-state.ts} | 9 ++++----
...yStorePlugin.ts => entity-store-plugin.ts} | 3 ++-
.../src/{entityStore.ts => entity-store.ts} | 4 ++--
packages/hash/shared/src/entity.ts | 2 +-
...polloClient.ts => create-apollo-client.ts} | 1 -
packages/hash/shared/src/graphql/types.ts | 2 +-
packages/hash/shared/src/json-utils.ts | 2 +-
packages/hash/shared/src/ontology-types.ts | 3 ++-
...irrorManager.ts => prosemirror-manager.ts} | 4 ++--
packages/hash/shared/src/prosemirror.ts | 3 ++-
packages/hash/shared/src/save.ts | 6 ++---
packages/hash/shared/src/text.ts | 7 +++---
packages/hash/shared/src/types.ts | 2 +-
...itiesPlugin.ts => wrap-entities-plugin.ts} | 7 +++---
packages/hash/subgraph/src/index.ts | 6 ++---
.../subgraph/src/shared/type-system-patch.ts | 4 ++--
.../hash/subgraph/src/stdlib/edge/link.ts | 14 +++++------
.../subgraph/src/stdlib/element/data-type.ts | 3 ++-
.../src/stdlib/element/entity-type.ts | 5 ++--
.../subgraph/src/stdlib/element/entity.ts | 6 ++---
.../src/stdlib/element/property-type.ts | 3 ++-
packages/hash/subgraph/src/stdlib/roots.ts | 16 ++++++-------
packages/hash/subgraph/src/types/edge.ts | 9 ++++----
packages/hash/subgraph/src/types/element.ts | 13 ++++++-----
packages/hash/subgraph/src/types/subgraph.ts | 7 +++---
packages/hash/subgraph/src/types/vertex.ts | 1 +
.../hash/subgraph/tests/compatibility.test.ts | 3 ++-
.../tests/compatibility.test/map-edges.ts | 3 ++-
.../tests/compatibility.test/map-roots.ts | 1 +
.../tests/compatibility.test/map-vertices.ts | 23 ++++++++++---------
41 files changed, 119 insertions(+), 97 deletions(-)
rename packages/hash/shared/src/{createProseMirrorState.ts => create-prose-mirror-state.ts} (90%)
rename packages/hash/shared/src/{entityStorePlugin.ts => entity-store-plugin.ts} (99%)
rename packages/hash/shared/src/{entityStore.ts => entity-store.ts} (99%)
rename packages/hash/shared/src/graphql/{createApolloClient.ts => create-apollo-client.ts} (99%)
rename packages/hash/shared/src/{ProsemirrorManager.ts => prosemirror-manager.ts} (99%)
rename packages/hash/shared/src/{wrapEntitiesPlugin.ts => wrap-entities-plugin.ts} (99%)
diff --git a/packages/hash/frontend/src/blocks/page/BlockContextMenu/LoadEntityMenuContent.tsx b/packages/hash/frontend/src/blocks/page/BlockContextMenu/LoadEntityMenuContent.tsx
index 4e3a98d711e..4b96e062499 100644
--- a/packages/hash/frontend/src/blocks/page/BlockContextMenu/LoadEntityMenuContent.tsx
+++ b/packages/hash/frontend/src/blocks/page/BlockContextMenu/LoadEntityMenuContent.tsx
@@ -22,7 +22,7 @@ import {
FontAwesomeIcon,
} from "@hashintel/hash-design-system";
import { EntityId } from "@hashintel/hash-subgraph";
-import { EntityStoreType } from "@hashintel/hash-shared/entityStore";
+import { EntityStoreType } from "@hashintel/hash-shared/entity-store";
import { useBlockView } from "../BlockView";
import { MenuItem } from "../../../shared/ui";
import { generateEntityLabel } from "../../../lib/entities";
diff --git a/packages/hash/frontend/src/blocks/page/BlockHandle.tsx b/packages/hash/frontend/src/blocks/page/BlockHandle.tsx
index 6e663797ff9..1c3836ad537 100644
--- a/packages/hash/frontend/src/blocks/page/BlockHandle.tsx
+++ b/packages/hash/frontend/src/blocks/page/BlockHandle.tsx
@@ -1,6 +1,9 @@
import { JsonObject } from "@blockprotocol/core";
import { faEllipsisVertical } from "@fortawesome/free-solid-svg-icons";
-import { EntityStore, isBlockEntity } from "@hashintel/hash-shared/entityStore";
+import {
+ EntityStore,
+ isBlockEntity,
+} from "@hashintel/hash-shared/entity-store";
import { Box } from "@mui/material";
import { bindTrigger } from "material-ui-popup-state";
import { usePopupState } from "material-ui-popup-state/hooks";
diff --git a/packages/hash/frontend/src/blocks/page/BlockView.tsx b/packages/hash/frontend/src/blocks/page/BlockView.tsx
index 24b13349108..6b19bce94a0 100644
--- a/packages/hash/frontend/src/blocks/page/BlockView.tsx
+++ b/packages/hash/frontend/src/blocks/page/BlockView.tsx
@@ -1,15 +1,15 @@
import { BlockVariant } from "@blockprotocol/core";
-import { EntityStore } from "@hashintel/hash-shared/entityStore";
+import { EntityStore } from "@hashintel/hash-shared/entity-store";
import {
entityStorePluginState,
subscribeToEntityStore,
-} from "@hashintel/hash-shared/entityStorePlugin";
+} from "@hashintel/hash-shared/entity-store-plugin";
import {
findComponentNode,
isEntityNode,
} from "@hashintel/hash-shared/prosemirror";
import { HashBlockMeta } from "@hashintel/hash-shared/blocks";
-import { ProsemirrorManager } from "@hashintel/hash-shared/ProsemirrorManager";
+import { ProsemirrorManager } from "@hashintel/hash-shared/prosemirror-manager";
import { Node } from "prosemirror-model";
import { NodeSelection, TextSelection } from "prosemirror-state";
import { EditorView, NodeView } from "prosemirror-view";
diff --git a/packages/hash/frontend/src/blocks/page/ComponentView.tsx b/packages/hash/frontend/src/blocks/page/ComponentView.tsx
index f3e39086dfb..9f11e0ed812 100644
--- a/packages/hash/frontend/src/blocks/page/ComponentView.tsx
+++ b/packages/hash/frontend/src/blocks/page/ComponentView.tsx
@@ -8,18 +8,18 @@ import {
DraftEntity,
EntityStore,
isDraftBlockEntity,
-} from "@hashintel/hash-shared/entityStore";
+} from "@hashintel/hash-shared/entity-store";
import {
addEntityStoreAction,
entityStorePluginState,
subscribeToEntityStore,
-} from "@hashintel/hash-shared/entityStorePlugin";
+} from "@hashintel/hash-shared/entity-store-plugin";
import {
componentNodeToId,
isComponentNode,
isParagraphNode,
} from "@hashintel/hash-shared/prosemirror";
-import { ProsemirrorManager } from "@hashintel/hash-shared/ProsemirrorManager";
+import { ProsemirrorManager } from "@hashintel/hash-shared/prosemirror-manager";
import { textBlockNodeToEntityProperties } from "@hashintel/hash-shared/text";
import * as Sentry from "@sentry/nextjs";
import { Node } from "prosemirror-model";
diff --git a/packages/hash/frontend/src/blocks/page/PageBlock.tsx b/packages/hash/frontend/src/blocks/page/PageBlock.tsx
index 3c1c6dea597..754a7f2e46e 100644
--- a/packages/hash/frontend/src/blocks/page/PageBlock.tsx
+++ b/packages/hash/frontend/src/blocks/page/PageBlock.tsx
@@ -1,7 +1,7 @@
import { useApolloClient } from "@apollo/client";
import { Button } from "@hashintel/hash-design-system";
import { BlockEntity } from "@hashintel/hash-shared/entity";
-import { ProsemirrorManager } from "@hashintel/hash-shared/ProsemirrorManager";
+import { ProsemirrorManager } from "@hashintel/hash-shared/prosemirror-manager";
import { AccountId, EntityId } from "@hashintel/hash-shared/types";
import { Box } from "@mui/material";
import { SxProps } from "@mui/system";
diff --git a/packages/hash/frontend/src/blocks/page/collab/EditorConnection.ts b/packages/hash/frontend/src/blocks/page/collab/EditorConnection.ts
index dc38639faf5..c8cd44c4d65 100644
--- a/packages/hash/frontend/src/blocks/page/collab/EditorConnection.ts
+++ b/packages/hash/frontend/src/blocks/page/collab/EditorConnection.ts
@@ -3,16 +3,19 @@
/**
* Collab is currently disabled, which means this file does not represent the current way to edit pages.
*/
-import { createProseMirrorState } from "@hashintel/hash-shared/createProseMirrorState";
-import { EntityStore, isBlockEntity } from "@hashintel/hash-shared/entityStore";
+import { createProseMirrorState } from "@hashintel/hash-shared/create-prose-mirror-state";
+import {
+ EntityStore,
+ isBlockEntity,
+} from "@hashintel/hash-shared/entity-store";
import {
addEntityStoreAction,
disableEntityStoreTransactionInterpretation,
entityStorePluginState,
TrackedAction,
EntityStorePluginAction,
-} from "@hashintel/hash-shared/entityStorePlugin";
-import { ProsemirrorManager } from "@hashintel/hash-shared/ProsemirrorManager";
+} from "@hashintel/hash-shared/entity-store-plugin";
+import { ProsemirrorManager } from "@hashintel/hash-shared/prosemirror-manager";
import { isString } from "lodash";
import { collab, receiveTransaction, sendableSteps } from "prosemirror-collab";
import { Node, Schema } from "prosemirror-model";
diff --git a/packages/hash/frontend/src/blocks/page/createEditorView.ts b/packages/hash/frontend/src/blocks/page/createEditorView.ts
index f0268186a8a..0b2b882f97d 100644
--- a/packages/hash/frontend/src/blocks/page/createEditorView.ts
+++ b/packages/hash/frontend/src/blocks/page/createEditorView.ts
@@ -1,8 +1,8 @@
import { HashBlock } from "@hashintel/hash-shared/blocks";
-import { createProseMirrorState } from "@hashintel/hash-shared/createProseMirrorState";
+import { createProseMirrorState } from "@hashintel/hash-shared/create-prose-mirror-state";
import { debounce } from "lodash";
// import { apiOrigin } from "@hashintel/hash-shared/environment";
-import { ProsemirrorManager } from "@hashintel/hash-shared/ProsemirrorManager";
+import { ProsemirrorManager } from "@hashintel/hash-shared/prosemirror-manager";
import { EditorView } from "prosemirror-view";
import { BlockEntity } from "@hashintel/hash-shared/entity";
import { save } from "@hashintel/hash-shared/save";
@@ -10,7 +10,7 @@ import { ApolloClient } from "@apollo/client";
import {
addEntityStoreAction,
entityStorePluginState,
-} from "@hashintel/hash-shared/entityStorePlugin";
+} from "@hashintel/hash-shared/entity-store-plugin";
import { AccountId, OwnedById, EntityId } from "@hashintel/hash-shared/types";
// import applyDevTools from "prosemirror-dev-tools";
diff --git a/packages/hash/frontend/src/blocks/page/createSuggester/createSuggester.tsx b/packages/hash/frontend/src/blocks/page/createSuggester/createSuggester.tsx
index 4fcd5aac7b2..acbbc9ad824 100644
--- a/packages/hash/frontend/src/blocks/page/createSuggester/createSuggester.tsx
+++ b/packages/hash/frontend/src/blocks/page/createSuggester/createSuggester.tsx
@@ -1,6 +1,6 @@
import type { BlockVariant } from "@blockprotocol/core";
import { HashBlockMeta } from "@hashintel/hash-shared/blocks";
-import { ProsemirrorManager } from "@hashintel/hash-shared/ProsemirrorManager";
+import { ProsemirrorManager } from "@hashintel/hash-shared/prosemirror-manager";
import { Popper } from "@mui/material";
import {
EditorState,
diff --git a/packages/hash/frontend/src/lib/apollo-client.ts b/packages/hash/frontend/src/lib/apollo-client.ts
index 9829133853a..ce3109e9c6e 100644
--- a/packages/hash/frontend/src/lib/apollo-client.ts
+++ b/packages/hash/frontend/src/lib/apollo-client.ts
@@ -1,3 +1,3 @@
-import { createApolloClient } from "@hashintel/hash-shared/graphql/createApolloClient";
+import { createApolloClient } from "@hashintel/hash-shared/graphql/create-apollo-client";
export const apolloClient = createApolloClient();
diff --git a/packages/hash/shared/.eslintrc.cjs b/packages/hash/shared/.eslintrc.cjs
index 489bd722f15..e0d1a898637 100644
--- a/packages/hash/shared/.eslintrc.cjs
+++ b/packages/hash/shared/.eslintrc.cjs
@@ -8,7 +8,6 @@ module.exports = {
/* 2022-11-29: 5 */ "@typescript-eslint/no-unsafe-call",
/* 2022-11-29: 7 */ "@typescript-eslint/no-unsafe-member-access",
/* 2022-11-29: 7 */ "@typescript-eslint/no-unsafe-return",
- "unicorn/filename-case",
]),
"import/no-extraneous-dependencies": ["error", { devDependencies: true }],
},
diff --git a/packages/hash/shared/src/blocks.ts b/packages/hash/shared/src/blocks.ts
index 14b9e19703c..b2e504e6d47 100644
--- a/packages/hash/shared/src/blocks.ts
+++ b/packages/hash/shared/src/blocks.ts
@@ -1,4 +1,5 @@
import { BlockMetadata, BlockVariant } from "@blockprotocol/core";
+
import { JsonSchema } from "./json-utils";
/** @todo: might need refactor: https://github.com/hashintel/dev/pull/206#discussion_r723210329 */
diff --git a/packages/hash/shared/src/createProseMirrorState.ts b/packages/hash/shared/src/create-prose-mirror-state.ts
similarity index 90%
rename from packages/hash/shared/src/createProseMirrorState.ts
rename to packages/hash/shared/src/create-prose-mirror-state.ts
index cf60822f6fa..f187c3fff66 100644
--- a/packages/hash/shared/src/createProseMirrorState.ts
+++ b/packages/hash/shared/src/create-prose-mirror-state.ts
@@ -3,14 +3,15 @@ import { baseKeymap } from "prosemirror-commands";
import { dropCursor } from "prosemirror-dropcursor";
import { Node, Schema } from "prosemirror-model";
import { EditorState, Plugin } from "prosemirror-state";
-import { createEntityStorePlugin } from "./entityStorePlugin";
+
+import { createEntityStorePlugin } from "./entity-store-plugin";
import {
createSchema,
- textTokenNodes,
- pageEditorNodes,
formatKeymap,
+ pageEditorNodes,
+ textTokenNodes,
} from "./prosemirror";
-import { wrapEntitiesPlugin } from "./wrapEntitiesPlugin";
+import { wrapEntitiesPlugin } from "./wrap-entities-plugin";
const nodes = {
doc: {
diff --git a/packages/hash/shared/src/entityStorePlugin.ts b/packages/hash/shared/src/entity-store-plugin.ts
similarity index 99%
rename from packages/hash/shared/src/entityStorePlugin.ts
rename to packages/hash/shared/src/entity-store-plugin.ts
index 53a32ec60f7..01533782b54 100644
--- a/packages/hash/shared/src/entityStorePlugin.ts
+++ b/packages/hash/shared/src/entity-store-plugin.ts
@@ -5,6 +5,7 @@ import { Node } from "prosemirror-model";
import { EditorState, Plugin, PluginKey, Transaction } from "prosemirror-state";
import { EditorView } from "prosemirror-view";
import { v4 as uuid } from "uuid";
+
import { BlockEntity, getEntityChildEntity, isTextEntity } from "./entity";
import {
createEntityStore,
@@ -14,7 +15,7 @@ import {
getDraftEntityByEntityId,
isBlockEntity,
isDraftBlockEntity,
-} from "./entityStore";
+} from "./entity-store";
import {
ComponentNode,
componentNodeToId,
diff --git a/packages/hash/shared/src/entityStore.ts b/packages/hash/shared/src/entity-store.ts
similarity index 99%
rename from packages/hash/shared/src/entityStore.ts
rename to packages/hash/shared/src/entity-store.ts
index 587756c60c6..529780a36ea 100644
--- a/packages/hash/shared/src/entityStore.ts
+++ b/packages/hash/shared/src/entity-store.ts
@@ -1,4 +1,3 @@
-import { Draft, produce } from "immer";
import {
EntityId,
EntityMetadata,
@@ -7,9 +6,10 @@ import {
PropertyObject,
VersionedUri,
} from "@hashintel/hash-subgraph";
+import { Draft, produce } from "immer";
-import { generateDraftIdForEntity } from "./entityStorePlugin";
import { BlockEntity } from "./entity";
+import { generateDraftIdForEntity } from "./entity-store-plugin";
import { types } from "./ontology-types";
export type EntityStoreType = BlockEntity | BlockEntity["blockChildEntity"];
diff --git a/packages/hash/shared/src/entity.ts b/packages/hash/shared/src/entity.ts
index 3464788cb24..b4006125b51 100644
--- a/packages/hash/shared/src/entity.ts
+++ b/packages/hash/shared/src/entity.ts
@@ -6,7 +6,7 @@ import {
isDraftEntity,
isEntity,
TEXT_TOKEN_PROPERTY_TYPE_BASE_URI,
-} from "./entityStore";
+} from "./entity-store";
import { Block } from "./graphql/api-types.gen";
import { TextToken } from "./graphql/types";
import { flatMapTree } from "./util";
diff --git a/packages/hash/shared/src/graphql/createApolloClient.ts b/packages/hash/shared/src/graphql/create-apollo-client.ts
similarity index 99%
rename from packages/hash/shared/src/graphql/createApolloClient.ts
rename to packages/hash/shared/src/graphql/create-apollo-client.ts
index 67ac750be2e..193de8c760d 100644
--- a/packages/hash/shared/src/graphql/createApolloClient.ts
+++ b/packages/hash/shared/src/graphql/create-apollo-client.ts
@@ -13,7 +13,6 @@ import {
} from "node-fetch";
import { apiGraphQLEndpoint } from "../environment";
-
import possibleTypes from "./fragmentTypes.gen.json";
const errorLink = onError(({ graphQLErrors, operation }) => {
diff --git a/packages/hash/shared/src/graphql/types.ts b/packages/hash/shared/src/graphql/types.ts
index 113407a9ce1..1fe97c6f400 100644
--- a/packages/hash/shared/src/graphql/types.ts
+++ b/packages/hash/shared/src/graphql/types.ts
@@ -1,4 +1,4 @@
-import { DataType, PropertyType, EntityType } from "@blockprotocol/type-system";
+import { DataType, EntityType, PropertyType } from "@blockprotocol/type-system";
import { EntityId } from "@hashintel/hash-subgraph";
export type TextToken =
diff --git a/packages/hash/shared/src/json-utils.ts b/packages/hash/shared/src/json-utils.ts
index a969b1b3f9c..41f273738ff 100644
--- a/packages/hash/shared/src/json-utils.ts
+++ b/packages/hash/shared/src/json-utils.ts
@@ -1,4 +1,4 @@
-import { JsonValue, JsonObject, JsonArray } from "@blockprotocol/core";
+import { JsonArray, JsonObject, JsonValue } from "@blockprotocol/core";
import { Schema, validate } from "jsonschema";
export const validateDataAgainstSchema = (data: unknown, schema: Schema) =>
diff --git a/packages/hash/shared/src/ontology-types.ts b/packages/hash/shared/src/ontology-types.ts
index bc3000bf900..c8f496d3390 100644
--- a/packages/hash/shared/src/ontology-types.ts
+++ b/packages/hash/shared/src/ontology-types.ts
@@ -1,6 +1,7 @@
import { BaseUri, VersionedUri } from "@blockprotocol/type-system";
-import slugify from "slugify";
import { systemUserShortname } from "@hashintel/hash-shared/environment";
+import slugify from "slugify";
+
import { frontendUrl } from "./environment";
export type SchemaKind = "data-type" | "property-type" | "entity-type";
diff --git a/packages/hash/shared/src/ProsemirrorManager.ts b/packages/hash/shared/src/prosemirror-manager.ts
similarity index 99%
rename from packages/hash/shared/src/ProsemirrorManager.ts
rename to packages/hash/shared/src/prosemirror-manager.ts
index f2e939a2227..7ae1397f555 100644
--- a/packages/hash/shared/src/ProsemirrorManager.ts
+++ b/packages/hash/shared/src/prosemirror-manager.ts
@@ -18,14 +18,14 @@ import {
EntityStoreType,
isBlockEntity,
isDraftBlockEntity,
-} from "./entityStore";
+} from "./entity-store";
import {
addEntityStoreAction,
entityStorePluginState,
entityStorePluginStateFromTransaction,
generateDraftIdForEntity,
mustGetDraftEntityByEntityId,
-} from "./entityStorePlugin";
+} from "./entity-store-plugin";
import {
componentNodeGroupName,
findComponentNode,
diff --git a/packages/hash/shared/src/prosemirror.ts b/packages/hash/shared/src/prosemirror.ts
index e27dea3fe03..f214f3610b6 100644
--- a/packages/hash/shared/src/prosemirror.ts
+++ b/packages/hash/shared/src/prosemirror.ts
@@ -1,6 +1,7 @@
import { toggleMark } from "prosemirror-commands";
-import { NodeSpec, NodeType, Node, Schema } from "prosemirror-model";
import { keymap } from "prosemirror-keymap";
+import { Node, NodeSpec, NodeType, Schema } from "prosemirror-model";
+
import { paragraphBlockComponentId } from "./blocks";
type NodeWithAttrs = Omit & {
diff --git a/packages/hash/shared/src/save.ts b/packages/hash/shared/src/save.ts
index ba15bbf2693..8a27d7c94af 100644
--- a/packages/hash/shared/src/save.ts
+++ b/packages/hash/shared/src/save.ts
@@ -1,9 +1,9 @@
import { ApolloClient } from "@apollo/client";
+import { EntityId, OwnedById } from "@hashintel/hash-shared/types";
import { VersionedUri } from "@hashintel/hash-subgraph";
import { isEqual } from "lodash";
import { Node } from "prosemirror-model";
import { v4 as uuid } from "uuid";
-import { OwnedById, EntityId } from "@hashintel/hash-shared/types";
import { BlockEntity, isDraftTextEntity } from "./entity";
import {
@@ -12,13 +12,13 @@ import {
getDraftEntityByEntityId,
isDraftBlockEntity,
TEXT_ENTITY_TYPE_ID,
-} from "./entityStore";
+} from "./entity-store";
import {
GetPageQuery,
GetPageQueryVariables,
+ UpdatePageAction,
UpdatePageContentsMutation,
UpdatePageContentsMutationVariables,
- UpdatePageAction,
UpdatePageContentsResultPlaceholder,
} from "./graphql/api-types.gen";
import { isEntityNode } from "./prosemirror";
diff --git a/packages/hash/shared/src/text.ts b/packages/hash/shared/src/text.ts
index e5b116bbdb3..672a07e5acb 100644
--- a/packages/hash/shared/src/text.ts
+++ b/packages/hash/shared/src/text.ts
@@ -1,8 +1,9 @@
import { Node, Schema } from "prosemirror-model";
-import { ComponentNode } from "./prosemirror";
-import { TextToken } from "./graphql/types";
+
import { TextEntityType, TextProperties } from "./entity";
-import { TEXT_TOKEN_PROPERTY_TYPE_BASE_URI } from "./entityStore";
+import { TEXT_TOKEN_PROPERTY_TYPE_BASE_URI } from "./entity-store";
+import { TextToken } from "./graphql/types";
+import { ComponentNode } from "./prosemirror";
export const textBlockNodesFromTokens = (
tokens: TextToken[],
diff --git a/packages/hash/shared/src/types.ts b/packages/hash/shared/src/types.ts
index 640fc8d5ce6..e3c52e5f938 100644
--- a/packages/hash/shared/src/types.ts
+++ b/packages/hash/shared/src/types.ts
@@ -1,9 +1,9 @@
import {
EntityId as EntityIdSubgraph,
+ entityIdFromOwnedByIdAndEntityUuid as entityIdFromOwnedByIdAndEntityUuidSubgraph,
extractEntityUuidFromEntityId as extractEntityUuidFromEntityIdSubgraph,
extractOwnedByIdFromEntityId as extractOwnedByIdFromEntityIdSubgraph,
splitEntityId as splitEntityIdSubgraph,
- entityIdFromOwnedByIdAndEntityUuid as entityIdFromOwnedByIdAndEntityUuidSubgraph,
} from "@hashintel/hash-subgraph";
type BrandedBase = Base & {
diff --git a/packages/hash/shared/src/wrapEntitiesPlugin.ts b/packages/hash/shared/src/wrap-entities-plugin.ts
similarity index 99%
rename from packages/hash/shared/src/wrapEntitiesPlugin.ts
rename to packages/hash/shared/src/wrap-entities-plugin.ts
index 822f10a6499..a958ca06358 100644
--- a/packages/hash/shared/src/wrapEntitiesPlugin.ts
+++ b/packages/hash/shared/src/wrap-entities-plugin.ts
@@ -1,5 +1,7 @@
-import { entityStorePluginState } from "@hashintel/hash-shared/entityStorePlugin";
+import { entityStorePluginState } from "@hashintel/hash-shared/entity-store-plugin";
import { mapValues } from "lodash";
+import { keymap } from "prosemirror-keymap";
+import { Node } from "prosemirror-model";
import {
Command,
EditorState,
@@ -8,9 +10,8 @@ import {
TextSelection,
Transaction,
} from "prosemirror-state";
-import { keymap } from "prosemirror-keymap";
-import { Node } from "prosemirror-model";
import { Mapping } from "prosemirror-transform";
+
import { getBlockChildEntity, isTextEntity } from "./entity";
import { isComponentNode, isEntityNode } from "./prosemirror";
diff --git a/packages/hash/subgraph/src/index.ts b/packages/hash/subgraph/src/index.ts
index 323897fcba8..3b495f16d63 100644
--- a/packages/hash/subgraph/src/index.ts
+++ b/packages/hash/subgraph/src/index.ts
@@ -1,7 +1,7 @@
/* eslint-disable canonical/filename-no-index */
-export * from "./types/identifier";
-export * from "./types/element";
-export * from "./types/vertex";
export * from "./types/edge";
+export * from "./types/element";
+export * from "./types/identifier";
export * from "./types/subgraph";
+export * from "./types/vertex";
diff --git a/packages/hash/subgraph/src/shared/type-system-patch.ts b/packages/hash/subgraph/src/shared/type-system-patch.ts
index 9ae1ddd7575..1645824b82f 100644
--- a/packages/hash/subgraph/src/shared/type-system-patch.ts
+++ b/packages/hash/subgraph/src/shared/type-system-patch.ts
@@ -1,8 +1,8 @@
import {
BaseUri,
- VersionedUri,
- validateVersionedUri,
ParseVersionedUriError,
+ validateVersionedUri,
+ VersionedUri,
} from "@blockprotocol/type-system";
export class InvalidVersionedUriComponentsError extends Error {
diff --git a/packages/hash/subgraph/src/stdlib/edge/link.ts b/packages/hash/subgraph/src/stdlib/edge/link.ts
index fc0a2d8b0db..83914f84dd0 100644
--- a/packages/hash/subgraph/src/stdlib/edge/link.ts
+++ b/packages/hash/subgraph/src/stdlib/edge/link.ts
@@ -1,14 +1,14 @@
-import { Subgraph } from "../../types/subgraph";
-import { entityEditionIdToString, EntityId } from "../../types/identifier";
-import { Entity } from "../../types/element";
-import { getEntityAtTimestamp } from "../element/entity";
+import { mustBeDefined } from "../../shared/invariant";
import {
- isOutwardLinkEdge,
- isHasRightEntityEdge,
isHasLeftEntityEdge,
+ isHasRightEntityEdge,
isIncomingLinkEdge,
+ isOutwardLinkEdge,
} from "../../types/edge/outward-edge-alias";
-import { mustBeDefined } from "../../shared/invariant";
+import { Entity } from "../../types/element";
+import { entityEditionIdToString, EntityId } from "../../types/identifier";
+import { Subgraph } from "../../types/subgraph";
+import { getEntityAtTimestamp } from "../element/entity";
const getUniqueEntitiesFilter = () => {
const set = new Set();
diff --git a/packages/hash/subgraph/src/stdlib/element/data-type.ts b/packages/hash/subgraph/src/stdlib/element/data-type.ts
index 342671b005b..483a3cd2483 100644
--- a/packages/hash/subgraph/src/stdlib/element/data-type.ts
+++ b/packages/hash/subgraph/src/stdlib/element/data-type.ts
@@ -4,9 +4,10 @@ import {
extractVersion,
VersionedUri,
} from "@blockprotocol/type-system";
+
+import { DataTypeWithMetadata } from "../../types/element";
import { OntologyTypeEditionId } from "../../types/identifier";
import { Subgraph } from "../../types/subgraph";
-import { DataTypeWithMetadata } from "../../types/element";
import { isDataTypeVertex } from "../../types/vertex";
/**
diff --git a/packages/hash/subgraph/src/stdlib/element/entity-type.ts b/packages/hash/subgraph/src/stdlib/element/entity-type.ts
index 54694d2bbc0..2117b31251a 100644
--- a/packages/hash/subgraph/src/stdlib/element/entity-type.ts
+++ b/packages/hash/subgraph/src/stdlib/element/entity-type.ts
@@ -4,10 +4,11 @@ import {
extractVersion,
VersionedUri,
} from "@blockprotocol/type-system";
-import { isEntityTypeVertex } from "../../types/vertex";
-import { Subgraph } from "../../types/subgraph";
+
import { EntityTypeWithMetadata } from "../../types/element";
import { OntologyTypeEditionId } from "../../types/identifier";
+import { Subgraph } from "../../types/subgraph";
+import { isEntityTypeVertex } from "../../types/vertex";
/**
* Returns all `EntityTypeWithMetadata`s within the vertices of the subgraph
diff --git a/packages/hash/subgraph/src/stdlib/element/entity.ts b/packages/hash/subgraph/src/stdlib/element/entity.ts
index 91c9defcee7..a2efd6d30ec 100644
--- a/packages/hash/subgraph/src/stdlib/element/entity.ts
+++ b/packages/hash/subgraph/src/stdlib/element/entity.ts
@@ -1,12 +1,12 @@
-import { Subgraph } from "../../types/subgraph";
+import { mustBeDefined } from "../../shared/invariant";
+import { Entity } from "../../types/element";
import {
EntityEditionId,
EntityId,
isEntityEditionId,
} from "../../types/identifier";
+import { Subgraph } from "../../types/subgraph";
import { isEntityVertex } from "../../types/vertex";
-import { Entity } from "../../types/element";
-import { mustBeDefined } from "../../shared/invariant";
/**
* Returns all `Entity`s within the vertices of the subgraph
diff --git a/packages/hash/subgraph/src/stdlib/element/property-type.ts b/packages/hash/subgraph/src/stdlib/element/property-type.ts
index 7d3d3f8d6b3..b52e71bf8f4 100644
--- a/packages/hash/subgraph/src/stdlib/element/property-type.ts
+++ b/packages/hash/subgraph/src/stdlib/element/property-type.ts
@@ -4,9 +4,10 @@ import {
extractVersion,
VersionedUri,
} from "@blockprotocol/type-system";
+
+import { PropertyTypeWithMetadata } from "../../types/element";
import { OntologyTypeEditionId } from "../../types/identifier";
import { Subgraph } from "../../types/subgraph";
-import { PropertyTypeWithMetadata } from "../../types/element";
import { isPropertyTypeVertex } from "../../types/vertex";
/**
diff --git a/packages/hash/subgraph/src/stdlib/roots.ts b/packages/hash/subgraph/src/stdlib/roots.ts
index e75e9318f89..2d45c828ee2 100644
--- a/packages/hash/subgraph/src/stdlib/roots.ts
+++ b/packages/hash/subgraph/src/stdlib/roots.ts
@@ -1,18 +1,18 @@
+import { mustBeDefined } from "../shared/invariant";
+import {
+ isEntityEditionId,
+ isOntologyTypeEditionId,
+} from "../types/identifier";
import {
Subgraph,
SubgraphRootType,
SubgraphRootTypes,
} from "../types/subgraph";
+import { Vertex } from "../types/vertex";
import { getDataTypeByEditionId } from "./element/data-type";
-import {
- isEntityEditionId,
- isOntologyTypeEditionId,
-} from "../types/identifier";
-import { getPropertyTypeByEditionId } from "./element/property-type";
-import { getEntityTypeByEditionId } from "./element/entity-type";
import { getEntityByEditionId } from "./element/entity";
-import { Vertex } from "../types/vertex";
-import { mustBeDefined } from "../shared/invariant";
+import { getEntityTypeByEditionId } from "./element/entity-type";
+import { getPropertyTypeByEditionId } from "./element/property-type";
/**
* Returns all root elements.
diff --git a/packages/hash/subgraph/src/types/edge.ts b/packages/hash/subgraph/src/types/edge.ts
index f081543a7dd..ee81fd7ea80 100644
--- a/packages/hash/subgraph/src/types/edge.ts
+++ b/packages/hash/subgraph/src/types/edge.ts
@@ -1,12 +1,13 @@
import { BaseUri } from "@blockprotocol/type-system";
+
import {
- isEntityEditionId,
- isOntologyTypeEditionId,
- EntityId,
- Timestamp,
EntityEditionId,
+ EntityId,
EntityIdAndTimestamp,
+ isEntityEditionId,
+ isOntologyTypeEditionId,
OntologyTypeEditionId,
+ Timestamp,
} from "./identifier";
// -------------------------------- Edge Kinds --------------------------------
diff --git a/packages/hash/subgraph/src/types/element.ts b/packages/hash/subgraph/src/types/element.ts
index 3072fa09fe7..266d7a76b3a 100644
--- a/packages/hash/subgraph/src/types/element.ts
+++ b/packages/hash/subgraph/src/types/element.ts
@@ -1,9 +1,3 @@
-import {
- DataTypeWithMetadata as DataTypeWithMetadataGraphApi,
- EntityTypeWithMetadata as EntityTypeWithMetadataGraphApi,
- PropertyTypeWithMetadata as PropertyTypeWithMetadataGraphApi,
- ProvenanceMetadata as ProvenanceMetadataGraphApi,
-} from "@hashintel/hash-graph-client";
import {
BaseUri,
DataType,
@@ -11,6 +5,13 @@ import {
PropertyType,
VersionedUri,
} from "@blockprotocol/type-system";
+import {
+ DataTypeWithMetadata as DataTypeWithMetadataGraphApi,
+ EntityTypeWithMetadata as EntityTypeWithMetadataGraphApi,
+ PropertyTypeWithMetadata as PropertyTypeWithMetadataGraphApi,
+ ProvenanceMetadata as ProvenanceMetadataGraphApi,
+} from "@hashintel/hash-graph-client";
+
import { EntityEditionId, EntityId } from "./identifier";
// Due to restrictions with how much OpenAPI can express, we patch the schemas with the better-typed ones from the
diff --git a/packages/hash/subgraph/src/types/subgraph.ts b/packages/hash/subgraph/src/types/subgraph.ts
index 15729287fcd..77a6fce62ce 100644
--- a/packages/hash/subgraph/src/types/subgraph.ts
+++ b/packages/hash/subgraph/src/types/subgraph.ts
@@ -2,15 +2,16 @@ import {
GraphResolveDepths,
OntologyTypeEditionId,
} from "@hashintel/hash-graph-client";
+
+import { Edges } from "./edge";
import {
DataTypeWithMetadata,
- EntityTypeWithMetadata,
Entity,
+ EntityTypeWithMetadata,
PropertyTypeWithMetadata,
} from "./element";
-import { Vertices } from "./vertex";
-import { Edges } from "./edge";
import { EntityEditionId } from "./identifier";
+import { Vertices } from "./vertex";
export type SubgraphRootTypes = {
dataType: {
diff --git a/packages/hash/subgraph/src/types/vertex.ts b/packages/hash/subgraph/src/types/vertex.ts
index 36f7a50bccf..cde50029dd0 100644
--- a/packages/hash/subgraph/src/types/vertex.ts
+++ b/packages/hash/subgraph/src/types/vertex.ts
@@ -1,4 +1,5 @@
import { BaseUri } from "@blockprotocol/type-system";
+
import {
DataTypeWithMetadata,
Entity,
diff --git a/packages/hash/subgraph/tests/compatibility.test.ts b/packages/hash/subgraph/tests/compatibility.test.ts
index 8735f15fc5e..c9eae7359b3 100644
--- a/packages/hash/subgraph/tests/compatibility.test.ts
+++ b/packages/hash/subgraph/tests/compatibility.test.ts
@@ -9,10 +9,11 @@
*/
import { Subgraph as SubgraphGraphApi } from "@hashintel/hash-graph-client";
+
import { Subgraph } from "../src";
-import { mapVertices } from "./compatibility.test/map-vertices";
import { mapEdges } from "./compatibility.test/map-edges";
import { mapRoots } from "./compatibility.test/map-roots";
+import { mapVertices } from "./compatibility.test/map-vertices";
test("Graph API subgraph type is compatible with library type", () => {
// We don't need an actual subgraph, we are just checking for TSC errors
diff --git a/packages/hash/subgraph/tests/compatibility.test/map-edges.ts b/packages/hash/subgraph/tests/compatibility.test/map-edges.ts
index 6faf504153a..908c5df4268 100644
--- a/packages/hash/subgraph/tests/compatibility.test/map-edges.ts
+++ b/packages/hash/subgraph/tests/compatibility.test/map-edges.ts
@@ -1,9 +1,10 @@
+import { validateBaseUri } from "@blockprotocol/type-system";
import {
Edges as EdgesGraphApi,
KnowledgeGraphOutwardEdges,
OntologyOutwardEdges,
} from "@hashintel/hash-graph-client";
-import { validateBaseUri } from "@blockprotocol/type-system";
+
import {
Edges,
isEntityAndTimestamp,
diff --git a/packages/hash/subgraph/tests/compatibility.test/map-roots.ts b/packages/hash/subgraph/tests/compatibility.test/map-roots.ts
index 91dfe80b84e..b98c23819f7 100644
--- a/packages/hash/subgraph/tests/compatibility.test/map-roots.ts
+++ b/packages/hash/subgraph/tests/compatibility.test/map-roots.ts
@@ -1,4 +1,5 @@
import { Subgraph as SubgraphGraphApi } from "@hashintel/hash-graph-client";
+
import {
isEntityEditionId,
isOntologyTypeEditionId,
diff --git a/packages/hash/subgraph/tests/compatibility.test/map-vertices.ts b/packages/hash/subgraph/tests/compatibility.test/map-vertices.ts
index a9eba440cf8..542c1dbcff6 100644
--- a/packages/hash/subgraph/tests/compatibility.test/map-vertices.ts
+++ b/packages/hash/subgraph/tests/compatibility.test/map-vertices.ts
@@ -1,11 +1,3 @@
-import {
- DataType as DataTypeGraphApi,
- EntityType as EntityTypeGraphApi,
- OntologyVertex as OntologyVertexGraphApi,
- KnowledgeGraphVertex as KnowledgeGraphVertexGraphApi,
- PropertyType as PropertyTypeGraphApi,
- Vertices as VerticesGraphApi,
-} from "@hashintel/hash-graph-client";
import {
DataType,
EntityType,
@@ -17,12 +9,21 @@ import {
VersionedUri,
} from "@blockprotocol/type-system";
import {
+ DataType as DataTypeGraphApi,
+ EntityType as EntityTypeGraphApi,
+ KnowledgeGraphVertex as KnowledgeGraphVertexGraphApi,
+ OntologyVertex as OntologyVertexGraphApi,
+ PropertyType as PropertyTypeGraphApi,
+ Vertices as VerticesGraphApi,
+} from "@hashintel/hash-graph-client";
+
+import {
+ EntityId,
isEntityId,
- OntologyVertex,
KnowledgeGraphVertex,
- Vertices,
+ OntologyVertex,
PropertyObject,
- EntityId,
+ Vertices,
} from "../../src";
const mapDataType = (dataType: DataTypeGraphApi): DataType => {