{ "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:gatsby-site 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:gatsby-site": "cd ./client && npm run clean", "precypress": "node cypress-install.js", "cypress": "cypress", "cypress:install": "cypress install && echo 'for use with cypress-install.js'", "cypress:run": "npm run cypress -- run --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": "./cypress/run-e2e.sh", "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:challenges": "cross-env DEBUG=fcc:* node ./tools/scripts/seed/seedChallenges", "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:client:e2e": "cd ./client && npm run e2e:ci && cd ../", "test:curriculum": "cd ./curriculum && npm test && cd ../", "test:guide-formatting": "node ./tools/scripts/ci/ensure-guide-formatting.js", "test:lint": "echo 'Warning: TODO - Define Linting tests.'", "test:search-indexing": "jest ./search-indexing", "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": "^5.2.0", "cypress": "^3.8.3", "debug": "^4.1.1", "docsify-cli": "^4.4.0", "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.19.0", "eslint-plugin-react-hooks": "^2.0.1", "execa": "^4.0.1", "faker": "^4.1.0", "gray-matter": "^4.0.2", "gulp": "^4.0.2", "husky": "^4.2.5", "jest": "^24.9.0", "js-yaml": "^3.13.0", "lerna": "^3.20.2", "lint-staged": "^8.2.1", "lodash": "^4.17.15", "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" }, "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" } } }