-
Notifications
You must be signed in to change notification settings - Fork 10
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* feat: add devcontainer * fix: update for linux and darwin quirks * perf: apply package-import-method conditionally * feat: enable desktop-lite for Cypress UI over VNC * fix: move git index change to postStartCommand * perf: run postStartCommands in parallel * chore: remove unused git call * chore: mount user ssh for convenience * chore: disable ssh mount by default * chore: remove mount to favor ssh-agent forwarding instead * style: adjust formatting
- Loading branch information
1 parent
a698be5
commit 0eb2b05
Showing
4 changed files
with
76 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
# [Choice] Node.js version (use -bullseye variants on local arm64/Apple Silicon): 18, 16, 14, 18-bullseye, 16-bullseye, 14-bullseye, 18-buster, 16-buster, 14-buster | ||
ARG VARIANT=20-bullseye | ||
FROM mcr.microsoft.com/vscode/devcontainers/typescript-node:${VARIANT} | ||
|
||
# [Optional] Uncomment this section to install additional OS packages. | ||
# RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \ | ||
# && apt-get -y install --no-install-recommends <your-package-list-here> | ||
|
||
# [Optional] Uncomment if you want to install an additional version of node using nvm | ||
# ARG EXTRA_NODE_VERSION=10 | ||
# RUN su node -c "source /usr/local/share/nvm/nvm.sh && nvm install ${EXTRA_NODE_VERSION}" | ||
|
||
# [Optional] Uncomment if you want to install more global node packages | ||
RUN su node -c "npm install -g pnpm ts-node" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,42 @@ | ||
{ | ||
"name": "TypeScript Next.js", | ||
"build": { | ||
"dockerfile": "Dockerfile", | ||
// Update 'VARIANT' to pick a Node version: 18, 16, 14. | ||
// Append -bullseye or -buster to pin to an OS version. | ||
// Use -bullseye variants on local on arm64/Apple Silicon. | ||
"args": { | ||
"VARIANT": "20-bullseye" | ||
} | ||
}, | ||
// Configure tool-specific properties. | ||
"customizations": { | ||
// Configure properties specific to VS Code. | ||
"vscode": { | ||
// Add the IDs of extensions you want installed when the container is created. | ||
"extensions": [ | ||
"dbaeumer.vscode-eslint", | ||
"bradlc.vscode-tailwindcss", | ||
"eamodio.gitlens", | ||
"ms-vsliveshare.vsliveshare" | ||
] | ||
} | ||
}, | ||
// Use 'features' to configure features. | ||
"features": { | ||
// add desktop-lite to allow Cypress GUI over VNC web & desktop | ||
// https://github.com/devcontainers/features/tree/main/src/desktop-lite | ||
"ghcr.io/devcontainers/features/desktop-lite:1": {} | ||
}, | ||
// Use 'forwardPorts' to make a list of ports inside the container available locally. | ||
"forwardPorts": [6080, 5901], | ||
// Use 'postCreateCommand' to run commands after the container is created. | ||
"postCreateCommand": "./.devcontainer/postCreateCommand.sh", | ||
// Use 'postStartCommand' to run commands after the container starts. | ||
"postStartCommand": { | ||
"safeDir": "git config --global --add safe.directory ${containerWorkspaceFolder}", | ||
"updateIndex": "git update-index --assume-unchanged .npmrc" | ||
}, | ||
// Comment out to connect as root instead. More info: https://aka.ms/vscode-remote/containers/non-root. | ||
"remoteUser": "node" | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
#!/bin/bash | ||
|
||
# remove node_modules and .pnpm-store if it exists from the host platform | ||
rm -rf node_modules .pnpm-store | ||
|
||
# hard link workaround for docker containers instantiated on darwin | ||
# https://github.com/pnpm/pnpm/issues/7024 | ||
if [ $(sysctl -n kern.osversion | cut -d '.' -f 1) -ge 20 ]; then | ||
echo "Hard links are supported." | ||
else | ||
echo "Hard links are not supported." | ||
|
||
# edit a fresh .npmrc with package-import-method set to clone-or-copy and ignore git changes on it | ||
echo "package-import-method=clone-or-copy" >> .npmrc | ||
fi | ||
|
||
# install all modules with pnpm | ||
pnpm install |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters