docs | ||
extension | ||
sandbox | ||
shared | ||
web | ||
.dockerignore | ||
.gitattributes | ||
.gitignore | ||
README.md |
BW High School Programming Contest Environment
This is a mono-repo comprised of 4 components: web
, sandbox
, extension
, and shared
.
Each directory contains more detailed instructions for building, development, and deployment.
General Workflow after Cloning
Extension
Instruction for Extension assume Windows or Unix environment
- After Clone
cd shared
npm ci
- Install shared dependenciesnpm run build
- Build shared component
cd extension/bwcontest
npm ci
- Install extension dependenciesnpm run compile
- Build extension
- Development
cd shared
npm run watch
- Watch for changes in shared component
cd extension/bwcontest
npm run watch
- Watch for changes in extension- Press
F5
or run in VSCode to run extension
- Pre-Commit
cd shared
npm run format && npm run lint && npm run check
- Format, lint, and check shared component
cd extension/bwcontest
npm run format && npm run lint && npm run check
- Format, lint, and check extension
- Deployment
cd shared
npm run build
- Build shared component
cd extension/bwcontest
npx vsce package
- Create.vsix
extension file
Sandbox
Instruction for Sandbox assume Unix environment
- After Clone
cd shared
npm ci
- Install shared dependenciesnpm run build
- Build shared component
cd sandbox
npm ci
- Install sandbox dependenciesnpm run build
- Build sandbox
- Development
cd shared
npm run watch
- Watch for changes in shared component
cd sandbox
npm run watch
- Watch for changes in extension
- Pre-Commit
cd shared
npm run format && npm run lint && npm run check
- Format, lint, and check shared component
cd sandbox
npm run format && npm run lint && npm run check
- Format, lint, and check sandbox
- Deployment
cd sandbox
docker compose up --build
- Build and run docker container
Shared
Instruction for Shared assumes either Unix or Windows environment
- After Clone
cd shared
npm ci
- Install shared dependenciesnpm run build
- Build shared component
- Development
cd shared
npm run watch
- Watch for changes in shared component
- Pre-Commit
cd shared
npm run format && npm run lint && npm run check
- Format, lint, and check shared component
Web
Instructions for Web assume Unix environment
- After Clone
cd shared
npm ci
- Install shared dependenciesnpm run build
- Build shared component
cd web
npm ci
- Install web dependenciesnpm run build
- Build web
- Development
cd shared
npm run watch
- Watch for changes in shared component
cd web
npm run dev -- --host
- Run development server for hot-reloading and type-gen
- Pre-Commit
cd shared
npm run format && npm run lint && npm run check
- Format, lint, and check shared component
cd web
npm run format && npm run lint && npm run check
- Format, lint, and check web component
- Deployment
cd web
docker compose up --build
- Build and run docker container