{ "version": "2.0.0", "tasks": [ { "label": "Kill3000", "type": "shell", "windows": { "command": "netstat -ano | findstr :3000 | for /F \"tokens=5\" %%a in ('more') do taskkill /PID %%a /F" }, "linux": { "command": "fuser -k 3000/tcp" }, "osx": { "command": "lsof -ti:3000 | xargs kill" }, "presentation": { "reveal": "always", "panel": "new" }, "problemMatcher": [] }, { "label": "Kill8800", "type": "shell", "windows": { "command": "netstat -ano | findstr :8800 | for /F \"tokens=5\" %%a in ('more') do taskkill /PID %%a /F" }, "linux": { "command": "fuser -k 8800/tcp" }, "osx": { "command": "lsof -ti:8800 | xargs kill" }, "presentation": { "reveal": "always", "panel": "new" }, "problemMatcher": [] }, { "label": "Install Backend Dependencies", "type": "shell", "command": "npm install", "options": { "cwd": "${workspaceFolder}/backend" } }, { "label": "Start Backend", "type": "shell", "command": "npx ts-node src/index.ts", "options": { "cwd": "${workspaceFolder}/backend" }, "isBackground": true, "problemMatcher": { "owner": "typescript", "pattern": { "regexp": "^.*$", "file": 1, "location": 2, "message": 3 }, "background": { "activeOnStart": true, "beginsPattern": "^.*$", "endsPattern": "^Port.*$" } } }, { "label": "Start Frontend", "type": "shell", "command": "npm start", "options": { "cwd": "${workspaceFolder}/frontend" }, "isBackground": true, "problemMatcher": { "owner": "javascript", "pattern": { "regexp": "^.*$", "file": 1, "location": 2, "message": 3 }, "background": { "activeOnStart": true, "beginsPattern": "^.*$", "endsPattern": "start.*$" } } }, { "type": "shell", "label": "Docker Build", "command": "docker build --build-arg NODE_VERSION=$(node -v) -t ${workspaceFolderBasename} .", "group": "build" }, { "label": "Terminate All Tasks", "command": "echo ${input:terminate}", "type": "shell", "problemMatcher": [] }, { "label": "only Frontend", "type": "shell", "command": "npm start", "dependsOn": ["Start Backend"], "options": { "cwd": "${workspaceFolder}/frontend" }, "isBackground": true, "problemMatcher": { "owner": "javascript", "pattern": { "regexp": "^.*$", "file": 1, "location": 2, "message": 3 }, "background": { "activeOnStart": true, "beginsPattern": "^.*$", "endsPattern": "start.*$" } } } ], "inputs": [ { "id": "terminate", "type": "command", "command": "workbench.action.tasks.terminate", "args": "terminateAll" } ] }