Skip to content
This repository has been archived by the owner on Jul 13, 2021. It is now read-only.

zygomedia/overwolf-boilerplate

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Overview

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.

Prerequisites

  1. Windows only
  2. node v10+ and npm v6+ in PATH
  3. C++ compiler that node-gyp understands
  4. python v2.7 in PATH
  5. git and Unix tools (rm, find, gzip, mv, sh, etc) in PATH
  6. cargo and rustup in PATH
  7. Overwolf

CAUTION: sh, bash, cygwin or even PowerShell may cause issues. ConEmu/cmder is fine.

Setup

  1. Copy create-configs.js.example to create-configs.js and edit
  2. npm install
  3. npm run tool compile -- --client - double-dash necessary because --client is an argument to the compile script
  4. npm run script flow-typed
  5. npm run script dev
  6. Open Overwolf, right click on the tray icon -> Support -> Development Options -> Load unpacked extension... -> open the public/extension folder -> Select folder
  7. Click Launch next to the package that just appeared

For dev

  • 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 =r while app is in focus to reload or =q to close the app.
  • Consult with npm run script lint eslint for style consistency and npm run script lint flow for type safety (or just npm run script lint for both).

Staging & production

  • Make sure the ip and host are correct in ecosystem.config.js and create-configs-*.js
  • Make sure the names are correct in tools/compile.rs, src/scripts/deploy.js, src/scripts/stage.js and src/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
  • Create an AWS CodeBuild job
    • TODO: how to configure the codebuild job
  • Establish git branches staging and production
  • Checkout master, make sure it's clean and ready to be merged into staging
  • npm run script stage and npm 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).

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published