chore: import upstream snapshot with attribution
i18n - Build Validation / Validate i18n Builds (24) (push) Has been cancelled
CI - Node.js / Lint (24) (push) Has been cancelled
CI - Node.js / Build (24) (push) Has been cancelled
CI - Node.js / Test (24) (push) Has been cancelled
CI - Node.js / Test - Upcoming Changes (24) (push) Has been cancelled
CI - Node.js / Test - i18n (italian, 24) (push) Has been cancelled
CI - Node.js / Test - i18n (portuguese, 24) (push) Has been cancelled
CD - Docker - GHCR Images / Build and Push Images (push) Has been cancelled

This commit is contained in:
wehub-resource-sync
2026-07-13 11:55:53 +08:00
commit dde272c4b8
19405 changed files with 2730632 additions and 0 deletions
+31
View File
@@ -0,0 +1,31 @@
# To start developing:
Wait for the container to build and start. You will see "Done. Press any key to close the terminal." in the terminal when it's ready.
Once it's running, you can start the development server:
**Option 1:** Press `Ctrl+Shift+P`, type "Run Task", select "Start Development"
**Option 2:** Open a terminal and run:
```bash
pnpm run develop
```
## Optional setup
For E2E tests:
```bash
npx playwright install chromium
```
For curriculum tests:
```bash
pnpm -F=curriculum install-puppeteer
```
## More information
For detailed setup instructions and contribution guidelines, visit:
https://contribute.freecodecamp.org/how-to-setup-freecodecamp-locally
+83
View File
@@ -0,0 +1,83 @@
{
"name": "freeCodeCamp",
"dockerComposeFile": "docker-compose.yml",
"service": "devcontainer",
"workspaceFolder": "/workspaces/freeCodeCamp",
"mounts": [
"source=fcc-node-modules,target=${containerWorkspaceFolder}/node_modules,type=volume"
],
"forwardPorts": [3000, 8000],
"portsAttributes": {
"3000": {
"label": "API",
"onAutoForward": "silent"
},
"8000": {
"label": "Client",
"onAutoForward": "notify"
}
},
"otherPortsAttributes": {
"onAutoForward": "silent"
},
"onCreateCommand": "sudo chown node:node node_modules && ([ ! -f .env ] && cp sample.env .env || true)",
"updateContentCommand": "pnpm install --prefer-offline",
"postCreateCommand": "rsync -a --include='*/' --include='.turbo/***' --exclude='*' /home/node/.cache/fcc/ ./ && set -a && . ./.env && set +a && until mongosh --eval 'rs.status().ok' 2>/dev/null; do sleep 1; done && pnpm seed",
"customizations": {
"vscode": {
"extensions": [
"dbaeumer.vscode-eslint",
"esbenp.prettier-vscode"
],
"settings": {
"task.allowAutomaticTasks": "on",
"tasks": {
"version": "2.0.0",
"tasks": [
{
"label": "Start API Server",
"type": "shell",
"command": "pnpm run develop:api",
"isBackground": true,
"problemMatcher": [],
"presentation": {
"reveal": "always",
"panel": "dedicated",
"group": "develop"
}
},
{
"label": "Start Client Server",
"type": "shell",
"command": "pnpm run develop:client",
"isBackground": true,
"problemMatcher": [],
"presentation": {
"reveal": "always",
"panel": "dedicated",
"group": "develop"
}
},
{
"label": "Start Development",
"dependsOn": ["Start API Server", "Start Client Server"],
"problemMatcher": []
},
{
"label": "Open README",
"type": "shell",
"command": "code .devcontainer/README.md",
"presentation": {
"reveal": "silent",
"close": true
},
"runOptions": {
"runOn": "folderOpen"
}
}
]
}
}
}
}
}
+41
View File
@@ -0,0 +1,41 @@
services:
devcontainer:
image: ghcr.io/freecodecamp/devcontainer:latest
depends_on:
- db
- setup
volumes:
- ..:/workspaces/freeCodeCamp:cached
network_mode: service:db
command: sleep infinity
db:
image: mongo:8.2
command: mongod --replSet rs0
restart: unless-stopped
hostname: mongodb
volumes:
- db-data:/data/db
healthcheck:
test: ['CMD', 'mongosh', '--eval', "db.adminCommand('ping')"]
interval: 2s
retries: 5
start_period: 10s
setup:
image: mongo:8.2
depends_on:
db:
condition: service_healthy
restart: on-failure:5
command: >
mongosh --host mongodb:27017 --eval '
rs.initiate({
_id: "rs0",
members: [{ _id: 0, host: "mongodb:27017" }]
}).ok || rs.status().ok
'
volumes:
db-data:
driver: local