mirror of
https://github.com/freeCodeCamp/freeCodeCamp.git
synced 2026-02-13 13:00:27 -05:00
128 lines
5.1 KiB
JSON
128 lines
5.1 KiB
JSON
{
|
|
"name": "@freecodecamp/freecodecamp",
|
|
"version": "0.0.1",
|
|
"description": "The freeCodeCamp.org open-source codebase and curriculum",
|
|
"license": "BSD-3-Clause",
|
|
"private": true,
|
|
"engines": {
|
|
"node": ">=24",
|
|
"pnpm": ">=10"
|
|
},
|
|
"repository": {
|
|
"type": "git",
|
|
"url": "git+https://github.com/freeCodeCamp/freeCodeCamp.git"
|
|
},
|
|
"bugs": {
|
|
"url": "https://github.com/freeCodeCamp/freeCodeCamp/issues"
|
|
},
|
|
"homepage": "https://github.com/freeCodeCamp/freeCodeCamp#readme",
|
|
"author": "freeCodeCamp <team@freecodecamp.org>",
|
|
"main": "none",
|
|
"scripts": {
|
|
"audit-challenges": "cd curriculum && pnpm audit-challenges",
|
|
"analyze-bundle": "webpack-bundle-analyzer",
|
|
"prebuild": "turbo compile",
|
|
"build": "npm-run-all -p build:*",
|
|
"build:client": "cd ./client && pnpm run build",
|
|
"build:curriculum": "pnpm -F=curriculum run build && pnpm -F=client run build:external-curriculum",
|
|
"build:api": "cd ./api && pnpm run build",
|
|
"challenge-editor": "cd tools/challenge-editor && pnpm dev",
|
|
"challenge-editor-setup": "git submodule update --init tools/challenge-editor && cd tools/challenge-editor && pnpm install",
|
|
"clean": "npm-run-all -p clean:client clean:api clean:curriculum --serial clean:packages",
|
|
"clean-and-develop": "pnpm run clean && pnpm install && pnpm run develop",
|
|
"clean:api": "cd api && pnpm clean",
|
|
"clean:client": "cd ./client && pnpm run clean",
|
|
"clean:curriculum": "rm -rf ./curriculum/generated/curriculum.json",
|
|
"clean:turbo": "find . -name '.turbo' -type d -prune -exec rm -rf '{}' +",
|
|
"clean:packages": "find . -name 'node_modules' -type d -prune -exec rm -rf '{}' +",
|
|
"create-new-project": "cd ./tools/challenge-helper-scripts/ && pnpm run create-project",
|
|
"create-new-language-block": "cd ./tools/challenge-helper-scripts/ && pnpm run create-language-block",
|
|
"create-new-quiz": "cd ./tools/challenge-helper-scripts/ && pnpm run create-quiz",
|
|
"predevelop": "turbo compile && pnpm build:curriculum",
|
|
"develop": "npm-run-all -p develop:*",
|
|
"develop:client": "cd ./client && pnpm run develop",
|
|
"develop:api": "cd ./api && pnpm run develop",
|
|
"format": "run-s format:eslint format:prettier",
|
|
"format:eslint": "turbo lint -- --fix",
|
|
"format:prettier": "prettier --write .",
|
|
"i18n-sync": "tsx ./tools/scripts/sync-i18n.ts",
|
|
"knip": "npx -y knip@5 --include files",
|
|
"knip:all": "npx -y knip@5 ",
|
|
"lint-root": "pnpm npm-run-all lint:*",
|
|
"lint": "turbo type-check && turbo lint && turbo lint-root",
|
|
"lint:challenges": "cd ./curriculum && pnpm run lint-challenges",
|
|
"lint:prettier": "prettier --list-different .",
|
|
"lint:css": "stylelint '**/*.css'",
|
|
"preseed": "turbo compile",
|
|
"playwright:install-build-tools": "npx playwright install --with-deps",
|
|
"rename-challenges": "tsx tools/challenge-helper-scripts/rename-challenge-files.ts",
|
|
"seed": "pnpm seed:surveys && pnpm seed:exams && DEBUG=fcc:* node ./tools/scripts/seed/seed-demo-user",
|
|
"seed:certified-user": "pnpm seed:surveys && pnpm seed:exams && pnpm seed:ms-username && DEBUG=fcc:* node ./tools/scripts/seed/seed-demo-user --certified-user",
|
|
"seed:daily-challenges": "cd tools/daily-challenges && pnpm seed-daily-challenges",
|
|
"seed:exams": "DEBUG=fcc:* node tools/scripts/seed-exams/create-exams",
|
|
"seed:env-exam": "cd api && pnpm run seed:env-exam",
|
|
"seed:surveys": "DEBUG=fcc:* node ./tools/scripts/seed/seed-surveys",
|
|
"seed:ms-username": "DEBUG=fcc:* node ./tools/scripts/seed/seed-ms-username",
|
|
"serve:client": "cd ./client && pnpm run serve",
|
|
"serve:client-ci": "cd ./client && pnpm run serve-ci",
|
|
"start": "turbo compile && npm-run-all -p develop:server serve:client",
|
|
"test": "turbo test",
|
|
"prepare": "husky",
|
|
"playwright:run": "pnpm -F e2e run playwright:run",
|
|
"playwright:watch": "pnpm -F e2e run playwright:watch"
|
|
},
|
|
"dependencies": {
|
|
"dotenv": "16.4.5",
|
|
"eslint": "^9.39.1"
|
|
},
|
|
"devDependencies": {
|
|
"@freecodecamp/eslint-config": "workspace:*",
|
|
"@freecodecamp/shared": "workspace:*",
|
|
"@playwright/test": "^1.47.1",
|
|
"@testing-library/dom": "10.4.0",
|
|
"@testing-library/jest-dom": "6.6.3",
|
|
"@types/lodash": "4.14.202",
|
|
"@types/node": "^24.10.8",
|
|
"@types/testing-library__jest-dom": "^5.14.5",
|
|
"debug": "4.3.4",
|
|
"globals": "^15.14.0",
|
|
"husky": "9.0.11",
|
|
"identity-obj-proxy": "^3.0.0",
|
|
"js-yaml": "3.14.1",
|
|
"lint-staged": "^16.2.7",
|
|
"lodash": "4.17.21",
|
|
"markdownlint": "0.33.0",
|
|
"npm-run-all2": "5.0.2",
|
|
"prettier": "3.2.5",
|
|
"prismjs": "1.29.0",
|
|
"stylelint": "16.14.1",
|
|
"tsx": "4.19.1",
|
|
"turbo": "^2.6.1",
|
|
"typescript": "5.9.3",
|
|
"webpack-bundle-analyzer": "4.10.1",
|
|
"yargs": "17.7.2"
|
|
},
|
|
"packageManager": "pnpm@10.28.1",
|
|
"pnpm": {
|
|
"onlyBuiltDependencies": [
|
|
"@freecodecamp/ui",
|
|
"@prisma/client",
|
|
"@prisma/engines",
|
|
"core-js",
|
|
"ejs",
|
|
"es5-ext",
|
|
"esbuild",
|
|
"gatsby",
|
|
"gatsby-cli",
|
|
"gatsby-telemetry",
|
|
"lmdb",
|
|
"msgpackr-extract",
|
|
"msw",
|
|
"nodemon",
|
|
"prisma",
|
|
"puppeteer",
|
|
"unrs-resolver"
|
|
]
|
|
}
|
|
}
|