Go to file
David Poeschl 42a58afbde
Extension: Merge show team relevant repo management buttons (#17)
* Extension: Show team relevant repo management buttons

* fix formatting

* Fix: Actually delete team repo contents

Was passing incomplete path to remove API

* Extra logging

* Formatting

* Fix path on windows

* Remove logs

---------

Co-authored-by: orosmatthew <orosmatthew@pm.me>
2024-03-13 13:13:09 -04:00
docs Add architecture docs 2023-09-14 11:31:30 -04:00
extension Extension: Merge show team relevant repo management buttons (#17) 2024-03-13 13:13:09 -04:00
sandbox [Sandbox] Add watch script 2024-03-12 18:34:04 -04:00
shared [Shared] Add watch script 2024-03-12 18:22:43 -04:00
web [Web] Update deps 2024-03-12 12:53:08 -04:00
.dockerignore Merge shared code for submission running (extension/sandbox) and team submission info (extension/web) (#16) 2024-03-11 13:32:23 -04:00
.gitattributes Add gitattributes file to enforce unix LF 2024-03-11 13:19:30 -04:00
.gitignore gitignore entry for ".idea" (#7) 2023-11-05 11:06:45 -05:00
README.md Specify platforms in README 2024-03-12 18:37:49 -04:00

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 environment

  • After Clone
    • cd shared
      • npm ci - Install shared dependencies
      • npm run build - Build shared component
    • cd extension/bwcontest
      • npm ci - Install extension dependencies
      • npm 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 dependencies
      • npm run build - Build shared component
    • cd sandbox
      • npm ci - Install sandbox dependencies
      • npm 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 dependencies
      • npm 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 dependencies
      • npm run build - Build shared component
    • cd web
      • npm ci - Install web dependencies
      • npm 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