178 lines
6.9 KiB
JSON
178 lines
6.9 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-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 create:config",
|
|
"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 -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",
|
|
"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 create:config",
|
|
"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",
|
|
"lint": "npm-run-all create:config -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",
|
|
"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:config -p develop:server serve:client",
|
|
"start-ci": "npm-run-all create:config -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:config 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.17.0",
|
|
"@babel/plugin-proposal-function-bind": "7.16.7",
|
|
"@babel/preset-env": "7.16.11",
|
|
"@babel/preset-react": "7.16.7",
|
|
"@babel/preset-typescript": "7.16.7",
|
|
"@testing-library/cypress": "7.0.7",
|
|
"@testing-library/dom": "8.11.3",
|
|
"@testing-library/jest-dom": "5.16.2",
|
|
"@testing-library/user-event": "13.5.0",
|
|
"@types/chai": "4.3.0",
|
|
"@types/enzyme": "3.10.11",
|
|
"@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.0",
|
|
"@types/jest": "27.4.1",
|
|
"@types/jquery": "3.5.14",
|
|
"@types/loadable__component": "5.13.4",
|
|
"@types/lodash-es": "4.17.6",
|
|
"@types/node": "16.11.26",
|
|
"@types/prismjs": "1.26.0",
|
|
"@types/psl": "1.1.0",
|
|
"@types/reach__router": "1.3.10",
|
|
"@types/react": "17.0.39",
|
|
"@types/react-dom": "17.0.13",
|
|
"@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.20",
|
|
"@types/react-responsive": "8.0.4",
|
|
"@types/react-spinkit": "3.0.7",
|
|
"@types/react-test-renderer": "17.0.1",
|
|
"@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.1",
|
|
"@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": "7.7.0",
|
|
"docsify-cli": "4.4.3",
|
|
"eslint": "7.32.0",
|
|
"eslint-config-prettier": "8.5.0",
|
|
"eslint-plugin-import": "2.25.4",
|
|
"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.3",
|
|
"eslint-plugin-react-hooks": "4.3.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.3.5",
|
|
"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.5.1",
|
|
"prismjs": "1.27.0",
|
|
"process": "0.11.10",
|
|
"rimraf": "3.0.2",
|
|
"start-server-and-test": "1.14.0",
|
|
"ts-node": "10.7.0",
|
|
"typescript": "4.6.2",
|
|
"webpack-bundle-analyzer": "4.5.0"
|
|
}
|
|
}
|