Files
freeCodeCamp/package.json

165 lines
6.7 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": ">=22",
"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": "pnpm run create:shared && tsx tools/challenge-auditor/index.ts",
"analyze-bundle": "webpack-bundle-analyzer",
"prebuild": "npm-run-all create:shared",
"build": "npm-run-all -p build:*",
"build-workers": "cd ./client && pnpm run prebuild",
"build:client": "cd ./client && pnpm run build",
"build:curriculum": "cd ./curriculum && pnpm run build",
"build:api": "cd ./api && pnpm run build",
"challenge-editor": "npm-run-all -p challenge-editor:*",
"challenge-editor:client": "cd ./tools/challenge-editor/client && pnpm start",
"challenge-editor:server": "cd ./tools/challenge-editor/api && pnpm start",
"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 ./shared/config/curriculum.json",
"clean:packages": "find . -name 'node_modules' -type d -prune -exec rm -rf '{}' +",
"create:shared": "tsc -p shared",
"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": "npm-run-all -p create:shared -s 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": "eslint . --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 ",
"prelint": "pnpm run -F=client predevelop",
"lint": "NODE_OPTIONS=\"--max-old-space-size=7168\" npm-run-all create:shared -p lint:*",
"lint:challenges": "cd ./curriculum && pnpm run lint",
"lint:js": "eslint --cache --max-warnings 0 .",
"lint:ts": "tsc && tsc -p shared && tsc -p api && tsc -p client",
"lint:prettier": "prettier --list-different .",
"lint:css": "stylelint '**/*.css'",
"preseed": "npm-run-all create:shared",
"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: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": "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 && jest --force-exit",
"test:curriculum": "cd ./curriculum && pnpm test",
"test-curriculum-full-output": "cd ./curriculum && pnpm run test:full-output",
"test-client": "jest client",
"test-config": "jest config",
"test-curriculum-js": "jest curriculum",
"test-tools": "jest tools",
"test-utils": "jest utils",
"prepare": "husky",
"playwright:run": "playwright test",
"playwright:watch": "playwright test --ui-port=0"
},
"dependencies": {
"dotenv": "16.4.5"
},
"devDependencies": {
"@babel/eslint-parser": "7.26.5",
"@babel/preset-react": "7.26.3",
"@eslint/compat": "^1.2.6",
"@eslint/eslintrc": "^3.2.0",
"@eslint/js": "^9.19.0",
"@playwright/test": "^1.47.1",
"@testing-library/dom": "10.4.0",
"@testing-library/jest-dom": "6.6.3",
"@types/jest": "29.5.12",
"@types/lodash": "4.14.202",
"@types/node": "20.12.8",
"@types/testing-library__jest-dom": "^5.14.5",
"@typescript-eslint/eslint-plugin": "8.24.0",
"@typescript-eslint/parser": "8.23.0",
"babel-jest": "29.7.0",
"eslint": "9.19.0",
"eslint-config-prettier": "10.0.1",
"eslint-import-resolver-typescript": "^3.5.5",
"eslint-plugin-filenames-simple": "0.9.0",
"eslint-plugin-import": "2.31.0",
"eslint-plugin-jest-dom": "5.5.0",
"eslint-plugin-jsdoc": "48.2.1",
"eslint-plugin-jsx-a11y": "6.10.2",
"eslint-plugin-no-only-tests": "3.1.0",
"eslint-plugin-react": "7.37.4",
"eslint-plugin-react-hooks": "4.6.0",
"eslint-plugin-testing-library": "7.1.1",
"globals": "^15.14.0",
"husky": "9.0.11",
"identity-obj-proxy": "^3.0.0",
"jest": "29.7.0",
"jest-environment-jsdom": "29.7.0",
"js-yaml": "3.14.1",
"lint-staged": "^13.1.0",
"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",
"typescript": "5.7.3",
"typescript-eslint": "^8.23.0",
"webpack-bundle-analyzer": "4.10.1",
"yargs": "17.7.2"
},
"packageManager": "pnpm@10.11.0+sha512.6540583f41cc5f628eb3d9773ecee802f4f9ef9923cc45b69890fb47991d4b092964694ec3a4f738a420c918a333062c8b925d312f42e4f0c263eb603551f977",
"pnpm": {
"peerDependencyRules": {
"allowedVersions": {
"react-scrollable-anchor>react": "17",
"react-scrollable-anchor>react-dom": "17"
}
},
"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",
"sharp"
]
}
}