{ "name": "@freecodecamp/freecodecamp", "version": "0.0.1", "description": "The freeCodeCamp.org open-source codebase and curriculum", "license": "BSD-3-Clause", "private": true, "engines": { "node": ">= 14.0.0", "npm": "^6.14.12" }, "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 ", "main": "none", "scripts": { "audit": "npm audit & lerna exec --no-bail 'echo $LERNA_PACKAGE_NAME & npm audit'", "audit:fix": "npm audit fix & lerna exec 'echo $LERNA_PACKAGE_NAME & npm audit fix'", "bootstrap": "lerna bootstrap --ci", "prebuild": "npm run ensure-env", "build": "npm-run-all -p build:*", "build:client": "cd ./client && npm run build", "build:curriculum": "cd ./curriculum && npm run build", "build:server": "cd ./api-server && npm run build", "clean": "npm-run-all clean:client clean:server clean:packages clean:root-deps", "clean-and-develop": "npm run clean && npm ci && npm run develop", "clean:client": "cd ./client && npm run clean", "clean:curriculum": "shx rm ./config/curriculum.json", "clean:gatsby-site": "npm run clean:client", "clean:packages": "lerna clean -y", "clean:root-deps": "shx rm -rf node_modules", "clean:server": "shx rm -rf ./api-server/lib", "precypress": "node ./cypress-install.js", "cypress": "cypress", "cypress:dev:run": "npm run cypress -- run", "cypress:dev:watch": "npm run cypress -- open", "cypress:install": "cypress install && echo 'for use with ./cypress-install.js'", "cypress:install-build-tools": "sh ./cypress-install.sh", "cypress:prd:run": "npm run cypress -- run", "cypress:prd:watch": "npm run cypress -- open", "predevelop": "npm run ensure-env", "develop": "npm-run-all build:curriculum -p develop:*", "develop:client": "cd ./client && npm run develop", "develop:server": "cd ./api-server && npm run develop", "docs:serve": "docsify serve ./docs -o --port 3200", "e2e": "npm run e2e:dev:run", "e2e:dev:run": "start-test develop ':3000/status/ping|8000' cypress:dev:run", "e2e:dev:watch": "start-test develop ':3000/status/ping|8000' cypress:dev:watch", "e2e:prd:run": "npm run build && start-test ':3000/status/ping|8000' cypress:dev:run", "e2e:prd:watch": "npm run build && start-test ':3000/status/ping|8000' cypress:dev:watch", "ensure-env": "cross-env DEBUG=fcc:* node ./tools/scripts/build/ensure-env.js", "format": "npm-run-all -p format:*", "format:css": "npm run prettier -- --write", "format:js": "npm run lint:js -- --fix", "hooks:install": "node node_modules/husky/husky.js install", "hooks:uninstall": "node node_modules/husky/husky.js uninstall", "lint": "npm-run-all ensure-env -p lint:*", "lint:challenges": "cd ./curriculum && npm run lint", "lint:css": "npm run prettier -- --check", "lint:js": "eslint .", "lint:translations": "cd ./client && npm run lint", "postinstall": "npm run bootstrap", "prettier": "prettier \"**/*.css\"", "seed": "cross-env DEBUG=fcc:* node ./tools/scripts/seed/seedAuthUser", "seed:certified-user": "cross-env DEBUG=fcc:* node ./tools/scripts/seed/seedAuthUser certUser", "serve:client": "cd ./client && npm run serve", "start": "npm-run-all ensure-env -p develop:server serve:client", "start-ci": "npm-run-all ensure-env -p start:server serve:client", "start:server": "cd ./api-server && npm start", "test": "npm-run-all ensure-env build:curriculum -p test:*", "test-curriculum-full-output": "cd ./curriculum && npm run test:full-output", "test:client": "cd ./client && npm test", "test:curriculum": "cd ./curriculum && npm test", "test:curriculum-js": "jest --rootDir ./curriculum", "test:server": "cd ./api-server && npm test", "test:tools": "jest ./tools", "test:utils": "jest --rootDir ./utils" }, "husky": { "hooks": { "pre-commit": "lint-staged" } }, "lint-staged": { "linters": { "*.css": [ "prettier --write", "git add" ], "*.js": [ "eslint --fix", "git add" ], "./curriculum/challenges/**/*.md": "node ./tools/scripts/lint/index.js" } }, "dependencies": { "dotenv": "8.2.0" }, "devDependencies": { "@testing-library/cypress": "7.0.5", "babel-eslint": "10.1.0", "cross-env": "7.0.3", "cypress": "6.8.0", "debug": "4.3.1", "docsify-cli": "4.4.3", "eslint": "7.23.0", "eslint-config-prettier": "8.1.0", "eslint-plugin-babel": "5.3.1", "eslint-plugin-import": "2.22.1", "eslint-plugin-jsx-a11y": "6.4.1", "eslint-plugin-prefer-object-spread": "1.2.1", "eslint-plugin-prettier": "3.3.1", "eslint-plugin-react": "7.23.1", "eslint-plugin-react-hooks": "2.5.1", "execa": "4.0.3", "gray-matter": "4.0.2", "husky": "3.1.0", "jest": "24.9.0", "jest-dom": "4.0.0", "js-yaml": "3.14.1", "lerna": "4.0.0", "lint-staged": "8.2.1", "lodash": "4.17.21", "markdownlint": "0.21.0", "npm-run-all": "4.1.5", "ora": "5.4.0", "prettier": "2.2.1", "prismjs": "1.23.0", "readdirp-walk": "1.7.0", "shx": "0.3.3", "sinon": "7.4.1", "sinon-express-mock": "2.2.1", "start-server-and-test": "1.12.1" } }