{ "name": "Watch Finished Turbo Development", "dockerFile": "Dockerfile", "context": "..", // Configure tool-specific properties. "customizations": { // Configure properties specific to VS Code. "vscode": { "extensions": [ "ms-vscode.vscode-typescript-next", "bradlc.vscode-tailwindcss", "esbenp.prettier-vscode", "ms-vscode.vscode-eslint", "ms-vscode.vscode-json", "ms-playwright.playwright", "ms-vscode.test-adapter-converter", "hbenl.vscode-test-explorer", "ms-vscode.vscode-jest", "ms-vscode-remote.remote-containers", "GitHub.copilot", "GitHub.copilot-chat" ], "settings": { "typescript.preferences.preferTypeOnlyAutoImports": true, "typescript.suggest.autoImports": true, "editor.formatOnSave": true, "editor.defaultFormatter": "esbenp.prettier-vscode", "editor.codeActionsOnSave": { "source.fixAll.eslint": "explicit" }, "tailwindCSS.experimental.classRegex": [ ["cva\\(([^)]*)\\)", "[\"'`]([^\"'`]*).*?[\"'`]"], ["cx\\(([^)]*)\\)", "(?:'|\"|`)([^']*)(?:'|\"|`)"] ], "jest.autoRun": "off", "playwright.reuseBrowser": true } } }, // Features to add to the dev container. More info: https://containers.dev/features. "features": { "ghcr.io/devcontainers/features/github-cli:1": {}, "ghcr.io/devcontainers/features/docker-in-docker:2": {}, "ghcr.io/devcontainers/features/node:1": { "version": "20", "pnpmVersion": "latest" }, "ghcr.io/devcontainers/features/git:1": { "version": "latest", "ppa": false } }, // Use 'forwardPorts' to make a list of ports inside the container available locally. "forwardPorts": [ 3000, // Next.js web app 3001, // NestJS API service 9229 // Node.js debugger ], // Use 'postCreateCommand' to run commands after the container is created. "postCreateCommand": "pnpm install", // Configure tool-specific properties. "remoteUser": "node", // Mount the workspace "workspaceMount": "source=${localWorkspaceFolder},target=/workspaces/watch-finished-turbo,type=bind,consistency=cached", "workspaceFolder": "/workspaces/watch-finished-turbo", // Environment variables "containerEnv": { "NODE_ENV": "development", "PNPM_HOME": "/home/node/.local/share/pnpm", "PATH": "/home/node/.local/share/pnpm:/home/node/.local/share/pnpm/global/5/node_modules/.bin:${PATH}" }, // Security options "securityOpt": ["label:disable"], // Mounts for persistent data "mounts": [ "source=${localWorkspaceFolder}/.devcontainer/.pnpm-store,target=/home/node/.local/share/pnpm,type=volume", "source=${localWorkspaceFolder}/data,target=/workspaces/watch-finished-turbo/data,type=bind" ] }