Files
freeCodeCamp/.devcontainer/devcontainer.json
2026-02-08 12:20:52 +05:30

84 lines
2.5 KiB
JSON

{
"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"
}
}
]
}
}
}
}
}