Arcade Mode is an interview preparation app featuring algorithm and data structure questions in a timed environment. The end goal will be its incorporation into freeCodeCamp proper as part of the coding interview preparation section.
Arcade Mode has been undergoing heavy prototyping and iteration. As such, it is currently set up with development and debugging in mind.
- Fork the repository using the "Fork Button" in the upper right hand corner of the interface.
- Clone your fork using
git clone https://github.com/<YOUR_GITHUB_USERNAME>/arcade-mode.git
into your projects directory (e.g.,/<YOUR_PROJECTS_DIRECTORY>/
- Go into the new arcade-mode directory.
- Run
npm install
to install dependencies and start the build process. If you run into errors, please refer to the FAQ down below. - Run
npm start
and see the example app at http://localhost:8080
- Set the upstream remote to the official arcade-mode repository:
git remote add upstream https://github.com/freeCodeCamp/arcade-mode.git
- Update the fork locally by pulling from the upstream remote:
git pull upstream master
. - Push the updates to your fork repository with
git push origin master
.
- After finishing Quick Start steps 1 - 4, do the following:
- Find an issue that needs assistance by searching for the Help Wanted tag.
- Always make modifications on a branch. Create a branch using:
git checkout -b <BRANCH_NAME>
. - Test modifications with unit tests
npm run test:client
and in-app validation on the browser. - Once it all checks out, submit a pull request.
For a more complete guide, see CONTRIBUTING.md.
I'm receiving errors about the npm package, canvas. How can I fix this?
The canvas package has prerequisites that need to be installed before canvas can be installed correctly. Please refer to its npm page for installation instructions that depend on the operating system.
I'm receiving
package not found
errors onnpm install
. How can I fix this?
Try removing the node_modules
directory, then npm install
again. If this does not work, remove both node_modules
and package-lock.json
and try npm install
again.
I'm receiving the error "Received a non-Vinyl object in
dest()
". How can I fix this?
Remove the node_modules folder and npm install
again.
Is there a way I can automate
npm run test:client
to run when I try to push?
You can use git hooks. We are currently using this pre-push
script here, but you may want to tailor it to a different branch or all branches. The project's git hooks can be found in the /bin
directory (i.e., pre-push
and post-merge
).