148 lines
4.5 KiB
JSON
148 lines
4.5 KiB
JSON
{
|
|
"name": "MongoDB Development Container",
|
|
"runArgs": [
|
|
"--name=mongo-dev-${containerWorkspaceFolderBasename}-${devcontainerId}"
|
|
],
|
|
"initializeCommand": "${localWorkspaceFolder}/.devcontainer/initialize.sh",
|
|
"build": {
|
|
"dockerfile": "./Dockerfile",
|
|
"context": "..",
|
|
"args": {
|
|
"USERNAME": "${localEnv:USER}"
|
|
}
|
|
},
|
|
"mounts": [
|
|
{
|
|
"source": "mongo-dev-home",
|
|
"target": "/home",
|
|
"type": "volume"
|
|
},
|
|
{
|
|
"source": "engflow_auth",
|
|
"target": "/home/${localEnv:USER}/.config/engflow_auth",
|
|
"type": "volume"
|
|
},
|
|
{
|
|
"source": "${containerWorkspaceFolderBasename}-cache",
|
|
"target": "/home/${localEnv:USER}/.cache",
|
|
"type": "volume"
|
|
},
|
|
{
|
|
"source": "${containerWorkspaceFolderBasename}-python3-venv",
|
|
"target": "${containerWorkspaceFolder}/python3-venv",
|
|
"type": "volume"
|
|
},
|
|
{
|
|
"source": "${localEnv:HOME}/.ssh",
|
|
"target": "/home/${localEnv:USER}/.ssh",
|
|
"type": "bind",
|
|
"readonly": true
|
|
}
|
|
],
|
|
"containerEnv": {
|
|
"HOME": "/home/${localEnv:USER}"
|
|
},
|
|
"remoteUser": "${localEnv:USER}",
|
|
"containerUser": "${localEnv:USER}",
|
|
"features": {
|
|
"ghcr.io/devcontainers/features/git:1": {},
|
|
"ghcr.io/devcontainers-community/features/bazel:1": {},
|
|
"ghcr.io/devcontainers/features/docker-outside-of-docker:1": {
|
|
"moby": false
|
|
},
|
|
"ghcr.io/devcontainers/features/node:1": {
|
|
"version": "lts"
|
|
},
|
|
"ghcr.io/devcontainers/features/common-utils:2": {
|
|
"username": "${localEnv:USER}"
|
|
}
|
|
},
|
|
"postCreateCommand": "WORKSPACE_FOLDER=${containerWorkspaceFolder} ${containerWorkspaceFolder}/.devcontainer/post-create.sh",
|
|
"shutdownAction": "none",
|
|
"portsAttributes": {
|
|
"*": {
|
|
"requireLocalPort": true
|
|
}
|
|
},
|
|
"customizations": {
|
|
"vscode": {
|
|
"settings": {
|
|
"clangd.checkUpdates": true,
|
|
"clangd.path": "${workspaceFolder}/buildscripts/clangd_vscode.sh",
|
|
"clang-format.executable": "${workspaceRoot}/bazel-out/../../../external/mongo_toolchain_v5/v5/bin/clang-format",
|
|
"prettier.prettierPath": "bazel-bin/node_modules/.aspect_rules_js/prettier@3.4.2/node_modules/prettier",
|
|
"clang-tidy.executable": "buildscripts/clang_tidy_vscode.py",
|
|
"editor.codeActionsOnSave": {
|
|
"source.fixAll.eslint": "explicit"
|
|
},
|
|
"eslint.validate": [
|
|
"javascript"
|
|
],
|
|
"files.associations": {
|
|
"*.idl": "yaml"
|
|
},
|
|
"files.insertFinalNewline": true,
|
|
"js/ts.implicitProjectConfig.target": "ES2020",
|
|
"python.autoComplete.extraPaths": [
|
|
"/opt/mongodbtoolchain/v5/share/gcc-14.2.0/python"
|
|
],
|
|
"python.defaultInterpreterPath": "python3-venv/bin/python",
|
|
"python.analysis.extraPaths": [
|
|
"/opt/mongodbtoolchain/v5/share/gcc-14.2.0/python"
|
|
],
|
|
"mypy-type-checker.path": [
|
|
"${interpreter}",
|
|
"-m",
|
|
"mypy"
|
|
],
|
|
"mypy-type-checker.importStrategy": "fromEnvironment",
|
|
"editor.defaultFormatter": "esbenp.prettier-vscode",
|
|
"[c]": {
|
|
"editor.defaultFormatter": "xaver.clang-format",
|
|
"editor.formatOnSave": true
|
|
},
|
|
"[cpp]": {
|
|
"editor.defaultFormatter": "xaver.clang-format",
|
|
"editor.formatOnSave": true
|
|
},
|
|
"[javascript]": {
|
|
"editor.defaultFormatter": "esbenp.prettier-vscode",
|
|
"editor.formatOnSave": true
|
|
},
|
|
"[python]": {
|
|
"editor.formatOnSaveMode": "file",
|
|
"editor.formatOnSave": true,
|
|
"editor.defaultFormatter": "charliermarsh.ruff"
|
|
},
|
|
"[starlark]": {
|
|
"editor.defaultFormatter": "BazelBuild.vscode-bazel"
|
|
},
|
|
"terminal.integrated.wordSeparators": " ()[]{}',\"`─''@",
|
|
"yaml.schemas": {
|
|
"./buildscripts/idl/idl_schema.yml": [
|
|
"*.idl"
|
|
]
|
|
},
|
|
"C_Cpp.intelliSenseEngine": "disabled"
|
|
},
|
|
"extensions": [
|
|
"llvm-vs-code-extensions.vscode-clangd",
|
|
"dbaeumer.vscode-eslint",
|
|
"ms-python.python",
|
|
"xaver.clang-format",
|
|
"cs128.cs128-clang-tidy",
|
|
"charliermarsh.ruff",
|
|
"ms-python.mypy-type-checker",
|
|
"esbenp.prettier-vscode",
|
|
"redhat.vscode-yaml",
|
|
"streetsidesoftware.code-spell-checker",
|
|
"jasonnutter.vscode-codeowners",
|
|
"bazelbuild.vscode-bazel",
|
|
"rioj7.command-variable",
|
|
"augustocdias.tasks-shell-input",
|
|
"ms-vscode.cpptools"
|
|
]
|
|
}
|
|
}
|
|
}
|