freeCodeCamp/package.json

185 lines
7.3 KiB
JSON

{
"name": "@freecodecamp/freecodecamp",
"version": "0.0.1",
"description": "The freeCodeCamp.org open-source codebase and curriculum",
"license": "BSD-3-Clause",
"private": true,
"engines": {
"node": ">=16",
"npm": ">=8"
},
"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 <team@freecodecamp.org>",
"main": "none",
"workspaces": [
"api-server",
"client",
"client/plugins/fcc-source-challenges",
"client/plugins/gatsby-remark-node-identity",
"curriculum",
"tools/challenge-editor/api",
"tools/challenge-editor/client",
"tools/challenge-helper-scripts",
"tools/challenge-parser",
"tools/crowdin",
"tools/scripts/build",
"tools/scripts/seed",
"tools/ui-components"
],
"scripts": {
"analyze-bundle": "webpack-bundle-analyzer",
"prebuild": "npm-run-all create:*",
"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",
"challenge-editor": "npm-run-all -p challenge-editor:*",
"challenge-editor:client": "cd ./tools/challenge-editor/client && npm start",
"challenge-editor:server": "cd ./tools/challenge-editor/api && npm start",
"clean": "npm-run-all -p clean:*",
"clean-and-develop": "npm run clean && npm ci && npm run develop",
"clean:client": "cd ./client && npm run clean",
"clean:curriculum": "rimraf ./config/curriculum.json",
"clean:packages": "rimraf ./**/node_modules",
"clean:server": "rimraf ./api-server/lib",
"create:config": "tsc -p config && npm run ensure-env",
"create:utils": "tsc -p utils",
"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-all create:*",
"develop": "npm-run-all build:curriculum -p develop:*",
"develop:client": "npm run build:curriculum && cd ./client && npm run develop",
"develop:server": "npm run predevelop && 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:* ts-node ./tools/scripts/build/ensure-env.ts",
"format": "run-s format:eslint format:prettier",
"format:eslint": "eslint . --fix",
"format:prettier": "prettier --write .",
"hooks:install": "node node_modules/husky/husky.js install",
"hooks:uninstall": "node node_modules/husky/husky.js uninstall",
"prelint": "npm run -w=client predevelop",
"lint": "npm-run-all create:* -p lint:*",
"lint:challenges": "cd ./curriculum && npm run lint",
"lint:js": "eslint --max-warnings 0 .",
"lint:ts": "tsc && tsc -p config && tsc -p tools/ui-components && tsc -p utils",
"lint:prettier": "prettier --list-different .",
"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 create:* -p develop:server serve:client",
"start-ci": "npm-run-all create:* -p start:server serve:client-ci",
"start:server": "cd ./api-server && npm start",
"storybook": "cd ./tools/ui-components && npm run storybook",
"test": "run-s create:* 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"
},
"dependencies": {
"dotenv": "10.0.0",
"invariant": "2.2.4"
},
"devDependencies": {
"@babel/eslint-parser": "7.18.2",
"@babel/plugin-proposal-function-bind": "7.16.7",
"@babel/preset-env": "7.18.2",
"@babel/preset-react": "7.17.12",
"@babel/preset-typescript": "7.17.12",
"@testing-library/cypress": "^8.0.2",
"@testing-library/dom": "8.13.0",
"@testing-library/jest-dom": "5.16.4",
"@testing-library/user-event": "13.5.0",
"@types/chai": "4.3.1",
"@types/enzyme": "3.10.12",
"@types/enzyme-adapter-react-16": "1.0.6",
"@types/eslint": "7.29.0",
"@types/estree": "0.0.51",
"@types/faker": "5.5.9",
"@types/inquirer": "8.2.1",
"@types/jest": "27.5.1",
"@types/jquery": "3.5.14",
"@types/loadable__component": "5.13.4",
"@types/lodash-es": "4.17.6",
"@types/node": "16.11.36",
"@types/prismjs": "1.26.0",
"@types/psl": "1.1.0",
"@types/reach__router": "1.3.10",
"@types/react": "17.0.45",
"@types/react-dom": "17.0.17",
"@types/react-helmet": "6.1.5",
"@types/react-instantsearch-dom": "6.12.1",
"@types/react-monaco-editor": "0.16.0",
"@types/react-redux": "7.1.24",
"@types/react-responsive": "8.0.4",
"@types/react-spinkit": "3.0.7",
"@types/react-test-renderer": "17.0.2",
"@types/react-transition-group": "4.4.4",
"@types/redux-actions": "2.6.2",
"@types/sanitize-html": "2.6.2",
"@types/store": "2.0.2",
"@types/validator": "13.7.2",
"@typescript-eslint/eslint-plugin": "5.13.0",
"@typescript-eslint/parser": "5.13.0",
"babel-eslint": "10.1.0",
"babel-plugin-transform-imports": "2.0.0",
"cross-env": "7.0.3",
"cypress": "9.7.0",
"docsify-cli": "4.4.4",
"eslint": "7.32.0",
"eslint-config-prettier": "8.5.0",
"eslint-plugin-import": "2.26.0",
"eslint-plugin-jest-dom": "3.9.4",
"eslint-plugin-jsx-a11y": "6.5.1",
"eslint-plugin-prefer-object-spread": "1.2.1",
"eslint-plugin-react": "7.29.4",
"eslint-plugin-react-hooks": "4.5.0",
"eslint-plugin-testing-library": "4.12.4",
"execa": "5.1.1",
"faker": "5.5.3",
"husky": "7.0.4",
"jest": "27.5.1",
"js-yaml": "3.14.1",
"lint-staged": "12.4.1",
"lodash": "4.17.21",
"markdownlint": "0.25.1",
"mock-fs": "5.1.2",
"npm-run-all": "4.1.5",
"ora": "5.4.1",
"prettier": "2.6.2",
"prismjs": "1.28.0",
"process": "0.11.10",
"rimraf": "3.0.2",
"start-server-and-test": "1.14.0",
"ts-node": "10.8.0",
"typescript": "4.6.4",
"webpack-bundle-analyzer": "4.5.0"
}
}