diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile index 0bd00c06d..0dda07ed8 100644 --- a/.devcontainer/Dockerfile +++ b/.devcontainer/Dockerfile @@ -1,7 +1,13 @@ -FROM mcr.microsoft.com/devcontainers/javascript-node:0-20 +FROM mcr.microsoft.com/devcontainers/javascript-node:1-20@sha256:f28172ab4f8cf57dacadc4d2aecf6d108bd9881617bd133b16ddcff6e6eef340 -# We uninstall pnpm here, since we enable the corepack version in the postCreateCommand -# This ensures we respect the "packageManager" version in package.json -RUN npm uninstall -g pnpm && nvm install 20.14.0 +# Enable Proto +RUN curl -fsSL https://moonrepo.dev/install/proto.sh | bash -s -- --yes -COPY welcome-message.txt /usr/local/etc/vscode-dev-containers/first-run-notice.txt \ No newline at end of file +# Change default Node version +RUN su node -c "source /usr/local/share/nvm/nvm.sh && nvm install 20.14.0" + +# Enable corepack (incase proto fails) +RUN corepack enable pnpm + +# Copy welcome message +COPY welcome-message.txt /usr/local/etc/vscode-dev-containers/first-run-notice.txt diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 6b448b6b6..95b7b6c61 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -3,12 +3,9 @@ "build": { "dockerfile": "Dockerfile" }, - "postCreateCommand": "sudo corepack enable pnpm && pnpm config set store-dir /home/node/.pnpm-store && PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=1 pnpm install", + "postCreateCommand": "pnpm config set store-dir /home/node/.pnpm-store && PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=1 pnpm install", "waitFor": "postCreateCommand", "customizations": { - "codespaces": { - "openFiles": ["README.md"] - }, "vscode": { "extensions": [ "astro-build.astro-vscode", diff --git a/.devcontainer/welcome-message.txt b/.devcontainer/welcome-message.txt index 433af6070..8eb3dd5ea 100644 --- a/.devcontainer/welcome-message.txt +++ b/.devcontainer/welcome-message.txt @@ -1,3 +1,8 @@ 👋 Welcome to StudioCMS! -🛠️ Your environment is fully setup with all required software installed. +🛠️ To get started, run the following commands: +- `cd studiocms/` +- `proto install` - ProtoCLI will install and ensure correct versions for all engines and package managers +- `pnpm install` - Install all dependencies for the monorepo + +🎉 The monorepo will then be ready to develop