2013-11-13 12:32:22 -05:00
|
|
|
{
|
2014-12-26 00:03:40 -08:00
|
|
|
"name": "freecodecamp",
|
|
|
|
"version": "0.1.0",
|
2016-11-13 10:18:40 +01:00
|
|
|
"repository": "freecodecamp/freecodecamp",
|
2014-02-10 13:43:36 -05:00
|
|
|
"scripts": {
|
2016-10-12 16:19:15 +02:00
|
|
|
"only-once": "npm run create-rev && echo '/****/' && echo 'Seeding Database' && echo '/****/' && node seed && echo '/****/' && echo 'Seeding Completed' && echo '/****/'",
|
2016-07-29 00:02:13 -07:00
|
|
|
"create-rev": "node -e \"var fs = require('fs'); fs.access('./server/rev-manifest.json', function(err) { if (err) { console.log('\\n\\ncreating manifest\\n\\n'); return fs.writeFileSync('server/rev-manifest.json', '{}'); } console.log('\\n\\nrev-manifest present\\n\\n'); });\"",
|
2015-11-22 20:26:44 -08:00
|
|
|
"build": "NODE_ENV=production gulp build -p",
|
2015-06-29 12:01:56 -07:00
|
|
|
"start": "babel-node server/server.js",
|
2016-11-06 21:45:09 -05:00
|
|
|
"prestart-production": "gulp build -p",
|
2015-07-24 22:22:40 -07:00
|
|
|
"start-production": "node pm2Start",
|
2015-11-03 22:06:43 -08:00
|
|
|
"lint": "npm run lint-js && npm run lint-json",
|
2016-10-27 22:58:59 +02:00
|
|
|
"lint-challenges": "jsonlint-cli seed/challenges/**/*.json",
|
|
|
|
"lint-server": "jsonlint-cli server/*.json",
|
|
|
|
"lint-resources": "jsonlint-cli server/resources/*.json",
|
|
|
|
"lint-utils": "jsonlint-cli server/utils/*.json",
|
2016-07-29 00:02:13 -07:00
|
|
|
"prelint-js": "npm run create-rev",
|
2015-11-04 15:27:24 -08:00
|
|
|
"lint-js": "eslint --ext=.js,.jsx server/ common/ config/ client/",
|
2016-01-26 19:54:33 +04:00
|
|
|
"lint-json": "npm run lint-server && npm run lint-challenges && npm run lint-resources && npm run lint-utils",
|
2016-07-29 00:09:05 -07:00
|
|
|
"pretest": "npm run create-rev && npm run lint",
|
2016-07-09 00:55:06 +00:00
|
|
|
"snyk-protect": "snyk protect",
|
2016-06-30 15:50:58 -07:00
|
|
|
"prepublish": "npm run snyk-protect",
|
2016-07-13 13:37:10 -07:00
|
|
|
"test-challenges": "babel-node seed/test-challenges.js | tap-spec",
|
2016-09-23 15:38:49 -07:00
|
|
|
"test-js": "npm run test-js-client && npm run test-js-common && npm run test-js-server",
|
2016-10-27 23:09:41 +02:00
|
|
|
"test-js-client": "tape -r babel-register \"client/**/*.test.js\" | tap-spec",
|
|
|
|
"test-js-common": "tape -r babel-register \"common/**/*.test.js\" | tap-spec",
|
|
|
|
"test-js-server": "tape -r babel-register \"server/**/*.test.js\" | tap-spec",
|
2016-06-30 15:50:58 -07:00
|
|
|
"test": "npm run test-js && npm run test-challenges",
|
|
|
|
"cover": "babel-node ./node_modules/.bin/babel-istanbul cover tape common/**/*.test.js",
|
|
|
|
"coveralls": "npm run cover && istanbul-coveralls"
|
2014-02-10 13:43:36 -05:00
|
|
|
},
|
2015-07-28 19:49:12 -07:00
|
|
|
"license": "(BSD-3-Clause AND CC-BY-SA-4.0)",
|
2013-11-13 18:09:22 -05:00
|
|
|
"dependencies": {
|
2015-11-09 23:05:43 -08:00
|
|
|
"accepts": "^1.3.0",
|
2016-11-06 01:12:58 +01:00
|
|
|
"babel-core": "^6.18.1",
|
2016-08-18 18:23:44 -07:00
|
|
|
"babel-preset-es2015": "^6.3.13",
|
|
|
|
"babel-preset-react": "^6.3.13",
|
2016-01-30 00:13:41 -08:00
|
|
|
"babel-register": "^6.3.0",
|
2015-07-23 13:40:08 -07:00
|
|
|
"body-parser": "^1.13.2",
|
2016-11-06 21:45:09 -05:00
|
|
|
"bootstrap": "~3.3.7",
|
|
|
|
"cal-heatmap": "~3.5.2",
|
|
|
|
"chai": "~3.4.1",
|
2015-06-29 09:50:25 -07:00
|
|
|
"classnames": "^2.1.2",
|
2016-11-06 21:45:09 -05:00
|
|
|
"codemirror": "~5.15.2",
|
2015-11-09 23:05:43 -08:00
|
|
|
"compression": "^1.6.0",
|
2016-07-28 04:37:10 -04:00
|
|
|
"connect-mongo": "^1.3.2",
|
2015-11-09 23:05:43 -08:00
|
|
|
"cookie-parser": "^1.4.0",
|
2016-05-02 17:22:56 -07:00
|
|
|
"csurf": "^1.8.3",
|
2016-11-06 21:45:09 -05:00
|
|
|
"d3": "~3.5.17",
|
2015-11-09 23:05:43 -08:00
|
|
|
"debug": "^2.2.0",
|
|
|
|
"dedent": "~0.6.0",
|
2017-01-07 11:16:01 -08:00
|
|
|
"dotenv": "^4.0.0",
|
2015-12-01 14:50:45 -08:00
|
|
|
"emmet-codemirror": "^1.2.5",
|
2015-11-09 23:05:43 -08:00
|
|
|
"errorhandler": "^1.4.2",
|
|
|
|
"es6-map": "~0.1.1",
|
|
|
|
"express": "^4.13.3",
|
2015-05-04 17:37:29 -04:00
|
|
|
"express-flash": "~0.0.2",
|
2015-11-09 23:05:43 -08:00
|
|
|
"express-session": "^1.12.1",
|
2015-06-29 09:50:25 -07:00
|
|
|
"express-state": "^1.2.0",
|
2016-11-24 23:49:25 +01:00
|
|
|
"express-validator": "^3.0.0",
|
2015-11-09 23:05:43 -08:00
|
|
|
"fetchr": "~0.5.12",
|
2016-11-06 21:45:09 -05:00
|
|
|
"font-awesome": "~4.5.0",
|
2016-11-05 17:22:23 -07:00
|
|
|
"frameguard": "^3.0.0",
|
2017-01-17 16:27:08 -08:00
|
|
|
"googleapis": "16.1.0",
|
2016-11-22 23:52:40 +00:00
|
|
|
"helmet": "^3.1.0",
|
|
|
|
"helmet-csp": "^2.1.0",
|
2016-11-05 23:43:07 +00:00
|
|
|
"history": "^3.2.1",
|
2016-05-28 01:50:00 -07:00
|
|
|
"invariant": "^2.2.1",
|
2015-11-09 23:05:43 -08:00
|
|
|
"jade": "^1.11.0",
|
2016-11-06 21:45:09 -05:00
|
|
|
"jquery": "~3.1.1",
|
|
|
|
"jshint": "~2.9.4",
|
2016-10-27 22:58:59 +02:00
|
|
|
"jsonlint-cli": "^1.0.1",
|
2016-11-06 21:45:09 -05:00
|
|
|
"lightbox2": "~2.8.2",
|
2016-01-29 08:41:45 -08:00
|
|
|
"lodash": "^4.1.0",
|
2015-10-11 15:57:49 -07:00
|
|
|
"loopback": "^2.22.0",
|
|
|
|
"loopback-boot": "^2.13.0",
|
2016-01-12 03:27:35 -08:00
|
|
|
"loopback-component-passport": "^2.0.0",
|
2016-11-24 23:57:42 +01:00
|
|
|
"loopback-connector-mongodb": "1.17.0",
|
2015-11-09 23:05:43 -08:00
|
|
|
"method-override": "^2.3.0",
|
|
|
|
"moment": "^2.10.2",
|
2016-01-19 21:11:20 -05:00
|
|
|
"moment-timezone": "^0.5.0",
|
2015-06-04 12:03:53 -07:00
|
|
|
"mongodb": "^2.0.33",
|
2015-11-09 23:05:43 -08:00
|
|
|
"morgan": "^1.6.1",
|
2016-11-06 21:45:09 -05:00
|
|
|
"mousetrap": "~1.6.0",
|
2016-09-20 18:24:43 +01:00
|
|
|
"node-emoji": "^1.4.1",
|
2016-02-01 05:49:50 -08:00
|
|
|
"nodemailer": "^2.1.0",
|
2016-04-14 21:02:53 -07:00
|
|
|
"nodemailer-ses-transport": "^1.3.0",
|
2015-10-30 14:00:07 -07:00
|
|
|
"normalize-url": "^1.3.1",
|
2016-12-19 14:17:52 -08:00
|
|
|
"normalizr": "2.2.1",
|
2015-11-02 14:17:50 -08:00
|
|
|
"object.assign": "^4.0.3",
|
2016-02-11 22:33:54 -08:00
|
|
|
"passport": "^0.2.1",
|
2015-06-04 12:03:53 -07:00
|
|
|
"passport-facebook": "^2.0.0",
|
2015-11-02 14:17:50 -08:00
|
|
|
"passport-github": "^1.0.0",
|
2015-11-09 23:05:43 -08:00
|
|
|
"passport-google-oauth2": "~0.1.6",
|
2015-06-04 12:03:53 -07:00
|
|
|
"passport-linkedin-oauth2": "^1.2.1",
|
|
|
|
"passport-local": "^1.0.0",
|
|
|
|
"passport-oauth": "^1.0.0",
|
|
|
|
"passport-twitter": "^1.0.3",
|
2016-05-23 04:52:39 -07:00
|
|
|
"pmx": "~0.6.2",
|
2017-01-07 00:15:56 +01:00
|
|
|
"react": "~15.4.2",
|
2017-01-07 00:01:55 +01:00
|
|
|
"react-addons-css-transition-group": "~15.4.2",
|
2017-01-07 00:06:56 +01:00
|
|
|
"react-addons-shallow-compare": "~15.4.2",
|
2016-10-15 14:46:39 +01:00
|
|
|
"react-bootstrap": "^0.30.5",
|
2016-11-22 22:51:00 +01:00
|
|
|
"react-codemirror": "^0.3.0",
|
2017-01-07 00:03:25 +01:00
|
|
|
"react-dom": "~15.4.2",
|
2016-09-13 13:20:06 -07:00
|
|
|
"react-fontawesome": "^1.2.0",
|
2016-08-25 16:51:31 -07:00
|
|
|
"react-images": "^0.5.1",
|
2016-01-30 20:30:12 -08:00
|
|
|
"react-motion": "~0.4.2",
|
2016-03-05 21:06:04 -08:00
|
|
|
"react-no-ssr": "^1.0.1",
|
2016-07-07 19:25:31 -07:00
|
|
|
"react-notification": "https://github.com/BerkeleyTrue/react-notification#freecodecamp",
|
2016-01-27 11:34:44 -08:00
|
|
|
"react-pure-render": "^1.0.2",
|
|
|
|
"react-redux": "^4.0.6",
|
2016-11-05 23:43:07 +00:00
|
|
|
"react-router": "^3.0.0",
|
2016-07-27 13:56:55 -07:00
|
|
|
"react-router-bootstrap": "~0.23.1",
|
2016-11-05 23:43:07 +00:00
|
|
|
"react-router-redux": "^4.0.7",
|
2016-06-14 09:40:13 -07:00
|
|
|
"react-youtube": "^7.0.0",
|
2016-01-27 11:34:44 -08:00
|
|
|
"redux": "^3.0.5",
|
2017-01-05 00:13:17 +00:00
|
|
|
"redux-actions": "^1.2.0",
|
2017-01-02 23:04:07 -08:00
|
|
|
"redux-create-types": "0.0.1",
|
2016-05-04 16:46:19 -07:00
|
|
|
"redux-epic": "^0.1.1",
|
2016-05-03 11:44:04 -07:00
|
|
|
"redux-form": "^5.2.3",
|
2015-11-09 23:05:43 -08:00
|
|
|
"request": "^2.65.0",
|
2016-01-27 11:34:44 -08:00
|
|
|
"reselect": "^2.0.2",
|
2016-11-06 21:45:09 -05:00
|
|
|
"rx": "~4.0.8",
|
2015-11-09 23:05:43 -08:00
|
|
|
"sanitize-html": "^1.11.1",
|
2016-09-03 18:30:07 +00:00
|
|
|
"snyk": "^1.19.1",
|
2015-09-24 20:28:04 -07:00
|
|
|
"store": "https://github.com/berkeleytrue/store.js.git#feature/noop-server",
|
2016-12-30 13:05:29 -06:00
|
|
|
"uuid": "^3.0.1",
|
2016-09-26 20:02:48 -07:00
|
|
|
"validator": "^6.0.0"
|
2014-02-24 22:58:35 -07:00
|
|
|
},
|
|
|
|
"devDependencies": {
|
2016-03-20 21:43:36 -07:00
|
|
|
"adler32": "~0.1.7",
|
|
|
|
"babel-cli": "^6.3.17",
|
2016-09-27 09:45:19 -07:00
|
|
|
"babel-eslint": "^7.0.0",
|
2016-12-13 16:49:41 -08:00
|
|
|
"babel-istanbul": "^0.12.1",
|
2016-03-20 21:43:36 -07:00
|
|
|
"babel-loader": "^6.2.1",
|
|
|
|
"babel-plugin-add-module-exports": "^0.2.1",
|
|
|
|
"babel-preset-stage-0": "^6.3.13",
|
2015-11-09 23:05:43 -08:00
|
|
|
"browser-sync": "^2.9.12",
|
2016-05-31 14:32:26 -07:00
|
|
|
"chunk-manifest-webpack-plugin": "0.1.0",
|
2016-03-20 21:43:36 -07:00
|
|
|
"del": "^2.2.0",
|
|
|
|
"eslint": "^3.1.0",
|
2016-10-11 05:03:05 -07:00
|
|
|
"eslint-plugin-import": "^2.0.1",
|
2016-12-29 16:51:51 -08:00
|
|
|
"eslint-plugin-prefer-object-spread": "^1.1.0",
|
2017-01-12 06:54:43 +00:00
|
|
|
"eslint-plugin-react": "^6.9.0",
|
2016-03-20 21:43:36 -07:00
|
|
|
"gulp": "^3.9.0",
|
|
|
|
"gulp-babel": "^6.1.1",
|
|
|
|
"gulp-concat": "^2.6.0",
|
|
|
|
"gulp-eslint": "^3.0.1",
|
|
|
|
"gulp-if": "^2.0.0",
|
|
|
|
"gulp-jsonlint": "^1.1.0",
|
|
|
|
"gulp-less": "^3.0.3",
|
|
|
|
"gulp-nodemon": "^2.0.3",
|
|
|
|
"gulp-notify": "^2.2.0",
|
|
|
|
"gulp-plumber": "^1.0.1",
|
|
|
|
"gulp-reduce-file": "0.0.1",
|
|
|
|
"gulp-rev": "^7.0.0",
|
2016-11-23 01:18:39 +01:00
|
|
|
"gulp-sourcemaps": "^2.2.1",
|
2016-05-17 16:44:35 -07:00
|
|
|
"gulp-tape": "0.0.9",
|
2016-08-01 15:00:53 -07:00
|
|
|
"gulp-uglify": "^2.0.0",
|
2016-03-20 21:43:36 -07:00
|
|
|
"gulp-util": "^3.0.6",
|
2016-06-30 15:50:58 -07:00
|
|
|
"istanbul-coveralls": "^1.0.3",
|
2016-03-20 21:43:36 -07:00
|
|
|
"json-loader": "~0.5.2",
|
|
|
|
"less": "^2.5.1",
|
2015-11-05 16:41:19 -08:00
|
|
|
"loopback-component-explorer": "^2.1.1",
|
2016-03-20 21:43:36 -07:00
|
|
|
"merge-stream": "^1.0.0",
|
2016-08-31 14:06:03 -07:00
|
|
|
"proxyquire": "^1.7.10",
|
2016-09-27 10:57:56 -07:00
|
|
|
"react-hot-loader": "^1.3.0",
|
2016-03-20 21:43:36 -07:00
|
|
|
"rev-del": "^1.0.5",
|
2016-02-09 09:10:18 -08:00
|
|
|
"sinon": "^1.17.3",
|
2016-03-20 21:43:36 -07:00
|
|
|
"sort-keys": "^1.1.1",
|
2015-12-10 14:52:09 -08:00
|
|
|
"tap-spec": "^4.1.1",
|
2016-06-14 09:31:41 -07:00
|
|
|
"tape": "^4.2.2",
|
2016-03-20 21:43:36 -07:00
|
|
|
"webpack": "^1.9.12",
|
2016-09-27 10:57:56 -07:00
|
|
|
"webpack-dev-middleware": "^1.8.3",
|
|
|
|
"webpack-hot-middleware": "^2.12.2",
|
2016-03-20 21:43:36 -07:00
|
|
|
"webpack-manifest-plugin": "^1.0.0",
|
|
|
|
"webpack-stream": "^3.1.0",
|
2017-03-04 23:30:33 +01:00
|
|
|
"yargs": "^7.0.1"
|
2016-07-09 00:55:06 +00:00
|
|
|
},
|
|
|
|
"snyk": true
|
2016-09-23 15:38:49 -07:00
|
|
|
}
|