{ "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": { "analyze-bundle": "webpack-bundle-analyzer", "audit": "npm audit & npx lerna exec --no-bail --concurrency 1 --stream -- npm audit", "audit:fix": "npm audit fix & npx lerna exec --no-bail --concurrency 1 --stream -- npm audit fix", "bootstrap": "lerna bootstrap --ci", "prebuild": "npm run ensure-env", "build": "npm-run-all -p build:*", "build-workers": "cd ./client && npm run prebuild", "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 --max-warnings 0 .", "lint:ts": "tsc -p client", "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", "serve:client-ci": "cd ./client && npm run serve-ci", "start": "npm-run-all ensure-env -p develop:server serve:client", "start-ci": "npm-run-all ensure-env -p start:server serve:client-ci", "start:server": "cd ./api-server && npm start", "storybook": "cd ./tools/ui-components && npm run storybook", "test": "run-s ensure-env build:curriculum build-workers test:*", "test:source": "jest", "test:curriculum": "cd ./curriculum && npm test", "test-curriculum-full-output": "cd ./curriculum && npm run test:full-output", "test-client": "jest client", "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", "prepare": "husky install" }, "lint-staged": { "*.css": "prettier --write", "*.(js|ts|tsx)": "eslint --max-warnings 0 --cache --fix", "./curriculum/challenges/**/*.md": "node ./tools/scripts/lint/index.js" }, "dependencies": { "dotenv": "10.0.0", "invariant": "2.2.4" }, "devDependencies": { "@babel/eslint-parser": "7.15.7", "@babel/plugin-proposal-function-bind": "7.14.5", "@babel/preset-env": "7.15.6", "@babel/preset-react": "7.14.5", "@babel/preset-typescript": "7.15.0", "@testing-library/cypress": "7.0.7", "@testing-library/dom": "8.6.0", "@testing-library/jest-dom": "5.14.1", "@testing-library/user-event": "13.2.1", "@typescript-eslint/eslint-plugin": "4.32.0", "@typescript-eslint/parser": "4.32.0", "babel-eslint": "10.1.0", "babel-plugin-transform-imports": "2.0.0", "cross-env": "7.0.3", "cypress": "7.7.0", "docsify-cli": "4.4.3", "eslint": "7.32.0", "eslint-config-prettier": "8.3.0", "eslint-plugin-import": "2.24.2", "eslint-plugin-jest-dom": "3.9.2", "eslint-plugin-jsx-a11y": "6.4.1", "eslint-plugin-prefer-object-spread": "1.2.1", "eslint-plugin-prettier": "3.4.1", "eslint-plugin-react": "7.26.0", "eslint-plugin-react-hooks": "2.5.1", "eslint-plugin-testing-library": "4.12.4", "execa": "5.1.1", "husky": "7.0.2", "jest": "27.2.2", "js-yaml": "3.14.1", "lerna": "4.0.0", "lint-staged": "11.1.2", "lodash": "4.17.21", "markdownlint": "0.24.0", "mock-fs": "5.1.1", "npm-run-all": "4.1.5", "ora": "5.4.1", "prettier": "2.4.1", "prismjs": "1.25.0", "process": "0.11.10", "shx": "0.3.3", "start-server-and-test": "1.14.0", "typescript": "4.4.3", "webpack-bundle-analyzer": "4.4.2" } }