{ "name": "@freecodecamp/client", "version": "0.0.1", "description": "The freeCodeCamp.org open-source codebase and curriculum", "license": "BSD-3-Clause", "private": true, "engines": { "node": ">=16", "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 ", "main": "none", "scripts": { "prebuild": "pnpm run common-setup && pnpm run build:scripts --env production", "build": "NODE_OPTIONS=\"--max-old-space-size=7168\" gatsby build --prefix-paths", "build:scripts": "pnpm run -F=browser-scripts build", "clean": "gatsby clean", "common-setup": "pnpm -w run create:shared && pnpm run create:env && pnpm run create:trending && pnpm run create:search-placeholder", "create:env": "DEBUG=fcc:* tsx ./tools/create-env.ts", "create:trending": "tsx ./tools/download-trending.ts", "create:search-placeholder": "tsx ./tools/generate-search-placeholder", "predevelop": "pnpm run common-setup && pnpm run build:scripts --env development", "develop": "NODE_OPTIONS=\"--max-old-space-size=7168\" gatsby develop --inspect=9230", "lint": "tsx ./i18n/schema-validation.ts", "serve": "gatsby serve -p 8000", "serve-ci": "serve -l 8000 -c serve.json public", "prestand-alone": "pnpm run prebuild", "stand-alone": "gatsby develop", "validate-keys": "tsx --tsconfig ../tsconfig.json ../tools/scripts/lint/validate-keys" }, "dependencies": { "@babel/plugin-proposal-export-default-from": "7.23.3", "@babel/plugin-proposal-function-bind": "7.23.3", "@babel/plugin-transform-runtime": "^7.19.6", "@babel/preset-env": "7.23.7", "@babel/preset-react": "7.23.3", "@babel/preset-typescript": "7.23.3", "@babel/standalone": "7.23.7", "@fortawesome/fontawesome-svg-core": "6.7.1", "@fortawesome/free-brands-svg-icons": "6.7.1", "@fortawesome/free-solid-svg-icons": "6.7.1", "@fortawesome/react-fontawesome": "0.2.2", "@freecodecamp/loop-protect": "3.0.0", "@freecodecamp/ui": "4.2.0", "@gatsbyjs/reach-router": "1.3.9", "@growthbook/growthbook-react": "0.20.0", "@headlessui/react": "1.7.19", "@loadable/component": "5.16.3", "@redux-devtools/extension": "3.3.0", "@redux-saga/core": "^1.2.2", "@stripe/react-stripe-js": "1.16.5", "@stripe/stripe-js": "1.54.2", "algoliasearch": "4.22.1", "assert": "2.0.0", "babel-plugin-preval": "5.1.0", "babel-plugin-prismjs": "2.1.0", "bezier-easing": "2.1.0", "browser-cookies": "1.2.0", "canvas-confetti": "^1.6.0", "crypto-browserify": "3.12.0", "date-fns": "4.1.0", "date-fns-tz": "3.2.0", "final-form": "4.20.10", "gatsby": "3.15.0", "gatsby-cli": "3.15.0", "gatsby-plugin-create-client-paths": "3.15.0", "gatsby-plugin-manifest": "3.15.0", "gatsby-plugin-pnpm": "^1.2.10", "gatsby-plugin-postcss": "4.15.0", "gatsby-plugin-react-helmet": "4.15.0", "gatsby-plugin-remove-serviceworker": "1.0.0", "gatsby-source-filesystem": "3.15.0", "gatsby-transformer-remark": "5.25.1", "i18next": "25.2.1", "instantsearch.js": "4.75.3", "lodash": "4.17.21", "lodash-es": "4.17.21", "micromark": "4.0.0", "monaco-editor": "0.33.0", "nanoid": "3.3.7", "normalize-url": "6.1.0", "path-browserify": "1.0.1", "postcss": "8.4.35", "prismjs": "1.29.0", "process": "0.11.10", "prop-types": "15.8.1", "qrcode.react": "^3.1.0", "query-string": "7.1.3", "react": "17.0.2", "react-calendar-heatmap": "1.9.0", "react-dom": "17.0.2", "react-final-form": "6.5.9", "react-gtm-module": "2.0.11", "react-helmet": "6.1.0", "react-hotkeys": "2.0.0", "react-i18next": "15.5.2", "react-instantsearch": "7.13.6", "react-instantsearch-core": "7.13.6", "react-monaco-editor": "0.48.0", "react-redux": "7.2.9", "react-reflex": "4.1.0", "react-responsive": "9.0.2", "react-scrollable-anchor": "0.6.1", "react-spinkit": "3.0.0", "react-tooltip": "4.5.1", "react-transition-group": "4.4.5", "react-youtube": "10.1.0", "redux": "4.2.1", "redux-actions": "2.6.5", "redux-observable": "1.2.0", "redux-saga": "1.2.3", "reselect": "4.1.8", "rxjs": "6.6.7", "sanitize-html": "2.11.0", "store": "2.0.12", "stream-browserify": "3.0.0", "tone": "14.7.77", "typescript": "5.2.2", "util": "0.12.5", "uuid": "8.3.2", "validator": "13.11.0", "xterm": "^5.2.1", "xterm-addon-fit": "^0.8.0" }, "devDependencies": { "@babel/plugin-syntax-dynamic-import": "7.8.3", "@testing-library/react": "12.1.5", "@total-typescript/ts-reset": "^0.5.0", "@types/canvas-confetti": "^1.6.0", "@types/gatsbyjs__reach-router": "1.3.0", "@types/jest": "29.5.12", "@types/js-yaml": "4.0.5", "@types/loadable__component": "5.13.8", "@types/lodash-es": "^4.17.6", "@types/node-fetch": "2", "@types/prismjs": "^1.26.0", "@types/react": "17.0.83", "@types/react-dom": "17.0.19", "@types/react-gtm-module": "2.0.3", "@types/react-helmet": "6.1.11", "@types/react-redux": "7.1.33", "@types/react-responsive": "8.0.8", "@types/react-scrollable-anchor": "0.6.4", "@types/react-spinkit": "3.0.10", "@types/react-test-renderer": "16.9.12", "@types/react-transition-group": "4.4.10", "@types/redux-actions": "2.6.5", "@types/sanitize-html": "^2.8.0", "@types/store": "^2.0.2", "@types/validator": "^13.7.12", "autoprefixer": "10.4.17", "babel-plugin-macros": "3.1.0", "core-js": "2.6.12", "dotenv": "16.4.5", "gatsby-plugin-webpack-bundle-analyser-v2": "1.1.32", "i18next-fs-backend": "2.6.0", "jest-json-schema-extended": "1.0.1", "joi": "17.12.2", "js-yaml": "4.1.0", "monaco-editor-webpack-plugin": "7.0.1", "node-fetch": "2.7.0", "react-test-renderer": "17.0.2", "redux-saga-test-plan": "4.0.6", "serve": "13.0.4", "webpack": "5.90.3" } }