chore(devcontainers): Move post create command to a script (#4090)

- it can be linted and has IDE code-completion
- we can add a lot more things to the script without sacrificing readability
This commit is contained in:
Iain Sproat
2025-03-03 09:19:43 +00:00
committed by GitHub
parent 9b7c56de9f
commit be556c76d9
2 changed files with 18 additions and 1 deletions
+1 -1
View File
@@ -31,7 +31,7 @@
],
// Use 'postCreateCommand' to run commands after the container is created.
"postCreateCommand": "yarn && yarn build:public && cp -n /workspaces/${localWorkspaceFolderBasename}/packages/server/.env-example /workspaces/${localWorkspaceFolderBasename}/packages/server/.env && cp -n /workspaces/${localWorkspaceFolderBasename}/packages/frontend-2/.env.example /workspaces/${localWorkspaceFolderBasename}/packages/frontend-2/.env",
"postCreateCommand": "/workspaces/${localWorkspaceFolderBasename}/.devcontainer/postCreateCommand.sh",
// Configure tool-specific properties.
// "customizations": {},
+17
View File
@@ -0,0 +1,17 @@
#!/usr/bin/env bash
set -eox pipefail
echo "Running postCreateCommand.sh"
# determine where the script is located, navigate into that directory, then find the root of the git repo in which it is located
SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
cd "${SCRIPT_DIR}"
GIT_ROOT="$(git rev-parse --show-toplevel)"
echo "Setting up environment variables by copying .env files"
cp -n "${GIT_ROOT}/packages/server/.env-example" "${GIT_ROOT}/packages/server/.env" || true
cp -n "${GIT_ROOT}/packages/frontend-2/.env.example" "${GIT_ROOT}/packages/frontend-2/.env" || true
echo "Installing nodejs dependencies and building shared packages"
yarn
yarn build:public