157 lines
6.8 KiB
JSON
157 lines
6.8 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": ">=16",
|
|
"pnpm": "8"
|
|
},
|
|
"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:config && ts-node tools/challenge-auditor/index.ts",
|
|
"analyze-bundle": "webpack-bundle-analyzer",
|
|
"prebuild": "npm-run-all create:*",
|
|
"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:server": "cd ./api-server && 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:server 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 ./config/curriculum.json",
|
|
"clean:packages": "rm -rf ./node_modules ./**/node_modules",
|
|
"clean:server": "rm -rf ./api-server/lib",
|
|
"create:config": "tsc -p config && pnpm run ensure-env && pnpm run download-trending",
|
|
"create:utils": "tsc -p utils",
|
|
"precypress": "node ./cypress-install.js",
|
|
"cypress": "cypress",
|
|
"cypress:dev:run": "pnpm run cypress run",
|
|
"cypress:dev:watch": "pnpm run cypress open",
|
|
"cypress:install": "cypress install && echo 'for use with ./cypress-install.js'",
|
|
"cypress:install-build-tools": "sh ./cypress-install.sh",
|
|
"predevelop": "npm-run-all -p create:* -s build:curriculum",
|
|
"develop": "npm-run-all -p develop:*",
|
|
"develop:client": "cd ./client && pnpm run develop",
|
|
"develop:server": "cd ./api-server && pnpm run develop",
|
|
"docs:serve": "docsify serve ./docs -o --port 3400",
|
|
"e2e": "pnpm run e2e:dev:run",
|
|
"e2e:dev:run": "start-test develop 'localhost:3000/status/ping|localhost:8000' cypress:dev:run",
|
|
"e2e:dev:watch": "start-test develop 'localhost:3000/status/ping|localhost:8000' cypress:dev:watch",
|
|
"e2e:prd:run": "pnpm run build && start-test 'localhost:3000/status/ping|localhost:8000' cypress:dev:run",
|
|
"e2e:prd:watch": "pnpm run build && start-test 'localhost:3000/status/ping|localhost:8000' cypress:dev:watch",
|
|
"download-trending": "ts-node ./tools/scripts/build/download-trending.ts",
|
|
"ensure-env": "cross-env DEBUG=fcc:* ts-node ./tools/scripts/build/ensure-env.ts",
|
|
"format": "run-s format:eslint format:prettier",
|
|
"format:curriculum": "run-s format:curriculum:eslint format:curriculum:prettier",
|
|
"format:curriculum:eslint": "eslint ./curriculum --fix",
|
|
"format:curriculum:prettier": "prettier --write ./curriculum",
|
|
"format:eslint": "eslint . --fix",
|
|
"format:prettier": "prettier --write .",
|
|
"knip": "pnpm dlx knip@1 --include files",
|
|
"knip:all": "pnpm dlx knip@1",
|
|
"prelint": "pnpm run -F=client predevelop",
|
|
"lint": "npm-run-all create:* -p lint:*",
|
|
"lint:challenges": "cd ./curriculum && pnpm run lint",
|
|
"lint:js": "eslint --cache --max-warnings 0 .",
|
|
"lint:ts": "tsc && tsc -p config && tsc -p tools/ui-components && tsc -p utils && tsc -p api",
|
|
"lint:prettier": "prettier --list-different .",
|
|
"reload:server": "pm2 reload api-server/ecosystem.config.js",
|
|
"preseed": "npm-run-all create:*",
|
|
"seed": "cross-env DEBUG=fcc:* node ./tools/scripts/seed/seed-demo-user",
|
|
"seed:certified-user": "cross-env DEBUG=fcc:* node ./tools/scripts/seed/seed-demo-user certified-user",
|
|
"serve:client": "cd ./client && pnpm run serve",
|
|
"serve:client-ci": "cd ./client && pnpm run serve-ci",
|
|
"start": "npm-run-all create:* -p develop:server serve:client",
|
|
"start-ci": "npm-run-all create:* -p start:server serve:client-ci",
|
|
"start:server": "pm2 start api-server/ecosystem.config.js",
|
|
"storybook": "cd ./tools/ui-components && pnpm run storybook",
|
|
"test": "run-s create:* 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-server": "jest api-server",
|
|
"test-tools": "jest tools",
|
|
"test-utils": "jest utils",
|
|
"test-ui-components": "jest tools/ui-components",
|
|
"postinstall": "cypress cache prune",
|
|
"prepare": "husky install"
|
|
},
|
|
"dependencies": {
|
|
"dotenv": "16.3.1",
|
|
"invariant": "2.2.4",
|
|
"pm2": "^5.2.2"
|
|
},
|
|
"devDependencies": {
|
|
"@babel/plugin-proposal-function-bind": "7.22.5",
|
|
"@babel/preset-env": "7.22.7",
|
|
"@babel/preset-react": "7.22.5",
|
|
"@babel/preset-typescript": "7.22.5",
|
|
"@testing-library/cypress": "8.0.7",
|
|
"@testing-library/dom": "8.20.1",
|
|
"@testing-library/jest-dom": "5.16.5",
|
|
"@testing-library/user-event": "13.5.0",
|
|
"@types/jest": "29.5.2",
|
|
"@types/lodash": "4.14.195",
|
|
"@types/node": "18.16.19",
|
|
"@types/store": "2.0.2",
|
|
"@typescript-eslint/eslint-plugin": "5.61.0",
|
|
"@typescript-eslint/parser": "5.61.0",
|
|
"babel-jest": "29.6.1",
|
|
"@babel/eslint-parser": "7.22.7",
|
|
"babel-plugin-transform-imports": "2.0.0",
|
|
"cross-env": "7.0.3",
|
|
"cypress": "11.2.0",
|
|
"cypress-plugin-stripe-elements": "1.0.2",
|
|
"cypress-plugin-tab": "1.0.5",
|
|
"docsify-cli": "4.4.4",
|
|
"eslint": "8.44.0",
|
|
"eslint-config-prettier": "8.8.0",
|
|
"eslint-plugin-filenames-simple": "0.8.0",
|
|
"eslint-plugin-import": "2.27.5",
|
|
"eslint-plugin-jest-dom": "3.9.4",
|
|
"eslint-plugin-jsx-a11y": "6.7.1",
|
|
"eslint-plugin-no-only-tests": "2.6.0",
|
|
"eslint-plugin-react": "7.32.2",
|
|
"eslint-plugin-react-hooks": "4.6.0",
|
|
"eslint-plugin-testing-library": "5.11.0",
|
|
"execa": "5.1.1",
|
|
"husky": "8.0.3",
|
|
"jest": "29.6.1",
|
|
"js-yaml": "3.14.1",
|
|
"lint-staged": "^13.1.0",
|
|
"lodash": "4.17.21",
|
|
"markdownlint": "0.29.0",
|
|
"mock-fs": "5.2.0",
|
|
"npm-run-all": "4.1.5",
|
|
"prettier": "^2.8.0",
|
|
"prismjs": "1.29.0",
|
|
"process": "0.11.10",
|
|
"start-server-and-test": "1.15.5",
|
|
"store": "2.0.12",
|
|
"ts-node": "10.9.1",
|
|
"typescript": "4.9.5",
|
|
"webpack-bundle-analyzer": "4.9.0",
|
|
"yargs": "17.7.2"
|
|
}
|
|
}
|