mirror of
https://github.com/freeCodeCamp/freeCodeCamp.git
synced 2026-02-14 07:00:56 -05:00
feat(docs): add missing highlighting (#52246)
This commit is contained in:
142
docs/devops.md
142
docs/devops.md
@@ -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
|
||||
```
|
||||
|
||||
|
||||
@@ -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
|
||||
```
|
||||
|
||||
|
||||
@@ -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
|
||||
```
|
||||
|
||||
@@ -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
|
||||
```
|
||||
|
||||
|
||||
@@ -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>
|
||||
```
|
||||
|
||||
@@ -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
|
||||
```
|
||||
|
||||
|
||||
@@ -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
|
||||
```
|
||||
|
||||
|
||||
@@ -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
|
||||
```
|
||||
|
||||
|
||||
@@ -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
|
||||
...
|
||||
|
||||
@@ -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
|
||||
```
|
||||
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user