Commit Graph

852 Commits (b9ccfff18a0875865664f312a149fe480f493e89)

Author SHA1 Message Date
Oliver Eyton-Williams 58bd0b5ce4
chore(tools): add jsx-a11y Eslint plugin (#38438)
* chore(tools): add a11y eslint plugin

* fix: use Gatsby's a11y eslint rules

* fix(search): remove unnecessary mouse listeners
2020-03-26 10:25:47 +05:30
Oliver Eyton-Williams e3db423abf chore: version bump Jest 2020-03-16 16:28:32 +05:30
Randell Dawson b0498ff9e6 fix: installed latest version of husky 2020-03-16 16:28:32 +05:30
Oliver Eyton-Williams e3b77a62cc feat: simplify development setup
Warns if .env is missing.  Combines the three docker installation
commands into one, updating the docs accordingly.

Also removes the libcimp patch as npm already has it.
2019-12-13 01:05:38 +05:30
Randell Dawson b21ad80563 fix: use jest --rootDir to run test (#37680)
* fix: use bash -c to call jest utils for windows

* fix: removed bash requirement

Co-Authored-By: Valeriy <ValeraS@users.noreply.github.com>
2019-11-05 16:29:33 +03:00
Oliver Eyton-Williams d8c89c99d8 fix: restrict markdown linting to curriculum files (#37635) 2019-10-31 22:54:07 +05:30
Ahmad Abdolsaheb 78b6fd1adf fix: load stripe conditionally (#37365) 2019-10-17 18:21:01 +05:30
Oliver Eyton-Williams 6b5aaee3c5 feat: add script to clean, install and develop 2019-09-27 13:53:17 +05:30
Oliver Eyton-Williams 3dc4e5897d fix: add tests and refactor slug utils 2019-09-26 22:15:27 +05:30
Oliver Eyton-Williams f50ac6e115 chore: extend linting to cover react hooks (#36725) 2019-08-30 21:10:23 +05:30
mrugesh fa0e198ef9
fix: update lerna npm audit commands (#36700)
* fix: update the audit commands

* chore: update all dependencies

* chore: remove concurrency limit from commands

Co-Authored-By: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>

* fix: add no-bail to commands

Co-Authored-By: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
2019-08-28 23:06:23 +05:30
Mrugesh Mohapatra de5e88942f fix(tools): add build scripts 2019-08-17 17:01:10 +05:30
Mrugesh Mohapatra 043b1fd283 chore: update the root deps to latest 2019-08-14 19:23:26 +05:30
Oliver Eyton-Williams af1071c518 feat(tools) add script to audit all packages (#36537)
* feat: add audit scripts

* Update package.json

Co-Authored-By: mrugesh <1884376+raisedadead@users.noreply.github.com>

* Update package.json

Co-Authored-By: mrugesh <1884376+raisedadead@users.noreply.github.com>
2019-07-31 23:10:43 +05:30
mrugesh 603c842c97
fix(lint): re-arrange scripts (#36511) 2019-07-26 00:45:31 +05:30
Mrugesh Mohapatra 20ee37d6a7 chore(root): update dependencies to latest 2019-07-22 17:10:54 +05:30
Oliver Eyton-Williams b8593326b0 fix: remove guide linting and fix failing challenges 2019-07-19 15:30:17 +05:30
Oliver Eyton-Williams 9bd5e0aafe fix(tools): Restrict prettier to css 2019-07-19 15:30:17 +05:30
Oliver Eyton-Williams 9de68bd4a7 feat: Add rule checking Prism languages
The linter now checks that fences have languages and that those languages are
supported by PrismJS. The linter has been extended over the guide with its own
set of rules that only validate code fences.
2019-07-19 15:30:17 +05:30
Oliver Eyton-Williams b8bdbc7dc8 feat: Add scripts to format and lint with prettier 2019-07-19 15:30:17 +05:30
Oliver Eyton-Williams b440851381 fix: Add tests for the linter 2019-07-19 15:30:17 +05:30
Oliver Eyton-Williams db69c9b071 fix: Only lint staged files on commit 2019-07-19 15:30:17 +05:30
Oliver Eyton-Williams 538e0bbee3 feat: Lint curriculum, including test yaml 2019-07-19 15:30:17 +05:30
Mrugesh Mohapatra c5fd478d9a fix(deploy): misc. re-arrange scripts and organize 2019-06-21 00:53:05 +05:30
Mrugesh Mohapatra 91adc43bcd fix(tools): rearrange scripts and graceful exit 2019-06-16 00:23:41 +05:30
Mrugesh Mohapatra aee2f5e536 fix: add gatsby clean to scripts 2019-06-12 02:49:31 +05:30
kozlovvski d6a6504f74 chore(tools): updated jest in packages
Co-authored-by: Mrugesh Mohapatra <1884376+raisedadead@users.noreply.github.com>
2019-06-11 19:06:57 +05:30
Bouncey 2789824374 chore: Import search-assets and refactor data source/push 2019-06-08 03:18:55 +05:30
Mrugesh Mohapatra c2d7780655 chore(deps): update lerna to 3.14.1 2019-06-08 01:38:48 +05:30
Valeriy 4f1fdfdd14 chore(tools): update docker setup to use npm ci 2019-05-02 01:01:00 -07:00
Mrugesh Mohapatra 384de0a1e9 chore: make local installations even faster 2019-05-02 01:01:00 -07:00
Valeriy S 76ec4acb6e chore(tools): use data volumes for node_modules 2019-03-15 15:50:30 +05:30
Valeriy aa6305778f chore(tools): tests in a docker container 2019-03-15 15:50:30 +05:30
Valeriy b3c612f70f chore(tools): delete root node_modules with npm run clean 2019-03-15 15:50:30 +05:30
Valeriy a5a4581478 chore: persist db and npm scripts for docker 2019-03-15 15:50:30 +05:30
Mrugesh Mohapatra 7d491f9bf6 chore: update lockfile 2019-02-27 16:02:00 +00:00
Bouncey f5ca6ce5e9 chore: Move sinon dep to the root 2019-02-21 21:03:06 +05:30
Valeriy 26d09fbab1 feat: add lint on pre-commit 2019-02-19 14:30:27 +05:30
Valeriy be36915605 feat: use prettier with eslint 2019-02-19 14:30:27 +05:30
Bouncey b13e5fb41a feat: Use prettier-eslint to format code 2019-02-19 14:30:27 +05:30
Bouncey 7a30a5c2dd fix: Remedy review comments 2019-02-19 14:30:27 +05:30
Bouncey ec7df15c5f feat(ci): Define linting stage for travis 2019-02-19 14:30:27 +05:30
Bouncey 5499042ce6 feat: Lint tools 2019-02-19 14:30:27 +05:30
Bouncey 3edb9d1701 feat: Lint currirulum 2019-02-19 14:30:27 +05:30
Bouncey b1371af06b feat: Lint config 2019-02-19 14:30:27 +05:30
Bouncey a63b84e748 feat: Lint client 2019-02-19 14:30:27 +05:30
Bouncey 36d150cbe1 chore: Install update freecodecamp eslint config 2019-02-19 14:30:27 +05:30
Bouncey 6050b0ea84 feat: Define a new lint script 2019-02-19 14:30:27 +05:30
Bouncey 6e9fbd7219 chore: Use babel-eslint for linting the api 2019-02-19 14:30:27 +05:30
Bouncey 5058998e87 fix: Tidy up npm scripts 2019-02-17 14:10:56 +05:30
Bouncey 62da8d31e2 fix: Use npm-run-all to run the develop command 2019-02-17 14:10:56 +05:30
Stuart Taylor 05a49e36ee chore: apply fixes from npm audit (#35210)
- [x] I have read [freeCodeCamp's contribution guidelines](https://github.com/freeCodeCamp/freeCodeCamp/blob/master/CONTRIBUTING.md).
- [x] My pull request has a descriptive title (not a vague title like `Update index.md`)
- [x] My pull request targets the `master` branch of freeCodeCamp.
2019-02-14 20:39:55 +05:30
Bouncey d79f9f4899 feat(docker): Prep master for docker deploys 2019-02-04 20:13:51 +05:30
Mrugesh Mohapatra fdc2219f81 feat: remove news from platform 2019-01-16 13:48:38 +00:00
Todd Chaffee f0c8211e95 feat: use mock authentication for local dev 2019-01-15 19:52:19 +05:30
Stuart Taylor 2d3c2efa2a Feat: Ensure markdown formatting (#34547)
<!-- Please follow this checklist and put an x in each of the boxes, like this: [x]. It will ensure that our team takes your pull request seriously. -->

- [x] I have read [freeCodeCamp's contribution guidelines](https://github.com/freeCodeCamp/freeCodeCamp/blob/master/CONTRIBUTING.md).
- [x] My pull request has a descriptive title (not a vague title like `Update index.md`)
- [x] My pull request targets the `master` branch of freeCodeCamp.

Closes #34535
2018-12-06 16:48:56 +05:30
Bouncey f4d1f9eec3 feat: Run server tests from project root test command 2018-12-04 17:42:12 +05:30
Stuart Taylor 289d5875fa chore(security🔥): Update npm-run-all (#34469)
Tested locally.
2018-11-27 12:24:00 -05:00
Stuart Taylor cee98aef43 feat: watch challenges (#34321) 2018-11-16 23:52:52 +05:30
mrugesh mohapatra f69fae4303 chore: update package and lockfile (#34352) 2018-11-16 16:20:20 +00:00
Bouncey fbee89b345 feat: Seed news articles on script 2018-11-10 01:57:06 +05:30
Mrugesh Mohapatra e1a0df55ef build(tools): add node_modules cleanup script 2018-11-03 10:32:50 +03:00
Mrugesh Mohapatra 87e02190d5 fix(npm-script): reconfigure script order 2018-11-01 16:06:37 +05:30
Mrugesh Mohapatra 4d3641ad88 fix(ci): remove isolation between ci and local test script 2018-11-01 16:06:37 +05:30
Mrugesh Mohapatra e491eebc58 feat(tools): add postinstall step for bootstrap 2018-11-01 16:06:37 +05:30
Valeriy e099d6486d fix: test curriculum challenges (#24180) 2018-10-23 18:51:53 +05:30
Stuart Taylor 7da04a348b fix: Update packages and fix local dev (#26907)
<!-- Please follow this checklist and put an x in each of the boxes, like this: [x]. It will ensure that our team takes your pull request seriously. -->

- [x] I have read [freeCodeCamp's contribution guidelines](https://github.com/freeCodeCamp/freeCodeCamp/blob/master/CONTRIBUTING.md).
- [x] My pull request has a descriptive title (not a vague title like `Update index.md`)
- [x] My pull request targets the `master` branch of freeCodeCamp.
2018-10-23 18:48:46 +05:30
Bouncey 4cd6b568e1 fix(guide-ci): Handle uncaught errors 2018-10-19 16:28:34 +01:00
Bouncey 569bd7c3a7 feat(guide-ci): Add frontmatter checks to the guide CI 2018-10-19 16:28:34 +01:00
Bouncey 564012a7eb feat(ci): Ensure guide directory structure in CI 2018-10-19 16:28:34 +01:00
Bouncey 162e25143e fix(seed): Show debug logs on seed command 2018-10-12 20:41:42 +05:30
Beau Carnes 7723a592b7 fix: add prebootstrap script 2018-10-11 02:15:05 +05:30
Bouncey cfbb973c8b feat(redirects): Generate _redirects on build 2018-10-09 09:49:01 +01:00
Bouncey 2562c38db2 fix(tools): Adjust seed task 2018-10-07 14:51:09 +05:30
Bouncey c3fad016ab feat(tests): Bootstrap only on ci tests 2018-10-07 14:51:09 +05:30
Bouncey bc9b3b4ddd chore(seed): Move seed script to tools 2018-10-07 14:51:09 +05:30
Bouncey 26750776ed fix(seed): Fix seed script for new curriculum pkg 2018-10-07 14:51:09 +05:30
Bouncey 5fedefb74f fix(travis): Have travis run client tests for CI 2018-10-05 21:34:17 +05:30
Dale Blackburn be0cf1d211 chore: 🤖 Allows Lerna to build curriculum on npm run bootstrap
Added `lerna run build --scope @freecodecamp/curriculum` to bootstrap
npm script

Issues: 18198
2018-10-03 16:51:26 +05:30
Mrugesh Mohapatra eff9ce74bd feat: tie in challenge parser 2018-09-27 20:21:53 +05:30
Mrugesh Mohapatra 9aad55f8af fix(scripts): adjust npm run scripts 2018-09-27 12:28:31 +05:30
Mrugesh Mohapatra 12ee5fd431 chore(ci): setup travis config 2018-09-26 23:08:45 +05:30
Mrugesh Mohapatra fda64e92be feat: intial bootstrap install for server and client 2018-09-26 20:26:53 +05:30
Mrugesh Mohapatra 242e6bb3e2 feat: add learna config 2018-09-26 20:13:51 +05:30
Bouncey a9c948679e feat(prettier): Use prettier for client code 2018-09-07 14:37:14 +01:00
Bouncey eb5dee1cbb fix(build): Make build unrelient on root level deps (take 2) 2018-09-06 16:07:03 +01:00
Bouncey 435e856cdb feat(env): Make env vars available to client app 2018-09-06 16:07:03 +01:00
Bouncey f698dcf79c fix(dev): add top level package.json 2018-09-06 11:35:04 +01:00
Bouncey 46a217d0a5 chore(server): Move api-server in to it's own DIR 2018-09-03 17:47:48 +05:30
Bouncey 9fba6bce4c chore(root-package): Prune to root package JSON 2018-09-03 17:47:48 +05:30
Bouncey 01bc66cab3 feat(nodemon): Nodemon the api server 2018-08-30 20:43:55 +05:30
Bouncey 9f6a2e35f7 feat(landing-page): Gatsby the landing page 2018-08-30 20:43:55 +05:30
Bouncey cd73528958 feat(gatsby): Initial gatsby scaffolding 2018-08-30 20:43:55 +05:30
Stuart Taylor 69030797ac Add icons to the byline (#17993) 2018-08-09 02:26:54 +05:30
Stuart Taylor a4a6901fc6 chore(pkg): Update pm2 to @latest (#17979) 2018-08-05 05:28:16 +05:30
Mrugesh Mohapatra dae7f383f4 fix: remove code-mirror 2018-08-04 22:48:20 +01:00
Stuart Taylor 0c84f5e09b feat(views): Add views and extend functionality 2018-08-03 19:27:42 +05:30
Mrugesh Mohapatra 66502a8338 chore(seed): update curriculum to v3.1.1 2018-08-03 19:27:42 +05:30
Stuart Taylor 4dac8c1867 feat(views): Add views and extend functionality 2018-08-03 19:27:42 +05:30
Stuart Taylor 1b18594bd3 feat(client-routes): Add react-router-dom for client-side routing 2018-08-03 19:27:42 +05:30
Stuart Taylor c84a9c8b57 feat(news): Initial app with webpack 2018-08-03 19:27:42 +05:30
Stuart Taylor 41a99e6487 chore(deps): Update webpack plugins 2018-08-03 19:27:42 +05:30
Stuart Taylor 22cd308fd4 chore(gulp): Clean up gulp file 2018-08-03 19:27:42 +05:30
Stuart Taylor af8030c1d1 chore(tools): Move to webpack v4 2018-08-03 19:27:42 +05:30
Mrugesh Mohapatra 4511e33716 fix: update to use shortid for sub resub 2018-08-02 22:38:11 +01:00
Mrugesh Mohapatra d7180d8a4f chore(seed): update curriculum to v3.1.1 2018-08-01 14:14:14 +01:00
Mrugesh Mohapatra 8c2af37b29 chore(seed): Update curriculum to v3.1.0 2018-07-27 20:53:00 +01:00
Mrugesh Mohapatra 6f4f8f9fac fix(snyk): Updated patches for vulnerabilities 2018-07-02 09:28:08 +01:00
Mrugesh Mohapatra 9ab629bd8b chore(seed): Update to v3.0.1 2018-07-02 09:27:28 +01:00
Mrugesh Mohapatra a7bbd96d46 chore: Remove passport packages 2018-06-29 21:29:20 +01:00
Stuart Taylor 65cb3886ff chore(curriculum): Version bump 2018-06-25 10:44:58 +01:00
Mrugesh Mohapatra 837f9e7524 fix: remove seed files 2018-06-22 12:42:01 +01:00
Rachel Sinclair 6fab6319f8 chore(package): Update Font Awesome and remove Ionicon dependency (#17497)
Update Font Awesome from 4.7 to 5. Update existing Font Awesome icon
references to match version 5 syntax. Replace all Ionicon references
with Font Awesome icons and remove all files relating to Ionicon.

Closes #13798
2018-06-22 01:46:17 +05:30
Stuart Taylor 4f77da02be feat(donate): Add donate api (#17459)
* feat(donate): Add donate api

* feat(donation): Add ability to track donations via email
2018-06-07 16:35:06 -05:00
Kory Dondzila a8756d5919 fix(seed): Fixes database seeding issue (#17472) 2018-06-07 00:57:13 +05:30
Stuart Taylor 6315c6eae0 feat(reporting): Use rollbarjs for error reporting in production (#17259) 2018-05-29 18:38:55 +05:30
Stuart Taylor 2adeaccf20
Merge pull request #17181 from tamj0rd2/feature/remove-opbeat
refactor(server): Remove opbeat from dev tools
2018-05-28 22:43:57 +01:00
Stuart Taylor 4d4b964e2c fix(scripts): Run generate-migration-map after seed events (#17234)
* fix(scripts): Run generate-migration-map after seed events

* fix(only-once): Run 'ensure-env' on prelint
2018-05-27 15:27:18 +05:30
Stuart Taylor 487f7c8153 fix(seed): challenge types (#17229)
Closes #17221
2018-05-24 21:27:09 +05:30
Stuart Taylor dfda68fb58 feat(auth): Authorise 'external' requests through JWT (#17224) 2018-05-24 01:40:56 +05:30
Stuart Taylor c428b2c197 feat(package): Initial Curriculum separation (#17174)
* feat(package): Initial Curriculum separation

* feat(package): Add org scope to package

* chore(ooops): Remove development file

* feat(npm): Add .npmignore

* fix(paths): Fix curriculum paths

* feat(build): Add a build step

* chore(seed): Move package file back to seed

* fix(ignore): Fix .npmIgnore file

* chore(docs): Update README

* chore(seed): Rename coding interview blocks

* fix(seed): Challenge files now fit into learn

* chore(seed): Update seed files for use in learn

* chore(escapes): Unescape script tags of jQuery
2018-05-21 19:26:49 +05:30
Mrugesh Mohapatra 6b133227d7 feat(auth0): Add packages, basic setup, etc 2018-05-20 13:40:48 +05:30
Stuart Taylor 0553bfe2ff refactor(server): Remove opbeat from dev tools 2018-05-19 22:05:09 +05:30
Stuart Taylor 13162cb53a feat(packages): Add scoped loopback-component-passport (#17179) 2018-05-17 19:56:44 +05:30
mrugesh mohapatra 0271e78a1d chore(opbeat): Remove opbeat react logging (#17173) 2018-05-16 15:22:43 +01:00
Stuart Taylor 156ea1af76 Feat: Welcome Page (#17150) 2018-05-15 10:42:05 +05:30
Stuart Taylor 5eb90ed8c8 feat(challenge-redirect): Make '/challenge' and '/map' redirect to learn (#17144)
* feat(challenge-redirect): Make '/challenge' and '/map' redirect to learn

* fix(linting): Generate pathMigrationMap on 'prelint-js'

* fix(script): fix "only once" script

* fix(lock): Fix lock file
2018-05-14 13:04:51 +05:30
Varun 863042312e fix(pm2): update scripts and add dev deps (#17030) 2018-04-06 13:27:15 +05:30
Alex Chaffee 30b26e1476 fix(build): update package.json to pick up benmosher/eslint-plugin-import#720 2018-04-03 19:53:44 +05:30
Alex Chaffee a8484873d8 feat(seed): "unpack" and "repack" scripts
add "npm run seed" as alias to "node seed"

unpack tests and solution into HTML file; add titles and help text; style unpacked file

enable running unpacked assert tests in browser

Using browserify, compile "tape", "lodash", jQuery into "unpacked-bundle.js" for use during in-browser unpacked tests

feat(seed): diff after repacking

feat(seed): unpacked tests use Browser TAP chrome dev tool if available
2018-04-03 19:52:56 +05:30
Stuart Taylor 766b6f98f1 feat(schema): Implement challenge schema 2018-04-03 19:52:01 +05:30
Stuart Taylor ebfbfb6df9 chore(package): Update react-freecodecamp-search (#16943) 2018-03-23 18:41:07 -05:00
Berkeley Martinez 1d513227e8
Merge pull request #16890 from Bouncey/fix/binButtons
Feat(Nav): Responsive Nav with promonent Bin buttons
2018-03-20 16:45:30 -07:00
Stuart Taylor 33d0d05adb feat(nav): Use screen width specific navs 2018-03-13 20:10:06 +00:00
Stuart Taylor a0c3d5bd08 feat(opbeat): Enable opbeat-react for frontend performance tracking 2018-03-09 15:42:44 +00:00
Berkeley Martinez 5bf2e57c6e
[Snyk Update] New fixes for 1 vulnerable dependency path (#16751)
[Snyk Update] New fixes for 1 vulnerable dependency path
2018-03-08 14:17:27 -08:00
Mrugesh Mohapatra 1e86d288df fix(mongodb): update mongodb driver 2018-03-07 23:44:09 +05:30
Stuart Taylor e9a7459597 chore(package): Update loopback-boot to remove vulnerability 2018-03-02 15:56:02 +00:00
snyk-bot f9d0f717b0 fix: package.json to reduce vulnerabilities
The following vulnerabilities are fixed with an upgrade:
- https://snyk.io/vuln/npm:validator:20180218

Latest report for freecodecamp/freecodecamp:
https://snyk.io/test/github/freecodecamp/freecodecamp
2018-02-19 20:32:58 +00:00
Stuart Taylor 3131c55782 feat(Profile): Reactify profile page (#16743)
* feat(Profile): Reactify profile page

* chore(tidyup): Remove console.log

* fix(timeline): Remove legacy challenges from Timeline render

* fix(style): Remove underline on a:hover
2018-02-19 14:32:14 -06:00
Stuart Taylor 24ef69cf7a feat(settings): Expand Settings page functionality (#16664)
* fix(layout): Fix Settings layout in firefox

* chore(availableForHire): Remove available for hire setting

* feat(helpers): Use helper components for Settings layout

* fix(map): Fix undefined lang requested

* feat(settings): Expand Settings page functionality

* chore(pledge): Remove pledge from Settings

* fix(about): Adjust AboutSettings layout

* fix(portfolio): Improve PortfolioSettings layout

* fix(email): Improve EmailSettings layout

* fix(settings): Align save buttons with form fields

* fix(AHP): Format AHP

* fix(DangerZone): Adjust DangerZone layout

* fix(projectSettings): Change Button Copy

* fix(CertSettings): Fix certificate claim logic

* chore(lint): Lint
2018-02-16 17:18:53 -06:00
Timo 673bab4761 fix(tests): Improve test output (#16449)
* fix(tests): Improve test output

Switches test-challengse from tap-spec to tap-difflet in
pessimistic mode for a more concise test output.
Also removes unused gulp tasks.

Closes #16406

* build(npm-script): Update scripts to have developer mode test run
2018-02-14 11:50:27 +00:00
Berkeley Martinez ef80131a29 feat(build): Add source maps to production
We don't have the same precautions as other sites as our code base is
open source, so we might as well make it easier on us to debug
production errors
2018-02-06 13:53:56 -08:00
Stuart Taylor ead6b99f61 chore(bundle): Bundle only one RX 2018-01-26 10:37:13 +00:00
Berkeley Martinez 307716f9c8 fix(loopback/passport): Show flash messages on link 2018-01-18 15:20:54 -08:00
Berkeley Martinez 04af4e326c feat(frameRunner): Run through webpack 2018-01-18 15:20:53 -08:00
Berkeley Martinez e384f6a90c feat(Webpack): Update to latest 2018-01-18 15:20:53 -08:00
Berkeley Martinez 71869757a0 feat(babel): Add babel-runtime plugin
Reduce payload and remove old shims in favor of babel shims
2018-01-18 15:18:42 -08:00
Snyk bot 6e78cd30d4 fix(synk): New fixes for 2 vulnerable dependency paths (#16521)
* fix: package.json & .snyk to reduce vulnerabilities


The following vulnerabilities are fixed with a Snyk patch:
- https://snyk.io/vuln/npm:uglify-js:20151024

Latest report for freecodecamp/freecodecamp:
https://snyk.io/test/github/freecodecamp/freecodecamp

Some vulnerabilities weren't fixed or ignored, and so will still fail
the Snyk test report.

* chore(package): remove snyk autopatch

Cause it's slow AF
2018-01-17 18:38:04 -08:00
Berkeley Martinez 89592e9540
Merge pull request #16374 from Bouncey/chore/bundleSize
chore(bundle): Reduce react-bootstrap footprint by half
2018-01-08 20:24:30 -08:00
Berkeley Martinez 13b7eac16f fix(passport/login): Use middleware instead of bootscript
prototype overwrite doesn't seem have any effect
2018-01-02 23:38:01 +05:30
Berkeley Martinez 894a309723 fix(middlewares/errorhandler): Remove npm module and refactor for fcc use case 2018-01-02 23:38:01 +05:30
Berkeley Martinez 19c7bb1ac9 chore(packages): Update validator and express-validator 2018-01-02 23:38:01 +05:30
Stuart Taylor cd81cf71a2 chore(bundle): Transform react-bootstrap imports through babel 2018-01-02 12:00:48 +00:00
Stuart Taylor fafb53f11e feat(bundle): Add bundle visualisation tool 2018-01-01 13:01:18 +00:00
Stuart Taylor 3d86eaecbc fix(style): Update search bar and apply styles (#16218)
* fix(style): Update search bar and apply styles

* chore(pkg): Bump react-freecodecamp-search version so there is no autocomplete
2017-12-20 10:48:17 -06:00
Berkeley Martinez b2b1426e22 Feat: react redux migration (#16200)
* feat: crudely enables test to run solution code against React challenge (and passes!)

* feat: Updates comment

* feat: Adds React 2 and 3, validates challenges in app

* feat: Adds React 4, validates tests

* feat: Adds Peter's migrated challenge seed files for all challenges

* feat: Adds redux, react-redux imports, adds tests for React 7,

* feat: Adds tests for React 08

* fix(challenges): wrap reserved words in <code> and add tests

* feat: complete first two tests for React 9

* feat: modifies tests in React 09

* feat: Adds working tests for React 37, including async setState tests

* feat: Escape hatch to avoid async tests in automated test suite

* feat: Updates React 15 with working tests

* feat: build passes, yay

* feat: Provisions original code string in challenges and adds tests for React Redux 01

* fix(tests): add self-closing tags challenge, other small fixes

* fix(challenge): add react_10, some other stuff

* fix(challenges): update react 22, add react 23

* fix(challenges): react 5 and react 8

* feat: removes dependencies that will break in browser, will replace later

* feat: fix build

* feat: add redux 1

* fix(challenge): add react 24 tests

* feat: partial implemented Redux 2

* feat: migrate redux 3

* feat: Adds React-Redux 04 with working tests under npm test

* feat: Updates automated test runner, just provide all the dependencies. Adds Redux-Thunk.

* feat: Adds working tests for React Redux 07

* feat: redux challenge 4

* feat: migrate redux 5

* feat: redux 6

* feat: migrate Redux test 7

* fix(challenge): add react 25 tests

* feat: Adds tests for React 48, npm test does not pass...

* feat: Migrate Redux test 8

* fix(challenges): skip 26, add react 27 tests

* fix(challenges): add react 28 tests, replace function w/ => throughout, fix linter warnings

* feat: fixes (patches) hard to understand problem with automated test suite

* feat: updates async tests patch

* feat: adds converted tests for React 47

* feat: adds converted tests for React 46

* feat: Partially adds tests for React 43

* docs: adds TO-DO tests for React 43

* feat: migrates tests for React 42

* feat: migrates tests for React 41

* feat: migrates tests for React 39

* feat: Migrates tests for React 38, automated test script fails again!

* feat: migrates tests for React 32

* feat: QAs more React Redux challenge in FCC UI

* feat: Updates tests for React 7

* feat: Migrates React-Redux 3 tests and hardcodes deep-freeze dependency

* feat: migrates React Redux 05 tests

* feat: migrates React Redux 06 tests

* feat: Migrates React Redux 10

* feat: Migrates tests for React 16

* feat: Migrates React 17 tests

* feat: Migrates React 18 tests

* feat: Migrates React 19 tests

* feat: Migrates React 19 tests

* feat: fixing usage of code, replace with editor.getOriginalCode

* feat: Migrates React 21 tests

* feat: Finishes migration of React 09

* fix(challenges): add react 45 tests 💀

* feat: Adds React 11 tests

* feat: Migrates React 50 tests

* feat: Re-enables original code in FCC editor, QAs challenges blocked by original code

* feat: hacks head tail code in editor test environment

* feat: updates React 20 head code

* feat: QAs React Redux 07 in UI

* fix(challenges): add React 29 tests

* fix(challenges): add React 30 tests

* feat: updates async tests

* feat: Migrates React 12, gets ReactDOM challenges working and QAs them

* feat: Migrates React 13 tests

* feat: Migrates tests for React 14 and updates challenge description formatting

* feat: Refactors 2nd test for Redux 02

* feat: Migrates React 33

* feat: Removes React 26 and 43

* feat: Adds React 34 from Kevin

* fix(challenges): add React 31 & 35 tests (thanks Kevin)

* feat: Migrate Redux challenge 10 - pass both UI QA and terminal test

* fix(challenge): add react 40 tests

* feat: Migrates React Redux 02 tests

* feat: Migrates React Redux 08 and fixes async syntax in React challenge

* fix(challenge): add react 49 tests with caveat

* feat: fixes React 49 tests and adds first tests for React Redux 09

* feat: Migrate Redux 11 - pass both terminal test and UI test

* feat: Migrate Redux 12 - passing both UI test and terminal test

* feat: Migrate Redux 13 - passing both terminal and UI tests

* feat: Adding in code tags for previous redux challenges - terminal and UI tests pass

* feat: Migrates React Redux 09 and React 44 (thanks Kevin)

* feat: fix code tag issues - passed UI and terminal tests

* feat: Migrates Redux 14 tests

* feat: Migrates Redux 14

* feat: Migrates Redux 15

* feat: Migrates Redux 17

* feat: Final migration and QA of Redux, except for Redux 9

* feat: migrates React 36 and QAs

* feat: Rewrites Redux 09 and migrates

* feat: refactors pull request and cleans up code

* style(challenges): QA React challenges

* style(challenges): QA react challenges

* fix(challenges): fix react 41 and 45 tests

* style(challenges): QA redux challenges

* style(challenges): QA react and redux challenges

* fix(seed/react): Move head/tail to files

* fix(seed/redux): Move head/tail to file level

* chore(packages): Move jsdom to dev deps

* fix(seed/react/redux): Async funcs

make async func defined

* fix(seed): %s/editor.getUserCode/getUserInput/gc

* fix(Challenges/build): Make sure head/tail is bundled and transformed

* feat(Challenges.react): Add tail to render component

* chore(seed): Disable modern challenge testing for now

We will put these on beta while we update the auto testing framework
2017-12-18 15:04:03 -06:00
Stuart Taylor b4542a5aa3 feat(search): Add react-freecodecamp-search to Nav (#16209) 2017-12-18 10:48:21 -06:00
Stuart Taylor 01b47984c7 chore(package.json): Sort scripts 2017-12-16 10:09:57 +00:00
Stuart Taylor dfec5c952b feat(dev): Add Gulp to dev-deps 2017-12-16 10:08:53 +00:00
Berkeley Martinez b1e9a172a2 Feat: anon navbar (#16189)
* chore(React): %s/react-pure-render/React.PureComponent/gc

* fix(Settings): Should redirect to signup when unauthen

* feat(Development): Use SES for mail if defined

* feat(Nav): Show anon navbar when logged in

* fix(server/datasources): Make sure mailhog works if no ses keys are found

LB will use both mail settings if using both local and dev

* fix(Nav): Use text instead of icons

* fix(Nav): Make donate page open in new tab
2017-12-15 15:53:32 -06:00
Berkeley Martinez dced96da8e feat: react challenges (#16099)
* chore(packages): Update redux utils

* feat(Panes): Invert control of panes map creation

* feat(Modern): Add view

* feat(Panes): Decouple panes from Challenges

* fix(Challenges): Decouple challenge views from panes map

* fix(Challenge/views): PanesMap => mapStateToPanesMap

This clarifies what these functions are doing

* fix(Challenges): Add view type

* fix(Panes): Remove unneeded panes container

* feat(Panes): Invert control of pane content render

This decouples the Panes from the content they render, allowing for
greater flexibility.

* feat(Modern): Add side panel

This is common between modern and classic

* feat(seed): Array to string file content

* fix(files): Modern files should be polyvinyls

* feat(Modern): Create editors per file

* fix(seed/React): Incorrect keyfile name

* feat(Modern): Highligh jsx correctly

This adds highlighting for jsx. Unfortunately, this disables linting for
non-javascript files as jshint will only work for those

* feat(rechallenge): Add jsx ext to babel transformer

* feat(seed): Normalize challenge files head/tail/content

* refactor(rechallenge/build): Rename function

* fix(code-storage): Pull in files from localStorage

* feat(Modern/React): Add Enzyme to test runner

This enables testing of React challenges

* feat(Modern): Add submission type

* refactor(Panes): Rename panes map update action
2017-11-29 17:44:51 -06:00
Mrugesh Mohapatra ecd0802f1e chore(dependencies): Update to latest semvers 2017-11-16 11:35:44 +05:30
Mrugesh Mohapatra 2f5a7869f0 chore(lb3-dependancies): Update to latest add-ons 2017-11-16 11:34:50 +05:30
Mrugesh Mohapatra 4967b2a2be chore(dependencies): Add and update CORS config 2017-11-16 11:34:50 +05:30
Mrugesh Mohapatra 460ce2644a fix: Update to loopback@^3 and add strong-error-hanlder@^1 2017-11-16 11:34:50 +05:30
Berkeley Martinez dbecdc5618 feat: prep for modern challenges (#15781)
* feat(seed): Add modern challenge

* chore(react): Use prop-types package

* feat: Initial refactor to redux-first-router

BREAKING CHANGE: Everything is different!

* feat: First rendering

* feat(routes): Challenges view render but failing

* fix(Challenges): Remove contain HOC

* fix(RFR): Add params selector

* fix(RFR): :en should be :lang

* fix: Update berks utils for redux

* fix(Map): Challenge link to arg

* fix(Map): Add trailing slash to map page

* fix(RFR): Use FCC Link

Use fcc Link to get around issue of lang being undefined

* fix(Router): Link to is required

* fix(app): Rely on RFR state for app lang

* chore(RFR): Remove unused RFR Link

* fix(RFR): Hydrate initial challenge using RFR and RO

* fix: Casing issue

* fix(RFR): Undefined links

* fix(RFR): Use onRoute<name> convention for route types

* feat(server/react): Add helpful redux logging/throwing

* fix(server/react): Strip out nonjson from state

This prevents thunks in routesMap from breaking serialization

* fix(RFR/Link): Should accept any renderable

* fix(RFR): Get redirects working

* fix(RFR): Redirects and not found's

* fix(Map): Move challenge onClick handler

* fix(Map): Allow Router.link to handle clicks after onClick

* fix(routes): Remove react-router-redux

* feat(Router): Add lang to all route actions by default

* fix(entities): Only fetch challenge if not already loaded

* fix(Files): Move files to own feature

* chore(Challenges): Remove vestigial hints logic

* fix(RFR): Update challenges on route challenges

* fix(code-storage): Should use events instead of commands

* fix(Map): ClickOnMap should not hold on to event

* chore(lint): Use eslint-config-freecodecamp

Closes #15938

* feat(Panes): Update panes on route instead of render

* fix(Panes): Store panesmap and update on fetchchallenges

* fix(Panes): Normalize panesmaps

* fix(Panes): Remove filter from createpanemap

* fix(Panes): Middleware on location meta object

* feat(Panes): Filter preview on nonhtml challenges

* build(babel): Add lodash babel plugin

* chore(lint): Lint js files

* fix(server/user-stats): Remove use of lodash chain

this interferes with babel-plugin-lodash

* feat(dev): Add remote redux devtools for ssr

* fix(Panes): Dispatch mount action

this is needed to trigger window/divider epics

* fix(Panes): Getpane to use new panesmap format

* fix(Panes): Always update panes after state

this lets the panes logic be affected by changes in state
2017-11-09 19:10:30 -06:00
Mrugesh Mohapatra dbd955a709 chore(tools): Move husky to dev dependencies 2017-11-01 10:34:01 +05:30
Mrugesh Mohapatra da24e83dfd chore(node): Update node version to 8x
Closes #15951
2017-11-01 01:20:55 +05:30
dhcodes 704a31682f build(package.json): Update react-bootstrap
change version to 0.31.2
2017-08-22 09:02:09 -05:00
Berkeley Martinez 42bfa2e64d feat(app): new layout (#14707)
* feat(app): Restructure app to be more flexible and redux idiomatic

BREAKING CHANGE: Lots of breaking changes

* refactor(challenges): Redux to started file structure

* fix(app): lint issues due to refactor

* fix(settings): Refactor settings to use folder structure

* refactor(challenges): Move step redux stuff into step folder

* fix(challenges): Remove fetchchallenges actions

* refactor(challenges): Move project redux logic into project view subdirectory

* refactor(app): %s/sagas/epics/g

* refactor(redux): Use new redux-epic with combineEpic and ofType

* refactor(app): Move challenge selector to app level

* fix(app): Move loading challenge info into challenge route

This moves a lot of the logic needed to load challenge info into the challenge app. This decouples
the main app from the challenge route

* refactor(map): Map is now decoupled from challenges

* refactor(challenges): Use selectors everywhere instead of guessing state shape

* refactor(client): refactor client epics to use selectors

* refactor(app): Refactor userSelector to return user object instead of object.user

* refactor(entities): Move entities logic into it's own file

* fix(redux): combineTypes should be combineActions

* fix(app): reducer namespacing and import

* fix(Map): Fix undefined type and update redux-action

* fix(redux): Refactor fetchUser to be more declarative

Use rxjs methods instead of imperative if/else. Also prevent non-actions from being emitted

* fix(redux): toString multi phase action types

* fix(redux): typecast multiphase type, fix typo in reducer

toString multiphase types in fetch challenge epic. Add epic to epics lists. Fix type in fetch
challenge complete handler

* fix(redux): updateCurrentChallengelogic should be centerlized

Move route changes to one location.

* fix(Nav): Prevent event object from hanging around

closeDropDown/openDropDown where handing on to the event object. This was causing issues with react
since event objects are recycled in React.

* fix(Map.Challenge): decouple map selector

* fix(Map): Decouple panel selectors from props

Panel Selectors no longer need to know the shape of a components props. Refactored component
selectors to decouple them entities state shape

* fix(Map.redux): Add select challenge epic and connect map epics

* fix(redux.analytics): Fix meta creator and nav/map events

* fix(redux): Update current challenge ajax

* fix(challenges): ssr fetch challenge should update challenge ui

Was using an epic to update challenge ui on fetch complete, but this was not working on ssr due to
the way ssr disables epics to wait for completion. This commit fixes this by causing the complete to
directly update state in the challenge ui

* fix(challenges): wrong import of types, refactor epic name

* fix(redux): Prevent fetch challenge epic from emitting null to dispatch

* fix(redux): prevent executechallenge from emitting null

* fix(challenges.redux): testsSelector returns just tests

* fix(challenges.redux): Prevent completion challenge from emitting null

* refactor(Challenges.Step): Refactor step challenge to release event object

* fix(redux): wrap reducers in factories
reducers exported from features need to be factories
this helps avoid cyclic requires messing up reducer creation
We end up with exports from files being undefined as node tries
to resolve cyclic dependencies.
This prevents that by wrapping the `handleActions` call so that the ref
to types imported from parent features are closures and can be resolved
by node before we need them.

* fix(Map): createUi not working correctly

map utils should receive just map ui state, createMapUi needs to add title to challenge

* feat(Challenges): Adds Panes and panes backend challenge

* fix: Create child container to wrap children

Create a ChildContainer comp' to wrap all children that represent the view for the current route.
This let's the child route define if they want a full width view or if they want the standard
max-width view.

* feat(Panes): panes now render dividers

* feat(Panes): Get divider to move currectly

* fix(Nav): Add top margin to contained childs

Move margin-bottom from nav to child container as margin top. This let's the jsbin style views fit
snug with navbar

* fix(Panes): Should be contained within their borders

* feat(Panes): Update navbar height of pane on app mount

* feat(Panes): Toggle map on map nav btn click

* fix(gulpfile): Ensure nodemon exits on restart

On process exit, wait for nodemon to shutdown before process.exit

* feat(Panes): Make Panes redux first

* fix(Panes): Fix divider positioning

* fix(Panes): Update divider moved handler

dividerMoved action now uses new panesByName structure

* feat(Panes): Pane nav button will hide panes

* chore(package-lock): Update package lock

* feat(Panes.redux): Recaculate dividers on pane toggle

* fix(Challenges): Update challenge on dashedName change

This fixes backwards navigation not updating the redux state current
challenge

* feat(Panes.redux): Clear panes on unmount

Clearing panes on unmount will clear bin buttons in nav

* refactor(Map): Colocate styles

* feat(Map): New map layout

* fix(Map): No longer has it's own page

* fix: FetchChallenges on appMounted

* feat: Normalize fetchChallenge(s) results

This allows superblocks to be sent with both fetchChallenge and
fetchChallenges so the map is always populated on first load

* feat(Map): Show blocks on first load

* fix(less): Remove old css

* feat(Nav): Reduce nav height

* fix(Nav): Render nav after content

Render nav after content and use css to reverse again on screen. We do
this so the panes can render first and update redux panes state which
will then update the nav ui state before nav has a chance to render

* fix(Panes): Add container

This adds a Panes Container that will allow it to udpate redux state so
Panes Component will have redux state ready to actually render panes

* feat(Challenges.Classic): Add panes

* fix(Challenge.Classic): Editor onchange should not need to know about file

* fix(Panes): Index on panes hide should account for hidden pane

* fix(Challanges.Classic): Fix panes types

* fix(Challenges): Add completion modal to all challenges

Change classic modal to completion modal

* fix(Panes): Dividers live on top of planes

* fix(Challenges): Remove codemirror theme

Remove codemirror theme and remove borders from preview frame

* fix(Challenges.Classic): Remove old component

* feat(Challenges.Step): Add panes to step challenge

* feat(Challenges.Project): Add panes to projects

* fix(Challenges.Projects): Remove row

* fix(Modals): Move modal text color to challenge less

This text color is dependent on the actual header color

* fix(Map): Use Superblock title for ui

* fix(Map): Reduce panel header height

* fix(app): Capitalize Toasts folder

Feature folders should be campitalized

* chore(Map): Remove unused epic file

* fix(Step): Fix tests

* test(Map): Update createMapUi tests input
2017-07-31 22:04:01 -05:00
Mrugesh Mohapatra 7acb1db632 fix(snyk): Remove snyk config 2017-07-16 23:53:43 +05:30
Mrugesh Mohapatra 54d88eca82 feat: enforce conventional commit messages 2017-07-14 00:23:34 +05:30
Berkeley Martinez 2fcd976700 fix(signup): signup auth (#15628)
* fix(models.user): Colocate all user methods

Moved user methods/extensions into one file. Tracked down `next method
called more than once` error and setting headers after their sent. Let
regular error handler handle api errors as well.

* feat(server.auth): Disable github account creation

We are no longer allowing account creation through github

* refactor(Auth): Move user identity link into models dir

* feat(Disable link account login): This removes the ability to use a linked account t

* feat(errorhandlers): Add opbeat, filter out handled error
2017-07-14 00:09:07 +05:30
mrugesh mohapatra c0e876142a feat(tools): Add commitizen and cz-freecodecamp (#15589) 2017-07-05 14:49:58 -07:00
Snyk bot 70f554d045 fix: package.json & .snyk to reduce vulnerabilities (#15039)
The following vulnerabilities are fixed with a Snyk patch:
- https://snyk.io/vuln/npm:ms:20170412

Latest report for freecodecamp/freecodecamp:
https://snyk.io/test/github/freecodecamp/freecodecamp
2017-05-31 00:13:52 +05:30
Berkeley Martinez b9911dbd34 Merge pull request #14082 from freeCodeCamp/greenkeeper-reselect-3.0.0
Update reselect to version 3.0.0 🚀
2017-04-18 16:26:00 -07:00
Berkeley Martinez 0116f58270 Merge pull request #14364 from freeCodeCamp/greenkeeper-redux-epic-0.2.0
Update redux-epic to version 0.2.0 🚀
2017-04-18 11:00:15 -07:00
greenkeeperio-bot 6bd965e312 chore(package): update redux-actions to version 2.0.2
https://greenkeeper.io/
2017-04-16 14:13:51 -07:00
greenkeeperio-bot a3b0ac8dfa chore(package): update redux-epic to version 0.2.0
https://greenkeeper.io/
2017-04-11 17:49:00 -07:00
Berkeley Martinez a2998c4b9c style(gulp): Linted gulpfile (#13978) 2017-03-28 13:25:08 -05:00
greenkeeperio-bot a5f83e6bd3 chore(package): update reselect to version 3.0.0
https://greenkeeper.io/
2017-03-24 13:37:16 -07:00
Berkeley Martinez 84db2f6644 Merge pull request #13928 from freeCodeCamp/greenkeeper-sinon-2.0.0
Update sinon to version 2.0.0 🚀
2017-03-17 14:20:10 -07:00
Berkeley Martinez 18abf92416 Merge pull request #12924 from freeCodeCamp/greenkeeper-gulp-notify-3.0.0
Update gulp-notify to version 3.0.0 🚀
2017-03-17 14:08:48 -07:00
greenkeeperio-bot 9156d5c175 chore(package): update sinon to version 2.0.0
https://greenkeeper.io/
2017-03-14 23:26:39 -07:00
Greenkeeper 514104fa82 chore(package): update dedent to version 0.7.0 (#12944)
https://greenkeeper.io/
2017-03-04 23:03:11 +00:00
Greenkeeper 8ef8c48ce4 chore(package): update yargs to version 7.0.1 (#13722)
https://greenkeeper.io/
2017-03-04 22:30:33 +00:00
Ivan 2ab929daa1 Remove unused npm package: clipboard (#13664) 2017-03-03 21:47:12 +05:30
Berkeley Martinez 81d720da5b Merge pull request #11474 from petrgazarov/chore/remove-bower
Remove bower and port dependencies over to npm
2017-02-27 15:03:59 -08:00
Berkeley Martinez 4d4516a2bc Merge pull request #12497 from Bouncey/fix/update-eslint-plugin-react
Enable react/sort-prop-types rule
2017-02-27 14:00:38 -08:00
Stuart Taylor 84f71de4ce Remove gltter-sidecar due to vunerability 2017-02-11 15:33:49 +00:00
Petr Gazarov f159027025 Remove bower and port dependencies over to npm 2017-02-09 00:09:39 -05:00
Stuart Taylor c96ce25598 Enable react/sort-prop-types rule 2017-02-05 13:13:36 +00:00
greenkeeperio-bot 0bebd94116 chore(package): update gulp-notify to version 3.0.0
https://greenkeeper.io/
2017-01-27 12:41:27 -08:00
Quincy Larson 1b2b54e2b0 Merge pull request #12586 from BerkeleyTrue/feat/real-time-user-count
feat(api): add current active users api
2017-01-26 22:02:02 -06:00
Berkeley Martinez 156796b167 Merge pull request #12424 from freeCodeCamp/greenkeeper-dotenv-4.0.0
Update dotenv to version 4.0.0 🚀
2017-01-26 18:23:40 -08:00
Berkeley Martinez 962675ee17 feat(api): Add active user api 2017-01-26 18:01:15 -08:00
Berkeley Martinez 04e6287fef chore: remove transition-replace 2017-01-11 11:31:06 -08:00
greenkeeperio-bot 1188b94145 chore(package): update dotenv to version 4.0.0
https://greenkeeper.io/
2017-01-07 11:16:01 -08:00
Greenkeeper c7bebadb87 chore(package): update react to version 15.4.2
https://greenkeeper.io/
2017-01-06 23:15:56 +00:00