SuperConductor has some native dependencies which need to be (re)built from source. This requires a full Node.js native module compiler toolchain, including Python 3.
On Windows, modern versions of the Node.js installer come with all the necessary build tools, and no further action is required. If you have issues with Python, install Python 3.
On Linux, install the build-essential package and then install Python 3. Also do a sudo apt-get install libasound2-dev libudev-dev
On macOS, install XCode and its optional tools xcode-select --install and then install Python 3.
- Install Yarn
cd >>path-to-this-folder<<yarnyarn start(Builds the project and starts the SuperConductor)
The project consists of 3 applications:
- React application (application UI)
- Electron backend (hosts frontend and implements logic)
- TSR Bridge (node app that exposes HTTP server and executes TSR)
Instructions for running each app are in their respective folder.
This project is a Lerna monorepo, which means that installing dependencies is handled a little differently. To properly bootstrap this project, install all dependencies, and cross-link the various packages, execute the following commands in the root of the project:
# Installs all dependencies, including Lerna.
yarn
# Compile Typescript, run Webpack, etc:
yarn build
# Make binaries for the SuperConductor UI and tsr-bridge. Must have run "yarn build" first.
# The SuperConductor UI binary will be located at apps/app/dist.
# The tsr-bridge binary will be located at apps/tsr-bridge/dist.
# This command should work on all platforms (Windows, macOS, and Linux).
yarn build:binary- Run
yarn release:bumpin the root of the repo to bump the appropriate version numbers in the variouspackage.jsonfiles. Lerna will automatically commit and push the changes along with the appropriate tag. - Wait for the
Create GitHub Releaseaction to finish. - Go to the releases page and publish the draft release.
- On the
developbranch, runyarn release:preminorfirst time after a release:1.5.4->1.6.0-alpha.0- Then run
yarn release:prereleaseto bump the prerelease version:1.6.0-alpha.0->1.6.0-alpha.1
- Then run
- On
masterbranch, if a bugfix needs to be tested, runyarn release:prerelease:1.5.4->1.5.5-alpha.0