mirror of
https://github.com/freeCodeCamp/freeCodeCamp.git
synced 2026-01-01 00:03:50 -05:00
* chore: bump prettier and lint-staged * refactor: drop unused eslint disables Currently we need to fetch trending.json before we can build the site (i.e. before Cypress tests can run), so we can assume the file exists. In case the download fails in CI, linting will error first. I've added a comment to save some debugging time. Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
197 lines
8.2 KiB
JSON
197 lines
8.2 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": {
|
|
"audit-challenges": "npm run create:config && ts-node tools/challenge-auditor/index.ts",
|
|
"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": "npx --yes rimraf ./config/curriculum.json",
|
|
"clean:packages": "npx --yes rimraf ./**/node_modules",
|
|
"clean:server": "npx --yes rimraf ./api-server/lib",
|
|
"create:config": "tsc -p config && npm run ensure-env && npm run download-trending",
|
|
"create:utils": "tsc -p utils",
|
|
"precypress": "node ./cypress-install.js",
|
|
"cypress": "cypress",
|
|
"cypress:dev:run": "npm run cypress -- run --spec cypress/e2e/default/**/*.js",
|
|
"cypress:dev:watch": "npm run cypress -- open",
|
|
"cypress:prd:run": "npm run cypress -- run --spec cypress/e2e/default/**/*.js",
|
|
"cypress:prd:watch": "npm run cypress -- open",
|
|
"cypress:install": "cypress install && echo 'for use with ./cypress-install.js'",
|
|
"cypress:install-build-tools": "sh ./cypress-install.sh",
|
|
"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 3400",
|
|
"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",
|
|
"download-trending": "ts-node ./tools/scripts/build/download-trending.ts",
|
|
"ensure-env": "cross-env DEBUG=fcc:* ts-node ./tools/scripts/build/ensure-env.ts",
|
|
"format": "run-s format:eslint format:prettier",
|
|
"format:curriculum": "run-s format:curriculum:eslint format:curriculum:prettier",
|
|
"format:curriculum:eslint": "eslint ./curriculum --fix",
|
|
"format:curriculum:prettier": "prettier --write ./curriculum",
|
|
"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",
|
|
"knip": "npx -y knip -c config/knip/knip.json --dir client --include files",
|
|
"knip:client": "npx -y knip -c config/knip/knip.json --dir client",
|
|
"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-config": "jest config",
|
|
"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",
|
|
"postinstall": "cypress cache prune",
|
|
"prepare": "husky install"
|
|
},
|
|
"dependencies": {
|
|
"dotenv": "16.0.3",
|
|
"invariant": "2.2.4"
|
|
},
|
|
"devDependencies": {
|
|
"@babel/eslint-parser": "7.19.1",
|
|
"@babel/plugin-proposal-function-bind": "7.18.9",
|
|
"@babel/preset-env": "7.20.2",
|
|
"@babel/preset-react": "7.18.6",
|
|
"@babel/preset-typescript": "7.18.6",
|
|
"@testing-library/cypress": "8.0.7",
|
|
"@testing-library/dom": "8.19.0",
|
|
"@testing-library/jest-dom": "5.16.5",
|
|
"@testing-library/user-event": "13.5.0",
|
|
"@types/chai": "4.3.4",
|
|
"@types/enzyme": "3.10.12",
|
|
"@types/enzyme-adapter-react-16": "1.0.6",
|
|
"@types/eslint": "7.29.0",
|
|
"@types/estree": "0.0.52",
|
|
"@types/faker": "5.5.9",
|
|
"@types/inquirer": "8.2.5",
|
|
"@types/jest": "27.5.2",
|
|
"@types/jquery": "3.5.14",
|
|
"@types/loadable__component": "5.13.4",
|
|
"@types/lodash-es": "4.17.6",
|
|
"@types/node": "16.18.4",
|
|
"@types/prismjs": "1.26.0",
|
|
"@types/reach__router": "1.3.11",
|
|
"@types/react": "17.0.52",
|
|
"@types/react-dom": "17.0.18",
|
|
"@types/react-helmet": "6.1.6",
|
|
"@types/react-instantsearch-core": "6.26.2",
|
|
"@types/react-instantsearch-dom": "6.12.3",
|
|
"@types/react-monaco-editor": "0.16.0",
|
|
"@types/react-redux": "7.1.24",
|
|
"@types/react-responsive": "8.0.5",
|
|
"@types/react-spinkit": "3.0.7",
|
|
"@types/react-test-renderer": "17.0.2",
|
|
"@types/react-transition-group": "4.4.5",
|
|
"@types/redux-actions": "2.6.2",
|
|
"@types/sanitize-html": "2.6.2",
|
|
"@types/store": "2.0.2",
|
|
"@types/validator": "13.7.10",
|
|
"@typescript-eslint/eslint-plugin": "5.45.0",
|
|
"@typescript-eslint/parser": "5.45.0",
|
|
"babel-eslint": "10.1.0",
|
|
"babel-plugin-transform-imports": "2.0.0",
|
|
"cross-env": "7.0.3",
|
|
"cypress": "10.11.0",
|
|
"cypress-plugin-stripe-elements": "1.0.2",
|
|
"cypress-plugin-tab": "1.0.5",
|
|
"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.6.1",
|
|
"eslint-plugin-no-only-tests": "2.6.0",
|
|
"eslint-plugin-prefer-object-spread": "1.2.1",
|
|
"eslint-plugin-react": "7.31.11",
|
|
"eslint-plugin-react-hooks": "4.6.0",
|
|
"eslint-plugin-testing-library": "4.12.4",
|
|
"execa": "5.1.1",
|
|
"faker": "5.5.3",
|
|
"husky": "8.0.2",
|
|
"jest": "27.5.1",
|
|
"js-yaml": "3.14.1",
|
|
"lint-staged": "^13.1.0",
|
|
"lodash": "4.17.21",
|
|
"markdownlint": "0.26.2",
|
|
"mock-fs": "5.2.0",
|
|
"npm-run-all": "4.1.5",
|
|
"ora": "5.4.1",
|
|
"prettier": "^2.8.0",
|
|
"prismjs": "1.29.0",
|
|
"process": "0.11.10",
|
|
"rimraf": "3.0.2",
|
|
"start-server-and-test": "1.14.0",
|
|
"ts-node": "10.9.1",
|
|
"typescript": "4.9.3",
|
|
"webpack-bundle-analyzer": "4.7.0"
|
|
}
|
|
}
|