From c06454f0b4346439d1ca2f35ae717c027a601664 Mon Sep 17 00:00:00 2001 From: Jackson Morgan Date: Sun, 18 May 2025 17:55:16 -0400 Subject: [PATCH] esm migration for connected --- package-lock.json | 3 +- packages/connected/jest.config.cjs | 14 ------ packages/connected/package.json | 2 +- packages/connected/test/ErrorResult.test.ts | 1 + .../test/LinkTraversalIntegration.test.ts | 1 + packages/connected/test/mocks/MockResource.ts | 49 +++++++++---------- packages/connected/vitest.config.js | 9 ++++ 7 files changed, 38 insertions(+), 41 deletions(-) delete mode 100644 packages/connected/jest.config.cjs create mode 100644 packages/connected/vitest.config.js diff --git a/package-lock.json b/package-lock.json index 84b88e7..0953e6b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -30189,7 +30189,8 @@ "typed-emitter": "^2.1.0", "typedoc": "^0.25.4", "typedoc-plugin-markdown": "^3.17.1", - "uuid": "^11.1.0" + "uuid": "^11.1.0", + "vitest": "^3.1.3" } }, "packages/connected-nextgraph": { diff --git a/packages/connected/jest.config.cjs b/packages/connected/jest.config.cjs deleted file mode 100644 index 3ad2cee..0000000 --- a/packages/connected/jest.config.cjs +++ /dev/null @@ -1,14 +0,0 @@ -/* eslint-disable @typescript-eslint/no-var-requires */ -// packages/dataset/jest.config.cjs -const sharedConfig = require("../../jest.config.js"); - -module.exports = { - ...sharedConfig, - rootDir: "./", // Sets context for this package - collectCoverageFrom: [ - "src/**/*.ts", - "!src/**/*.d.ts", - // "!src/index.ts", // Optional, if index.ts only re-exports - ], - modulePathIgnorePatterns: ["/dist/"], -}; diff --git a/packages/connected/package.json b/packages/connected/package.json index 2de6c8c..9b3cb84 100644 --- a/packages/connected/package.json +++ b/packages/connected/package.json @@ -18,7 +18,7 @@ "build": "rimraf dist && npm run build:cjs && npm run build:esm", "build:cjs": "tsc --project tsconfig.cjs.json", "build:esm": "tsc --project tsconfig.esm.json", - "test": "jest --coverage", + "test": "vitest run --coverage", "prepublishOnly": "npm run test && npm run build", "lint": "eslint src/** --fix --no-error-on-unmatched-pattern", "docs": "typedoc --plugin typedoc-plugin-markdown", diff --git a/packages/connected/test/ErrorResult.test.ts b/packages/connected/test/ErrorResult.test.ts index 5f056a9..695a9b7 100644 --- a/packages/connected/test/ErrorResult.test.ts +++ b/packages/connected/test/ErrorResult.test.ts @@ -6,6 +6,7 @@ import { } from "../src/results/error/ErrorResult.js"; import { InvalidUriError } from "../src/results/error/InvalidUriError.js"; import { MockResource } from "./mocks/MockResource.js"; +import { describe, it, expect } from "vitest"; const mockResource = new MockResource("https://example.com/"); diff --git a/packages/connected/test/LinkTraversalIntegration.test.ts b/packages/connected/test/LinkTraversalIntegration.test.ts index 7799451..800e841 100644 --- a/packages/connected/test/LinkTraversalIntegration.test.ts +++ b/packages/connected/test/LinkTraversalIntegration.test.ts @@ -19,6 +19,7 @@ import { } from "./LinkTraversalData.js"; import { SolidProfileShapeShapeType } from "./.ldo/solidProfile.shapeTypes.js"; import { wait } from "./util/wait.js"; +import { describe, it, expect, beforeEach } from "vitest"; describe("Link Traversal", () => { // eslint-disable-next-line @typescript-eslint/ban-ts-comment diff --git a/packages/connected/test/mocks/MockResource.ts b/packages/connected/test/mocks/MockResource.ts index c586793..91a4b40 100644 --- a/packages/connected/test/mocks/MockResource.ts +++ b/packages/connected/test/mocks/MockResource.ts @@ -10,6 +10,7 @@ import { import type { DatasetChanges } from "@ldo/rdf-utils"; import type { ReadSuccess } from "../../src/results/success/ReadSuccess.js"; import type { UpdateSuccess } from "../../src/results/success/UpdateSuccess.js"; +import { vi } from "vitest"; export class MockResource extends (EventEmitter as new () => ResourceEventEmitter) @@ -26,34 +27,32 @@ export class MockResource this.status = new Unfetched(this); } - isLoading = jest.fn(); - isFetched = jest.fn(); - isUnfetched = jest.fn(); - isDoingInitialFetch = jest.fn(); - isPresent = jest.fn(); - isAbsent = jest.fn(); - isSubscribedToNotifications = jest.fn(); + isLoading = vi.fn<() => boolean>(); + isFetched = vi.fn<() => boolean>(); + isUnfetched = vi.fn<() => boolean>(); + isDoingInitialFetch = vi.fn<() => boolean>(); + isPresent = vi.fn<() => boolean | undefined>(); + isAbsent = vi.fn<() => boolean | undefined>(); + isSubscribedToNotifications = vi.fn<() => boolean>(); - read = jest.fn | ResourceError>, []>(); - readIfUnfetched = jest.fn< - Promise | ResourceError>, - [] - >(); - update = jest.fn< - Promise | ResourceError>, - [DatasetChanges] - >(); + read = vi.fn<() => Promise | ResourceError>>(); + readIfUnfetched = + vi.fn<() => Promise | ResourceError>>(); + update = + vi.fn< + ( + changes: DatasetChanges, + ) => Promise | ResourceError> + >(); - subscribeToNotifications = jest.fn< - Promise, - [ - { + subscribeToNotifications = + vi.fn< + (options?: { onNotification: (message: any) => void; onNotificationError: (err: Error) => void; - }?, - ] - >(); + }) => Promise + >(); - unsubscribeFromNotifications = jest.fn, [string]>(); - unsubscribeFromAllNotifications = jest.fn, []>(); + unsubscribeFromNotifications = vi.fn<(id: string) => Promise>(); + unsubscribeFromAllNotifications = vi.fn<() => Promise>(); } diff --git a/packages/connected/vitest.config.js b/packages/connected/vitest.config.js new file mode 100644 index 0000000..9713f14 --- /dev/null +++ b/packages/connected/vitest.config.js @@ -0,0 +1,9 @@ +import { defineConfig } from "vitest/config"; + +export default defineConfig({ + test: { + coverage: { + provider: "istanbul", + }, + }, +});