222 lines
7.8 KiB
JSON
222 lines
7.8 KiB
JSON
{
|
|
"name": "freecodecamp",
|
|
"version": "0.1.0",
|
|
"repository": "freecodecamp/freecodecamp",
|
|
"scripts": {
|
|
"build": "NODE_ENV=production gulp build -p",
|
|
"commit": "git-cz",
|
|
"commitmsg": "validate-commit-msg",
|
|
"cover": "babel-node ./node_modules/.bin/babel-istanbul cover tape common/**/*.test.js",
|
|
"coveralls": "npm run cover && istanbul-coveralls",
|
|
"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'); });\"",
|
|
"develop": "gulp",
|
|
"lint": "npm run lint-js && npm run lint-json",
|
|
"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",
|
|
"lint-js": "eslint --ext=.js,.jsx gulpfile.js server/ common/ config/ client/",
|
|
"lint-json": "npm run lint-server && npm run lint-challenges && npm run lint-resources && npm run lint-utils",
|
|
"only-once": "npm run prelint-js && echo '/****/' && echo 'Seeding Database' && echo '/****/' && node seed && echo '/****/' && echo 'Seeding Completed' && echo '/****/'",
|
|
"prelint-js": "npm run create-rev && gulp generate-migration-map",
|
|
"pretest": "npm run create-rev && npm run lint",
|
|
"prestart-production": "gulp build -p",
|
|
"seed": "node seed/index.js",
|
|
"snyk-protect": "snyk protect",
|
|
"start": "babel-node server/server.js",
|
|
"start-production": "node pm2Start",
|
|
"test": "npm run test-js && npm run test-challenges",
|
|
"test-develop": "npm run test-js && npm run test-challenges-develop",
|
|
"test-challenges": "babel-node seed/test-challenges.js | tap-spec",
|
|
"test-challenges-develop": "babel-node seed/test-challenges.js | tap-difflet -p",
|
|
"test-js": "npm run test-js-client && npm run test-js-common && npm run test-js-server",
|
|
"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",
|
|
"unpack": "babel-node seed/unpack.js",
|
|
"repack": "babel-node seed/repack.js"
|
|
},
|
|
"license": "(BSD-3-Clause AND CC-BY-SA-4.0)",
|
|
"dependencies": {
|
|
"@freecodecamp/loopback-component-passport": "^1.0.0",
|
|
"accepts": "^1.3.0",
|
|
"auth0-js": "^9.5.1",
|
|
"babel-core": "^6.18.1",
|
|
"babel-preset-es2015": "^6.3.13",
|
|
"babel-preset-react": "^6.3.13",
|
|
"babel-register": "^6.3.0",
|
|
"babel-runtime": "^6.26.0",
|
|
"babel-standalone": "^6.26.0",
|
|
"berkeleys-redux-utils": "^4.0.0",
|
|
"body-parser": "^1.13.2",
|
|
"bootstrap": "~3.3.7",
|
|
"cal-heatmap": "~3.5.2",
|
|
"chai": "~3.4.1",
|
|
"classnames": "^2.1.2",
|
|
"codemirror": "~5.15.2",
|
|
"compression": "^1.6.0",
|
|
"connect-mongo": "^1.3.2",
|
|
"cookie-parser": "^1.4.0",
|
|
"cors": "^2.8.4",
|
|
"csurf": "^1.8.3",
|
|
"d3": "~3.5.17",
|
|
"date-fns": "^1.29.0",
|
|
"debug": "^2.2.0",
|
|
"dedent": "~0.7.0",
|
|
"dotenv": "^4.0.0",
|
|
"emmet-codemirror": "^1.2.5",
|
|
"enzyme": "^3.2.0",
|
|
"enzyme-adapter-react-15": "^1.0.5",
|
|
"express": "^4.13.3",
|
|
"express-flash": "~0.0.2",
|
|
"express-session": "^1.12.1",
|
|
"express-state": "^1.2.0",
|
|
"express-validator": "^5.0.0",
|
|
"fetchr": "~0.5.12",
|
|
"font-awesome": "^4.7.0",
|
|
"frameguard": "^3.0.0",
|
|
"googleapis": "16.1.0",
|
|
"helmet": "^3.1.0",
|
|
"helmet-csp": "^2.1.0",
|
|
"history": "^4.7.2",
|
|
"invariant": "^2.2.1",
|
|
"jade": "^1.11.0",
|
|
"jquery": "~3.1.1",
|
|
"jshint": "~2.9.4",
|
|
"jsonlint-cli": "^1.0.1",
|
|
"jsonwebtoken": "^8.2.1",
|
|
"lightbox2": "~2.8.2",
|
|
"lodash": "^4.1.0",
|
|
"loopback": "^3.11.1",
|
|
"loopback-boot": "^2.27.1",
|
|
"loopback-connector-mongodb": "^3.2.1",
|
|
"method-override": "^2.3.0",
|
|
"moment": "^2.10.2",
|
|
"moment-timezone": "^0.5.0",
|
|
"mongodb": "^3.0.4",
|
|
"morgan": "^1.6.1",
|
|
"mousetrap": "~1.6.0",
|
|
"node-emoji": "^1.4.1",
|
|
"nodemailer": "^2.1.0",
|
|
"nodemailer-ses-transport": "^1.3.0",
|
|
"normalize-url": "^1.3.1",
|
|
"normalizr": "2.2.1",
|
|
"opbeat": "^4.14.0",
|
|
"passport": "^0.4.0",
|
|
"passport-auth0": "^0.6.1",
|
|
"passport-facebook": "^2.0.0",
|
|
"passport-github": "^1.0.0",
|
|
"passport-google-oauth2": "~0.1.6",
|
|
"passport-linkedin-oauth2": "^1.2.1",
|
|
"passport-local": "^1.0.0",
|
|
"passport-oauth": "^1.0.0",
|
|
"passport-twitter": "^1.0.3",
|
|
"pmx": "~0.6.2",
|
|
"prismjs": "^1.11.0",
|
|
"prop-types": "^15.5.10",
|
|
"react": "^15.6.2",
|
|
"react-addons-css-transition-group": "~15.4.2",
|
|
"react-addons-shallow-compare": "~15.4.2",
|
|
"react-bootstrap": "~0.31.2",
|
|
"react-codemirror": "^0.3.0",
|
|
"react-d3": "^0.4.0",
|
|
"react-dom": "^15.6.2",
|
|
"react-fontawesome": "^1.2.0",
|
|
"react-freecodecamp-search": "^2.0.1",
|
|
"react-helmet": "^5.2.0",
|
|
"react-images": "^0.5.1",
|
|
"react-media": "^1.8.0",
|
|
"react-motion": "~0.4.2",
|
|
"react-no-ssr": "^1.0.1",
|
|
"react-notification": "git+https://github.com/BerkeleyTrue/react-notification.git#freecodecamp",
|
|
"react-redux": "^4.0.6",
|
|
"react-test-renderer": "^15.6.2",
|
|
"react-youtube": "^7.0.0",
|
|
"redux": "^3.0.5",
|
|
"redux-actions": "^2.0.3",
|
|
"redux-create-types": "0.0.1",
|
|
"redux-epic": "^0.3.0",
|
|
"redux-first-router": "^1.9.19",
|
|
"redux-form": "^5.2.3",
|
|
"request": "^2.65.0",
|
|
"reselect": "^3.0.0",
|
|
"rss-parser": "^3.1.2",
|
|
"rx": "^4.1.0",
|
|
"rx-dom": "^7.0.3",
|
|
"sanitize-html": "^1.11.1",
|
|
"snyk": "^1.68.1",
|
|
"store": "git+https://github.com/berkeleytrue/store.js.git#feature/noop-server",
|
|
"uuid": "^3.0.1",
|
|
"validator": "^9.4.0"
|
|
},
|
|
"devDependencies": {
|
|
"adler32": "~0.1.7",
|
|
"babel-cli": "^6.3.17",
|
|
"babel-istanbul": "^0.12.1",
|
|
"babel-loader": "^7.1.2",
|
|
"babel-plugin-add-module-exports": "^0.2.1",
|
|
"babel-plugin-lodash": "^3.2.11",
|
|
"babel-plugin-transform-imports": "^1.4.1",
|
|
"babel-plugin-transform-runtime": "^6.23.0",
|
|
"babel-preset-stage-0": "^6.3.13",
|
|
"babel-preset-stage-3": "^6.24.1",
|
|
"browser-sync": "^2.9.12",
|
|
"browserify": "^16.1.1",
|
|
"chunk-manifest-webpack-plugin": "^1.1.2",
|
|
"commitizen": "^2.9.6",
|
|
"cz-freecodecamp": "^1.0.1",
|
|
"del": "^2.2.0",
|
|
"diff": "^3.5.0",
|
|
"eslint": "^4.10.0",
|
|
"eslint-config-freecodecamp": "^1.1.1",
|
|
"eslint-plugin-import": "^2.9.0",
|
|
"gulp": "^3.9.1",
|
|
"gulp-babel": "^6.1.1",
|
|
"gulp-concat": "^2.6.0",
|
|
"gulp-less": "^3.0.3",
|
|
"gulp-nodemon": "^2.0.3",
|
|
"gulp-notify": "^3.0.0",
|
|
"gulp-plumber": "^1.0.1",
|
|
"gulp-reduce-file": "0.0.1",
|
|
"gulp-rev": "^7.0.0",
|
|
"gulp-sourcemaps": "^2.2.1",
|
|
"gulp-uglify": "^2.0.0",
|
|
"gulp-util": "^3.0.6",
|
|
"husky": "^0.14.3",
|
|
"istanbul-coveralls": "^1.0.3",
|
|
"joi": "^13.1.2",
|
|
"joi-objectid": "^2.0.0",
|
|
"jsdom": "^11.5.1",
|
|
"json-loader": "~0.5.2",
|
|
"less": "^2.5.1",
|
|
"loopback-component-explorer": "^2.1.1",
|
|
"merge-stream": "^1.0.0",
|
|
"pm2": "^2.10.2",
|
|
"proxyquire": "^1.7.10",
|
|
"react-hot-loader": "^1.3.0",
|
|
"redux-thunk": "^2.2.0",
|
|
"remote-redux-devtools": "^0.5.12",
|
|
"rev-del": "^1.0.5",
|
|
"sinon": "^2.0.0",
|
|
"sort-keys": "^1.1.1",
|
|
"tap-difflet": "^0.7.0",
|
|
"tap-spec": "^4.1.1",
|
|
"tape": "^4.2.2",
|
|
"uglifyjs-webpack-plugin": "^1.1.8",
|
|
"validate-commit-msg": "^2.12.2",
|
|
"webpack": "^3.10.0",
|
|
"webpack-dev-middleware": "^2.0.4",
|
|
"webpack-hot-middleware": "^2.21.0",
|
|
"webpack-manifest-plugin": "^1.3.2",
|
|
"webpack-stream": "^4.0.0",
|
|
"webpack-visualizer-plugin": "^0.1.11",
|
|
"yargs": "^7.0.1"
|
|
},
|
|
"snyk": true,
|
|
"config": {
|
|
"commitizen": {
|
|
"path": "./node_modules/cz-freecodecamp"
|
|
}
|
|
}
|
|
}
|