feat: use turbo to orchestrate tests (#65351)

This commit is contained in:
Oliver Eyton-Williams
2026-01-21 05:47:06 +01:00
committed by GitHub
parent f81448bfe8
commit 631a679b8f
9 changed files with 29 additions and 20 deletions
+4 -2
View File
@@ -21,7 +21,7 @@
"scripts": { "scripts": {
"prebuild": "pnpm run common-setup && pnpm run build:scripts --env production", "prebuild": "pnpm run common-setup && pnpm run build:scripts --env production",
"build": "NODE_OPTIONS=\"--max-old-space-size=7168 --no-deprecation\" gatsby build --prefix-paths", "build": "NODE_OPTIONS=\"--max-old-space-size=7168 --no-deprecation\" gatsby build --prefix-paths",
"build:scripts": "pnpm run -F=browser-scripts build", "build:scripts": "pnpm run -F=browser-scripts compile",
"build:external-curriculum": "tsx ./tools/external-curriculum/build", "build:external-curriculum": "tsx ./tools/external-curriculum/build",
"clean": "gatsby clean", "clean": "gatsby clean",
"common-setup": "pnpm -w turbo compile && pnpm run create:env && pnpm run create:trending && pnpm run create:search-placeholder", "common-setup": "pnpm -w turbo compile && pnpm run create:env && pnpm run create:trending && pnpm run create:search-placeholder",
@@ -35,7 +35,9 @@
"serve-ci": "serve -l 8000 -c serve.json public", "serve-ci": "serve -l 8000 -c serve.json public",
"prestand-alone": "pnpm run prebuild", "prestand-alone": "pnpm run prebuild",
"stand-alone": "gatsby develop", "stand-alone": "gatsby develop",
"test": "vitest", "test": "vitest run",
"test:watch": "vitest",
"test:ui": "vitest --ui",
"type-check": "tsc --noEmit" "type-check": "tsc --noEmit"
}, },
"dependencies": { "dependencies": {
+1 -10
View File
@@ -23,7 +23,6 @@
"analyze-bundle": "webpack-bundle-analyzer", "analyze-bundle": "webpack-bundle-analyzer",
"prebuild": "turbo compile", "prebuild": "turbo compile",
"build": "npm-run-all -p build:*", "build": "npm-run-all -p build:*",
"build-workers": "cd ./client && pnpm run prebuild",
"build:client": "cd ./client && pnpm run build", "build:client": "cd ./client && pnpm run build",
"build:curriculum": "pnpm -F=curriculum run build && pnpm -F=client run build:external-curriculum", "build:curriculum": "pnpm -F=curriculum run build && pnpm -F=client run build:external-curriculum",
"build:api": "cd ./api && pnpm run build", "build:api": "cd ./api && pnpm run build",
@@ -67,15 +66,7 @@
"serve:client": "cd ./client && pnpm run serve", "serve:client": "cd ./client && pnpm run serve",
"serve:client-ci": "cd ./client && pnpm run serve-ci", "serve:client-ci": "cd ./client && pnpm run serve-ci",
"start": "turbo compile && npm-run-all -p develop:server serve:client", "start": "turbo compile && npm-run-all -p develop:server serve:client",
"test": "turbo compile && NODE_OPTIONS='--max-old-space-size=7168' run-s build:curriculum build-workers test:**", "test": "turbo test",
"test:api": "cd api && pnpm test",
"test:tools:challenge-helper-scripts": "cd ./tools/challenge-helper-scripts && pnpm test run",
"test:tools:scripts-lint": "cd ./tools/scripts/lint && pnpm test run",
"test:tools:challenge-parser": "cd ./tools/challenge-parser && pnpm test run",
"test:curriculum:content": "cd ./curriculum && pnpm test-content",
"test:curriculum:tooling": "cd ./curriculum && pnpm test-tooling",
"test:shared": "cd ./packages/shared && pnpm vitest run",
"test:client": "cd ./client && pnpm test run",
"prepare": "husky", "prepare": "husky",
"playwright:run": "pnpm -F e2e run playwright:run", "playwright:run": "pnpm -F e2e run playwright:run",
"playwright:watch": "pnpm -F e2e run playwright:watch" "playwright:watch": "pnpm -F e2e run playwright:watch"
+3 -1
View File
@@ -10,7 +10,9 @@
"pnpm": ">=10" "pnpm": ">=10"
}, },
"scripts": { "scripts": {
"test": "vitest", "test": "vitest run",
"test:watch": "vitest",
"test:ui": "vitest --ui",
"type-check": "tsc --noEmit", "type-check": "tsc --noEmit",
"compile": "tsdown --format cjs --format esm", "compile": "tsdown --format cjs --format esm",
"lint": "eslint --max-warnings 0" "lint": "eslint --max-warnings 0"
@@ -14,7 +14,6 @@
"start": "PORT=3300 vite", "start": "PORT=3300 vite",
"build": "tsc && vite build", "build": "tsc && vite build",
"lint": "eslint --max-warnings 0", "lint": "eslint --max-warnings 0",
"test": "echo \"no tests here yet\"",
"type-check": "tsc --noEmit", "type-check": "tsc --noEmit",
"postinstall": "shx cp ./sample.env ./.env" "postinstall": "shx cp ./sample.env ./.env"
}, },
+3 -1
View File
@@ -25,7 +25,9 @@
"create-quiz": "tsx create-quiz", "create-quiz": "tsx create-quiz",
"rename-block": "tsx rename-block", "rename-block": "tsx rename-block",
"lint": "eslint --max-warnings 0", "lint": "eslint --max-warnings 0",
"test": "vitest", "test": "vitest run",
"test:watch": "vitest",
"test:ui": "vitest --ui",
"type-check": "tsc --noEmit" "type-check": "tsc --noEmit"
}, },
"devDependencies": { "devDependencies": {
+3 -1
View File
@@ -20,7 +20,9 @@
"main": "index.js", "main": "index.js",
"scripts": { "scripts": {
"lint": "eslint --max-warnings 0", "lint": "eslint --max-warnings 0",
"test": "vitest", "test": "vitest run",
"test:watch": "vitest",
"test:ui": "vitest --ui",
"type-check": "tsc --noEmit" "type-check": "tsc --noEmit"
}, },
"dependencies": { "dependencies": {
@@ -19,9 +19,8 @@
"author": "freeCodeCamp <team@freecodecamp.org>", "author": "freeCodeCamp <team@freecodecamp.org>",
"main": "index.js", "main": "index.js",
"scripts": { "scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"lint": "eslint --max-warnings 0", "lint": "eslint --max-warnings 0",
"build": "NODE_OPTIONS=\"--max-old-space-size=7168\" webpack -c webpack.config.cjs" "compile": "NODE_OPTIONS=\"--max-old-space-size=7168\" webpack -c webpack.config.cjs"
}, },
"type": "module", "type": "module",
"keywords": [], "keywords": [],
+3 -1
View File
@@ -16,7 +16,9 @@
"author": "freeCodeCamp <team@freecodecamp.org>", "author": "freeCodeCamp <team@freecodecamp.org>",
"scripts": { "scripts": {
"lint": "eslint --max-warnings 0", "lint": "eslint --max-warnings 0",
"test": "vitest" "test": "vitest run",
"test:watch": "vitest",
"test:ui": "vitest --ui"
}, },
"devDependencies": { "devDependencies": {
"@freecodecamp/eslint-config": "workspace:*", "@freecodecamp/eslint-config": "workspace:*",
+11 -1
View File
@@ -38,6 +38,16 @@
"create:trending": { "cache": false }, "create:trending": { "cache": false },
"create:env": { "dependsOn": ["@freecodecamp/curriculum#compile"] }, "create:env": { "dependsOn": ["@freecodecamp/curriculum#compile"] },
"build": { "dependsOn": ["compile"] }, "build": { "dependsOn": ["compile"] },
"build:scripts": {} "build:scripts": {},
"build:external-curriculum": {
"dependsOn": ["@freecodecamp/curriculum#build"]
},
"test": { "dependsOn": ["compile"] },
"@freecodecamp/api#test": {
"dependsOn": ["compile", "@freecodecamp/curriculum#build"]
},
"@freecodecamp/client#test": {
"dependsOn": ["compile", "create:env", "build:external-curriculum"]
}
} }
} }