mirror of
https://github.com/freeCodeCamp/freeCodeCamp.git
synced 2026-01-02 21:03:43 -05:00
Code like `var xs = []; while(true){ xs.push(1) }` can quickly run the
browser out of memory causing it to crash. These changes stop user loops
from running indefinitely so that common mistakes will no longer cause
the browser to crash.
Also, the user is informed if a long running loop is detected (js and
jsx challenges) during preview or testing. Before this there was no
protection for js challenges and no information was given to the
user if they had created such a loop.
Co-Authored-By: Tom <20648924+moT01@users.noreply.github.com>
Co-Authored-By: mrugesh <1884376+raisedadead@users.noreply.github.com>
Co-Authored-By: Randell Dawson <5313213+RandellDawson@users.noreply.github.com>
114 lines
4.0 KiB
JSON
114 lines
4.0 KiB
JSON
{
|
|
"name": "@freecodecamp/client",
|
|
"private": true,
|
|
"description": "The freeCodeCamp web client",
|
|
"version": "1.0.0",
|
|
"author": "freeCodeCamp <team@freecodecamp.org>",
|
|
"dependencies": {
|
|
"@babel/plugin-proposal-export-default-from": "^7.5.2",
|
|
"@babel/plugin-proposal-function-bind": "^7.2.0",
|
|
"@babel/standalone": "^7.6.4",
|
|
"@fortawesome/fontawesome": "^1.1.8",
|
|
"@fortawesome/fontawesome-svg-core": "^1.2.25",
|
|
"@fortawesome/free-brands-svg-icons": "^5.11.2",
|
|
"@fortawesome/free-regular-svg-icons": "^5.11.2",
|
|
"@fortawesome/free-solid-svg-icons": "^5.11.2",
|
|
"@fortawesome/react-fontawesome": "^0.1.4",
|
|
"@freecodecamp/loop-protect": "^2.2.1",
|
|
"@freecodecamp/react-bootstrap": "^0.32.3",
|
|
"@reach/router": "^1.2.1",
|
|
"algoliasearch": "^3.35.1",
|
|
"axios": "^0.19.0",
|
|
"bezier-easing": "^2.1.0",
|
|
"browser-cookies": "^1.2.0",
|
|
"chai": "^4.2.0",
|
|
"date-fns": "^1.30.1",
|
|
"entities": "^1.1.2",
|
|
"enzyme": "^3.10.0",
|
|
"enzyme-adapter-react-16": "^1.15.1",
|
|
"final-form": "^4.18.5",
|
|
"gatsby": "^2.16.4",
|
|
"gatsby-cli": "^2.8.2",
|
|
"gatsby-link": "^2.2.22",
|
|
"gatsby-plugin-advanced-sitemap": "^1.4.5",
|
|
"gatsby-plugin-create-client-paths": "^2.1.15",
|
|
"gatsby-plugin-manifest": "^2.2.23",
|
|
"gatsby-plugin-postcss": "^2.1.13",
|
|
"gatsby-plugin-react-helmet": "^3.1.13",
|
|
"gatsby-plugin-remove-serviceworker": "^1.0.0",
|
|
"gatsby-remark-prismjs": "^3.3.20",
|
|
"gatsby-source-filesystem": "^2.1.33",
|
|
"gatsby-transformer-remark": "^2.6.30",
|
|
"jquery": "^3.4.1",
|
|
"lodash": "^4.17.15",
|
|
"monaco-editor": "^0.18.1",
|
|
"monaco-editor-webpack-plugin": "^1.7.0",
|
|
"nanoid": "^1.2.2",
|
|
"prismjs": "^1.17.1",
|
|
"query-string": "^6.8.3",
|
|
"react": "^16.10.2",
|
|
"react-calendar-heatmap": "^1.8.1",
|
|
"react-dom": "^16.10.2",
|
|
"react-final-form": "^6.3.0",
|
|
"react-ga": "^2.7.0",
|
|
"react-helmet": "^5.2.1",
|
|
"react-hotkeys": "^2.0.0",
|
|
"react-identicons": "^1.1.7",
|
|
"react-instantsearch-dom": "^6.0.0-beta.0",
|
|
"react-monaco-editor": "^0.31.0",
|
|
"react-redux": "^5.0.7",
|
|
"react-reflex": "^3.0.18",
|
|
"react-responsive": "^6.1.1",
|
|
"react-spinkit": "^3.0.0",
|
|
"react-stripe-elements": "^2.0.3",
|
|
"react-tooltip": "^3.11.1",
|
|
"react-transition-group": "^4.3.0",
|
|
"react-youtube": "^7.9.0",
|
|
"redux": "^4.0.4",
|
|
"redux-actions": "^2.6.5",
|
|
"redux-devtools-extension": "^2.13.8",
|
|
"redux-observable": "^1.2.0",
|
|
"redux-saga": "^1.1.1",
|
|
"reselect": "^3.0.1",
|
|
"rxjs": "^6.5.3",
|
|
"sanitize-html": "^1.20.0",
|
|
"sass.js": "^0.11.0",
|
|
"store": "^2.0.12",
|
|
"validator": "^10.11.0"
|
|
},
|
|
"keywords": [
|
|
"gatsby"
|
|
],
|
|
"license": "MIT",
|
|
"scripts": {
|
|
"clean": "gatsby clean",
|
|
"prebuild": "npm run build:workers && node ../tools/scripts/build/ensure-env.js",
|
|
"build": "node --max_old_space_size=7168 node_modules/gatsby-cli build",
|
|
"build:workers": "node --max_old_space_size=7168 node_modules/webpack-cli --env.production --config ./webpack-workers.js --progress",
|
|
"predevelop": "npm run prebuild",
|
|
"develop": "node --inspect=0.0.0.0:9228 node_modules/gatsby-cli develop",
|
|
"format:gatsby": "prettier-eslint --write --trailing-comma none --single-quote './gatsby-*.js'",
|
|
"format:src": "prettier-eslint --write --trailing-comma none --single-quote './src/**/*.js'",
|
|
"format:utils": "prettier-eslint --write --trailing-comma none --single-quote './utils/**/*.js'",
|
|
"format": "npm run format:gatsby && npm run format:src && npm run format:utils",
|
|
"serve": "gatsby serve",
|
|
"test": "jest"
|
|
},
|
|
"devDependencies": {
|
|
"@testing-library/jest-dom": "^4.1.2",
|
|
"@testing-library/react": "^9.3.2",
|
|
"autoprefixer": "^9.6.5",
|
|
"babel-plugin-transform-imports": "^1.5.1",
|
|
"chokidar": "^2.1.5",
|
|
"copy-webpack-plugin": "^4.6.0",
|
|
"jest": "^24.9.0",
|
|
"jest-dom": "^3.5.0",
|
|
"react-test-renderer": "^16.10.2",
|
|
"webpack-cli": "^3.3.9"
|
|
},
|
|
"repository": {
|
|
"type": "git",
|
|
"url": "https://github.com/gatsbyjs/gatsby-starter-default"
|
|
}
|
|
}
|