From 6e5fa9857490c77adb739fdae50c10fdb12574ee Mon Sep 17 00:00:00 2001 From: digitr4ce Date: Sat, 10 Jan 2026 14:41:01 +0000 Subject: [PATCH] feat(meta): add devcontainer support for standarization --- .devcontainer/Dockerfile | 36 +++++++++++++++++++++++++++++++++ .devcontainer/devcontainer.json | 25 +++++++++++++++++++++++ 2 files changed, 61 insertions(+) create mode 100644 .devcontainer/Dockerfile create mode 100644 .devcontainer/devcontainer.json diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile new file mode 100644 index 0000000000..ebcc0e8532 --- /dev/null +++ b/.devcontainer/Dockerfile @@ -0,0 +1,36 @@ +FROM ubuntu:22.04 + +ENV DEBIAN_FRONTEND=noninteractive + +RUN apt-get update && apt-get install -y \ + curl \ + git \ + wget \ + vim \ + ssh \ + sudo \ + gnupg \ + ca-certificates \ + && rm -rf /var/lib/apt/lists/* + +RUN curl -fsSL https://deb.nodesource.com/setup_20.x | bash - \ + && apt-get install -y nodejs \ + && rm -rf /var/lib/apt/lists/* + +RUN groupadd --gid 1000 node \ + && useradd --uid 1000 --gid node --shell /bin/bash --create-home node \ + && echo "node ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/node \ + && chmod 0440 /etc/sudoers.d/node + +RUN npm install -g pnpm + +ENV NPM_CONFIG_PREFIX=/home/node/.npm-global +ENV PNPM_HOME=/home/node/.local/share/pnpm +ENV PATH=$PATH:$NPM_CONFIG_PREFIX/bin:$PNPM_HOME +ENV NPM_CONFIG_STORE_DIR=/home/node/.local/share/pnpm/store + +# This prevents a pnpm-store folder from being created in the project folder. +RUN mkdir -p /home/node/.local/share/pnpm/store \ + && chown -R node:node /home/node + +USER node diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json new file mode 100644 index 0000000000..b758ceae4a --- /dev/null +++ b/.devcontainer/devcontainer.json @@ -0,0 +1,25 @@ +{ + "name": "E2B JS SDK Dev", + "build": { + "dockerfile": "Dockerfile", + "context": ".." + }, + "runArgs": [ + "--ipc=host" + ], + "customizations": { + "vscode": { + "settings": { + "terminal.integrated.defaultProfile.linux": "bash", + "editor.formatOnSave": true + }, + "extensions": [ + "dbaeumer.vscode-eslint", + "esbenp.prettier-vscode", + "ms-playwright.playwright" + ] + } + }, + "remoteUser": "node", + "postCreateCommand": "pnpm install" +} \ No newline at end of file