BootBoots sandbox — React frontend (sandbox-app) + AWS CDK infrastructure (infra).
If you find this useful, please consider buying me a coffee:
Both the app and infra are versioned independently using version.json files with -SNAPSHOT suffixes between releases. Versions are visible in the app footer alongside the pcbprinter library version.
cd sandbox-app
bash scripts/deploy.sh # patch bump
bash scripts/deploy.sh --minor # minor bump
bash scripts/deploy.sh --major # major bumpOr via npm:
cd sandbox-app && npm run deploy -- --minorThe deploy script:
- Reads
sandbox-app/version.json, strips-SNAPSHOT→ release version - Aborts if
node_modules/pcbprinteris a-SNAPSHOT— release pcbprinter first, thennpm install - Builds the React app (after running
set-config.sh sandboxfor AWS config) - Commits and tags
sandbox/x.y.z - Syncs to S3, invalidates CloudFront
- Bumps
version.jsonto next-SNAPSHOT, commits, pushes with tags
cd infra && npm run deploy # patch bump
cd infra && npm run deploy -- --minorThe deploy script:
- Reads
infra/version.json, strips-SNAPSHOT→ release version - Runs
cdk synth(validates before committing) - Commits and tags
sandbox-infra/x.y.z - Runs
cdk deploy --all - Bumps
version.jsonto next-SNAPSHOT, commits, pushes with tags
pcbprinter is a local file: path dep (../../pcbprinter). After releasing pcbprinter:
cd sandbox-app && npm installThis records the new release version in package-lock.json. The deploy script checks node_modules/pcbprinter/package.json (not the source version.json) — so npm install must be run before deploying if pcbprinter has been updated.
Both deploy scripts use AWS_PROFILE=nakom.is-sandbox.
