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<<
yarn
yarn 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:bump
in the root of the repo to bump the appropriate version numbers in the variouspackage.json
files. Lerna will automatically commit and push the changes along with the appropriate tag. - Wait for the
Create GitHub Release
action to finish. - Go to the releases page and publish the draft release.
- On the
develop
branch, runyarn release:preminor
first time after a release:1.5.4
->1.6.0-alpha.0
- Then run
yarn release:prerelease
to bump the prerelease version:1.6.0-alpha.0
->1.6.0-alpha.1
- Then run
- On
master
branch, if a bugfix needs to be tested, runyarn release:prerelease
:1.5.4
->1.5.5-alpha.0