Sugar Suite is a framework used to design and style online courses. It is built using Sass/Compass which provides an expressive and programmatic method for authoring the CSS. In order to produce the CSS, the Sass files (.scss) are "pre-processed".
- Docker
The default docker-compose.yml runs the builder stage with Vite in preview/watch mode against your local source (bind-mounted into /app). Use this for day-to-day work.
docker compose up --build
# open http://localhost:9000docker-compose.prod.yml builds the final multi-stage image (nginx serving the compiled /dist) and runs it locally. Use this to validate the exact artifact that ships to the cluster — no source bind mount, no dev server, NODE_ENV=production.
docker compose -f docker-compose.prod.yml up --build
# open http://localhost:8080After changing dependencies in package.json, regenerate package-lock.json inside the builder image rather than with your local npm. packageManager is pinned to the npm bundled in the Dockerfile's node: image, and Renovate resolves with the same — a different local npm produces lockfile drift.
# image tag must match the builder stage in Dockerfile (node X.Y.Z-alpineA.B)
docker run --rm -v "${PWD}:/app" -w /app node:24.22.1-alpine3.24 npm install --package-lock-only
# on Windows (Git Bash / MSYS2 / UCRT64) — MSYS rewrites /app to a Windows path;
# suppress conversion and pass the mount source as a Windows path
MSYS_NO_PATHCONV=1 MSYS2_ARG_CONV_EXCL='*' docker run --rm -v "$(pwd -W):/app" -w /app node:24.22.1-alpine3.24 npm install --package-lock-onlyThe production preview (docker compose -f docker-compose.prod.yml up --build) runs npm ci in the builder stage, so it doubles as the lockfile reproducibility check — no separate npm ci needed. Still run npm test: the jest analytics tests eval the bundled OTel code and catch API breaks a clean build can't see.
If you don't install devDependencies locally, run the tests in the builder image instead. The anonymous volume keeps the container's node_modules off your working tree:
docker run --rm -v "${PWD}:/app" -v /app/node_modules -w /app node:24.22.1-alpine3.24 sh -c "npm ci && npm test"
# on Windows (Git Bash / MSYS2 / UCRT64)
MSYS_NO_PATHCONV=1 MSYS2_ARG_CONV_EXCL='*' docker run --rm -v "$(pwd -W):/app" -v /app/node_modules -w /app node:24.22.1-alpine3.24 sh -c "npm ci && npm test"To build and run the production image locally:
docker compose -f docker-compose.prod.yml up --build
# open http://localhost:8080Develop in GitHub Codespaces to ensure all commands/packages are available.
Confirm that the helm chart and the app deploy correctly:
make check
make cluster
skaffold dev- Branch features/fixes are reviewed using Codespaces
Please submit any bugs, issues, and feature requests to the bcit-ltc/sugar-suite source code repo.
This Source Code Form is subject to the terms of the Mozilla Public License, v2.0. If a copy of the MPL was not distributed with this file, You can obtain one at https://mozilla.org/MPL/2.0/.
Developed in 🇨🇦 Canada by the Learning and Teaching Centre at BCIT.