{
  "version": "2.0.0",
  "tasks": [
    {
      "label": "Clean build artifacts",
      "type": "shell",
      "command": "rm",
      "args": [
        "-rf",
        "${workspaceFolder}/build/*",
        "${workspaceFolder}/output/3ds-arm/*"
      ],
      "options": {
        "cwd": "${workspaceFolder}"
      },
      "problemMatcher": [],
      "presentation": {
        "reveal": "always",
        "panel": "shared"
      }
    },
    {
      "label": "Build 3DS ROM",
      "type": "shell",
      "command": "make",
      "args": [ "output/3ds-arm/ctrmus.elf" ],
      "options": {
        "cwd": "${workspaceFolder}"
      },
      "problemMatcher": [
        "$gcc"
      ],
      "presentation": {
        "reveal": "always",
        "panel": "shared"
      },
      "group": {
        "kind": "build",
        "isDefault": true
      }
    },
    {
      "label": "Build (full)",
      "type": "shell",
      "command": "make",
      "args": [],
      "options": {
        "cwd": "${workspaceFolder}"
      },
      "problemMatcher": [
        "$gcc"
      ],
      "presentation": {
        "reveal": "always",
        "panel": "shared"
      },
      "group": "build"
    },
    {
      "label": "Serve (dev)",
      "type": "shell",
      "command": "npm",
      "args": [ "run", "dev" ],
      "options": {
        "cwd": "${workspaceFolder}/server"
      },
      "isBackground": true,
      "presentation": {
        "echo": true,
        "reveal": "always",
        "panel": "dedicated"
      }
    },
    {
      "label": "Serve (prod)",
      "type": "shell",
      "command": "npm",
      "args": [ "start" ],
      "options": {
        "cwd": "${workspaceFolder}/server"
      },
      "presentation": {
        "reveal": "always",
        "panel": "shared"
      }
    }
  ]
}
