INTO-CPS-Association/DTaaS

View on GitHub
.devcontainer/devcontainer.json

Summary

Maintainability
Test Coverage
// For format details, see https://aka.ms/devcontainer.json. For config options, see the
// README at: https://github.com/devcontainers/templates/tree/main/src/typescript-node
{
    "name": "Digital Twin as a Service",
    // Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile
    "image": "mcr.microsoft.com/devcontainers/typescript-node:1-20-bullseye",
    "features": {
        "ghcr.io/devcontainers-contrib/features/apt-get-packages:1": {
            "clean_ppas": true,
            "preserve_apt_list": true,
            "packages": "curl graphviz htop net-tools powerline"
        },
        "ghcr.io/devcontainers/features/common-utils:2": {
            "installZsh": true,
            "configureZshAsDefaultShell": true,
            "installOhMyZsh": true,
            "installOhMyZshConfig": true,
            "username": "devcontainer",
            "userUid": "1001",
            "userGid": "automatic"
        },
        "ghcr.io/devcontainers-contrib/features/exa:1": {
            "version": "latest"
        },
        "ghcr.io/devcontainers/features/git:1": {
            "version": "os-provided"
        },
        "ghcr.io/devcontainers-contrib/features/markdownlint-cli:1": {
            "version": "latest"
        },
        "ghcr.io/devcontainers-contrib/features/mkdocs:2": {
            "version": "latest",
            "plugins": "mkdocs-material pymdown-extensions mkdocstrings[crystal,python] mkdocs-monorepo-plugin mkdocs-pdf-export-plugin mkdocs-awesome-pages-plugin python-markdown-math mkdocs-open-in-new-tab mkdocs-with-pdf qrcode"
        },
        "ghcr.io/devcontainers-contrib/features/nestjs-cli:2": {
            "version": "latest"
        },
        "ghcr.io/devcontainers-contrib/features/npm-package:1": {
            "package": "madge"
        },
        "ghcr.io/devcontainers-contrib/features/pipx-package:1": {},
        "ghcr.io/devcontainers-contrib/features/poetry:2": {
            "version": "latest"
        },
        "ghcr.io/devcontainers-contrib/features/pre-commit:2": {
            "version": "latest"
        },
        "ghcr.io/devcontainers-contrib/features/tmux-apt-get:1": {},
        "ghcr.io/devcontainers-contrib/features/typescript:2": {
            "version": "latest"
        },
        "ghcr.io/devcontainers-contrib/features/vercel-serve:1": {
            "version": "latest"
        },
        "ghcr.io/devcontainers-contrib/features/zsh-plugins:0": {
            "plugins": "ssh-agent npm zsh-autosuggestions",
            "omzPlugins": "https://github.com/zsh-users/zsh-autosuggestions",
            "username": "node"
        }
    },
  "customizations": {
    "vscode": {
      "extensions": [
                "AlexShen.classdiagram-ts",
                "christian-kohler.npm-intellisense",
                "DavidAnson.vscode-markdownlin",
                "donjayamanne.githistory",
                "eamodio.gitlens",
                "humao.rest-client",
                "johnpapa.vscode-peacock",
                "mhutchie.git-graph",
                "SimonSiefke.svg-preview",
                "redhat.vscode-yaml",
                "VisualStudioExptTeam.vscodeintellicode",
                "vscode-icons-team.vscode-icons"
            ],
      "settings": {
        "editor.tabSize": 2,
        "terminal.integrated.defaultProfile.linux": "zsh",
        "terminal.integrated.profiles.linux": {
          "bash": {
            "path": "bash",
            "icon": "terminal-bash"
          },
          "zsh": {
            "path": "zsh"
          },
          "tmux": {
            "path": "tmux",
            "icon": "terminal-tmux"
          },
          "pwsh": {
            "path": "pwsh",
            "icon": "terminal-powershell"
          }
        }
      }
    }
  },
    "forwardPorts": [
    4000,        //react client
    4001,        // lib microservice
    5000,        // DT runner
        8000        // mkdocs
    ]
}
// Execute after login:
//    source /usr/share/powerline/bindings/zsh/powerline.zsh