feat(docs): add missing highlighting (#52246)

This commit is contained in:
Shaun Hamilton
2023-11-06 18:20:33 +02:00
committed by GitHub
parent 4ea7d491e5
commit 2f77d61ba7
12 changed files with 198 additions and 197 deletions

View File

@@ -318,19 +318,19 @@ ensure that the virtual machine is patched with the latest security fixes.
Update package information
```console
```bash
sudo apt update
```
Upgrade installed packages
```console
```bash
sudo apt upgrade -y
```
Cleanup unused packages
```console
```bash
sudo apt autoremove -y
```
@@ -350,7 +350,7 @@ Provisioning VMs with the Code
1. Install NGINX and configure from repository.
```console
```bash
sudo su
cd /var/www/html
@@ -372,7 +372,7 @@ Provisioning VMs with the Code
Move over existing certificates:
```console
```bash
# Local
scp -r username@source-server-public-ip:/etc/nginx/ssl ./
scp -pr ./ssl username@target-server-public-ip:/tmp/
@@ -384,7 +384,7 @@ Provisioning VMs with the Code
Update Upstream Configurations:
```console
```bash
vi configs/upstreams.conf
```
@@ -403,7 +403,7 @@ Provisioning VMs with the Code
1. Check status for NGINX service using the below command:
```console
```bash
sudo systemctl status nginx
```
@@ -418,13 +418,13 @@ deployed on each instance like so:
1. SSH into the instance and enter sudo
```console
```bash
sudo su
```
2. Get the latest config code.
```console
```bash
cd /etc/nginx
git fetch --all --prune
git reset --hard origin/main
@@ -433,7 +433,7 @@ git reset --hard origin/main
3. Test and reload the config
[with Signals](https://docs.nginx.com/nginx/admin-guide/basic-functionality/runtime-control/#controlling-nginx).
```console
```bash
nginx -t
nginx -s reload
```
@@ -442,7 +442,7 @@ nginx -s reload
1. Install build tools for node binaries (`node-gyp`) etc.
```console
```bash
sudo apt install build-essential
```
@@ -454,19 +454,19 @@ Provisioning VMs with the Code
2. Install pnpm globally.
```console
```bash
npm install -g pnpm
```
3. Install pm2 globally.
```console
```bash
npm install -g pm2
```
4. Clone freeCodeCamp, set up env, and keys.
```console
```bash
git clone https://github.com/freeCodeCamp/freeCodeCamp.git
cd freeCodeCamp
git checkout prod-current # or any other branch to be deployed
@@ -476,36 +476,36 @@ git checkout prod-current # or any other branch to be deployed
6. Install dependencies
```console
```bash
pnpm install
```
7. Setup pm2 `logrotate` and startup on boot
```console
```bash
pm2 install pm2-logrotate
pm2 startup
```
8. Build the server
```console
```bash
pnpm prebuild && pnpm build:curriculum && pnpm build:server
```
9. Start Instances
```console
```bash
pnpm start:server
```
### Logging and Monitoring
```console
```bash
pm2 logs
```
```console
```bash
pm2 monit
```
@@ -522,31 +522,31 @@ dependencies or adding environment variables.
1. Stop all instances
```console
```bash
pm2 stop all
```
2. Install dependencies
```console
```bash
pnpm install
```
3. Build the server
```console
```bash
pnpm prebuild && pnpm build:curriculum && pnpm build:server
```
4. Start Instances
```console
```bash
pnpm start:server && pm2 logs
```
#### 2. Rolling updates - Used for logical changes to code.
```console
```bash
pnpm reload:server && pm2 logs
```
@@ -559,7 +559,7 @@ pnpm reload:server && pm2 logs
2. Update pm2 to use the new version
```console
```bash
pm2 update
```
@@ -567,7 +567,7 @@ pm2 update
1. Install build tools for node binaries (`node-gyp`) etc.
```console
```bash
sudo apt install build-essential
```
@@ -579,7 +579,7 @@ Provisioning VMs with the Code
2. Update `npm` and install PM2 and setup `logrotate` and startup on boot
```console
```bash
npm i -g npm@8
npm i -g pm2@4
npm install -g serve@13
@@ -589,7 +589,7 @@ Provisioning VMs with the Code
3. Clone client config, setup env and keys.
```console
```bash
git clone https://github.com/freeCodeCamp/client-config.git client
cd client
```
@@ -599,7 +599,7 @@ Provisioning VMs with the Code
> Todo: This setup needs to move to S3 or Azure Blob storage
```console
```bash
echo "serve -c ../serve.json -p 50505 www" > client-start-primary.sh
chmod +x client-start-primary.sh
pm2 delete client-primary
@@ -612,11 +612,11 @@ Provisioning VMs with the Code
### Logging and Monitoring
```console
```bash
pm2 logs
```
```console
```bash
pm2 monit
```
@@ -633,7 +633,7 @@ dependencies or adding environment variables.
1. Stop all instances
```console
```bash
pm2 stop all
```
@@ -641,13 +641,13 @@ dependencies or adding environment variables.
3. Start Instances
```console
```bash
pm2 start all --update-env && pm2 logs
```
#### 2. Rolling updates - Used for logical changes to code.
```console
```bash
pm2 reload all --update-env && pm2 logs
```
@@ -668,7 +668,7 @@ Provisioning VMs with the Code
1. Install NGINX and configure from repository.
```console
```bash
sudo su
cd /var/www/html
@@ -690,7 +690,7 @@ Provisioning VMs with the Code
Move over existing certificates:
```console
```bash
# Local
scp -r username@source-server-public-ip:/etc/nginx/ssl ./
scp -pr ./ssl username@target-server-public-ip:/tmp/
@@ -702,7 +702,7 @@ Provisioning VMs with the Code
Update Upstream Configurations:
```console
```bash
vi configs/upstreams.conf
```
@@ -721,7 +721,7 @@ Provisioning VMs with the Code
1. Install Docker and configure from the repository
```console
```bash
git clone https://github.com/freeCodeCamp/chat-config.git chat
cd chat
```
@@ -730,7 +730,7 @@ Provisioning VMs with the Code
3. Run rocket-chat server
```console
```bash
docker-compose config
docker-compose up -d
```
@@ -739,13 +739,13 @@ Provisioning VMs with the Code
1. Check status for NGINX service using the below command:
```console
```bash
sudo systemctl status nginx
```
2. Check status for running docker instances with:
```console
```bash
docker ps
```
@@ -758,13 +758,13 @@ deployed on each instance like so:
1. SSH into the instance and enter sudo
```console
```bash
sudo su
```
2. Get the latest config code.
```console
```bash
cd /etc/nginx
git fetch --all --prune
git reset --hard origin/main
@@ -773,7 +773,7 @@ deployed on each instance like so:
3. Test and reload the config
[with Signals](https://docs.nginx.com/nginx/admin-guide/basic-functionality/runtime-control/#controlling-nginx).
```console
```bash
nginx -t
nginx -s reload
```
@@ -782,44 +782,44 @@ deployed on each instance like so:
1. SSH into the instance and navigate to the chat config path
```console
```bash
cd ~/chat
```
2. Get the latest config code.
```console
```bash
git fetch --all --prune
git reset --hard origin/main
```
3. Pull down the latest docker image for Rocket.Chat
```console
```bash
docker-compose pull
```
4. Update the running instances
```console
```bash
docker-compose up -d
```
5. Validate the instances are up
```console
```bash
docker ps
```
6. Cleanup extraneous resources
```console
```bash
docker system prune --volumes
```
Output:
```console
```bash
WARNING! This will remove:
- all stopped containers
- all networks not used by at least one container
@@ -838,7 +838,7 @@ deployed on each instance like so:
ssh into the VM (hosted on Digital Ocean).
```console
```bash
cd tools
git pull origin master
pnpm install
@@ -850,7 +850,7 @@ pm2 restart contribute-app
List currently installed node & npm versions
```console
```bash
nvm -v
node -v
npm -v
@@ -860,25 +860,25 @@ nvm ls
Install the latest Node.js LTS, and reinstall any global packages
```console
```bash
nvm install --lts --reinstall-packages-from=default
```
Verify installed packages
```console
```bash
npm ls -g --depth=0
```
Alias the `default` Node.js version to the current LTS (pinned to the latest major version)
```console
```bash
nvm alias default 16
```
(Optional) Uninstall old versions
```console
```bash
nvm uninstall <version>
```
@@ -889,31 +889,31 @@ nvm uninstall <version>
Get the uninstall instructions/commands with the `unstartup` command and use the output to remove the systemctl services
```console
```bash
pm2 unstartup
```
Get the install instructions/commands with the `startup` command and use the output to add the systemctl services
```console
```bash
pm2 startup
```
Quick commands for PM2 to list, resurrect saved processes, etc.
```console
```bash
pm2 ls
```
```console
```bash
pm2 resurrect
```
```console
```bash
pm2 save
```
```console
```bash
pm2 logs
```
@@ -936,32 +936,32 @@ Currently updating agents requires them to be removed and reconfigured. This is
1. Navigate and check status of the service
```console
```bash
cd ~/azagent
sudo ./svc.sh status
```
2. Stop the service
```console
```bash
sudo ./svc.sh stop
```
3. Uninstall the service
```console
```bash
sudo ./svc.sh uninstall
```
4. Remove the agent from the pipeline pool
```console
```bash
./config.sh remove
```
5. Remove the config files
```console
```bash
cd ~
rm -rf ~/azagent
```
@@ -976,7 +976,7 @@ We use [a CLI tool](https://github.com/freecodecamp/sendgrid-email-blast) to sen
2. Set up the script to fetch the email list.
```console
```bash
cd /home/freecodecamp/scripts/emails
cp sample.env .env
```
@@ -985,7 +985,7 @@ We use [a CLI tool](https://github.com/freecodecamp/sendgrid-email-blast) to sen
3. Run the script.
```console
```bash
node get-emails.js emails.csv
```

View File

@@ -27,25 +27,25 @@ To run tests against production builds, replace `dev` with `prd` below.
- To run all tests in the `./cypress` directory:
```console
```bash
pnpm run cypress:dev:run
```
- To run a single test:
```console
```bash
pnpm run cypress run --spec=cypress/<path_to_test_file>
```
For example:
```console
```bash
pnpm run cypress run --spec=cypress/e2e/default/landing.ts
```
- To create a development build, start the development server, and run all existing cypress end-to-end tests:
```console
```bash
pnpm run e2e:dev:run
```
@@ -58,25 +58,25 @@ If starting the Gitpod environment did not automatically develop the environment
- Follow the [MongoDB installation guide](https://www.mongodb.com/basics/get-started).
- Create a config file.
```console
```bash
pnpm run create:shared
```
- Seed the database
```console
```bash
pnpm run seed
```
- Develop the server and client
```console
```bash
pnpm run develop
```
### 2. Install Cypress Build Tools
```console
```bash
pnpm run cypress:install-build-tools
```

View File

@@ -4,7 +4,7 @@
To install Playwright run:
```console
```bash
pnpm run playwright:install-build-tools
```
@@ -181,49 +181,49 @@ To run tests with Playwright check the following below
- Make sure you navigate to the e2e repo first
```console
```bash
cd e2e
```
- To run tests in UI helper mode:
```console
```bash
npx playwright test --ui
```
- To run a single test:
```console
```bash
npx playwright test <filename>
```
For example:
```console
```bash
npx playwright test landing-page.spec.ts
```
- Run a set of test files in respective folders:
```console
```bash
npx playwright test <pathToFolder1> <pathToFolder2>
```
For example:
```console
```bash
npx playwright test tests/todo-page/ tests/landing-page/
```
- Run the test with the title:
```console
```bash
npx playwright test -g <title>
```
For example:
```console
```bash
npx playwright test -g "add a todo item"
```
@@ -233,13 +233,13 @@ Since Playwright runs in Node.js, you can debug it with your debugger of choice
- Debugging all tests:
```console
```bash
npx playwright test --debug
```
- Debugging one test file:
```console
```bash
npx playwright test example.spec.ts --debug
```
@@ -247,7 +247,7 @@ Since Playwright runs in Node.js, you can debug it with your debugger of choice
The HTML Reporter shows you a full report of your tests allowing you to filter the report by browsers, passed tests, failed tests, skipped tests and flaky tests.
```console
```bash
npx playwright show-report
```
@@ -257,13 +257,13 @@ Playwright is generally a solid bullet-proof tool. The contributor has already c
- (MacOs and Linux) If running Playwright results in an error due to kernel dependencies, run the following command:
```console
```bash
pnpm run playwright:install-build-tools-linux
```
- A common error seen in playwright is as follows:
```console
```bash
Error: page.goto: Could not connect: Connection refused
=========================== logs ===========================
navigating to "https://127.0.0.1:8000/", waiting until "load"
@@ -284,7 +284,7 @@ Playwright is generally a solid bullet-proof tool. The contributor has already c
- Another common error seen in playwright is as follows:
```console
```bash
Protocol error (Network.getResponseBody): Request content was evicted from inspector cache
```
@@ -305,25 +305,25 @@ If starting the Gitpod environment did not automatically develop the environment
- Create the .env
```console
```bash
cp sample.env .env
```
- Create a config file.
```console
```bash
pnpm run create:shared
```
- Seed the database
```console
```bash
pnpm run seed
```
- Develop the server and client
```console
```bash
pnpm run develop
```
@@ -331,7 +331,7 @@ If starting the Gitpod environment did not automatically develop the environment
To install necessary dependencies for running Playwright run the following command:
```console
```bash
pnpm run playwright:install-build-tools
```
@@ -339,6 +339,6 @@ pnpm run playwright:install-build-tools
To run all Playwright tests, run the following command:
```console
```bash
npx playwright test
```

View File

@@ -10,13 +10,13 @@ Follow these steps:
1. Validate that you are on the `main` branch:
```console
```bash
git status
```
You should get an output like this:
```console
```bash
On branch main
Your branch is up-to-date with 'origin/main'.
@@ -25,7 +25,7 @@ Follow these steps:
If you got a different message, then you aren't on main or your working directory isn't clean, resolve any outstanding files/commits and checkout `main`:
```console
```bash
git checkout main
```
@@ -40,25 +40,25 @@ Follow these steps:
Update your copy of the freeCodeCamp upstream repository:
```console
```bash
git fetch upstream
```
Hard reset your main branch with the freeCodeCamp main:
```console
```bash
git reset --hard upstream/main
```
Push your main branch to your origin to have a clean history on your fork on GitHub:
```console
```bash
git push origin main --force
```
You can validate that your current main matches the upstream/main by performing a diff:
```console
```bash
git diff upstream/main
```
@@ -70,7 +70,7 @@ Follow these steps:
Check that you are on `main` as explained previously, and branch off from there:
```console
```bash
git checkout -b fix/update-guide-for-xyz
```
@@ -94,13 +94,13 @@ Follow these steps:
7. Check and confirm the files you are updating:
```console
```bash
git status
```
This should show a list of `unstaged` files that you have edited.
```console
```bash
On branch feat/documentation
Your branch is up to date with 'upstream/feat/documentation'.
@@ -119,25 +119,25 @@ Follow these steps:
In this step, you should only mark files that you have edited or added yourself. You can perform a reset and resolve files that you did not intend to change if needed.
```console
```bash
git add path/to/my/changed/file.ext
```
Or you can add all the `unstaged` files to the staging area:
```console
```bash
git add .
```
Only the files that were moved to the staging area will be added when you make a commit.
```console
```bash
git status
```
Output:
```console
```bash
On branch feat/documentation
Your branch is up to date with 'upstream/feat/documentation'.
@@ -152,7 +152,7 @@ Follow these steps:
Now, you can commit your changes with a short message like so:
```console
```bash
git commit -m "fix: my short commit message"
```
@@ -182,7 +182,7 @@ Follow these steps:
9. If you realize that you need to edit a file or update the commit message after making a commit you can do so after editing the files with:
```console
```bash
git commit --amend
```
@@ -190,7 +190,7 @@ Follow these steps:
10. Next, you can push your changes to your fork:
```console
```bash
git push origin branch/name-here
```

View File

@@ -118,14 +118,14 @@ When you are working on regular bugs and features on our development branch `mai
1. Rebase your local copy:
```console
```bash
git checkout <pr-branch>
git pull --rebase upstream main
```
2. Resolve any conflicts and add / edit commits
```console
```bash
# Either
git add .
git commit -m "chore: resolve conflicts"
@@ -137,7 +137,7 @@ When you are working on regular bugs and features on our development branch `mai
3. Push back your changes to the PR
```console
```bash
git push --force origin <pr-branch>
```
@@ -147,7 +147,7 @@ When you are working on features for our upcoming curriculum `next-*` branches,
1. Make sure your upstream comes in sync with your local:
```console
```bash
git checkout main
git fetch --all --prune
git checkout next-python-projects
@@ -158,7 +158,7 @@ When you are working on features for our upcoming curriculum `next-*` branches,
a. Either delete your local branch after taking a backup (if you still have it locally):
```console
```bash
git checkout <pr-branch-name>
# example:
@@ -174,7 +174,7 @@ When you are working on features for our upcoming curriculum `next-*` branches,
b. Or just a backup of your PR branch (if you do not have it locally):
```console
```bash
git checkout -b <backup-branch-name> origin/<pr-branch-name>
# example:
@@ -183,14 +183,14 @@ When you are working on features for our upcoming curriculum `next-*` branches,
3. Start off with a clean slate:
```console
```bash
git checkout -b <pr-branch-name> next-python-projects
git cherry-pick <commit-hash>
```
4. Resolve any conflicts, cleanup, and install dependencies and run tests
```console
```bash
pnpm run clean
pnpm install
@@ -204,6 +204,6 @@ When you are working on features for our upcoming curriculum `next-*` branches,
5. If everything looks good, push back to the PR
```console
```bash
git push --force origin <pr-branch-name>
```

View File

@@ -79,7 +79,7 @@ We primarily support development on Linux and Unix-based systems like Ubuntu and
If Node.js is already installed on your machine, run the following commands to validate the versions:
```console
```bash
node -v
pnpm -v
```
@@ -150,7 +150,7 @@ Run these commands on your local machine:
2. Clone your fork of freeCodeCamp, replacing `YOUR_USER_NAME` with your GitHub Username
```console
```bash
git clone --depth=1 https://github.com/YOUR_USER_NAME/freeCodeCamp.git
```
@@ -168,25 +168,25 @@ You need a reference from your local clone to the `upstream` repository in addit
1. Change the directory to the new freeCodeCamp directory:
```console
```bash
cd freeCodeCamp
```
2. Add a remote reference to the main freeCodeCamp repository:
```console
```bash
git remote add upstream https://github.com/freeCodeCamp/freeCodeCamp.git
```
3. Ensure the configuration looks correct:
```console
```bash
git remote -v
```
The output should look something like below (replacing `YOUR_USER_NAME` with your GitHub username):
```console
```bash
origin https://github.com/YOUR_USER_NAME/freeCodeCamp.git (fetch)
origin https://github.com/YOUR_USER_NAME/freeCodeCamp.git (push)
upstream https://github.com/freeCodeCamp/freeCodeCamp.git (fetch)
@@ -211,12 +211,12 @@ And as always, feel free to ask questions on the ['Contributors' category on our
The default API keys and environment variables are stored in the file `sample.env`. This file needs to be copied to a new file named `.env` that is accessed dynamically during the installation step.
```console
```bash
# Create a copy of the "sample.env" and name it ".env".
# Populate it with the necessary API keys and secrets
```
```console
```bash
cp sample.env .env
```
@@ -229,7 +229,7 @@ The keys in the `.env` file are _not_ required to be changed to run the app loca
This step will install the dependencies required for the application to run:
```console
```bash
pnpm install && pnpm run create:shared
```
@@ -244,7 +244,7 @@ Before you can run the application locally, you will need to start the MongoDB s
Start the MongoDB server in a separate terminal:
```console
```bash
mongod
```
@@ -253,13 +253,13 @@ mongod
Next, let's seed the database. In this step, we run the below command that fills the MongoDB server with some initial data sets that are required by services. These include a few schemas, among other things.
```console
```bash
pnpm run seed
```
By default, you will be signed in as a new user without any completed certifications. Run the following commands if you need to develop with completed certifications:
```console
```bash
pnpm run seed:certified-user
pnpm run seed:exams
```
@@ -271,7 +271,7 @@ pnpm run seed:exams
You can now start up the API server and the client applications.
```console
```bash
pnpm run develop
```

View File

@@ -18,7 +18,7 @@ Start by installing the prerequisite software for your operating system.
If Flutter is already installed on your machine, run the following commands to validate the versions:
```console
```bash
flutter --version
dart --version
```
@@ -73,7 +73,7 @@ Run these commands on your local machine:
2. Clone your fork of freeCodeCamp, replacing `YOUR_USER_NAME` with your GitHub Username
```console
```bash
git clone --depth=1 https://github.com/YOUR_USER_NAME/mobile.git
```
@@ -91,25 +91,25 @@ You need a reference from your local clone to the `upstream` repository in addit
1. Change directory to the new `mobile` directory:
```console
```bash
cd mobile
```
2. Add a remote reference to the main freeCodeCamp mobile repository:
```console
```bash
git remote add upstream https://github.com/freeCodeCamp/mobile.git
```
3. Ensure the configuration looks correct:
```console
```bash
git remote -v
```
The output should look something like below (replacing `YOUR_USER_NAME` with your GitHub username):
```console
```bash
origin https://github.com/YOUR_USER_NAME/mobile.git (fetch)
origin https://github.com/YOUR_USER_NAME/mobile.git (push)
upstream https://github.com/freeCodeCamp/mobile.git (fetch)
@@ -133,20 +133,20 @@ And as always, feel free to ask questions on the ['Contributors' category on our
The default API keys and environment variables are stored in the file `sample.env`. This file needs to be copied to a new file named `.env` which is accessed dynamically during the installation step. Remember to change the directory to `mobile-app` before running the following commands.
```console
```bash
# Create a copy of the "sample.env" and name it ".env".
# Populate it with the necessary API keys and secrets:
```
#### **macOS/Linux**
```console
```bash
cp sample.env .env
```
#### **Windows**
```console
```bash
copy sample.env .env
```
@@ -156,7 +156,7 @@ The keys in the `.env` file are _not_ required to be changed to run the app loca
This step will install the dependencies required for the application to run:
```console
```bash
flutter pub get
```
@@ -166,7 +166,7 @@ Start the emulator of your choice(Android or iOS) and wait for the bootup proces
You can now start the app by running the following command:
```console
```bash
flutter run
```
@@ -181,13 +181,13 @@ Follow these steps:
1. Validate that you are on the `main` branch:
```console
```bash
git status
```
You should get an output like this:
```console
```bash
On branch main
Your branch is up-to-date with 'origin/main'.
@@ -196,7 +196,7 @@ Follow these steps:
If you are not on main or your working directory is not clean, resolve any outstanding files/commits and checkout `main`:
```console
```bash
git checkout main
```
@@ -211,25 +211,25 @@ Follow these steps:
Update your local copy of the freeCodeCamp mobile upstream repository:
```console
```bash
git fetch upstream
```
Hard reset your main branch with the freeCodeCamp mobile main:
```console
```bash
git reset --hard upstream/main
```
Push your main branch to your origin to have a clean history on your fork on GitHub:
```console
```bash
git push origin main --force
```
You can validate that your current main matches the upstream/main by performing a diff:
```console
```bash
git diff upstream/main
```
@@ -241,7 +241,7 @@ Follow these steps:
Check that you are on `main` as explained previously, and branch off from there:
```console
```bash
git checkout -b fix/update-guide-for-xyz
```
@@ -265,13 +265,13 @@ Follow these steps:
7. Check and confirm the files you are updating:
```console
```bash
git status
```
This should show a list of `unstaged` files that you have edited.
```console
```bash
On branch feat/documentation
Your branch is up to date with 'upstream/feat/documentation'.
@@ -288,25 +288,25 @@ Follow these steps:
In this step, you should only mark files that you have edited or added yourself. You can perform a reset and resolve files that you did not intend to change if needed.
```console
```bash
git add path/to/my/changed/file.ext
```
Or you can add all the `unstaged` files to the staging area:
```console
```bash
git add .
```
Only the files that were moved to the staging area will be added when you make a commit.
```console
```bash
git status
```
Output:
```console
```bash
On branch feat/documentation
Your branch is up to date with 'upstream/feat/documentation'.
@@ -319,7 +319,7 @@ Follow these steps:
Now, you can commit your changes with a short message like so:
```console
```bash
git commit -m "fix: my short commit message"
```
@@ -351,7 +351,7 @@ Follow these steps:
9. If you realize that you need to edit a file or update the commit message after making a commit you can do so after editing the files with:
```console
```bash
git commit --amend
```
@@ -359,7 +359,7 @@ Follow these steps:
10. Next, you can push your changes to your fork:
```console
```bash
git push origin branch/name-here
```
@@ -370,14 +370,14 @@ Follow these steps:
1. Clone a copy of the [freeCodeCamp repo](https://github.com/freeCodeCamp/freeCodeCamp) locally outside of your local copy of the freeCodeCamp mobile repo. Your folder structure should look like this:
```console
```bash
├── freeCodeCamp
├── mobile
```
2. Change the directory to the freeCodeCamp repo:
```console
```bash
cd freeCodeCamp
```
@@ -385,25 +385,25 @@ Follow these steps:
#### **macOS/Linux**
```console
```bash
cp sample.env .env
```
#### **Windows**
```console
```bash
copy sample.env .env
```
4. Install the dependencies for the freeCodeCamp repo:
```console
```bash
pnpm install && pnpm run create:shared
```
5. Generate the challenge data JSON file:
```console
```bash
pnpm run build:curriculum
```
@@ -411,54 +411,54 @@ Follow these steps:
#### **macOS/Linux**
```console
```bash
cp ./shared/config/curriculum.json ../mobile/mobile-app/curriculum.json
```
#### **Windows**
```console
```bash
copy .\shared\config\curriculum.json ..\mobile\mobile-app\curriculum.json
```
7. Change directory to the mobile app:
```console
```bash
cd ../mobile/mobile-app
```
8. Install the dependencies for the mobile app:
```console
```bash
flutter pub get
```
9. Update the test file to use the challenge data JSON file:
```console
```bash
sed -i '' 's/..\/..\/shared\/config\/curriculum.json/.\/curriculum.json/g' test/widget_test.dart
```
10. Generate the challenge files:
```console
```bash
flutter test test/widget_test.dart
```
11. Start a local server to serve the challenge files with the help of `serve` package:
```console
```bash
npx serve
```
12. In a different terminal go back to the freeCodeCamp repo:
```console
```bash
cd ../../freeCodeCamp
```
13. Run the cypress tests:
```console
```bash
pnpm cypress run --config retries=1,screenshotOnRunFailure=false,video=false,baseUrl=http://localhost:3000/generated-tests/,specPattern=cypress/e2e/mobile-learn/test-challenges.js -s cypress/e2e/mobile-learn/test-challenges.js -b chrome
```
@@ -489,7 +489,7 @@ If you are on a different OS and/or are still running into issues, see [getting
If you face issues with the UI, or build errors a cleanup can be useful:
```console
```bash
flutter clean
```

View File

@@ -25,7 +25,7 @@ Follow the instructions on the [official documentation](https://docs.microsoft.c
2. Update the dependencies for the OS
```console
```bash
sudo apt update
sudo apt upgrade -y
@@ -77,13 +77,13 @@ Once you have configured Docker Desktop to work with WSL2, follow these steps to
2. Pull MongoDB from Docker Hub. Please refer to the [Prerequisites](how-to-setup-freecodecamp-locally.md#Prerequisites) table for the current version of MongoDB used by freeCodeCamp. For example, if the version number is `5.0.x`, replace `<x.y>` with `5.0` in the following two code snippets.
```console
```bash
docker pull mongo:<x.y>
```
3. Start the MongoDB service at port `27017`, and configure it to run automatically on system restarts
```console
```bash
docker run -it \
-v mongodata:/data/db \
-p 27017:27017 \
@@ -100,7 +100,7 @@ We recommend you install the LTS release for Node.js with a node version manager
Once installed use this command to install and use the latest Node.js LTS version:
```console
```bash
nvm install --lts
```
@@ -108,7 +108,7 @@ For instructions on installing and using a different version of Node.js, please
Node.js comes bundled with `npm`, which you can use to install `pnpm`:
```console
```bash
npm install -g pnpm
```

View File

@@ -17,7 +17,7 @@ Let's understand how the i18n frameworks and tooling work.
Most of the files for translating the platform are located in the [`client/i18n`](https://github.com/freeCodeCamp/freeCodeCamp/tree/main/client/i18n) folder. Each language has a directory that contains JSON files with the translations.
```console
```bash
config
└── i18n.ts
...

View File

@@ -48,7 +48,7 @@ Typically you would not need to change any configuration or build the site local
Install freeCodeCamp locally ([see the local setup guide](how-to-setup-freecodecamp-locally)), we bundled the CLI with the development tools so you can run the command below as needed from the root of the repo:
```console
```bash
pnpm run docs:serve
```

View File

@@ -259,15 +259,16 @@
<!-- <script src="https://cdn.jsdelivr.net/npm/docsify-themeable@0"></script> -->
<!-- Plugins -->
<script src="https://cdn.jsdelivr.net/npm/docsify/lib/plugins/emoji.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/docsify/lib/plugins/zoom-image.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/docsify-copy-code@2"></script>
<script src="https://cdn.jsdelivr.net/npm/docsify@4/lib/plugins/search.js"></script>
<script src="https://cdn.jsdelivr.net/npm/docsify-plugin-flexible-alerts@1"></script>
<script src="https://cdn.jsdelivr.net/npm/prismjs@1.23.0/components/prism-jsx.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/prismjs@1.23.0/components/prism-typescript.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/prismjs@1.23.0/components/prism-tsx.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/prismjs@1.23.0/components/prism-yaml.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/prismjs@1.29.0/components/prism-jsx.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/prismjs@1.29.0/components/prism-typescript.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/prismjs@1.29.0/components/prism-tsx.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/prismjs@1.29.0/components/prism-yaml.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/prismjs@1.29.0/components/prism-ini.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/prismjs@1.29.0/components/prism-bash.min.js"></script>
<script src="https://unpkg.com/docsify-pagination/dist/docsify-pagination.min.js"></script>
<script src="https://unpkg.com/docsify-remote-markdown/dist/docsify-remote-markdown.min.js"></script>

View File

@@ -16,7 +16,7 @@ If you are on a different OS or are still facing issues, see [getting help](#get
When you build the client, Gatsby will cache the Fonts, language strings, and UI. If one of them isn't cached, run the following:
```console
```bash
pnpm run clean
pnpm install
pnpm run seed
@@ -52,7 +52,7 @@ git clean -ifdX
If you can't sign in, and instead you see a banner with an error message saying that the error will be reported to freeCodeCamp, please double-check that your local port `3000` is not in use by a different program.
#### **From Terminal:**
```console
```bash
netstat -a | grep "3000"
tcp4 0 0 0.0.0.0:3000 DESKTOP LISTEN