diff --git a/.changeset/ts-6-0-3-migration.md b/.changeset/ts-6-0-3-migration.md new file mode 100644 index 00000000000..3621a836fa5 --- /dev/null +++ b/.changeset/ts-6-0-3-migration.md @@ -0,0 +1,5 @@ +--- +"@blockprotocol/graph": patch +--- + +Bump the `typescript` runtime dependency (used by the codegen module) from 5.9.3 to 6.0.3 diff --git a/.claude/hooks/package.json b/.claude/hooks/package.json index d1e199d89f8..ed37adf0a77 100644 --- a/.claude/hooks/package.json +++ b/.claude/hooks/package.json @@ -23,7 +23,7 @@ "@vitest/coverage-istanbul": "4.1.8", "eslint": "9.39.4", "tsx": "4.20.6", - "typescript": "5.9.3", + "typescript": "6.0.3", "vitest": "4.1.8" } } diff --git a/.claude/hooks/tsconfig.json b/.claude/hooks/tsconfig.json index af29f749687..30c9d0b9ebb 100644 --- a/.claude/hooks/tsconfig.json +++ b/.claude/hooks/tsconfig.json @@ -2,6 +2,7 @@ "extends": "@local/tsconfig/legacy-base-tsconfig-to-refactor.json", "include": ["*.ts"], "compilerOptions": { + "types": ["node"], "module": "NodeNext", "moduleResolution": "NodeNext" } diff --git a/apps/hash-ai-worker-ts/package.json b/apps/hash-ai-worker-ts/package.json index 8468b225cc2..14c00e41d50 100644 --- a/apps/hash-ai-worker-ts/package.json +++ b/apps/hash-ai-worker-ts/package.json @@ -94,8 +94,7 @@ "puppeteer-core": "22.15.0", "sanitize-html": "2.17.4", "tsconfig-paths-webpack-plugin": "4.2.0", - "tsx": "4.20.6", - "typescript": "5.9.3" + "tsx": "4.20.6" }, "devDependencies": { "@local/eslint": "workspace:*", @@ -112,7 +111,7 @@ "@vitest/coverage-istanbul": "4.1.8", "eslint": "9.39.4", "rimraf": "6.1.3", - "typescript": "5.9.3", + "typescript": "6.0.3", "vitest": "4.1.8", "wait-on": "9.0.1" } diff --git a/apps/hash-ai-worker-ts/src/activities/flow-activities/write-google-sheet-action/convert-subgraph-to-sheet-requests.ts b/apps/hash-ai-worker-ts/src/activities/flow-activities/write-google-sheet-action/convert-subgraph-to-sheet-requests.ts index 2645510d12c..d5af548fe51 100644 --- a/apps/hash-ai-worker-ts/src/activities/flow-activities/write-google-sheet-action/convert-subgraph-to-sheet-requests.ts +++ b/apps/hash-ai-worker-ts/src/activities/flow-activities/write-google-sheet-action/convert-subgraph-to-sheet-requests.ts @@ -106,7 +106,7 @@ const createColumnsForEntity = ( for (const { schema } of entityTypeAndParents) { for (const baseUrl of typedKeys(schema.properties)) { - properties.add(baseUrl as BaseUrl); + properties.add(baseUrl); } for (const linkTypeId of typedKeys(schema.links ?? {})) { links.add(linkTypeId); diff --git a/apps/hash-ai-worker-ts/src/activities/shared/get-llm-response/get-openai-reponse.ts b/apps/hash-ai-worker-ts/src/activities/shared/get-llm-response/get-openai-reponse.ts index 0ed07a37879..45641613bb1 100644 --- a/apps/hash-ai-worker-ts/src/activities/shared/get-llm-response/get-openai-reponse.ts +++ b/apps/hash-ai-worker-ts/src/activities/shared/get-llm-response/get-openai-reponse.ts @@ -55,7 +55,7 @@ const mapLlmToolDefinitionToOpenAiToolDefinition = ( */ strict: false, name: tool.name, - parameters: tool.inputSchema as OpenAI.FunctionParameters, + parameters: tool.inputSchema, description: tool.description, }, }); diff --git a/apps/hash-ai-worker-ts/src/activities/shared/get-llm-response/llm-message.ts b/apps/hash-ai-worker-ts/src/activities/shared/get-llm-response/llm-message.ts index eb10cce24e8..8d23de5296b 100644 --- a/apps/hash-ai-worker-ts/src/activities/shared/get-llm-response/llm-message.ts +++ b/apps/hash-ai-worker-ts/src/activities/shared/get-llm-response/llm-message.ts @@ -362,7 +362,7 @@ export const mapOpenAiMessagesToLlmMessages = (params: { { role: "user", content: [toolResultContent], - } as LlmUserMessage, + }, ]; } diff --git a/apps/hash-ai-worker-ts/tsconfig.build.json b/apps/hash-ai-worker-ts/tsconfig.build.json index 67fc1dbc5f2..9eae5db79cb 100644 --- a/apps/hash-ai-worker-ts/tsconfig.build.json +++ b/apps/hash-ai-worker-ts/tsconfig.build.json @@ -3,6 +3,7 @@ "include": ["src"], "compilerOptions": { "outDir": "dist", + "rootDir": "./src", "sourceMap": true, "inlineSources": true, "paths": {} diff --git a/apps/hash-ai-worker-ts/tsconfig.json b/apps/hash-ai-worker-ts/tsconfig.json index 79c9fb2aa8d..8608cd2c52b 100644 --- a/apps/hash-ai-worker-ts/tsconfig.json +++ b/apps/hash-ai-worker-ts/tsconfig.json @@ -2,6 +2,7 @@ "extends": "@local/tsconfig/legacy-base-tsconfig-to-refactor.json", "include": ["src", "scripts", "eslint.config.js", "vitest.config.ts"], "compilerOptions": { + "types": ["node"], "module": "NodeNext", "moduleResolution": "NodeNext" } diff --git a/apps/hash-api/package.json b/apps/hash-api/package.json index 0a8f7abce3e..40eb031ba51 100644 --- a/apps/hash-api/package.json +++ b/apps/hash-api/package.json @@ -107,7 +107,6 @@ "sanitize-html": "2.17.4", "ts-json-schema-generator": "1.5.1", "tsx": "4.20.6", - "typescript": "5.9.3", "ws": "8.21.0" }, "devDependencies": { @@ -133,7 +132,7 @@ "@vitest/coverage-istanbul": "4.1.8", "eslint": "9.39.4", "rimraf": "6.1.3", - "typescript": "5.9.3", + "typescript": "6.0.3", "vitest": "4.1.8", "wait-on": "9.0.1" } diff --git a/apps/hash-api/src/analysis/setup-analysis-handler/resolve-analysis.test.ts b/apps/hash-api/src/analysis/setup-analysis-handler/resolve-analysis.test.ts index 57be66f4679..d37124528d3 100644 --- a/apps/hash-api/src/analysis/setup-analysis-handler/resolve-analysis.test.ts +++ b/apps/hash-api/src/analysis/setup-analysis-handler/resolve-analysis.test.ts @@ -1,10 +1,6 @@ import { beforeEach, describe, expect, it, vi } from "vitest"; -import type { - ActorEntityUuid, - RoleName, - WebId, -} from "@blockprotocol/type-system"; +import type { ActorEntityUuid, WebId } from "@blockprotocol/type-system"; import type { FileStorageProvider } from "@local/hash-backend-utils/file-storage"; import type Keyv from "keyv"; @@ -83,7 +79,7 @@ describe("resolveInvocation (supply-chain analyses)", () => { clearAnalysisRegistry(); registerAnalyses(supplyChainAnalyses); mockedGetRole.mockReset(); - mockedGetRole.mockResolvedValue("member" as RoleName); + mockedGetRole.mockResolvedValue("member"); }); it("resolves productGraph to a presigned graph artifact", async () => { diff --git a/apps/hash-api/src/graph/knowledge/primitive/entity/before-update-entity-hooks/user-before-update-entity-hook-callback.ts b/apps/hash-api/src/graph/knowledge/primitive/entity/before-update-entity-hooks/user-before-update-entity-hook-callback.ts index 4a0df76019c..12592e6915d 100644 --- a/apps/hash-api/src/graph/knowledge/primitive/entity/before-update-entity-hooks/user-before-update-entity-hook-callback.ts +++ b/apps/hash-api/src/graph/knowledge/primitive/entity/before-update-entity-hooks/user-before-update-entity-hook-callback.ts @@ -33,11 +33,7 @@ import { import type { ImpureGraphContext } from "../../../../context-types"; import type { BeforeUpdateEntityHookCallback } from "../update-entity-hooks"; -import type { - ActorEntityUuid, - BaseUrl, - WebId, -} from "@blockprotocol/type-system"; +import type { ActorEntityUuid, BaseUrl } from "@blockprotocol/type-system"; import type { UserProperties } from "@local/hash-isomorphic-utils/system-types/user"; /** @@ -255,7 +251,7 @@ export const userBeforeEntityUpdateHookCallback: BeforeUpdateEntityHookCallback await updateWebShortname( context.graphApi, { actorId: systemAccountId }, - { webId: user.accountId as WebId, shortname: updatedShortname }, + { webId: user.accountId, shortname: updatedShortname }, ); } }; diff --git a/apps/hash-api/src/graph/knowledge/system-types/comment.ts b/apps/hash-api/src/graph/knowledge/system-types/comment.ts index c1cfcc97464..52c2a4eb94a 100644 --- a/apps/hash-api/src/graph/knowledge/system-types/comment.ts +++ b/apps/hash-api/src/graph/knowledge/system-types/comment.ts @@ -453,7 +453,7 @@ export const getCommentAncestorBlock: ImpureGraphFunction< ) ) { // @todo - make sure the entity is really a block - return getBlockFromEntity({ entity: parentEntity as Block["entity"] }); + return getBlockFromEntity({ entity: parentEntity }); } else { return getCommentAncestorBlock(context, authentication, { commentEntityId: parentEntity.metadata.recordId.entityId, diff --git a/apps/hash-api/src/graph/knowledge/system-types/user-secret.ts b/apps/hash-api/src/graph/knowledge/system-types/user-secret.ts index 2b8928b9b3e..19aee5d9201 100644 --- a/apps/hash-api/src/graph/knowledge/system-types/user-secret.ts +++ b/apps/hash-api/src/graph/knowledge/system-types/user-secret.ts @@ -15,7 +15,6 @@ import type { MachineId, ProvidedEntityEditionProvenance, UserId, - WebId, } from "@blockprotocol/type-system"; import type { UserSecretService, @@ -165,7 +164,7 @@ export const createUserSecret = async < authentication, { entityTypeIds: [systemEntityTypes.userSecret.entityTypeId], - webId: userAccountId as WebId, + webId: userAccountId, entityUuid: userSecretEntityUuid, properties: secretMetadata, policies: [ @@ -188,7 +187,7 @@ export const createUserSecret = async < { graphApi, provenance }, authentication, { - webId: userAccountId as WebId, + webId: userAccountId, entityUuid: usesUserSecretEntityUuid, properties: { value: {} }, linkData: { diff --git a/apps/hash-api/src/graphql/resolvers/knowledge/user/submit-early-access-form.ts b/apps/hash-api/src/graphql/resolvers/knowledge/user/submit-early-access-form.ts index 872bf36c243..cfcd6ab6091 100644 --- a/apps/hash-api/src/graphql/resolvers/knowledge/user/submit-early-access-form.ts +++ b/apps/hash-api/src/graphql/resolvers/knowledge/user/submit-early-access-form.ts @@ -10,7 +10,6 @@ import type { ResolverFn, } from "../../../api-types.gen"; import type { LoggedInGraphQLContext } from "../../../context"; -import type { WebId } from "@blockprotocol/type-system"; import type { ProspectiveUser } from "@local/hash-isomorphic-utils/system-types/prospectiveuser"; export const submitEarlyAccessFormResolver: ResolverFn< @@ -31,7 +30,7 @@ export const submitEarlyAccessFormResolver: ResolverFn< /** The user does not yet have permissions to create entities, so we do it with the HASH system account instead */ authentication, { - webId: user.accountId as WebId, + webId: user.accountId, entityTypeIds: [systemEntityTypes.prospectiveUser.entityTypeId], properties: { value: { diff --git a/apps/hash-api/src/graphql/resolvers/ontology/entity-type.ts b/apps/hash-api/src/graphql/resolvers/ontology/entity-type.ts index c0412602c8d..d4c4fac077a 100644 --- a/apps/hash-api/src/graphql/resolvers/ontology/entity-type.ts +++ b/apps/hash-api/src/graphql/resolvers/ontology/entity-type.ts @@ -33,7 +33,6 @@ import type { GraphQLContext, LoggedInGraphQLContext } from "../../context"; import type { EntityTypeWithMetadata, OntologyTemporalMetadata, - WebId, } from "@blockprotocol/type-system"; import type { UserPermissionsOnEntityType } from "@local/hash-graph-sdk/authorization"; import type { @@ -55,7 +54,7 @@ export const createEntityTypeResolver: ResolverFn< const { webId, entityType } = params; const createdEntityType = await createEntityType(context, authentication, { - webId: webId ?? (user.accountId as WebId), + webId: webId ?? user.accountId, schema: entityType, }); diff --git a/apps/hash-api/src/graphql/resolvers/ontology/property-type.ts b/apps/hash-api/src/graphql/resolvers/ontology/property-type.ts index 0f52e150014..fb30bb15456 100644 --- a/apps/hash-api/src/graphql/resolvers/ontology/property-type.ts +++ b/apps/hash-api/src/graphql/resolvers/ontology/property-type.ts @@ -27,7 +27,6 @@ import type { GraphQLContext, LoggedInGraphQLContext } from "../../context"; import type { OntologyTemporalMetadata, PropertyTypeWithMetadata, - WebId, } from "@blockprotocol/type-system"; export const createPropertyTypeResolver: ResolverFn< @@ -46,7 +45,7 @@ export const createPropertyTypeResolver: ResolverFn< context, authentication, { - webId: (webId ?? user.accountId) as WebId, + webId: webId ?? user.accountId, schema: propertyType, }, ); diff --git a/apps/hash-api/src/integrations/google/oauth-callback.ts b/apps/hash-api/src/integrations/google/oauth-callback.ts index 9310243169d..298e5d9e3b5 100644 --- a/apps/hash-api/src/integrations/google/oauth-callback.ts +++ b/apps/hash-api/src/integrations/google/oauth-callback.ts @@ -12,7 +12,6 @@ import { createEntity } from "../../graph/knowledge/primitive/entity"; import { createUserSecret } from "../../graph/knowledge/system-types/user-secret"; import { enabledIntegrations } from "../enabled-integrations"; -import type { WebId } from "@blockprotocol/type-system"; import type { GoogleOAuth2CallbackRequest, GoogleOAuth2CallbackResponse, @@ -125,7 +124,7 @@ export const googleOAuthCallback: RequestHandler< newGoogleAccountEntity = await createEntity(req.context, authentication, { entityTypeIds: [googleEntityTypes.account.entityTypeId], - webId: req.user.accountId as WebId, + webId: req.user.accountId, properties: googleAccountProperties, }); } diff --git a/apps/hash-api/src/integrations/linear/oauth.ts b/apps/hash-api/src/integrations/linear/oauth.ts index 084fbe86f57..74fecc17aab 100644 --- a/apps/hash-api/src/integrations/linear/oauth.ts +++ b/apps/hash-api/src/integrations/linear/oauth.ts @@ -25,7 +25,6 @@ import type { EntityId, EntityUuid, UserId, - WebId, } from "@blockprotocol/type-system"; import type { LinearIntegrationPropertiesWithMetadata } from "@local/hash-isomorphic-utils/system-types/linearintegration"; import type { RequestHandler } from "express"; @@ -246,7 +245,7 @@ export const oAuthLinearCallback: RequestHandler< authentication, { entityTypeIds: [systemEntityTypes.linearIntegration.entityTypeId], - webId: userAccountId as WebId, + webId: userAccountId, entityUuid, properties: linearIntegrationProperties, }, diff --git a/apps/hash-api/tsconfig.json b/apps/hash-api/tsconfig.json index fc7cc2a2407..98239d554aa 100644 --- a/apps/hash-api/tsconfig.json +++ b/apps/hash-api/tsconfig.json @@ -1,4 +1,7 @@ { "extends": "@local/tsconfig/legacy-base-tsconfig-to-refactor.json", - "include": ["src", "codegen.config.ts", "vitest.config.ts"] + "include": ["src", "codegen.config.ts", "vitest.config.ts"], + "compilerOptions": { + "types": ["node"] + } } diff --git a/apps/hash-frontend/package.json b/apps/hash-frontend/package.json index f2fb883088e..e0eaf745488 100644 --- a/apps/hash-frontend/package.json +++ b/apps/hash-frontend/package.json @@ -169,7 +169,7 @@ "graphology-types": "0.24.8", "rimraf": "6.1.3", "sass": "1.93.2", - "typescript": "5.9.3", + "typescript": "6.0.3", "vitest": "4.1.8", "wait-on": "9.0.1", "webpack": "5.104.1" diff --git a/apps/hash-frontend/src/blocks/use-fetch-block-subgraph.ts b/apps/hash-frontend/src/blocks/use-fetch-block-subgraph.ts index c8df6f7ef41..a4a32e697f3 100644 --- a/apps/hash-frontend/src/blocks/use-fetch-block-subgraph.ts +++ b/apps/hash-frontend/src/blocks/use-fetch-block-subgraph.ts @@ -17,14 +17,8 @@ import type { QueryEntitySubgraphQueryVariables, SubgraphAndPermissions as SubgraphAndPermissionsGQL, } from "../graphql/api-types.gen"; +import type { EntityRootType, Subgraph } from "@blockprotocol/graph"; import type { - EntityRootType, - KnowledgeGraphVertices, - Subgraph, -} from "@blockprotocol/graph"; -import type { - ActorEntityUuid, - EntityEditionId, EntityId, PropertyObject, VersionedUrl, @@ -65,8 +59,8 @@ export const useFetchBlockSubgraph = (): (( const placeholderEntity = new HashEntity({ metadata: { recordId: { - entityId: "placeholder-account~entity-id-not-set" as EntityId, - editionId: now as string as EntityEditionId, + entityId: "placeholder-account~entity-id-not-set", + editionId: now, }, entityTypeIds: blockEntityTypeIds, temporalVersioning: { @@ -92,13 +86,13 @@ export const useFetchBlockSubgraph = (): (( archived: false, provenance: { edition: { - createdById: "placeholder-account" as ActorEntityUuid, + createdById: "placeholder-account", actorType: "user", origin: { type: "web-app", }, }, - createdById: "placeholder-account" as ActorEntityUuid, + createdById: "placeholder-account", createdAtTransactionTime: now, createdAtDecisionTime: now, }, @@ -140,7 +134,7 @@ export const useFetchBlockSubgraph = (): (( inner: placeholderEntity, }, }, - } as KnowledgeGraphVertices, + }, temporalAxes: { initial: subgraphTemporalAxes, resolved: subgraphTemporalAxes, diff --git a/apps/hash-frontend/src/components/block-loader/block-loader.tsx b/apps/hash-frontend/src/components/block-loader/block-loader.tsx index a785b763946..52150b71083 100644 --- a/apps/hash-frontend/src/components/block-loader/block-loader.tsx +++ b/apps/hash-frontend/src/components/block-loader/block-loader.tsx @@ -33,7 +33,6 @@ import { RemoteBlock } from "../remote-block/remote-block"; import { fetchEmbedCode } from "./fetch-embed-code"; import type { - ArchiveEntityMessageCallback, CreateEntityMessageCallback, UpdateEntityMessageCallback, UploadFileRequestCallback, @@ -452,9 +451,7 @@ export const BlockLoader: FunctionComponent = ({ deleteEntity: async ( ...args: Parameters ) => { - const res = await deleteEntity( - args[0] as Parameters[0], - ); + const res = await deleteEntity(args[0]); await refetchSubgraph(); diff --git a/apps/hash-frontend/src/components/sandbox/framed-block/framed-block.tsx b/apps/hash-frontend/src/components/sandbox/framed-block/framed-block.tsx index e7bfb851d83..b29e488871b 100644 --- a/apps/hash-frontend/src/components/sandbox/framed-block/framed-block.tsx +++ b/apps/hash-frontend/src/components/sandbox/framed-block/framed-block.tsx @@ -29,10 +29,7 @@ export const FramedBlock: FunctionComponent = () => { const _beforeCapture = useCallback( (scope: Sentry.Scope) => { - scope.setTag( - "block", - blockProperties?.metadata.recordId.entityId as string, - ); + scope.setTag("block", blockProperties?.metadata.recordId.entityId); }, [blockProperties], ); diff --git a/apps/hash-frontend/src/lib/user-and-org.ts b/apps/hash-frontend/src/lib/user-and-org.ts index 79821ea0962..ccbbe974ac9 100644 --- a/apps/hash-frontend/src/lib/user-and-org.ts +++ b/apps/hash-frontend/src/lib/user-and-org.ts @@ -219,7 +219,7 @@ export const constructOrg = (params: { ) { hasBio = { linkEntity: linkEntityRevision, - profileBioEntity: rightEntityRevision as HashEntity, + profileBioEntity: rightEntityRevision, }; continue; } diff --git a/apps/hash-frontend/src/pages/@/[shortname].page/edit-pinned-entity-types-modal.tsx b/apps/hash-frontend/src/pages/@/[shortname].page/edit-pinned-entity-types-modal.tsx index 62d61bfd9fe..9397a4db4c1 100644 --- a/apps/hash-frontend/src/pages/@/[shortname].page/edit-pinned-entity-types-modal.tsx +++ b/apps/hash-frontend/src/pages/@/[shortname].page/edit-pinned-entity-types-modal.tsx @@ -35,7 +35,7 @@ import type { UpdateEntityMutationVariables, } from "../../../graphql/api-types.gen"; import type { Org, User } from "../../../lib/user-and-org"; -import type { EntityTypeWithMetadata, WebId } from "@blockprotocol/type-system"; +import type { EntityTypeWithMetadata } from "@blockprotocol/type-system"; import type { ModalProps } from "@mui/material"; import type { FunctionComponent, ReactElement } from "react"; import type { @@ -102,7 +102,7 @@ export const EditPinnedEntityTypesModal: FunctionComponent< >(updateEntityMutation, { errorPolicy: "all" }); const { createEntityType } = useBlockProtocolCreateEntityType( - authenticatedUser.accountId as WebId, + authenticatedUser.accountId, ); const { control, reset, handleSubmit, formState } = diff --git a/apps/hash-frontend/src/pages/@/[shortname].page/edit-user-profile-info-modal/user-profile-info-form.tsx b/apps/hash-frontend/src/pages/@/[shortname].page/edit-user-profile-info-modal/user-profile-info-form.tsx index 90567b7afcf..bbda178f020 100644 --- a/apps/hash-frontend/src/pages/@/[shortname].page/edit-user-profile-info-modal/user-profile-info-form.tsx +++ b/apps/hash-frontend/src/pages/@/[shortname].page/edit-user-profile-info-modal/user-profile-info-form.tsx @@ -28,7 +28,6 @@ import type { User, UserServiceAccount, } from "../../../../lib/user-and-org"; -import type { WebId } from "@blockprotocol/type-system"; import type { HashEntity, HashLinkEntity } from "@local/hash-graph-sdk/entity"; import type { ProfileURLPropertyValueWithMetadata } from "@local/hash-isomorphic-utils/system-types/shared"; import type { FunctionComponent } from "react"; @@ -57,9 +56,7 @@ export const UserProfileInfoForm: FunctionComponent<{ const [updateUser] = useUpdateAuthenticatedUser(); const { archiveEntity } = useBlockProtocolArchiveEntity(); - const { createEntity } = useBlockProtocolCreateEntity( - userProfile.accountId as WebId, - ); + const { createEntity } = useBlockProtocolCreateEntity(userProfile.accountId); const [updateEntity] = useMutation< UpdateEntityMutation, diff --git a/apps/hash-frontend/src/pages/@/[shortname].page/edit-user-profile-info-modal/user-profile-info-modal-header.tsx b/apps/hash-frontend/src/pages/@/[shortname].page/edit-user-profile-info-modal/user-profile-info-modal-header.tsx index 46c1d6118ee..3f06971ffea 100644 --- a/apps/hash-frontend/src/pages/@/[shortname].page/edit-user-profile-info-modal/user-profile-info-modal-header.tsx +++ b/apps/hash-frontend/src/pages/@/[shortname].page/edit-user-profile-info-modal/user-profile-info-modal-header.tsx @@ -15,7 +15,6 @@ import { useUpdateProfileAvatar } from "../../[shortname]/shared/use-update-prof import { leftColumnWidth } from "../util"; import type { User } from "../../../../lib/user-and-org"; -import type { WebId } from "@blockprotocol/type-system"; import type { ChangeEventHandler, FunctionComponent } from "react"; // const AvatarButton = styled((props: ButtonProps) => ( @@ -137,7 +136,7 @@ export const UserProfileInfoModalHeader: FunctionComponent<{ // setNewCoverImageUploading(true); await uploadFile({ - webId: userProfile.accountId as WebId, + webId: userProfile.accountId, makePublic: true, fileData: { description: `The cover image for the ${userProfile.displayName} user in HASH`, diff --git a/apps/hash-frontend/src/pages/@/[shortname].page/pinned-entity-type-tab-contents.tsx b/apps/hash-frontend/src/pages/@/[shortname].page/pinned-entity-type-tab-contents.tsx index 4ab6d0bf96b..8c3e9b26666 100644 --- a/apps/hash-frontend/src/pages/@/[shortname].page/pinned-entity-type-tab-contents.tsx +++ b/apps/hash-frontend/src/pages/@/[shortname].page/pinned-entity-type-tab-contents.tsx @@ -37,7 +37,7 @@ import { ProfileSectionHeading } from "../[shortname]/shared/profile-section-hea import type { Org, User } from "../../../lib/user-and-org"; import type { ProfilePageTab } from "./util"; import type { EntityRootType, Subgraph } from "@blockprotocol/graph"; -import type { EntityTypeWithMetadata, WebId } from "@blockprotocol/type-system"; +import type { EntityTypeWithMetadata } from "@blockprotocol/type-system"; import type { HashEntity } from "@local/hash-graph-sdk/entity"; import type { FunctionComponent } from "react"; @@ -139,9 +139,7 @@ export const PinnedEntityTypeTabContents: FunctionComponent<{ const [sortOrder, setSortOrder] = useState("updated-at-desc"); - const webId = ( - profile.kind === "user" ? profile.accountId : profile.webId - ) as WebId; + const webId = profile.kind === "user" ? profile.accountId : profile.webId; const { lastRootPageIndex } = useAccountPages(webId); const [createUntitledPage] = useCreatePage({ diff --git a/apps/hash-frontend/src/pages/@/[shortname]/shared/flow-visualizer/activity-log.tsx b/apps/hash-frontend/src/pages/@/[shortname]/shared/flow-visualizer/activity-log.tsx index 796230b1921..ff4df621284 100644 --- a/apps/hash-frontend/src/pages/@/[shortname]/shared/flow-visualizer/activity-log.tsx +++ b/apps/hash-frontend/src/pages/@/[shortname]/shared/flow-visualizer/activity-log.tsx @@ -50,7 +50,6 @@ import type { EntityRootType } from "@blockprotocol/graph"; import type { EntityEditionId, EntityId, - EntityMetadata, EntityRecordId, } from "@blockprotocol/type-system"; import type { Filter } from "@local/hash-graph-client"; @@ -101,7 +100,7 @@ const getEntityLabelFromLog = ( entityId: proposedEntity.localEntityId, } satisfies EntityRecordId, entityTypeIds: proposedEntity.entityTypeIds, - } as EntityMetadata, + }, }, true, ); diff --git a/apps/hash-frontend/src/pages/@/[shortname]/shared/flow-visualizer/outputs.tsx b/apps/hash-frontend/src/pages/@/[shortname]/shared/flow-visualizer/outputs.tsx index d93ab6d7469..2af020d91aa 100644 --- a/apps/hash-frontend/src/pages/@/[shortname]/shared/flow-visualizer/outputs.tsx +++ b/apps/hash-frontend/src/pages/@/[shortname]/shared/flow-visualizer/outputs.tsx @@ -35,7 +35,6 @@ import type { EntityRootType, Subgraph } from "@blockprotocol/graph"; import type { EntityEditionId, EntityId, - EntityUuid, LeftClosedTemporalInterval, Timestamp, VersionedUrl, @@ -321,9 +320,7 @@ export const Outputs = ({ const hasClaims = !!selectedFlowRun && - goalFlowDefinitionIds.includes( - selectedFlowRun.flowDefinitionId as EntityUuid, - ); + goalFlowDefinitionIds.includes(selectedFlowRun.flowDefinitionId); const hasEntities = persistedEntitiesMetadata.length > 0 || proposedEntities.length > 0; diff --git a/apps/hash-frontend/src/pages/@/[shortname]/shared/flow-visualizer/outputs/deliverables/shared/types.ts b/apps/hash-frontend/src/pages/@/[shortname]/shared/flow-visualizer/outputs/deliverables/shared/types.ts index 4ff7bd01fec..62b58e07f0a 100644 --- a/apps/hash-frontend/src/pages/@/[shortname]/shared/flow-visualizer/outputs/deliverables/shared/types.ts +++ b/apps/hash-frontend/src/pages/@/[shortname]/shared/flow-visualizer/outputs/deliverables/shared/types.ts @@ -1,4 +1,4 @@ -import type { VersionedUrl } from "@blockprotocol/type-system/dist/cjs-slim/index-slim"; +import type { VersionedUrl } from "@blockprotocol/type-system/slim"; export type DeliverableData = | { diff --git a/apps/hash-frontend/src/pages/@/[shortname]/shared/flow-visualizer/outputs/entity-result-table.tsx b/apps/hash-frontend/src/pages/@/[shortname]/shared/flow-visualizer/outputs/entity-result-table.tsx index b61f5a4390f..66fc30b64c7 100644 --- a/apps/hash-frontend/src/pages/@/[shortname]/shared/flow-visualizer/outputs/entity-result-table.tsx +++ b/apps/hash-frontend/src/pages/@/[shortname]/shared/flow-visualizer/outputs/entity-result-table.tsx @@ -514,6 +514,7 @@ export const EntityResultTable = memo( relevance: { header: "Relevance", initialValue: "All", + // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion -- false positive with typescript-eslint 8.62 under TS 6.0 (removing the assertion breaks tsc); remove once typescript-eslint >= 8.63 is in options: { All: { count: 0, @@ -526,18 +527,21 @@ export const EntityResultTable = memo( status: { header: "Status", initialValue: new Set(), + // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion -- false positive with typescript-eslint 8.62 under TS 6.0 (removing the assertion breaks tsc); remove once typescript-eslint >= 8.63 is in options: {} as VirtualizedTableFilterDefinition["options"], type: "checkboxes", }, entityTypeIds: { header: "Type", initialValue: new Set(), + // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion -- false positive with typescript-eslint 8.62 under TS 6.0 (removing the assertion breaks tsc); remove once typescript-eslint >= 8.63 is in options: {} as VirtualizedTableFilterDefinition["options"], type: "checkboxes", }, entityLabel: { header: "Name", initialValue: new Set(), + // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion -- false positive with typescript-eslint 8.62 under TS 6.0 (removing the assertion breaks tsc); remove once typescript-eslint >= 8.63 is in options: {} as VirtualizedTableFilterDefinition["options"], type: "checkboxes", }, diff --git a/apps/hash-frontend/src/pages/actions.page/draft-entities/draft-entities-filters.tsx b/apps/hash-frontend/src/pages/actions.page/draft-entities/draft-entities-filters.tsx index d6254a3793d..7de317590bb 100644 --- a/apps/hash-frontend/src/pages/actions.page/draft-entities/draft-entities-filters.tsx +++ b/apps/hash-frontend/src/pages/actions.page/draft-entities/draft-entities-filters.tsx @@ -473,9 +473,7 @@ export const DraftEntitiesFilters: FunctionComponent<{ }, ) .map(({ web, label }) => { - const webWebId = ( - web.kind === "user" ? web.accountId : web.webId - ) as WebId; + const webWebId = web.kind === "user" ? web.accountId : web.webId; return { icon: web.kind === "user" ? : , label, diff --git a/apps/hash-frontend/src/pages/goals.page/goals-list.tsx b/apps/hash-frontend/src/pages/goals.page/goals-list.tsx index fe4a0c3f036..2b6faa7f130 100644 --- a/apps/hash-frontend/src/pages/goals.page/goals-list.tsx +++ b/apps/hash-frontend/src/pages/goals.page/goals-list.tsx @@ -9,7 +9,6 @@ import { flowRunStatusToStatusText } from "../shared/flow-tables"; import { GoalListSection } from "./goals-list/goal-list-section"; import type { GoalSummary } from "./goals-list/goal-list-section/goal-row"; -import type { EntityUuid } from "@blockprotocol/type-system"; export const GoalsList = () => { const { flowRuns, loading } = useFlowRunsContext(); @@ -26,7 +25,7 @@ export const GoalsList = () => { const webByWebId: Record = {}; for (const run of flowRuns) { - if (!goalFlowDefinitionIds.includes(run.flowDefinitionId as EntityUuid)) { + if (!goalFlowDefinitionIds.includes(run.flowDefinitionId)) { continue; } diff --git a/apps/hash-frontend/src/pages/notes.page/convert-quick-note-to-page-modal.tsx b/apps/hash-frontend/src/pages/notes.page/convert-quick-note-to-page-modal.tsx index 806d34fc29a..80c96466cb2 100644 --- a/apps/hash-frontend/src/pages/notes.page/convert-quick-note-to-page-modal.tsx +++ b/apps/hash-frontend/src/pages/notes.page/convert-quick-note-to-page-modal.tsx @@ -28,7 +28,7 @@ import type { UpdateEntityMutation, UpdateEntityMutationVariables, } from "../../graphql/api-types.gen"; -import type { BaseUrl, WebId } from "@blockprotocol/type-system"; +import type { BaseUrl } from "@blockprotocol/type-system"; import type { FractionalIndexPropertyValueWithMetadata, PageProperties, @@ -65,7 +65,7 @@ export const ConvertQuickNoteToPageModal: FunctionComponent< const defaultTitle = `Quick Note - ${createdAt.toLocaleString()}`; - const { data: pages } = useAccountPages(authenticatedUser.accountId as WebId); + const { data: pages } = useAccountPages(authenticatedUser.accountId); const [updateEntity] = useMutation< UpdateEntityMutation, @@ -73,7 +73,7 @@ export const ConvertQuickNoteToPageModal: FunctionComponent< >(updateEntityMutation); const { createEntity } = useBlockProtocolCreateEntity( - authenticatedUser.accountId as WebId, + authenticatedUser.accountId, ); const innerSubmit = handleSubmit(async (data) => { diff --git a/apps/hash-frontend/src/pages/notes.page/create-quick-note.tsx b/apps/hash-frontend/src/pages/notes.page/create-quick-note.tsx index 495681b54a6..2e8d87ee5f7 100644 --- a/apps/hash-frontend/src/pages/notes.page/create-quick-note.tsx +++ b/apps/hash-frontend/src/pages/notes.page/create-quick-note.tsx @@ -15,7 +15,6 @@ import { useCreateBlockCollection } from "../shared/use-create-block-collection" import { EditableQuickNote } from "./editable-quick-note"; import type { EntityRootType, Subgraph } from "@blockprotocol/graph"; -import type { WebId } from "@blockprotocol/type-system"; import type { HashEntity } from "@local/hash-graph-sdk/entity"; import type { FunctionComponent } from "react"; @@ -67,7 +66,7 @@ export const CreateQuickNote: FunctionComponent<{ } const { createBlockCollectionEntity } = useCreateBlockCollection({ - webId: authenticatedUser.accountId as WebId, + webId: authenticatedUser.accountId, }); const { getEntity } = useBlockProtocolGetEntity(); diff --git a/apps/hash-frontend/src/pages/notes.page/editable-quick-note.tsx b/apps/hash-frontend/src/pages/notes.page/editable-quick-note.tsx index 82fd38e9425..6cd2a469f87 100644 --- a/apps/hash-frontend/src/pages/notes.page/editable-quick-note.tsx +++ b/apps/hash-frontend/src/pages/notes.page/editable-quick-note.tsx @@ -47,7 +47,7 @@ import type { } from "../../graphql/api-types.gen"; import type { PageWithParentLink } from "./convert-quick-note-to-page-modal"; import type { EntityRootType, Subgraph } from "@blockprotocol/graph"; -import type { BaseUrl, WebId } from "@blockprotocol/type-system"; +import type { BaseUrl } from "@blockprotocol/type-system"; import type { BlockCollectionContentItem } from "@local/hash-isomorphic-utils/entity"; import type { ArchivedPropertyValueWithMetadata, @@ -124,7 +124,7 @@ export const EditableQuickNote: FunctionComponent<{ useState(false); const { refetch: refetchPageTree } = useAccountPages( - authenticatedUser.accountId as WebId, + authenticatedUser.accountId, ); const blockCollectionEntityId = quickNoteEntity.metadata.recordId.entityId; @@ -406,7 +406,7 @@ export const EditableQuickNote: FunctionComponent<{ {contents && contents.length > 0 ? ( = ({ const configProperties = extractConfigPropertySchemas(blockSchema ?? {}); + // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion -- false positive with typescript-eslint 8.62 under TS 6.0 (removing the assertion breaks tsc); remove once typescript-eslint >= 8.63 is in const entityData = blockEntity?.blockChildEntity.properties as | JsonObject | undefined; diff --git a/apps/hash-frontend/src/pages/shared/block-collection/block-context-menu/block-select-data-modal.tsx b/apps/hash-frontend/src/pages/shared/block-collection/block-context-menu/block-select-data-modal.tsx index 174b23174e4..f4439b8c49d 100644 --- a/apps/hash-frontend/src/pages/shared/block-collection/block-context-menu/block-select-data-modal.tsx +++ b/apps/hash-frontend/src/pages/shared/block-collection/block-context-menu/block-select-data-modal.tsx @@ -31,7 +31,6 @@ import type { BaseUrl, EntityId, PropertyObject, - WebId, } from "@blockprotocol/type-system"; import type { ModalProps } from "@hashintel/design-system"; import type { HashEntity } from "@local/hash-graph-sdk/entity"; @@ -100,7 +99,7 @@ export const BlockSelectDataModal: FunctionComponent< const { authenticatedUser } = useAuthenticatedUser(); const { createEntity } = useBlockProtocolCreateEntity( - authenticatedUser.accountId as WebId, + authenticatedUser.accountId, ); const [updateEntity] = useMutation< diff --git a/apps/hash-frontend/src/pages/shared/block-collection/block-context-menu/load-entity-menu-content.tsx b/apps/hash-frontend/src/pages/shared/block-collection/block-context-menu/load-entity-menu-content.tsx index 0cfa10534bb..2d11ff6e4d8 100644 --- a/apps/hash-frontend/src/pages/shared/block-collection/block-context-menu/load-entity-menu-content.tsx +++ b/apps/hash-frontend/src/pages/shared/block-collection/block-context-menu/load-entity-menu-content.tsx @@ -34,7 +34,6 @@ import type { QueryEntitySubgraphQueryVariables, } from "../../../../graphql/api-types.gen"; import type { EntityId, VersionedUrl } from "@blockprotocol/type-system"; -import type { EntityStoreType } from "@local/hash-isomorphic-utils/entity-store"; import type { PopupState } from "material-ui-popup-state/hooks"; import type { FunctionComponent } from "react"; @@ -105,10 +104,7 @@ export const LoadEntityMenuContent: FunctionComponent< * @todo properly type this part of the DraftEntity type * @see https://linear.app/hash/issue/H-3000 */ - blockView.manager.replaceBlockChildEntity( - blockEntityId, - targetEntity as EntityStoreType, - ); + blockView.manager.replaceBlockChildEntity(blockEntityId, targetEntity); }, [blockView, blockEntityId], ); diff --git a/apps/hash-frontend/src/pages/shared/block-collection/comments/comment-text-field.tsx b/apps/hash-frontend/src/pages/shared/block-collection/comments/comment-text-field.tsx index d3ecef4a1dd..207695afcb2 100644 --- a/apps/hash-frontend/src/pages/shared/block-collection/comments/comment-text-field.tsx +++ b/apps/hash-frontend/src/pages/shared/block-collection/comments/comment-text-field.tsx @@ -35,7 +35,6 @@ import { } from "./comment-placeholder-plugin"; import styles from "./style.module.css"; -import type { CommentPlaceholderAction } from "./comment-placeholder-plugin"; import type { TextToken } from "@local/hash-isomorphic-utils/types"; import type { EditorView } from "prosemirror-view"; import type { FunctionComponent } from "react"; @@ -216,7 +215,7 @@ export const CommentTextField: FunctionComponent = ({ const tr = view.state.tr.setMeta(commentPlaceholderPluginkey, { type: "replacePlaceholder", payload: { placeholder }, - } as CommentPlaceholderAction); + }); view.dispatch(tr); } }, [placeholder]); diff --git a/apps/hash-frontend/src/pages/shared/block-collection/component-view.tsx b/apps/hash-frontend/src/pages/shared/block-collection/component-view.tsx index e30839f7395..6e4888c8972 100644 --- a/apps/hash-frontend/src/pages/shared/block-collection/component-view.tsx +++ b/apps/hash-frontend/src/pages/shared/block-collection/component-view.tsx @@ -25,7 +25,6 @@ import { BlockContext } from "./block-context"; import { suggesterPluginKey } from "./create-suggester/create-suggester"; import type { RenderPortal } from "./block-portals"; -import type { SuggesterAction } from "./create-suggester/create-suggester"; import type { EntityId, VersionedUrl } from "@blockprotocol/type-system"; import type { HashBlock } from "@local/hash-isomorphic-utils/blocks"; import type { BlockEntity } from "@local/hash-isomorphic-utils/entity"; @@ -134,7 +133,7 @@ export class ComponentView implements NodeView { this.editorView.state.tr.setMeta(suggesterPluginKey, { type: "suggestedBlock", payload: { position: null }, - } as SuggesterAction), + }), ); } diff --git a/apps/hash-frontend/src/pages/shared/block-collection/create-suggester/create-suggester.tsx b/apps/hash-frontend/src/pages/shared/block-collection/create-suggester/create-suggester.tsx index da5a70cabc0..d0f4f42f86b 100644 --- a/apps/hash-frontend/src/pages/shared/block-collection/create-suggester/create-suggester.tsx +++ b/apps/hash-frontend/src/pages/shared/block-collection/create-suggester/create-suggester.tsx @@ -332,7 +332,7 @@ export const createSuggester = ( tr.setMeta(suggesterPluginKey, { type: "suggestedBlock", payload: { position: componentPosition }, - } as SuggesterAction); + }); view.dispatch(tr); }) diff --git a/apps/hash-frontend/src/pages/shared/claims-table.tsx b/apps/hash-frontend/src/pages/shared/claims-table.tsx index 720f3db3581..2231ed00e67 100644 --- a/apps/hash-frontend/src/pages/shared/claims-table.tsx +++ b/apps/hash-frontend/src/pages/shared/claims-table.tsx @@ -340,18 +340,21 @@ export const ClaimsTable = memo( status: { header: "Status", initialValue: new Set(), + // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion -- false positive with typescript-eslint 8.62 under TS 6.0 (removing the assertion breaks tsc); remove once typescript-eslint >= 8.63 is in options: {} as VirtualizedTableFilterDefinition["options"], type: "checkboxes", }, subject: { header: "Subject", initialValue: new Set(), + // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion -- false positive with typescript-eslint 8.62 under TS 6.0 (removing the assertion breaks tsc); remove once typescript-eslint >= 8.63 is in options: {} as VirtualizedTableFilterDefinition["options"], type: "checkboxes", }, object: { header: "Relevant value", initialValue: new Set(), + // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion -- false positive with typescript-eslint 8.62 under TS 6.0 (removing the assertion breaks tsc); remove once typescript-eslint >= 8.63 is in options: {} as VirtualizedTableFilterDefinition["options"], type: "checkboxes", }, diff --git a/apps/hash-frontend/src/pages/shared/entities-visualizer.tsx b/apps/hash-frontend/src/pages/shared/entities-visualizer.tsx index d90152846c9..c19219c0745 100644 --- a/apps/hash-frontend/src/pages/shared/entities-visualizer.tsx +++ b/apps/hash-frontend/src/pages/shared/entities-visualizer.tsx @@ -49,7 +49,6 @@ import type { ClosedMultiEntityType, EntityId, VersionedUrl, - WebId, } from "@blockprotocol/type-system"; import type { SizedGridColumn } from "@glideapps/glide-data-grid"; import type { @@ -155,7 +154,7 @@ export const EntitiesVisualizer: FunctionComponent<{ () => { return [ { - webId: authenticatedUser.accountId as WebId, + webId: authenticatedUser.accountId, name: `@${authenticatedUser.shortname}`, }, ...authenticatedUser.memberOf.map(({ org }) => ({ diff --git a/apps/hash-frontend/src/pages/shared/entities-visualizer/entities-table.tsx b/apps/hash-frontend/src/pages/shared/entities-visualizer/entities-table.tsx index 2c0d8c27d1e..39245b2dc34 100644 --- a/apps/hash-frontend/src/pages/shared/entities-visualizer/entities-table.tsx +++ b/apps/hash-frontend/src/pages/shared/entities-visualizer/entities-table.tsx @@ -539,7 +539,7 @@ export const EntitiesTable: FunctionComponent< columnId === "sourceEntity" || columnId === "targetEntity" ) { - const entity = row[columnId] as EntitiesTableRow["sourceEntity"]; + const entity = row[columnId]; if (!entity) { const data = "Does not apply"; return { diff --git a/apps/hash-frontend/src/pages/shared/entity-type-page/use-entity-type-dependents.ts b/apps/hash-frontend/src/pages/shared/entity-type-page/use-entity-type-dependents.ts index 3db7945281a..86af53deeb2 100644 --- a/apps/hash-frontend/src/pages/shared/entity-type-page/use-entity-type-dependents.ts +++ b/apps/hash-frontend/src/pages/shared/entity-type-page/use-entity-type-dependents.ts @@ -112,7 +112,7 @@ export const useGetEntityTypeDependents = (): { const userWebs = useMemo(() => { return [ - authenticatedUser.accountId as WebId, + authenticatedUser.accountId, ...authenticatedUser.memberOf.map(({ org }) => org.webId), ]; }, [authenticatedUser]); diff --git a/apps/hash-frontend/src/pages/shared/entity/entity-editor/history-section/history-table/shared/event-detail.tsx b/apps/hash-frontend/src/pages/shared/entity/entity-editor/history-section/history-table/shared/event-detail.tsx index eb1758f9478..9c1a6023db1 100644 --- a/apps/hash-frontend/src/pages/shared/entity/entity-editor/history-section/history-table/shared/event-detail.tsx +++ b/apps/hash-frontend/src/pages/shared/entity/entity-editor/history-section/history-table/shared/event-detail.tsx @@ -11,7 +11,7 @@ import { stringifyPropertyValue } from "@local/hash-isomorphic-utils/stringify-p import { ValueChip } from "../../../../../value-chip"; import type { HistoryEvent } from "../../shared/types"; -import type { EntityRootType, Subgraph } from "@blockprotocol/graph"; +import type { Subgraph } from "@blockprotocol/graph"; const createValueText = (value: PropertyValue, metadata: PropertyMetadata) => { if (isValueMetadata(metadata)) { @@ -38,10 +38,7 @@ export const EventDetail = ({ }) => { switch (event.type) { case "created": { - const entityLabel = generateEntityLabel( - subgraph as Subgraph, - event.entity, - ); + const entityLabel = generateEntityLabel(subgraph, event.entity); return ( <> {entityLabel} diff --git a/apps/hash-frontend/src/pages/shared/entity/entity-editor/links-section/outgoing-links-section/cells/linked-with-cell/linked-entity-list-editor.tsx b/apps/hash-frontend/src/pages/shared/entity/entity-editor/links-section/outgoing-links-section/cells/linked-with-cell/linked-entity-list-editor.tsx index 3cb4ccbac69..6ceeca3c87b 100644 --- a/apps/hash-frontend/src/pages/shared/entity/entity-editor/links-section/outgoing-links-section/cells/linked-with-cell/linked-entity-list-editor.tsx +++ b/apps/hash-frontend/src/pages/shared/entity/entity-editor/links-section/outgoing-links-section/cells/linked-with-cell/linked-entity-list-editor.tsx @@ -17,11 +17,7 @@ import { MaxItemsReached } from "./linked-entity-list-editor/max-items-reached"; import { LinkedEntitySelector } from "./linked-entity-selector"; import type { LinkedWithCell } from "../linked-with-cell"; -import type { - ActorEntityUuid, - EntityId, - VersionedUrl, -} from "@blockprotocol/type-system"; +import type { EntityId, VersionedUrl } from "@blockprotocol/type-system"; import type { ProvideEditorComponent } from "@glideapps/glide-data-grid"; /** @@ -47,11 +43,11 @@ export const createDraftLinkEntity = ({ recordId: { editionId: "", entityId: `draft~${Date.now()}` as EntityId }, entityTypeIds: [linkEntityTypeId], provenance: { - createdById: "" as ActorEntityUuid, + createdById: "", createdAtTransactionTime: currentTimestamp(), createdAtDecisionTime: currentTimestamp(), edition: { - createdById: "" as ActorEntityUuid, + createdById: "", actorType: "user", origin: { type: "api" }, }, diff --git a/apps/hash-frontend/src/pages/shared/entity/entity-editor/links-section/outgoing-links-section/cells/linked-with-cell/linked-entity-selector.tsx b/apps/hash-frontend/src/pages/shared/entity/entity-editor/links-section/outgoing-links-section/cells/linked-with-cell/linked-entity-selector.tsx index 79d7a0b1a92..e105256eae1 100644 --- a/apps/hash-frontend/src/pages/shared/entity/entity-editor/links-section/outgoing-links-section/cells/linked-with-cell/linked-entity-selector.tsx +++ b/apps/hash-frontend/src/pages/shared/entity/entity-editor/links-section/outgoing-links-section/cells/linked-with-cell/linked-entity-selector.tsx @@ -148,7 +148,7 @@ export const LinkedEntitySelector = ({ ] ?? "File"; - onSelect(upload.createdEntities.fileEntity as HashEntity, label); + onSelect(upload.createdEntities.fileEntity, label); }, webId: activeWorkspaceWebId, /** diff --git a/apps/hash-frontend/src/pages/shared/entity/entity-editor/properties-section/property-table/use-rows/use-property-rows-from-entity.ts b/apps/hash-frontend/src/pages/shared/entity/entity-editor/properties-section/property-table/use-rows/use-property-rows-from-entity.ts index f6db77dd07f..8604099ae51 100644 --- a/apps/hash-frontend/src/pages/shared/entity/entity-editor/properties-section/property-table/use-rows/use-property-rows-from-entity.ts +++ b/apps/hash-frontend/src/pages/shared/entity/entity-editor/properties-section/property-table/use-rows/use-property-rows-from-entity.ts @@ -79,7 +79,7 @@ export const usePropertyRowsFromEntity = (): PropertyRow[] => { return typedKeys(closedMultiEntityType.properties).flatMap( (propertyTypeBaseUrl) => { - if (processedPropertyTypes.has(propertyTypeBaseUrl as BaseUrl)) { + if (processedPropertyTypes.has(propertyTypeBaseUrl)) { return []; } @@ -90,14 +90,14 @@ export const usePropertyRowsFromEntity = (): PropertyRow[] => { throw new Error(`Property ${propertyTypeBaseUrl} not found`); } - processedPropertyTypes.add(propertyTypeBaseUrl as BaseUrl); + processedPropertyTypes.add(propertyTypeBaseUrl); return generatePropertyRowRecursively({ closedMultiEntityType, closedMultiEntityTypesDefinitions, generateNewMetadataObject, - propertyTypeBaseUrl: propertyTypeBaseUrl as BaseUrl, - propertyKeyChain: [propertyTypeBaseUrl as BaseUrl], + propertyTypeBaseUrl, + propertyKeyChain: [propertyTypeBaseUrl], entity, requiredPropertyTypes: (closedMultiEntityType.required as BaseUrl[] | undefined) ?? [], diff --git a/apps/hash-frontend/src/pages/shared/entity/query-editor.tsx b/apps/hash-frontend/src/pages/shared/entity/query-editor.tsx index 72c2cb62442..20f643842b5 100644 --- a/apps/hash-frontend/src/pages/shared/entity/query-editor.tsx +++ b/apps/hash-frontend/src/pages/shared/entity/query-editor.tsx @@ -19,7 +19,6 @@ import { EntityHeader } from "./entity-header"; import type { EntityEditorProps } from "./entity-editor"; import type { MultiFilter } from "@blockprotocol/graph"; -import type { Entity as EntityBp } from "@blockprotocol/type-system"; interface QueryEditorProps extends EntityEditorProps { handleSaveQuery: (value: MultiFilter) => Promise; @@ -73,7 +72,7 @@ export const QueryEditor = (props: QueryEditorProps) => { throw new Error(res.errors?.[0]?.message ?? "Unknown error"); } - return getRoots(res.data.results) as EntityBp[]; + return getRoots(res.data.results); }, [queryEntities], ); diff --git a/apps/hash-frontend/src/pages/shared/pdf-preview.tsx b/apps/hash-frontend/src/pages/shared/pdf-preview.tsx index 5e96b39f49e..7858e4e57ae 100644 --- a/apps/hash-frontend/src/pages/shared/pdf-preview.tsx +++ b/apps/hash-frontend/src/pages/shared/pdf-preview.tsx @@ -34,7 +34,7 @@ import type { CustomTextRenderer, DocumentCallback, OnDocumentLoadSuccess, -} from "react-pdf/dist/cjs/shared/types"; +} from "react-pdf/dist/esm/shared/types.js"; /** * Highlights search hits within the text representing a row/line on the page. diff --git a/apps/hash-frontend/src/pages/shared/pdf-preview/pdf-search.tsx b/apps/hash-frontend/src/pages/shared/pdf-preview/pdf-search.tsx index a3bc01b62ae..db78c52a4a1 100644 --- a/apps/hash-frontend/src/pages/shared/pdf-preview/pdf-search.tsx +++ b/apps/hash-frontend/src/pages/shared/pdf-preview/pdf-search.tsx @@ -23,7 +23,7 @@ import { FontCaseRegularIcon } from "../../../shared/icons/font-case-regular-ico import { GrayToBlueIconButton } from "../gray-to-blue-icon-button"; import type { TextItem } from "pdfjs-dist/types/src/display/api"; -import type { DocumentCallback } from "react-pdf/dist/cjs/shared/types"; +import type { DocumentCallback } from "react-pdf/dist/esm/shared/types.js"; type PositionInPage = { rowIndex: number; diff --git a/apps/hash-frontend/src/pages/shared/web-selector.tsx b/apps/hash-frontend/src/pages/shared/web-selector.tsx index de4066cae66..756a9897860 100644 --- a/apps/hash-frontend/src/pages/shared/web-selector.tsx +++ b/apps/hash-frontend/src/pages/shared/web-selector.tsx @@ -79,7 +79,7 @@ export const WebSelector = ({ /> ), label: "My web", - value: authenticatedUser.accountId as WebId, + value: authenticatedUser.accountId, }, ...authenticatedUser.memberOf.map( ({ org: { webId, name, hasAvatar } }) => ({ diff --git a/apps/hash-frontend/src/pages/shared/workspace-context.tsx b/apps/hash-frontend/src/pages/shared/workspace-context.tsx index e47fdc43dc8..4665c4dc884 100644 --- a/apps/hash-frontend/src/pages/shared/workspace-context.tsx +++ b/apps/hash-frontend/src/pages/shared/workspace-context.tsx @@ -68,7 +68,7 @@ export const WorkspaceContextProvider: FunctionComponent<{ } else if (authenticatedUser) { const defaultWorkspaceWebId = authenticatedUser.memberOf[0]?.org.webId ?? - (authenticatedUser.accountId as WebId); + authenticatedUser.accountId; /** * Initialize the `activeWorkspaceWebId` to the first organization the @@ -97,8 +97,7 @@ export const WorkspaceContextProvider: FunctionComponent<{ */ if (activeWorkspaceWebId && authenticatedUser && !activeWorkspace) { updateActiveWorkspaceWebId( - authenticatedUser.memberOf[0]?.org.webId ?? - (authenticatedUser.accountId as WebId), + authenticatedUser.memberOf[0]?.org.webId ?? authenticatedUser.accountId, ); } }, [ diff --git a/apps/hash-frontend/src/pages/signin.page.tsx b/apps/hash-frontend/src/pages/signin.page.tsx index 9226bf85fab..d1d405bb204 100644 --- a/apps/hash-frontend/src/pages/signin.page.tsx +++ b/apps/hash-frontend/src/pages/signin.page.tsx @@ -27,7 +27,6 @@ import { WorkspaceContext } from "./shared/workspace-context"; import type { NextPageWithLayout } from "../shared/layout"; import type { ButtonProps } from "../shared/ui"; -import type { WebId } from "@blockprotocol/type-system"; import type { LoginFlow } from "@ory/client"; import type { AxiosError } from "axios"; import type { FormEventHandler } from "react"; @@ -248,7 +247,7 @@ const SigninPage: NextPageWithLayout = () => { throw new Error("Could not fetch authenticated user after logging in."); } - updateActiveWorkspaceWebId(authenticatedUser.accountId as WebId); + updateActiveWorkspaceWebId(authenticatedUser.accountId); void router.push( returnTo ?? getSafeReturnToPath(activeFlow.return_to) ?? "/", ); diff --git a/apps/hash-frontend/src/pages/supply-chain/shared/data.ts b/apps/hash-frontend/src/pages/supply-chain/shared/data.ts index ee43299877e..bf234deac9b 100644 --- a/apps/hash-frontend/src/pages/supply-chain/shared/data.ts +++ b/apps/hash-frontend/src/pages/supply-chain/shared/data.ts @@ -75,9 +75,7 @@ const getActiveWebId = (): WebId => { }; export function fetchProducts(): Promise { - productsCache = - productsCache ?? - (fetchAnalysisProducts(getActiveWebId()) as Promise); + productsCache = productsCache ?? fetchAnalysisProducts(getActiveWebId()); return productsCache; } diff --git a/apps/hash-frontend/src/pages/supply-chain/shared/step-detail-panel/data-table-section.tsx b/apps/hash-frontend/src/pages/supply-chain/shared/step-detail-panel/data-table-section.tsx index a9358e5130c..772e81b2906 100644 --- a/apps/hash-frontend/src/pages/supply-chain/shared/step-detail-panel/data-table-section.tsx +++ b/apps/hash-frontend/src/pages/supply-chain/shared/step-detail-panel/data-table-section.tsx @@ -506,6 +506,7 @@ export const DataTableSection = forwardRef< if (!detailRows?.rows) { return []; } + // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion -- false positive with typescript-eslint 8.62 under TS 6.0 (removing the assertion breaks tsc); remove once typescript-eslint >= 8.63 is in return detailRows.rows as Record[]; }, [detailRows]); const table = useReactTable({ @@ -690,6 +691,7 @@ export const DataTableSection = forwardRef< {table.getHeaderGroups().map((headerGroup) => ( {headerGroup.headers.map((header) => { + // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion -- false positive with typescript-eslint 8.62 under TS 6.0 (removing the assertion breaks tsc); remove once typescript-eslint >= 8.63 is in const meta = header.column.columnDef.meta as | { numeric?: boolean } | undefined; @@ -744,6 +746,7 @@ export const DataTableSection = forwardRef< {table.getRowModel().rows.map((row) => ( {row.getVisibleCells().map((cell) => { + // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion -- false positive with typescript-eslint 8.62 under TS 6.0 (removing the assertion breaks tsc); remove once typescript-eslint >= 8.63 is in const meta = cell.column.columnDef.meta as | { numeric?: boolean } | undefined; diff --git a/apps/hash-frontend/src/pages/supply-chain/shared/use-search-params.ts b/apps/hash-frontend/src/pages/supply-chain/shared/use-search-params.ts index 5bb235c1621..3e830d554fa 100644 --- a/apps/hash-frontend/src/pages/supply-chain/shared/use-search-params.ts +++ b/apps/hash-frontend/src/pages/supply-chain/shared/use-search-params.ts @@ -66,7 +66,7 @@ export function useSearchParams(): [URLSearchParams, SetURLSearchParams] { const resolved = typeof nextInit === "function" ? nextInit(new URLSearchParams(optimisticQueryString)) - : new URLSearchParams(nextInit as Record | undefined); + : new URLSearchParams(nextInit); const path = router.asPath.split("?")[0]; if (!path) { diff --git a/apps/hash-frontend/src/pages/supply-chain/supply-chain-data-shell/product/process-graph.tsx b/apps/hash-frontend/src/pages/supply-chain/supply-chain-data-shell/product/process-graph.tsx index dd1ca02dec1..a64dacb0f20 100644 --- a/apps/hash-frontend/src/pages/supply-chain/supply-chain-data-shell/product/process-graph.tsx +++ b/apps/hash-frontend/src/pages/supply-chain/supply-chain-data-shell/product/process-graph.tsx @@ -24,7 +24,7 @@ import { StepNode } from "./process-graph/step-node"; import type { GraphData, GraphNode, GraphEdge } from "../../shared/types"; const nodeTypes: NodeTypes = { - stepNode: StepNode as unknown as NodeTypes[string], + stepNode: StepNode, }; const canvasShell = css({ @@ -242,9 +242,7 @@ export const ProcessGraph = ({ const containerCallbackRef = useCallback( (el: HTMLDivElement | null) => { if (el) { - ( - containerRef as React.MutableRefObject - ).current = el; + containerRef.current = el; el.addEventListener("fullscreenchange", onFullscreenChange); } }, diff --git a/apps/hash-frontend/src/pages/workers.page/flow-run-table.tsx b/apps/hash-frontend/src/pages/workers.page/flow-run-table.tsx index e75b34eac04..c4a47060976 100644 --- a/apps/hash-frontend/src/pages/workers.page/flow-run-table.tsx +++ b/apps/hash-frontend/src/pages/workers.page/flow-run-table.tsx @@ -312,9 +312,7 @@ export const FlowRunTable = ({ flowDefinitionIdFilter }: FlowRunTableProps) => { const rowData: VirtualizedTableRow[] = filteredFlowRuns.map( (flowRun) => { - const type = goalFlowDefinitionIds.includes( - flowRun.flowDefinitionId as EntityUuid, - ) + const type = goalFlowDefinitionIds.includes(flowRun.flowDefinitionId) ? "goal" : "flow"; diff --git a/apps/hash-frontend/src/shared/entity-types-context/shared/is-special-entity-type.ts b/apps/hash-frontend/src/shared/entity-types-context/shared/is-special-entity-type.ts index 68270537bc6..a8f85f66024 100644 --- a/apps/hash-frontend/src/shared/entity-types-context/shared/is-special-entity-type.ts +++ b/apps/hash-frontend/src/shared/entity-types-context/shared/is-special-entity-type.ts @@ -5,13 +5,11 @@ import { } from "@local/hash-isomorphic-utils/ontology-type-ids"; import type { + EntityType, EntityTypeReference, EntityTypeWithMetadata, -} from "@blockprotocol/type-system"; -import type { - EntityType, VersionedUrl, -} from "@blockprotocol/type-system/dist/cjs"; +} from "@blockprotocol/type-system"; export const getParentIds = ( entityType: Pick, diff --git a/apps/hash-frontend/src/shared/layout/layout-with-sidebar/sidebar/workspace-switcher.tsx b/apps/hash-frontend/src/shared/layout/layout-with-sidebar/sidebar/workspace-switcher.tsx index 2793356e535..a277bf9bb44 100644 --- a/apps/hash-frontend/src/shared/layout/layout-with-sidebar/sidebar/workspace-switcher.tsx +++ b/apps/hash-frontend/src/shared/layout/layout-with-sidebar/sidebar/workspace-switcher.tsx @@ -23,8 +23,6 @@ import { getImageUrlFromEntityProperties } from "../../../../pages/shared/get-fi import { useActiveWorkspace } from "../../../../pages/shared/workspace-context"; import { Button, MenuItem } from "../../../ui"; -import type { WebId } from "@blockprotocol/type-system"; - export const WorkspaceSwitcher = () => { const popupState = usePopupState({ variant: "popover", @@ -70,7 +68,7 @@ export const WorkspaceSwitcher = () => { const workspaceList = useMemo(() => { return [ { - webId: authenticatedUser.accountId as WebId, + webId: authenticatedUser.accountId, title: "My personal workspace", subText: `@${authenticatedUser.shortname ?? "user"}`, avatarTitle: authenticatedUser.displayName ?? "U", diff --git a/apps/hash-frontend/tsconfig.json b/apps/hash-frontend/tsconfig.json index d3f446c21d0..92345214b5f 100644 --- a/apps/hash-frontend/tsconfig.json +++ b/apps/hash-frontend/tsconfig.json @@ -5,6 +5,12 @@ "isolatedModules": true, "jsx": "preserve", "lib": ["dom", "dom.iterable", "esnext"], + /** + * TypeScript 6 only contributes globals from `@types` packages listed here + * (5.x auto-included every `node_modules/@types` package). These are all in + * this workspace's devDependencies. + */ + "types": ["node", "gapi", "google.accounts", "google.picker"], "noEmit": true, "plugins": [ { diff --git a/apps/hash-integration-worker/package.json b/apps/hash-integration-worker/package.json index 49f6ce2667c..ac17ec0c042 100644 --- a/apps/hash-integration-worker/package.json +++ b/apps/hash-integration-worker/package.json @@ -42,7 +42,6 @@ "cache-manager": "5.7.6", "dotenv-flow": "3.3.0", "tsx": "4.20.6", - "typescript": "5.9.3", "uuid": "14.0.0" }, "devDependencies": { @@ -51,7 +50,7 @@ "@types/dotenv-flow": "3.3.3", "eslint": "9.39.4", "rimraf": "6.1.3", - "typescript": "5.9.3", + "typescript": "6.0.3", "wait-on": "9.0.1" } } diff --git a/apps/hash-integration-worker/src/activities/flow-activities/shared/split-properties-and-metadata.ts b/apps/hash-integration-worker/src/activities/flow-activities/shared/split-properties-and-metadata.ts index 0cb10fc58a0..80f86959785 100644 --- a/apps/hash-integration-worker/src/activities/flow-activities/shared/split-properties-and-metadata.ts +++ b/apps/hash-integration-worker/src/activities/flow-activities/shared/split-properties-and-metadata.ts @@ -9,7 +9,6 @@ import type { PropertyObject, PropertyObjectMetadata, PropertyValue, - PropertyValueMetadata, PropertyWithMetadata, } from "@blockprotocol/type-system"; @@ -34,7 +33,7 @@ const extractPropertyValue = ( if (Array.isArray(propertyWithMetadata.value)) { return propertyWithMetadata.value.map((element) => extractPropertyValue(element as PropertyWithMetadata), - ) as PropertyValue; + ); } // Check if it's an object (PropertyObjectWithMetadata) @@ -50,7 +49,7 @@ const extractPropertyValue = ( key, extractPropertyValue(value as PropertyWithMetadata), ]), - ) as PropertyValue; + ); } } @@ -74,7 +73,7 @@ const extractPropertyMetadata = ( // This is a PropertyValueWithMetadata return { metadata: propertyWithMetadata.metadata, - } as PropertyValueMetadata; + }; } // Check if it's an array @@ -127,7 +126,7 @@ const extractPropertyMetadata = ( // Fallback: return value metadata with null dataTypeId return { metadata: { dataTypeId: null }, - } as PropertyValueMetadata; + }; }; /** diff --git a/apps/hash-integration-worker/tsconfig.build.json b/apps/hash-integration-worker/tsconfig.build.json index 67fc1dbc5f2..9eae5db79cb 100644 --- a/apps/hash-integration-worker/tsconfig.build.json +++ b/apps/hash-integration-worker/tsconfig.build.json @@ -3,6 +3,7 @@ "include": ["src"], "compilerOptions": { "outDir": "dist", + "rootDir": "./src", "sourceMap": true, "inlineSources": true, "paths": {} diff --git a/apps/hash-integration-worker/tsconfig.json b/apps/hash-integration-worker/tsconfig.json index e3d9688aab4..5b63ab4e77f 100644 --- a/apps/hash-integration-worker/tsconfig.json +++ b/apps/hash-integration-worker/tsconfig.json @@ -3,6 +3,7 @@ "include": ["./src/", "./scripts/"], "compilerOptions": { "module": "NodeNext", - "moduleResolution": "NodeNext" + "moduleResolution": "NodeNext", + "types": ["node"] } } diff --git a/apps/mcp/linear/package.json b/apps/mcp/linear/package.json index 1f4dc74a2e3..576708fe02c 100644 --- a/apps/mcp/linear/package.json +++ b/apps/mcp/linear/package.json @@ -34,6 +34,6 @@ "rimraf": "6.1.3", "shx": "0.4.0", "tsx": "4.20.6", - "typescript": "5.9.3" + "typescript": "6.0.3" } } diff --git a/apps/mcp/linear/tsconfig.build.json b/apps/mcp/linear/tsconfig.build.json index becc3db1f49..54e968d9a4c 100644 --- a/apps/mcp/linear/tsconfig.build.json +++ b/apps/mcp/linear/tsconfig.build.json @@ -2,7 +2,9 @@ "extends": "@local/tsconfig/legacy-base-tsconfig-to-refactor.json", "include": ["src"], "compilerOptions": { + "types": ["node"], "outDir": "dist", + "rootDir": "./src", "module": "NodeNext", "moduleResolution": "NodeNext", "paths": {} diff --git a/apps/mcp/linear/tsconfig.json b/apps/mcp/linear/tsconfig.json index 5ab74b4e710..090b400da24 100644 --- a/apps/mcp/linear/tsconfig.json +++ b/apps/mcp/linear/tsconfig.json @@ -2,6 +2,7 @@ "extends": "@local/tsconfig/legacy-base-tsconfig-to-refactor.json", "include": ["src"], "compilerOptions": { + "types": ["node"], "module": "NodeNext", "moduleResolution": "NodeNext" } diff --git a/apps/mcp/notion/package.json b/apps/mcp/notion/package.json index 20c2aa01313..388e1145272 100644 --- a/apps/mcp/notion/package.json +++ b/apps/mcp/notion/package.json @@ -34,6 +34,6 @@ "rimraf": "6.1.3", "shx": "0.4.0", "tsx": "4.20.6", - "typescript": "5.9.3" + "typescript": "6.0.3" } } diff --git a/apps/mcp/notion/tsconfig.json b/apps/mcp/notion/tsconfig.json index d604c83e1b4..ea4e65cf0d1 100644 --- a/apps/mcp/notion/tsconfig.json +++ b/apps/mcp/notion/tsconfig.json @@ -2,6 +2,7 @@ "extends": "@local/tsconfig/legacy-base-tsconfig-to-refactor.json", "include": ["src"], "compilerOptions": { + "types": ["node"], "outDir": "dist", "rootDir": "src", "module": "NodeNext", diff --git a/apps/plugin-browser/package.json b/apps/plugin-browser/package.json index d69c351a3b2..012c85ad059 100644 --- a/apps/plugin-browser/package.json +++ b/apps/plugin-browser/package.json @@ -88,7 +88,7 @@ "ts-loader": "9.5.4", "tsconfig-paths-webpack-plugin": "4.2.0", "type-fest": "5.3.1", - "typescript": "5.9.3", + "typescript": "6.0.3", "webpack": "5.104.1", "webpack-cli": "6.0.1", "webpack-dev-server": "5.2.5", diff --git a/apps/plugin-browser/tsconfig.json b/apps/plugin-browser/tsconfig.json index d414625a634..b2a0812224f 100644 --- a/apps/plugin-browser/tsconfig.json +++ b/apps/plugin-browser/tsconfig.json @@ -1,11 +1,13 @@ { "extends": "@local/tsconfig/legacy-base-tsconfig-to-refactor.json", "compilerOptions": { + "types": ["node"], "allowJs": false, "checkJs": false, "allowSyntheticDefaultImports": true, "jsx": "react-jsx", "lib": ["dom", "dom.iterable", "esnext"], + "moduleResolution": "bundler", "noEmit": false, "target": "ES2021" }, diff --git a/libs/@blockprotocol/graph/package.json b/libs/@blockprotocol/graph/package.json index 65a51201512..2878e72d85b 100644 --- a/libs/@blockprotocol/graph/package.json +++ b/libs/@blockprotocol/graph/package.json @@ -73,7 +73,7 @@ "json-schema-to-typescript": "15.0.4", "lit": "2.8.0", "lodash.isequal": "4.5.0", - "typescript": "5.9.3" + "typescript": "6.0.3" }, "devDependencies": { "@apidevtools/json-schema-ref-parser": "15.1.3", @@ -85,7 +85,7 @@ "eslint": "9.39.4", "rimraf": "6.1.3", "tsx": "4.20.6", - "typescript": "5.9.3" + "typescript": "6.0.3" }, "peerDependencies": { "react": "^19.0.0" diff --git a/libs/@blockprotocol/graph/src/dom-fallback.ts b/libs/@blockprotocol/graph/src/dom-fallback.ts new file mode 100644 index 00000000000..ab9b823c12d --- /dev/null +++ b/libs/@blockprotocol/graph/src/dom-fallback.ts @@ -0,0 +1,21 @@ +/** + * Minimal fallback declaration for the DOM global referenced in this package's + * public API (`HTMLElement` in {@link GraphBlockHandler} / {@link GraphEmbedderHandler}). + * + * Browser consumers get the real type from `lib.dom` — this empty interface + * merges with it and adds nothing. Node.js consumers (which type-check these + * sources via the shared tsconfig `paths` aliases) don't include `lib.dom`, + * so this keeps the package type-checkable without pulling the whole DOM lib + * into their programs. + * + * TypeScript ≤ 5 got this for free: it auto-included every `node_modules/@types` + * package, and `@types/react/global.d.ts` declares the same empty fallback + * interface. TypeScript 6 only includes packages listed in `types`, so we + * declare the fallback ourselves. + */ +declare global { + // eslint-disable-next-line @typescript-eslint/no-empty-object-type -- intentional empty fallback, see above + interface HTMLElement {} +} + +export {}; diff --git a/libs/@blockprotocol/graph/src/graph-block-handler.ts b/libs/@blockprotocol/graph/src/graph-block-handler.ts index 5ad189fad71..d0de803d476 100644 --- a/libs/@blockprotocol/graph/src/graph-block-handler.ts +++ b/libs/@blockprotocol/graph/src/graph-block-handler.ts @@ -1,3 +1,4 @@ +import "./dom-fallback.js"; import { ModuleHandler } from "@blockprotocol/core"; /** diff --git a/libs/@blockprotocol/graph/src/graph-embedder-handler.ts b/libs/@blockprotocol/graph/src/graph-embedder-handler.ts index bcf4dd9704a..7ca93ffaa64 100644 --- a/libs/@blockprotocol/graph/src/graph-embedder-handler.ts +++ b/libs/@blockprotocol/graph/src/graph-embedder-handler.ts @@ -1,3 +1,4 @@ +import "./dom-fallback.js"; import { ModuleHandler } from "@blockprotocol/core"; // @todo restore this when an issue with module resolution has been resolved diff --git a/libs/@blockprotocol/graph/src/stdlib/subgraph/edge/entity-type.ts b/libs/@blockprotocol/graph/src/stdlib/subgraph/edge/entity-type.ts index ce79a993a2b..bb14642e6d5 100644 --- a/libs/@blockprotocol/graph/src/stdlib/subgraph/edge/entity-type.ts +++ b/libs/@blockprotocol/graph/src/stdlib/subgraph/edge/entity-type.ts @@ -66,6 +66,7 @@ export const getEntityTypesReferencedByEntityType = ( revisionId = entityTypeId.revisionId; } + // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion -- false positive with typescript-eslint 8.62 under TS 6.0 (removing the assertion breaks tsc); remove once typescript-eslint >= 8.63 is in const outwardEdges = (subgraph.edges as OntologyRootedEdges)[baseUrl]?.[ revisionId ]; diff --git a/libs/@blockprotocol/graph/src/stdlib/subgraph/edge/link-entity.ts b/libs/@blockprotocol/graph/src/stdlib/subgraph/edge/link-entity.ts index 8fccf6fc359..ab60f611f41 100644 --- a/libs/@blockprotocol/graph/src/stdlib/subgraph/edge/link-entity.ts +++ b/libs/@blockprotocol/graph/src/stdlib/subgraph/edge/link-entity.ts @@ -63,6 +63,7 @@ export const getOutgoingLinksForEntity = ( const searchInterval = interval ?? getLatestInstantIntervalForSubgraph(subgraph); + // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion -- false positive with typescript-eslint 8.62 under TS 6.0 (removing the assertion breaks tsc); remove once typescript-eslint >= 8.63 is in const entityEdges = (subgraph.edges as KnowledgeGraphRootedEdges)[entityId]; if (!entityEdges) { @@ -135,6 +136,7 @@ export const getIncomingLinksForEntity = ( const searchInterval = interval ?? getLatestInstantIntervalForSubgraph(subgraph); + // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion -- false positive with typescript-eslint 8.62 under TS 6.0 (removing the assertion breaks tsc); remove once typescript-eslint >= 8.63 is in const entityEdges = (subgraph.edges as KnowledgeGraphRootedEdges)[entityId]; if (!entityEdges) { @@ -207,6 +209,7 @@ export const getLeftEntityForLinkEntity = ( interval ?? getLatestInstantIntervalForSubgraph(subgraph); const outwardEdge = Object.values( + // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion -- false positive with typescript-eslint 8.62 under TS 6.0 (removing the assertion breaks tsc); remove once typescript-eslint >= 8.63 is in (subgraph.edges as KnowledgeGraphRootedEdges)[entityId] ?? {}, ) .flat() @@ -258,6 +261,7 @@ export const getRightEntityForLinkEntity = ( interval ?? getLatestInstantIntervalForSubgraph(subgraph); const outwardEdge = Object.values( + // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion -- false positive with typescript-eslint 8.62 under TS 6.0 (removing the assertion breaks tsc); remove once typescript-eslint >= 8.63 is in (subgraph.edges as KnowledgeGraphRootedEdges)[entityId] ?? {}, ) .flat() diff --git a/libs/@blockprotocol/graph/src/stdlib/subgraph/edge/shared.ts b/libs/@blockprotocol/graph/src/stdlib/subgraph/edge/shared.ts index d219d09e7c8..36a0c4e0c46 100644 --- a/libs/@blockprotocol/graph/src/stdlib/subgraph/edge/shared.ts +++ b/libs/@blockprotocol/graph/src/stdlib/subgraph/edge/shared.ts @@ -40,6 +40,7 @@ export const getOntologyEndpointsForOntologyOutwardEdge = ( revisionId = ontologyTypeId.revisionId; } + // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion -- false positive with typescript-eslint 8.62 under TS 6.0 (removing the assertion breaks tsc); remove once typescript-eslint >= 8.63 is in const outwardEdges = (subgraph.edges as OntologyRootedEdges)[baseUrl]?.[ revisionId ]; diff --git a/libs/@blockprotocol/graph/src/stdlib/subgraph/roots.ts b/libs/@blockprotocol/graph/src/stdlib/subgraph/roots.ts index 121e01cd7ed..f2363955a0c 100644 --- a/libs/@blockprotocol/graph/src/stdlib/subgraph/roots.ts +++ b/libs/@blockprotocol/graph/src/stdlib/subgraph/roots.ts @@ -46,7 +46,7 @@ export const getRoots = ( )} was missing`, ); - return root.inner as RootType["element"]; + return root.inner; }); /** diff --git a/libs/@blockprotocol/graph/src/util/typed-entries.ts b/libs/@blockprotocol/graph/src/util/typed-entries.ts index 683e3f23437..a6d6cee265e 100644 --- a/libs/@blockprotocol/graph/src/util/typed-entries.ts +++ b/libs/@blockprotocol/graph/src/util/typed-entries.ts @@ -39,7 +39,7 @@ export function typedEntries>( export const typedKeys = >( object: T, ): Entry[0][] => { - return Object.keys(object) as Entry[0][]; + return Object.keys(object); }; /** `Object.values` analogue which returns a well-typed array */ diff --git a/libs/@blockprotocol/graph/tsconfig.json b/libs/@blockprotocol/graph/tsconfig.json index a710cba20dc..89167b162be 100644 --- a/libs/@blockprotocol/graph/tsconfig.json +++ b/libs/@blockprotocol/graph/tsconfig.json @@ -1,6 +1,7 @@ { "extends": "@local/tsconfig/legacy-base-tsconfig-to-refactor.json", "compilerOptions": { + "types": ["node"], "lib": ["dom", "dom.iterable", "ES2024"], "module": "NodeNext", "moduleResolution": "NodeNext" diff --git a/libs/@blockprotocol/type-system/rust/package.json b/libs/@blockprotocol/type-system/rust/package.json index 8dbdd125a22..1ec9739b8d7 100644 --- a/libs/@blockprotocol/type-system/rust/package.json +++ b/libs/@blockprotocol/type-system/rust/package.json @@ -40,6 +40,6 @@ "devDependencies": { "@local/tsconfig": "workspace:*", "@rust/hash-codegen": "workspace:*", - "typescript": "5.9.3" + "typescript": "6.0.3" } } diff --git a/libs/@blockprotocol/type-system/typescript/package.json b/libs/@blockprotocol/type-system/typescript/package.json index 76aa8be1835..64a65e15064 100644 --- a/libs/@blockprotocol/type-system/typescript/package.json +++ b/libs/@blockprotocol/type-system/typescript/package.json @@ -71,7 +71,7 @@ "rollup": "4.59.0", "tslib": "2.8.1", "tsx": "4.20.6", - "typescript": "5.9.3", + "typescript": "6.0.3", "vite-plugin-wasm-pack": "0.1.12", "vitest": "4.1.8" } diff --git a/libs/@blockprotocol/type-system/typescript/test/url.test.ts b/libs/@blockprotocol/type-system/typescript/test/url.test.ts index ef49fae1cfb..6852d5d0e0b 100644 --- a/libs/@blockprotocol/type-system/typescript/test/url.test.ts +++ b/libs/@blockprotocol/type-system/typescript/test/url.test.ts @@ -72,19 +72,16 @@ describe("validateVersionedUrl", () => { }); const extractBaseUrlCases: [VersionedUrl, BaseUrl][] = [ - ["http://example.com/v/0" as VersionedUrl, "http://example.com/" as BaseUrl], + ["http://example.com/v/0", "http://example.com/" as BaseUrl], [ - "http://example.com/sandwich/v/1" as VersionedUrl, + "http://example.com/sandwich/v/1", "http://example.com/sandwich/" as BaseUrl, ], [ - "file://localhost/documents/myfolder/v/10" as VersionedUrl, + "file://localhost/documents/myfolder/v/10", "file://localhost/documents/myfolder/" as BaseUrl, ], - [ - "ftp://rms@example.com/foo/v/5" as VersionedUrl, - "ftp://rms@example.com/foo/" as BaseUrl, - ], + ["ftp://rms@example.com/foo/v/5", "ftp://rms@example.com/foo/" as BaseUrl], ]; describe("extractBaseUrl", () => { @@ -97,10 +94,10 @@ describe("extractBaseUrl", () => { }); const extractVersionCases: [VersionedUrl, string][] = [ - ["http://example.com/v/0" as VersionedUrl, "0"], - ["http://example.com/sandwich/v/1" as VersionedUrl, "1"], - ["file://localhost/documents/myfolder/v/10" as VersionedUrl, "10"], - ["ftp://rms@example.com/foo/v/5" as VersionedUrl, "5"], + ["http://example.com/v/0", "0"], + ["http://example.com/sandwich/v/1", "1"], + ["file://localhost/documents/myfolder/v/10", "10"], + ["ftp://rms@example.com/foo/v/5", "5"], ]; describe("extractVersion", () => { @@ -137,10 +134,12 @@ describe("Draft version support", () => { describe("extractVersion with drafts", () => { test.each([ [ + // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion -- false positive with typescript-eslint 8.62 under TS 6.0 (removing the assertion breaks tsc); remove once typescript-eslint >= 8.63 is in "http://example.com/v/1-draft.abc12345.1" as VersionedUrl, "1-draft.abc12345.1", ], [ + // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion -- false positive with typescript-eslint 8.62 under TS 6.0 (removing the assertion breaks tsc); remove once typescript-eslint >= 8.63 is in "http://example.com/v/2-draft.xyz98765.999" as VersionedUrl, "2-draft.xyz98765.999", ], diff --git a/libs/@blockprotocol/type-system/typescript/tsconfig.json b/libs/@blockprotocol/type-system/typescript/tsconfig.json index 8c139fb7375..5162ca573fb 100644 --- a/libs/@blockprotocol/type-system/typescript/tsconfig.json +++ b/libs/@blockprotocol/type-system/typescript/tsconfig.json @@ -3,6 +3,7 @@ "include": ["scripts", "src", "test", "eslint.config.js", "vitest.config.ts"], "exclude": ["dist"], "compilerOptions": { + "types": ["node"], /** * @todo ideally we wouldn't specify 'dom' as this library is supposed to be usable across environments, * but we're using WebAssembly DOM types in the constructor input diff --git a/libs/@hashintel/block-design-system/package.json b/libs/@hashintel/block-design-system/package.json index 5f1b27452a6..3cf28acd1f3 100644 --- a/libs/@hashintel/block-design-system/package.json +++ b/libs/@hashintel/block-design-system/package.json @@ -47,7 +47,7 @@ "eslint": "9.39.4", "react": "19.2.6", "react-dom": "19.2.6", - "typescript": "5.9.3" + "typescript": "6.0.3" }, "peerDependencies": { "@emotion/react": "11.14.0", diff --git a/libs/@hashintel/block-design-system/tsconfig.json b/libs/@hashintel/block-design-system/tsconfig.json index 8e3405e2951..9baa78974c4 100644 --- a/libs/@hashintel/block-design-system/tsconfig.json +++ b/libs/@hashintel/block-design-system/tsconfig.json @@ -1,8 +1,10 @@ { "extends": "@local/tsconfig/legacy-base-tsconfig-to-refactor.json", "compilerOptions": { + "types": ["node"], "jsx": "preserve", "lib": ["dom", "dom.iterable", "ESNext"], + "moduleResolution": "bundler", "noEmit": true }, "include": ["assets.d.ts", "theme-override.d.ts", "./src/"] diff --git a/libs/@hashintel/design-system/package.json b/libs/@hashintel/design-system/package.json index 0ad8d4bd400..e06b0ca0c4f 100644 --- a/libs/@hashintel/design-system/package.json +++ b/libs/@hashintel/design-system/package.json @@ -76,7 +76,7 @@ "eslint": "9.39.4", "react": "19.2.6", "react-dom": "19.2.6", - "typescript": "5.9.3" + "typescript": "6.0.3" }, "peerDependencies": { "@emotion/cache": "^11.14.0", diff --git a/libs/@hashintel/design-system/src/data-type-selector.tsx b/libs/@hashintel/design-system/src/data-type-selector.tsx index f1e0e933c27..e2384599432 100644 --- a/libs/@hashintel/design-system/src/data-type-selector.tsx +++ b/libs/@hashintel/design-system/src/data-type-selector.tsx @@ -516,7 +516,7 @@ export const DataTypeSelector = (props: DataTypeSelectorProps) => { onFocus={() => setTextFieldFocused(true)} onBlur={(event) => { const isMenuClick = popoverRef.current?.contains( - event.relatedTarget as Node, + event.relatedTarget, ); if (!isMenuClick) { diff --git a/libs/@hashintel/design-system/src/e-chart.tsx b/libs/@hashintel/design-system/src/e-chart.tsx index c4659c66259..548e1c9eb92 100644 --- a/libs/@hashintel/design-system/src/e-chart.tsx +++ b/libs/@hashintel/design-system/src/e-chart.tsx @@ -15,16 +15,20 @@ import type { } from "echarts/charts"; // eslint-disable-next-line no-restricted-imports import type { TooltipComponentOption } from "echarts/components"; -import type { - GraphEdgeItemOption, - GraphNodeItemOption, -} from "echarts/types/src/chart/graph/GraphSeries"; import type { FunctionComponent } from "react"; export type Chart = echarts.ECharts; -export type GraphNode = GraphNodeItemOption; -export type GraphEdge = GraphEdgeItemOption; +/** + * echarts does not export `GraphNodeItemOption` / `GraphEdgeItemOption` from its + * public API, and its `exports` map blocks reaching into `echarts/types/src/*`, + * so derive the node/edge item types from the public `GraphSeriesOption` instead. + */ +export type GraphNode = Extract< + NonNullable[number], + { id?: string } +>; +export type GraphEdge = NonNullable[number]; export type SeriesOption = | LineSeriesOption diff --git a/libs/@hashintel/design-system/src/theme.ts b/libs/@hashintel/design-system/src/theme.ts index d18699f3ff9..73c66edee2e 100644 --- a/libs/@hashintel/design-system/src/theme.ts +++ b/libs/@hashintel/design-system/src/theme.ts @@ -7,8 +7,6 @@ import { palette } from "./theme/palette"; import { boxShadows, dropShadows, shadows } from "./theme/shadows"; import { typography } from "./theme/typography"; -import type { ThemeOptions } from "@mui/material"; - export const theme = createTheme({ palette, typography, @@ -17,7 +15,7 @@ export const theme = createTheme({ boxShadows, dropShadows, /** @todo: figure out how to properly override this type */ - components: components as ThemeOptions["components"], + components, }); export const createEmotionCache = (key?: string) => diff --git a/libs/@hashintel/design-system/tsconfig.json b/libs/@hashintel/design-system/tsconfig.json index 8e3405e2951..9baa78974c4 100644 --- a/libs/@hashintel/design-system/tsconfig.json +++ b/libs/@hashintel/design-system/tsconfig.json @@ -1,8 +1,10 @@ { "extends": "@local/tsconfig/legacy-base-tsconfig-to-refactor.json", "compilerOptions": { + "types": ["node"], "jsx": "preserve", "lib": ["dom", "dom.iterable", "ESNext"], + "moduleResolution": "bundler", "noEmit": true }, "include": ["assets.d.ts", "theme-override.d.ts", "./src/"] diff --git a/libs/@hashintel/ds-components/package.json b/libs/@hashintel/ds-components/package.json index 1fa36cf721a..4476e9f642e 100644 --- a/libs/@hashintel/ds-components/package.json +++ b/libs/@hashintel/ds-components/package.json @@ -109,7 +109,7 @@ "react-dom": "19.2.6", "tsup": "^8.5.1", "tsx": "4.20.6", - "typescript": "5.9.3", + "typescript": "6.0.3", "vite": "7.3.5", "vite-plugin-dts": "4.5.4", "vite-plugin-svgr": "5.2.0", diff --git a/libs/@hashintel/ds-components/src/components/Menu/menu.stories.tsx b/libs/@hashintel/ds-components/src/components/Menu/menu.stories.tsx index 8709745e7cb..e1c9be2038d 100644 --- a/libs/@hashintel/ds-components/src/components/Menu/menu.stories.tsx +++ b/libs/@hashintel/ds-components/src/components/Menu/menu.stories.tsx @@ -61,7 +61,7 @@ function withSelection( } as unknown as MenuItem; } if ("href" in entry && entry.href) { - return entry as MenuItem; + return entry; } return { ...entry, diff --git a/libs/@hashintel/ds-components/src/components/Select/select.stories.tsx b/libs/@hashintel/ds-components/src/components/Select/select.stories.tsx index 19fdaa78708..3b3f2942867 100644 --- a/libs/@hashintel/ds-components/src/components/Select/select.stories.tsx +++ b/libs/@hashintel/ds-components/src/components/Select/select.stories.tsx @@ -204,7 +204,7 @@ const stateRows: Array<{ extraProps: { placeholder: "Placeholder text...", required: true, - } as Partial, + }, }, { key: "placeholder-not-required", @@ -214,7 +214,7 @@ const stateRows: Array<{ { key: "required", label: "Required", - extraProps: { required: true } as Partial, + extraProps: { required: true }, }, { key: "hide-arrow", diff --git a/libs/@hashintel/ds-components/src/components/Select/select.tsx b/libs/@hashintel/ds-components/src/components/Select/select.tsx index acf31d3c0f9..cd7bfa7b6f3 100644 --- a/libs/@hashintel/ds-components/src/components/Select/select.tsx +++ b/libs/@hashintel/ds-components/src/components/Select/select.tsx @@ -386,7 +386,7 @@ export const Select = ({ } + ref={internalRef} className={classes.trigger} data-part="trigger" data-testid={testId} diff --git a/libs/@hashintel/ds-components/src/util/radio-checkbox-group-shared.ts b/libs/@hashintel/ds-components/src/util/radio-checkbox-group-shared.ts index 9bfbd8481bc..2f9aa6e2e75 100644 --- a/libs/@hashintel/ds-components/src/util/radio-checkbox-group-shared.ts +++ b/libs/@hashintel/ds-components/src/util/radio-checkbox-group-shared.ts @@ -35,12 +35,12 @@ export const getGroupFocusProps = ({ } }, onFocus: (event) => { - if (!event.currentTarget.contains(event.relatedTarget as Node | null)) { + if (!event.currentTarget.contains(event.relatedTarget)) { onFocus?.(event as unknown as React.FocusEvent); } }, onBlur: (event) => { - if (!event.currentTarget.contains(event.relatedTarget as Node | null)) { + if (!event.currentTarget.contains(event.relatedTarget)) { onBlur?.(event as unknown as React.FocusEvent); } }, diff --git a/libs/@hashintel/ds-components/tsconfig.build.json b/libs/@hashintel/ds-components/tsconfig.build.json index 397e8b4c425..fc8520e7376 100644 --- a/libs/@hashintel/ds-components/tsconfig.build.json +++ b/libs/@hashintel/ds-components/tsconfig.build.json @@ -1,6 +1,3 @@ { - "extends": "./tsconfig.json", - "compilerOptions": { - "ignoreDeprecations": "5.0" - } + "extends": "./tsconfig.json" } diff --git a/libs/@hashintel/petrinaut-core/package.json b/libs/@hashintel/petrinaut-core/package.json index d96ad8faef2..4b85da3a67d 100644 --- a/libs/@hashintel/petrinaut-core/package.json +++ b/libs/@hashintel/petrinaut-core/package.json @@ -75,7 +75,7 @@ "oxlint-tsgolint": "0.22.1", "rolldown": "1.1.2", "rolldown-plugin-dts": "0.25.0", - "typescript": "5.9.3", + "typescript5": "npm:typescript@5.9.3", "vite": "8.1.0", "vitest": "4.1.8" } diff --git a/libs/@hashintel/petrinaut-core/vite.config.ts b/libs/@hashintel/petrinaut-core/vite.config.ts index df29a6553c9..018fc523f74 100644 --- a/libs/@hashintel/petrinaut-core/vite.config.ts +++ b/libs/@hashintel/petrinaut-core/vite.config.ts @@ -59,6 +59,18 @@ export default defineConfig(({ command }) => ({ ], }, + resolve: { + alias: [ + // The LSP worker intentionally bundles TypeScript 5.9.3 (`typescript5` + // npm alias): it relies on the TypeScript JS API (`createLanguageService`), + // which no longer exists in the Go-native TypeScript 7 the rest of the + // repo is migrating towards. Source files keep importing plain + // "typescript" so they continue to typecheck against the workspace-wide + // TypeScript types. + { find: /^typescript(\/.*)?$/, replacement: "typescript5$1" }, + ], + }, + plugins: [ esmExternalRequirePlugin({ external: ["typescript"], diff --git a/libs/@hashintel/query-editor/package.json b/libs/@hashintel/query-editor/package.json index c44f78bbea8..4c0cd932e26 100644 --- a/libs/@hashintel/query-editor/package.json +++ b/libs/@hashintel/query-editor/package.json @@ -38,7 +38,7 @@ "react-dom": "19.2.6", "react-hook-form": "7.65.0", "storybook": "9.1.19", - "typescript": "5.9.3" + "typescript": "6.0.3" }, "peerDependencies": { "@mui/material": "^5.14.0", diff --git a/libs/@hashintel/query-editor/src/entity-query-editor/query-form/filter-row/property-type-selector.tsx b/libs/@hashintel/query-editor/src/entity-query-editor/query-form/filter-row/property-type-selector.tsx index daa46b067bc..f9cb20a2869 100644 --- a/libs/@hashintel/query-editor/src/entity-query-editor/query-form/filter-row/property-type-selector.tsx +++ b/libs/@hashintel/query-editor/src/entity-query-editor/query-form/filter-row/property-type-selector.tsx @@ -27,6 +27,7 @@ export const PropertyTypeSelector = ({ [propertyTypes], ); + // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion -- false positive with typescript-eslint 8.62 under TS 6.0 (removing the assertion breaks tsc); remove once typescript-eslint >= 8.63 is in const filterErrors = formState.errors.filters?.[index] as | FieldErrorsImpl | undefined; diff --git a/libs/@hashintel/query-editor/tsconfig.json b/libs/@hashintel/query-editor/tsconfig.json index 5888bbf23c3..33df3facf1e 100644 --- a/libs/@hashintel/query-editor/tsconfig.json +++ b/libs/@hashintel/query-editor/tsconfig.json @@ -1,8 +1,10 @@ { "extends": "@local/tsconfig/legacy-base-tsconfig-to-refactor.json", "compilerOptions": { + "types": ["node"], "jsx": "preserve", "lib": ["dom", "dom.iterable", "ESNext"], + "moduleResolution": "bundler", "noEmit": true }, "include": ["theme-override.d.ts", "./src/"] diff --git a/libs/@hashintel/type-editor/package.json b/libs/@hashintel/type-editor/package.json index f6a6614c4cb..5a91feb45a4 100644 --- a/libs/@hashintel/type-editor/package.json +++ b/libs/@hashintel/type-editor/package.json @@ -46,7 +46,7 @@ "react-dom": "19.2.6", "react-hook-form": "7.65.0", "storybook": "9.1.19", - "typescript": "5.9.3" + "typescript": "6.0.3" }, "peerDependencies": { "@mui/material": "^5.14.0", diff --git a/libs/@hashintel/type-editor/tsconfig.json b/libs/@hashintel/type-editor/tsconfig.json index 5888bbf23c3..33df3facf1e 100644 --- a/libs/@hashintel/type-editor/tsconfig.json +++ b/libs/@hashintel/type-editor/tsconfig.json @@ -1,8 +1,10 @@ { "extends": "@local/tsconfig/legacy-base-tsconfig-to-refactor.json", "compilerOptions": { + "types": ["node"], "jsx": "preserve", "lib": ["dom", "dom.iterable", "ESNext"], + "moduleResolution": "bundler", "noEmit": true }, "include": ["theme-override.d.ts", "./src/"] diff --git a/libs/@local/advanced-types/package.json b/libs/@local/advanced-types/package.json index 80122b04c5a..5e71d1adad3 100644 --- a/libs/@local/advanced-types/package.json +++ b/libs/@local/advanced-types/package.json @@ -27,6 +27,6 @@ "eslint": "9.39.4", "react": "19.2.6", "rimraf": "6.1.3", - "typescript": "5.9.3" + "typescript": "6.0.3" } } diff --git a/libs/@local/advanced-types/src/typed-entries.ts b/libs/@local/advanced-types/src/typed-entries.ts index 683e3f23437..a6d6cee265e 100644 --- a/libs/@local/advanced-types/src/typed-entries.ts +++ b/libs/@local/advanced-types/src/typed-entries.ts @@ -39,7 +39,7 @@ export function typedEntries>( export const typedKeys = >( object: T, ): Entry[0][] => { - return Object.keys(object) as Entry[0][]; + return Object.keys(object); }; /** `Object.values` analogue which returns a well-typed array */ diff --git a/libs/@local/advanced-types/tsconfig.build.json b/libs/@local/advanced-types/tsconfig.build.json index 19340e844f2..666456dd94d 100644 --- a/libs/@local/advanced-types/tsconfig.build.json +++ b/libs/@local/advanced-types/tsconfig.build.json @@ -4,6 +4,7 @@ "compilerOptions": { "declaration": true, "outDir": "dist", + "rootDir": "./src", "paths": {} } } diff --git a/libs/@local/advanced-types/tsconfig.json b/libs/@local/advanced-types/tsconfig.json index e9e22172e63..f90afdd8f8e 100644 --- a/libs/@local/advanced-types/tsconfig.json +++ b/libs/@local/advanced-types/tsconfig.json @@ -2,6 +2,7 @@ "extends": "@local/tsconfig/legacy-base-tsconfig-to-refactor.json", "include": ["./src/", "codegen.config.ts", "eslint.config.js"], "compilerOptions": { + "types": ["node"], "module": "NodeNext", "moduleResolution": "NodeNext" } diff --git a/libs/@local/codec/package.json b/libs/@local/codec/package.json index f39e2a9807b..2dba9934d10 100644 --- a/libs/@local/codec/package.json +++ b/libs/@local/codec/package.json @@ -30,6 +30,6 @@ "@local/tsconfig": "workspace:*", "@rust/harpc-types": "workspace:*", "@rust/hash-codegen": "workspace:*", - "typescript": "5.9.3" + "typescript": "6.0.3" } } diff --git a/libs/@local/codec/tsconfig.json b/libs/@local/codec/tsconfig.json index fc7f5ee2f06..d851e6b6ce1 100644 --- a/libs/@local/codec/tsconfig.json +++ b/libs/@local/codec/tsconfig.json @@ -2,6 +2,7 @@ "extends": "@local/tsconfig/legacy-base-tsconfig-to-refactor.json", "include": ["types/**/*.d.ts"], "compilerOptions": { + "types": ["node"], "module": "NodeNext", "moduleResolution": "NodeNext" } diff --git a/libs/@local/effect-dns/core/package.json b/libs/@local/effect-dns/core/package.json index 54f51b24c3f..7073a03770a 100644 --- a/libs/@local/effect-dns/core/package.json +++ b/libs/@local/effect-dns/core/package.json @@ -26,6 +26,6 @@ "@local/tsconfig": "workspace:*", "eslint": "9.39.4", "rimraf": "6.1.3", - "typescript": "5.9.3" + "typescript": "6.0.3" } } diff --git a/libs/@local/effect-dns/core/tsconfig.build.json b/libs/@local/effect-dns/core/tsconfig.build.json index 689d620ed56..dbd5ffddea7 100644 --- a/libs/@local/effect-dns/core/tsconfig.build.json +++ b/libs/@local/effect-dns/core/tsconfig.build.json @@ -3,6 +3,7 @@ "compilerOptions": { "declaration": true, "outDir": "dist", + "rootDir": "./src", "paths": {}, "stripInternal": true }, diff --git a/libs/@local/effect-dns/core/tsconfig.json b/libs/@local/effect-dns/core/tsconfig.json index 971cfce933a..cccc23df2ad 100644 --- a/libs/@local/effect-dns/core/tsconfig.json +++ b/libs/@local/effect-dns/core/tsconfig.json @@ -1,6 +1,7 @@ { "extends": "@local/tsconfig/legacy-base-tsconfig-to-refactor.json", "compilerOptions": { + "types": ["node"], "module": "NodeNext", "moduleResolution": "nodenext" }, diff --git a/libs/@local/effect-dns/hickory/package.json b/libs/@local/effect-dns/hickory/package.json index 70b2f95e393..a7066fdc89b 100644 --- a/libs/@local/effect-dns/hickory/package.json +++ b/libs/@local/effect-dns/hickory/package.json @@ -24,7 +24,7 @@ "@vitest/coverage-istanbul": "4.1.8", "eslint": "9.39.4", "rimraf": "6.1.3", - "typescript": "5.9.3", + "typescript": "6.0.3", "vitest": "4.1.8" }, "napi": { diff --git a/libs/@local/effect-dns/hickory/tsconfig.build.json b/libs/@local/effect-dns/hickory/tsconfig.build.json index 179087b2b3d..87266e31326 100644 --- a/libs/@local/effect-dns/hickory/tsconfig.build.json +++ b/libs/@local/effect-dns/hickory/tsconfig.build.json @@ -3,6 +3,7 @@ "compilerOptions": { "declaration": true, "outDir": "dist", + "rootDir": "./src", "stripInternal": true, "paths": {} }, diff --git a/libs/@local/eslint/package.json b/libs/@local/eslint/package.json index dd611a99c5d..220580aea31 100644 --- a/libs/@local/eslint/package.json +++ b/libs/@local/eslint/package.json @@ -44,6 +44,6 @@ "@types/babel__core": "^7.20.5", "@types/node": "22.18.13", "rimraf": "6.1.3", - "typescript": "5.9.3" + "typescript": "6.0.3" } } diff --git a/libs/@local/eslint/tsconfig.build.json b/libs/@local/eslint/tsconfig.build.json index f57633edc28..cd0a68d2252 100644 --- a/libs/@local/eslint/tsconfig.build.json +++ b/libs/@local/eslint/tsconfig.build.json @@ -4,6 +4,7 @@ "compilerOptions": { "declaration": true, "outDir": "dist", + "rootDir": "./src", "paths": {} } } diff --git a/libs/@local/eslint/tsconfig.json b/libs/@local/eslint/tsconfig.json index 1d8fe2a0680..3817dc90544 100644 --- a/libs/@local/eslint/tsconfig.json +++ b/libs/@local/eslint/tsconfig.json @@ -1,6 +1,7 @@ { "extends": "@local/tsconfig/legacy-base-tsconfig-to-refactor.json", "compilerOptions": { + "types": ["node"], "module": "NodeNext", "moduleResolution": "NodeNext" }, diff --git a/libs/@local/graph/authorization/package.json b/libs/@local/graph/authorization/package.json index 9959bf15033..63c1e920c2d 100644 --- a/libs/@local/graph/authorization/package.json +++ b/libs/@local/graph/authorization/package.json @@ -31,6 +31,6 @@ "devDependencies": { "@local/tsconfig": "workspace:*", "@rust/hash-codegen": "workspace:*", - "typescript": "5.9.3" + "typescript": "6.0.3" } } diff --git a/libs/@local/graph/client/typescript/package.json b/libs/@local/graph/client/typescript/package.json index d2244ef7195..424b0ed6ce8 100644 --- a/libs/@local/graph/client/typescript/package.json +++ b/libs/@local/graph/client/typescript/package.json @@ -21,6 +21,6 @@ "@types/node": "22.18.13", "fix-esm-import-path": "1.10.3", "rimraf": "6.1.3", - "typescript": "5.9.3" + "typescript": "6.0.3" } } diff --git a/libs/@local/graph/client/typescript/tsconfig.json b/libs/@local/graph/client/typescript/tsconfig.json index 6656c3bd951..895e4d87ca3 100644 --- a/libs/@local/graph/client/typescript/tsconfig.json +++ b/libs/@local/graph/client/typescript/tsconfig.json @@ -3,6 +3,7 @@ "include": ["./"], "exclude": ["./dist"], "compilerOptions": { + "types": ["node"], "module": "NodeNext", "moduleResolution": "NodeNext" } diff --git a/libs/@local/graph/sdk/typescript/package.json b/libs/@local/graph/sdk/typescript/package.json index ba7266407d7..471d94ce23c 100644 --- a/libs/@local/graph/sdk/typescript/package.json +++ b/libs/@local/graph/sdk/typescript/package.json @@ -40,7 +40,7 @@ "@vitest/coverage-istanbul": "4.1.8", "eslint": "9.39.4", "rimraf": "6.1.3", - "typescript": "5.9.3", + "typescript": "6.0.3", "vitest": "4.1.8" } } diff --git a/libs/@local/graph/sdk/typescript/src/entity-type.ts b/libs/@local/graph/sdk/typescript/src/entity-type.ts index 07f91e327fe..b41229a95e7 100644 --- a/libs/@local/graph/sdk/typescript/src/entity-type.ts +++ b/libs/@local/graph/sdk/typescript/src/entity-type.ts @@ -116,10 +116,8 @@ export const queryEntityTypes = ( | undefined, entityTypes: mapGraphApiEntityTypesToEntityTypes(response.entityTypes), cursor: response.cursor as VersionedUrl | undefined, - webIds: response.webIds as Record | undefined, - editionCreatedByIds: response.editionCreatedByIds as - | Record - | undefined, + webIds: response.webIds, + editionCreatedByIds: response.editionCreatedByIds, })); export type SearchEntityTypesRequest = DistributiveOmit< @@ -186,10 +184,8 @@ export const queryEntityTypeSubgraph = ( ...response, subgraph: mapGraphApiSubgraphToSubgraph(response.subgraph), cursor: response.cursor as VersionedUrl | undefined, - webIds: response.webIds as Record | undefined, - editionCreatedByIds: response.editionCreatedByIds as - | Record - | undefined, + webIds: response.webIds, + editionCreatedByIds: response.editionCreatedByIds, })); export const serializeQueryEntityTypeSubgraphResponse = ( diff --git a/libs/@local/graph/sdk/typescript/src/entity.ts b/libs/@local/graph/sdk/typescript/src/entity.ts index ac1405e9109..47832216aa5 100644 --- a/libs/@local/graph/sdk/typescript/src/entity.ts +++ b/libs/@local/graph/sdk/typescript/src/entity.ts @@ -117,6 +117,7 @@ export type BrandedPropertyObject> = export const brandPropertyObject = >( obj: T, ): BrandedPropertyObject => { + // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion -- false positive with typescript-eslint 8.62 under TS 6.0 (removing the assertion breaks tsc); remove once typescript-eslint >= 8.63 is in return obj as BrandedPropertyObject; }; @@ -1416,7 +1417,7 @@ export class HashLinkEntity< ); } - super(input as EntityInput); + super(input); } public static async createMultiple( @@ -1467,7 +1468,7 @@ export class HashLinkEntity< ): Promise { if (propertyPatches) { const isUserEntity = this.metadata.entityTypeIds.some((id) => - id.startsWith(userEntityTypeBaseUrl as string), + id.startsWith(userEntityTypeBaseUrl), ); if (isUserEntity) { @@ -1564,17 +1565,11 @@ export const summarizeEntities = async ( .summarizeEntities(authentication.actorId, params) .then(({ data: response }) => ({ ...response, - webIds: response.webIds as Record | undefined, - createdByIds: response.createdByIds as - | Record - | undefined, - editionCreatedByIds: response.editionCreatedByIds as - | Record - | undefined, - typeIds: response.typeIds as Record | undefined, - typeTitles: response.typeTitles as - | Record - | undefined, + webIds: response.webIds, + createdByIds: response.createdByIds, + editionCreatedByIds: response.editionCreatedByIds, + typeIds: response.typeIds, + typeTitles: response.typeTitles, })); }; diff --git a/libs/@local/graph/sdk/typescript/src/subgraph.ts b/libs/@local/graph/sdk/typescript/src/subgraph.ts index 1b3e9fcbde9..663ef40a9a9 100644 --- a/libs/@local/graph/sdk/typescript/src/subgraph.ts +++ b/libs/@local/graph/sdk/typescript/src/subgraph.ts @@ -128,7 +128,7 @@ export const deserializeSubgraph = < >( subgraph: SerializedSubgraph, ): Subgraph => ({ - roots: subgraph.roots as RootType["vertexId"][], + roots: subgraph.roots, vertices: deserializeGraphVertices(subgraph.vertices), edges: subgraph.edges, temporalAxes: subgraph.temporalAxes, diff --git a/libs/@local/graph/sdk/typescript/tsconfig.build.json b/libs/@local/graph/sdk/typescript/tsconfig.build.json index f57633edc28..cd0a68d2252 100644 --- a/libs/@local/graph/sdk/typescript/tsconfig.build.json +++ b/libs/@local/graph/sdk/typescript/tsconfig.build.json @@ -4,6 +4,7 @@ "compilerOptions": { "declaration": true, "outDir": "dist", + "rootDir": "./src", "paths": {} } } diff --git a/libs/@local/graph/sdk/typescript/tsconfig.json b/libs/@local/graph/sdk/typescript/tsconfig.json index 35a36985b1e..f8a1232d906 100644 --- a/libs/@local/graph/sdk/typescript/tsconfig.json +++ b/libs/@local/graph/sdk/typescript/tsconfig.json @@ -2,6 +2,7 @@ "extends": "@local/tsconfig/legacy-base-tsconfig-to-refactor.json", "include": ["src", "tests", "eslint.config.js", "vitest.config.ts"], "compilerOptions": { + "types": ["node"], "module": "NodeNext", "moduleResolution": "NodeNext" } diff --git a/libs/@local/graph/store/package.json b/libs/@local/graph/store/package.json index 13a00b5532b..85504b28bb6 100644 --- a/libs/@local/graph/store/package.json +++ b/libs/@local/graph/store/package.json @@ -34,6 +34,6 @@ "devDependencies": { "@local/tsconfig": "workspace:*", "@rust/hash-codegen": "workspace:*", - "typescript": "5.9.3" + "typescript": "6.0.3" } } diff --git a/libs/@local/graph/type-defs/package.json b/libs/@local/graph/type-defs/package.json index 6e8b6046a82..2626569ca3c 100644 --- a/libs/@local/graph/type-defs/package.json +++ b/libs/@local/graph/type-defs/package.json @@ -22,6 +22,6 @@ "eslint": "9.39.4", "quicktype": "16.0.43", "tsx": "4.20.6", - "typescript": "5.9.3" + "typescript": "6.0.3" } } diff --git a/libs/@local/graph/type-defs/tsconfig.json b/libs/@local/graph/type-defs/tsconfig.json index 618780e98b9..41ad7b14fde 100644 --- a/libs/@local/graph/type-defs/tsconfig.json +++ b/libs/@local/graph/type-defs/tsconfig.json @@ -2,6 +2,7 @@ "extends": "@local/tsconfig/legacy-base-tsconfig-to-refactor.json", "include": ["typescript", "eslint.config.js"], "compilerOptions": { + "types": ["node"], "module": "NodeNext", "moduleResolution": "NodeNext" } diff --git a/libs/@local/harpc/client/typescript/package.json b/libs/@local/harpc/client/typescript/package.json index 00cb321fab5..64f53a1389a 100644 --- a/libs/@local/harpc/client/typescript/package.json +++ b/libs/@local/harpc/client/typescript/package.json @@ -53,7 +53,7 @@ "@vitest/coverage-istanbul": "4.1.8", "eslint": "9.39.4", "rimraf": "6.1.3", - "typescript": "5.9.3", + "typescript": "6.0.3", "vitest": "4.1.8" } } diff --git a/libs/@local/harpc/client/typescript/src/binary/MutableBytes.ts b/libs/@local/harpc/client/typescript/src/binary/MutableBytes.ts index f88e632c0ca..47038f86f88 100644 --- a/libs/@local/harpc/client/typescript/src/binary/MutableBytes.ts +++ b/libs/@local/harpc/client/typescript/src/binary/MutableBytes.ts @@ -62,7 +62,7 @@ export const make = (options?: MakeOptions): MutableBytes => options?.initialCapacity ?? DEFAULT_INITIAL_CAPACITY, ), }, - ) satisfies MutableBytesImpl as MutableBytes; + ) satisfies MutableBytesImpl; interface FromOptions { /** @@ -87,7 +87,7 @@ export const from = ( length: buffer.byteLength, inner: buffer, }, - ) satisfies MutableBytesImpl as MutableBytes; + ) satisfies MutableBytesImpl; export const capacity = (self: MutableBytes) => (self as MutableBytesImpl).inner.byteLength; diff --git a/libs/@local/harpc/client/typescript/src/codec/JsonEncoder.ts b/libs/@local/harpc/client/typescript/src/codec/JsonEncoder.ts index 76e4d68c4f5..5d54fa1fcf9 100644 --- a/libs/@local/harpc/client/typescript/src/codec/JsonEncoder.ts +++ b/libs/@local/harpc/client/typescript/src/codec/JsonEncoder.ts @@ -28,7 +28,7 @@ const encoder = (options: Options) => const array = textEncoder.encode(text); // assertion is necessary because dom libraries don't support `TextEncoder` yet. - return array.buffer as unknown as ArrayBuffer; + return array.buffer; }), ), ); diff --git a/libs/@local/harpc/client/typescript/src/net/Client.ts b/libs/@local/harpc/client/typescript/src/net/Client.ts index a403fdcba9e..ed2dbb49eef 100644 --- a/libs/@local/harpc/client/typescript/src/net/Client.ts +++ b/libs/@local/harpc/client/typescript/src/net/Client.ts @@ -41,7 +41,7 @@ export const make = Effect.fn("make")(function* (config?: ClientConfig) { return createProto(ClientProto, { client, config, - }) satisfies ClientImpl as Client; + }) satisfies ClientImpl; }); export const layer = (config?: ClientConfig) => diff --git a/libs/@local/harpc/client/typescript/src/net/Connection.ts b/libs/@local/harpc/client/typescript/src/net/Connection.ts index ee04adf8e4b..6842be2e411 100644 --- a/libs/@local/harpc/client/typescript/src/net/Connection.ts +++ b/libs/@local/harpc/client/typescript/src/net/Connection.ts @@ -277,7 +277,7 @@ export const makeUnchecked = Effect.fn("makeUnchecked")(function* ( // TODO: we might want to observe the task, for that we would need to have a partial connection that we then patch yield* Effect.fork(task(self)); - return self as Connection; + return self; }); // these bounds are stricter than required, as we have no way to inform the remote about a failure in the underlying stream, diff --git a/libs/@local/harpc/client/typescript/src/net/Request.ts b/libs/@local/harpc/client/typescript/src/net/Request.ts index 8536cd878a7..d072c891972 100644 --- a/libs/@local/harpc/client/typescript/src/net/Request.ts +++ b/libs/@local/harpc/client/typescript/src/net/Request.ts @@ -58,7 +58,7 @@ export const make = Effect.fn("make")(function* ( subsystem, procedure, body, - }) as Request; + }); }); interface Scratch { diff --git a/libs/@local/harpc/client/typescript/src/net/Transaction.ts b/libs/@local/harpc/client/typescript/src/net/Transaction.ts index 460481160a2..485aa60f03f 100644 --- a/libs/@local/harpc/client/typescript/src/net/Transaction.ts +++ b/libs/@local/harpc/client/typescript/src/net/Transaction.ts @@ -31,8 +31,7 @@ export const makeUnchecked = ( id: RequestId.RequestId, readQueue: Queue.Dequeue, drop: Deferred.Deferred, -): Transaction => - createProto(TransactionProto, { id, read: readQueue, drop }) as Transaction; +): Transaction => createProto(TransactionProto, { id, read: readQueue, drop }); // eslint-disable-next-line fsecond/no-inline-interfaces export const registerDestructor: { diff --git a/libs/@local/harpc/client/typescript/src/net/internal/dns.ts b/libs/@local/harpc/client/typescript/src/net/internal/dns.ts index 98d829c54d9..33e1a76eaa4 100644 --- a/libs/@local/harpc/client/typescript/src/net/internal/dns.ts +++ b/libs/@local/harpc/client/typescript/src/net/internal/dns.ts @@ -104,7 +104,7 @@ export const resolve = Effect.fn("resolve")(function* ( address: hostname, timeToLive: Duration.infinity, - } as DnsRecord, + }, ]; } } @@ -119,7 +119,7 @@ export const resolve = Effect.fn("resolve")(function* ( address: hostname, timeToLive: Duration.infinity, - } as DnsRecord, + }, ]; } } @@ -175,6 +175,7 @@ export const lookup = Effect.fn("lookup")(function* ( // to fix this see: https://linear.app/hash/issue/H-3785/create-typescripteffect-dns-package const aRecords = satisfying.map( (record) => + // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion -- false positive with typescript-eslint 8.62 under TS 6.0 (removing the assertion breaks tsc); remove once typescript-eslint >= 8.63 is in ({ type: "A", address: record.address, @@ -184,6 +185,7 @@ export const lookup = Effect.fn("lookup")(function* ( const aaaaRecords = excluded.map( (record) => + // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion -- false positive with typescript-eslint 8.62 under TS 6.0 (removing the assertion breaks tsc); remove once typescript-eslint >= 8.63 is in ({ type: "AAAA", address: record.address, diff --git a/libs/@local/harpc/client/typescript/src/wire-protocol/RequestIdProducer.ts b/libs/@local/harpc/client/typescript/src/wire-protocol/RequestIdProducer.ts index 5c7081932f0..8a2ed6c4cad 100644 --- a/libs/@local/harpc/client/typescript/src/wire-protocol/RequestIdProducer.ts +++ b/libs/@local/harpc/client/typescript/src/wire-protocol/RequestIdProducer.ts @@ -30,7 +30,7 @@ export const RequestIdProducer = GenericTag( const make = Effect.fn("make")(function* () { const next = yield* Ref.make(0); - return createProto(RequestIdProducerProto, { next }) as RequestIdProducer; + return createProto(RequestIdProducerProto, { next }); }); export const layer = Layer.effect(RequestIdProducer, make()); diff --git a/libs/@local/harpc/client/typescript/tests/codec/JsonDecoder.test.ts b/libs/@local/harpc/client/typescript/tests/codec/JsonDecoder.test.ts index b715e4e6c6b..9aefae62415 100644 --- a/libs/@local/harpc/client/typescript/tests/codec/JsonDecoder.test.ts +++ b/libs/@local/harpc/client/typescript/tests/codec/JsonDecoder.test.ts @@ -8,7 +8,6 @@ import { expectArrayBuffer } from "../wire-protocol/utils.js"; import type { DecodingError } from "../../src/codec/Decoder.js"; import type { ParseError } from "effect/ParseResult"; -import type { ReadonlyRecord } from "effect/Record"; import type * as vitest from "vitest"; const decode = Effect.fn("decode")(function* ( @@ -30,7 +29,7 @@ const decode = Effect.fn("decode")(function* ( ); // explicit type annotation needed for eslint - return (yield* effect) as readonly ReadonlyRecord[]; + return yield* effect; }); describe.concurrent("JsonDecoder", () => { diff --git a/libs/@local/hash-backend-utils/package.json b/libs/@local/hash-backend-utils/package.json index f42ee342af8..409c0b99c56 100644 --- a/libs/@local/hash-backend-utils/package.json +++ b/libs/@local/hash-backend-utils/package.json @@ -85,7 +85,7 @@ "@vitest/coverage-istanbul": "4.1.8", "eslint": "9.39.4", "rimraf": "6.1.3", - "typescript": "5.9.3", + "typescript": "6.0.3", "vitest": "4.1.8" } } diff --git a/libs/@local/hash-backend-utils/src/create-graph-client.ts b/libs/@local/hash-backend-utils/src/create-graph-client.ts index e00cd8f3659..e48d7f016f0 100644 --- a/libs/@local/hash-backend-utils/src/create-graph-client.ts +++ b/libs/@local/hash-backend-utils/src/create-graph-client.ts @@ -52,7 +52,7 @@ class GraphApiError extends Error { if (axiosError.response) { if (isStatus(responseData)) { super(responseData.message); - this.status = responseData as GraphStatus; + this.status = responseData; } else if (typeof responseData === "string") { const message = `Error from Graph API: ${responseData}`; super(message); diff --git a/libs/@local/hash-backend-utils/src/logger.ts b/libs/@local/hash-backend-utils/src/logger.ts index 438b1ae8481..e30387d0203 100644 --- a/libs/@local/hash-backend-utils/src/logger.ts +++ b/libs/@local/hash-backend-utils/src/logger.ts @@ -286,8 +286,8 @@ class OpenTelemetryLogTransport extends Transport { const spanContext = trace.getActiveSpan()?.spanContext(); if (spanContext) { - attributes.trace_id = spanContext.traceId as AnyValue; - attributes.span_id = spanContext.spanId as AnyValue; + attributes.trace_id = spanContext.traceId; + attributes.span_id = spanContext.spanId; } otelLogger.emit({ diff --git a/libs/@local/hash-backend-utils/src/notifications.ts b/libs/@local/hash-backend-utils/src/notifications.ts index 186742282c8..0456116594c 100644 --- a/libs/@local/hash-backend-utils/src/notifications.ts +++ b/libs/@local/hash-backend-utils/src/notifications.ts @@ -11,7 +11,6 @@ import type { ProvidedEntityEditionProvenance, Timestamp, UserId, - WebId, } from "@blockprotocol/type-system"; import type { GraphApi } from "@local/hash-graph-client"; import type { @@ -66,7 +65,7 @@ export const createGraphChangeNotification = async ( { draft: false, entityTypeIds: [systemEntityTypes.graphChangeNotification.entityTypeId], - webId: notifiedUserAccountId as WebId, + webId: notifiedUserAccountId, properties: { value: { "https://hash.ai/@h/types/property-type/graph-change-type/": { @@ -95,7 +94,7 @@ export const createGraphChangeNotification = async ( { draft: false, entityTypeIds: [systemLinkEntityTypes.occurredInEntity.linkEntityTypeId], - webId: notifiedUserAccountId as WebId, + webId: notifiedUserAccountId, linkData: { leftEntityId: notificationEntity.metadata.recordId.entityId, rightEntityId: changedEntityId, diff --git a/libs/@local/hash-backend-utils/src/opentelemetry.test.ts b/libs/@local/hash-backend-utils/src/opentelemetry.test.ts index 4f29ddab646..1073863c7c0 100644 --- a/libs/@local/hash-backend-utils/src/opentelemetry.test.ts +++ b/libs/@local/hash-backend-utils/src/opentelemetry.test.ts @@ -146,8 +146,7 @@ describe("createHttpInstrumentation OTLP-port filter", () => { if (!hook) { throw new Error("ignoreOutgoingRequestHook should be set"); } - return (port: number | string | undefined) => - hook({ port } as Parameters>[0]); + return (port: number | string | undefined) => hook({ port }); }; it("ignores outgoing requests to the configured OTLP gRPC port", () => { diff --git a/libs/@local/hash-backend-utils/src/temporal/workflow-span-adapter.ts b/libs/@local/hash-backend-utils/src/temporal/workflow-span-adapter.ts index 82e6244b2c4..7a285fbffe9 100644 --- a/libs/@local/hash-backend-utils/src/temporal/workflow-span-adapter.ts +++ b/libs/@local/hash-backend-utils/src/temporal/workflow-span-adapter.ts @@ -91,7 +91,7 @@ const normaliseSpan = (span: ReadableSpan): ReadableSpan => { // Spread is safe: `extractReadableSpan` produces a plain object with // `spanContext` as an own arrow-function property, not as a prototype // method, so we don't lose any callable surface. - return { ...span, instrumentationScope, parentSpanContext } as ReadableSpan; + return { ...span, instrumentationScope, parentSpanContext }; }; export const wrapWorkflowSpanExporter = ( @@ -123,5 +123,5 @@ export const makeV2WorkflowSink = ( wrapWorkflowSpanExporter(setup.traceExporter) as unknown as Parameters< typeof makeWorkflowExporter >[0], - setup.resource as unknown as Parameters[1], + setup.resource, ); diff --git a/libs/@local/hash-backend-utils/tsconfig.build.json b/libs/@local/hash-backend-utils/tsconfig.build.json index d6484184671..bf58049f8f3 100644 --- a/libs/@local/hash-backend-utils/tsconfig.build.json +++ b/libs/@local/hash-backend-utils/tsconfig.build.json @@ -4,6 +4,7 @@ "compilerOptions": { "declaration": true, "outDir": "dist", + "rootDir": "./src", "paths": {} } } diff --git a/libs/@local/hash-backend-utils/tsconfig.json b/libs/@local/hash-backend-utils/tsconfig.json index 7cb93887c0c..52ac65aef65 100644 --- a/libs/@local/hash-backend-utils/tsconfig.json +++ b/libs/@local/hash-backend-utils/tsconfig.json @@ -2,6 +2,7 @@ "extends": "@local/tsconfig/legacy-base-tsconfig-to-refactor.json", "include": ["src", "eslint.config.js", "vitest.config.ts"], "compilerOptions": { + "types": ["node"], "module": "NodeNext", "moduleResolution": "NodeNext" } diff --git a/libs/@local/hash-isomorphic-utils/package.json b/libs/@local/hash-isomorphic-utils/package.json index 95e250c0fb5..0d3a22eae04 100644 --- a/libs/@local/hash-isomorphic-utils/package.json +++ b/libs/@local/hash-isomorphic-utils/package.json @@ -73,7 +73,7 @@ "next": "15.5.18", "react": "19.2.6", "rimraf": "6.1.3", - "typescript": "5.9.3", + "typescript": "6.0.3", "vitest": "4.1.8" } } diff --git a/libs/@local/hash-isomorphic-utils/src/blocks.ts b/libs/@local/hash-isomorphic-utils/src/blocks.ts index 7a44f53a89d..2572cea0438 100644 --- a/libs/@local/hash-isomorphic-utils/src/blocks.ts +++ b/libs/@local/hash-isomorphic-utils/src/blocks.ts @@ -1,5 +1,5 @@ import type { BlockMetadata, BlockVariant } from "@blockprotocol/core"; -import type { EntityType, VersionedUrl } from "@blockprotocol/type-system"; +import type { EntityType } from "@blockprotocol/type-system"; export interface HashBlockMeta extends BlockMetadata { componentId: string; @@ -126,7 +126,7 @@ const transformBlockConfig = ({ schema: deriveAbsoluteUrl({ baseUrl, path: metadata.schema, - }) as VersionedUrl, + }), source: deriveAbsoluteUrl({ baseUrl, path: metadata.source }), }; }; diff --git a/libs/@local/hash-isomorphic-utils/src/create-apollo-client.ts b/libs/@local/hash-isomorphic-utils/src/create-apollo-client.ts index 8dcf110cd47..820f03bb8c6 100644 --- a/libs/@local/hash-isomorphic-utils/src/create-apollo-client.ts +++ b/libs/@local/hash-isomorphic-utils/src/create-apollo-client.ts @@ -86,6 +86,7 @@ export const createApolloClient = (params?: { const httpLink = new HttpLink({ uri: apiGraphQLEndpoint, credentials: "include", + // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion -- false positive with typescript-eslint 8.62 under TS 6.0 (removing the assertion breaks tsc); remove once typescript-eslint >= 8.63 is in fetch: wrappedFetch as WindowOrWorkerGlobalScope["fetch"], headers, }); diff --git a/libs/@local/hash-isomorphic-utils/src/service-usage.ts b/libs/@local/hash-isomorphic-utils/src/service-usage.ts index 785c39b7e01..99095556c8a 100644 --- a/libs/@local/hash-isomorphic-utils/src/service-usage.ts +++ b/libs/@local/hash-isomorphic-utils/src/service-usage.ts @@ -190,9 +190,9 @@ export const getAggregateUsageRecordsByTask = ({ const { inputUnitCount, outputUnitCount, customMetadata } = simplifyProperties(record.properties); - const taskName = ( - customMetadata as FlowUsageRecordCustomMetadata | undefined - )?.taskName; + const taskName = + // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion -- false positive with typescript-eslint 8.62 under TS 6.0 (removing the assertion breaks tsc); remove once typescript-eslint >= 8.63 is in + (customMetadata as FlowUsageRecordCustomMetadata | undefined)?.taskName; if (!taskName) { continue; } diff --git a/libs/@local/hash-isomorphic-utils/tsconfig.build.json b/libs/@local/hash-isomorphic-utils/tsconfig.build.json index f57633edc28..cd0a68d2252 100644 --- a/libs/@local/hash-isomorphic-utils/tsconfig.build.json +++ b/libs/@local/hash-isomorphic-utils/tsconfig.build.json @@ -4,6 +4,7 @@ "compilerOptions": { "declaration": true, "outDir": "dist", + "rootDir": "./src", "paths": {} } } diff --git a/libs/@local/hash-isomorphic-utils/tsconfig.json b/libs/@local/hash-isomorphic-utils/tsconfig.json index 2c1bd455f26..d50ddf79bb9 100644 --- a/libs/@local/hash-isomorphic-utils/tsconfig.json +++ b/libs/@local/hash-isomorphic-utils/tsconfig.json @@ -7,6 +7,7 @@ "vitest.config.ts" ], "compilerOptions": { + "types": ["node"], "module": "NodeNext", "moduleResolution": "NodeNext", /** diff --git a/libs/@local/internal-api-client/typescript/package.json b/libs/@local/internal-api-client/typescript/package.json index 5caba780d5b..ef9476138fd 100644 --- a/libs/@local/internal-api-client/typescript/package.json +++ b/libs/@local/internal-api-client/typescript/package.json @@ -18,6 +18,6 @@ "@openapitools/openapi-generator-cli": "2.38.0", "@types/node": "22.18.13", "rimraf": "6.1.3", - "typescript": "5.9.3" + "typescript": "6.0.3" } } diff --git a/libs/@local/internal-api-client/typescript/tsconfig.json b/libs/@local/internal-api-client/typescript/tsconfig.json index 79eb8e02165..895e4d87ca3 100644 --- a/libs/@local/internal-api-client/typescript/tsconfig.json +++ b/libs/@local/internal-api-client/typescript/tsconfig.json @@ -1,7 +1,9 @@ { "extends": "@local/tsconfig/legacy-base-tsconfig-to-refactor.json", "include": ["./"], + "exclude": ["./dist"], "compilerOptions": { + "types": ["node"], "module": "NodeNext", "moduleResolution": "NodeNext" } diff --git a/libs/@local/repo-chores/node/package.json b/libs/@local/repo-chores/node/package.json index 038633b2231..b249f64d640 100644 --- a/libs/@local/repo-chores/node/package.json +++ b/libs/@local/repo-chores/node/package.json @@ -27,7 +27,6 @@ "js-yaml": "4.1.1", "regex-parser": "2.3.1", "tsx": "4.20.6", - "typescript": "5.9.3", "zod": "4.4.3", "zod-to-json-schema": "3.24.6" }, @@ -37,6 +36,6 @@ "@types/fs-extra": "11.0.4", "@types/js-yaml": "^4", "eslint": "9.39.4", - "typescript": "5.9.3" + "typescript": "6.0.3" } } diff --git a/libs/@local/repo-chores/node/tsconfig.json b/libs/@local/repo-chores/node/tsconfig.json index 57fa30f963e..fd4b570db34 100644 --- a/libs/@local/repo-chores/node/tsconfig.json +++ b/libs/@local/repo-chores/node/tsconfig.json @@ -3,6 +3,8 @@ "include": ["scripts"], "exclude": ["scripts/create-block/**/*.d.ts"], "compilerOptions": { - "lib": ["ESNext"] + "types": ["node"], + "lib": ["ESNext"], + "moduleResolution": "bundler" } } diff --git a/libs/@local/status/typescript/package.json b/libs/@local/status/typescript/package.json index bf3fd22218b..b5ff11ef47f 100644 --- a/libs/@local/status/typescript/package.json +++ b/libs/@local/status/typescript/package.json @@ -18,7 +18,6 @@ "dependencies": { "execa": "9.6.0", "lodash-es": "4.18.1", - "typescript": "5.9.3", "yargs": "18.0.0" }, "devDependencies": { @@ -30,6 +29,6 @@ "eslint": "9.39.4", "quicktype": "16.0.43", "rimraf": "6.1.3", - "typescript": "5.9.3" + "typescript": "6.0.3" } } diff --git a/libs/@local/status/typescript/tsconfig.json b/libs/@local/status/typescript/tsconfig.json index b2d3cc538e3..618cd337418 100644 --- a/libs/@local/status/typescript/tsconfig.json +++ b/libs/@local/status/typescript/tsconfig.json @@ -2,6 +2,7 @@ "extends": "@local/tsconfig/legacy-base-tsconfig-to-refactor.json", "include": ["./src/", "./scripts", "./type-defs", "eslint.config.js"], "compilerOptions": { + "types": ["node"], "module": "NodeNext", "moduleResolution": "NodeNext" } diff --git a/libs/@local/tsconfig/block.json b/libs/@local/tsconfig/block.json index e010ba02869..7ba6d375e44 100644 --- a/libs/@local/tsconfig/block.json +++ b/libs/@local/tsconfig/block.json @@ -5,6 +5,7 @@ "isolatedModules": true, "jsx": "preserve", "lib": ["dom", "dom.iterable", "ESNext"], + "moduleResolution": "bundler", "noEmit": true, "paths": {}, "target": "ES2021" diff --git a/libs/@local/tsconfig/legacy-base-tsconfig-to-refactor.json b/libs/@local/tsconfig/legacy-base-tsconfig-to-refactor.json index 8dfb7ca1f5b..3371efffa27 100644 --- a/libs/@local/tsconfig/legacy-base-tsconfig-to-refactor.json +++ b/libs/@local/tsconfig/legacy-base-tsconfig-to-refactor.json @@ -7,14 +7,26 @@ "forceConsistentCasingInFileNames": true, "lib": ["es2024"], "module": "esnext", - "moduleResolution": "node", + "moduleResolution": "bundler", "noFallthroughCasesInSwitch": true, + /** + * TypeScript 6.0 defaults `noUncheckedSideEffectImports` to `true`, which rejects + * side-effect imports of assets without type declarations (e.g. `import "./styles.css"`). + * Keep the TypeScript 5.x behavior for now — bundlers handle these imports at runtime. + */ + "noUncheckedSideEffectImports": false, "noUncheckedIndexedAccess": true, "resolveJsonModule": true, "skipLibCheck": true, "strict": true, "target": "es2024", - "baseUrl": ".", + /** + * Note on `types`: TypeScript 6.0 no longer contributes globals from every + * `node_modules/@types` package automatically — only from packages listed in + * `types`. This shared config deliberately does NOT set a default (browser + * workspaces extend it too). Each workspace declares the ambient globals it + * actually needs in its own `types` array (e.g. `["node"]`, `["node", "chrome"]`). + */ "paths": { "@blockprotocol/graph": ["../../@blockprotocol/graph/src/main.ts"], "@blockprotocol/graph/*": ["../../@blockprotocol/graph/src/*.ts"], @@ -39,7 +51,7 @@ "@local/hash-graph-sdk/*": ["../graph/sdk/typescript/src/*.ts"], "@local/hash-isomorphic-utils/*": ["../hash-isomorphic-utils/src/*.ts"], "@local/status": ["../status/typescript/src/main.ts"], - "@local/status/type-defs/*": ["../status/typescript/src/type-defs/*.ts"], + "@local/status/type-defs/*": ["../status/typescript/type-defs/*.ts"], "@local/harpc-client": ["../harpc/client/typescript/src/index.ts"], "@local/harpc-client/*": ["../harpc/client/typescript/src/*/index.ts"], "@local/effect-dns": ["../effect-dns/core/src/index.ts"], @@ -47,10 +59,6 @@ "@local/effect-dns-hickory": ["../effect-dns/hickory/dist/index.ts"], "@local/eslint": ["../eslint/src/index.ts"], "@local/eslint/*": ["../eslint/src/*/index.ts"] - }, - "outDir": "./dist" - }, - "ts-node": { - "transpileOnly": true + } } } diff --git a/package.json b/package.json index dfbe3eb2b47..0c09670c532 100644 --- a/package.json +++ b/package.json @@ -77,7 +77,8 @@ "@yarnpkg/types": "^4.0.1", "lefthook": "2.0.0", "npm-run-all2": "8.0.4", - "oxfmt": "0.50.0" + "oxfmt": "0.50.0", + "typescript": "6.0.3" }, "resolutions": { "@blockprotocol/core": "0.1.5", diff --git a/tests/hash-backend-integration/package.json b/tests/hash-backend-integration/package.json index 8df50911c8a..3c875e489a1 100644 --- a/tests/hash-backend-integration/package.json +++ b/tests/hash-backend-integration/package.json @@ -43,7 +43,7 @@ "@vitest/coverage-istanbul": "4.1.8", "eslint": "9.39.4", "rimraf": "6.1.3", - "typescript": "5.9.3", + "typescript": "6.0.3", "vitest": "4.1.8" } } diff --git a/tests/hash-backend-integration/src/tests/graph/knowledge/primitive/entity.test.ts b/tests/hash-backend-integration/src/tests/graph/knowledge/primitive/entity.test.ts index c2aa269c47d..d150a4aa63e 100644 --- a/tests/hash-backend-integration/src/tests/graph/knowledge/primitive/entity.test.ts +++ b/tests/hash-backend-integration/src/tests/graph/knowledge/primitive/entity.test.ts @@ -51,7 +51,6 @@ import type { EntityTypeWithMetadata, EntityUuid, PropertyTypeWithMetadata, - WebId, } from "@blockprotocol/type-system"; import type { HASHInstance } from "@local/hash-isomorphic-utils/system-types/hashinstance"; import type { Machine } from "@local/hash-isomorphic-utils/system-types/machine"; @@ -106,7 +105,7 @@ describe("Entity CRU", () => { await Promise.all([ createEntityType(graphContext, authentication, { - webId: testUser.accountId as WebId, + webId: testUser.accountId, schema: { title: "Friends", description: "Friend of", @@ -123,7 +122,7 @@ describe("Entity CRU", () => { throw err; }), createPropertyType(graphContext, authentication, { - webId: testUser.accountId as WebId, + webId: testUser.accountId, schema: { title: "Favorite Book", description: "The favorite book of a person", @@ -138,7 +137,7 @@ describe("Entity CRU", () => { throw err; }), createPropertyType(graphContext, authentication, { - webId: testUser.accountId as WebId, + webId: testUser.accountId, schema: { title: "Name", description: "The name of a person", @@ -419,7 +418,7 @@ describe("Entity CRU", () => { graphContext, { actorId: testUser.accountId }, { - webId: testUser.accountId as WebId, + webId: testUser.accountId, // First create a new entity given the following definition entityTypeIds: [entityType.schema.$id], properties: { @@ -481,7 +480,7 @@ describe("Entity CRU", () => { graphContext, { actorId: testUser.accountId }, { - webId: testUser.accountId as WebId, + webId: testUser.accountId, entityUuid: rootEntityUuid, entityTypeIds: [entityType.schema.$id], properties: { @@ -575,7 +574,7 @@ describe("Entity CRU", () => { await expect( createEntity(graphContext, authentication, { - webId: testUser.accountId as WebId, + webId: testUser.accountId, properties: { value: { "https://blockprotocol.org/@blockprotocol/types/property-type/display-name/": @@ -607,7 +606,7 @@ describe("Entity CRU", () => { await expect( createEntity(graphContext, authentication, { - webId: testUser.accountId as WebId, + webId: testUser.accountId, properties: { value: { "https://blockprotocol.org/@blockprotocol/types/property-type/display-name/": @@ -648,7 +647,7 @@ describe("Entity CRU", () => { await expect( createEntity(graphContext, authentication, { - webId: testUser.accountId as WebId, + webId: testUser.accountId, properties: { value: { "https://blockprotocol.org/@blockprotocol/types/property-type/display-name/": @@ -686,7 +685,7 @@ describe("Entity CRU", () => { await expect( createEntity(graphContext, authentication, { - webId: testUser.accountId as WebId, + webId: testUser.accountId, properties: { value: { "https://hash.ai/@h/types/property-type/shortname/": { @@ -723,7 +722,7 @@ describe("Entity CRU", () => { await expect( createEntity(graphContext, authentication, { - webId: testUser.accountId as WebId, + webId: testUser.accountId, properties: { value: { "https://hash.ai/@h/types/property-type/org-self-registration-is-enabled/": diff --git a/tests/hash-backend-integration/src/tests/graph/knowledge/primitive/link-entity.test.ts b/tests/hash-backend-integration/src/tests/graph/knowledge/primitive/link-entity.test.ts index d9e7c3f4f46..1516d414593 100644 --- a/tests/hash-backend-integration/src/tests/graph/knowledge/primitive/link-entity.test.ts +++ b/tests/hash-backend-integration/src/tests/graph/knowledge/primitive/link-entity.test.ts @@ -22,7 +22,7 @@ import { createTestImpureGraphContext, createTestUser } from "../../../util"; import type { EntityTypeDefinition } from "@apps/hash-api/src/graph/ensure-system-graph-is-initialized/migrate-ontology-types/util"; import type { User } from "@apps/hash-api/src/graph/knowledge/system-types/user"; -import type { EntityTypeWithMetadata, WebId } from "@blockprotocol/type-system"; +import type { EntityTypeWithMetadata } from "@blockprotocol/type-system"; import type { HashEntity, HashLinkEntity } from "@local/hash-graph-sdk/entity"; const logger = new Logger({ @@ -59,7 +59,7 @@ describe("Link entity", () => { graphContext, { actorId: testUser.accountId }, { - webId: testUser.accountId as WebId, + webId: testUser.accountId, schema: generateSystemEntityTypeSchema({ entityTypeId, ...params, @@ -82,7 +82,7 @@ describe("Link entity", () => { await Promise.all([ createEntityType(graphContext, authentication, { - webId: testUser.accountId as WebId, + webId: testUser.accountId, schema: { title: "Friends", description: "Friend of", @@ -94,7 +94,7 @@ describe("Link entity", () => { friendLinkEntityType = linkEntityType; }), createEntityType(graphContext, authentication, { - webId: testUser.accountId as WebId, + webId: testUser.accountId, schema: { title: "Acquaintance", description: "Acquainted with", @@ -125,21 +125,21 @@ describe("Link entity", () => { await Promise.all([ createEntity(graphContext, authentication, { - webId: testUser.accountId as WebId, + webId: testUser.accountId, entityTypeIds: [testEntityType.schema.$id], properties: { value: {} }, }).then((entity) => { leftEntity = entity; }), createEntity(graphContext, authentication, { - webId: testUser.accountId as WebId, + webId: testUser.accountId, entityTypeIds: [testEntityType.schema.$id], properties: { value: {} }, }).then((entity) => { friendRightEntity = entity; }), createEntity(graphContext, authentication, { - webId: testUser.accountId as WebId, + webId: testUser.accountId, entityTypeIds: [testEntityType.schema.$id], properties: { value: {} }, }).then((entity) => { @@ -163,7 +163,7 @@ describe("Link entity", () => { const authentication = { actorId: testUser.accountId }; linkEntityFriend = await createLinkEntity(graphContext, authentication, { - webId: testUser.accountId as WebId, + webId: testUser.accountId, properties: { value: {} }, linkData: { leftEntityId: leftEntity.metadata.recordId.entityId, @@ -176,7 +176,7 @@ describe("Link entity", () => { graphContext, authentication, { - webId: testUser.accountId as WebId, + webId: testUser.accountId, properties: { value: {} }, linkData: { leftEntityId: leftEntity.metadata.recordId.entityId, diff --git a/tests/hash-backend-integration/src/tests/graph/knowledge/system-types/block.test.ts b/tests/hash-backend-integration/src/tests/graph/knowledge/system-types/block.test.ts index e1a7b07bb8b..f557029475b 100644 --- a/tests/hash-backend-integration/src/tests/graph/knowledge/system-types/block.test.ts +++ b/tests/hash-backend-integration/src/tests/graph/knowledge/system-types/block.test.ts @@ -19,7 +19,7 @@ import { createTestImpureGraphContext, createTestUser } from "../../../util"; import type { Block } from "@apps/hash-api/src/graph/knowledge/system-types/block"; import type { User } from "@apps/hash-api/src/graph/knowledge/system-types/user"; -import type { EntityTypeWithMetadata, WebId } from "@blockprotocol/type-system"; +import type { EntityTypeWithMetadata } from "@blockprotocol/type-system"; import type { HashEntity } from "@local/hash-graph-sdk/entity"; const logger = new Logger({ @@ -56,7 +56,7 @@ describe("Block", () => { * once the exact role of the block data entity's entity type is known. */ dummyEntityType = await createEntityType(graphContext, authentication, { - webId: testUser.accountId as WebId, + webId: testUser.accountId, schema: generateSystemEntityTypeSchema({ entityTypeId: generateTypeId({ kind: "entity-type", @@ -71,7 +71,7 @@ describe("Block", () => { }); testBlockDataEntity = await createEntity(graphContext, authentication, { - webId: testUser.accountId as WebId, + webId: testUser.accountId, properties: { value: {} }, entityTypeIds: [dummyEntityType.schema.$id], }); @@ -89,7 +89,7 @@ describe("Block", () => { const authentication = { actorId: testUser.accountId }; testBlock = await createBlock(graphContext, authentication, { - webId: testUser.accountId as WebId, + webId: testUser.accountId, componentId: testBlockComponentId, blockData: testBlockDataEntity, }); @@ -124,7 +124,7 @@ describe("Block", () => { graphContext, authentication, { - webId: testUser.accountId as WebId, + webId: testUser.accountId, properties: { value: {} }, entityTypeIds: [dummyEntityType.schema.$id], }, diff --git a/tests/hash-backend-integration/src/tests/graph/knowledge/system-types/comment.test.ts b/tests/hash-backend-integration/src/tests/graph/knowledge/system-types/comment.test.ts index c8badd46f65..6d135d7227d 100644 --- a/tests/hash-backend-integration/src/tests/graph/knowledge/system-types/comment.test.ts +++ b/tests/hash-backend-integration/src/tests/graph/knowledge/system-types/comment.test.ts @@ -27,7 +27,6 @@ import { import type { Block } from "@apps/hash-api/src/graph/knowledge/system-types/block"; import type { Page } from "@apps/hash-api/src/graph/knowledge/system-types/page"; import type { User } from "@apps/hash-api/src/graph/knowledge/system-types/user"; -import type { WebId } from "@blockprotocol/type-system"; import type { Text } from "@local/hash-isomorphic-utils/system-types/shared"; const logger = new Logger({ @@ -57,13 +56,13 @@ describe("Comment", () => { graphContext, { actorId: testUser.accountId }, { - webId: testUser.accountId as WebId, + webId: testUser.accountId, componentId: "text", blockData: await createEntity( graphContext, { actorId: testUser.accountId }, { - webId: testUser.accountId as WebId, + webId: testUser.accountId, entityTypeIds: [systemEntityTypes.text.entityTypeId], properties: { value: { @@ -78,7 +77,7 @@ describe("Comment", () => { testPage = await createPage(graphContext, authentication, { initialBlocks: [initialBlock], - webId: testUser.accountId as WebId, + webId: testUser.accountId, title: "test page", type: "document", }); @@ -103,7 +102,7 @@ describe("Comment", () => { const authentication = { actorId: testUser.accountId }; const comment = await createComment(graphContext, authentication, { - webId: testUser.accountId as WebId, + webId: testUser.accountId, parentEntityId: testBlock.entity.metadata.recordId.entityId, textualContent: [], author: testUser, diff --git a/tests/hash-backend-integration/src/tests/graph/knowledge/system-types/mention-notification.test.ts b/tests/hash-backend-integration/src/tests/graph/knowledge/system-types/mention-notification.test.ts index f7349d9c630..56bd4d1c931 100644 --- a/tests/hash-backend-integration/src/tests/graph/knowledge/system-types/mention-notification.test.ts +++ b/tests/hash-backend-integration/src/tests/graph/knowledge/system-types/mention-notification.test.ts @@ -41,7 +41,6 @@ import type { MentionNotification } from "@apps/hash-api/src/graph/knowledge/sys import type { Page } from "@apps/hash-api/src/graph/knowledge/system-types/page"; import type { Text } from "@apps/hash-api/src/graph/knowledge/system-types/text"; import type { User } from "@apps/hash-api/src/graph/knowledge/system-types/user"; -import type { WebId } from "@blockprotocol/type-system"; import type { TextualContentPropertyValueWithMetadata } from "@local/hash-isomorphic-utils/system-types/shared"; import type { TextToken } from "@local/hash-isomorphic-utils/types"; @@ -102,7 +101,7 @@ describe.skip("Page Mention Notification", () => { occurredInEntity = await createPage(graphContext, authentication, { title: "Test Page", - webId: triggerUser.accountId as WebId, + webId: triggerUser.accountId, type: "document", }); @@ -133,7 +132,7 @@ describe.skip("Page Mention Notification", () => { occurredInEntity, occurredInText, occurredInBlock, - webId: recipientUser.accountId as WebId, + webId: recipientUser.accountId, }, ); @@ -388,7 +387,7 @@ describe.skip("Page Mention Notification", () => { { actorId: triggerUser.accountId }, { parentEntityId: occurredInBlock.entity.metadata.recordId.entityId, - webId: triggerUser.accountId as WebId, + webId: triggerUser.accountId, textualContent: [ { mentionType: "user", diff --git a/tests/hash-backend-integration/src/tests/graph/knowledge/system-types/org-invitation-email-casing.test.ts b/tests/hash-backend-integration/src/tests/graph/knowledge/system-types/org-invitation-email-casing.test.ts index 6e47cc58beb..4152fcf304f 100644 --- a/tests/hash-backend-integration/src/tests/graph/knowledge/system-types/org-invitation-email-casing.test.ts +++ b/tests/hash-backend-integration/src/tests/graph/knowledge/system-types/org-invitation-email-casing.test.ts @@ -26,7 +26,6 @@ import { generateRandomShortname, } from "../../../util"; -import type { EmailTransporter } from "@apps/hash-api/src/email/transporters"; import type { Org } from "@apps/hash-api/src/graph/knowledge/system-types/org"; import type { User } from "@apps/hash-api/src/graph/knowledge/system-types/user"; import type { LoggedInGraphQLContext } from "@apps/hash-api/src/graphql/context"; @@ -52,7 +51,7 @@ const graphQLContextForUser = (user: User): LoggedInGraphQLContext => ({ }, emailTransporter: { sendMail: async () => {}, - } as unknown as EmailTransporter, + }, logger, authentication: { actorId: user.accountId }, user, diff --git a/tests/hash-backend-integration/src/tests/graph/knowledge/system-types/page.test.ts b/tests/hash-backend-integration/src/tests/graph/knowledge/system-types/page.test.ts index 8c4f43d88d8..4cf78baf980 100644 --- a/tests/hash-backend-integration/src/tests/graph/knowledge/system-types/page.test.ts +++ b/tests/hash-backend-integration/src/tests/graph/knowledge/system-types/page.test.ts @@ -28,7 +28,6 @@ import { createTestImpureGraphContext, createTestUser } from "../../../util"; import type { Block } from "@apps/hash-api/src/graph/knowledge/system-types/block"; import type { Page } from "@apps/hash-api/src/graph/knowledge/system-types/page"; import type { User } from "@apps/hash-api/src/graph/knowledge/system-types/user"; -import type { WebId } from "@blockprotocol/type-system"; import type { HasIndexedContent, Text, @@ -67,7 +66,7 @@ describe("Page", () => { const authentication = { actorId: testUser.accountId }; const blockData = await createEntity(graphContext, authentication, { - webId: testUser.accountId as WebId, + webId: testUser.accountId, entityTypeIds: [systemEntityTypes.text.entityTypeId], properties: { value: { @@ -78,7 +77,7 @@ describe("Page", () => { }); return createBlock(graphContext, authentication, { - webId: testUser.accountId as WebId, + webId: testUser.accountId, componentId: "text", blockData, }); @@ -90,7 +89,7 @@ describe("Page", () => { const authentication = { actorId: testUser.accountId }; testPage = await createPage(graphContext, authentication, { - webId: testUser.accountId as WebId, + webId: testUser.accountId, title: "Test Page", type: "document", }); @@ -109,7 +108,7 @@ describe("Page", () => { ]); testPage2 = await createPage(graphContext, authentication, { - webId: testUser.accountId as WebId, + webId: testUser.accountId, title: "Test Page 2", summary: "Test page 2 summary", initialBlocks: [initialBlock1, initialBlock2], @@ -147,7 +146,7 @@ describe("Page", () => { graphContext, authentication, { - webId: testUser.accountId as WebId, + webId: testUser.accountId, }, ); @@ -172,7 +171,7 @@ describe("Page", () => { const authentication = { actorId: testUser.accountId }; parentPage = await createPage(graphContext, authentication, { - webId: testUser.accountId as WebId, + webId: testUser.accountId, title: "Test Parent Page", summary: "Test page summary", type: "document", @@ -216,7 +215,7 @@ describe("Page", () => { authentication, { initialBlocks: [firstBlock], - webId: testUser.accountId as WebId, + webId: testUser.accountId, title: "Test Page for Block Manipulation", type: "document", }, diff --git a/tests/hash-backend-integration/src/tests/graph/ontology/primitive/entity-type.test.ts b/tests/hash-backend-integration/src/tests/graph/ontology/primitive/entity-type.test.ts index 394ee6cc848..9fe881265e7 100644 --- a/tests/hash-backend-integration/src/tests/graph/ontology/primitive/entity-type.test.ts +++ b/tests/hash-backend-integration/src/tests/graph/ontology/primitive/entity-type.test.ts @@ -51,7 +51,6 @@ import type { ClosedMultiEntityType, EntityTypeWithMetadata, PropertyTypeWithMetadata, - WebId, } from "@blockprotocol/type-system"; import type { ConstructEntityTypeParams, @@ -104,7 +103,7 @@ beforeAll(async () => { await Promise.all([ createEntityType(graphContext, authentication, { - webId: testUser.accountId as WebId, + webId: testUser.accountId, schema: { title: "Worker", description: "A worker", @@ -115,7 +114,7 @@ beforeAll(async () => { workerEntityType = val; }), createEntityType(graphContext, authentication, { - webId: testUser.accountId as WebId, + webId: testUser.accountId, schema: { title: "Address", description: "An address", @@ -126,7 +125,7 @@ beforeAll(async () => { addressEntityType = val; }), createPropertyType(graphContext, authentication, { - webId: testUser.accountId as WebId, + webId: testUser.accountId, schema: { title: "Favorite Book", description: "Favorite book of the user", @@ -136,7 +135,7 @@ beforeAll(async () => { favoriteBookPropertyType = val; }), createPropertyType(graphContext, authentication, { - webId: testUser.accountId as WebId, + webId: testUser.accountId, schema: { title: "Name", description: "The name of the user", @@ -146,7 +145,7 @@ beforeAll(async () => { namePropertyType = val; }), createEntityType(graphContext, authentication, { - webId: testUser.accountId as WebId, + webId: testUser.accountId, schema: { title: "Knows", description: "Knows of someone", @@ -159,7 +158,7 @@ beforeAll(async () => { knowsLinkEntityType = val; }), createEntityType(graphContext, authentication, { - webId: testUser.accountId as WebId, + webId: testUser.accountId, schema: { title: "Previous Address", description: "A previous address of something.", @@ -382,15 +381,12 @@ describe("Entity type CRU", () => { } const allOf = atLeastOne( - closedEntityTypes!.map( - (closedEntityType) => - ({ - $id: closedEntityType.$id, - title: closedEntityType.title, - description: closedEntityType.description, - allOf: closedEntityType.allOf, - }) as ClosedMultiEntityType["allOf"][0], - ), + closedEntityTypes!.map((closedEntityType) => ({ + $id: closedEntityType.$id, + title: closedEntityType.title, + description: closedEntityType.description, + allOf: closedEntityType.allOf, + })), ); assert(allOf !== undefined); allOf.sort((a, b) => a.$id.localeCompare(b.$id)); diff --git a/tests/hash-backend-integration/src/tests/subgraph/circular.test.ts b/tests/hash-backend-integration/src/tests/subgraph/circular.test.ts index 0964c393dd9..ee8f0152b4d 100644 --- a/tests/hash-backend-integration/src/tests/subgraph/circular.test.ts +++ b/tests/hash-backend-integration/src/tests/subgraph/circular.test.ts @@ -172,6 +172,7 @@ const edgesEquals = ( } return edges.every(({ source, edges: outwardEdges }) => { + // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion -- false positive with typescript-eslint 8.62 under TS 6.0 (removing the assertion breaks tsc); remove once typescript-eslint >= 8.63 is in const subgraphEdge = (subgraph.edges as KnowledgeGraphRootedEdges)[ source.metadata.recordId.entityId ]![source.metadata.temporalVersioning.decisionTime.start.limit]!; diff --git a/tests/hash-backend-integration/src/tests/subgraph/friendship.test.ts b/tests/hash-backend-integration/src/tests/subgraph/friendship.test.ts index ccfbf8eb99a..7e1ba72fcd4 100644 --- a/tests/hash-backend-integration/src/tests/subgraph/friendship.test.ts +++ b/tests/hash-backend-integration/src/tests/subgraph/friendship.test.ts @@ -849,6 +849,7 @@ describe("non-zero, simple resolve depths", () => { ).toEqual(1); expect( Object.keys( + // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion -- false positive with typescript-eslint 8.62 under TS 6.0 (removing the assertion breaks tsc); remove once typescript-eslint >= 8.63 is in (subgraph.edges as KnowledgeGraphRootedEdges)[ friendshipEntity.metadata.recordId.entityId ]![ @@ -918,6 +919,7 @@ describe("non-zero, simple resolve depths", () => { expect( Object.keys( + // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion -- false positive with typescript-eslint 8.62 under TS 6.0 (removing the assertion breaks tsc); remove once typescript-eslint >= 8.63 is in (subgraph.edges as KnowledgeGraphRootedEdges)[ friendshipEntity.metadata.recordId.entityId ]![ @@ -1162,6 +1164,7 @@ describe("complex resolve depths", () => { const aliceEntity = roots[0]!; expect(aliceEntity).toStrictEqual(aliceEntities[aliceEntities.length - 1]); + // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion -- false positive with typescript-eslint 8.62 under TS 6.0 (removing the assertion breaks tsc); remove once typescript-eslint >= 8.63 is in const personTypes = (subgraph.edges as KnowledgeGraphRootedEdges) [aliceEntity.metadata.recordId.entityId]![ aliceEntity.metadata.temporalVersioning.decisionTime.start.limit @@ -1184,6 +1187,7 @@ describe("complex resolve depths", () => { expect(links.length).toEqual(1); const link = links[0]!; + // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion -- false positive with typescript-eslint 8.62 under TS 6.0 (removing the assertion breaks tsc); remove once typescript-eslint >= 8.63 is in const linkTypes = (subgraph.edges as KnowledgeGraphRootedEdges) [link.metadata.recordId.entityId]![ link.metadata.temporalVersioning.decisionTime.start.limit diff --git a/tests/hash-backend-integration/tsconfig.json b/tests/hash-backend-integration/tsconfig.json index 8ff51e490d6..6973641c01d 100644 --- a/tests/hash-backend-integration/tsconfig.json +++ b/tests/hash-backend-integration/tsconfig.json @@ -1,4 +1,8 @@ { "extends": "@local/tsconfig/legacy-base-tsconfig-to-refactor.json", - "include": ["./src/", "codegen.config.ts", "vitest.config.ts"] + "include": ["./src/", "codegen.config.ts", "vitest.config.ts"], + "compilerOptions": { + "types": ["node"], + "moduleResolution": "bundler" + } } diff --git a/tests/hash-playwright/package.json b/tests/hash-playwright/package.json index a3e41a32e75..25296691348 100644 --- a/tests/hash-playwright/package.json +++ b/tests/hash-playwright/package.json @@ -34,6 +34,6 @@ "@types/js-yaml": "^4", "eslint": "9.39.4", "rimraf": "6.1.3", - "typescript": "5.9.3" + "typescript": "6.0.3" } } diff --git a/tests/hash-playwright/tsconfig.json b/tests/hash-playwright/tsconfig.json index 4bcf83a3e43..b9b138a7201 100644 --- a/tests/hash-playwright/tsconfig.json +++ b/tests/hash-playwright/tsconfig.json @@ -7,6 +7,8 @@ "playwright.config.ts" ], "compilerOptions": { - "lib": ["dom", "dom.iterable", "ESNext"] + "lib": ["dom", "dom.iterable", "ESNext"], + "moduleResolution": "bundler", + "types": ["node", "chrome"] } } diff --git a/yarn.config.cjs b/yarn.config.cjs index 0ecfa160fb5..6aa8e2562b2 100644 --- a/yarn.config.cjs +++ b/yarn.config.cjs @@ -16,8 +16,15 @@ const enforcedDevDependencies = { }; const allowedUnscriptedDevDependencies = { - // Bundled into the LSP worker, not required by published package consumers. - "@hashintel/petrinaut-core": new Set(["typescript"]), + // TypeScript 5.9.3 (aliased as `typescript5`) is bundled into the LSP worker, + // not required by published package consumers. It is intentionally pinned to + // 5.x: the in-browser LSP relies on the TypeScript JS API (`createLanguageService`), + // which no longer exists in the Go-native TypeScript 7. + "@hashintel/petrinaut-core": new Set(["typescript5"]), + // The root workspace pins `typescript` so that the repo-root `node_modules/.bin/tsc` + // deterministically resolves to the workspace-wide TypeScript version rather than + // the `typescript5` alias (which also declares a `tsc` bin). + hash: new Set(["typescript"]), }; const ignoredDependencies = [ diff --git a/yarn.lock b/yarn.lock index 6446db1d491..4736b3563c8 100644 --- a/yarn.lock +++ b/yarn.lock @@ -446,7 +446,7 @@ __metadata: sanitize-html: "npm:2.17.4" tsconfig-paths-webpack-plugin: "npm:4.2.0" tsx: "npm:4.20.6" - typescript: "npm:5.9.3" + typescript: "npm:6.0.3" vitest: "npm:4.1.8" wait-on: "npm:9.0.1" languageName: unknown @@ -559,7 +559,7 @@ __metadata: sanitize-html: "npm:2.17.4" ts-json-schema-generator: "npm:1.5.1" tsx: "npm:4.20.6" - typescript: "npm:5.9.3" + typescript: "npm:6.0.3" vitest: "npm:4.1.8" wait-on: "npm:9.0.1" ws: "npm:8.21.0" @@ -712,7 +712,7 @@ __metadata: sigma: "npm:3.0.2" signia: "npm:0.1.5" signia-react: "npm:0.1.5" - typescript: "npm:5.9.3" + typescript: "npm:6.0.3" url-regex-safe: "npm:4.0.0" use-font-face-observer: "npm:1.3.0" uuid: "npm:14.0.0" @@ -775,7 +775,7 @@ __metadata: eslint: "npm:9.39.4" rimraf: "npm:6.1.3" tsx: "npm:4.20.6" - typescript: "npm:5.9.3" + typescript: "npm:6.0.3" uuid: "npm:14.0.0" wait-on: "npm:9.0.1" languageName: unknown @@ -798,7 +798,7 @@ __metadata: rimraf: "npm:6.1.3" shx: "npm:0.4.0" tsx: "npm:4.20.6" - typescript: "npm:5.9.3" + typescript: "npm:6.0.3" zod: "npm:4.4.3" zod-to-json-schema: "npm:3.24.6" bin: @@ -823,7 +823,7 @@ __metadata: rimraf: "npm:6.1.3" shx: "npm:0.4.0" tsx: "npm:4.20.6" - typescript: "npm:5.9.3" + typescript: "npm:6.0.3" zod: "npm:4.4.3" zod-to-json-schema: "npm:3.24.6" bin: @@ -923,7 +923,7 @@ __metadata: ts-loader: "npm:9.5.4" tsconfig-paths-webpack-plugin: "npm:4.2.0" type-fest: "npm:5.3.1" - typescript: "npm:5.9.3" + typescript: "npm:6.0.3" uuid: "npm:14.0.0" webextension-polyfill: "npm:0.12.0" webpack: "npm:5.104.1" @@ -3975,7 +3975,7 @@ __metadata: lodash.isequal: "npm:4.5.0" rimraf: "npm:6.1.3" tsx: "npm:4.20.6" - typescript: "npm:5.9.3" + typescript: "npm:6.0.3" peerDependencies: react: ^19.0.0 languageName: unknown @@ -4013,7 +4013,7 @@ __metadata: "@rust/hash-codec": "workspace:*" "@rust/hash-codegen": "workspace:*" "@rust/hash-graph-temporal-versioning": "workspace:*" - typescript: "npm:5.9.3" + typescript: "npm:6.0.3" languageName: unknown linkType: soft @@ -4046,7 +4046,7 @@ __metadata: semver: "npm:7.7.3" tslib: "npm:2.8.1" tsx: "npm:4.20.6" - typescript: "npm:5.9.3" + typescript: "npm:6.0.3" uuid: "npm:14.0.0" vite-plugin-wasm-pack: "npm:0.1.12" vitest: "npm:4.1.8" @@ -5298,7 +5298,7 @@ __metadata: languageName: node linkType: hard -"@eslint-community/eslint-utils@npm:^4.2.0, @eslint-community/eslint-utils@npm:^4.4.0, @eslint-community/eslint-utils@npm:^4.7.0, @eslint-community/eslint-utils@npm:^4.8.0, @eslint-community/eslint-utils@npm:^4.9.0, @eslint-community/eslint-utils@npm:^4.9.1": +"@eslint-community/eslint-utils@npm:^4.2.0, @eslint-community/eslint-utils@npm:^4.4.0, @eslint-community/eslint-utils@npm:^4.8.0, @eslint-community/eslint-utils@npm:^4.9.0, @eslint-community/eslint-utils@npm:^4.9.1": version: 4.9.1 resolution: "@eslint-community/eslint-utils@npm:4.9.1" dependencies: @@ -5309,10 +5309,10 @@ __metadata: languageName: node linkType: hard -"@eslint-community/regexpp@npm:^4.10.0, @eslint-community/regexpp@npm:^4.11.0, @eslint-community/regexpp@npm:^4.12.1, @eslint-community/regexpp@npm:^4.8.0": - version: 4.12.1 - resolution: "@eslint-community/regexpp@npm:4.12.1" - checksum: 10c0/a03d98c246bcb9109aec2c08e4d10c8d010256538dcb3f56610191607214523d4fb1b00aa81df830b6dffb74c5fa0be03642513a289c567949d3e550ca11cdf6 +"@eslint-community/regexpp@npm:^4.11.0, @eslint-community/regexpp@npm:^4.12.1, @eslint-community/regexpp@npm:^4.12.2, @eslint-community/regexpp@npm:^4.8.0": + version: 4.12.2 + resolution: "@eslint-community/regexpp@npm:4.12.2" + checksum: 10c0/fddcbc66851b308478d04e302a4d771d6917a0b3740dc351513c0da9ca2eab8a1adf99f5e0aa7ab8b13fa0df005c81adeee7e63a92f3effd7d367a163b721c2d languageName: node linkType: hard @@ -6578,7 +6578,7 @@ __metadata: react-dom: "npm:19.2.6" react-syntax-highlighter: "npm:16.1.1" react-type-animation: "npm:3.2.0" - typescript: "npm:5.9.3" + typescript: "npm:6.0.3" peerDependencies: "@emotion/react": 11.14.0 "@emotion/styled": 11.14.1 @@ -6611,7 +6611,7 @@ __metadata: react: "npm:19.2.6" react-dom: "npm:19.2.6" react-loading-skeleton: "npm:3.5.0" - typescript: "npm:5.9.3" + typescript: "npm:6.0.3" peerDependencies: "@emotion/cache": ^11.14.0 "@emotion/react": ^11.14.0 @@ -6659,7 +6659,7 @@ __metadata: react-dom: "npm:19.2.6" tsup: "npm:^8.5.1" tsx: "npm:4.20.6" - typescript: "npm:5.9.3" + typescript: "npm:6.0.3" use-callback-ref: "npm:1.3.3" vite: "npm:7.3.5" vite-plugin-dts: "npm:4.5.4" @@ -6706,7 +6706,7 @@ __metadata: oxlint-tsgolint: "npm:0.22.1" rolldown: "npm:1.1.2" rolldown-plugin-dts: "npm:0.25.0" - typescript: "npm:5.9.3" + typescript5: "npm:typescript@5.9.3" uuid: "npm:14.0.0" vite: "npm:8.1.0" vitest: "npm:4.1.8" @@ -6790,7 +6790,7 @@ __metadata: react-dom: "npm:19.2.6" react-hook-form: "npm:7.65.0" storybook: "npm:9.1.19" - typescript: "npm:5.9.3" + typescript: "npm:6.0.3" peerDependencies: "@mui/material": ^5.14.0 "@mui/system": ^5.14.0 @@ -6849,7 +6849,7 @@ __metadata: rooks: "npm:9.3.0" setimmediate: "npm:1.0.5" storybook: "npm:9.1.19" - typescript: "npm:5.9.3" + typescript: "npm:6.0.3" peerDependencies: "@mui/material": ^5.14.0 "@mui/system": ^5.14.0 @@ -8105,7 +8105,7 @@ __metadata: eslint: "npm:9.39.4" react: "npm:19.2.6" rimraf: "npm:6.1.3" - typescript: "npm:5.9.3" + typescript: "npm:6.0.3" languageName: unknown linkType: soft @@ -8120,7 +8120,7 @@ __metadata: eslint: "npm:9.39.4" natural: "npm:8.1.1" tsx: "npm:4.20.6" - typescript: "npm:5.9.3" + typescript: "npm:6.0.3" vitest: "npm:4.1.8" languageName: unknown linkType: soft @@ -8134,7 +8134,7 @@ __metadata: "@vitest/coverage-istanbul": "npm:4.1.8" eslint: "npm:9.39.4" rimraf: "npm:6.1.3" - typescript: "npm:5.9.3" + typescript: "npm:6.0.3" vitest: "npm:4.1.8" languageName: unknown linkType: soft @@ -8147,7 +8147,7 @@ __metadata: "@local/tsconfig": "workspace:*" eslint: "npm:9.39.4" rimraf: "npm:6.1.3" - typescript: "npm:5.9.3" + typescript: "npm:6.0.3" languageName: unknown linkType: soft @@ -8177,7 +8177,7 @@ __metadata: globals: "npm:16.4.0" rimraf: "npm:6.1.3" type-fest: "npm:5.3.1" - typescript: "npm:5.9.3" + typescript: "npm:6.0.3" languageName: unknown linkType: soft @@ -8212,7 +8212,7 @@ __metadata: libp2p: "npm:3.0.6" multiformats: "npm:13.4.1" rimraf: "npm:6.1.3" - typescript: "npm:5.9.3" + typescript: "npm:6.0.3" uint8arraylist: "npm:2.4.8" vitest: "npm:4.1.8" languageName: unknown @@ -8278,7 +8278,7 @@ __metadata: mime-types: "npm:2.1.35" redis: "npm:5.12.1" rimraf: "npm:6.1.3" - typescript: "npm:5.9.3" + typescript: "npm:6.0.3" uuid: "npm:14.0.0" vitest: "npm:4.1.8" wait-on: "npm:9.0.1" @@ -8298,7 +8298,7 @@ __metadata: axios: "npm:1.16.1" fix-esm-import-path: "npm:1.10.3" rimraf: "npm:6.1.3" - typescript: "npm:5.9.3" + typescript: "npm:6.0.3" languageName: unknown linkType: soft @@ -8320,7 +8320,7 @@ __metadata: effect: "npm:3.21.0" eslint: "npm:9.39.4" rimraf: "npm:6.1.3" - typescript: "npm:5.9.3" + typescript: "npm:6.0.3" uuid: "npm:14.0.0" vitest: "npm:4.1.8" languageName: unknown @@ -8375,7 +8375,7 @@ __metadata: rimraf: "npm:6.1.3" serialize-error: "npm:12.0.0" tsx: "npm:4.20.6" - typescript: "npm:5.9.3" + typescript: "npm:6.0.3" uuid: "npm:14.0.0" vitest: "npm:4.1.8" languageName: unknown @@ -8389,7 +8389,7 @@ __metadata: "@types/node": "npm:22.18.13" axios: "npm:1.16.1" rimraf: "npm:6.1.3" - typescript: "npm:5.9.3" + typescript: "npm:6.0.3" languageName: unknown linkType: soft @@ -8419,7 +8419,7 @@ __metadata: js-yaml: "npm:4.1.1" regex-parser: "npm:2.3.1" tsx: "npm:4.20.6" - typescript: "npm:5.9.3" + typescript: "npm:6.0.3" zod: "npm:4.4.3" zod-to-json-schema: "npm:3.24.6" languageName: unknown @@ -8439,7 +8439,7 @@ __metadata: lodash-es: "npm:4.18.1" quicktype: "npm:16.0.43" rimraf: "npm:6.1.3" - typescript: "npm:5.9.3" + typescript: "npm:6.0.3" yargs: "npm:18.0.0" languageName: unknown linkType: soft @@ -9178,11 +9178,11 @@ __metadata: linkType: hard "@next/eslint-plugin-next@npm:^15.1.6": - version: 15.1.6 - resolution: "@next/eslint-plugin-next@npm:15.1.6" + version: 15.5.20 + resolution: "@next/eslint-plugin-next@npm:15.5.20" dependencies: fast-glob: "npm:3.3.1" - checksum: 10c0/753babd13e197304eb7a224c08a9a286aee10e316dcf86c49fe655fe9ea16659969bdbe4502429723cdf318e47fba4188ca101a5fc0d91dcad13404e773013a9 + checksum: 10c0/dde41ab435abf6c7324d0e89d4755c22d9c239da1b6b6941233ee9d628c6a30e43fd31a0415ca3da6b6b20a8ceec4c70e375f17af040630698fa03671555e17c languageName: node linkType: hard @@ -13061,7 +13061,7 @@ __metadata: "@rust/harpc-types": "workspace:*" "@rust/harpc-wire-protocol": "workspace:*" "@rust/hash-codegen": "workspace:*" - typescript: "npm:5.9.3" + typescript: "npm:6.0.3" languageName: unknown linkType: soft @@ -13114,7 +13114,7 @@ __metadata: "@rust/error-stack": "workspace:*" "@rust/hash-codec": "workspace:*" "@rust/hash-codegen": "workspace:*" - typescript: "npm:5.9.3" + typescript: "npm:6.0.3" languageName: unknown linkType: soft @@ -13225,7 +13225,7 @@ __metadata: "@rust/hash-graph-temporal-versioning": "workspace:*" "@rust/hash-graph-types": "workspace:*" "@rust/hash-temporal-client": "workspace:*" - typescript: "npm:5.9.3" + typescript: "npm:6.0.3" languageName: unknown linkType: soft @@ -13258,7 +13258,7 @@ __metadata: eslint: "npm:9.39.4" quicktype: "npm:16.0.43" tsx: "npm:4.20.6" - typescript: "npm:5.9.3" + typescript: "npm:6.0.3" languageName: unknown linkType: soft @@ -15581,7 +15581,7 @@ __metadata: graphql: "npm:16.11.0" node-fetch: "npm:2.7.0" rimraf: "npm:6.1.3" - typescript: "npm:5.9.3" + typescript: "npm:6.0.3" vitest: "npm:4.1.8" languageName: unknown linkType: soft @@ -15609,7 +15609,7 @@ __metadata: graphql: "npm:16.11.0" js-yaml: "npm:4.1.1" rimraf: "npm:6.1.3" - typescript: "npm:5.9.3" + typescript: "npm:6.0.3" languageName: unknown linkType: soft @@ -17230,68 +17230,39 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/eslint-plugin@npm:8.50.0": - version: 8.50.0 - resolution: "@typescript-eslint/eslint-plugin@npm:8.50.0" +"@typescript-eslint/eslint-plugin@npm:8.62.1": + version: 8.62.1 + resolution: "@typescript-eslint/eslint-plugin@npm:8.62.1" dependencies: - "@eslint-community/regexpp": "npm:^4.10.0" - "@typescript-eslint/scope-manager": "npm:8.50.0" - "@typescript-eslint/type-utils": "npm:8.50.0" - "@typescript-eslint/utils": "npm:8.50.0" - "@typescript-eslint/visitor-keys": "npm:8.50.0" - ignore: "npm:^7.0.0" + "@eslint-community/regexpp": "npm:^4.12.2" + "@typescript-eslint/scope-manager": "npm:8.62.1" + "@typescript-eslint/type-utils": "npm:8.62.1" + "@typescript-eslint/utils": "npm:8.62.1" + "@typescript-eslint/visitor-keys": "npm:8.62.1" + ignore: "npm:^7.0.5" natural-compare: "npm:^1.4.0" - ts-api-utils: "npm:^2.1.0" + ts-api-utils: "npm:^2.5.0" peerDependencies: - "@typescript-eslint/parser": ^8.50.0 - eslint: ^8.57.0 || ^9.0.0 - typescript: ">=4.8.4 <6.0.0" - checksum: 10c0/032038ee029d1e0984e7c189c3e8173dc4fb909c3ab4d272227e62e6d1872eb9853699c72d46e269c0a084f113ea01fa00d4b61620190276b224fa1b5a5cbd80 - languageName: node - linkType: hard - -"@typescript-eslint/parser@npm:8.50.0": - version: 8.50.0 - resolution: "@typescript-eslint/parser@npm:8.50.0" - dependencies: - "@typescript-eslint/scope-manager": "npm:8.50.0" - "@typescript-eslint/types": "npm:8.50.0" - "@typescript-eslint/typescript-estree": "npm:8.50.0" - "@typescript-eslint/visitor-keys": "npm:8.50.0" - debug: "npm:^4.3.4" - peerDependencies: - eslint: ^8.57.0 || ^9.0.0 - typescript: ">=4.8.4 <6.0.0" - checksum: 10c0/3bdc9e7b2190285abf7350039056b104725fa70cbd769695717f9948669de4987db7103a7011d33d25d44e9474fe02404746816b8eba72642e17815cb6b0b2e6 + "@typescript-eslint/parser": ^8.62.1 + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 + typescript: ">=4.8.4 <6.1.0" + checksum: 10c0/2d2cd289db1301693ae30a8cd89bd4f15dc3e63ab32763722e3428ae7e7e45a9430121566b69ae7de42a99426b08445798bd877a434d14879ae4933b99143fc8 languageName: node linkType: hard -"@typescript-eslint/parser@npm:^8.56.0": - version: 8.57.0 - resolution: "@typescript-eslint/parser@npm:8.57.0" +"@typescript-eslint/parser@npm:8.62.1, @typescript-eslint/parser@npm:^8.56.0": + version: 8.62.1 + resolution: "@typescript-eslint/parser@npm:8.62.1" dependencies: - "@typescript-eslint/scope-manager": "npm:8.57.0" - "@typescript-eslint/types": "npm:8.57.0" - "@typescript-eslint/typescript-estree": "npm:8.57.0" - "@typescript-eslint/visitor-keys": "npm:8.57.0" + "@typescript-eslint/scope-manager": "npm:8.62.1" + "@typescript-eslint/types": "npm:8.62.1" + "@typescript-eslint/typescript-estree": "npm:8.62.1" + "@typescript-eslint/visitor-keys": "npm:8.62.1" debug: "npm:^4.4.3" peerDependencies: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 - typescript: ">=4.8.4 <6.0.0" - checksum: 10c0/c224e0802cdc42ad7c79553018d6572370eff6539b3cb92220e44da3931dfe7e94a11fcea7d30d9c9366e76d50488c8c9d59002ba52dd6818fdc598280f7990c - languageName: node - linkType: hard - -"@typescript-eslint/project-service@npm:8.50.0": - version: 8.50.0 - resolution: "@typescript-eslint/project-service@npm:8.50.0" - dependencies: - "@typescript-eslint/tsconfig-utils": "npm:^8.50.0" - "@typescript-eslint/types": "npm:^8.50.0" - debug: "npm:^4.3.4" - peerDependencies: - typescript: ">=4.8.4 <6.0.0" - checksum: 10c0/54fdf4c8540eb8e592ab4818345935300bf5776621274cdc8bb942e72e84a4d2566b047b77218f6c851de26eab759c45153a39557ed2c2d1054d180d587d9780 + typescript: ">=4.8.4 <6.1.0" + checksum: 10c0/4edbd007b29405a52b735b3b8c59e1a84f4a32ca7c14bcbab939c6bb983f2f87e8a14c644cf8cd15181e12735923549edb0cb718330ee4bc31d69dc4a3f12d15 languageName: node linkType: hard @@ -17308,16 +17279,16 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/project-service@npm:8.57.0": - version: 8.57.0 - resolution: "@typescript-eslint/project-service@npm:8.57.0" +"@typescript-eslint/project-service@npm:8.62.1": + version: 8.62.1 + resolution: "@typescript-eslint/project-service@npm:8.62.1" dependencies: - "@typescript-eslint/tsconfig-utils": "npm:^8.57.0" - "@typescript-eslint/types": "npm:^8.57.0" + "@typescript-eslint/tsconfig-utils": "npm:^8.62.1" + "@typescript-eslint/types": "npm:^8.62.1" debug: "npm:^4.4.3" peerDependencies: - typescript: ">=4.8.4 <6.0.0" - checksum: 10c0/f97c25ad9c39957fc58fba21dbc8ce928d3889f95b0ecc93b477da3ce9bb6057bf866cac8114c0c93c455f68d0fb5b0042dc4771e436f07cd9c975bc61f3221f + typescript: ">=4.8.4 <6.1.0" + checksum: 10c0/48af1ede4f491a8d499548ec82287e1fab0ea8ac48952a3be5b14c082a679d5e3b82d11a091ecde7ae1b327cb2d02e93255aa880fd86691392c6738b18baf38f languageName: node linkType: hard @@ -17331,16 +17302,6 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/scope-manager@npm:8.50.0": - version: 8.50.0 - resolution: "@typescript-eslint/scope-manager@npm:8.50.0" - dependencies: - "@typescript-eslint/types": "npm:8.50.0" - "@typescript-eslint/visitor-keys": "npm:8.50.0" - checksum: 10c0/62a374aaa0bf7d185be43a4d7dd420d7135ab8f13f5cb4e602e16fdf712f0e00e6ab3fc8a31321e19922d27b867579b0b08c4040b23d528853f4b73e9ebcff3b - languageName: node - linkType: hard - "@typescript-eslint/scope-manager@npm:8.56.1": version: 8.56.1 resolution: "@typescript-eslint/scope-manager@npm:8.56.1" @@ -17351,22 +17312,13 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/scope-manager@npm:8.57.0, @typescript-eslint/scope-manager@npm:^7.0.0 || ^8.0.0, @typescript-eslint/scope-manager@npm:^8.16.0": - version: 8.57.0 - resolution: "@typescript-eslint/scope-manager@npm:8.57.0" +"@typescript-eslint/scope-manager@npm:8.62.1, @typescript-eslint/scope-manager@npm:^7.0.0 || ^8.0.0, @typescript-eslint/scope-manager@npm:^8.16.0": + version: 8.62.1 + resolution: "@typescript-eslint/scope-manager@npm:8.62.1" dependencies: - "@typescript-eslint/types": "npm:8.57.0" - "@typescript-eslint/visitor-keys": "npm:8.57.0" - checksum: 10c0/a3e1243044f4634a36308f0d027db97ef686ed88cb93183feee1ba0a6de4eaa8824bb63b79075241c0a275d989d5f2641a6341cc785a6c688ee6f0d05c07d723 - languageName: node - linkType: hard - -"@typescript-eslint/tsconfig-utils@npm:8.50.0": - version: 8.50.0 - resolution: "@typescript-eslint/tsconfig-utils@npm:8.50.0" - peerDependencies: - typescript: ">=4.8.4 <6.0.0" - checksum: 10c0/5398d26e4a7bec866cc783f5f329a4fed1bc07cd4d21c5c32929a7524b1ebf8ae8e15ca7a035d1177630d86b614ecd3243d63289228bbe292526dbcbf9fae430 + "@typescript-eslint/types": "npm:8.62.1" + "@typescript-eslint/visitor-keys": "npm:8.62.1" + checksum: 10c0/94cf3724b2fe2f068f357011efd3e42536e5431ee15dcf6dc80f36c842554f2de9a2f185bb3316a38a6e78a07206ffe16b723eb349157f35f820ba1ffe90830b languageName: node linkType: hard @@ -17379,28 +17331,28 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/tsconfig-utils@npm:8.57.0, @typescript-eslint/tsconfig-utils@npm:^8.50.0, @typescript-eslint/tsconfig-utils@npm:^8.56.1, @typescript-eslint/tsconfig-utils@npm:^8.57.0": - version: 8.57.0 - resolution: "@typescript-eslint/tsconfig-utils@npm:8.57.0" +"@typescript-eslint/tsconfig-utils@npm:8.62.1, @typescript-eslint/tsconfig-utils@npm:^8.56.1, @typescript-eslint/tsconfig-utils@npm:^8.62.1": + version: 8.62.1 + resolution: "@typescript-eslint/tsconfig-utils@npm:8.62.1" peerDependencies: - typescript: ">=4.8.4 <6.0.0" - checksum: 10c0/d63f4de1a9d39c208b05a93df838318ff48af0a6ae561395d1860a8fd1fc552d47cc08065c445e084fb67bfac1c5a477183213477ed2bca688b9409cbeda3965 + typescript: ">=4.8.4 <6.1.0" + checksum: 10c0/42fb0efb857a6bc6a5b3fc654a2712e4106a75ae7ceb143754fba084f6a4d561adbf666fc334f3aabe6089adcd9a3a896c0009e08f1ef8447bf07900ada3ab66 languageName: node linkType: hard -"@typescript-eslint/type-utils@npm:8.50.0, @typescript-eslint/type-utils@npm:^8.0.0, @typescript-eslint/type-utils@npm:^8.16.0": - version: 8.50.0 - resolution: "@typescript-eslint/type-utils@npm:8.50.0" +"@typescript-eslint/type-utils@npm:8.62.1, @typescript-eslint/type-utils@npm:^8.0.0, @typescript-eslint/type-utils@npm:^8.16.0": + version: 8.62.1 + resolution: "@typescript-eslint/type-utils@npm:8.62.1" dependencies: - "@typescript-eslint/types": "npm:8.50.0" - "@typescript-eslint/typescript-estree": "npm:8.50.0" - "@typescript-eslint/utils": "npm:8.50.0" - debug: "npm:^4.3.4" - ts-api-utils: "npm:^2.1.0" + "@typescript-eslint/types": "npm:8.62.1" + "@typescript-eslint/typescript-estree": "npm:8.62.1" + "@typescript-eslint/utils": "npm:8.62.1" + debug: "npm:^4.4.3" + ts-api-utils: "npm:^2.5.0" peerDependencies: - eslint: ^8.57.0 || ^9.0.0 - typescript: ">=4.8.4 <6.0.0" - checksum: 10c0/7ebd9a1ebd0cbb6eca9864439f80c2432545bd3ac38dee706be0004c78a26a9908003aa4f0825c0745f4fa1356ffacc0848dd230eae22a6516a02710ab645157 + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 + typescript: ">=4.8.4 <6.1.0" + checksum: 10c0/e6e8b8ed0d39cbbe43bf2d83d9e89482044f496262abc0ea037d5a78f161300e7303395bda30b01f676f5df01473d514eed9973e521635817d6e9f1e48ed761c languageName: node linkType: hard @@ -17411,13 +17363,6 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/types@npm:8.50.0": - version: 8.50.0 - resolution: "@typescript-eslint/types@npm:8.50.0" - checksum: 10c0/15ec0d75deb331c5ccda726ad95d7f2801fde0f5edfe70425bbdede9e3c9e93b18e7890c9bc42f86ebd65221ebce75e6cc536a65cb1fbbdb0763df22ac392c7a - languageName: node - linkType: hard - "@typescript-eslint/types@npm:8.56.1": version: 8.56.1 resolution: "@typescript-eslint/types@npm:8.56.1" @@ -17425,10 +17370,10 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/types@npm:8.57.0, @typescript-eslint/types@npm:^7.0.0 || ^8.0.0, @typescript-eslint/types@npm:^7.7.1 || ^8, @typescript-eslint/types@npm:^8.16.0, @typescript-eslint/types@npm:^8.50.0, @typescript-eslint/types@npm:^8.56.1, @typescript-eslint/types@npm:^8.57.0": - version: 8.57.0 - resolution: "@typescript-eslint/types@npm:8.57.0" - checksum: 10c0/69eb21a9a550f17ce9445b7bfab9099d6a43fa33f79506df966793077d73423dad7612f33a7efb1e09f4403a889ba6b7a44987cf3e6fea0e63a373022226bc68 +"@typescript-eslint/types@npm:8.62.1, @typescript-eslint/types@npm:^7.0.0 || ^8.0.0, @typescript-eslint/types@npm:^7.7.1 || ^8, @typescript-eslint/types@npm:^8.16.0, @typescript-eslint/types@npm:^8.56.1, @typescript-eslint/types@npm:^8.62.1": + version: 8.62.1 + resolution: "@typescript-eslint/types@npm:8.62.1" + checksum: 10c0/dfa1c9ef016c867a57d3fbef89f7968f3135d8d4621de1a8d2818258f79ed61f26fb6a3381ef27dde0a880817bfd5883f642f03a027dc127d771007022d1d880 languageName: node linkType: hard @@ -17451,25 +17396,6 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/typescript-estree@npm:8.50.0": - version: 8.50.0 - resolution: "@typescript-eslint/typescript-estree@npm:8.50.0" - dependencies: - "@typescript-eslint/project-service": "npm:8.50.0" - "@typescript-eslint/tsconfig-utils": "npm:8.50.0" - "@typescript-eslint/types": "npm:8.50.0" - "@typescript-eslint/visitor-keys": "npm:8.50.0" - debug: "npm:^4.3.4" - minimatch: "npm:^9.0.4" - semver: "npm:^7.6.0" - tinyglobby: "npm:^0.2.15" - ts-api-utils: "npm:^2.1.0" - peerDependencies: - typescript: ">=4.8.4 <6.0.0" - checksum: 10c0/30344ba5aab687dc50d805c33d4b481cc68c96acdcc679e8a1f46c5b4d8ba1ee562e3f377a4dc1c6418adf5b3fd342b31e5d30e54d0e7b18628ef6b1fb484341 - languageName: node - linkType: hard - "@typescript-eslint/typescript-estree@npm:8.56.1": version: 8.56.1 resolution: "@typescript-eslint/typescript-estree@npm:8.56.1" @@ -17489,52 +17415,37 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/typescript-estree@npm:8.57.0, @typescript-eslint/typescript-estree@npm:^7.0.0 || ^8.0.0, @typescript-eslint/typescript-estree@npm:^8.16.0": - version: 8.57.0 - resolution: "@typescript-eslint/typescript-estree@npm:8.57.0" +"@typescript-eslint/typescript-estree@npm:8.62.1, @typescript-eslint/typescript-estree@npm:^7.0.0 || ^8.0.0, @typescript-eslint/typescript-estree@npm:^8.16.0": + version: 8.62.1 + resolution: "@typescript-eslint/typescript-estree@npm:8.62.1" dependencies: - "@typescript-eslint/project-service": "npm:8.57.0" - "@typescript-eslint/tsconfig-utils": "npm:8.57.0" - "@typescript-eslint/types": "npm:8.57.0" - "@typescript-eslint/visitor-keys": "npm:8.57.0" + "@typescript-eslint/project-service": "npm:8.62.1" + "@typescript-eslint/tsconfig-utils": "npm:8.62.1" + "@typescript-eslint/types": "npm:8.62.1" + "@typescript-eslint/visitor-keys": "npm:8.62.1" debug: "npm:^4.4.3" minimatch: "npm:^10.2.2" semver: "npm:^7.7.3" tinyglobby: "npm:^0.2.15" - ts-api-utils: "npm:^2.4.0" - peerDependencies: - typescript: ">=4.8.4 <6.0.0" - checksum: 10c0/2b72ff255b6711d529496bcae38869e3809b15761252809743d80d01e3efa5a62ebaafc24b96b16a245a8d0bd307958a3e9ab31434d03a87acedbdd5e01c18be - languageName: node - linkType: hard - -"@typescript-eslint/utils@npm:8.50.0": - version: 8.50.0 - resolution: "@typescript-eslint/utils@npm:8.50.0" - dependencies: - "@eslint-community/eslint-utils": "npm:^4.7.0" - "@typescript-eslint/scope-manager": "npm:8.50.0" - "@typescript-eslint/types": "npm:8.50.0" - "@typescript-eslint/typescript-estree": "npm:8.50.0" + ts-api-utils: "npm:^2.5.0" peerDependencies: - eslint: ^8.57.0 || ^9.0.0 - typescript: ">=4.8.4 <6.0.0" - checksum: 10c0/4069fbf56717401629c86ea1e36df3a7dc1bbbf5c11ec7b26add2b61cdb9070b48786dc45c8e35a872a0cddced1edef654557e27420b9a666616cead539b3ec0 + typescript: ">=4.8.4 <6.1.0" + checksum: 10c0/e2f554a5a683ded80e010221de46229134717eb7b5ea41cf704b9b702c6e56a93aabc784cafa93fdbc4293f79c0adc1d15ac2915a489be8dee4e9434ab9975ff languageName: node linkType: hard -"@typescript-eslint/utils@npm:^6.0.0 || ^7.0.0 || ^8.0.0, @typescript-eslint/utils@npm:^8.13.0, @typescript-eslint/utils@npm:^8.16.0, @typescript-eslint/utils@npm:^8.18.1, @typescript-eslint/utils@npm:^8.48.0, @typescript-eslint/utils@npm:^8.56.0, @typescript-eslint/utils@npm:^8.8.1": - version: 8.57.0 - resolution: "@typescript-eslint/utils@npm:8.57.0" +"@typescript-eslint/utils@npm:8.62.1, @typescript-eslint/utils@npm:^6.0.0 || ^7.0.0 || ^8.0.0, @typescript-eslint/utils@npm:^8.13.0, @typescript-eslint/utils@npm:^8.16.0, @typescript-eslint/utils@npm:^8.18.1, @typescript-eslint/utils@npm:^8.48.0, @typescript-eslint/utils@npm:^8.56.0, @typescript-eslint/utils@npm:^8.8.1": + version: 8.62.1 + resolution: "@typescript-eslint/utils@npm:8.62.1" dependencies: "@eslint-community/eslint-utils": "npm:^4.9.1" - "@typescript-eslint/scope-manager": "npm:8.57.0" - "@typescript-eslint/types": "npm:8.57.0" - "@typescript-eslint/typescript-estree": "npm:8.57.0" + "@typescript-eslint/scope-manager": "npm:8.62.1" + "@typescript-eslint/types": "npm:8.62.1" + "@typescript-eslint/typescript-estree": "npm:8.62.1" peerDependencies: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 - typescript: ">=4.8.4 <6.0.0" - checksum: 10c0/d2c5803a7eaae71ce4cf1435fdc0ab0243e8924647b39bc823e42bc7604f6e01cdcb101eaf9c0eec91fe1bd272e5533041b8a40017679b164be11f32242f292b + typescript: ">=4.8.4 <6.1.0" + checksum: 10c0/c8970c25049bd4c562c0780f96c1ed50082103ecfc441ccc5be7afd1632883c97e258a6482b6e5998a2a51c3bd4dba6fd066709122108a3b71bc5433cd2fa7c8 languageName: node linkType: hard @@ -17577,16 +17488,6 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/visitor-keys@npm:8.50.0": - version: 8.50.0 - resolution: "@typescript-eslint/visitor-keys@npm:8.50.0" - dependencies: - "@typescript-eslint/types": "npm:8.50.0" - eslint-visitor-keys: "npm:^4.2.1" - checksum: 10c0/a13337ecc2042229b922b03882d6691df63053445aa8860f6fcc1da59d04d05f75d4e0ee132551b76d5c5f665e881eb89f327a6f0e83240860f913dff5d745ee - languageName: node - linkType: hard - "@typescript-eslint/visitor-keys@npm:8.56.1": version: 8.56.1 resolution: "@typescript-eslint/visitor-keys@npm:8.56.1" @@ -17597,13 +17498,13 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/visitor-keys@npm:8.57.0": - version: 8.57.0 - resolution: "@typescript-eslint/visitor-keys@npm:8.57.0" +"@typescript-eslint/visitor-keys@npm:8.62.1": + version: 8.62.1 + resolution: "@typescript-eslint/visitor-keys@npm:8.62.1" dependencies: - "@typescript-eslint/types": "npm:8.57.0" + "@typescript-eslint/types": "npm:8.62.1" eslint-visitor-keys: "npm:^5.0.0" - checksum: 10c0/4e585126b7b10f04c8d52166a473b715038793c87c7b7a1dbd0f577b017896db8545d6ea13bd191c12cf951dfdac23884b3e9bf0bb6f44afea38ae9eae5d7a6a + checksum: 10c0/2ab6659c197280b5329be392f4bf3b69ac951e5ab3cc645d05d470381de7f017456938285693b2505f7c02ca56eadc734d55af85c8dee4173b11823c34e7d53c languageName: node linkType: hard @@ -22261,11 +22162,11 @@ __metadata: linkType: hard "core-js-compat@npm:^3.37.0, core-js-compat@npm:^3.38.0, core-js-compat@npm:^3.43.0, core-js-compat@npm:^3.46.0": - version: 3.48.0 - resolution: "core-js-compat@npm:3.48.0" + version: 3.49.0 + resolution: "core-js-compat@npm:3.49.0" dependencies: browserslist: "npm:^4.28.1" - checksum: 10c0/7bb6522127928fff5d56c7050f379a034de85fe2d5c6e6925308090d4b51fb0cb88e0db99619c932ee84d8756d531bf851232948fe1ad18598cb1e7278e8db13 + checksum: 10c0/546e64b7ce45f724825bc13c1347f35c0459a6e71c0dcccff3ec21fbff463f5b0b97fc1220e6d90302153863489301793276fe2bf96f46001ff555ead4140308 languageName: node linkType: hard @@ -24809,11 +24710,11 @@ __metadata: linkType: hard "eslint-plugin-react-refresh@npm:^0.4.14": - version: 0.4.16 - resolution: "eslint-plugin-react-refresh@npm:0.4.16" + version: 0.4.26 + resolution: "eslint-plugin-react-refresh@npm:0.4.26" peerDependencies: eslint: ">=8.40" - checksum: 10c0/0628d54b6cc6773a89252e2a7c82c7905a00dc8dc99a6ae2885a64f3b45bd3012a40cf9791ee24aa5dcf75665d8c8be4699845bbbf205cd0ef652702701a7865 + checksum: 10c0/11c2b25b7a7025e621b02970c4cf3815b0b77486027df9f8bb731cc52972156804fd163b0f99404b33e36a3c60cd1a1be8199ba64c66b5276da3173bbb5ab6e7 languageName: node linkType: hard @@ -24876,13 +24777,13 @@ __metadata: linkType: hard "eslint-plugin-react-you-might-not-need-an-effect@npm:^0.9.1": - version: 0.9.2 - resolution: "eslint-plugin-react-you-might-not-need-an-effect@npm:0.9.2" + version: 0.9.3 + resolution: "eslint-plugin-react-you-might-not-need-an-effect@npm:0.9.3" dependencies: globals: "npm:^16.2.0" peerDependencies: eslint: ">=8.40.0" - checksum: 10c0/886fa470273b9b4ff720ed723a04f9e7b5b6d512e55570163873dc021b80da097af224fb25ecef3ae45b42245f05d06348fe452f7827e349f17d2fa73f495e8f + checksum: 10c0/52418feec2e881766fe2bca7c576752b8d66435bac5a74b7e7b318175ed937193a3c0503e19c0ba3cf02eade5390f92daf7f703bf2bc2f34f5903f6982d0bd4c languageName: node linkType: hard @@ -27268,6 +27169,7 @@ __metadata: lefthook: "npm:2.0.0" npm-run-all2: "npm:8.0.4" oxfmt: "npm:0.50.0" + typescript: "npm:6.0.3" languageName: unknown linkType: soft @@ -28169,7 +28071,7 @@ __metadata: languageName: node linkType: hard -"ignore@npm:7.0.5, ignore@npm:^7.0.0, ignore@npm:^7.0.5": +"ignore@npm:7.0.5, ignore@npm:^7.0.5": version: 7.0.5 resolution: "ignore@npm:7.0.5" checksum: 10c0/ae00db89fe873064a093b8999fe4cc284b13ef2a178636211842cceb650b9c3e390d3339191acb145d81ed5379d2074840cf0c33a20bdbd6f32821f79eb4ad5d @@ -40029,12 +39931,12 @@ __metadata: languageName: node linkType: hard -"ts-api-utils@npm:^2.1.0, ts-api-utils@npm:^2.4.0": - version: 2.4.0 - resolution: "ts-api-utils@npm:2.4.0" +"ts-api-utils@npm:^2.4.0, ts-api-utils@npm:^2.5.0": + version: 2.5.0 + resolution: "ts-api-utils@npm:2.5.0" peerDependencies: typescript: ">=4.8.4" - checksum: 10c0/ed185861aef4e7124366a3f6561113557a57504267d4d452a51e0ba516a9b6e713b56b4aeaab9fa13de9db9ab755c65c8c13a777dba9133c214632cb7b65c083 + checksum: 10c0/767849383c114e7f1971fa976b20e73ac28fd0c70d8d65c0004790bf4d8f89888c7e4cf6d5949f9c1beae9bc3c64835bef77bbe27fddf45a3c7b60cebcf85c8c languageName: node linkType: hard @@ -40471,17 +40373,27 @@ __metadata: linkType: hard "typescript-eslint@npm:^8.46.4": - version: 8.50.0 - resolution: "typescript-eslint@npm:8.50.0" + version: 8.62.1 + resolution: "typescript-eslint@npm:8.62.1" dependencies: - "@typescript-eslint/eslint-plugin": "npm:8.50.0" - "@typescript-eslint/parser": "npm:8.50.0" - "@typescript-eslint/typescript-estree": "npm:8.50.0" - "@typescript-eslint/utils": "npm:8.50.0" + "@typescript-eslint/eslint-plugin": "npm:8.62.1" + "@typescript-eslint/parser": "npm:8.62.1" + "@typescript-eslint/typescript-estree": "npm:8.62.1" + "@typescript-eslint/utils": "npm:8.62.1" peerDependencies: - eslint: ^8.57.0 || ^9.0.0 - typescript: ">=4.8.4 <6.0.0" - checksum: 10c0/63f96505fdfc7d0ff0b5d0338c5877a76ef0933ea3a0c90b2a5d73a7f0ee18d778dc673d9345de3bcb6f37ae02fd930301ef13b2e162c4850f08ad89f1c19613 + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 + typescript: ">=4.8.4 <6.1.0" + checksum: 10c0/0dff8ca99a78854bb0d1d070543fd01242fc816897480d406dd31004ff0d5d69b1215e50d465dc89f9a45f8530174f8bda9fc6302d29bb96165b6e9b3e099a21 + languageName: node + linkType: hard + +"typescript5@npm:typescript@5.9.3": + version: 5.9.3 + resolution: "typescript@npm:5.9.3" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 10c0/6bd7552ce39f97e711db5aa048f6f9995b53f1c52f7d8667c1abdc1700c68a76a308f579cd309ce6b53646deb4e9a1be7c813a93baaf0a28ccd536a30270e1c5 languageName: node linkType: hard @@ -40505,23 +40417,23 @@ __metadata: languageName: node linkType: hard -"typescript@npm:5.9.3": - version: 5.9.3 - resolution: "typescript@npm:5.9.3" +"typescript@npm:6.0.2": + version: 6.0.2 + resolution: "typescript@npm:6.0.2" bin: tsc: bin/tsc tsserver: bin/tsserver - checksum: 10c0/6bd7552ce39f97e711db5aa048f6f9995b53f1c52f7d8667c1abdc1700c68a76a308f579cd309ce6b53646deb4e9a1be7c813a93baaf0a28ccd536a30270e1c5 + checksum: 10c0/4b860b0bf87cc0fee0f66d8ef2640b5a8a8a8c74d1129adb82e389e5f97124383823c47946bef8a73ede371461143a3aa8544399d2133c7b2e4f07e81860af7f languageName: node linkType: hard -"typescript@npm:6.0.2": - version: 6.0.2 - resolution: "typescript@npm:6.0.2" +"typescript@npm:6.0.3": + version: 6.0.3 + resolution: "typescript@npm:6.0.3" bin: tsc: bin/tsc tsserver: bin/tsserver - checksum: 10c0/4b860b0bf87cc0fee0f66d8ef2640b5a8a8a8c74d1129adb82e389e5f97124383823c47946bef8a73ede371461143a3aa8544399d2133c7b2e4f07e81860af7f + checksum: 10c0/4a25ff5045b984370f48f196b3a0120779b1b343d40b9a68d114ea5e5fff099809b2bb777576991a63a5cd59cf7bffd96ff6fe10afcefbcb8bd6fb96ad4b6606 languageName: node linkType: hard @@ -40565,23 +40477,23 @@ __metadata: languageName: node linkType: hard -"typescript@patch:typescript@npm%3A5.9.3#optional!builtin": - version: 5.9.3 - resolution: "typescript@patch:typescript@npm%3A5.9.3#optional!builtin::version=5.9.3&hash=5786d5" +"typescript@patch:typescript@npm%3A6.0.2#optional!builtin": + version: 6.0.2 + resolution: "typescript@patch:typescript@npm%3A6.0.2#optional!builtin::version=6.0.2&hash=5786d5" bin: tsc: bin/tsc tsserver: bin/tsserver - checksum: 10c0/ad09fdf7a756814dce65bc60c1657b40d44451346858eea230e10f2e95a289d9183b6e32e5c11e95acc0ccc214b4f36289dcad4bf1886b0adb84d711d336a430 + checksum: 10c0/49f0b84fc6ca55653e77752b8a61beabc09ee3dae5d965c31596225aa6ef213c5727b1d2e895b900416dc603854ba0872ac4a812c2a4ed6793a601f9c675de02 languageName: node linkType: hard -"typescript@patch:typescript@npm%3A6.0.2#optional!builtin": - version: 6.0.2 - resolution: "typescript@patch:typescript@npm%3A6.0.2#optional!builtin::version=6.0.2&hash=5786d5" +"typescript@patch:typescript@npm%3A6.0.3#optional!builtin": + version: 6.0.3 + resolution: "typescript@patch:typescript@npm%3A6.0.3#optional!builtin::version=6.0.3&hash=5786d5" bin: tsc: bin/tsc tsserver: bin/tsserver - checksum: 10c0/49f0b84fc6ca55653e77752b8a61beabc09ee3dae5d965c31596225aa6ef213c5727b1d2e895b900416dc603854ba0872ac4a812c2a4ed6793a601f9c675de02 + checksum: 10c0/2f25c74e65663c248fa1ade2b8459d9ce5372ff9dad07067310f132966ebec1d93f6c42f0baf77a6b6a7a91460463f708e6887013aaade22111037457c6b25df languageName: node linkType: hard