To create a game editor utilizing Javascript and Electron; building ontop of the shoulders of giants.
- Electron Installation and Setup
- Mithril Framework w/JSX support
- Babel w/ES6 + 7 support
- Spectron (Electron Functional Testing)
- Ava (Concurrent Test Runner)
- Windows Releases Automated (Appveyor CI)
- Unix (Linux / OSX) Releases Automated (Travis CI)
- Yeoman Scaffolding Support (On Hold)
- Webpack Integration
- Winston Logger Support
The below should over a no bullshit setup experience if followed; otherwise open an issue and let me know what you encountered.
The below are global tools that must be installed to build / package this application
NodeJS :: version must be >= 6.6.0
Electron Setup :: npm install -g electron
Ava :: npm install -g ava
Run-All :: npm install -g npm-run-all
Project Setup :: npm install
Start application in prod mode :: npm start
Start application in dev mode :: npm run-script start-dev
Build application :: npm run-script build
Deploy application :: npm run-script deploy
Below are the basic towards how the project is setup and in general just how things work.
All test scripts are to go to tests/**
and be suffixed with .test.js
ie. FooBar.test.js
Anything related to UI for the application goes into app/renderer/**
Anything related to just general purpose work goes into app/main/**
Branching / Merging is Gitflow with two defined core branches
-
master
:: Stable Release (Build that passed everything) -
stable
:: Nightly Release (Build that passed automated tests) -
latest
:: Unstable Release (Purely staged work; might work, might not)
Application "Main" is at app/index.js
Application routing is configured at app/renderer/editor-routes.js
Warning like: MaxListenersExceededWarning: Possible EventEmitter memory leak detected.
is displayed
- To fix the above issue update NPM to
>= 4.4.4
can be done by doingnpm update -g npm