diff --git a/jest.config.js b/jest.config.js index 0e2bb0431ea..85ff4ba0723 100644 --- a/jest.config.js +++ b/jest.config.js @@ -7,6 +7,7 @@ module.exports = { 'tools/challenge-parser/', 'tools/scripts/build/', 'tools/scripts/lint/', + 'shared', 'curriculum', 'client', 'shared/' diff --git a/package.json b/package.json index d64e7fa46d5..d98bb188da8 100644 --- a/package.json +++ b/package.json @@ -70,7 +70,6 @@ "serve:client-ci": "cd ./client && pnpm run serve-ci", "start": "npm-run-all create:shared -p develop:server serve:client", "test": "NODE_OPTIONS='--max-old-space-size=7168' run-s create:shared build:curriculum build-workers test:**", - "test:source": "jest", "test:api": "cd api && pnpm test", "test:tools:challenge-helper-scripts": "cd ./tools/challenge-helper-scripts && pnpm test run", "test:tools:scripts-build": "cd ./tools/scripts/build && pnpm test run", @@ -78,8 +77,9 @@ "test:tools:challenge-parser": "cd ./tools/challenge-parser && pnpm test run", "test:curriculum:content": "cd ./curriculum && pnpm test run", "test:curriculum:tooling": "cd ./curriculum && pnpm vitest run", - "test-curriculum-full-output": "cd ./curriculum && pnpm run test:full-output run", + "test:shared": "cd ./shared && pnpm vitest run", "test:client": "cd ./client && pnpm test run", + "test-curriculum-full-output": "cd ./curriculum && pnpm run test:full-output run", "test-config": "jest config", "test-utils": "jest utils", "prepare": "husky", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 1fd5275bc3d..90f8ea84286 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -779,7 +779,14 @@ importers: specifier: ^3.2.4 version: 3.2.4(@types/node@20.12.8)(@vitest/ui@3.2.4)(jsdom@16.7.0)(msw@2.8.7(@types/node@20.12.8)(typescript@5.8.2))(terser@5.28.1)(tsx@4.19.1)(yaml@2.8.0) - shared: {} + shared: + devDependencies: + '@vitest/ui': + specifier: ^3.2.4 + version: 3.2.4(vitest@3.2.4) + vitest: + specifier: ^3.2.4 + version: 3.2.4(@types/node@20.12.8)(@vitest/ui@3.2.4)(jsdom@26.1.0)(msw@2.8.7(@types/node@20.12.8)(typescript@5.8.2))(terser@5.28.1)(tsx@4.19.1)(yaml@2.8.0) tools/challenge-editor/api: dependencies: diff --git a/shared/config/catalog.test.ts b/shared/config/catalog.test.ts index 42b46c521ba..012e72a93ca 100644 --- a/shared/config/catalog.test.ts +++ b/shared/config/catalog.test.ts @@ -1,3 +1,4 @@ +import { describe, it, expect } from 'vitest'; import { catalogSuperBlocks } from './curriculum'; import { catalog } from './catalog'; diff --git a/shared/config/certification-settings.test.ts b/shared/config/certification-settings.test.ts index 312eb6b24f5..c2db72d3069 100644 --- a/shared/config/certification-settings.test.ts +++ b/shared/config/certification-settings.test.ts @@ -1,3 +1,4 @@ +import { describe, it, expect } from 'vitest'; import { Certification, linkedInCredentialIds } from './certification-settings'; describe('linkedInCredentialIds', () => { diff --git a/shared/config/constants.test.ts b/shared/config/constants.test.ts index afb3f3840ed..e833628ce01 100644 --- a/shared/config/constants.test.ts +++ b/shared/config/constants.test.ts @@ -1,3 +1,4 @@ +import { describe, it, expect } from 'vitest'; import { blocklistedUsernames } from './constants'; describe('constants', () => { diff --git a/shared/config/curriculum.test.ts b/shared/config/curriculum.test.ts index 1dc3bdc4a49..fb67f1d6097 100644 --- a/shared/config/curriculum.test.ts +++ b/shared/config/curriculum.test.ts @@ -1,3 +1,4 @@ +import { describe, it, expect } from 'vitest'; import { Languages } from './i18n'; import { SuperBlocks, diff --git a/shared/package.json b/shared/package.json index b896772fa54..49470089422 100644 --- a/shared/package.json +++ b/shared/package.json @@ -9,6 +9,9 @@ "node": ">=16", "pnpm": ">=10" }, + "scripts": { + "test": "vitest" + }, "type": "module", "repository": { "type": "git", @@ -17,5 +20,9 @@ "bugs": { "url": "https://github.com/freeCodeCamp/freeCodeCamp/issues" }, - "homepage": "https://github.com/freeCodeCamp/freeCodeCamp#readme" + "homepage": "https://github.com/freeCodeCamp/freeCodeCamp#readme", + "devDependencies": { + "vitest": "^3.2.4", + "@vitest/ui": "^3.2.4" + } } diff --git a/shared/utils/get-lines.test.ts b/shared/utils/get-lines.test.ts index e3044167dcd..0eaaf6f1d3a 100644 --- a/shared/utils/get-lines.test.ts +++ b/shared/utils/get-lines.test.ts @@ -1,3 +1,4 @@ +import { describe, it, expect } from 'vitest'; import { getLines } from './get-lines'; const content = 'one\ntwo\nthree'; diff --git a/shared/utils/polyvinyl.test.ts b/shared/utils/polyvinyl.test.ts index a040223b939..372ae8ce540 100644 --- a/shared/utils/polyvinyl.test.ts +++ b/shared/utils/polyvinyl.test.ts @@ -1,3 +1,4 @@ +import { describe, it, expect } from 'vitest'; import { createPoly, createSource } from './polyvinyl'; const polyData = { diff --git a/shared/utils/validate.test.ts b/shared/utils/validate.test.ts index 7ad84ab327c..b9005ae0070 100644 --- a/shared/utils/validate.test.ts +++ b/shared/utils/validate.test.ts @@ -1,3 +1,4 @@ +import { describe, it, expect } from 'vitest'; import { isValidUsername, usernameTooShort,