This repo is the boilerplate we've used for multiple successful Overwolf apps, ranging from fairly simple to some of the most complex apps on the platform. It showcases updating the app from the server, deploying, logging and ffi with c-style plugin apis.
Since inception this has been for internal use, so it may not be the best to jump in and use off the bat, however, feature requests and bug/issue reports welcome.
- Windows only
nodev10+ andnpmv6+ in PATH- C++ compiler that
node-gypunderstands- make sure to tick C++ and C# if installing Visual Studio
- also see windows-build-tools
- also see vs_buildtools.exe
pythonv2.7 in PATH- also see windows-build-tools
gitand Unix tools (rm,find,gzip,mv,sh, etc) in PATH- e.g. as part of Git for Windows)
- e.g. as part of cmder
cargoandrustupin PATH- e.g. via rustup.rs
- Overwolf
CAUTION: sh, bash, cygwin or even PowerShell may cause issues. ConEmu/cmder is fine.
- Copy
create-configs.js.exampletocreate-configs.jsand edit npm installnpm run tool compile -- --client- double-dash necessary because--clientis an argument to the compile scriptnpm run script flow-typednpm run script dev- Open Overwolf, right click on the tray icon ->
Support->Development Options->Load unpacked extension...-> open thepublic/extensionfolder ->Select folder - Click
Launchnext to the package that just appeared
- node.js inspector manager will help debuggin serverside code.
- Only the
MainWindow's console will be populated with messages. - Editing the js code will recompile the bundle and restart the server. Use
=rwhile app is in focus to reload or=qto close the app. - Consult with
npm run script lint eslintfor style consistency andnpm run script lint flowfor type safety (or justnpm run script lintfor both).
- Make sure the ip and host are correct in
ecosystem.config.jsandcreate-configs-*.js - Make sure the names are correct in
tools/compile.rs,src/scripts/deploy.js,src/scripts/stage.jsandsrc/scripts/production.js - A docker image for AWS CodeBuild is provided, but has to be uploaded to AWS image store.
- Something like
docker build -t main -m 4g docker && docker tag main:latest <image-uri>:latest && docker push <image-uri>:latest
- Something like
- Create an AWS CodeBuild job
- TODO: how to configure the codebuild job
- Establish
gitbranchesstagingandproduction - Checkout master, make sure it's clean and ready to be merged into
staging npm run script stageandnpm run script production <semver-bump>- All the logging done via
logger(including with plugins) will be redirected to a log file next to Overwolf's app log, all errors will be redirected to Sentry (if set up).