{ "name": "@freecodecamp/freecodecamp", "private": true, "version": "0.0.1", "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'", "build": "npm-run-all ensure-env -p build:*", "build:client": "cd ./client && npm run build", "build:server": "cd ./api-server && npm run build", "bootstrap": "lerna bootstrap --ci", "clean": "npm-run-all clean:client clean:server clean:packages", "clean-and-develop": "npm run clean && npm ci && npm run develop", "clean:root-deps": "shx rm -rf node_modules", "clean:packages": "lerna clean -y", "clean:server": "shx rm -rf ./api-server/lib", "clean:client": "cd ./client && npm run clean", "clean:gatsby-site": "npm run clean:client", "precypress": "node ./cypress-install.js", "cypress": "cypress", "cypress:install": "cypress install && echo 'for use with ./cypress-install.js'", "cypress:dev:run": "npm run cypress -- run --config baseUrl=http://localhost:8000", "cypress:dev:watch": "npm run cypress -- open --config baseUrl=http://localhost:8000", "cypress:prd:run": "npm run cypress -- run --config baseUrl=http://localhost:8000", "cypress:prd:watch": "npm run cypress -- open --config baseUrl=http://localhost:8000", "develop": "npm-run-all ensure-env -p develop:*", "develop:client": "cd ./client && npm run develop", "develop:server": "cd ./api-server && npm run develop", "docker:run-once": "npm run docker:init && npm run docker:install && npm run docker:seed", "docker:clean": "docker-compose run -u root --rm freecodecamp bash -c \"rm -rf **/node_modules/* **/node_modules/..?* **/node_modules/.[!.]* node_modules/* node_modules/..?* node_modules/.[!.]*\"", "docker:develop": "docker-compose up client api-server", "docker:init": "docker-compose run -u root --rm freecodecamp bash change_volumes_owner.sh && docker-compose run -u root --rm client bash -c \"cd .. && bash change_volumes_owner.sh\" && docker-compose run -u root --rm api-server bash -c \"cd .. && bash change_volumes_owner.sh\"", "docker:install": "docker-compose run --rm freecodecamp npm ci", "docker:seed": "docker-compose run --rm freecodecamp npm run seed", "docker:test": "docker-compose -f docker-compose.tests.yml run --rm tests bash", "docker:test:init": "docker-compose -f docker-compose.tests.yml run -u root --rm tests bash change_volumes_owner.sh", "docs:serve": "docsify serve ./docs", "ensure-env": "cross-env DEBUG=fcc:* node ./tools/scripts/build/ensure-env.js", "e2e:dev:watch": "start-test develop ':3000/status/ping|8000' cypress:dev:watch", "e2e:dev:run": "start-test develop ':3000/status/ping|8000' cypress:dev:run", "e2e:prd:watch": "npm run build && start-test ':3000/status/ping|8000' cypress:dev:watch", "e2e:prd:run": "npm run build && start-test ':3000/status/ping|8000' cypress:dev:run", "format": "npm-run-all -p format:*", "format:js": "npm run lint:js -- --fix", "format:css": "npm run prettier -- --write", "hooks:install": "node node_modules/husky/husky.js install", "hooks:uninstall": "node node_modules/husky/husky.js uninstall", "lint": "npm-run-all -p lint:*", "lint:challenges": "cd ./curriculum && npm run lint", "lint:js": "eslint .", "lint:css": "npm run prettier -- --check", "prettier": "prettier \"**/*.css\"", "postinstall": "npm run bootstrap", "seed": "npm-run-all -p seed:*", "seed:auth-user": "cross-env DEBUG=fcc:* node ./tools/scripts/seed/seedAuthUser", "seed:path-migration": "cross-env DEBUG=fcc:* node ./tools/scripts/seed/create-path-migration", "serve:client": "cd ./client && npm run serve", "start": "npm-run-all ensure-env -p develop:server serve:client", "test": "npm-run-all -p test:*", "test:client": "cd ./client && npm test && cd ../", "test:curriculum": "cd ./curriculum && npm test && cd ../", "test:curriculum-js": "jest --rootDir ./curriculum", "test:server": "cd ./api-server && npm test && cd ../", "test:tools": "jest ./tools", "test:utils": "jest --rootDir ./utils" }, "devDependencies": { "@freecodecamp/eslint-config": "^2.0.2", "babel-eslint": "^10.1.0", "cross-env": "^7.0.2", "cypress": "^4.11.0", "debug": "^4.1.1", "docsify-cli": "^4.4.1", "dotenv": "^6.2.0", "eslint": "^5.16.0", "eslint-config-prettier": "^4.3.0", "eslint-plugin-babel": "^5.3.0", "eslint-plugin-import": "^2.20.2", "eslint-plugin-jsx-a11y": "^6.2.3", "eslint-plugin-prefer-object-spread": "^1.2.1", "eslint-plugin-prettier": "^3.1.3", "eslint-plugin-react": "^7.20.0", "eslint-plugin-react-hooks": "^2.0.1", "execa": "^4.0.2", "faker": "^4.1.0", "gray-matter": "^4.0.2", "husky": "^4.2.5", "jest": "^24.9.0", "js-yaml": "^3.14.0", "lerna": "^3.22.0", "lint-staged": "^8.2.1", "lodash": "^4.17.19", "markdownlint": "^0.15.0", "npm-run-all": "^4.1.5", "ora": "^3.4.0", "prettier": "^1.18.2", "prismjs": "^1.20.0", "readdirp-walk": "^1.7.0", "shortid": "^2.2.15", "shx": "^0.3.2", "sinon": "^7.4.1", "sinon-express-mock": "^2.2.1", "slugg": "^1.2.1", "start-server-and-test": "^1.11.0" }, "lint-staged": { "linters": { "*.js": [ "eslint --fix", "git add" ], "./curriculum/challenges/**/*.md": "node ./tools/scripts/lint/index.js", "*.css": [ "prettier --write", "git add" ] } }, "husky": { "hooks": { "pre-commit": "lint-staged" } }, "dependencies": {} }