// For format details, see https://aka.ms/devcontainer.json. For config options, see the
// README at: https://github.com/devcontainers/templates/tree/main/src/ubuntu
{
  "name": "Ubuntu",
  // Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile
  "image": "mcr.microsoft.com/devcontainers/base:jammy",
  "features": {
    "ghcr.io/devcontainers/features/docker-outside-of-docker:1": {},
    "ghcr.io/devcontainers/features/node:1": {},
    "ghcr.io/devcontainers-contrib/features/act:1": {},
    "ghcr.io/devcontainers-contrib/features/fzf:1": {},
    "ghcr.io/devcontainers/features/java:1": {}
  },

  // Use 'forwardPorts' to make a list of ports inside the container available locally.
  // "forwardPorts": [],

  // Use 'postCreateCommand' to run commands after the container is created.
  "postCreateCommand": "${PWD}/.devcontainer/scripts/post_create_command.sh",

  // Configure tool-specific properties.
  "customizations": {
    "vscode": {
      "extensions": [
        "-vscjava.vscode-java-pack",
        "dbaeumer.vscode-eslint",
        "eamodio.gitlens",
        "esbenp.prettier-vscode",
        "Orta.vscode-jest",
        "rangav.vscode-thunder-client",
        "redhat.vscode-yaml",
        "EditorConfig.EditorConfig"
      ],
      "settings": {
        "editor.defaultFormatter": "esbenp.prettier-vscode",
        "editor.formatOnSave": true,
        "git.alwaysSignOff": true,
        "jest.runMode": {
          "type": "on-demand"
        },
        "typescript.tsdk": "node_modules/typescript/lib"
      }
    }
  }
}
